1"use strict";(globalThis.webpackChunk_sv_portlet=globalThis.webpackChunk_sv_portlet||[]).push([[1783],{3817(e,t,n){function i(e){let t,n;const i=new Promise((e,i)=>{t=e,n=i});return e&&e(t,n),{promise:i,resolve:t,reject:n}}function r(e,t){return 0===e.lastIndexOf(t,0)}n.d(t,{FriendlyCaptchaSDK:()=>ue});var o=/^((?:\w+:)?\/\/([^\/]+))/;function s(e){let t=[];const n=Object.keys(e),i=encodeURIComponent;for(let r=0;r<n.length;r++)t.push(`${i(n[r])}=${i(e[n[r]])}`);return t.join("&")}function a(e){const t=document.location;if(r(e,"/")||r(e,"."))return t.origin?t.origin:t.protocol+"//"+t.host;const n=e.match(o);if(!n)throw new Error("Invalid URL: "+e);return n[1]}var c=class{constructor(e){this.ready=!1,this.buffer=[],this.id=e.id,this.type=e.type,this.element=e.element,this.onReady=e.onReady,this.origin=a(e.element.src)}send(e){this.ready?this.element.contentWindow.postMessage(e,this.origin):this.buffer.push(e)}setReady(e){this.onReady(),this.ready=e,this.ready&&this.flush()}flush(){for(let e=0;e<this.buffer.length;e++)this.element.contentWindow.postMessage(this.buffer[e],this.origin);this.buffer=[]}};var l=class{constructor(){this.origins=new Set,this.targets={},this.answered=new Set,this.onReceiveRootMessage=()=>{},window.addEventListener("message",e=>{this.onReceive(e)})}listen(e){let t=this.onReceiveRootMessage;this.onReceiveRootMessage=n=>{t(n),e(n)}}addOrigins(e){e.forEach(e=>this.origins.add(e))}send(e){if(e.from_id){const t=this.targets[e.from_id];if(!t)return void console.error(`[bus] Unexpected message from unknown sender ${e.from_id}`,e);"widget_announce"!==e.type&&"agent_announce"!==e.type||t.setReady(!0)}const t=e.rid;if(t){if(this.answered.has(t+e.to_id))return;this.answered.add(t+e.to_id)}if(""===e.to_id)return void this.onReceiveRootMessage(e);const n=this.targets[e.to_id];n?n.send(e):console.error(`[bus] Unexpected message to unknown target ${e.to_id}`,e)}onReceive(e){if(t=e.origin,n=this.origins,"*"!==t&&!n.has(t))return;var t,n;const i=e.data;i&&i._frc&&this.send(i)}registerTarget(e){this.targets[e.id]=e}registerTargetIFrame(e,t,n,r){const o=i();let s=new Promise(e=>setTimeout(()=>e("timeout"),r));const a=new c({id:t,element:n,type:e,onReady:()=>o.resolve("registered")});return this.registerTarget(a),Promise.race([o.promise,s])}removeTarget(e){delete this.targets[e]}};function d(e,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"){let n="";for(let i=0;i<e;i++)n+=t.charAt(Math.floor(Math.random()*t.length));return n}var h="frc_sc",g="frc_sid",u="0",m="__"+d(10);function f(e){{let t=0;try{t=parseInt(sessionStorage.getItem(h)||"",10)}catch(e){}isNaN(t)&&(t=0),e&&t++,u=t.toString();try{sessionStorage.setItem(h,u)}catch(e){}}return u}function p(){let e;try{e=sessionStorage.getItem(g)}catch(e){return m}return e||(e=d(12),sessionStorage.setItem(g,e)),e}var y=class{constructor(e){this.mem=new Map,this.storePrefix=e}get(e){const t=this.storePrefix+"__"+e;try{const e=sessionStorage.getItem(t);return null===e?void 0:e}catch(e){}return this.mem.get(e)}set(e,t){const n=this.storePrefix+"__"+e;try{void 0===t?(this.mem.delete(e),sessionStorage.removeItem(n)):(this.mem.set(e,t),sessionStorage.setItem(n,t))}catch(e){}}},v="undefined"!=typeof navigator&&void 0!==navigator.userAgentData;function b(e){let t=e;for(;t;){if("FORM"===t.tagName)return t;if(t.parentElement){t=t.parentElement;continue}const e=t.parentNode;e&&e.host?t=e.host:t=null}return null}function w(e,t){e.addEventListener("focusin",t,{once:!0,passive:!0})}function k(e,t){const n=document.createElement("input");return n.type="hidden",n.style.display="none",n.name=t,e.appendChild(n),n}function E(e,t,n){""===e.style[t]&&(e.style[t]=n)}function _(e){"loading"!==document.readyState?e():document.addEventListener("DOMContentLoaded",e)}function R(e,t){let n;"function"==typeof window.CustomEvent?n=new CustomEvent(t.name,{bubbles:!0,detail:t}):(n=document.createEvent("CustomEvent"),n.initCustomEvent(t.name,!0,!1,t)),e.dispatchEvent(n)}var S={ar:{title:"Ø§ÙØªØÙÙ Ù
Ù Ù
ÙØ§ÙØØ© Ø§ÙØ±ÙØ¨ÙØªØ§Øª",connecting:"Ø§ÙØªØÙÙ Ù
Ù Ù
ÙØ§ÙØØ© Ø§ÙØ±ÙØ¨ÙØªØ§Øª ÙÙØ¯ Ø§ÙØ§ØªØµØ§Ùâ¦",retrying:"Ø§Ø³ØªØºØ±Ù Ø§ÙØ§ØªØµØ§Ù Ø¨Ø§ÙØªØÙÙ Ù
Ù Ù
ÙØ§ÙØØ© Ø§ÙØ±ÙØ¨ÙØªØ§Øª ÙÙØªÙا Ø·ÙÙÙØ§Ù.\n\nإعادة اÙÙ
ØØ§ÙÙØ©â¦",failed:"ÙØ´Ù Ø§ÙØ§ØªØµØ§Ù Ø¨Ø§ÙØªØÙÙ Ù
Ù Ù
ÙØ§ÙØØ© Ø§ÙØ±ÙØ¨ÙØªØ§Øª."},bg:{title:"ÐÑовеÑка ÑÑеÑÑ ÑобоÑи",connecting:"ÐаÑежда Ñе задаÑаÑаâ¦",retrying:"ÐеÑÑпеÑно ÑвÑÑзване.\n\nÐÐ¿Ð¸Ñ Ð·Ð° повÑоÑно ÑвÑÑзванеâ¦",failed:"ÐеÑÑпеÑно ÑвÑÑзване."},ca:{title:"Verificació anti-robot",connecting:"Carregant el desafiamentâ¦",retrying:"Errada de conexió.\n\nReintentantâ¦",failed:"Errada de conexió."},cs:{title:"OvÄÅenà proti robotům",connecting:"PÅipojovánà kontroly proti robotůmâ¦",retrying:"PÅipojenà kontroly proti robotům trvalo pÅÃliÅ¡ dlouho.\n\nOpakuji pokusâ¦",failed:"Kontrola proti robotům se nepodaÅilo pÅipojit."},da:{title:"Anti-robot-verifikation",connecting:"Anti-robot-kontrol forbinderâ¦",retrying:"Anti-robot-kontrol tog for lang tid at oprette forbindelse.\n\nPrøver igenâ¦",failed:"Anti-robot-kontrol kunne ikke oprette forbindelse."},nl:{title:"Anti-robotcheck",connecting:"Verbinden met Anti-robotcheckâ¦",retrying:"Verbinden met Anti-robotcheck mislukt.\n\nOpnieuw aan het proberenâ¦",failed:"Verbinden met Anti-robotcheck mislukt."},en:{title:"Anti-Robot verification",connecting:"Anti-Robot check connectingâ¦",retrying:"Anti-Robot check took too long to connect.\n\nRetryingâ¦",failed:"Anti-Robot check failed to connect."},fi:{title:"Robottien torjunnan vahvistus",connecting:"Robottien torjunnan tarkistus käynnissäâ¦",retrying:"Robottien torjunnan tarkistus kesti liian kauan.\n\nYritetään uudelleenâ¦",failed:"Robottien torjunnan tarkistus epäonnistui."},fr:{title:"Vérification anti-robot",connecting:"Connexion à la vérification anti-robotâ¦",retrying:"La connexion à la vérification anti-robot a pris trop de temps.\n\nNouvelle tentativeâ¦",failed:"Ãchec de la connexion à la vérification anti-robot."},de:{title:"Anti-Roboter-Verifizierung",connecting:"Verbindung zur Anti-Roboter-Verifizierung wird hergestelltâ¦",retrying:"Verbindung zur Anti-Roboter-Verifizierung hat zu lange gedauert.\n\nErneuter Versuchâ¦",failed:"Verbindung zur Anti-Roboter-Verifizierung ist fehlgeschlagen."},hi:{title:"à¤à¤à¤à¥-रà¥à¤¬à¥à¤ सतà¥à¤¯à¤¾à¤ªà¤¨",connecting:"à¤à¥à¤¨à¥à¤¤à¥ लà¥à¤¡ हॠरहॠहà¥â¦",retrying:"à¤à¤¨à¥à¤à¥à¤¶à¤¨ विफल.\n\nपà¥à¤¨à¤ पà¥à¤°à¤¯à¤¾à¤¸ à¤à¤° रहॠहà¥à¤â¦",failed:"à¤à¤¨à¥à¤à¥à¤¶à¤¨ विफल."},hu:{title:"RobotellenÅrzés",connecting:"RobotellenÅrzés csatlakozásâ¦",retrying:"A robotellenÅrzés túl sokáig tartott a csatlakozáshoz.\n\nÃjrapróbálomâ¦",failed:"A robotellenÅrzés nem tudott csatlakozni."},id:{title:"Verifikasi Anti-Robot",connecting:"Pemeriksaan Anti-Robot sedang terhubungâ¦",retrying:"Pemeriksaan Anti-Robot memakan waktu terlalu lama untuk terhubung.\n\nMencoba lagiâ¦",failed:"Pemeriksaan Anti-Robot gagal terhubung."},ja:{title:"ãããã鲿¢èªè¨¼",connecting:"ãã£ã¬ã³ã¸ãèªã¿è¾¼ãã§ãã¾ãâ¦",retrying:"æ¥ç¶å¤±æ.\n\nå試è¡ä¸â¦",failed:"æ¥ç¶å¤±æ."},it:{title:"Verifica anti-robot",connecting:"Connessione verifica anti-robot in corsoâ¦",retrying:"La connessione alla verifica anti-robot ha richiesto troppo tempo.\n\nRiprovandoâ¦",failed:"Impossibile connettersi alla verifica anti-robot."},nb:{title:"Anti-robot-verifisering",connecting:"Laster inn utfordringâ¦",retrying:"Klarte ikke Ã¥ koble til.\n\nPrøver igjenâ¦",failed:"Klarte ikke Ã¥ koble til."},pl:{title:"Weryfikacja antyrobotowa",connecting:"ÅÄ
czenie siÄ z kontrolÄ
antyrobotowÄ
â¦",retrying:"ÅÄ
czenie siÄ z kontrolÄ
antyrobotowÄ
trwaÅo zbyt dÅugo. \n\nPonowna próbaâ¦",failed:"Nie udaÅo siÄ poÅÄ
czyÄ z kontrolÄ
antyrobotowÄ
."},ro:{title:"Verificare anti-robot",connecting:"Se incarca testulâ¦",retrying:"Conexiunea a esuat.\n\nReincercareâ¦",failed:"Conexiunea a esuat."},pt:{title:"Verificação anti-robô",connecting:"Verificação anti-robô a ligarâ¦",retrying:"A verificação anti-robô demorou demasiado tempo a ligar-se.\n\nA tentar novamenteâ¦",failed:"A verificação anti-robô não conseguiu ligar-se."},ru:{title:"ÐÑовеÑка анÑиÑобоÑа",connecting:"ÐодклÑÑение к пÑовеÑке анÑиÑобоÑаâ¦",retrying:"ÐодклÑÑение к пÑовеÑке анÑиÑобоÑа занÑло ÑлиÑком много вÑемени.\n\nÐовÑоÑÑем попÑÑкÑâ¦",failed:"Ðе ÑдалоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº пÑовеÑке анÑиÑобоÑа."},sk:{title:"Overovanie proti robotom",connecting:"Pripojenie kontroly proti robotomâ¦",retrying:"Pripojenie kontroly proti robotom trvalo prÃliÅ¡ dlho.\n\nOpakujem pokusâ¦",failed:"Pripojenie kontroly proti robotom sa nepod
1arilo."},sl:{title:"Preverjanje proti robotom",connecting:"Nalaganje izzivaâ¦",retrying:"Povezava ni uspela.\n\nPonovni poskusâ¦",failed:"Povezava ni uspela."},es:{title:"Verificación antirrobot",connecting:"Conectando verificación antirrobotâ¦",retrying:"La verificación antirrobot tardó demasiado en conectarse.\n\nReintentandoâ¦",failed:"Error al conectar la verificación antirrobot."},sv:{title:"Anti-robotverifiering",connecting:"Anti-robotverifiering ansluterâ¦",retrying:"Anti-robotverifiering tog för lÃ¥ng tid att ansluta.\n\nFörsöker igenâ¦",failed:"Anti-robotverifiering kunde inte ansluta."},th:{title:"à¸à¸²à¸£à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¹à¸à¸à¸à¸±à¸à¸à¸à¸",connecting:"à¸à¸³à¸¥à¸±à¸à¹à¸«à¸¥à¸à¸à¸²à¸£à¸à¹à¸²à¸à¸²à¸¢â¦",retrying:"à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸¡à¹à¸ªà¸³à¹à¸£à¹à¸.\n\nà¸à¸³à¸¥à¸±à¸à¸¥à¸à¸à¹à¸«à¸¡à¹â¦",failed:"à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¹à¸¡à¹à¸ªà¸³à¹à¸£à¹à¸."},tr:{title:"Robot önleme doÄrulaması",connecting:"Robot önleme kontrolü baÄlanıyorâ¦",retrying:"Robot önleme kontrolü baÄlanmak için çok uzun sürdü.\n\nYeniden deniyorâ¦",failed:"Robot önleme kontrolü baÄlanamadı."},vi:{title:"Xác minh chá»ng robot",connecting:"Kiá»m tra robot Äang kết ná»iâ¦",retrying:"Kiá»m tra chá»ng robot mất quá nhiá»u thá»i gian Äá» kết ná»i.\n\nÄang thá» lạiâ¦",failed:"Kiá»m tra chá»ng robot không thá» kết ná»i."},zh:{title:"åæºå¨äººéªè¯",connecting:"åæºå¨äººéªè¯æ£å¨è¿æ¥â¦",retrying:"åæºå¨äººéªè¯è¿æ¥èæ¶è¿é¿ã\n\næ£å¨éè¯â¦",failed:"åæºå¨äººéªè¯è¿æ¥å¤±è´¥ã"}},x=["ar","he","fa","ur","ps","sd","yi"];function A(e){return e.toLowerCase().split("-")[0].split("_")[0]}function M(e){return e=A(e),-1!==x.indexOf(e)}function I(e){e=A(e);return(S[e]||S.en).title+" - Widget"}function C(e,t){e=A(e);return(S[e]||S.en)[t]}var F="FrcFrameId",P="frc-i-agent";function D(e){e.textDecoration=e.fontStyle="none",e.fontWeight="500",e.fontFamily='-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',e.lineHeight="1",e.letterSpacing="-0.0125rem"}function O(e){let t=e.language;return t&&"html"!==t||(t=function(e){for(;!e.lang||"string"!=typeof e.lang;)if(!(e=e.parentElement))return null;return e.lang}(e.element)||""),t}function T(){const e=window.performance;return e?e.now():0}function z(e,...t){for(let i=0;i<t.length;i++){const r=t[i];for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}return e}var N=class{constructor(e){this.state="init",this.response=".UNINITIALIZED",this.focusEventPending=!1,this.isDestroyed=!1,this.id=e.id;const t=e.createOpts;if(this.e=t.element,this.ready=e.registered,!this.e)throw new Error("No element provided to mount widget under.");this.e.frcWidget=this,this.formFieldName=void 0===t.formFieldName?"frc-captcha-response":t.formFieldName,this.sitekey=t.sitekey,this._reset=e.callbacks.onReset,this._destroy=e.callbacks.onDestroy,this._trigger=e.callbacks.onTrigger,this.startMode=e.createOpts.startMode||"focus",null!==this.formFieldName&&(this.hiddenFormEl=k(this.e,this.formFieldName)),this.setState({response:".UNCONNECTED",state:"init"}),this.ready.then(()=>{this.handleStartMode()})}handleStartMode(){if("focus"!==this.startMode||this.focusEventPending||this.isDestroyed)"auto"===this.startMode&&this.trigger("auto");else{const e=b(this.e);e&&(this.focusEventPending=!0,w(e,e=>{this.trigger("focus",{ev:e}),this.focusEventPending=!1}))}}reset(e={trigger:"root"}){if(this.isDestroyed)throw new Error("Can not reset destroyed widget.");this.setState({response:".RESET",state:"reset",resetTrigger:e.trigger}),this._reset(e),this.handleStartMode()}destroy(){this.isDestroyed=!0,this.hiddenFormEl&&this.hiddenFormEl.remove(),this.hiddenFormEl=void 0,this.setState({response:".DESTROYED",state:"destroyed"}),this._destroy()}trigger(e,t={}){if(this.isDestroyed)throw new Error("Can not start destroyed widget.");const n=function(e,t,n,i){const r=T(),o=n.getBoundingClientRect(),s={v:1,tt:e,pnow:r,sm:t,el:{bcr:[o.left,o.top,o.width,o.height],con:document.body.contains(n)},stack:(new Error).stack||"",we:!!window.event,weit:!!window.event&&!!window.event.isTrusted};return i&&(s.ev={ts:i.timeStamp,rt:!!i.relatedTarget,eot:!!i.explicitOriginalTarget,it:i.isTrusted}),s}(e,this.startMode,this.e,t.ev);this._trigger({trigger:n})}start(){this.trigger("programmatic")}setState(e){const t=this.state!==e.state;this.response=e.response,this.state=e.state,this.hiddenFormEl&&!1!==this.e.isConnected&&(this.hiddenFormEl.value=e.response),t&&this.dispatchWidgetEvent({name:"frc:widget.statechange",error:e.error,mode:e.mode}),"expired"===this.state?this.dispatchWidgetEvent({name:"frc:widget.expire"}):"completed"===this.state?this.dispatchWidgetEvent({name:"frc:widget.complete"}):"error"===this.state?this.dispatchWidgetEvent({name:"frc:widget.error",error:e.error}):"reset"===this.state&&this.dispatchWidgetEvent({name:"frc:widget.reset",trigger:e.resetTrigger})}dispatchWidgetEvent(e){const t={response:this.response,state:this.state,id:this.id};z(t,e),R(this.e,t)}addEventListener(e,t,n){this.e.addEventListener(e,t,n)}removeEventListener(e,t,n){this.e.removeEventListener(e,t,n)}getState(){return this.state}getResponse(){return this.response}getElement(){return this.e}};function j(){const e=[0,0,0,0,0,0,0];return{s:e,add(t){const n=++e[0],i=t-e[1],r=i/n,o=r*r,s=i*r*(n-1);e[1]+=r,e[4]+=s*o*(n*n-3*n+3)+6*o*e[2]-4*r*e[3],e[3]+=s*r*(n-2)-3*r*e[2],e[2]+=s,1==n?e[5]=e[6]=t:(t<e[5]&&(e[5]=t),t>e[6]&&(e[6]=t))}}}var L,W="addEventListener",V=Math;function X(){return/Android/i.test(navigator.userAgent)}function Y(e,t,n=!1,i){const r=j();let o,s=!1;return _(()=>{(i=i||document.body)[W](e,e=>{s&&!n||(o=e.timeStamp,s=!0)}),i[W](t,e=>{s&&(r.add(e.timeStamp-o),s=!1)})}),r.s}function q(e){const t=[];for(let n=0;n<e.length;n++)t.push(0),document[W](e[n],e=>t[n]++);return t}function H(){const e=[0,0,0,0,0,0,0,0],t={8:1,46:1,9:2,45:3,17:4,13:5,37:6,38:6,39:6,40:6,33:7,34:7};return document[W]("keydown",n=>{const i=n.keyCode;t[i]?e[t[i]]++:i>=112&&i<=123&&e[0]++}),e}function $(e,t,n,i){return V.sqrt(V.pow(e-t,2)+V.pow(n-i,2))}function K(e,t,n){return V.sqrt(V.pow(e,2)+V.pow(t,2)+V.pow(n,2))}function U(e,t){let n=t-e;return n+=n>180?-360:n<-180?360:0,n}var B=class{constructor(e){this.rn=0,this.i=0,this.smel={n:0,ts:0,d:0};const t="mouse",n=this.smel,i=e=>{n.n||(n.fts=e.timeStamp,n.fxy=[e.clientX,e.clientY,e.screenX,e.screenY]),n.n++,e.type===t+"leave"&&(n.d+=e.timeStamp-n.ts),n.ts=e.timeStamp,n.xy=[e.clientX,e.clientY]},r=document;_(()=>{const e=r.body;e[W](t+"enter",i),e[W](t+"leave",i)}
1),this.bh={onoff:{kdu:Y("keydown","keyup"),cse:Y("compositionstart","compositionend"),mdu:Y(t+"down",t+"up"),mle:Y(t+"leave",t+"enter"),med:Y(t+"enter",t+"down",!0),semd:Y("scrollend",t+"down",!0,r),se:Y("scroll","scrollend",!1,r),pdc:Y("pointerdown","pointercancel",!0),mmc:Y(t+"move","click",!0),tse:Y("touchstart","touchend"),fikd:Y("focusin","keydown",!0)},nev:q([t+"out","pointercancel","focus","focusin","blur","visibilitychange","copy","paste","cut","contextmenu","click","auxclick","wheel","resize"]),nk:H(),mov:this.setupMovementMetrics(),dm:this.setupMotionMetrics(),do:this.setupOrientationMetrics()},this.dep=e.disableEvalPatching||!1,this.takeTraceRecords=function(e){const t=[],n=new Map,i=window,r=function(){try{const e=document.createElement("iframe");e.style.display="none",(document.body||document.head).appendChild(e);const t=e?e.contentWindow:0;return e.remove(),t||i}catch(e){return i}}(),o=Function.prototype.toString,s=function(...e){const t="function"==typeof this&&n.get(this),i=this===s?o:t||this;return o.apply(i,e)};Function.prototype.toString=s;const a="prototype",c=i.EventTarget?i.EventTarget[a].dispatchEvent:{},l=[["Document."+a+".documentElement",i.Document[a],"documentElement"],["Element."+a+".shadowRoot",i.Element[a],"shadowRoot"],["Node."+a+".nodeType",i.Node[a],"nodeType"],["Object.is",i.Object,"is"],["Array."+a+".slice",i.Array[a],"slice"],["Document."+a+".querySelectorAll",i.Document[a],"querySelectorAll"],["Document."+a+".createElement",i.Document[a],"createElement"],["EventTarget."+a+".dispatchEvent",c,"dispatchEvent"]];return e.disableEvalPatching||l.push(["eval",i,"eval"]),l.forEach(function([e,o,s]){const a=Object.getOwnPropertyDescriptor(o,s),c=a&&(a.get||a.set);if(!a)return;if(c){if(!a.get)return}else if("object"!=typeof a.value&&"function"!=typeof a.value)return;let l=0,d=0;const h=function(...n){const o=Date.now();if(o-l>=1e3&&(d=0,l=o),d<50){const n={d:o,pnow:T(),n:e,st:(r.Error||i.Error)("FriendlyCaptcha_DummyTrace").stack||""};t.length>2e4&&t.splice(0,1e3),t.push(n),d++}return(c?a.get:a.value).apply(this,n)};try{const e=c?a.get?a.get():void 0:a.value();e&&(h.length=e.length,h.name=e.name)}catch(e){}try{const e=z({},a);c?e.get=h:e.value=h,Object.defineProperty(o,s,e),n.set(h,c?a.get:a.value)}catch(e){}}),function(){return t.splice(0,t.length)}}(e)}setupMovementMetrics(){let e,t=[];const n=j(),i=j(),r=j(),o={t:n.s,v:r.s,d:i.s,ns:0},s=()=>{const s=t[t.length-1];if(t.length>=200||s&&(s[0]&&this.tm.timeStamp===s[1]||!s[0]&&this.mm.timeStamp===s[1])){if(clearInterval(e),e=void 0,1===t.length)return o.ns++,void(t=[]);const a=t[0];n.add(s[1]-a[1]),i.add($(s[2],a[2],s[3],a[3]));for(let e=1;e<t.length;e++){const n=t[e],i=t[e-1],o=1e3*$(n[2],i[2],n[3],i[3]),s=n[1]-i[1];r.add(o/s)}return void(t=[])}let a=0;if(s?a=s[0]:this.mm&&this.tm?a=this.mm.timeStamp>this.tm.timeStamp?0:1:this.mm||(a=1),a){const e=this.tm.touches[0];e&&t.push([1,this.tm.timeStamp,e.screenX,e.screenY])}else t.push([0,this.mm.timeStamp,this.mm.screenX,this.mm.screenY])};let a=-1;return _(()=>{const t=document.body;t[W]("mousemove",t=>{this.mm=t,void 0===e&&(s(),e=setInterval(s,50))}),t[W]("touchmove",t=>{this.tm=t;const n=t.touches[0];if(n){const e=n.radiusX+1.234*n.radiusY;e!==a&&(a=e,this.rn++)}void 0===e&&(s(),e=setInterval(s,50))})}),o}setupMotionMetrics(){const e=j(),t=j(),n={n:0,ts:0,ac:e.s,rr:t.s,i:0,g:!1};return X()?(window[W]("devicemotion",i=>{n.ts=i.timeStamp,n.i=i.interval,n.g=!i.acceleration;const r=i.acceleration||i.accelerationIncludingGravity;r&&e.add(K(r.x,r.y,r.z));const o=i.rotationRate;o&&t.add(K(o.alpha,o.beta,o.gamma))}),n):n}setupOrientationMetrics(){const e=j(),t=j(),n={fts:0,ts:0,gd:e.s,bd:t.s};if(!X())return n;let i;return window[W]("deviceorientation",r=>{null!=r.gamma&&null!=r.beta&&null!=r.alpha&&(n.ts=r.timeStamp,n.a=r.alpha,n.b=r.beta,n.g=r.gamma,i?(e.add(U(r.gamma,n.g)),t.add(U(n.b,r.beta))):(n.fts=n.ts,i=!0))}),n}gmm(){const e=this.mm;return e&&{xy:[e.clientX,e.clientY,e.screenX,e.screenY,e.offsetX,e.offsetY,e.pageX,e.pageY,e.movementX,e.movementY],ts:e.timeStamp}}gtm(){const e=this.tm,t=e&&e.touches,n=t&&t[0];return e&&n&&{id:n.identifier,xy:[n.clientX,n.clientY,n.screenX,n.screenY,n.pageX,n.pageY],r:[n.radiusX,n.radiusX,n.rotationAngle,n.force],n:t.length,ts:e.timeStamp,rn:this.rn}}get(e){const t=document.body,n=window,i=n.performance;return{v:1,i:++this.i,hl:history.length,fe:!!window.frameElement,dep:this.dep,wid:e,sc:parseInt(f(!1)),sid:p(),conv:0,t:{pnow:T(),pto:i&&i.timeOrigin||0,ts:Date.now()},dims:{d:[n.innerWidth,n.innerHeight,n.outerWidth,n.outerHeight,n.screenX,n.screenY,n.pageXOffset,n.pageYOffset,t.clientWidth,t.clientHeight],dpr:n.devicePixelRatio},mel:this.smel,mm:this.gmm(),tm:this.gtm(),bh:this.bh,stack:(new Error).stack||"",trc:this.takeTraceRecords()}}};var G=e=>e.map(e=>`https://${e}.frcapi.com`).join(","),Z={eu:G(["eu","eu0","eu1"]),global:G(["global","global0","global1"])},J=e=>e.split(",").map(e=>e.trim()).filter(e=>!!e);function Q(e){const t=J(e||Z.global).reduce((e,t)=>
1{return e.concat(J(Z[n=t]||n));var n},[]).map(a);return t.length>0?t:J(Z.global).map(a)}function ee(){const e=document.querySelector('meta[name="frc-disable-eval-patching"]');return!!e&&!!e.content}function te(){const e=document.querySelector('meta[name="frc-api-endpoint"]');if(e)return e.content;const t=document.currentScript;if(t){const e=t.dataset.frcApiEndpoint;if(e)return e}const n=document.querySelector(".frc-captcha[data-api-endpoint]");if(n){const e=n.dataset.apiEndpoint;if(e)return e}}function ne(){const e=window.Intl;if(!e||!e.DateTimeFormat)return;const t=new e.DateTimeFormat;return t&&t.resolvedOptions?t.resolvedOptions().timeZone:void 0}var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function re(e){return window.TextEncoder?function(e){const t=e.length;let n="";for(let i=0;i<t;i+=3){const t=e[i+0],r=e[i+1],o=e[i+2];let s="";s+=ie.charAt(t>>>2),s+=ie.charAt((3&t)<<4|r>>>4),s+=ie.charAt((15&r)<<2|o>>>6),s+=ie.charAt(63&o),n+=s}t%3==2?n=n.substring(0,n.length-1)+"=":t%3==1&&(n=n.substring(0,n.length-2)+"==");return n}((new TextEncoder).encode(e)):""}var oe=class{constructor(e){if(this.timeout=null,this.data=null,this.e=e.element,!this.e)throw new Error("No element provided for mounting Risk Intelligence handle.");this.e.frcRiskIntelligence=this,this.formFieldName=void 0===e.formFieldName?"frc-risk-intelligence-token":e.formFieldName,null!==this.formFieldName&&(this.hiddenFormEl=k(this.e,this.formFieldName)),this.startMode=e.startMode||"focus",this.requestRiskIntelligence=e.riskIntelligence,this.handleStartMode()}handleStartMode(){if("none"===this.startMode)console.warn('Risk Intelligence <div> found with data-start="none" (no-op), skipping...',this.e);else if("auto"===this.startMode)this.request();else{const e=b(this.e);e?w(e,()=>{this.request()}):console.warn('Risk Intelligence <div> with startMode of "focus" found without a parent <form> element, skipping...',this.e)}}request(){this.requestRiskIntelligence().then(e=>{null!==this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{R(this.e,{name:"frc:riskintelligence.expire"})},e.expiresAt-Date.now()),this.data={token:e.token,expiresAt:e.expiresAt},this.hiddenFormEl&&(this.hiddenFormEl.value=e.token),R(this.e,{name:"frc:riskintelligence.complete",token:e.token,expiresAt:e.expiresAt})}).catch(e=>{R(this.e,{name:"frc:riskintelligence.error",error:{code:e.code,detail:e.detail}})})}getData(){return this.data}getElement(){return this.e}addEventListener(e,t,n){this.e.addEventListener(e,t,n)}removeEventListener(e,t,n){this.e.removeEventListener(e,t,n)}};function se(e){return 0===e.length?[]:[e[0]].concat(function(e){const t=e.slice();for(let e=t.length-1;e>0;e--){const n=Math.floor(Math.random()*(e+1)),i=t[e];t[e]=t[n],t[n]=i}return t}(e.slice(1)))}function ae(e,t){const n=t.length;if(0===n)return-1;if(e<=2||1===n)return 0;const i=n-1,r=e-2;return r<=i?r:1+Math.floor(Math.random()*i)}function ce(e,t,n){const i=a(e),o=a(t);let s=r(e,i)?e.slice(i.length):e;0===s.length?s="/":r(s,"/")||(s="/"+s);const c=-1===s.indexOf("?")?"?":"&";return o+s+c+"retry="+n}var le,de="FrcFrameId",he="FrcAgentOriginKey",ge=0,ue=class{constructor(e={}){if(this.agents=new Map,this.agentState=new Map,this.widgets=new Map,this._attached=i(),this.attached=this._attached.promise,this.riskIntelligencePromises=new Map,this.clearRiskIntelligencePromises=new Map,this.riskIntelligenceHandles=[],this.apiEndpoint=e.apiEndpoint,(le=le||new l).listen(e=>this.onReceiveMessage(e)),this.bus=le,++ge>1&&console.warn("Multiple Friendly Captcha SDKs created, this is not recommended. Please use a single SDK instance."),this.signals=function(e){return L||(L=new B(e))}({disableEvalPatching:e.disableEvalPatching||ee()}),e.startAgent){const e=Q(this.apiEndpoint||te()),t=this.getRetryOrigins(e);this.ensureAgentIFrame(t)}this.setupPeriodicRefresh()}getRetryOrigins(e){return se(e)}onReceiveMessage(e){if("root_set_response"===e.type){const t=this.widgets.get(e.widget_id);if(!t)return void(1===ge&&console.warn(`Received set response message for widget ${e.widget_id} that doesn't exist`));t.setState(e)}else if(r(e.type,"root_store"))this.handleStoreMessage(e);else if("root_signals_get"===e.type)this.handleSignalsGetMessage(e);
vendor: 1,293 bytes, line 1
1else if("widget_language_change"===e.type)this.handleWidgetLanguageChange(e);else if("widget_reset"===e.type){const t=this.widgets.get(e.from_id);if(!t)return void(1===ge&&console.warn(`Received reset message for widget ${e.from_id} that doesn't exist`));t.reset({trigger:"widget"})}else r(e.type,"root_risk_intelligence")&&this.handleRiskIntelligenceMessage(e)}handleRiskIntelligenceMessage(e){if("root_risk_intelligence_generate_reply"===e.type){const t=this.riskIntelligencePromises.get(e.uid);t?(e.data?t.resolve(e.data):e.error?t.reject(e.error):console.warn("Received risk intelligence generate reply message with no data"),this.riskIntelligencePromises.delete(e.uid)):console.warn("Received risk intelligence generate reply message with no promise to resolve")}else if("root_risk_intelligence_clear_reply"===e.type){const t=this.clearRiskIntelligencePromises.get(e.uid);t?e.error?t.reject(e.error):t.resolve():console.warn("Received risk intelligence clear reply message with no promise to resolve"),this.clearRiskIntelligencePromises.delete(e.uid)}}handleWidgetLanguageChange(e){const t=this.widgets.get(e.from_id);if(!t)return void(1===ge&&console.warn(`Received language change message for widget ${e.from_id} that doesn't exist`));const n=t.getElement(),i=n.querySelector("iframe");
1i&&(i.title=I(e.language));const r=n.querySelector(".frc-banner");if(r){const t=r.style;M(e.language)?(t.left="6px",t.right="auto"):(t.left="auto",t.right="6px")}}handleSignalsGetMessage(e){const t=this.signals.get(e.widget_id);this.bus.send({type:"root_signals_get_reply",from_id:"",to_id:e.from_id,_frc:1,rid:e.rid,value:t})}handleStoreMessage(e){const t=e.from_id,n=this.agentState.get(t);n?"root_store_get"===e.type?this.bus.send({type:"root_store_get_reply",from_id:"",to_id:t,_frc:1,rid:e.rid,value:n.store.get(e.key),sa:!0}):"root_store_set"===e.type&&(n.store.set(e.key,e.value),this.bus.send({type:"root_store_set_reply",from_id:"",to_id:t,_frc:1,rid:e.rid,sa:!0})):console.error(`Store not found ${t}`)}ensureAgentIFrame(e){let t=1;const n=ae(t,e),i=e[n],r=i+"/api/v2/captcha/agent",o=this.agents.get(i);if(o&&o.dataset[de])return o.dataset[de];let a=document.getElementsByClassName(P);for(let e=0;e<a.length;e++){const t=a[e];if(t.dataset[he]===i&&t.dataset[de])return this.agents.set(i,t),t.dataset[de]}const c="a_"+d(12),l=function(e,t,n){const i={origin:document.location.origin,sess_id:p(),sess_c:f(!0),comm_id:t,sdk_v:"0.2.3",v:"1",agent_id:t,ts:Date.now().toString()},r=document.createElement("iframe");r.className=P,r.dataset[F]=t,r.src=n+"?"+s(i),r.frcSDK=e;const o=r.style;return o.width=o.height=o.border=o.visibility="0",o.display="none",r}(this,c,r);l.dataset[he]=i;const h=l.src;let g=i;this.agents.set(i,l),this.agentState.set(c,{store:new y(i),origin:i}),document.body.appendChild(l);const u=()=>{this.bus.registerTargetIFrame("agent",c,l,this.getRetryTimeout(t)).then(n=>{if("timeout"===n){if(t>=5)return console.error(`[Friendly Captcha] Failed to load agent iframe after ${t-1} retries.`),l.remove(),void this.agents.delete(i);const n=t+1,r=ae(n,e);g=e[r]||g,console.warn("[Friendly Captcha] Retrying agent iframe load."),l.src=ce(h,g,n-1),t=n,u()}})};return u(),c}setupPeriodicRefresh(){let e=1;setInterval(()=>{const t="&expire="+e++;this.agents.forEach((e,n)=>{e.src+=t}),this.widgets.forEach((e,n)=>{e.getElement().querySelector("iframe").src+=t})},1296e5)}getRetryTimeout(e){return 1e3*(1.5+Math.pow(e,1.8))}attach(e){const[t,n]=[document.querySelectorAll(".frc-captcha"),document.querySelectorAll(".frc-risk-intelligence")];for(let e=0;e<n.length;e++){const t=n[e];if(t&&!t.frcRiskIntelligence){const e=t.dataset,n=e.sitekey;if(!n){console.warn("Risk Intelligence <div> found with no sitekey, skipping...",t);continue}this.riskIntelligenceHandles.push(new oe({element:t,formFieldName:e.formFieldName,startMode:e.start,riskIntelligence:()=>this.riskIntelligence({sitekey:n,apiEndpoint:e.apiEndpoint})}))}}void 0===e&&(e=t),Array.isArray(e)||e instanceof NodeList||(e=[e]);const i=[];for(let t=0;t<e.length;t++){const n=e[t];if(n&&!n.frcWidget){const e=n.dataset,t={element:n,sitekey:e.sitekey,formFieldName:e.formFieldName,apiEndpoint:e.apiEndpoint,language:e.lang,theme:e.theme,startMode:e.start};i.push(this.createWidget(t))}}const r=this.getAllWidgets();return this._attached.resolve(r),this.attached=Promise.resolve(r),i}createWidget(e){const t=Q(e.apiEndpoint||this.apiEndpoint||te()),n=this.getRetryOrigins(t);let r=1;this.bus.addOrigins(t);const o=n[ae(r,n)]||t[0],c=this.ensureAgentIFrame(n),l="w_"+d(12),h=e=>
1{const t={from_id:l,to_id:c,_frc:1};this.bus.send(z(t,e))},g={onDestroy:()=>{h({type:"root_destroy_widget"}),this.bus.removeTarget(l),this.widgets.delete(l),e.element.innerHTML="",e.element.removeAttribute("style")},onReset:()=>{h({type:"root_reset_widget"})},onTrigger:e=>{h({type:"root_trigger_widget",trigger:e.trigger})}},u=i(),m=new N({id:l,createOpts:e,callbacks:g,registered:u.promise});this.widgets.set(l,m);const y=function(e,t,n,i){const r=document.createElement("iframe"),o=O(i),a={origin:document.location.origin,sess_id:p(),sess_c:f(!0),comm_id:t,sdk_v:"0.2.3",v:"1",agent_id:e,lang:o,sitekey:i.sitekey||"",ts:Date.now().toString()};i.theme&&(a.theme=i.theme),v&&(r.allow="clipboard-write"),r.frameBorder="0",r.src=n+"?"+s(a),r.className="frc-i-widget",r.title=I(o),r.dataset[F]=t;const c=r.style;return c.border=c.visibility="0",c.position="absolute",c.height=c.width="100%",c.userSelect="none",c["-webkit-tap-highlight-color"]="transparent",c.display="none",i.element.appendChild(r),r}(c,l,o+"/api/v2/captcha/widget",e),b=y.src;let w=o;const k=function(e){const t=document.createElement("div");t.classList.add("frc-widget-placeholder");const n=t.style,i="dark"===e.theme||"auto"===e.theme&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches;return n.color=i?"#fff":"#222",n.backgroundColor=i?"#171717":"#fafafa",n.borderRadius="4px",n.border="1px solid",n.borderColor="#ddd",n.padding="8px",n.height=n.width="100%",n.fontSize="14px",n.boxSizing="border-box",D(n),e.element.appendChild(t),t}(e);!function(e){const t=E;t(e,"position","relative"),t(e,"height","70px"),t(e,"padding","0"),t(e,"width","316px"),t(e,"maxWidth","100%"),t(e,"maxHeight","100%"),t(e,"overflow","hidden"),t(e,"borderRadius","4px")}(e.element),function(e){const t=document.createElement("div");t.classList.add("frc-banner");const n=O(e),i="dark"===e.theme||"auto"===e.theme&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches;let r="#565656",o="#a2a2a2";i&&(r="#a2a2a2",o="#565656");const s=t.style;s.position="absolute",s.bottom="6px",M(n)?s.left="6px":s.right="6px",s.lineHeight="1";const a=document.createElement("a");a.href="https://friendlycaptcha.com",a.rel="noopener";const c=a.style;D(c),c.color=r,c.fontSize="10px",c.userSelect="none",c.textDecorationLine="underline",c.textDecorationThickness="1px",c.textDecorationColor=o,c.letterSpacing="-0.0125rem",a.target="_blank",a.textContent="Friendly Captcha",a.onmouseenter=()=>c.textDecorationColor=r,a.onmouseleave=()=>c.textDecorationColor=o,t.appendChild(a),e.element.appendChild(t)}(e);let _=O(e);M(_)&&(e.element.dir="rtl");const R=k.style;function S(t){const n=re(JSON.stringify({sdk_v:"0.2.3",sitekey:e.sitekey||"",retry:r+"",endpoint:w,ua:navigator.userAgent,tz:ne()||""}));let i=".ERROR.UNREACHABLE";n&&(i+="~"+n),m.setState({state:"error",response:i,error:{code:"network_error",detail:t}})}k.textContent=C(_,"connecting");const x=()=>{this.bus.registerTargetIFrame("widget",l,y,this.getRetryTimeout(r)).then(t=>{if("timeout"===t){if(r>=5)return console.error(`[Friendly Captcha] Failed to load widget iframe after ${r-1} retries.`),S("Widget load timeout, stopped retrying"),R.borderColor="#f00",R.fontSize="12px",void function(e,t,n){const i=[((e,t)=>{const n=document.createElement("a");n.href=e,n.target="_blank",n.rel="noopener",n.textContent=t;const i=n.style;return D(i),i.textDecoration="underline",i.color="#565656",n.onmouseenter=()=>i.textDecoration="none",n.onmouseleave=()=>i.textDecoration="underline",n})(`${t}/connectionTest`,C(n,"failed"))];e.textContent="",i.forEach(t=>e.appendChild(t))}(k,a(y.src),_);const e=r+1,t=ae(e,n);w=n[t]||w,R.backgroundColor="#fee",R.color="#222",k.textContent=C(_,"retrying")+` (${r})`,console.warn(`[Friendly Captcha] Retrying widget ${l} iframe load.`),S("Widget load timeout, will retry"),y.src=ce(b,w,e-1),r=e,x()}else"registered"===t&&(e.element.removeChild(k),y.style.display="")})};return x(),u.resolve(),m}riskIntelligence(e){const t=Q(e.apiEndpoint||this.apiEndpoint||te()),n=this.getRetryOrigins(t);this.bus.addOrigins(t);const r=this.ensureAgentIFrame(n),o=d(8);this.bus.send({type:"root_risk_intelligence_generate",to_id:r,from_id:"",_frc:1,sitekey:e.sitekey,bypassCache:e.bypassCache||!1,uid:o});const s=i();return this.riskIntelligencePromises.set(o,s),s.promise}clearRiskIntelligence(e){const t=Q((null==e?void 0:e.apiEndpoint)||this.apiEndpoint||te()),n=this.getRetryOrigins(t);this.bus.addOrigins(t);const r=this.ensureAgentIFrame(n),o=d(8);this.bus.send({type:"root_risk_intelligence_clear",to_id:r,from_id:"",_frc:1,sitekey:null==e?void 0:e.sitekey,uid:o});const s=i();return this.clearRiskIntelligencePromises.set(o,s),s.promise}getAllWidgets(){const e=[];
1return this.widgets.forEach(t=>{e.push(t)}),e}getWidgetById(e){return this.widgets.get(e)}getAllRiskIntelligenceHandles(){const e=[];return this.riskIntelligenceHandles.forEach(t=>{e.push(t)}),e}clear(){this.widgets.forEach(e=>{e.destroy()}),this.agents.forEach(e=>{e.remove()}),this.agents.clear()}}}}]); 2//# sourceMappingURL=friendly-c-v2.js.map
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.