1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,92953,897427,308070,683877,361068,e=>{"use strict";let t,r,a;var n,i,s=e.i(247167);let o=function(e){let t=[],r=0;for(let a=0;a<e.length;a++){let n=e.charCodeAt(a);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:((64512&n)==55296&&a+1<e.length&&(64512&e.charCodeAt(a+1))==56320?(n=65536+((1023&n)<<10)+(1023&e.charCodeAt(++a)),t[r++]=n>>18|240,t[r++]=n>>12&63|128):t[r++]=n>>12|224,t[r++]=n>>6&63|128),t[r++]=63&n|128)}return t},l=function(e){let t=[],r=0,a=0;for(;r<e.length;){let n=e[r++];if(n<128)t[a++]=String.fromCharCode(n);else if(n>191&&n<224){let i=e[r++];t[a++]=String.fromCharCode((31&n)<<6|63&i)}else if(n>239&&n<365){let i=((7&n)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[a++]=String.fromCharCode(55296+(i>>10)),t[a++]=String.fromCharCode(56320+(1023&i))}else{let i=e[r++],s=e[r++];t[a++]=String.fromCharCode((15&n)<<12|(63&i)<<6|63&s)}}return t.join("")},c={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();let r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,a=[];for(let t=0;t<e.length;t+=3){let n=e[t],i=t+1<e.length,s=i?e[t+1]:0,o=t+2<e.length,l=o?e[t+2]:0,c=n>>2,h=(3&n)<<4|s>>4,u=(15&s)<<2|l>>6,f=63&l;!o&&(f=64,i||(u=64)),a.push(r[c],r[h],r[u],r[f])}return a.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(o(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):l(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let r=t?this.charToByteMapWebSafe_:this.charToByteMap_,a=[];for(let t=0;t<e.length;){let n=r[e.charAt(t++)],i=t<e.length?r[e.charAt(t)]:0,s=++t<e.length?r[e.charAt(t)]:64,o=++t<e.length?r[e.charAt(t)]:64;if(++t,null==n||null==i||null==s||null==o)throw new h;let l=n<<2|i>>4;if(a.push(l),64!==s){let e=i<<4&240|s>>2;if(a.push(e),64!==o){let e=s<<6&192|o;a.push(e)}}}return a},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e,e>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};
1class h extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}let u=function(e){let t=o(e);return c.encodeByteArray(t,!0)},f=function(e){return u(e).replace(/\./g,"")},d=function(e){try{return c.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null},p=()=>(()=>{try{return("u">typeof self?self:"u">typeof window?window:e.g).__FIREBASE_DEFAULTS__||(()=>{if(void 0===s.default||void 0===s.default.env)return;let e=s.default.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)})()||(()=>{let e;if("u"<typeof document)return;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}let t=e&&d(e[1]);return t&&JSON.parse(t)})()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}})()?.config;class g{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch(()=>{}),1===e.length?e(t):e(t,r))}}}function m(){return"u">typeof WorkerGlobalScope&&"u">typeof self&&self instanceof WorkerGlobalScope}function b(){try{return"object"==typeof indexedDB}catch(e){return!1}}function w(){return new Promise((e,t)=>{try{let r=!0,a="validate-browser-context-for-indexeddb-analytics-module",n=self.indexedDB.open(a);n.onsuccess=()=>{n.result.close(),r||self.indexedDB.deleteDatabase(a),e(!0)},n.onupgradeneeded=()=>{r=!1},n.onerror=()=>{t(n.error?.message||"")}}catch(e){t(e)}})}class y extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,y.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,v.prototype.create)}}class v{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){var r,a;let n=t[0]||{},i=`${this.service}/${e}`,s=this.errors[e],o=s?(r=s,a=n,r.replace(E,(e,t)=>{let r=a[t];return null!=r?String(r):`<${t}?>`})):"Error",l=`${this.serviceName}: ${o} (${i}).`;return new y(i,l,n)}}let E=/\{\$([^}]+)}/g;function I(e,t){if(e===t)return!0;let r=Object.keys(e),a=Object.keys(t);for(let n of r){if(!a.includes(n))return!1;let r=e[n],i=t[n];if(S(r)&&S(i)){if(!I(r,i))return!1}else if(r!==i)return!1}for(let e of a)if(!r.includes(e))return!1;return!0}function S(e){return null!==e&&"object"==typeof e}e.s(["Deferred",0,g,"ErrorFactory",0,v,"FirebaseError",0,y,"areCookiesEnabled",0,function(){return!("u"<typeof navigator)&&!!navigator.cookieEnabled},"assert",0,function(e,t){if(!e)throw Error("Firebase Database (${JSCORE_VERSION}) INTERNAL ASSERT FAILED: "+t)},"base64Decode",0,d,"base64urlEncodeWithoutPadding",0,f,"calculateBackoffMillis",0,function(e,t=1e3,r=2){let a=t*Math.pow(r,e),n=Math.round(.5*a*(Math.random()-.5)*2);return Math.min(144e5,a+n)},"deepEqual",0,I,"getDefaultAppConfig",0,p,"getModularInstance",0,function(e){return e&&e._delegate?e._delegate:e},"isBrowser",0,function(){return"u">typeof window||m()},"isBrowserExtension",0,function(){let e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof e&&void 0!==e.id},"isIndexedDBAvailable",0,b,"isWebWorker",0,m,"validateIndexedDBOpenable",0,w],897427);class _{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}let C="[DEFAULT]";class D{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){let t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){let e=new g;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{let r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){let t=this.normalizeInstanceIdentifier(e?.identifier),r=e?.optional??!1;if(this.isInitialized(t)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:t})}catch(e){if(r)return null;throw e}if(r)return null;throw Error(`Service ${this.name} is not available`)}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:C})}catch(e){}for(let[e,t]of this.instancesDeferred.entries()){let r=this.normalizeInstanceIdentifier(e);try{let e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch(e){}}}}clearInstance(e=C){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){let e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(e=C){return this.instances.has(e)}getOptions(e=C){return this.instancesOptions.get(e)||{}}initialize(e={}){let{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let a=this.getOrInitializeService({instanceIdentifier:r,options:t});for(let[e,t]of this.instancesDeferred.entries())r===this.normalizeInstanceIdentifier(e)&&t.resolve(a);return a}onInit(e,t){let r=this.normalizeInstanceIdentifier(t),a=this.onInitCallbacks.get(r)??new Set;a.add(e),this.onInitCallbacks.set(r,a);let n=this.instances.get(r);return n&&e(n,r),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){let r=this.onInitCallbacks.get(t);if(r)for(let a of r)try{a(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){var r;let a=this.instances.get(e);if(!a&&this.component&&(a=this.component.instanceFactory(this.container,{instanceIdentifier:(r=e)===C?void 0:r,options:t}),this.instances.set(e,a),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(a,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,a)}catch{}return a||null}normalizeInstanceIdentifier(e=C){return this.component?this.component.multipleInstances?e:C:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class A{constructor(e){this.name=e,this.providers=new Map}addComponent(e){let t=this.getProvider(e.name);if(t.isComponentSet())throw Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);let t=new D(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}e.s(["Component",0,_,"ComponentContainer",0,A],308070);let T=[];(n=i||(i={}))[n.DEBUG=0]="DEBUG",n[n.VERBOSE=1]="VERBOSE",n[n.INFO=2]="INFO",n[n.WARN=3]="WARN",n[n.ERROR=4]="ERROR",n[n.SILENT=5]="SILENT";let B={debug:i.DEBUG,verbose:i.VERBOSE,info:i.INFO,warn:i.WARN,error:i.ERROR,silent:i.S
1ILENT},L=i.INFO,O={[i.DEBUG]:"log",[i.VERBOSE]:"log",[i.INFO]:"info",[i.WARN]:"warn",[i.ERROR]:"error"},N=(e,t,...r)=>{if(t<e.logLevel)return;let a=new Date().toISOString(),n=O[t];if(n)console[n](`[${a}] ${e.name}:`,...r);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)};class k{constructor(e){this.name=e,this._logLevel=L,this._logHandler=N,this._userLogHandler=null,T.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in i))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?B[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,i.DEBUG,...e),this._logHandler(this,i.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,i.VERBOSE,...e),this._logHandler(this,i.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,i.INFO,...e),this._logHandler(this,i.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,i.WARN,...e),this._logHandler(this,i.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,i.ERROR,...e),this._logHandler(this,i.ERROR,...e)}}e.s(["LogLevel",0,i,"Logger",0,k,"setLogLevel",0,function(e){T.forEach(t=>{t.setLogLevel(e)})},"setUserLogHandler",0,function(e,t){for(let r of T){let a=null;t&&t.level&&(a=B[t.level]),null===e?r.userLogHandler=null:r.userLogHandler=(t,r,...n)=>{let s=n.map(e=>{if(null==e)return null;if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return e.toString();if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch(e){return null}}).filter(e=>e).join(" ");r>=(a??t.logLevel)&&e({level:i[r].toLowerCase(),message:s,args:n,type:t.name})}}}],683877);let M=new WeakMap,$=new WeakMap,P=new WeakMap,R=new WeakMap,H=new WeakMap,j={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return $.get(e);if("objectStoreNames"===t)return e.objectStoreNames||P.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return F(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function F(e){if(e instanceof IDBRequest){let t;return(t=new Promise((t,r)=>{let a=()=>{e.removeEventListener("success",n),e.removeEventListener("error",i)},n=()=>{t(F(e.result)),a()},i=()=>{r(e.error),a()};e.addEventListener("success",n),e.addEventListener("error",i)})).then(t=>{t instanceof IDBCursor&&M.set(t,e)}).catch(()=>{}),H.set(t,e),t}if(R.has(e))return R.get(e);let a=function(e){if("function"==typeof e)return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(r||(r=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(V(this),t),F(M.get(this))}:function(...t){return F(e.apply(V(this),t))}:function(t,...r){let a=e.call(V(this),t,...r);return P.set(a,t.sort?t.sort():[t]),F(a)};return e instanceof IDBTransaction&&function(e){if($.has(e))return;let t=new Promise((t,r)=>{let a=()=>{e.removeEventListener("complete",n),e.removeEventListener("error",i),e.removeEventListener("abort",i)},n=()=>{t(),a()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),a()};e.addEventListener("complete",n),e.addEventListener("error",i),e.addEventListener("abort",i)});$.set(e,t)}(e),(t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(t=>e instanceof t)?new Proxy(e,j):e}(e);return a!==e&&(R.set(e,a),H.set(a,e)),a}let V=e=>H.get(e);function x(e,t,{blocked:r,upgrade:a,blocking:n,terminated:i}={}){let s=indexedDB.open(e,t),o=F(s);return a&&s.addEventListener("upgradeneeded",e=>{a(F(s.result),e.oldVersion,e.newVersion,F(s.transaction),e)}),r&&s.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),o.then(e=>{i&&e.addEventListener("close",()=>i()),n&&e.addEventListener("versionchange",e=>n(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o}let z=["get","getKey","getAll","getAllKeys","count"],W=["put","add","delete","clear"],U=new Map;function q(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(U.get(t))return U.get(t);let r=t.replace(/FromIndex$/,""),a=t!==r,n=W.includes(r);if(!(r in(a?IDBIndex:IDBObjectStore).prototype)||!(n||z.includes(r)))return;let i=async function(e,...t){let i=this.transaction(e,n?"readwrite":"readonly"),s=i.store;
1return a&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),n&&i.done]))[0]};return U.set(t,i),i}j={...a=j,get:(e,t,r)=>q(e,t)||a.get(e,t,r),has:(e,t)=>!!q(e,t)||a.has(e,t)};class G{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{let t;if(t=e.getComponent(),t?.type!=="VERSION")return null;{let t=e.getImmediate();return`${t.library}/${t.version}`}}).filter(e=>e).join(" ")}}let J="@firebase/app",K="0.15.0",X=new k("@firebase/app"),Y="[DEFAULT]",Z={[J]:"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/data-connect":"fire-data-connect","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","@firebase/ai":"fire-vertex","fire-js":"fire-js",firebase:"fire-js-all"},Q=new Map,ee=new Map,et=new Map;function er(e,t){try{e.container.addComponent(t)}catch(r){X.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function ea(e){let t=e.name;if(et.has(t))return X.debug(`There were multiple attempts to register component ${t}.`),!1;for(let r of(et.set(t,e),Q.values()))er(r,e);for(let t of ee.values())er(t,e);return!0}function en(e,t){let r=e.container.getProvider("heartbeat").getImmediate({optional:!0});return r&&r.triggerHeartbeat(),e.container.getProvider(t)}let ei=new v("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invali
1d-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."});class es{constructor(e,t,r){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new _("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw ei.create("app-deleted",{appName:this._name})}}function eo(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});let a={name:Y,automaticDataCollectionEnabled:!0,...t},n=a.name;if("string"!=typeof n||!n)throw ei.create("bad-app-name",{appName:String(n)});if(r||(r=p()),!r)throw ei.create("no-options");let i=Q.get(n);if(i)if(I(r,i.options)&&I(a,i.config))return i;else throw ei.create("duplicate-app",{appName:n});let s=new A(n);for(let e of et.values())s.addComponent(e);let o=new es(r,a,s);return Q.set(n,o),o}function el(e,t,r){let a=Z[e]??e;r&&(a+=`-${r}`);let n=a.match(/\s|\//),i=t.match(/\s|\//);if(n||i){let e=[`Unable to register library "${a}" with version "${t}":`];n&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),n&&i&&e.push("and"),i&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),X.warn(e.join(" "));return}ea(new _(`${a}-version`,()=>({library:a,version:t}),"VERSION"))}let ec="firebase-heartbeat-store",eh=null;function eu(){return eh||(eh=x("firebase-heartbeat-database",1,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(ec)}catch(e){console.warn(e)}}}).catch(e=>{throw ei.create("idb-open",{originalErrorMessage:e.message})})),eh}async function ef(e){try{let t=(await eu()).transaction(ec),r=await t.objectStore(ec).get(ep(e));return await t.done,r}catch(e){if(e instanceof y)X.warn(e.message);else{let t=ei.create("idb-get",{originalErrorMessage:e?.message});X.warn(t.message)}}}async function ed(e,t){try{let r=(await eu()).transaction(ec,"readwrite"),a=r.objectStore(ec);await a.put(t,ep(e)),await r.done}catch(e){if(e instanceof y)X.warn(e.message);else{let t=ei.create("idb-set",{originalErrorMessage:e?.message});X.warn(t.message)}}}function ep(e){return`${e.name}!${e.options.appId}`}class eg{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new eb(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){try{let e=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),t=em();if(this._heartbeatsCache?.heartbeats==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null)||this._heartbeatsCache.lastSentHeartbeatDate===t||this._heartbeatsCache.heartbeats.some(e=>e.date===t))return;if(this._heartbeatsCache.heartbeats.push({date:t,agent:e}),this._heartbeatsCache.heartbeats.length>30){let e=function(e){if(0===e.length)return -1;let t=0,r=e[0].date;for(let a=1;a<e.length;a++)e[a].date<r&&(r=e[a].date,t=a);return t}(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){X.warn(e)}}async getHeartbeatsHeader(){try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||0===this._heartbeatsCache.heartbeats.length)return"";let e=em(),{heartbeatsToSend:t,unsentEntries:r}=function(e,t=1024){let r=[],a=e.slice();for(let n of e){let e=r.find(e=>e.agent===n.agent);if(e){if(e.dates.push(n.date),ew(r)>t){e.dates.pop();break}}else if(r.push({agent:n.agent,dates:[n.date]}),ew(r)>t){r.pop();break}a=a.slice(1)}return{heartbeatsToSend:r,unsentEntries:a}}(this._heartbeatsCache.heartbeats),a=f(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,r.length>0?(this._heartbeatsCache.heartbeats=r,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}catch(e){return X.warn(e),""}}}function em(){return new Date().toISOString().substring(0,10)}class eb{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!b()&&w().then(()=>!0).catch(()=>!1)}async read(){if(!await this._canUseIndexedDBPromise)return{heartbeats:[]};{let e=await ef(this.app);return e?.heartbeats?e:{heartbeats:[]}}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return ed(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return ed(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}}function ew(e){return f(JSON.stringify({version:2,heartbeats:e})).length}ea(new _("platform-logger",e=>new G(e),"PRIVATE")),ea(new _("heartbeat",e=>new eg(e),"PRIVATE")),el(J,K,""),el(J,K,"esm2020"),el("fire-js",""),e.s(["SDK_VERSION",0,"12.15.0","_getProvider",0,en,"_registerComponent",0,ea,"getApp",0,function(e=Y){let t=Q.get(e);if(!t&&e===Y&&p())return eo();if(!t)throw ei.create("no-app",{appName:e});return t},"getApps",0,function(){return Array.from(Q.values())},"initializeApp",0,eo,"registerVersion",0,el],92953);let ey="@firebase/installations",ev="0.6.22",eE=`w:${ev}`,eI="FIS_v2",eS=new v("installations","Installations",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"not-registered":"Firebase Installation is not registered.","installation-not-found":"Firebase Installation not found.","request-failed":'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',"app-offline":"Could not process request. Application offline.","delete-pending-registration":"Can't delete installation while there is a pending registration request."});function e_(e){return e instanceof y&&e.code.includes("request-failed")}function eC({projectId:e}){return`https://firebaseinstallations.googleapis.com/v1/projects/${e}/installations`}
1function eD(e){return{token:e.token,requestStatus:2,expiresIn:Number(e.expiresIn.replace("s","000")),creationTime:Date.now()}}async function eA(e,t){let r=(await t.json()).error;return eS.create("request-failed",{requestName:e,serverCode:r.code,serverMessage:r.message,serverStatus:r.status})}function eT({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}async function eB(e){let t=await e();return t.status>=500&&t.status<600?e():t}async function eL({appConfig:e,heartbeatServiceProvider:t},{fid:r}){let a=eC(e),n=eT(e),i=t.getImmediate({optional:!0});if(i){let e=await i.getHeartbeatsHeader();e&&n.append("x-firebase-client",e)}let s={method:"POST",headers:n,body:JSON.stringify({fid:r,authVersion:eI,appId:e.appId,sdkVersion:eE})},o=await eB(()=>fetch(a,s));if(o.ok){let e=await o.json();return{fid:e.fid||r,registrationStatus:2,refreshToken:e.refreshToken,authToken:eD(e.authToken)}}throw await eA("Create Installation",o)}function eO(e){return new Promise(t=>{setTimeout(t,e)})}let eN=/^[cdef][\w-]{21}$/;function ek(e){return`${e.appName}!${e.appId}`}let eM=new Map;function e$(e,t){var r,a;let n,i=ek(e);eP(i,t),r=i,a=t,(n=(!eR&&"BroadcastChannel"in self&&((eR=new BroadcastChannel("[Firebase] FID Change")).onmessage=e=>{eP(e.data.key,e.data.fid)}),eR))&&n.postMessage({key:r,fid:a}),0===eM.size&&eR&&(eR.close(),eR=null)}function eP(e,t){let r=eM.get(e);if(r)for(let e of r)e(t)}let eR=null,eH="firebase-installations-store",ej=null;function eF(){return ej||(ej=x("firebase-installations-database",1,{upgrade:(e,t)=>{0===t&&e.createObjectStore(eH)}})),ej}async function eV(e,t){let r=ek(e),a=(await eF()).transaction(eH,"readwrite"),n=a.objectStore(eH),i=await n.get(r);return await n.put(t,r),await a.done,i&&i.fid===t.fid||e$(e,t.fid),t}async function ex(e){let t=ek(e),r=(await eF()).transaction(eH,"readwrite");await r.objectStore(eH).delete(t),await r.done}async function ez(e,t){let r=ek(e),a=(await eF()).transaction(eH,"readwrite"),n=a.objectStore(eH),i=await n.get(r),s=t(i);return void 0===s?await n.delete(r):await n.put(s,r),await a.done,s&&(!i||i.fid!==s.fid)&&e$(e,s.fid),s}async function eW(e){let t,r=await ez(e.appConfig,r=>{let a=function(e,t){if(0===t.registrationStatus){if(!navigator.onLine)return{installationEntry:t,registrationPromise:Promise.reject(eS.create("app-offline"))};let r={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},a=eU(e,r);return{installationEntry:r,registrationPromise:a}}return 1===t.registrationStatus?{installationEntry:t,registrationPromise:eq(e)}:{installationEntry:t}}(e,eJ(r||{fid:function(){try{var e;let t=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(t),t[0]=112+t[0]%16;let r=(e=t,btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_").substr(0,22));return eN.test(r)?r:""}catch{return""}}(),registrationStatus:0}));return t=a.registrationPromise,a.installationEntry});return""===r.fid?{installationEntry:await t}:{installationEntry:r,registrationPromise:t}}async function eU(e,t){try{let r=await eL(e,t);return eV(e.appConfig,r)}catch(r){throw e_(r)&&409===r.customData.serverCode?await ex(e.appConfig):await eV(e.appConfig,{fid:t.fid,registrationStatus:0}),r}}async function eq(e){let t=await eG(e.appConfig);for(;1===t.registrationStatus;)await eO(100),t=await eG(e.appConfig);if(0===t.registrationStatus){let{installationEntry:t,registrationPromise:r}=await eW(e);return r||t}return t}function eG(e){return ez(e,e=>{if(!e)throw eS.create("installation-not-found");return eJ(e)}
1)}function eJ(e){var t;return 1===(t=e).registrationStatus&&t.registrationTime+1e4<Date.now()?{fid:e.fid,registrationStatus:0}:e}async function eK({appConfig:e,heartbeatServiceProvider:t},r){let a=function(e,{fid:t}){return`${eC(e)}/${t}/authTokens:generate`}(e,r),n=function(e,{refreshToken:t}){var r;let a=eT(e);return a.append("Authorization",(r=t,`${eI} ${r}`)),a}(e,r),i=t.getImmediate({optional:!0});if(i){let e=await i.getHeartbeatsHeader();e&&n.append("x-firebase-client",e)}let s={method:"POST",headers:n,body:JSON.stringify({installation:{sdkVersion:eE,appId:e.appId}})},o=await eB(()=>fetch(a,s));if(o.ok)return eD(await o.json());throw await eA("Generate Auth Token",o)}async function eX(e,t=!1){let r,a=await ez(e.appConfig,a=>{var n,i,s;let o;if(!e0(a))throw eS.create("not-registered");let l=a.authToken;if(!t&&2===(n=l).requestStatus&&(i=n,!((o=Date.now())<i.creationTime)&&!(i.creationTime+i.expiresIn<o+36e5)))return a;if(1===l.requestStatus)return r=eY(e,t),a;{let t;if(!navigator.onLine)throw eS.create("app-offline");let n=(s=a,t={requestStatus:1,requestTime:Date.now()},{...s,authToken:t});return r=eQ(e,n),n}});return r?await r:a.authToken}async function eY(e,t){let r=await eZ(e.appConfig);for(;1===r.authToken.requestStatus;)await eO(100),r=await eZ(e.appConfig);let a=r.authToken;return 0===a.requestStatus?eX(e,t):a}function eZ(e){return ez(e,e=>{var t;if(!e0(e))throw eS.create("not-registered");return 1===(t=e.authToken).requestStatus&&t.requestTime+1e4<Date.now()?{...e,authToken:{requestStatus:0}}:e})}async function eQ(e,t){try{let r=await eK(e,t),a={...t,authToken:r};return await eV(e.appConfig,a),r}catch(r){if(e_(r)&&(401===r.customData.serverCode||404===r.customData.serverCode))await ex(e.appConfig);else{let r={...t,authToken:{requestStatus:0}};await eV(e.appConfig,r)}throw r}}function e0(e){return void 0!==e&&2===e.registrationStatus}async function e1(e){let{installationEntry:t,registrationPromise:r}=await eW(e);return r?r.catch(console.error):eX(e).catch(console.error),t.fid}async function e2(e,t=!1){return await e6(e),(await eX(e,t)).token}async function e6(e){let{registrationPromise:t}=await eW(e);t&&await t}function e3(e){return eS.create("missing-app-config-values",{valueName:e})}let e4="installations";ea(new _(e4,e=>{let t=e.getProvider("app").getImmediate(),r=function(e){if(!e||!e.options)throw e3("App Configuration");if(!e.name)throw e3("App Name");for(let t of["projectId","apiKey","appId"])if(!e.options[t])throw e3(t);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}(t),a=en(t,"heartbeat");return{app:t,appConfig:r,heartbeatServiceProvider:a,_delete:()=>Promise.resolve()}},"PUBLIC")),ea(new _("installations-internal",e=>{let t=en(e.getProvider("app").getImmediate(),e4).getImmediate();return{getId:()=>e1(t),getToken:e=>e2(t,e)}},"PRIVATE")),el(ey,ev),el(ey,ev,"esm2020"),e.s([],361068)}]);
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.