1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="51a6b874-41b5-41df-b385-84d27edd3002",e._sentryDebugIdIdentifier="sentry-dbid-51a6b874-41b5-41df-b385-84d27edd3002")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[20],{166:(e,t,n)=>{n.d(t,{D:()=>u});var a=n(53076),r=n(47904),o=n(55706),i=n(22355),s=n(70674),l=n(57226),d=n(89307);function u(){let{onSent:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{t}=(0,r.Bd)("auth"),{t:n}=(0,r.Bd)("common"),[u,c]=(0,a.useState)(""),[h,g]=(0,a.useState)(null),[p,f]=(0,a.useState)(!1),[y,m]=(0,a.useState)(!1),[w,I]=(0,a.useState)(!1),b=y||p;return{email:u,setEmail:c,emailError:h,isSubmitInProgress:b,sentRequest:w,showCaptchaDialog:p,handleSubmit:e=>{if(e.preventDefault(),!b){if(!function(e){let t=e.replace(/\s/g,"");return/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(t).toLowerCase())}(u.trim()))return void g(n("common/formValidationEmailError"));g(null),f(!0)}},handleCaptchaVerify:a=>{if(f(!1),!a)return void i.toast.error(t("auth/captchaVerifyError"));m(!0),(0,o.$h)(s.A.forgotPassword(u.trim(),a).then(()=>{I(!0),e?.()}).catch(e=>{if(!(e instanceof l.hD))throw e;e.type===d.w.NotFound?i.toast.error(t("auth/forgotPasswordNotFoundError")):e.handleUnknownError(n,"auth.forgotPassword")}).finally(()=>m(!1)))}}}},20267:(e,t,n)=>{n.d(t,{A:()=>h});var a=n(41810),r=n(57226),o=n(13307);let i=a.Ik({id:a.ai(),code:a.Yj(),name:a.Yj(),regionName:a.Yj(),isDefault:a.zM(),iconUrl:a.Yj()}),s=a.Ik({language:a.Ik({id:a.ai(),name:a.Yj(),code:a.Yj(),localizedName:a.Yj().optional(),englishName:a.Yj().optional()}),canBePrimary:a.zM()});var l=n(95259);let d=a.Ik({content:a.YO(o.z)}),u=a.Ik({content:a.YO(i)}),c=a.Ik({content:a.YO(s)}),h={list:()=>r.Ay.get("/countries").then(e=>(0,l.x)("GET /countries",d,e.data).content),listRegions(e){let t=`GET /countries/${e}/regions`;return r.Ay.get(`/countries/${e}/regions`).then(e=>(0,l.x)(t,u,e.data).content)},listContentLanguages(e,t){let n=`GET /countries/${e}/regions/${t}/content-languages`;return r.Ay.get(`/countries/${e}/regions/${t}/content-languages`).then(e=>(0,l.x)(n,c,e.data).content)},getCountryConfig:(e,t)=>r.Ay.get(`/countries/${e}/languages/${t}/config`).then(e=>e.data),listExamBoards:e=>r.Ay.get(`countries/${e}/exam-boards`).then(e=>e.data.content),listExamTypes:e=>r.Ay.get(`countries/${e}/exam-types`).then(e=>e.data.content),getByIp:()=>r.Ay.get("/countries/by-ip").then(e=>e.data.country),getByIpWithRegion:()=>r.Ay.get("/countries/by-ip?includeEEAInfo=true").then(e=>e.data)}},48105:(e,t,n)=>{n.d(t,{A:()=>u});var a=n(57226),r=n(95259),o=n(41810);let i=o.Ik({code:o.Yj()}),s=o.Ik({checkoutUrl:o.Yj().url(),pollingToken:o.Yj().min(1)}),l=o.Ik({priceId:o.Yj(),amount:o.Yj(),currency:o.Yj(),billingInterval:o.k5(["week","month","year"]),billingFrequency:o.ai().int().positive()});function d(e,t){let n=new URLSearchParams({countryCode:e});return t&&n.set("billingInterval",t),`/paddle/prices?${n.toString()}`}let u={getPurchaseCode:e=>a.Ay.get(`/paddle/codes?token=${encodeURIComponent(e)}`).then(e=>(0,r.x)("GET /paddle/codes",i,e.data)),getPriceInfo:(e,t)=>a.Ay.get(d(e,t)).then(e=>(0,r.x)("GET /paddle/prices",l,e.data)),getPriceInfoPublic:(e,t)=>a.$K.get(d(e,t)).then(e=>(0,r.x)("GET /paddle/prices (public)",l,e.data)),createTransaction(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{email:n,utm:o,unauthenticated:i,discountId:l}=t,d={priceId:e,...n?{email:n}:{},...o&&Object.keys(o).length>0?{utm:o}:{},...l?{discountId:l}:{}};return(i?a.$K:a.Ay).post("/paddle/transactions",d).then(e=>(0,r.x)("POST /paddle/transactions",s,e.data))}}},67288:(e,t,n)=>{n.d(t,{AW:()=>l,bI:()=>d});var a=n(13307),r=n(31206),o=n(80278);let i=new Set([a.O.BosniaAndHerzegovina,a.O.Croatia]);function s(e){let t=e??window.location.hostname,n=(0,o.U_)(t);return!!n&&i.has(n)}let l=()=>r.Ay.getAppleClientId(s()),d=()=>r.Ay.getHCaptchaKey(s())}
1,70674:(e,t,n)=>{n.d(t,{A:()=>h});var a=n(57226),r=n(72416),o=n(12418),i=n(21553),s=n(67288),l=n(77228);let d=e=>((0,o.Ay)().dispatch((0,r.vO)(e)),i.A.fetchUser().then(()=>e)),u=e=>{let t=(0,l.BV)();return{...e,...t&&{timezone:t}}},c=e=>{let t={};return e&&(t["X-HCaptcha"]=e,t["X-HCaptcha-Sitekey"]=(0,s.bI)()),t},h={signUpEmail:(e,t,n,r,o)=>a.Rh.post("auth/signup/email",{name:e,email:t,password:n,...u(r)},{headers:c(o)}).then(e=>d(e.data)),signUpUsername:(e,t,n,r)=>a.Rh.post("auth/signup/username",{username:e,password:t,...u(n)},{headers:c(r)}).then(e=>d(e.data)),signInEmail:(e,t,n,r)=>a.Rh.post("auth/signin/email",{email:e,password:t,twoFactorAuthenticationToken:n},{headers:c(r)}).then(e=>d(e.data)),signUpGoogle:(e,t,n)=>a.Rh.post("auth/signup/google",{idToken:e,...u(t)},{headers:c(n)}).then(e=>d(e.data)),signInGoogle:(e,t)=>a.Rh.post("auth/signin/google",{idToken:e},{headers:c(t)}).then(e=>d(e.data)),signInApple:(e,t)=>a.Rh.post("auth/signin/apple",{idToken:e},{headers:c(t)}).then(e=>d(e.data)),signUpApple:(e,t,n,r)=>a.Rh.post("auth/signup/apple",{idToken:e,name:t,...u(n)},{headers:c(r)}).then(e=>d(e.data)),forgotPassword:(e,t)=>a.Rh.post("/auth/password-reset",{email:e},{headers:c(t)}),resetPassword:(e,t,n)=>a.Rh.post("/auth/password-reset/confirm",{token:e,password:t},{headers:c(n)}),delete:e=>a.Rh.delete(`/accounts/${e}`)}},89883:(e,t,n)=>{n.d(t,{FM:()=>m,J7:()=>y,Ln:()=>w});var a=n(53076),r=n(39292),o=n(48105),i=n(75416);let s=["year","month","week"],l=new Map,d=new Set,u=0,c=e=>(d.add(e),()=>d.delete(e)),h=()=>u,g=(e,t)=>`${e?.uuid??"anon"}:${t}`;function p(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=l.get(n);if(r)return r.promise;let o={promise:f(e,t,a).then(e=>{if(0===e.length)throw Error("All price option fetches failed");return o.value=e,e}).catch(e=>{throw l.delete(n),e})};return l.set(n,o),o.promise}async function f(e,t,n){if(!e)return[await o.A.getPriceInfoPublic(t)];let a=n?o.A.getPriceInfoPublic:o.A.getPriceInfo,r=(await Promise.allSettled(s.map(e=>a(t,e)))).reduce((e,t)=>("fulfilled"===t.status&&e.push(t.value),e),[]);return r.length,r}async function y(e,t){try{await p(e,t,g(e,t))}catch(e){}}async function m(e,t){let n=`${e?.uuid??"anon"}:`;for(let e of l.keys())e.startsWith(n)&&l.delete(e);let a=p(e,t,g(e,t),!0);u+=1,d.forEach(e=>e());try{await a}catch(e){}}function w(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=(0,r.d4)(e=>e.user),n=(0,i.Y)().countryCode,o=t?.country.code??n,s=g(t,o),d=(0,a.useSyncExternalStore)(c,h,h),[u,f]=(0,a.useState)(()=>l.get(s)?.value??[]),[y,m]=(0,a.useState)(()=>!l.get(s)?.value);return(0,a.useEffect)(()=>{if(!e)return;let n=!1,a=l.get(s)?.value;return a?(f(a),m(!1)):(f([]),m(!0)),async function(){try{let e=await p(t,o,s);!n&&e.length>0&&f(e)}catch(e){}finally{n||m(!1)}}(),()=>{n=!0}},[s,d,o,e,t]),{priceOptions:u,isLoading:y}}}}]);
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.