1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,56043,96598,e=>{"use strict";let t;function a(e){return new Promise((t,a)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>a(e.error)})}function r(){var e;let r;return t||(e="keyval",t=(t,n)=>(()=>{if(r)return r;let t=indexedDB.open("keyval-store");return t.onupgradeneeded=()=>t.result.createObjectStore(e),(r=a(t)).then(e=>{e.onclose=()=>r=void 0},()=>{}),r})().then(a=>n(a.transaction(e,t).objectStore(e)))),t}function n(e,t=r()){return t("readonly",t=>a(t.get(e)))}function o(e,t,n=r()){return n("readwrite",r=>(r.put(t,e),a(r.transaction)))}function i(e,t=r()){return t("readwrite",t=>(t.delete(e),a(t.transaction)))}function s(e=r()){return e("readwrite",e=>(e.clear(),a(e.transaction)))}e.s(["clear",()=>s,"del",()=>i,"get",()=>n,"set",()=>o],96598),e.s(["LocalStorage",0,{async saveKey(e,t){let a=JSON.stringify(t);await o(e,a)},async getKey(e){let t=await n(e);return t?JSON.parse(t):null},async removeKey(e){await i(e)},async saveBlob(e,t){await o(e,t)},async getBlob(e){let t=await n(e);return t||null}}],56043)},53347,65608,14298,e=>{"use strict";e.i(75849);var t=e.i(82321);(0,t.registerVersion)("firebase","12.10.0","app"),e.s([],65608);var a=t;e.i(88849),e.s(["getApps",()=>a.getApps,"initializeApp",()=>a.initializeApp],14298);var a=t;e.i(39021);var r=e.i(60731);function n(e,t){if(t)return t;throw Error(`Missing required environment variable: ${e}`)}let o={apiKey:n("NEXT_PUBLIC_FIREBASE_API_KEY","AIzaSyAOa_iuQE9HVTtDIlYsgAq8F5wSByc2UP8"),authDomain:n("NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN","smaran-60edf.firebaseapp.com"),projectId:n("NEXT_PUBLIC_FIREBASE_PROJECT_ID","smaran-60edf"),storageBucket:n("NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET","smaran-60edf.firebasestorage.app"),messagingSenderId:n("NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID","136371335511"),appId:n("NEXT_PUBLIC_FIREBASE_APP_ID","1:136371335511:web:1ecc0aca92972babb20e12")},i=(0,a.initializeApp)(o),s=(0,r.getAuth)(i);(0,r.setPersistence)(s,r.browserLocalPersistence),e.s(["default",0,s,"firebaseConfig",()=>o],53347)},42368,e=>{"use strict";let t="GOOGLE",a="GUEST",r="APPLE",n="Phone Number";e.s(["AADHAAR_BACK_SCAN_API_URL",0,"https://api.smarana.ai/feature/v1/aadhaar/scan/back","AADHAAR_CARDS_LIST_API_URL",0,"https://api.smarana.ai/feature/v1/aadhaar/cards","AADHAAR_FRONT_SCAN_API_URL",0,"https://api.smarana.ai/feature/v1/aadhaar/scan/front","AADHAAR_FULL_SCAN_API_URL",0,"https://api.smarana.ai/feature/v1/aadhaar/scan/full","APP_HEART_BEAT_API_URL",0,"https://api.smarana.ai/orchestrator/v1/account/heartbeat/save","AuthProviders",0,{PHONE:n,GOOGLE:t,APPLE:r,GUEST:a},"BANK_ACCOUNT_SCAN_API_URL",0,"https://api.smarana.ai/feature/v1/bank/accounts/scan","DATE_OF_BIRTH",0,"dob","DELETE_AADHAAR_CARD_API_URL",0,"https://api.smarana.ai/feature/v1/aadhaar/cards","DELETE_BANK_ACCOUNT_API_URL",0,"https://api.smarana.ai/feature/v1/bank/accounts","DELETE_DRVL_CARD_API_URL",0,"https://api.smarana.ai/feature/v1/drvl","DELETE_PAN_CARD_API_URL",0,"https://api.smarana.ai/feature/v1/pan","DELETE_PASSPORT_API_URL",0,"https://api.smarana.ai/feature/v1/passport","DESKTOP_APP_UPDATE_URL",0,"https://smarana.ai/desktopForceUpdate.json","DRVL_SCAN_API_URL",0,"https://api.smarana.ai/feature/v1/drvl/scan","FAMILY_TREE_API_URL",0,"https://api.smarana.ai/orchestrator/v1/user/profile/family-tree","FIRSTNAME",0,"firstName","GET_APP_HASH_URL",0,"https://api.smarana.ai/orchestrator/v1/otp/hash","GET_CAS_DATA_URL",0,"https://api.smarana.ai/feature/v1/cas/statement","GET_LINKED_ACCOUNTS_URL",0,"https://api.smarana.ai/orchestrator/v1/account/linked","GET_SAFEKEEPER_ASSIGNEE_URL",0,"https://api.smarana.ai/orchestrator/v1/user/safekeeper/assignee","GET_SAFEKEEPER_URL",0,"https://api.smarana.ai/orchestrator/v1/user/safekeeper","GET_USER_DATA_URL",0,"https://api.smarana.ai/orchestrator/v1/user/profile/search","IS_ONBOARDED",0,"false","LASTNAME",0,"lastName","LOGGED_OUT",0,"LOGGED_OUT","LOGIN_APPLE",0,r,"LOGIN_GOOGLE",0,t,"LOGIN_GUEST",0,a,"LOGIN_PHONE_NUMBER",0,n,"MIDDLENAME",0,"middleName","ORCHESTRATOR_DOWNLOAD_FOLDER_AADHAR",0,"Aadhar","ORCHESTRATOR_DOWNLOAD_FOLDER_BANK_ACCOUNTS",0,"Bank Accounts","ORCHESTRATOR_DOWNLOAD_FOLDER_DRIVING_LICENSE",0,"Driving License","ORCHESTRATOR_DOWNLOAD_FOLDER_PAN_CARD",0,"Pan Card","ORCHESTRATOR_DOWNLOAD_FOLDER_PASSPORT",0,"Passport","PAN_CARD_FIELD",0,"panCard","PAN_SCAN_API_URL",0,"https://api.smarana.ai/feature/v1/pan/scan","PASSPORT_SCAN_BACK_API_URL",0,"https://api.smarana.ai/feature/v1/passport/scan/back","PASSPORT_SCAN_FRONT_API_URL",0,"https://api.smarana.ai/feature/v1/passport/scan/front","PASSPORT_SCAN_FULL_API_URL",0,"https://api.smarana.ai/feature/v1/passport/scan/full","POST_LINKED_ACCOUNTS_URL",0,"https://api.smarana.ai/orchestrator/v1/account/linked/save","POST_SAFEKEEPER_ASSIGNEE_STATUS_URL",0,"https://api.smarana.ai/orchestrator/v1/user/safekeeper/assignee/status","POST_SAFEKEEPER_URL",0,"https://api.smarana.ai/orchestrator/v1/user/safekeeper","PRIMARY_ACCOUNT",0,"PrimaryAccount","SAVE_AADHAAR_CARDS_API_URL",0,"https://api.smarana.ai/feature/v1/aadhaar/save","SAVE_BANK_ACCOUNT_API_URL",0,"https://api.smarana.ai/feature/v1/bank/accounts/save","SAVE_DRVL_CARDS_API_URL",0,"https://api.smarana.ai/feature/v1/drvl/save","SAVE_GOOGLE_TOKEN_URL",0,"https://api.smarana.ai/orchestrator/v1/user/token/google","SAVE_PAN_CARDS_API_URL",0,"https://api.smarana.ai/feature/v1/pan/save","SAVE_PASSPORT_API_URL",0,"https://api.smarana.ai/feature/v1/passport/save","SAVE_USER_PROFILE_URL",0,"https://api.smarana.ai/orchestrator/v1/user/profile","SCOPES_DENIED",0,"SCOPES_DENIED","SEND_OTP_URL_WHATSAPP",0,"https://api.smarana.ai/orchestrator/v1/otp/send/ios","USER_ACCOUNT",0,"UserAccount","VERIFY_OTP_URL_WHATSAPP",0,"https://api.smarana.ai/orchestrator/v1/otp/verify/ios"])},31220,e=>{"use strict";var t=e.i(42368),a=e.i(56043);let r="smarana_account_profile_rows";function n(){return`row_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}async function o(){let e=await a.LocalStorage.getKey(r);return Array.isArray(e)?e:[]}async function i(e){await a.LocalStorage.saveKey(r,e)}async function s(){await a.LocalStorage.removeKey(r)}function l(e){if("string"==typeof e&&e.trim())return e.trim();if(Array.isArray(e)){for(let t of e)if("string"==typeof t&&t.trim())return t.trim()}return null}function u(e){try{let t=e.split(".")[1];if(!t)return null;let a=t.replace(/-/g,"+").replace(/_/g,"/"),r=a+"=".repeat((4-a.length%4)%4),n=JSON.parse(atob(r)),o=n.firebase?.identities,i=l(n.email)??l(o?.email),s=l(n.phone_number)??l(o?.phone)??l(o?.phone_number);
1return{iss:"string"==typeof n.iss?n.iss:null,email:i?.includes("@")?i:null,phone:s}}catch{return null}}function c(e){return e?u(e)?.email??null:null}function f(e){return e?u(e)?.phone??null:null}function d(e){if(!e)return!1;let t=u(e)?.iss??null;return"accounts.google.com"===t||"https://accounts.google.com"===t}function p(e){for(let t of[e.idToken,e.jwtToken].filter(Boolean))if(d(t))return t;return null}function A(e,...t){if(e.email?.includes("@"))return e.email;for(let e of t){let t=c(e);if(t)return t}return e.uid}function m(e,t){return e.phoneNumber??t??e.uid}function _(e){return e.includes("@")}async function g(e,a){if(!e||!a||e===a)return;let r=await o(),n=!1,s=r.map(r=>{if(r.key!==t.LOGIN_GOOGLE)return r;let o=w(r.value),i=r.accountHolderEmail===e,s=o.email===e;return i||s?(o.email=a,n=!0,{...r,accountHolderEmail:i?a:r.accountHolderEmail,value:JSON.stringify(o)}):r});n&&await i(s)}async function h(e,t){let a=A(e,t);_(a)&&(await g(e.uid,a),await G())}async function E(e){let a=await o(),r=e.provider===t.LOGIN_GOOGLE?t.LOGIN_GOOGLE:t.LOGIN_PHONE_NUMBER,n=JSON.stringify(e.token),s=!1,l=a.map(a=>{if(a.tag!==t.USER_ACCOUNT&&a.tag!==t.PRIMARY_ACCOUNT||a.key!==r)return a;let o=w(a.value),i=a.accountHolderEmail,l=o.email;return i!==e.id&&l!==e.id?a:(o.email=e.id,o.tokens=n,s=!0,{...a,accountHolderEmail:e.id,value:JSON.stringify(o)})});s?await i(l):await I(e)}async function T(e){let a=await v();if(!a){await I(e),await E(e);return}if(a.provider!==e.provider){await s(),await I(e),await E(e);return}if(a.id===e.id)return void await E(e);if(e.provider===t.LOGIN_GOOGLE&&_(e.id)&&!_(a.id)){await g(a.id,e.id),await E(e);return}a.id!==e.id&&(await s(),await I(e),await E(e))}function w(e){try{let t=JSON.parse(e);return{email:String(t.email??""),enabled:!1!==t.enabled,tokens:String(t.tokens??"")}}catch{return{email:"",enabled:!0,tokens:""}}}function O(e){try{let t=e?JSON.parse(e):null;return{serverAuthToken:t?.serverAuthToken??"",idToken:t?.idToken??"",jwtToken:t?.jwtToken??"",expiresAt:t?.expiresAt}}catch{return{serverAuthToken:"",jwtToken:"",idToken:""}}}async function k(e){let t=await o(),a=new Map;for(let r of t.filter(t=>t.tag===e)){let e=w(r.value),t={id:r.accountHolderEmail,values:e},n=a.get(r.key)??[];n.push(t),a.set(r.key,n)}return a}async function S(){return await G(),Object.fromEntries(await k(t.USER_ACCOUNT))}async function v(){let e=await k(t.PRIMARY_ACCOUNT);if(0===e.size)return null;let a=e.keys().next().value;if(!a)return null;let r=e.get(a)?.[0];return r?{id:r.values.email,provider:a,isPrimary:!0,token:O(r.values.tokens)}:null}async function R(e,t,a,r){let s=await o(),l=JSON.stringify(t),u=s.filter(t=>t.tag!==a||t.key!==e||t.accountHolderEmail!==r);u.push({id:n(),key:e,accountHolderEmail:r,tag:a,value:l}),await i(u)}async function y(e){let a=await o(),r=a.find(a=>a.tag===t.USER_ACCOUNT&&a.accountHolderEmail===e);if(!r)return;let s=a.filter(e=>e.tag!==t.PRIMARY_ACCOUNT);s.push({id:n(),key:r.key,accountHolderEmail:r.accountHolderEmail,tag:t.PRIMARY_ACCOUNT,value:r.value}),await i(s)}async function L(e){let a=await o();await i(a.filter(a=>a.tag!==t.USER_ACCOUNT||a.accountHolderEmail!==e))}async function P(e,a,r={primary:!0,user:!0}){let n={email:e,enabled:!0,tokens:JSON.stringify(a)};r.primary&&await R(t.LOGIN_PHONE_NUMBER,n,t.PRIMARY_ACCOUNT,e),r.user&&await R(t.LOGIN_PHONE_NUMBER,n,t.USER_ACCOUNT,e)}async function N(e,a,r={primary:!0,user:!0}){let n={email:e,enabled:!0,tokens:JSON.stringify(a)};r.primary&&await R(t.LOGIN_GOOGLE,n,t.PRIMARY_ACCOUNT,e),r.user&&await R(t.LOGIN_GOOGLE,n,t.USER_ACCOUNT,e)}function C(e){return w(e.value).email.includes("@")?2:1}async function G(){let e=await o(),a=new Map;for(let r of e.filter(e=>e.tag===t.USER_ACCOUNT)){let e=w(r.value),n=r.accountHolderEmail.toLowerCase();r.key===t.LOGIN_GOOGLE&&e.email.includes("@")&&(n=e.email.toLowerCase());let o=`${r.key}::${n}`,i=a.get(o);if(!i||C(r)>C(i)){let n=r;r.key===t.LOGIN_GOOGLE&&e.email.includes("@")&&(n={...r,accountHolderEmail:e.email,value:JSON.stringify(e)}),a.set(o,n)}}let r=[...a.values()],n=new Set(r.map(e=>e.accountHolderEmail)),s=[...r,...e.filter(e=>e.tag!==t.USER_ACCOUNT&&(e.tag!==t.PRIMARY_ACCOUNT||!!n.has(e.accountHolderEmail)))];s.length!==e.length&&await i(s)}async function I(e){let a=await k(t.PRIMARY_ACCOUNT),r=await k(t.USER_ACCOUNT);if(!(a.size>
10)&&!(r.size>0)){if(e.provider===t.LOGIN_GOOGLE)return void await N(e.id,e.token,{primary:!0,user:!0});e.provider===t.LOGIN_PHONE_NUMBER&&await P(e.id,e.token,{primary:!0,user:!0})}}function U(e,a){let r=new Set,n=e?function(e){if(e.provider===t.LOGIN_GOOGLE){let t=p(e.token);return t?t:e.token.jwtToken?.trim()||null}return e.token.jwtToken?.trim()||null}(e):null;if(n&&r.add(n),!a)return[...r];for(let[e,n]of Object.entries(a))for(let a of n){let n=function(e,a){let r=O(a);return e===t.LOGIN_GOOGLE?p(r):r.jwtToken?.trim()||null}(e,a.values.tokens);n&&r.add(n)}return[...r]}function D(e){if(!e)return[];let t=new Map;for(let[a,r]of Object.entries(e))for(let e of r){let r=e.values.email?.includes("@")?e.values.email:e.id;if(!r)continue;let n=`${a}:${r.toLowerCase()}`;t.has(n)||t.set(n,{id:r,provider:a})}return[...t.values()]}e.s(["clearAccountRegistry",()=>s,"collectLinkedAccountJwtTokens",()=>U,"createPrimaryAccount",()=>y,"dedupeLinkedAccountRegistry",()=>G,"deleteUserAccount",()=>L,"emailFromIdToken",()=>c,"fetchProfileDataByTag",()=>k,"getLinkedAccountsRecord",()=>S,"getPrimaryAccount",()=>v,"googleHeartbeatJwtFromTokens",()=>p,"isGoogleOAuthJwt",()=>d,"listLinkedAccountSummaries",()=>D,"migrateCurrentSessionIfNeeded",()=>I,"normalizeGoogleRegistryForUser",()=>h,"persistAccountTokensInRegistry",()=>E,"phoneFromIdToken",()=>f,"reconcileRegistryOnSignIn",()=>T,"resolveGoogleAccountId",()=>A,"resolvePhoneAccountId",()=>m,"saveGoogleAccountTokens",()=>N,"savePhoneAccountTokens",()=>P])},79074,90336,e=>{"use strict";var t=e.i(42368);e.i(39021);var a=e.i(60731);e.i(65608);var r=e.i(14298),n=e.i(53347),o=e.i(56043),i=e.i(31220);let s=["openid","email","profile","https://www.googleapis.com/auth/user.gender.read","https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/gmail.readonly"],l="smarana_google_oauth_tokens",u="smarana-google-link";class c extends Error{code=t.SCOPES_DENIED;constructor(){super("Required Google permissions were not granted."),this.name="GoogleScopesDeniedError"}}class f extends Error{constructor(){super("Your browser blocked the Google sign-in popup. Allow popups for this site and try again."),this.name="GooglePopupBlockedError"}}let d=null,p=null,A=null;function m(){let e=window.smaranaDesktop;return!!e?.isDesktop}function _(){let e=window.smaranaDesktop;return e?.isDesktop&&e.googleOAuthBrowser?e:null}function g(){let e=(0,r.getApps)().find(e=>e.name===u)??(0,r.initializeApp)(n.firebaseConfig,u);return(0,a.getAuth)(e)}function h(){}function E(){let e=new a.GoogleAuthProvider;for(let t of s)"openid"!==t&&"email"!==t&&"profile"!==t&&e.addScope(t);return e.setCustomParameters({prompt:"consent",access_type:"offline"}),e}function T(e){if(e instanceof Error){var t;return"auth/popup-blocked"===(t="code"in e?String(e.code):"")||"auth/cancelled-popup-request"===t?new f:e}return Error("Google authorization failed.")}async function w(e){let t=_();if(!t?.googleOAuthBrowser)throw Error("Desktop Google browser sign-in is not available.");let r=await t.googleOAuthBrowser({scopes:[...s]}),o=a.GoogleAuthProvider.credential(r.idToken,r.accessToken),i="link"===e?g():n.default;return(0,a.signInWithCredential)(i,o)}async function O(e){if(200!==(await fetch("https://gmail.googleapis.com/gmail/v1/users/me/messages?q=has:attachment&maxResults=1",{headers:{Authorization:`Bearer ${e}`}})).status)throw new c}async function k(e,a){let r=await fetch(t.SAVE_GOOGLE_TOKEN_URL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jwtToken:e,serverAuth:a})});if(!r.ok){let e=await r.text().catch(()=>"");throw Error(`Google sign-in failed (${r.status})${e?`: ${e}`:""}`)}let n=await r.json().catch(()=>null);if(!n)throw Error("Google sign-in returned an empty response.");if(n.error&&!n.customUserToken)throw Error(n.error);return n}function S(){if(m()&&_()){A=w(n.default.currentUser?"link":"signin"),d=null,p=null;return}let e=E();if(n.default.currentUser){p=(0,a.signInWithPopup)(g(),e),d=null;return}d=(0,a.signInWithPopup)(n.default,e),p=null}async function v(){if(A){let e=A;return A=null,e}let e=d;return(d=null,e)?e:m()&&_()?w("signin"):(0,a.signInWithPopup)(n.default,E())}async function R(){if(A){let e=A;return A=null,e}let e=p;return(p=null,e)?e:m()&&_()?w("link"):(0,a.signInWithPopup)(g(),E())}async function y(){let e=await o.LocalStorage.getKey(l);if(!e)return null;try{return JSON.parse(e)}catch{return null}}async function L(){await o.LocalStorage.removeKey(l)}function P(){d=null,p=null,A=null}async function N(e){await o.LocalStorage.saveKey(l,JSON.stringify(e))}async function C(e){await N(e)}function G(e){let t=e.token.idToken||e.token.jwtToken;return t?.trim()?{jwtToken:e.token.jwtToken||t,idToken:t,accessToken:e.token.serverAuthToken??"",expiresAt:e.token.expiresAt??Date.now()+33e5}:null}function I(e,a){let r={serverAuthToken:a.accessToken,jwtToken:a.jwtToken,idToken:a.idToken,expiresAt:a.expiresAt};return{id:(0,i.resolveGoogleAccountId)(e,a.idToken,a.jwtToken),provider:t.AuthProviders.GOOGLE,isPrimary:!0,token:r}}async function U(){let e,t;try{e=await v()}catch(e){throw T(e)}let r=a.GoogleAuthProvider.credentialFromResult(e);if(!r?.idToken||!r?.accessToken)throw await (0,a.signOut)(n.default).
1catch(()=>{}),Error("Google sign-in did not return the required tokens.");await O(r.accessToken);try{t=(await k(r.idToken,"")).customUserToken}catch(e){console.warn("[GoogleAuth] Orchestrator token exchange failed:",e)}if(t){let e={jwtToken:r.idToken,idToken:r.idToken,accessToken:r.accessToken,expiresAt:Date.now()+33e5};return await N(e),await (0,a.signOut)(n.default),{mode:"custom",customUserToken:t}}let o={jwtToken:r.idToken,idToken:r.idToken,accessToken:r.accessToken,expiresAt:Date.now()+33e5};return await N(o),{mode:"firebase",user:e.user,tokens:o}}async function D(){let e,t=g();try{e=await R()}catch(e){throw T(e)}let r=a.GoogleAuthProvider.credentialFromResult(e),n=r?.idToken??null,o=r?.accessToken??null;if(await (0,a.signOut)(t).catch(()=>{}),!n||!o)throw Error("Google link did not return the required tokens.");await O(o);try{await k(n,"")}catch(e){console.warn("[GoogleAuth] Orchestrator token exchange failed during link:",e)}let s={jwtToken:n,idToken:n,accessToken:o,expiresAt:Date.now()+33e5};await N(s);let l=(0,i.emailFromIdToken)(n)??(0,i.resolveGoogleAccountId)(e.user,n);if(!l.includes("@"))throw Error("Google link did not return an email address.");return{email:l,tokens:s}}e.s(["GoogleScopesDeniedError",()=>c,"buildGoogleAccount",()=>I,"clearStoredGoogleTokens",()=>L,"exchangeGoogleLoginWithBackend",()=>k,"getStoredGoogleTokens",()=>y,"performGoogleWebLink",()=>D,"performGoogleWebSignIn",()=>U,"preloadGoogleAuth",()=>h,"resetPendingGoogleSignIn",()=>P,"saveStoredGoogleTokens",()=>C,"startGoogleAuthCodeFromUserGesture",()=>S,"storedGoogleTokensFromAccount",()=>G],90336);let b="smarana_cas_statement_v1",F=null;async function H(){let e=await (0,i.getPrimaryAccount)();if(e?.provider===t.AuthProviders.GOOGLE)return!0;let a=await (0,i.getLinkedAccountsRecord)();return(a[t.AuthProviders.GOOGLE]?.length??0)>0}async function B(e){let a=await (0,i.getLinkedAccountsRecord)(),r=(a[t.AuthProviders.GOOGLE]?.length??0)>0||(await (0,i.getPrimaryAccount)())?.provider===t.AuthProviders.GOOGLE,n=await y(),o=(0,i.emailFromIdToken)(n?.idToken)??(0,i.emailFromIdToken)(n?.jwtToken),s=e.trim().toLowerCase(),l=!!o&&(o.toLowerCase()===s||s===o.toLowerCase());(!r||l)&&(await L(),await ed(),ep())}async function j(){if(!await H())return await L(),null;let e=await y();if(!e?.accessToken)return null;let a=(0,i.emailFromIdToken)(e.idToken)??(0,i.emailFromIdToken)(e.jwtToken);if(!a)return e;let r=await (0,i.getLinkedAccountsRecord)(),n=await (0,i.getPrimaryAccount)(),o=new Set((r[t.AuthProviders.GOOGLE]??[]).map(e=>(e.values.email||e.id).trim().toLowerCase()).filter(e=>e.includes("@")));return(n?.provider===t.AuthProviders.GOOGLE&&n.id.includes("@")&&o.add(n.id.toLowerCase()),o.size>0&&!o.has(a.toLowerCase()))?(await L(),null):e}function K(e){return null==e?0:"number"==typeof e?Number.isFinite(e)?e:0:parseFloat(String(e).replace(/[â¹,\s]/g,""))||0}function M(e){return`â¹${e.toLocaleString("en-IN",{maximumFractionDigits:2})}`}function J(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")||"item"}function x(e){if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return e}}function $(e){let t=x(e);if(null==t)return null;for(let e=0;e<4;e++){if("string"==typeof t){t=x(t);continue}if("object"!=typeof t||null===t)break;let e=t;if(null!=e.portfolio||null!=e.stock||null!=e.mutualFund||null!=e.dematAccounts)return W(e);let a=e.response??e.data??e.statement??e.casStatement??e.result;if(null==a)break;t=a}return null}function V(e){return"string"==typeof e&&e.trim().length>0}function W(e){let t=(e.stock??[]).filter(e=>!!e&&"object"==typeof e).filter(e=>V(e.stockName)),a=(e.mutualFund??[]).filter(e=>!!e&&"object"==typeof e).filter(e=>V(e.fundName)),r=(e.dematAccounts??[]).filter(e=>!!e&&"object"==typeof e).filter(e=>V(e.name)),n=(e.portfolio?.portfolioComposition??[]).filter(e=>!!e&&"object"==typeof e).filter(e=>V(e.name)),o=null==e.portfolio?e.portfolio:{...e.portfolio,portfolioComposition:n};return{...e,stock:t,mutualFund:a,dematAccounts:r,portfolio:o}}async function Y(){let e=await j();return e?.idToken?e.idToken:e?.jwtToken?e.jwtToken:null}async function z(e=!1){let t=await o.LocalStorage.getKey(b);return!t?.data||!e&&Date.now()-t.fetchedAt>9e5?null:t}async function q(e){let t=await z(e?.ignoreTtl??!1);return t?.data?W(t.data):null}async function X(){let e=await q(),t=e?.portfolio?.grandTotal;return t?K(t):0}async function Q(){let e=await q(),t=(e?.stock??[]).filter(e=>!!e&&"object"==typeof e&&V(e.stockName));return t.length?t.reduce((e,t)=>
1e+K(t.valuation),0):0}async function Z(){let e=await q(),t=(e?.mutualFund??[]).filter(e=>!!e&&"object"==typeof e&&V(e.fundName));return t.length?t.reduce((e,t)=>e+K(t.valuation),0):0}function ee(e){return el(e?.stock).length>0}function et(e){return eu(e?.mutualFund).length>0}function ea(e){return(ec(e?.portfolio)?.portfolioComposition.length??0)>0}function er(e){return ef(e?.dematAccounts).length>0}async function en(e){await o.LocalStorage.saveKey(b,{fetchedAt:Date.now(),data:e})}async function eo(){if(!await H())return await ed(),ep(),null;let e=await Y();if(!e)return null;let a=await fetch(t.GET_CAS_DATA_URL,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({jwtToken:e})});if(!a.ok)return console.warn("[CAS] fetch failed:",a.status),null;let r=$(await a.json().catch(()=>null));return r&&await en(r),r}async function ei(e){if(!await H())return await ed(),ep(),null;if(!e?.forceRefresh){let t=await q();if(t)return e?.backgroundRefresh&&eo().catch(()=>void 0),t}return F||(F=eo().finally(()=>{F=null}))}async function es(){return eo()}function el(e){let t=(e??[]).filter(e=>!!e&&"object"==typeof e&&V(e.stockName));if(!t.length)return[];let a=t.reduce((e,t)=>e+K(t.valuation),0);return t.map((e,t)=>{let r=K(e.valuation),n=K(e.quantity),o=K(e.currentPrice),i=String(e.stockName).trim();return{id:`${J(i)}-${t}`,scripName:i,provider:"Demat Broker",value:M(r),allocation:a>0?Math.round(r/a*1e3)/10:0,dematId:"",quantity:n,ltp:o>0?M(o):e.currentPrice||"â",status:"Active"}})}function eu(e){let t=(e??[]).filter(e=>!!e&&"object"==typeof e&&V(e.fundName));if(!t.length)return[];let a=t.reduce((e,t)=>e+K(t.valuation),0);return t.map((e,t)=>{let r=String(e.fundName).replace(/\+/g," ").replace(/\s+/g," ").trim(),n=K(e.valuation),o=r.match(/^([A-Z\s]+?)(?=\(|$)/i),i=o?o[1].trim():"Various";return{id:`${J(r)}-${t}`,schemeName:r,provider:i,value:M(n),allocation:a>0?Math.round(n/a*1e3)/10:0,folioNumber:"",units:K(e.units),nav:e.nav||"â",status:"Active"}})}function ec(e){if(!e)return null;let t=(e.portfolioComposition??[]).filter(e=>!!e&&"object"==typeof e).filter(e=>V(e.name));return t.length?{grandTotal:e.grandTotal||M(0),statementPeriod:(e.statementPeriod||"").replace(/\+/g," "),portfolioComposition:t.map(e=>({name:String(e.name).trim(),valuation:e.valuation??M(0)})),key:"portfolio-overview"}:null}function ef(e){let t=(e??[]).filter(e=>!!e&&"object"==typeof e&&V(e.name));return t.length?t.map((e,t)=>({id:`${J(String(e.name))}-${t}`,name:String(e.name).trim(),valuation:e.valuation??M(0)})):[]}async function ed(){await o.LocalStorage.removeKey(b)}function ep(){F=null}e.s(["CAS_STATEMENT_CACHE_KEY",0,b,"casHasDematAccounts",()=>er,"casHasMutualFunds",()=>et,"casHasPortfolio",()=>ea,"casHasStocks",()=>ee,"clearCasStatementCache",()=>ed,"extractCasPayload",()=>$,"fetchCasStatementFromApi",()=>eo,"formatInr",()=>M,"getCachedMutualFundsTotal",()=>Z,"getCachedPortfolioGrandTotal",()=>X,"getCachedStocksTotal",()=>Q,"getCasStatement",()=>ei,"isGoogleLinkedInBrowser",()=>H,"mapCasDematAccounts",()=>ef,"mapCasMutualFundsToAssets",()=>eu,"mapCasPortfolioToOverview",()=>ec,"mapCasStocksToAssets",()=>el,"normalizeCasStatement",()=>W,"parseMoney",()=>K,"readCachedCasStatement",()=>q,"resetCasStatementInFlight",()=>ep,"revokeUnlinkedGoogleBrowserAccess",()=>B,"syncCasInvestmentsFromApi",()=>es],79074)}]);
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.