1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{6173:(e,t,r)=>{"use strict";r.d(t,{UnleashProvider:()=>s});var o=r(65322),n=r(85527),a=r(20300);let i={url:"https://unleash-edge-prod.penpencil.co/api/frontend",clientKey:"*:production.406ab8209bdc221ae0dec2b58590cc7b2b879604998e52b50e7d4342",appName:"curiousjr-web",refreshInterval:900,environment:"production",...(0,a.wh)("user",{})?.id?{context:{userId:(0,a.wh)("user",{})?.id}}:{}};function s(e){let{children:t}=e;return(0,o.jsx)(n.FlagProvider,{config:i,children:t})}},9499:(e,t,r)=>{"use strict";r.d(t,{refreshToken:()=>l});var o=r(70788),n=r(84646),a=r(2987);r(6978);var i=r(84959),s=r.n(i);let l=async e=>{let t=n.A.get("REFRESH_TOKEN"),r=n.A.get("organizationId"),i={refresh_token:`${t}`,client_id:`${r}`};try{var l;let r=await fetch("https://api.penpencil.co//v3/oauth/refresh-token",{method:"POST",body:JSON.stringify(i),headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}});if(!r.ok)throw e&&((0,o.q4)(),localStorage.clear()),console.log("Failed to refresh token"),Error("Failed to refresh token");let n=await r.json();return n?.data?.access_token&&(l=n?.data?.access_token,"undefined"!=typeof localStorage&&localStorage.setItem("TOKEN",l)),n?.data?.refresh_token&&"undefined"!=typeof localStorage&&localStorage.setItem("REFRESH_TOKEN",n?.data?.refresh_token),window?.PWWebSDK&&window?.PWWebSDK?.setTokenContext&&(window.PWWebSDK.setTokenContext={token:n?.data?.access_token,refresh_token:n?.data?.refresh_token,expires_in:n?.data?.expires_in,randomId:(0,a.wh)("randomId")||s()()}),n?.data?.access_token}catch(e){throw console.error("Error refreshing token:",e),e}}},11093:(e,t,r)=>{"use strict";r.d(t,{$:()=>l,CountryProvider:()=>c});var o=r(65322),n=r(8234),a=r(70405),i=r(6978);let s=(0,i.createContext)(void 0),l=()=>{let e=(0,i.useContext)(s);if(void 0===e)throw Error("useCountryContext must be used within a CountryProvider");return e},c=e=>{let{children:t}=e,[r,l]=(0,i.useState)([]),[c,d]=(0,i.useState)(!0),[u,g]=(0,i.useState)(null),f=async()=>{if(!(r.length>0))try{d(!0),g(null);let e=await (0,a.jo)();l([...e.data,n.ey])}catch(e){console.error("Error fetching countries:",e),g(e instanceof Error?e.message:"Failed to fetch countries")}finally{d(!1)}};return(0,i.useEffect)(()=>{f()},[]),(0,o.jsx)(s.Provider,{value:{countryList:r,loading:c,error:u,refetch:f},children:t})}},13765:(e,t,r)=>{"use strict";r.d(t,{S:()=>s});var o=r(42240),n=r(57116);let a=null,i=(()=>{try{let e=(0,o.LO)(n.Ay);return e.settings.minimumFetchIntervalMillis=1500,e}catch(e){return null}})(),s=async e=>{try{return a||(a=(0,o.LF)(i)),await a,(0,o._W)(i,e).asString()}catch(t){console.error(`Error retrieving key ${e} from Firebase Config:`,t)}}},17426:(e,t,r)=>{"use strict";r.d(t,{StoreProvider:()=>c,o:()=>s});var o=r(65322),n=r(13765),a=r(6978);let i=(0,a.createContext)(void 0),s=()=>{let e=(0,a.useContext)(i);if(!e)throw Error("useStoreContext must be used within StoreProvider");return e},l=async e=>await (0,n.S)(e),c=e=>{let{children:t}=e,[r,n]=(0,a.useState)(""),[s,c]=(0,a.useState)(""),d=async()=>{try{let e=await l("pw_store_url"),t="string"==typeof e?JSON.parse(e):e,r="prod".toLowerCase(),o=Array.isArray(t)?t.find(e=>e?.env?.toLowerCase()===r):void 0,a=o?.url||"",i=o?.sub_org_id||"";n(a),c(i)}catch(e){console.error("Error fetching PW Store URL:",e)}};return(0,a.useEffect)(()=>{d()},[]),(0,o.jsx)(i.Provider,{value:{storeUrl:r,subOrgId:s,refetch:d},children:t})}},17574:(e,t,r)=>{"use strict";r.d(t,{default:()=>c});var o=r(65322),n=r(72965),a=r(20763),i=r.n(a),s=r(6978);let l=e=>{let{gtmId:t="GTM-NKSMZ26F",ga4Id:r="G-YLS8T7FSRC",loadOnInteraction:a=!1,debug:l=!1}=e,[c,d]=(0,s.useState)(!a);return((0,s.useEffect)(()=>{if(a&&!c){let e=()=>{d(!0),document.removeEventListener("scroll",e),document.removeEventListener("click",e),document.removeEventListener("touchstart",e)};document.addEventListener("scroll",e,{once:!0,passive:!0}),document.addEventListener("click",e,{once:!0}),document.addEventListener("touchstart",e,{once:!0,passive:!0});let t=setTimeout(()=>{d(!0)},3e3);return()=>{clearTimeout(t),document.removeEventListener("scroll",e),document.removeEventListener("click",e),document.removeEventListener("touchstart",e)}}},[a,c]),c)?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(i(),{children:[(0,o.jsx)("link",{rel:"dns-prefetch",href:"//www.googletagmanager.com"}),(0,o.jsx)("link",{rel:"dns-prefetch",href:"//www.google-analytics.com"}
1),(0,o.jsx)("link",{rel:"preconnect",href:"https://www.googletagmanager.com",crossOrigin:""}),(0,o.jsx)("link",{rel:"preconnect",href:"https://www.google-analytics.com",crossOrigin:""}),(0,o.jsx)("link",{rel:"preload",href:`https://www.googletagmanager.com/gtm.js?id=${t}`,as:"script"}),(0,o.jsx)("link",{rel:"preload",href:`https://www.googletagmanager.com/gtag/js?id=${r}`,as:"script"})]}),(0,o.jsx)(n.default,{id:`gtm-${t}`,strategy:"afterInteractive",onLoad:()=>l&&console.log("GTM loaded successfully"),onError:()=>l&&console.error("GTM failed to load"),dangerouslySetInnerHTML:{__html:` 2 (function(w,d,s,l,i){ 3 w[l]=w[l]||[]; 4 w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'}); 5 var f=d.getElementsByTagName(s)[0], 6 j=d.createElement(s), 7 dl=l!='dataLayer'?'&l='+l:''; 8 j.async=true; 9 j.defer=true; 10 j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl+'&cx=c>m=4e58m1'; 11 j.onload=function(){${l?"console.log('GTM script loaded');":""}}; 12 j.onerror=function(){${l?"console.error('GTM script failed');":""}}; 13 f.parentNode.insertBefore(j,f); 14 })(window,document,'script','dataLayer','${t}'); 15 `}}),(0,o.jsx)(n.default,{id:"ga4-gtag",src:`https://www.googletagmanager.com/gtag/js?id=${r}`,strategy:"afterInteractive",async:!0,defer:!0,onLoad:()=>l&&console.log("GA4 script loaded"),onError:()=>l&&console.error("GA4 script failed")}),(0,o.jsx)(n.default,{id:"ga4-config",strategy:"afterInteractive",onLoad:()=>l&&console.log("GA4 config loaded"),dangerouslySetInnerHTML:{__html:` 16 window.dataLayer = window.dataLayer || []; 17 function gtag(){dataLayer.push(arguments);} 18 gtag('js', new Date()); 19 gtag('config', '${r}', { 20 page_title: document.title, 21 page_location: window.location.href, 22 send_page_view: true, 23 // Performance optimizations 24 transport_type: 'beacon', 25 anonymize_ip: true, 26 allow_google_signals: false, 27 allow_ad_personalization_signals: false 28 }); 29 30 // Custom event for marketing page views 31 if (window.location.pathname.includes('/marketing/')) { 32 gtag('event', 'marketing_page_view', { 33 page_path: window.location.pathname, 34 campaign_code: window.location.pathname.split('/marketing/')[1]?.split('/')[0] 35 }); 36 } 37 38 ${l?"console.log('GA4 configuration complete');":""} 39 `}}),(0,o.jsx)("noscript",{children:(0,o.jsx)("iframe",{src:`https://www.googletagmanager.com/ns.html?id=${t}`,height:"0",width:"0",style:{display:"none",visibility:"hidden"}})})]}):(0,o.jsxs)(i(),{children:[(0,o.jsx)("link",{rel:"dns-prefetch",href:"//www.googletagmanager.com"}),(0,o.jsx)("link",{rel:"dns-prefetch",href:"//www.google-analytics.com"})]})};function c(){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l,{gtmId:"GTM-NKSMZ26F",ga4Id:"G-YLS8T7FSRC",debug:!1,loadOnInteraction:!1}),(0,o.jsx)(n.default,{id:"facebook-pixel",strategy:"afterInteractive",dangerouslySetInnerHTML:{__html:`
vendor: 507 bytes, lines 39-48
39 40 !function(f,b,e,v,n,t,s) 41 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 42 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 43 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 44 n.queue=[];t=b.createElement(e);t.async=!0; 45 t.src=v;s=b.getElementsByTagName(e)[0]; 46 s.parentNode.insertBefore(t,s)}(window, document,'script', 47 'https://connect.facebook.net/en_US/fbevents.js'); 48 fbq('init', '
48861209575562011
vendor: 52 bytes, lines 48-50
48'); 49 fbq('track', 'PageView'); 50
50`}})]})}},19266:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var o=r(9499),n=r(84646);class a extends Error{constructor(e,t){super(e),this.message=e,this.errorObject=t,Object.setPrototypeOf(this,new.target.prototype)}}let i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[];if(!t)return"";for(let r in e){let o=r;("countryId"!==o||"other"!==e[r])&&(Array.isArray(e[r])?e[r].forEach(e=>{t.push(`${o}=${encodeURIComponent(e)}`)}):t.push(`${o}=${encodeURIComponent(e[r])}`))}return t.length?`?${t.join("&")}`:""};class s{getHeaders(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,o={"Content-Type":"application/json",organizationid:r||"5eb393ee95fab7468a79d189",...t},a=n.A.get("TOKEN")||"";return a&&a?.length>0&&e&&(o.Authorization=`Bearer ${n.A.get("TOKEN")}`),o}async get(e,t){let r=await fetch(`${e}${i(t.params)}`,{method:"GET",headers:this.getHeaders(!t.public,t.customHeaders)});if(401===r.status&&await (0,o.refreshToken)(t?.shouldNotRedirect),!r.ok)if(r.body){let e=await r.json();throw new a(e?.message||e?.error?.message||"Request failed with status",e?.errors)}else throw new a(`Request failed with status ${r.status}`,{});return r.json()}async post(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=await fetch(`${e}`,{method:"POST",headers:this.getHeaders(!r.public,r?.customHeaders,r?.customOrganizationid),body:JSON.stringify(t)});if(401===n.status&&await (0,o.refreshToken)(r?.shouldNotRedirect),!n.ok)if(n.body){let e=await n.json();throw new a(e?.error?.message||e?.message||"Request failed with status",e?.errors)}else throw new a(`Request failed with status ${n.status}`,{});return n.json()}async put(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=await fetch(`${e}`,{method:"PUT",headers:this.getHeaders(!r.public,r?.customHeaders),body:JSON.stringify(t)});if(401===n.status&&await (0,o.refreshToken)(r?.shouldNotRedirect),!n.ok)if(n.body){let e=await n.json();throw new a("Request failed with status",e?.errors)}else throw new a(`Request failed with status ${n.status}`,{});return n.json()}async delete(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=await fetch(`${e}`,{method:"DELETE",headers:this.getHeaders(!t.public)});if(401===r.status&&await (0,o.refreshToken)(t?.shouldNotRedirect),!r.ok)if(r.body){let e=await r.json();throw new a("Request failed with status",e?.errors)}else throw new a(`Request failed with status ${r.status}`,{});return{}}}let l=new s},27615:(e,t,r)=>{"use strict";r.d(t,{PWWebSDKProvider:()=>l});var o=r(65322),n=r(22416),a=r(58980),i=r(58728),s=r(6978);let l=e=>{let{children:t}=e,r=(0,i.useRouter)(),[l,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(!1);return((0,s.useEffect)(()=>{u(!0)},[]),(0,s.useEffect)(()=>{(async()=>{try{a.uR.getInstance(n.s),window.PWWebSDK&&window.PWWebSDK.updateConfig(n.s),window.JSBridge&&(window.JSBridge.goToPreviousPageInWebview=()=>{r&&r.back()}),c(!0),console.log("PW Web SDK initialized successfully")}catch(e){console.error("Failed to initialize PW Web SDK:",e),c(!0)}})()},[r]),(0,s.useEffect)(()=>{let e=e=>{e.persisted&&r&&r.refresh()};return window.addEventListener("pageshow",e),()=>window.removeEventListener("pageshow",e)},[r]),!l&&d)?(0,o.jsx)("div",{className:"min-h-screen flex items-center justify-center",children:(0,o.jsxs)("div",{className:"text-center",children:[(0,o.jsx)("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900 mx-auto"}),(0,o.jsx)("p",{className:"mt-2 text-sm text-gray-600",children:"Initializing..."})]})}):(0,o.jsx)(o.Fragment,{children:t})}},35544:(e,t,r)=>{"use strict";r.d(t,{ScrollRestorationManager:()=>f});var o=r(58728),n=r(6978);let a="cjr:scrollPos",i=n.useLayoutEffect;function s(){return"undefined"!=typeof performance&&performance.now?performance.now():Date.now()}function l(){let e=window.scrollY??window.pageYOffset;if("number"==typeof e&&!Number.isNaN(e))return e;let t=document.scrollingElement||document.documentElement;return t?t.scrollTop:0}function c(){let e=document.documentElement,t=document.body;return Math.max(0,Math.max(e?e.scrollHeight:0,t?t.scrollHeight:0)-window.innerHeight)}function d(e){try{window.scrollTo({top:e,left:0,behavior:"instant"})}catch{window.scrollTo(0,e)}let t=document.scrollingElement||document.documentElement;t&&Math.abs(t.scrollTop-e)>2&&(t.scrollTop=e)}function u(){try{let e=window.sessionStorage.getItem(a);return e?JSON.parse(e):{}}catch{return{}}}function g(e,t){let r=u();r[e]=t;let o=Object.keys(r);if(o.length>30)for(let e of o.slice(0,o.length-30))delete r[e];try{window.sessionStorage.setItem(a,JSON.stringify(r))}catch{}}function f(){let e=function(e,t){let r=new URLSearchParams(t.toString());r.sort();let o=r.toString();return o?`${e}?${o}`:e}((0,o.usePathname)(),(0,o.useSearchParams)()),t=(0,n.useRef)(e);t.current=e;let r=(0,n.useRef)(!1),a=(0,n.useRef)(null),f=(0,n.useRef)(null),h=(0,n.useCallback)(e=>{f.current?.(),r.current=!0,a.current=e;let t=s(),o=!1,n=-1,i=0,u=!1,g=0,h=null,w=null,m=null,v=()=>{window.removeEventListener("wheel",p,y),window.removeEventListener("touchmove",p,y),window.removeEventListener("keydown",p),null!=h&&(window.cancelAnimationFrame(h),h=null),w&&(w.disconnect(),w=null),null!=m&&(clearTimeout(m),m=null),r.current=!1,a.current=null,f.current===v&&(f.current=null)};function p(){o=!0,v()}let y={passive:!0};window.addEventListener("wheel",p,y),window.addEventListener("touchmove",p,y),window.addEventListener("keydown",p);let b=()=>{let r=a.current??e,f=s()-t>=8e3,p=Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0);p===n?i+=1:(i=0,n=p);let y=c(),S=i>=3;if(y>=r&&S||f){let e=Math.min(r,y);Math.abs(l()-e)>2?(d(e),g=0):g+=1,u=!0}return o?void 0:u&&g>=3?void((w=new ResizeObserver(()=>{if(o)return;let e=Math.min(a.current??0,c());Math.abs(l()-e)>2&&d(e)})).observe(document.documentElement),m=setTimeout(v,2e3)):f?void v():void(h=window.requestAnimationFrame(b))};f.current=v,h=window.requestAnimationFrame(b)},[]);return(0,n.useEffect)(()=>
50{if(!("scrollRestoration"in window.history))return;let e=window.history.scrollRestoration;return window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration=e}},[]),(0,n.useEffect)(()=>{let e=!1,o=()=>{e||(e=!0,window.requestAnimationFrame(()=>{r.current||g(t.current,l()),e=!1}))};return window.addEventListener("scroll",o,{passive:!0}),()=>{window.removeEventListener("scroll",o)}},[]),(0,n.useEffect)(()=>{let e=()=>{r.current||g(t.current,l())},o=()=>{"hidden"===document.visibilityState&&e()};return window.addEventListener("pagehide",e),document.addEventListener("visibilitychange",o),()=>{window.removeEventListener("pagehide",e),document.removeEventListener("visibilitychange",o)}},[]),i(()=>{let t=u()[e];return null!=t&&t>0?h(t):(f.current?.(),r.current=!1,a.current=null),()=>{f.current?.()}},[e,h]),(0,n.useEffect)(()=>{let e=e=>{var r;if(!e.persisted)return;let o=(r=t.current,u()[r]);null!=o&&o>0&&h(o)};return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[h]),null}},41153:(e,t,r)=>{"use strict";r.d(t,{default:()=>c});var o=r(65322),n=r(58728),a=r(6978),i=r(14958),s=r(2987);let l=()=>{let e=(0,n.useSearchParams)();return(0,a.useEffect)(()=>{if(e){(0,s.t9)(e);let t=e.get("gclid")||"",r=e.get("fbclid")||"";(t||r)&&(0,i.Z)({gclid:t,fbclid:r})}},[e]),null},c=()=>(0,o.jsx)(a.Suspense,{fallback:null,children:(0,o.jsx)(l,{})})},43367:()=>{},57116:(e,t,r)=>{"use strict";let o;r.d(t,{Ay:()=>h,_E:()=>f,d7:()=>g,iI:()=>d,mT:()=>u});var n=r(83171),a=r(7762),i=r(44836);let s={apiKey:"AIzaSyBhYL7O5mJbYRpchmYstZuNNm9EkoXsISs",authDomain:"curiousjr-app.firebaseapp.com",databaseURL:i.env.NEXT_PUBLIC_FIREBASE_DATABASE_URL||"https://curiousjr-app.firebaseio.com",projectId:"curiousjr-app",storageBucket:"curiousjr-app.appspot.com",messagingSenderId:"979752599489",appId:"1:979752599489:web:88435d173d4a8e81d6f940",measurementId:i.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID||"G-YLS8T7FSRC"};o=0===(0,n.Dk)().length?(0,n.Wp)(s):(0,n.Dk)()[0];let l=null,c=async()=>{if(!("serviceWorker"in navigator))return console.warn("Service Worker: Not supported in this browser"),null;try{let e=await navigator.serviceWorker.getRegistration();if(e)return console.log("Service Worker: Already registered, waiting for ready..."),e.installing&&(console.log("Service Worker: Installing..."),await new Promise(t=>{let r=e.installing;r.addEventListener("statechange",()=>{console.log(`Service Worker: State changed to ${r.state}`),"activated"===r.state&&t()})})),await navigator.serviceWorker.ready,console.log("Service Worker: Ready"),e;return console.log("Service Worker: Registering..."),e=await navigator.serviceWorker.register("/v2/firebase-messaging-sw.js",{scope:"/"}),console.log("Service Worker: Registration started"),e.installing?(console.log("Service Worker: Installing new worker..."),await new Promise(t=>{let r=e.installing;r.addEventListener("statechange",()=>{console.log(`Service Worker: State changed to ${r.state}`),"activated"===r.state&&t()})})):(e.waiting?(console.log("Service Worker: Waiting, activating..."),e.waiting.postMessage({type:"SKIP_WAITING"})):console.log("Service Worker: Already active, waiting for ready..."),await navigator.serviceWorker.ready),console.log("Service Worker: Registered and ready"),e}catch(e){return console.error("Service Worker registration failed:",e),null}},d=async()=>{try{let e=await c();if(!e)return null;await navigator.serviceWorker.ready;let t=(()=>{if(!l)try{"serviceWorker"in navigator?(console.log("Initializing Firebase Messaging..."),l=(0,a.dG)(o),console.log("Firebase Messaging initialized successfully")):console.warn("Service Worker is not supported. Push notifications may not work.")}catch(e){console.error("Failed to initialize Firebase Messaging:",e)}return l})();if(!t)return null;return await (0,a.gf)(t,{vapidKey:"BNxnLcq1b1gI_Xx6Jeaq43NQD5mjPBZIZcBzbGWgGVU1UDRmswM7Ic9Al9spwlM9xF4-JpnPHkb8RxpRunfMUjI",serviceWorkerRegistration:e})??null}catch(e){return console.error("FCM token error:",e),null}},u=async()=>"Notification"in window?"granted"===Notification.permission?"granted":"denied"===Notification.permission?"denied":await Notification.requestPermission():"denied",g=e=>
50{if(!("serviceWorker"in navigator))return null;let t=t=>{t.data?.type==="PUSH_NOTIFICATION"&&(console.log("[onMessageListener] Received forwarded push from SW"),e(t.data.payload))};return navigator.serviceWorker.addEventListener("message",t),console.log("[onMessageListener] Foreground listener attached via SW message"),()=>{navigator.serviceWorker.removeEventListener("message",t)}},f=async()=>{if(!("serviceWorker"in navigator))return console.warn("Service Worker: Not supported in this browser"),!1;try{let e=await navigator.serviceWorker.getRegistrations();if(!e||0===e.length)return console.log("Service Worker: No registrations found to unregister"),l=null,!0;console.log(`Service Worker: Found ${e.length} registration(s) to unregister`);let t=e.map(e=>e.unregister()),r=await Promise.all(t);if(r.every(e=>!0===e))return console.log(`Service Worker: Successfully unregistered ${e.length} worker(s)`),l=null,!0;{let t=r.filter(e=>!0===e).length;return console.warn(`Service Worker: Partially unregistered (${t}/${e.length} workers)`),l=null,!1}}catch(e){return console.error("Service Worker: Error during unregistration:",e),l=null,!1}},h=o},65815:(e,t,r)=>{"use strict";let o;r.d(t,{FirebaseRemoteConfigProvider:()=>g,S6:()=>h,Lj:()=>f});var n=r(65322),a=r(6978),i=r(83171),s=r(42240);let l={apiKey:"AIzaSyBhYL7O5mJbYRpchmYstZuNNm9EkoXsISs",authDomain:"curiousjr-app.firebaseapp.com",databaseURL:"https://curiousjr-app.firebaseio.com",projectId:"curiousjr-app",storageBucket:"curiousjr-app.appspot.com",messagingSenderId:"979752599489",appId:"1:979752599489:web:88435d173d4a8e81d6f940",measurementId:"G-YLS8T7FSRC"},c={is_mqtt_enabled_poll_web:!1,is_service_down_web:!1,pw_skill_url:"",otp_timer_prod:30,otp_timer_staging:30,whatsapp_otp_disabled_web:"[]",whatsapp_otp_disabled_web_staging:"[]",voice_call_enabled_web_staging:"[]",voice_call_enabled_web:"[]",auth_help_visibile_count:0,auth_help_visibile_count_stage:0,auth_revamp_stage_web:!1,otp_less_config:'{"configs": []}',enable_v2_auth_flow:!1,pw_cloudflare_captcha_enabled_web_staging:!1,pw_cloudflare_captcha_enabled_web_prod:!1,chat_feature_config:'{"configs": []}',goodies_banner_config:"{}",space_web_redirect_config:"{}"},d=async e=>{try{let t=(0,i.Dk)().length?(0,i.Sx)():(0,i.Wp)(h(e,l));(o=(0,s.LO)(t)).defaultConfig=c,await (0,s.LF)(o)}catch(e){console.error("Error fetching and activating remote config: ",e)}},u=(0,a.createContext)(void 0),g=e=>{let{children:t,appFirebaseConfig:r}=e,[i,l]=(0,a.useState)(!1),[g,f]=(0,a.useState)();return(0,a.useEffect)(()=>{(async()=>{await d(r),f(function(e){let t={};if(!o)return console.warn("Firebase Remote Config not initialized. Using default values."),e;for(let r in e)try{"boolean"==typeof c[r]?t[r]=(0,s.pW)(o,r):"string"==typeof c[r]?t[r]=(0,s.AA)(o,r):"number"==typeof c[r]?t[r]=(0,s.WZ)(o,r):t[r]=(0,s._W)(o,r)?.value}catch(e){t[r]=c[r]}return t}(c)),l(!0)})()},[r]),(0,n.jsx)(u.Provider,{value:{configLoaded:i,...g},children:t})},f=()=>{let e=(0,a.useContext)(u);if(void 0===e)throw Error("useFirebaseRemoteConfig must be used within a FirebaseRemoteConfigProvider");return e};function h(e,t){return e&&["apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId"].every(t=>void 0!==e[t]&&null!==e[t]&&""!==e[t])?e:t}},68141:(e,t,r)=>{"use strict";r.d(t,{ThemeProvider:()=>a});var o=r(65322),n=r(6978);let a=e=>{let{children:t}=e,[r,a]=n.useState(!1);return(n.useEffect(()=>{a(!0)},[]),r)?(0,o.jsx)("div",{"data-theme-provider":"fallback",children:t}):(0,o.jsx)(o.Fragment,{children:t})}},70405:(e,t,r)=>{"use strict";r.d(t,{Cr:()=>u,jo:()=>c,pM:()=>d});var o=r(70788),n=r(19266);let a="https://curiousjr-k8-api.penpencil.co/",i=()=>(0,o.WJ)({org:"CJR"}),s=null,l=null,c=async()=>{if((0,o.WJ)({org:"CJR"}),s)return s;if(l)return l;l=n.A.get(`${a}/v1/public/country`,{customHeaders:i(),public:!0});try{let e=await l;return s=e,e}finally{l=null}},d=async e=>n.A.get(`https://api.penpencil.co/v3/batches/${e}/details`,{customHeaders:i(),public:!0}),u=e=>{let{pwPro:t,grade:r}=e;return(0,o.WJ)({org:"CJR"}),n.A.put(`${a}/v1/user/profile`,{pwPro:t,grade:r},{customHeaders:i()})}},76328:(e,t,r)=>{"use strict";let o;r.d(t,{FaroProvider:()=>l});var n=r(65322),a=r(44496);let i={rE:"0.1.0"};var s=r(6978);function l(e){let{children:t}=e;return(0,s.useEffect)(()=>{!function(){if(o)return;let e="https://faro-platform.penpencil.co/collect";
50e&&1&&(o=(0,a.pu)({url:e,app:{name:"revamped-cjr-web",version:i.rE||"0.0.0",environment:"production"},instrumentations:[...(0,a.wt)(),new a.KP]}))}()},[]),(0,n.jsx)(n.Fragment,{children:t})}},84646:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});class o{isLocalStorageAvailable(){try{if("undefined"==typeof localStorage)return!1;let e="test";return localStorage.setItem(e,"test"),localStorage.removeItem(e),!0}catch(e){return console.error("localStorage is not available:",e),!1}}set(e,t){if(!this.isLocalStorageAvailable())return void console.warn("localStorage is not available, cannot set value for key:",e);try{if("string"==typeof t&&("null"===t||"undefined"===t))return void console.error(`Error setting localStorage key '${e}':`,Error("Invalid value"));"string"==typeof t?localStorage.setItem(e,t):localStorage.setItem(e,JSON.stringify(t))}catch(t){console.error(`Error setting localStorage key '${e}':`,t)}}get(e){if(!this.isLocalStorageAvailable())return void console.warn("localStorage is not available, cannot get value for key:",e);try{let t=localStorage.getItem(e);if("null"===t||!t||null===t||"undefined"===t||void 0===t)return;try{return JSON.parse(t)}catch(e){return t}}catch(t){console.error(`Error getting localStorage key '${e}':`,t);return}}remove(e){if(!this.isLocalStorageAvailable())return void console.warn("localStorage is not available, cannot remove key:",e);try{localStorage.removeItem(e)}catch(t){console.error(`Error removing localStorage key '${e}':`,t)}}clear(){if(!this.isLocalStorageAvailable())return void console.warn("localStorage is not available, cannot clear storage");try{localStorage.clear()}catch(e){console.error("Error clearing localStorage:",e)}}keys(){if(!this.isLocalStorageAvailable())return console.warn("localStorage is not available, cannot get keys"),[];try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);null!==r&&e.push(r)}return e}catch(e){return console.error("Error getting localStorage keys:",e),[]}}}let n=new o},94251:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,55437,23)),Promise.resolve().then(r.bind(r,14408)),Promise.resolve().then(r.t.bind(r,43367,23)),Promise.resolve().then(r.bind(r,17574)),Promise.resolve().then(r.bind(r,41153)),Promise.resolve().then(r.bind(r,11093)),Promise.resolve().then(r.bind(r,65815)),Promise.resolve().then(r.bind(r,17426)),Promise.resolve().then(r.bind(r,71056)),Promise.resolve().then(r.bind(r,76328)),Promise.resolve().then(r.bind(r,27615)),Promise.resolve().then(r.bind(r,35544)),Promise.resolve().then(r.bind(r,68141)),Promise.resolve().then(r.bind(r,6173))}},e=>{e.O(0,[7476,4102,5531,8980,7278,2171,2240,7762,9324,5527,9854,300,9245,2552,5370,2055,1618,7358],()=>e(e.s=94251)),_N_E=e.O()}]); 51//# sourceMappingURL=layout-b949e497633a85e9.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.