1(function(){function parseMask(maskStr){const tokens=[];let i=0;while(i<maskStr.length){const ch=maskStr[i];if(ch==='{'){const end=maskStr.indexOf('}',i);if(end!==-1){const value=maskStr.slice(i+1,end);tokens.push({type:'fixed',value:value,digits:value.replace(/\D/g,''),});i=end+1;continue}} 2if(ch==='0'){tokens.push({type:'digit'})}else{tokens.push({type:'literal',char:ch})} 3i++} 4return tokens} 5function conform(rawValue,tokens){const digits=(rawValue||'').replace(/\D/g,'');if(!digits.length){return''} 6let result='';let idx=0;let lastSig=-1;for(let t=0;t<tokens.length;t++){const token=tokens[t];if(token.type==='literal'){result+=token.char;continue} 7if(token.type==='fixed'){if(token.digits){const slice=digits.substr(idx,token.digits.length);if(slice===token.digits){idx+=token.digits.length}else if(slice.length&&token.digits.indexOf(slice)===0){idx+=slice.length}} 8result+=token.value;lastSig=result.length-1;continue} 9if(idx<digits.length){result+=digits[idx++];lastSig=result.length-1}else{break}} 10return result.slice(0,lastSig+1)} 11window.IMask=function(input,options){const tokens=parseMask(options.mask);let inApply=!1;function apply(){if(inApply)return;inApply=!0;try{const newValue=conform(input.value,tokens);if(input.value!==newValue){input.value=newValue}}finally{inApply=!1}} 12input.addEventListener('input',apply);return{get value(){return input.value},set value(v){const newValue=conform(v,tokens);if(input.value!==newValue){input.value=newValue}},updateValue:apply,}}})();app.authHeaderComponent={props:['title','subtitle','codeMode'],computed:{isVoiceCall(){return this.codeMode==='voiceCode'}},methods:{onSubClick(e){if(e.target.nodeName==='B'){this.$emit('linkClicked')}}},template:` 13 14 <div class="ahead" 15 :class="{'ahead--voiceCall': isVoiceCall}"> 16 17 <div class="ahead__title">{{title}}</div> 18 19 <div v-if="isVoiceCall" class="ahead__voiceCall"> 20 <svg class="ahead__voiceCallIco" width="39" height="37" viewB
20ox="0 0 39 37" fill="none" xmlns="http://www.w3.org/2000/svg"> 21 <path d="M31.634 6.90242C29.495 4.70643 26.6201 3.28267 23.6155 3.03209C23.0293 2.9835 22.6344 2.86732 22.4309 2.68356C21.6336 1.96143 21.7384 0.733598 22.5972 0.211937C22.9298 0.00843528 23.456 -0.0485147 24.1758 0.0410866C27.8708 0.505798 31.2194 2.12545 33.8095 4.78387C36.3973 7.4423 37.9304 10.832 38.2949 14.5383C38.3663 15.2596 38.2956 15.7843 38.083 16.1124C37.5386 16.9575 36.3085 17.0281 35.6068 16.2126C35.4292 16.0045 35.3236 15.6074 35.2902 15.0212C35.1194 12.0097 33.7731 9.09841 31.634 6.90242Z" fill="currentColor"/> 22 <path d="M13.6023 15.0401C13.7238 15.3651 13.8666 15.6612 14.0306 15.9285C15.6844 18.6211 17.7551 20.8011 20.2427 22.4686C20.7636 22.8194 21.3878 23.1763 22.1152 23.5393C22.1685 23.5657 22.2275 23.5777 22.2863 23.5741C22.3452 23.5705 22.4017 23.5514 22.4501 23.5188C23.0583 23.1065 23.6164 22.4641 24.1518 22.1542C25.8663 21.1656 27.5224 21.0889 29.1201 21.9242C30.3957 22.5893 31.6122 24.1202 32.8013 25.127C33.4862 25.7087 33.9502 26.1658 34.1932 26.4984C35.2122 27.891 35.3914 29.5038 34.7308 31.3369C34.1066 33.0659 32.8309 34.2914 31.3821 35.3097C30.6304 35.8382 29.6562 36.2551 28.4594 36.5603C24.9103 37.4647 21.2906 36.3735 18.1766 34.6559C15.3367 33.0902 12.739 31.1858 10.3835 28.9427C7.54286 26.241 4.94367 23.1543 2.93447 19.735C1.55173 17.3841 0.353499 14.7553 0.0664711 12.065C-0.327623 8.3883 1.03006 4.54304 4.15548 2.33794C6.0895 0.973414 8.57708 0.670443 10.6409 1.87095C11.3319 2.27339 12.1695 3.04867 13.1536 4.19678C14.4156 5.66989 15.162 6.54312 15.3928 6.81648C16.9533 8.6571 17.0239 11.5502 15.2083 13.2974C14.6358 13.8487 14.1286 14.3194 13.6866 14.7097C13.6406 14.75 13.6079 14.8031 13.5928 14.8621C13.5778 14.9212 13.5811 14.9832 13.6023 15.0401ZM25.6621 24.5279C25.3356 24.7907 24.9863 25.0921 24.6142 25.4323C23.3582 26.5774 21.9634 26.7247 20.4295 25.8742C16.7141 23.8149 13.206 20.464 11.174 16.6164C10.5589 15.4524 10.445 13.9922 11.4223 12.9694C12.4907 11.8554 14.7003 10.6207 13.2082 8.65028C12.8362 8.15823 11.8544 7.05188 10.2628 5.33123C9.72974 4.75262 9.32881 4.40256 9.06001 4.28107C7.70916 3.66601 6.55193 4.06238 5.41293 5.09432C0.549407 9.48857 3.86617 16.2337 6.85718 20.4776C10.1375 25.1293 14.3974 29.2115 19.3497 32.0362C20.6641 32.7857 22.015 33.2846 23.5139 33.7197C26.6894 34.6377 30.2181 33.649 31.8992 30.6557C32.1513 30.2077 32.2341 29.6527 32.1475 28.9905C32.1005 28.6382 31.8696 28.257 31.455 27.847C29.4671 25.8788 28.4101 24.843 28.284 24.7398C27.6462 24.2174 26.8694 24.0951 25.9536 24.373C25.8482 24.4061 25.7494 24.4586 25.6621 24.5279Z" fill="currentColor"/> 23 <path d="M26.7133 11.616C25.9175 10.8096 24.9069 10.2925 23.6813 10.0647C23.0799 9.95229 22.7147 9.84219 22.5856 9.73436C21.7928 9.06919 21.7928 7.8983 22.5924 7.33335C22.9827 7.05695 23.5082 6.97874 24.1688 7.09872C25.9798 7.42903 27.5266 8.21949 28.825 9.53845C30.1235 10.8574 30.8889 12.4156 31.1873 14.2311C31.2982 14.8948 31.2124 15.4195 30.9299 15.8052C30.3513 16.5957 29.1804 16.5775 28.5289 15.7733C28.4226 15.6427 28.3185 15.276 28.2168 14.6731C28.0087 13.4429 27.5076 12.4239 26.7133 11.616Z" fill="currentColor"/> 24 </svg> 25 <span class="ahead__voiceCallNum">123 <span class="ahead__voiceCallStars">****</span></span> 26 </div> 27 28 <div class="ahead__sub" 29 v-html="subtitle" 30 @click="onSubClick"></div> 31 </div> 32 33 `};app.authLockIconComponent=(()=>{const FPS=60;const SHACKLE_REST=45.6118;const SHACKLE_CLOSED=46.5391;const SHACKLE_OPEN=36.5391;const SPIN_PER_SECOND=2*Math.PI;const elastic=(amplitude,period)=>{const s=amplitude<1?period/4:period/(2*Math.PI)*Math.asin(1/amplitude);return(t)=>{let a=amplitude;if(amplitude<1&&t<Math.abs(s)){const l=Math.abs(t/s);a=amplitude*l+(1-l)} 34return a*Math.pow(2,-10*t)*Math.sin((t-s)*2*Math.PI/period)+1}};const SHACKLE_EASE=elastic(1,0.24);const RING_EASE=elastic(5.7312,1.4611);const segment=(fromFrame,toFrame,ease)=>(t,a,b)=>{const p=(t*FPS-fromFrame)/(toFrame-fromFrame);if(p<=0)return a;if(p>=1)return b;return a+(b-a)*ease(p)};const CLIPS={open:{duration:70/FPS,shackle:(t)=>segment(10,70,SHACKLE_EASE)(t,SHACKLE_CLOSED,SHACKLE_OPEN),ring:(t)=>segment(10,70,RING_EASE)(t,0,Math.PI),},close:{duration:60/FPS,shackle:(t)=>segment(9,60,SHACKLE_EASE)(t,SHACKLE_OPEN,SHACKLE_CLOSED),ring:(t)=>segment(9,60,RING_EASE)(t,0,-Math.PI),},};return{data(){return{shackleY:SHACKLE_REST,angle:0,}},computed:{shackleTransform(){return `translate(35 ${this.shackleY})`},ringTransform(){return `translate(35 60.72) rotate(${this.angle * 180 / Math.PI})`},},created(){this.spinning=!1;this.clip=null;this.frame=null;this.last=null},beforeDestroy(){this.frame&&cancelAnimationFrame(this.frame)},methods:{spin(){this.spinning=!0;this.wake()},stop(){this.spinning=!1},open(){this.play('open')},close(){this.play('close')},play(name){this.clip={name,t:0,angle:this.angle};this.wake()},wake(){if(!this.frame)this.frame=requestAnimationFrame(this.tick);},tick(now){const dt=this.last===null?0:(now-this.last)/1000;this.last=now;if(this.spinning)this.angle+=SPIN_PER_SECOND*dt;if(this.clip){const clip=CLIPS[this.clip.name];this.clip.t+=dt;this.shackleY=clip.shackle(this.clip.t);this.angle=this.clip.angle+clip.ring(this.clip.t);if(this.clip.t>=clip.duration)this.clip=null} 35if(this.spinning||this.clip){this.frame=requestAnimationFrame(this.tick)}else{this.frame=null;this.last=null}},},template:` 36 <svg viewBox="0 0 70 90" aria-hidden="true"> 37 <path :transform="shackleTransform" 38 fill-rule="evenodd" 39 d="M9-13V13C9 17.97 4.97 22 0 22C-4.28 22-7.87 19.01-8.78 15H-16.88C-15.89 23.45-8.71 30 0 30C9.39 30 17 22.39 17 13V-13C17-22.39 9.39-30 0-30C-9.39-30-17-22.39-17-13V1H-9V-13C-9-17.97-4.97-22 0-22C4.97-22 9-17.97 9-13Z"/> 40 <circle cx="35" cy="60.13" r="22.52"/> 41 <path transform="translate(35 60.11)" 42 fill="#fff" 43 fill-rule="evenodd" 44 d="M.02-4.5L4.31 4.5H1.27C1.24 3.82.68 3.28 0 3.28C-.68 3.28-1.24 3.82-1.27 4.5H-4.31L-2.92 1.61C-2.68 1.73-2.42 1.79-2.13 1.79C-1.16 1.79-.37.99-.37.01C-.37-.7-.78-1.31-1.38-1.6Z"/> 45 <path :transform="ringTransform" 46 fill="#fff" 47 d="M15.43 1.53C15.4 1.8 15.15 2 14.87 1.96L12.89 1.7C12.62 1.67 12.42 1.41 12.45 1.14C12.48 .76 12.5 .38 12.5 0C12.5-.38 12.48-.76 12.45-1.14C12.42-1.41 12.62-1.67 12.89-1.7L14.87-1.96C15.15-2 15.4-1.8 15.43-1.53C15.47-1.03 15.5-.52 15.5 0C15.5.52 15.47 1.03
4715.43 1.53Z 48 M14.12-6.39C14.24-6.14 14.12-5.85 13.86-5.74L12.02-4.98C11.76-4.87 11.47-4.99 11.35-5.24C11.03-5.93 10.65-6.59 10.22-7.21C10.06-7.43 10.1-7.74 10.31-7.91L11.9-9.13C12.12-9.3 12.43-9.26 12.6-9.03C13.19-8.21 13.7-7.33 14.12-6.39Z 49 M9.13-11.9C9.3-12.12 9.26-12.43 9.04-12.6C8.21-13.19 7.33-13.7 6.39-14.12C6.14-14.24 5.85-14.12 5.74-13.86L4.98-12.01C4.87-11.76 4.99-11.47 5.24-11.35C5.93-11.03 6.59-10.65 7.21-10.22C7.43-10.06 7.75-10.1 7.91-10.32Z 50 M1.53-15.43C1.8-15.4 1.99-15.15 1.96-14.87L1.7-12.89C1.67-12.62 1.41-12.42 1.14-12.45C.77-12.48.39-12.5 0-12.5C-.38-12.5-.77-12.48-1.14-12.45C-1.41-12.42-1.67-12.62-1.7-12.89L-1.96-14.87C-1.99-15.15-1.8-15.4-1.53-15.43C-1.03-15.47-.51-15.5 0-15.5C.52-15.5 1.02-15.47 1.53-15.43Z 51 M-6.39-14.12C-6.14-14.24-5.85-14.12-5.74-13.86L-4.98-12.01C-4.87-11.76-4.99-11.47-5.24-11.35C-5.93-11.03-6.59-10.65-7.21-10.22C-7.43-10.06-7.74-10.1-7.91-10.32L-9.13-11.9C-9.3-12.12-9.26-12.43-9.03-12.6C-8.21-13.19-7.33-13.7-6.39-14.12Z 52 M-12.6-9.03C-12.43-9.26-12.12-9.3-11.9-9.13L-10.32-7.91C-10.1-7.74-10.06-7.43-10.22-7.21C-10.65-6.59-11.03-5.93-11.35-5.24C-11.47-4.99-11.76-4.87-12.01-4.98L-13.86-5.74C-14.12-5.85-14.24-6.14-14.12-6.39C-13.7-7.33-13.19-8.21-12.6-9.03Z 53 M-14.87-1.96C-15.15-2-15.4-1.8-15.43-1.53C-15.47-1.03-15.5-.52-15.5 0C-15.5.52-15.47 1.03-15.43 1.53C-15.4 1.8-15.15 2-14.87 1.96L-12.89 1.7C-12.62 1.67-12.42 1.41-12.45 1.14C-12.48.76-12.5.38-12.5 0C-12.5-.38-12.48-.76-12.45-1.14C-12.42-1.41-12.62-1.67-12.89-1.7Z 54 M-14.12 6.39C-14.24 6.14-14.12 5.85-13.86 5.74L-12.01 4.98C-11.76 4.87-11.47 4.99-11.35 5.24C-11.03 5.93-10.65 6.59-10.22 7.21C-10.06 7.43-10.1 7.74-10.32 7.91L-11.9 9.13C-12.12 9.3-12.43 9.26-12.6 9.03C-13.19 8.21-13.7 7.33-14.12 6.39Z 55 M-9.03 12.6C-9.26 12.43-9.3 12.12-9.13 11.9L-7.91 10.32C-7.74 10.1-7.43 10.06-7.21 10.22C-6.59 10.65-5.93 11.03-5.24 11.35C-4.99 11.47-4.87 11.76-4.98 12.01L-5.74 13.86C-5.85 14.12-6.14 14.24-6.39 14.12C-7.33 13.7-8.21 13.19-9.03 12.6Z 56 M-1.53 15.43C-1.8 15.4-1.99 15.15-1.96 14.87L-1.7 12.89C-1.66 12.62-1.41 12.42-1.14 12.45C-.77 12.48-.38 12.5 0 12.5C.39 12.5.77 12.48 1.14 12.45C1.41 12.42 1.66 12.62 1.7 12.89L1.96 14.87C1.99 15.15 1.8 15.4 1.53 15.43C1.02 15.47.52 15.5 0 15.5C-.51 15.5-1.02 15.47-1.53 15.43Z 57 M6.39 14.12C6.14 14.24 5.85 14.12 5.74 13.86L4.98 12.01C4.87 11.76 4.99 11.47 5.24 11.35C5.93 11.03 6.59 10.65 7.21 10.22C7.43 10.06 7.75 10.1 7.91 10.32L9.13 11.9C9.3 12.12 9.26 12.43 9.04 12.6C8.21 13.19 7.33 13.7 6.39 14.12Z 58 M12.6 9.03C12.43 9.26 12.12 9.3 11.9 9.13L10.31 7.91C10.1 7.74 10.06 7.43 10.22 7.21C10.65 6.59 11.03 5.93 11.35 5.24C11.47 4.99 11.76 4.87 12.02 4.98L13.86 5.74C14.12 5.85 14.24 6.14 14.12 6.39C13.7 7.33 13.19 8.21 12.6 9.03Z"/> 59 </svg> 60 `}})();app.authLockComponent={components:{authLockIcon:app.authLockIconComponent,},props:['lockState'],data(){return{initialized:!1,}},watch:{lockState(state){const icon=this.$refs.icon;if(state==='loading'){icon.spin()}else if(state==='idle'){icon.stop()}else if(state==='error'){icon.stop();icon.close()}else if(state==='success'){icon.stop();icon.open()}}},mounted(){requestAnimationFrame(()=>{this.initialized=!0})},template:` 61 <authLockIcon ref="icon" 62 class="authLock" 63 :class="{'authLock--visible': initialized}"/> 64 `};app.authErrorComponent={props:['errorMessage'],data(){return{displayText:''}},watch:{errorMessage(val){clearTimeout(this._timer);clearTimeout(this._hideTimer);if(val){this.displayText=val;this._timer=setTimeout(()=>{this.$emit('dismiss')},3000)}else{this._hideTimer=setTimeout(()=>{this.displayText=''},200)}}},beforeDestroy(){clearTimeout(this._timer);clearTimeout(this._hideTimer)},template:` 65 <div class="authErr" :class="{'authErr--visible': errorMessage}"> 66 <svg class="authErr__ico" width="18" height="18" viewBox="0 0 18 18" fill="none"> 67 <path d="M7.26795 3C8.03775 1.66666 9.96225 1.66667 10.7321 3L15.0622 10.5C15.832 11.8333 14.8697 13.5 13.3301 13.5H4.66987C3.13027 13.5 2.16802 11.8333 2.93782 10.5L7.26795 3Z" fill="white"/> 68 <rect x="8" y="4" width="2" height="5" rx="1" fill="#ED6060"/> 69 <rect x="8" y="10" width="2" height="2" rx="1" fill="#ED6060"/> 70 </svg> 71 {{displayText}} 72 </div> 73 `};app.authPhoneComponent={props:['value','authMethod','phoneMask','captcha','loc'],data(){return{masked:null,}},computed:{locPhone(){return this.loc['auth/phone']},localValue:{get(){return this.value}
73,set(value){if(this.masked){this.masked.updateValue();this.$emit('input',this.masked.value);return} 74this.$emit('input',value)}}},mounted(){if(this.phoneMask){const code=this.extractFixedPart(this.phoneMask);const maskOptions={mask:this.phoneMask,};this.masked=IMask(this.$refs.authPhoneInput,maskOptions);this.masked.value=this.value||code}},methods:{onKeyDown(e){if(e.which===13){this.$emit('enter')}},onFocus(){this.$refs.authPhoneInput.scrollIntoView({behavior:'smooth',block:'center'})},onPaste(e){if(this.phoneMask){e.preventDefault();const pastedData=e.clipboardData.getData('text/plain');const digitsOnly=pastedData.replace(/\D/g,'');const zeroCount=this.phoneMask.split('0').length-1;if(zeroCount===digitsOnly.length){const extractCountryCode=this.phoneMask.match(/\{(\d+)\}/)[1];this.masked.value=`+${extractCountryCode}${digitsOnly}`}else{this.masked.value=`+${digitsOnly}`} 75this.localValue=this.masked.value}},extractFixedPart(mask){const regex=/{([^}]+)}/;const match=mask.match(regex);return match?match[1]:''}},template:` 76 <label class="authPhone__wrap"> 77 <div class="authPhone__title">{{locPhone}}</div> 78 <input class="authPhone__input" 79 ref="authPhoneInput" 80 @paste="onPaste" 81 @focus="onFocus" 82 @keydown="onKeyDown" 83 type="tel" 84 v-model="localValue"> 85 </label> 86 87 `};app.authCodeComponent={props:['value','codeSent'],data(){return{localValue:this.value,memo:['','','',''],}},watch:{codeSent:function(){this.localValue=''},value:{immediate:!0,handler(newVal){for(let i=0;i<4;i++){if(newVal&&newVal[i]){this.memo[i]=newVal[i]}}}}},computed:{isVisible(){return!!this.codeSent},cells(){const list=[];for(let i=0;i<4;i++){list.push({filled:i<this.value.length,digit:this.memo[i]||'',})} 88return list}},methods:{onInput(){this.$emit('input',this.localValue);if(this.localValue.length>=4){this.$refs.input.blur();this.$emit('entered')}},onFocus(){this.localValue='';this.onInput();this.$emit('focused')},},template:` 89 90 <label v-if="isVisible" class="acd__wrap"> 91 <div class="acd"> 92 <input ref="input" 93 class="acd__input" 94 type="text" 95 name="code" 96 v-model="localValue" 97 @input="onInput" 98 @focus="onFocus" 99 inputmode="numeric" 100 autocomplete="one-time-code" 101 maxlength="4"> 102 103 <div class="acd__display"> 104 <div v-for="cell in cells" 105 class="acd__cell" 106 :class="{'acd__cell--filled': cell.filled}"> 107 <span class="acd__char acd__char--dot">â¢</span> 108 <span class="acd__char acd__char--digit">{{ cell.digit }}</span> 109 </div> 110 </div> 111 </div> 112 113 </label> 114 115 `};app.authPolicyComponent={props:['value','text'],data(){return{checked:!!this.value}},methods:{onClick(){this.setValue(!this.checked)},setValue(value){this.checked=value;this.$emit('input',value)},},template:` 116 117 <div class="authPolicy" @click="onClick"> 118 119 <div class="authPolicy__checkbox" :class="{'authPolicy__checkbox--checked': checked}"> 120 121 <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 122 <path d="M14.838 6.205C14.5644 5.93158 14.1154 5.93168 13.842 6.20523L8.63906 11.4101L6.15805 8.92921C5.88459 8.65576 5.43569 8.65571 5.16216 8.92909L4.19987 9.89087C3.93351 10.1571 3.93336 10.5836 4.19953 10.85L8.14085 14.7947C8.4144 15.0684 8.86374 15.0685 9.13729 14.7947L15.8005 8.12577C16.0666 7.85937 16.0665 7.43289 15.8001 7.16667L14.838 6.205Z" fill="currentColor"/> 123 </svg> 124 125 </div> 126 127 <div class="authPolicy__text">{{ text }}</div> 128 </div> 129 130 131 `};app.authPolicyMain={components:{authPolicyCheckbox:app.authPolicyComponent},props:['loc','isPolicyAccepted'],template:` 132 <authPolicyCheckbox 133 :text="loc['auth/consent']" 134 :value="isPolicyAccepted"
135 @input="$emit('update:isPolicyAccepted', $event)"/> 136 `};app.authCaptchaComponent={props:['captcha','phone','errorMessage'],data(){return{x:0,}},watch:{errorMessage:function(val){if(val){this.x=0}}},mounted(){const handler=this.$refs.handler;this._activePointerId=null;this._lastX=0;this._onMove=(e)=>{if(e.pointerId!==this._activePointerId)return;this.x+=e.clientX-this._lastX;this._lastX=e.clientX};this._onEnd=(e)=>{if(e.pointerId!==this._activePointerId)return;this._unbindDocument();this._activePointerId=null;this.$emit('selected',{x:this.x,icoOffset:30,containerWidth:this.$el.offsetWidth,containerHeight:this.$el.offsetHeight,icoWidth:this.$refs.ico.getBoundingClientRect().width,icoHeight:this.$refs.ico.getBoundingClientRect().height,})};this._unbindDocument=()=>{document.removeEventListener('pointermove',this._onMove);document.removeEventListener('pointerup',this._onEnd);document.removeEventListener('pointercancel',this._onEnd)};handler.addEventListener('pointerdown',(e)=>{if(this._activePointerId!==null)return;this._activePointerId=e.pointerId;this._lastX=e.clientX;document.addEventListener('pointermove',this._onMove);document.addEventListener('pointerup',this._onEnd);document.addEventListener('pointercancel',this._onEnd);this.$emit('started')})},beforeDestroy(){this._unbindDocument()},computed:{handlerStyle(){return{transform:`translate(${this.x}px)`}},backgroundStyle(){const phone=this.phone.replace(/[^0-9]/g,'');return{backgroundImage:`url(${this.captcha.cdnOrigin}?captcha2=${phone}&try=${this.captcha.lastTryNumber})`}}},template:` 137 <div class="captcha" data-no-drag :style="backgroundStyle"> 138 139 <div class="captcha__handler" ref="handler" :style="handlerStyle"> 140 141 <svg class="captcha__handlerIco" ref="ico" width="21" height="21" viewBox="0 0 21 21" fill="none"> 142 <path d="M8.5 0C7.119 0 6 1.119 6 2.5V4H2C0.895 4 0 4.895 0 6V10H1.5C2.881 10 4 11.119 4 12.5C4 13.881 2.881 15 1.5 15H0V19C0 20.105 0.895 21 2 21H6V19.5C6 18.119 7.119 17 8.5 17C9.881 17 11 18.119 11 19.5V21H15C16.105 21 17 20.105 17 19V15H18.5C19.881 15 21 13.881 21 12.5C21 11.119 19.881 10 18.5 10H17V6C17 4.895 16.105 4 15 4H11V2.5C11 1.119 9.881 0 8.5 0Z" fill="#7F7F7F"/> 143 </svg> 144 145 </div> 146 147 </div> 148 `};app.authTurnstileComponent={components:{commonSpinner:app.commonSpinnerComponent},props:['panelUrl','lang'],data(){return{ready:!1,theme:document.documentElement.classList.contains('html--dark')?'dark':'light'}},computed:{panelOrigin(){try{return new URL(this.panelUrl).origin}catch(e){return''}},iframeSrc(){return this.panelOrigin+'/turnstile/'+'?origin='+encodeURIComponent(location.origin)+'&theme='+this.theme+(this.lang?'&lang='+encodeURIComponent(this.lang):'')}},mounted(){this._onMessage=(e)=>{if(e.origin!==this.panelOrigin)return;const data=e.data||{};if(data.type!=='fpTurnstile')return;if(data.event==='ready'){this.ready=!0}else if(data.event==='token'){this.$emit('token',data.token)}else if(data.event==='expired'||data.event==='error'){this.$emit('expired')}};window.addEventListener('message',this._onMessage)},beforeDestroy(){window.removeEventListener('message',this._onMessage)},template:` 149 <div class="authTurnstile"> 150 151 <div v-if="!ready" class="authTurnstile__spinner"> 152 <commonSpinner/> 153 </div> 154 155 <iframe :src="iframeSrc" 156 class="authTurnstile__frame" 157 :class="{'authTurnstile__frame--ready': ready}" 158 scrolling="no"></iframe> 159 160 </div> 161 `};app.authFooterButtonComponent={props:['type','active','title','loading','sub','arr','tgIco','whatsappIco','vkIco','maxIco','appleIco','googleIco','yandexIco'],data(){return{submitted:!1,}},computed:{isArrMoving(){return this.loading&&this.submitted}},watch:{loading:function(val){if(!val){this.submitted=!1}}},methods:{onSubmit(){if(this.active&&!this.loading){this.submitted=!0;this.$emit('submit')}}},template:` 162 163 164 <div class="abtn" 165 :class="['abtn--'+type, {'abtn--inactive': !active, 'abtn--active': active}]" 166 v-press 167 @click="onSubmit"> 168 169 <div class="abtn__wrap"> 170 <div class="abtn__title"> 171 172 <svg v-if="tgIco" class="abtn__tgIco" width="20" height="17" viewBox="0 0 20 17"> 173 <path d="M1.34765 7.308C7.50195 4.54344 15.4661 1.17287 16.5654 0.706356C19.4492 -0.514671 20.334 -0.280666 19.8928 2.42339C19.576 4.36694 18.6618 10.8016 17.9331 14.8067C17.5007 17.1817 16.5307 17.4632 15.0053 16.4357C14.2718 15.9412 10.5693 13.4411 9.76574 12.8541C9.0322 12.3191 8.02052 11.6756 9.28929 10.4081C9.74077 9.95656 12.7004 7.07099 15.0063 4.82495C15.3084 4.52994 14.9289 4.04543 14.5803 4.28193C11.4723 6.38648 7.16309 9.30754 6.61465 9.68805C5.78611 10.2626 4.99038 10.5261 3.56199 10.1071C2.48273 9.79056 1.42845 9.41305 1.0181 9.26904C-0.562101 8.71503 -0.187006 7.99751 1.34765 7.308Z" fill="currentColor"/> 174 </svg> 175 176 <svg v-if="whatsappIco" class="abtn__whatsappIco" width="23" height="23" viewBox="0 0 23 23" fill="none"> 177 <path d="M1.08828 11.512C1.0877 13.3648 1.57174 15.1735 2.49196 16.7677L1 22.2151L6.57472 20.7534C8.11074 21.5909 9.84014 22.0324 11.5999 22.0331H11.6044C17.4 22.0331 22.118 17.3166 22.1204 11.5205C22.1214 8.71143 21.0284 6.06998 19.0431 4.08292C17.0576 2.09612 14.4175 1.00116 11.6044 1C5.80787 1 1.09059 5.7158 1.08828 11.512ZM4.40823 16.4932L4.20008 16.1627C3.32506 14.7714 2.86322 13.1636 2.86388 11.5127C2.86569 6.69501 6.7865 2.77544 11.6077 2.77544C13.9425 2.77643 16.1368 3.68659 17.7871 5.33794C19.4374 6.98946 20.3455 9.18483 20.3449 11.5198C20.3428 16.3375 16.4219 20.2575 11.6044 20.2575H11.601C10.0324 20.2567 8.49396 19.8355 7.15232 19.0394L6.83303 18.8501L3.52488 19.7174L4.40823 16.4932Z" fill="white"/> 178 <path d="M8.97612 7.11735C8.77927 6.67984 8.57211 6.67101 8.38491 6.66334C8.23162 6.65674 8.05639 6.65723 7.88132 6.65723C7.70609 6.65723 7.42137 6.72315 7.18072 6.98592C6.93981 7.24894 6.26099 7.88453 6.26099 9.17725C6.26099 10.47 7.20258 11.7194 7.33384 11.8949C7.46526 12.07 9.1516 14.8077 11.8223 15.861C14.042 16.7362 14.4937 16.5621 14.9754 16.5182C15.4572 16.4745 16.5301 15.8828 16.7489 15.2693C16.968 14.6558 16.968 14.1299 16.9023 14.02C16.8366 13.9105 16.6614 13.8448 16.3986 13.7134C16.1359 13.5821 14.844 12.9463 14.6031 12.8586C14.3622 12.771 14.1871 12.7273 14.0119 12.9904C13.8366 13.2531 13.3334 13.8448 13.1801 14.02C13.0269 14.1957 12.8735 14.2175 12.6108 14.0861C12.3479 13.9543 11.5017 13.6771 10.4977 12.7821C9.71657 12.0856 9.18922 11.2255 9.03593 10.9624C8.88264 10.6997 9.01951 10.5573 9.15127 10.4264C9.26933 10.3087 9.41412 10.1196 9.54563 9.96621C9.67664 9.81276 9.72037 9.70328 9.80798 9.52805C9.89568 9.35265 9.85179 9.19919 9.7862 9.06777C9.72037 8.93634 9.20976 7.63686 8.97612 7.11735Z" fill="white"/> 179 </svg> 180 181 <svg v-if="maxIco" class="abtn__maxIco" width="19" height="19" viewBox="0 0 42 42" fill="none">
182 <path fill="currentColor" fill-rule="evenodd" d="M21.47 41.88c-4.11 0-6.02-.6-9.34-3-2.1 2.7-8.75 4.81-9.04 1.2 0-2.71-.6-5-1.28-7.5C1 29.5.08 26.07.08 21.1.08 9.23 9.82.3 21.36.3c11.55 0 20.6 9.37 20.6 20.91a20.6 20.6 0 0 1-20.49 20.67Zm.17-31.32c-5.62-.29-10 3.6-10.97 9.7-.8 5.05.62 11.2 1.83 11.52.58.14 2.04-1.04 2.95-1.95a10.4 10.4 0 0 0 5.08 1.81 10.7 10.7 0 0 0 11.19-9.97 10.7 10.7 0 0 0-10.08-11.1Z" clip-rule="evenodd"/> 183 </svg> 184 185 <svg v-if="vkIco" class="abtn__vkIco" width="25" height="14" viewBox="0 0 20 12" fill="none"> 186 <path d="M19.5455 0.748C19.6818 0.308 19.5455 0 18.9091 0H16.7273C16.1818 0 15.9318 0.264 15.7955 0.55C15.7955 0.55 14.6818 3.168 13.1136 4.852C12.6136 5.336 12.3864 5.49 12.1136 5.49C11.9773 5.49 11.7727 5.336 11.7727 4.896V0.748C11.7727 0.22 11.6136 0 11.1591 0H7.77273C7.43182 0 7.22727 0.23 7.22727 0.45C7.22727 0.95 7.97727 1.068 8.05455 2.464V5.578C8.05455 6.248 7.93182 6.37 7.65909 6.37C6.90909 6.37 5.09091 3.742 4.02273 0.792C3.81818 0.218 3.61364 0 3.06818 0H0.886364C0.272727 0 0.136364 0.264 0.136364 0.55C0.136364 1.1 0.840909 3.872 3.56818 7.548C5.38636 10.078 7.97727 11.45 10.3409 11.45C11.7045 11.45 11.8864 11.17 11.8864 10.658V8.75C11.8864 8.156 12.0227 8.024 12.4545 8.024C12.7727 8.024 13.3182 8.178 14.5909 9.378C16.0455 10.798 16.2955 11.45 17.1136 11.45H19.2955C19.9091 11.45 20.2273 11.17 20.0455 10.614C19.8409 10.06 19.1591 9.244 18.2727 8.266C17.7727 7.694 17.0227 7.078 16.7955 6.77C16.4773 6.374 16.5682 6.198 16.7955 5.846C16.7955 5.846 19.4773 2.214 19.7500 0.95C19.8636 0.572 19.6818 0.308 19.5455 0.748Z" fill="white"/> 187 </svg> 188 189 <svg v-if="appleIco" class="abtn__appleIco" width="19" height="25" viewBox="0 0 384 512" fill="none"> 190 <path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z" fill="currentColor"/> 191 </svg> 192 193 <svg v-if="googleIco" class="abtn__googleIco" width="19" height="19" viewBox="0 0 48 48" fill="none"> 194 <path d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z" fill="#EA4335"/> 195 <path d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z" fill="#4285F4"/> 196 <path d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z" fill="#FBBC05"/> 197 <path d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z" fill="#34A853"/> 198 </svg> 199 200 <svg v-if="yandexIco" class="abtn__yandexIco" width="24" height="24" viewBox="0 0 1024 1024" fill="none"> 201 <circle cx="512" cy="512" r="512" fill="#FC3F1D"/> 202 <path d="M583.31 762.91h89.6V261.83H543.4c-130.05 0-198.42 66.82-198.42 165.43 0 78.75 37.5 124.9 104.32 172.6l-116.1 173.05h97.13l129.4-193.4-45.18-30.27c-54.27-36.6-80.7-65.1-80.7-126.62 0-54.27 38.1-91.07 110.34-91.07h39.8v461.83z" fill="#fff"/> 203 </svg> 204 205 {{title}} 206 207 <svg v-if="arr" width="37" height="16" viewBox="0 0 37 16" class="abtn__arr" :class="{'abtn__arr--move': isArrMoving}"> 208 <path d="M29.049 0C28.7864 6.97316e-05 28.5298 0.0790813 28.3119 0.226934C28.0941 0.374787 27.925 0.584763 27.8261 0.830016C27.7273 1.07527 27.7033 1.34466 27.7572 1.60374C27.811 1.86282 27.9403 2.09982 28.1285 2.28444L32.4757 6.66621H1.33894C1.16401 6.66372 0.990328 6.69629 0.827992 6.76204C0.665657 6.8278 0.517905 6.92541 0.393324 7.04922C0.268742 7.17303 0.169816 7.32056 0.102294 7.48324C0.0347715 7.64593 0 7.82051 0 7.99685C0 8.1732 0.0347715 8.34778 0.102294 8.5104
2086C0.169816 8.67315 0.268742 8.82068 0.393324 8.94449C0.517905 9.06829 0.665657 9.16591 0.827992 9.23166C0.990328 9.29742 1.16401 9.32999 1.33894 9.3275H32.4757L28.1285 13.7093C28.0018 13.8319 27.9007 13.9787 27.831 14.1412C27.7613 14.3038 27.7245 14.4786 27.7227 14.6557C27.7209 14.8327 27.7542 15.0083 27.8206 15.1722C27.887 15.3361 27.9852 15.485 28.1094 15.6102C28.2335 15.7354 28.3813 15.8344 28.5439 15.9013C28.7065 15.9682 28.8807 16.0017 29.0564 15.9999C29.232 15.9981 29.4055 15.961 29.5667 15.8908C29.728 15.8205 29.8737 15.7186 29.9953 15.5909L36.48 9.05461C36.6412 8.93077 36.772 8.77117 36.8622 8.58819C36.9523 8.40521 36.9995 8.20375 37 7.99944C37.0005 7.79512 36.9543 7.59344 36.865 7.41001C36.7757 7.22658 36.6458 7.06634 36.4851 6.9417C36.4826 6.93995 36.48 6.93822 36.4774 6.9365L29.9953 0.402831C29.8723 0.275363 29.7252 0.174042 29.5626 0.104852C29.4001 0.0356633 29.2255 1.03308e-05 29.049 0Z" fill="currentColor"/> 209 </svg> 210 211 </div> 212 <div class="abtn__sub">{{sub}}</div> 213 </div> 214 215 </div> 216 217 `};app.authReturnFromExternalMixin={mounted(){this._didHide=!1;this._onReturnVisible=()=>{if(document.visibilityState==='hidden'){this._didHide=!0;return} 218if(document.visibilityState==='visible'&&this.hasNavigated&&this._didHide){this._didHide=!1;this.login()}};document.addEventListener('visibilitychange',this._onReturnVisible)},beforeDestroy(){document.removeEventListener('visibilitychange',this._onReturnVisible)},};app.authMethodsScreen={components:{authHeader:app.authHeaderComponent,authPhone:app.authPhoneComponent,authPolicyMain:app.authPolicyMain,authButton:app.authFooterButtonComponent},props:['loc','isTelegramOff','isSmsOff','isWhatsappOff','isTgBotOff','isVkIdOff','isMaxOff','isAppleIdOff','isGoogleIdOff','isYandexIdOff','isApp','isStoreModerate','skipCaptcha','isAuthConsentRequired','isPolicyAccepted','isAuthScreenWithPhone','phone','phoneMask'],computed:{title(){return this.loc['auth2/header']},subtitle(){return this.loc['auth2/header/subMethod']},moderateMethod(){if(!this.isStoreModerate)return null;if(!this.isSmsOff)return'sms';if(!this.isTelegramOff&&!this.skipCaptcha)return'tg';if(!this.isTgBotOff)return'tgbot';if(!this.isWhatsappOff&&!this.skipCaptcha)return'whatsapp';if(!this.isVkIdOff)return'vkid';if(!this.isMaxOff)return'max';if(!this.isAppleIdOff)return'appleid';if(!this.isGoogleIdOff)return'googleid';if(!this.isYandexIdOff)return'yandexid';return null},isTgVisible(){if(this.isStoreModerate)return this.moderateMethod==='tg';return!this.isTelegramOff&&!this.skipCaptcha},isTgBotVisible(){if(this.isStoreModerate)return this.moderateMethod==='tgbot';if(this.isTgVisible)return!1;return!this.isTgBotOff},isVkIdVisible(){if(this.isStoreModerate)return this.moderateMethod==='vkid';return!this.isVkIdOff},isSmsVisible(){if(this.isStoreModerate)return this.moderateMethod==='sms';return!this.isSmsOff},isSmsLink(){return this.isSmsVisible&&!this.isAuthScreenWithPhone&&!this.isStoreModerate},isWhatsappVisible(){if(this.isStoreModerate)return this.moderateMethod==='whatsapp';return!this.isWhatsappOff&&!this.skipCaptcha},showIcons(){return!this.isStoreModerate},tgTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/telegram']},tgSub(){if(this.isStoreModerate)return'';if(this.isSmsOff)return'';if(!this.isWhatsappOff)return'';return this.loc['auth2/btn/telegram/sub']},tgBotTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/telegram']},tgBotSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/telegram/sub']},vkIdTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/vkid']||'VK ID'},whatsappTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/whatsapp']},smsTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/sms']},smsSub(){if(this.isStoreModerate)return'';if(this.isTelegramOff&&this.isTgBotOff)return'';return this.loc['auth2/btn/sms/sub']},smsLinkTitle(){return this.loc['auth2/btn/loginByPhone']},whatsappSub(){if(this.isStoreModerate)return'';if(!this.isTelegramOff)return'';return this.tgSub},vkIdSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/vkid/sub']||''},isMaxVisible(){if(this.isStoreModerate)return this.moderateMethod==='max';return!this.isMaxOff},maxTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/max']||'MAX'},maxSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/max/sub']||''},isAppleIdVisible(){if(this.isStoreModerate)return this.moderateMethod==='appleid';return!this.isAppleIdOff},appleIdTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/appleid']||'Apple ID'},appleIdSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/appleid/sub']||''},isGoogleIdVisible(){if(this.isStoreModerate)return this.moderateMethod==='googleid';return!this.isGoogleIdOff},googleIdTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/googleid']||'Google'},googleIdSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/googleid/sub']||''},isYandexIdVisible(){if(this.isStoreModerate)return this.moderateMethod==='yandexid';return!this.isYandexIdOff},yandexIdTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/yandexid']||'Yandex ID'},yandexIdSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/yandexid/sub']||''},},methods:{select(method){if(this.isAuthScreenWithPhone){this.$emit('selectMethod',method,null);return}
219this.$emit('fetch',{authMethod:method,code:'',needCode:!0,tgBotNavigated:!1,vkAuthNavigated:!1,},(response)=>{if(response.error){return} 220this.$emit('selectMethod',method,response)})}},template:` 221 <div class="authMethod"> 222 223 <authHeader :title="title" :subtitle="subtitle"/> 224 225 <div v-if="isAuthScreenWithPhone" class="authMethod__phone"> 226 <authPhone 227 :loc="loc" 228 :phoneMask="phoneMask" 229 :value="phone" 230 @input="$emit('update:phone', $event)"/> 231 </div> 232 233 <div v-if="isAuthConsentRequired" class="authMethod__policy"> 234 <authPolicyMain 235 :loc="loc" 236 :isPolicyAccepted="isPolicyAccepted" 237 @update:isPolicyAccepted="$emit('update:isPolicyAccepted', $event)"/> 238 </div> 239 240 <div class="authMethod__buttons"> 241 242 <authButton 243 v-if="isTgVisible" 244 :active="true" 245 :title="tgTitle" 246 :sub="tgSub" 247 :tgIco="showIcons" 248 @submit="select('tg')" 249 type="tg"/> 250 251 <authButton 252 v-if="isTgBotVisible" 253 :active="true" 254 :title="tgBotTitle" 255 :sub="tgBotSub" 256 :tgIco="showIcons" 257 @submit="select('tgbot')" 258 type="tgbot"/> 259 260 <authButton 261 v-if="isVkIdVisible" 262 :active="true" 263 :title="vkIdTitle" 264 :sub="vkIdSub" 265 :vkIco="showIcons" 266 @submit="select('vkid')" 267 type="vkid"/> 268 269 <authButton 270 v-if="isWhatsappVisible" 271 :active="true" 272 :title="whatsappTitle" 273 :sub="whatsappSub" 274 :whatsappIco="showIcons" 275 @submit="select('whatsapp')" 276 type="whatsapp"/> 277 278 <authButton 279 v-if="isMaxVisible" 280 :active="true" 281 :title="maxTitle" 282 :sub="maxSub" 283 :maxIco="showIcons" 284 @submit="select('max')" 285 type="max"/> 286 287 <authButton 288 v-if="isAppleIdVisible" 289 :active="true" 290 :title="appleIdTitle" 291 :sub="appleIdSub" 292 :appleIco="showIcons" 293 @submit="select('appleid')" 294 type="appleid"/> 295 296 <authButton 297 v-if="isGoogleIdVisible" 298 :active="true" 299 :title="googleIdTitle" 300 :sub="googleIdSub" 301 :googleIco="showIcons" 302 @submit="select('googleid')" 303 type="googleid"/> 304 305 <authButton 306 v-if="isYandexIdVisible" 307 :active="true" 308 :title="yandexIdTitle" 309 :sub="yandexIdSub" 310 :yandexIco="showIcons" 311 @submit="select('yandexid')" 312 type="yandexid"/> 313 314 <authButton 315 v-if="isSmsVisible && !isSmsLink" 316 :active="true" 317 :title="smsTitle" 318 :sub="smsSub" 319 type="sms" 320 @submit="select('sms')"/> 321 322 <a 323 v-if="isSmsLink" 324 class="authMethod__smsLink" 325 @click="select('sms')">{{smsLinkTitle}}</a> 326 327 </div> 328 329 </div> 330 `};app.authScreenBase={components:{authHeader:app.authHeaderComponent,authPhone:app.authPhoneComponent,authCode:app.authCodeComponent,authPolicyMain:app.authPolicyMain,authCaptcha:app.authCaptchaComponent,authTurnstile:app.authTurnstileComponent,authButton:app.authFooterButtonComponent},props:['phone','phoneMask','loc','cdnOrigin','panelUrl','lang','skipCaptcha','isAuthConsentRequired','isPolicyAccepted','isApp','errorMessage','hasMethodChoice','isAuthScreenWithPhone'],data(){return{code:'',codeSent:!1,codeMode:'sms',voiceAttempts:0,secondsLeft:{value:30},loading:!1,captchaType:'puzzle',captcha:{x:0,containerWidth:0,containerHeight:0,icoWidth:0,icoHeight:0,icoOffset:0,lastTryNumber:0,skip:!!this.skipCaptcha,cdnOrigin:this.cdnOrigin,sent:!1,visible:!1,dragging:!1,turnstileToken:''},}},computed:{title(){return this.loc['auth2/header']},subtitle(){if(this.captchaVisible){return this.loc['auth2/puzzle'].replace('{phone}',`<nobr>${this.phone}</nobr>`)} 331if(this.codeSent&&this.codeMode==='voiceCode'){return this.loc['auth2/voice/sent']} 332if(this.codeSent){return this.loc['auth2/sms/sent'].replace('{phone}',`<nobr>${this.phone}</nobr>`)} 333return this.loc['auth2/header/sub']},phoneVisible(){return!this.captchaVisible&&!this.codeSent},policyVisible(){if(!this.isAuthConsentRequired)return!1;if(this.hasMethodChoice&&!this.isAuthScreenWithPhone)return!1;return!this.captchaVisible&&!this.codeSent},buttonTitle(){if(this.codeSent){if(this.codeMode==='voiceCode'){return this.loc['auth2/voice/repeat']} 334return this.loc['auth/repeat2']} 335return this.idleButtonTitle},buttonSub(){if(this.codeSent){if(this.secondsLeft.value>0){const sec=this.loc['auth/sec'].split(/\|/g);const secFormatted=`${this.secondsLeft.value} ${app.plural(this.secondsLeft.value, sec[0], sec[1], sec[2])}`;return this.loc['auth2/send/in'].replace('{sec}',secFormatted)} 336return''} 337return''},buttonActive(){return!(this.codeSent&&this.secondsLeft.value>0)&&!this.loading},buttonArr(){return!!this.codeSent},buttonIcons(){return{}},captchaVisible(){return this.captcha.visible},isAuthButtonVisible(){return!this.captchaVisible},issetBackHandler(){return this.captchaVisible||!!this.codeSent}
337,activeCodeMode(){return this.codeSent?this.codeMode:null},},watch:{issetBackHandler(val){this.$emit('backHandler',val)},},mounted(){this._timer=setInterval(()=>{if(this.secondsLeft.value>0){this.secondsLeft.value--}},1000);if(this.isAuthScreenWithPhone){this.login({repeat:!1})}},beforeDestroy(){clearInterval(this._timer)},methods:{handleBack(){this.codeSent=!1;this.codeMode='sms';this.voiceAttempts=0;this.captcha.visible=!1;this.captcha.turnstileToken='';this.code='';this.$emit('error','')},onPhoneInput(val){this.$emit('update:phone',val);this.$emit('error','')},onCodeFocused(){this.$emit('error','')},onCodeEntered(){this.login({repeat:!1})},onSubmit(){if(this.codeSent){if(this.buttonActive){this.login({repeat:!0})}}else{this.login({repeat:!1})}},onCaptchaSelected(res){this.captcha.x=res.x;this.captcha.icoOffset=res.icoOffset;this.captcha.icoWidth=res.icoWidth;this.captcha.icoHeight=res.icoHeight;this.captcha.containerWidth=res.containerWidth;this.captcha.containerHeight=res.containerHeight;this.captcha.dragging=!1;this.$emit('captchaDragging',!1);this.login({repeat:!1})},onCaptchaStarted(){this.captcha.dragging=!0;this.$emit('captchaDragging',!0)},onTurnstileToken(token){this.captcha.turnstileToken=token;this.login({repeat:!1})},onTurnstileExpired(){this.captcha.turnstileToken=''},login(params){if(this.loading)return;this.loading=!0;this.$emit('fetch',{authMethod:this.authMethod,code:this.code,needCode:!this.codeSent||params.repeat,captcha:this.captcha,voiceAttempts:this.voiceAttempts,tgBotNavigated:!1,vkAuthNavigated:!1},(response)=>{this.onResponse(response)})},onResponse(response){const actionRequired=response.actionRequired;this.captcha.x=0;this.loading=!1;if(response.error){return} 338if(['NEED_CAPTCHA','WRONG_CAPTCHA'].includes(actionRequired)){this.codeSent=!1;this.code='';this.captcha.lastTryNumber=response.lastTryNumber;this.captchaType=response.captchaType||'puzzle';this.captcha.visible=!0;if(actionRequired==='WRONG_CAPTCHA'){this.$emit('error',response.message)}}else if(actionRequired==='ENTER_CODE'){this.codeSent=!0;this.codeMode='sms';this.code='';this.captcha.visible=!1;this.secondsLeft.value=30}else if(actionRequired==='ENTER_VOICE_CODE'){this.codeSent=!0;this.codeMode='voiceCode';this.voiceAttempts+=1;this.code='';this.captcha.visible=!1;this.secondsLeft.value=30}else if(actionRequired==='ENTER_CORRECT_CODE'){this.code='';this.$emit('error',response.message);this.codeSent=Math.random()}},},template:` 339 <div> 340 341 <authHeader :title="title" :subtitle="subtitle" :codeMode="activeCodeMode"/> 342 343 <authPhone 344 v-show="phoneVisible" 345 :loc="loc" 346 :phoneMask="phoneMask" 347 @input="onPhoneInput" 348 :value="phone"/> 349 350 <authCode 351 :codeSent="codeSent" 352 @focused="onCodeFocused" 353 @entered="onCodeEntered" 354 v-model="code"/> 355 356 <authPolicyMain v-if="policyVisible" 357 :loc="loc" 358 :isPolicyAccepted="isPolicyAccepted" 359 @update:isPolicyAccepted="$emit('update:isPolicyAccepted', $event)"/> 360 361 362 <div class="authForm__footer"> 363 364 <div v-if="captchaVisible" class="asbm__captcha"> 365 <authTurnstile 366 v-if="captchaType === 'turnstile'" 367 :key="captcha.lastTryNumber" 368 :panelUrl="panelUrl" 369 :lang="lang" 370 @token="onTurnstileToken" 371 @expired="onTurnstileExpired"/> 372 <authCaptcha 373 v-else 374 :phone="phone" 375 :captcha="captcha" 376 :errorMessage="errorMessage" 377 @selected="onCaptchaSelected" 378 @started="onCaptchaStarted"/> 379 </div> 380 381 <authButton 382 v-if="isAuthButtonVisible" 383 :active="buttonActive" 384 :title="buttonTitle" 385 :sub="buttonSub" 386 :arr="buttonArr" 387 :loading="loading" 388 :type="buttonType" 389 v-bind="buttonIcons" 390 @submit="onSubmit"/> 391 392 <div v-show="issetBackHandler" 393 @click="handleBack" 394 class="asbm__back"> 395
396 <svg width="37" height="16" viewBox="0 0 37 16"> 397 <path d="M29.049 0C28.7864 6.97316e-05 28.5298 0.0790813 28.3119 0.226934C28.0941 0.374787 27.925 0.584763 27.8261 0.830016C27.7273 1.07527 27.7033 1.34466 27.7572 1.60374C27.811 1.86282 27.9403 2.09982 28.1285 2.28444L32.4757 6.66621H1.33894C1.16401 6.66372 0.990328 6.69629 0.827992 6.76204C0.665657 6.8278 0.517905 6.92541 0.393324 7.04922C0.268742 7.17303 0.169816 7.32056 0.102294 7.48324C0.0347715 7.64593 0 7.82051 0 7.99685C0 8.1732 0.0347715 8.34778 0.102294 8.51046C0.169816 8.67315 0.268742 8.82068 0.393324 8.94449C0.517905 9.06829 0.665657 9.16591 0.827992 9.23166C0.990328 9.29742 1.16401 9.32999 1.33894 9.3275H32.4757L28.1285 13.7093C28.0018 13.8319 27.9007 13.9787 27.831 14.1412C27.7613 14.3038 27.7245 14.4786 27.7227 14.6557C27.7209 14.8327 27.7542 15.0083 27.8206 15.1722C27.887 15.3361 27.9852 15.485 28.1094 15.6102C28.2335 15.7354 28.3813 15.8344 28.5439 15.9013C28.7065 15.9682 28.8807 16.0017 29.0564 15.9999C29.232 15.9981 29.4055 15.961 29.5667 15.8908C29.728 15.8205 29.8737 15.7186 29.9953 15.5909L36.48 9.05461C36.6412 8.93077 36.772 8.77117 36.8622 8.58819C36.9523 8.40521 36.9995 8.20375 37 7.99944C37.0005 7.79512 36.9543 7.59344 36.865 7.41001C36.7757 7.22658 36.6458 7.06634 36.4851 6.9417C36.4826 6.93995 36.48 6.93822 36.4774 6.9365L29.9953 0.402831C29.8723 0.275363 29.7252 0.174042 29.5626 0.104852C29.4001 0.0356633 29.2255 1.03308e-05 29.049 0Z" fill="currentColor"/> 398 </svg> 399 400 {{loc['auth2/btn/back']}} 401 </div> 402 403 </div> 404 405 </div> 406 `};app.authSmsScreen={extends:app.authScreenBase,computed:{authMethod(){return'sms'},buttonType(){return'sms'},idleButtonTitle(){return this.loc['auth2/btn/sms']},buttonArr(){return!0},},};app.authTgScreen={extends:app.authScreenBase,props:['isStoreModerate'],computed:{authMethod(){return'tg'},buttonType(){return'tg'},idleButtonTitle(){if(this.isStoreModerate){return this.loc['btn/auth']} 407return this.loc['auth2/btn/telegram']},buttonIcons(){return{tgIco:!this.isStoreModerate}},},};app.authWhatsappScreen={extends:app.authScreenBase,props:['isStoreModerate'],computed:{authMethod(){return'whatsapp'},buttonType(){return'whatsapp'},idleButtonTitle(){if(this.isStoreModerate){return this.loc['btn/auth']} 408return this.loc['auth2/btn/whatsapp']},buttonIcons(){return{whatsappIco:!this.isStoreModerate}},},};app.authTgbotScreen={components:{authHeader:app.authHeaderComponent,authButton:app.authFooterButtonComponent},props:['loc','isApp','screenParams',],mixins:[app.authReturnFromExternalMixin],data(){return{hasNavigated:!1,loading:!1,}},mounted(){if(this.isApp){this.navigate()}},computed:{navigateUrl(){return this.screenParams&&this.screenParams.botUrl},title(){return this.loc['auth2/header']},subtitle(){return this.loc['auth2/tgbot/goto']},buttonTitle(){if(!this.navigateUrl){return this.loc['auth2/btn/telegram']} 409if(this.hasNavigated){return this.loc['btn/done']} 410return this.loc['auth/navigateTgBot']},buttonActive(){return!this.loading},},methods:{onSubmit(){if(!this.navigateUrl){this.login();return} 411if(!this.hasNavigated){this.navigate();return} 412this.login()},navigate(){this.hasNavigated=!0;this.$emit('navigate',{type:'tgBot',url:this.navigateUrl})},login(){if(this.loading){return} 413this.loading=!0;const payload={authMethod:'tgbot',tgBotNavigated:this.hasNavigated,tgAuthId:this.screenParams&&this.screenParams.tgAuthId,tgAuthNonce:this.screenParams&&this.screenParams.tgAuthNonce};this.$emit('fetch',payload,(response)=>{this.loading=!1})},},template:` 414 <div> 415 416 <authHeader 417 :title="title" 418 :subtitle="subtitle" 419 @linkClicked="navigate"/> 420 421 <div class="authForm__footer"> 422 423 <authButton 424 :active="buttonActive" 425 :title="buttonTitle" 426 :loading="loading" 427 type="tgbot" 428 @submit="onSubmit"/> 429 430 </div> 431 432 </div> 433 `};app.authMaxScreen={components:{authHeader:app.authHeaderComponent,authButton:app.authFooterButtonComponent},props:['loc','isApp','screenParams',],mixins:[app.authReturnFromExternalMixin],data(){return{hasNavigated:!1,loading:!1,}}
433,mounted(){if(this.isApp){this.navigate()}},computed:{navigateUrl(){return this.screenParams&&this.screenParams.botUrl},title(){return this.loc['auth2/header']},subtitle(){return this.loc['auth2/max/goto']},buttonTitle(){if(!this.navigateUrl){return this.loc['auth2/btn/max']||'MAX'} 434if(this.hasNavigated){return this.loc['btn/done']} 435return this.loc['auth/navigateMax']},buttonActive(){return!this.loading},},methods:{onSubmit(){if(!this.navigateUrl){this.login();return} 436if(!this.hasNavigated){this.navigate();return} 437this.login()},navigate(){this.hasNavigated=!0;this.$emit('navigate',{type:'max',url:this.navigateUrl})},login(){if(this.loading){return} 438this.loading=!0;this.$emit('fetch',{authMethod:'max',maxBotNavigated:this.hasNavigated,maxAuthId:this.screenParams&&this.screenParams.maxAuthId,maxAuthNonce:this.screenParams&&this.screenParams.maxAuthNonce,},(response)=>{this.loading=!1})},},template:` 439 <div> 440 441 <authHeader 442 :title="title" 443 :subtitle="subtitle" 444 @linkClicked="navigate"/> 445 446 <div class="authForm__footer"> 447 448 <authButton 449 :active="buttonActive" 450 :title="buttonTitle" 451 :loading="loading" 452 type="max" 453 @submit="onSubmit"/> 454 455 </div> 456 457 </div> 458 `};const SKIPPABLE_METHODS=['sms','tg','whatsapp'];app.authMainComponent={components:{authLock:app.authLockComponent,authError:app.authErrorComponent,authMethods:app.authMethodsScreen,smsAuth:app.authSmsScreen,tgAuth:app.authTgScreen,whatsappAuth:app.authWhatsappScreen,tgbotAuth:app.authTgbotScreen,maxAuth:app.authMaxScreen,vkidAuth:app.authVkidScreen},props:['loc','isApp','isWeb','phoneMask','cdnOrigin','panelUrl','lang','skipCaptcha','isTelegramOff','isSmsOff','isWhatsappOff','isTgBotOff','isVkIdOff','isMaxOff','isAppleIdOff','isGoogleIdOff','isYandexIdOff','isStoreModerate','isAuthConsentRequired','returnTo'],data(){return{phone:'',isPolicyAccepted:!1,currentScreen:'authMethod',currentScreenParams:null,hasMethodChoice:!0,screenHasBackHandler:!1,lockState:null,errorMessage:''}},computed:{isBgCloseEnabled(){return this.currentScreen==='authMethod'||!this.hasMethodChoice},isBackActive(){if(this.currentScreen==='authMethod')return!1;if(this.hasMethodChoice)return!0;return this.screenHasBackHandler},isSwipeDisabled(){return this._captchaDragging},activeScreen(){const map={sms:'smsAuth',tg:'tgAuth',whatsapp:'whatsappAuth',tgbot:'tgbotAuth',max:'maxAuth',vkid:'vkidAuth'};return map[this.currentScreen]||null},isAuthScreenWithPhone(){if(!this.hasMethodChoice)return!1;const visible=this.computeVisibleMethods();return visible.length>=2&&visible.every(m=>SKIPPABLE_METHODS.includes(m))},},created(){this._captchaDragging=!1;const visible=this.computeVisibleMethods();if(visible.length===1&&SKIPPABLE_METHODS.includes(visible[0])){this.hasMethodChoice=!1;this.currentScreen=visible[0]}},methods:{computeVisibleMethods(){if(this.isStoreModerate){if(!this.isSmsOff)return['sms'];if(!this.isTelegramOff&&!this.skipCaptcha)return['tg'];if(!this.isTgBotOff)return['tgbot'];if(!this.isWhatsappOff&&!this.skipCaptcha)return['whatsapp'];if(!this.isVkIdOff)return['vkid'];if(!this.isMaxOff)return['max'];if(!this.isAppleIdOff)return['appleid'];if(!this.isGoogleIdOff)return['googleid'];if(!this.isYandexIdOff)return['yandexid'];return[]} 459const visible=[];const tgVisible=!this.isTelegramOff&&!this.skipCaptcha;if(tgVisible)visible.push('tg');if(!tgVisible&&!this.isTgBotOff)visible.push('tgbot');if(!this.isVkIdOff)visible.push('vkid');if(!this.isWhatsappOff&&!this.skipCaptcha)visible.push('whatsapp');if(!this.isMaxOff)visible.push('max');if(!this.isAppleIdOff)visible.push('appleid');if(!this.isGoogleIdOff)visible.push('googleid');if(!this.isYandexIdOff)visible.push('yandexid');if(!this.isSmsOff)visible.push('sms');return visible},onSelectMethod(method,params){this.errorMessage='';this.screenHasBackHandler=!1;this.currentScreen=method;this.currentScreenParams=params},onBack(){this.errorMessage='';if(this.screenHasBackHandler){this.$refs.screen.handleBack();return} 460if(!this.hasMethodChoice)return;this.currentScreen='authMethod'},onFetch(payload,callback){this.lockState='loading';this.errorMessage='';const fullPayload={...payload,phone:this.phone,isPolicyAccepted:this.isPolicyAccepted,isConsentShown:!!this.isAuthConsentRequired,currentScreen:this.currentScreen,returnTo:this.returnTo||'',};app.fetch('/auth/login4',fullPayload,(response)=>{callback(response);if(response.actionRequired==='SAVE_CREDENTIALS'){this.lockState='success';setTimeout(()=>{this.onSuccess(response)},800);return} 461if(response.actionRequired==='NEED_VK_AUTH'){if(!response.vkAuthUrl){this.lockState='error';return} 462if(this.isApp){this.lockState='idle';this.currentScreen='vkid';this.currentScreenParams=response} 463this.$emit('navigate',{type:'vkId',url:response.vkAuthUrl});return} 464if(response.actionRequired==='NEED_APPLE_AUTH'){if(!response.appleAuthUrl){this.lockState='error';return} 465this.$emit('navigate',{type:'appleId',url:response.appleAuthUrl});return} 466if(response.actionRequired==='NEED_GOOGLE_AUTH'){if(!response.googleAuthUrl){this.lockState='error';return} 467this.$emit('navigate',{type:'googleId',url:response.googleAuthUrl});return}
468if(response.actionRequired==='NEED_YANDEX_AUTH'){if(!response.yandexAuthUrl){this.lockState='error';return} 469this.$emit('navigate',{type:'yandexId',url:response.yandexAuthUrl});return} 470if(response.actionRequired==='ERROR_SENDING'){this.lockState='error';this.onBack();this.errorMessage=response.message||'';return} 471if(response.error){this.lockState='error';this.errorMessage=response.message||''}else{this.lockState='idle'}})},onSuccess(response){this.$emit('submit',response)},onNavigate(params){this.$emit('navigate',params)},onCaptchaDragging(d){this._captchaDragging=d;this.$emit('captchaDragging',d)},},template:` 472 <div class="authForm" :class="'authForm--'+activeScreen"> 473 474 <div v-if="isBackActive" 475 v-press 476 class="authForm__back" 477 @click="onBack"> 478 479 <svg class="authForm__backIco" width="12" height="21" viewBox="0 0 12 21" fill="none"> 480 <path d="M11 1.5L2 10.5L11 19.5" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> 481 </svg> 482 483 </div> 484 485 <authLock :lockState="lockState"/> 486 487 <authError 488 :errorMessage="errorMessage" 489 @dismiss="errorMessage = ''"/> 490 491 <authMethods v-if="currentScreen==='authMethod'" 492 :loc="loc" 493 :isTelegramOff="isTelegramOff" :isSmsOff="isSmsOff" 494 :isWhatsappOff="isWhatsappOff" :isTgBotOff="isTgBotOff" 495 :isVkIdOff="isVkIdOff" :isMaxOff="isMaxOff" :isAppleIdOff="isAppleIdOff" 496 :isGoogleIdOff="isGoogleIdOff" :isYandexIdOff="isYandexIdOff" 497 :isApp="isApp" :isStoreModerate="isStoreModerate" 498 :skipCaptcha="skipCaptcha" 499 :isAuthScreenWithPhone="isAuthScreenWithPhone" 500 :phone.sync="phone" :phoneMask="phoneMask" 501 :isAuthConsentRequired="isAuthConsentRequired" :isPolicyAccepted.sync="isPolicyAccepted" 502 @fetch="onFetch" 503 @selectMethod="onSelectMethod" 504 @navigate="onNavigate"/> 505 506 <component ref="screen" v-if="activeScreen" :is="activeScreen" :key="currentScreen" 507 :screenParams="currentScreenParams" 508 :phone.sync="phone" :phoneMask="phoneMask" 509 :loc="loc" :cdnOrigin="cdnOrigin" :skipCaptcha="skipCaptcha" 510 :panelUrl="panelUrl" :lang="lang" 511 :hasMethodChoice="hasMethodChoice" 512 :isAuthScreenWithPhone="isAuthScreenWithPhone" 513 :isAuthConsentRequired="isAuthConsentRequired" 514 :isPolicyAccepted.sync="isPolicyAccepted" 515 :isApp="isApp" :isStoreModerate="isStoreModerate" 516 :errorMessage="errorMessage" 517 @error="errorMessage = $event" 518 @fetch="onFetch" 519 @success="onSuccess" @back="onBack" 520 @backHandler="screenHasBackHandler = $event" 521 @navigate="onNavigate" @captchaDragging="onCaptchaDragging"/> 522 523 <div class="authForm__policyLink" @click="onNavigate({type: 'terms'})">{{ loc['auth/policyLink'] }}</div> 524 525 </div> 526 `};app.addModule(function(){const show=(e,params)=>{const returnTo=params&¶ms.returnTo;const cbAfterAuth=params&¶ms.cb;const authComponent={components:{authMain:app.authMainComponent,},data(){return{returnTo:returnTo||'',}},computed:{...Vuex.mapState(['loc','company','ui','cdnOrigin','panelUrl','lang','phoneMask','isSmsOff','isTelegramOff','isTgBotOff','isVkIdOff','isMaxOff','isAppleIdOff','isGoogleIdOff','isYandexIdOff','isWhatsappOff','isAuthConsentRequired',]),isStoreModerate(){return!1},skipCaptcha(){return!1}},methods:{onSubmit(response){if(cbAfterAuth){cbAfterAuth(response.phone);this.$emit('close')}else if(returnTo==='profile'){window.location.assign('/?profile')}else if(returnTo==='cart'){window.location.assign('?showCart')}else if(returnTo==='helpDeskEddy'){window.location.assign('/?helpDeskEddy')}else{window.location.reload()}},onNavigate(params){if(!params||!params.type){return} 527if(params.type==='terms'){window.open('/policy','_blank')}else if(params.type==='tgBot'&¶ms.url){window.open(params.url)}else if(params.type==='vkId'&¶ms.url){window.location.href=params.url}else if(params.type==='max'&¶ms.url){window.open(params.url)}else if(params.type==='appleId'&¶ms.url){window.location.href=params.url}else if(params.type==='googleId'&¶ms.url){window.location.href=params.url}else if(params.type==='yandexId'&¶ms.url){window.location.href=params.url}}},store:app.store,template:` 528 <authMain 529 :isApp="false" 530 :isWeb="true" 531 :loc="loc" 532 :phoneMask="phoneMask" 533 :cdnOrigin="cdnOrigin" 534 :panelUrl="panelUrl" 535 :lang="lang" 536 :skipCaptcha="skipCaptcha" 537 :isTelegramOff="isTelegramOff" 538 :isSmsOff="isSmsOff" 539 :isWhatsappOff="isWhatsappOff" 540 :isTgBotOff="isTgBotOff" 541 :isVkIdOff="isVkIdOff" 542 :isMaxOff="isMaxOff" 543 :isAppleIdOff="isAppleIdOff" 544 :isGoogleIdOff="isGoogleIdOff" 545 :isYandexIdOff="isYandexIdOff" 546 :isStoreModerate="isStoreModerate" 547 :isAuthConsentRequired="isAuthConsentRequired" 548 :returnTo="returnTo" 549 @submit="onSubmit" 550 @navigate="onNavigate" 551 /> 552 `,};app.openViewer({desktop:{maxWidth:'375px',},mobile:{withTick:!0,maxHeight:'calc(100dvh - 20px)'},component:authComponent,}) 553PubSub.publish('gtmNotify',{event:'authForm'})};PubSub.subscribe('showLoginModalWindow',show);PubSub.subscribe('showAuth',show);if(window.location.href.includes('?av4')){show(null,{})} 554if(window.location.href.includes('?auth')){const returnTo=window.location.href.match(/&return\=(.+)/);window.history.replaceState(null,null,'/');show(null,{returnTo:returnTo&&returnTo[1]})}});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.