1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,92953,97427,8070,83877,e=>{"use strict";let t,r,n;var i,s,a=e.i(47167);let o=function(e){let t=[],r=0;for(let n=0;n<e.length;n++){let i=e.charCodeAt(n);i<128?t[r++]=i:(i<2048?t[r++]=i>>6|192:((64512&i)==55296&&n+1<e.length&&(64512&e.charCodeAt(n+1))==56320?(i=65536+((1023&i)<<10)+(1023&e.charCodeAt(++n)),t[r++]=i>>18|240,t[r++]=i>>12&63|128):t[r++]=i>>12|224,t[r++]=i>>6&63|128),t[r++]=63&i|128)}return t},l=function(e){let t=[],r=0,n=0;for(;r<e.length;){let i=e[r++];if(i<128)t[n++]=String.fromCharCode(i);else if(i>191&&i<224){let s=e[r++];t[n++]=String.fromCharCode((31&i)<<6|63&s)}else if(i>239&&i<365){let s=((7&i)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(s>>10)),t[n++]=String.fromCharCode(56320+(1023&s))}else{let s=e[r++],a=e[r++];t[n++]=String.fromCharCode((15&i)<<12|(63&s)<<6|63&a)}}return t.join("")},u={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_,n=[];for(let t=0;t<e.length;t+=3){let i=e[t],s=t+1<e.length,a=s?e[t+1]:0,o=t+2<e.length,l=o?e[t+2]:0,u=i>>2,h=(3&i)<<4|a>>4,c=(15&a)<<2|l>>6,d=63&l;!o&&(d=64,s||(c=64)),n.push(r[u],r[h],r[c],r[d])}return n.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_,n=[];for(let t=0;t<e.length;){let i=r[e.charAt(t++)],s=t<e.length?r[e.charAt(t)]:0,a=++t<e.length?r[e.charAt(t)]:64,o=++t<e.length?r[e.charAt(t)]:64;if(++t,null==i||null==s||null==a||null==o)throw new h;let l=i<<2|s>>4;if(n.push(l),64!==a){let e=s<<4&240|a>>2;if(n.push(e),64!==o){let e=a<<6&192|o;n.push(e)}}}return n},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 c=function(e){let t=o(e);return u.encodeByteArray(t,!0)},d=function(e){return c(e).replace(/\./g,"")},f=function(e){try{return u.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function p(){return"u">typeof self?self:"u">typeof window?window:e.g}let g=()=>{try{return p().__FIREBASE_DEFAULTS__||(()=>{if(void 0===a.default||void 0===a.default.env)return;let e=a.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&&f(e[1]);return t&&JSON.parse(t)})()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},m=e=>g()?.emulatorHosts?.[e],y=()=>g()?.config;class v{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 w(){return"u">typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function b(){let t=g()?.forceEnvironment;if("node"===t)return!0;if("browser"===t)return!1;try{return"[object process]"===Object.prototype.toString.call(e.g.process)}catch(e){return!1}}function I(){return"u">typeof WorkerGlobalScope&&"u">typeof self&&self instanceof WorkerGlobalScope}function _(){try{return"object"==typeof indexedDB}catch(e){return!1}}function E(){return new Promise((e,t)=>{try{let r=!0,n="validate-browser-context-for-indexeddb-analytics-module",i=self.indexedDB.open(n);i.onsuccess=()=>{i.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},i.onupgradeneeded=()=>{r=!1},i.onerror=()=>{t(i.error?.message||"")}}catch(e){t(e)}})}class T extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,T.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,S.prototype.create)}}class S{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){var r,n;let i=t[0]||{},s=`${this.service}/${e}`,a=this.errors[e],o=a?(r=a,n=i,r.replace(C,(e,t)=>{let r=n[t];return null!=r?String(r):`<${t}?>`})):"Error",l=`${this.serviceName}: ${o} (${s}).`;return new T(s,l,i)}}let C=/\{\$([^}]+)}/g;function A(e,t){if(e===t)return!0;let r=Object.keys(e),n=Object.keys(t);for(let i of r){if(!n.includes(i))return!1;let r=e[i],s=t[i];if(k(r)&&k(s)){if(!A(r,s))return!1}else if(r!==s)return!1}for(let e of n)if(!r.includes(e))return!1;return!0}function k(e){return null!==e&&"object"==typeof e}class x{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,r){let n;if(void 0===e&&void 0===t&&void 0===r)throw Error("Missing Observer.");void 0===(n=!function(e,t){if("object"!=typeof e||null===e)return!1;for(let r of t)if(r in e&&"function"==typeof e[r])return!0;return!1}(e,["next","error","complete"])?{next:e,error:t,complete:r}:e).next&&(n.next=D),void 0===n.error&&(n.error=D),void 0===n.complete&&(n.complete=D);let i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?n.error(this.finalError):n.complete()}catch(e){}}),this.observers.push(n),i}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t<this.observers.length;t++)this.sendOne(t,e)}sendOne(e,t){this.task.then(()=>{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"u">typeof console&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function D(){}async function N(e){return(await fetch(e,{credentials:"include"})).ok}e.s(["Deferred",0,v,"ErrorFactory",0,S,"FirebaseError",0,T,"base64Decode",0,f,"base64urlEncodeWithoutPadding",0,d,"createMockUserToken",0,function(e,t){if(e.uid)throw Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');let r=t||"demo-project",n=e.iat||0,i=e.sub||e.user_id;if(!i)throw Error("mockUserToken must contain 'sub' or 'user_id' field!");let s={iss:`https://securetoken.google.com/${r}`,aud:r,iat:n,exp:n+3600,auth_time:n,sub:i,user_id:i,firebase:{sign_in_provider:"custom",identities:{}},...e};return[d(JSON.stringify({alg:"none",type:"JWT"})),d(JSON.stringify(s)),""].join(".")},"createSubscribe",0,function(e,t){let r=new x(e,t);return r.subscribe.bind(r)},"deepEqual",0,A,"extractQuerystring",0,function(e){let t=e.indexOf("?");if(!t)return"";let r=e.indexOf("#",t);return e.substring(t,r>0?r:void 0)},"getDefaultAppConfig",0,y,"getDefaultEmulatorHost",0,m,"getDefaultEmulatorHostnameAndPort",0,e=>{let t=m(e);if(!t)return;let r=t.lastIndexOf(":");if(r<=0||r+1===t.length)throw Error(`Invalid host ${t} with no separate hostname and port!`);let n=parseInt(t.substring(r+1),10);return"["===t[0]?[t.substring(1,r-1),n]:[t.substring(0,r),n]},"getExperimentalSetting",0,e=>g()?.[`_${e}`],"getGlobal",0,p,"getModularInstance",0,function(e){return e&&e._delegate?e._delegate:e},"getUA",0,w,"isBrowser",0,function(){return"u">typeof window||I()},"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},"isCloudWorkstation",0,function(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch{return!1}},"isCloudflareWorker",0,function(){return"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent},"isEmpty",0,function(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0},"isIE",0,function(){let e=w();return e.indexOf("MSIE ")>=0||e.indexOf("Trident/")>=0},"isIndexedDBAvailable",0,_,"isMobileCordova",0,function(){return"u">typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(w())},"isReactNative",0,function(){return"object"==typeof navigator&&"ReactNative"===navigator.product},"isSafari",0,function(){return!b()&&!!navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")},"isSafariOrWebkit",0,function(){return!b()&&!!navigator.userAgent&&(navigator.userAgent.includes("Safari")||navigator.userAgent.includes("WebKit"))&&!navigator.userAgent.includes("Chrome")},"isWebWorker",0,I,"pingServer",0,N,"querystring",0,function(e){let t=[];
1for(let[r,n]of Object.entries(e))Array.isArray(n)?n.forEach(e=>{t.push(encodeURIComponent(r)+"="+encodeURIComponent(e))}):t.push(encodeURIComponent(r)+"="+encodeURIComponent(n));return t.length?"&"+t.join("&"):""},"querystringDecode",0,function(e){let t={};return e.replace(/^\?/,"").split("&").forEach(e=>{if(e){let[r,n]=e.split("=");t[decodeURIComponent(r)]=decodeURIComponent(n)}}),t},"validateIndexedDBOpenable",0,E],97427);class R{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 O="[DEFAULT]";class P{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 v;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:O})}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=O){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=O){return this.instances.has(e)}getOptions(e=O){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 n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(let[e,t]of this.instancesDeferred.entries())r===this.normalizeInstanceIdentifier(e)&&t.resolve(n);return n}onInit(e,t){let r=this.normalizeInstanceIdentifier(t),n=this.onInitCallbacks.get(r)??new Set;n.add(e),this.onInitCallbacks.set(r,n);let i=this.instances.get(r);return i&&e(i,r),()=>{n.delete(e)}}invokeOnInitCallbacks(e,t){let r=this.onInitCallbacks.get(t);if(r)for(let n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){var r;let n=this.instances.get(e);if(!n&&this.component&&(n=this.component.instanceFactory(this.container,{instanceIdentifier:(r=e)===O?void 0:r,options:t}),this.instances.set(e,n),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(n,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,n)}catch{}return n||null}normalizeInstanceIdentifier(e=O){return this.component?this.component.multipleInstances?e:O:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class L{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 P(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}e.s(["Component",0,R,"ComponentContainer",0,L],8070);let M=[];(i=s||(s={}))[i.DEBUG=0]="DEBUG",i[i.VERBOSE=1]="VERBOSE",i[i.INFO=2]="INFO",i[i.WARN=3]="WARN",i[i.ERROR=4]="ERROR",i[i.SILENT=5]="SILENT";
1let V={debug:s.DEBUG,verbose:s.VERBOSE,info:s.INFO,warn:s.WARN,error:s.ERROR,silent:s.SILENT},F=s.INFO,U={[s.DEBUG]:"log",[s.VERBOSE]:"log",[s.INFO]:"info",[s.WARN]:"warn",[s.ERROR]:"error"},B=(e,t,...r)=>{if(t<e.logLevel)return;let n=new Date().toISOString(),i=U[t];if(i)console[i](`[${n}] ${e.name}:`,...r);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)};class j{constructor(e){this.name=e,this._logLevel=F,this._logHandler=B,this._userLogHandler=null,M.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in s))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?V[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,s.DEBUG,...e),this._logHandler(this,s.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,s.VERBOSE,...e),this._logHandler(this,s.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,s.INFO,...e),this._logHandler(this,s.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,s.WARN,...e),this._logHandler(this,s.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,s.ERROR,...e),this._logHandler(this,s.ERROR,...e)}}e.s(["LogLevel",0,s,"Logger",0,j,"setLogLevel",0,function(e){M.forEach(t=>{t.setLogLevel(e)})},"setUserLogHandler",0,function(e,t){for(let r of M){let n=null;t&&t.level&&(n=V[t.level]),null===e?r.userLogHandler=null:r.userLogHandler=(t,r,...i)=>{let a=i.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>=(n??t.logLevel)&&e({level:s[r].toLowerCase(),message:a,args:i,type:t.name})}}}],83877);let q=new WeakMap,z=new WeakMap,$=new WeakMap,K=new WeakMap,G=new WeakMap,H={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return z.get(e);if("objectStoreNames"===t)return e.objectStoreNames||$.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return W(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function W(e){if(e instanceof IDBRequest){let t;return(t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{t(W(e.result)),n()},s=()=>{r(e.error),n()};e.addEventListener("success",i),e.addEventListener("error",s)})).then(t=>{t instanceof IDBCursor&&q.set(t,e)}).catch(()=>{}),G.set(t,e),t}if(K.has(e))return K.get(e);let n=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(Q(this),t),W(q.get(this))}:function(...t){return W(e.apply(Q(this),t))}:function(t,...r){let n=e.call(Q(this),t,...r);return $.set(n,t.sort?t.sort():[t]),W(n)};return e instanceof IDBTransaction&&function(e){if(z.has(e))return;let t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{t(),n()},s=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});z.set(e,t)}(e),(t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(t=>e instanceof t)?new Proxy(e,H):e}(e);return n!==e&&(K.set(e,n),G.set(n,e)),n}let Q=e=>G.get(e),J=["get","getKey","getAll","getAllKeys","count"],Y=["put","add","delete","clear"],X=new Map;function Z(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(X.get(t))return X.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,i=Y.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(i||J.includes(r)))return;let s=async function(e,...t){let s=this.transaction(e,i?"readwrite":"readonly"),a=s.store;
1return n&&(a=a.index(t.shift())),(await Promise.all([a[r](...t),i&&s.done]))[0]};return X.set(t,s),s}H={...n=H,get:(e,t,r)=>Z(e,t)||n.get(e,t,r),has:(e,t)=>!!Z(e,t)||n.has(e,t)};class ee{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 et="@firebase/app",er="0.14.12",en=new j("@firebase/app"),ei="[DEFAULT]",es={[et]:"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"},ea=new Map,eo=new Map,el=new Map;function eu(e,t){try{e.container.addComponent(t)}catch(r){en.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function eh(e){let t=e.name;if(el.has(t))return en.debug(`There were multiple attempts to register component ${t}.`),!1;for(let r of(el.set(t,e),ea.values()))eu(r,e);for(let t of eo.values())eu(t,e);return!0}function ec(e,t){let r=e.container.getProvider("heartbeat").getImmediate({optional:!0});return r&&r.triggerHeartbeat(),e.container.getProvider(t)}let ed=new S("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 ef{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 R("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 ed.create("app-deleted",{appName:this._name})}}function ep(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});let n={name:ei,automaticDataCollectionEnabled:!0,...t},i=n.name;if("string"!=typeof i||!i)throw ed.create("bad-app-name",{appName:String(i)});if(r||(r=y()),!r)throw ed.create("no-options");let s=ea.get(i);if(s)if(A(r,s.options)&&A(n,s.config))return s;else throw ed.create("duplicate-app",{appName:i});let a=new L(i);for(let e of el.values())a.addComponent(e);let o=new ef(r,n,a);return ea.set(i,o),o}function eg(e,t,r){let n=es[e]??e;r&&(n+=`-${r}`);let i=n.match(/\s|\//),s=t.match(/\s|\//);if(i||s){let e=[`Unable to register library "${n}" with version "${t}":`];i&&e.push(`library name "${n}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),en.warn(e.join(" "));return}eh(new R(`${n}-version`,()=>({library:n,version:t}),"VERSION"))}let em="firebase-heartbeat-store",ey=null;function ev(){return ey||(ey=(function(e,{blocked:t,upgrade:r,blocking:n,terminated:i}={}){let s=indexedDB.open(e,1),a=W(s);return r&&s.addEventListener("upgradeneeded",e=>{r(W(s.result),e.oldVersion,e.newVersion,W(s.transaction),e)}),t&&s.addEventListener("blocked",e=>t(e.oldVersion,e.newVersion,e)),a.then(e=>{i&&e.addEventListener("close",()=>i()),n&&e.addEventListener("versionchange",e=>n(e.oldVersion,e.newVersion,e))}).catch(()=>{}),a})("firebase-heartbeat-database",{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(em)}catch(e){console.warn(e)}}}).catch(e=>{throw ed.create("idb-open",{originalErrorMessage:e.message})})),ey}async function ew(e){try{let t=(await ev()).transaction(em),r=await t.objectStore(em).get(eI(e));return await t.done,r}catch(e){if(e instanceof T)en.warn(e.message);else{let t=ed.create("idb-get",{originalErrorMessage:e?.message});en.warn(t.message)}}}async function eb(e,t){try{let r=(await ev()).transaction(em,"readwrite"),n=r.objectStore(em);await n.put(t,eI(e)),await r.done}catch(e){if(e instanceof T)en.warn(e.message);else{let t=ed.create("idb-set",{originalErrorMessage:e?.message});en.warn(t.message)}}}function eI(e){return`${e.name}!${e.options.appId}`}class e_{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new eT(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=eE();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 n=1;n<e.length;n++)e[n].date<r&&(r=e[n].date,t=n);return t}(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){en.warn(e)}}async getHeartbeatsHeader(){try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||0===this._heartbeatsCache.heartbeats.length)return"";let e=eE(),{heartbeatsToSend:t,unsentEntries:r}=function(e,t=1024){let r=[],n=e.slice();for(let i of e){let e=r.find(e=>e.agent===i.agent);if(e){if(e.dates.push(i.date),eS(r)>t){e.dates.pop();break}}else if(r.push({agent:i.agent,dates:[i.date]}),eS(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}(this._heartbeatsCache.heartbeats),n=d(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)),n}catch(e){return en.warn(e),""}}}function eE(){return new Date().toISOString().substring(0,10)}class eT{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!_()&&E().then(()=>!0).catch(()=>!1)}async read(){if(!await this._canUseIndexedDBPromise)return{heartbeats:[]};{let e=await ew(this.app);return e?.heartbeats?e:{heartbeats:[]}}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return eb(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return eb(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}}function eS(e){return d(JSON.stringify({version:2,heartbeats:e})).length}eh(new R("platform-logger",e=>new ee(e),"PRIVATE")),eh(new R("heartbeat",e=>new e_(e),"PRIVATE")),eg(et,er,""),eg(et,er,"esm2020"),eg("fire-js",""),e.s(["SDK_VERSION",0,"12.13.0","_getProvider",0,ec,"_isFirebaseServerApp",0,function(e){return null!=e&&void 0!==e.settings},"_registerComponent",0,eh,"_removeServiceInstance",0,function(e,t,r=ei){ec(e,t).clearInstance(r)},"getApp",0,function(e=ei){let t=ea.get(e);if(!t&&e===ei&&y())return ep();if(!t)throw ed.create("no-app",{appName:e});return t},"getApps",0,function(){return Array.from(ea.values())},"initializeApp",0,ep,"registerVersion",0,eg],92953)},51718,64104,e=>{"use strict";var t,r=e.i(92953),n=e.i(97427),i=e.i(83877),s=e.i(8070);function a(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}}let o=new n.ErrorFactory("auth","Firebase",a()),l=new i.Logger("@firebase/auth");function u(e,...t){l.logLevel<=i.LogLevel.ERROR&&l.error(`Auth (${r.SDK_VERSION}): ${e}`,...t)}function h(e,...t){throw p(e,...t)}function c(e,...t){return p(e,...t)}function d(e,t,r){let i={...a(),[t]:r};return new n.ErrorFactory("auth","Firebase",i).create(t,{appName:e.n
1ame})}function f(e){return d(e,"operation-not-supported-in-this-environment","Operations that alter the current user are not supported in conjunction with FirebaseServerApp")}function p(e,...t){if("string"!=typeof e){let r=t[0],n=[...t.slice(1)];return n[0]&&(n[0].appName=e.name),e._errorFactory.create(r,...n)}return o.create(e,...t)}function g(e,t,...r){if(!e)throw p(t,...r)}function m(e){let t="INTERNAL ASSERTION FAILED: "+e;throw u(t),Error(t)}function y(){return"u">typeof self&&self.location?.href||""}function v(){return"u">typeof self&&self.location?.protocol||null}class w{constructor(e,t){this.shortDelay=e,this.longDelay=t,function(e,t){e||m(t)}(t>e,"Short delay should be less than long delay!"),this.isMobile=(0,n.isMobileCordova)()||(0,n.isReactNative)()}get(){return!("u">typeof navigator&&navigator&&"onLine"in navigator&&"boolean"==typeof navigator.onLine&&("http:"===v()||"https:"===v()||(0,n.isBrowserExtension)()||"connection"in navigator))||navigator.onLine?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}function b(e,t){var r,n;r=e.emulator,n="Emulator should always be set here",r||m(n);let{url:i}=e.emulator;return t?`${i}${t.startsWith("/")?t.slice(1):t}`:i}class I{static initialize(e,t,r){this.fetchImpl=e,t&&(this.headersImpl=t),r&&(this.responseImpl=r)}static fetch(){return this.fetchImpl?this.fetchImpl:"u">typeof self&&"fetch"in self?self.fetch:"u">typeof globalThis&&globalThis.fetch?globalThis.fetch:"u">typeof fetch?fetch:void m("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static headers(){return this.headersImpl?this.headersImpl:"u">typeof self&&"Headers"in self?self.Headers:"u">typeof globalThis&&globalThis.Headers?globalThis.Headers:"u">typeof Headers?Headers:void m("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){return this.responseImpl?this.responseImpl:"u">typeof self&&"Response"in self?self.Response:"u">typeof globalThis&&globalThis.Response?globalThis.Response:"u">typeof Response?Response:void m("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}let _={CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_PASSWORD:"wrong-password",MISSING_PASSWORD:"missing-password",INVALID_LOGIN_CREDENTIALS:"invalid-credential",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_REQ_TYPE:"internal-error",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",PASSWORD_DOES_NOT_MEET_REQUIREMENTS:"password-does-not-meet-requirements",INVALID_CODE:"invalid-verification-code",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_SESSION_INFO:"missing-verification-id",SESSION_EXPIRED:"code-expired",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",BLOCKING_FUNCTION_ERROR_RESPONSE:"internal-error",RECAPTCHA_NOT_ENABLED:"recaptcha-not-enabled",MISSING_RECAPTCHA_TOKEN:"missing-rec
1aptcha-token",INVALID_RECAPTCHA_TOKEN:"invalid-recaptcha-token",INVALID_RECAPTCHA_ACTION:"invalid-recaptcha-action",MISSING_CLIENT_TYPE:"missing-client-type",MISSING_RECAPTCHA_VERSION:"missing-recaptcha-version",INVALID_RECAPTCHA_VERSION:"invalid-recaptcha-version",INVALID_REQ_TYPE:"invalid-req-type"},E=["/v1/accounts:signInWithCustomToken","/v1/accounts:signInWithEmailLink","/v1/accounts:signInWithIdp","/v1/accounts:signInWithPassword","/v1/accounts:signInWithPhoneNumber","/v1/token"],T=new w(3e4,6e4);function S(e,t){return e.tenantId&&!t.tenantId?{...t,tenantId:e.tenantId}:t}async function C(e,t,r,i,s={}){return A(e,s,async()=>{let s={},a={};i&&("GET"===t?a=i:s={body:JSON.stringify(i)});let o=(0,n.querystring)({key:e.config.apiKey,...a}).slice(1),l=await e._getAdditionalHeaders();l["Content-Type"]="application/json",e.languageCode&&(l["X-Firebase-Locale"]=e.languageCode);let u={method:t,headers:l,...s};return(0,n.isCloudflareWorker)()||(u.referrerPolicy="no-referrer"),e.emulatorConfig&&(0,n.isCloudWorkstation)(e.emulatorConfig.host)&&(u.credentials="include"),I.fetch()(await x(e,e.config.apiHost,r,o),u)})}async function A(e,t,r){e._canInitEmulator=!1;let i={..._,...t};try{let t=new D(e),n=await Promise.race([r(),t.promise]);t.clearNetworkTimeout();let s=await n.json();if("needConfirmation"in s)throw N(e,"account-exists-with-different-credential",s);if(n.ok&&!("errorMessage"in s))return s;{let[t,r]=(n.ok?s.errorMessage:s.error.message).split(" : ");if("FEDERATED_USER_ID_ALREADY_LINKED"===t)throw N(e,"credential-already-in-use",s);if("EMAIL_EXISTS"===t)throw N(e,"email-already-in-use",s);if("USER_DISABLED"===t)throw N(e,"user-disabled",s);let a=i[t]||t.toLowerCase().replace(/[_\s]+/g,"-");if(r)throw d(e,a,r);h(e,a)}}catch(t){if(t instanceof n.FirebaseError)throw t;h(e,"network-request-failed",{message:String(t)})}}async function k(e,t,r,n,i={}){let s=await C(e,t,r,n,i);return"mfaPendingCredential"in s&&h(e,"multi-factor-auth-required",{_serverResponse:s}),s}async function x(e,t,r,n){let i=`${t}${r}?${n}`,s=e.config.emulator?b(e.config,i):`${e.config.apiScheme}://${i}`;return E.includes(r)&&(await e._persistenceManagerAvailable,"COOKIE"===e._getPersistenceType())?e._getPersistence()._getFinalTarget(s).toString():s}class D{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(c(this.auth,"network-request-failed")),T.get())})}}function N(e,t,r){let n={appName:e.name};r.email&&(n.email=r.email),r.phoneNumber&&(n.phoneNumber=r.phoneNumber);let i=c(e,t,n);return i.customData._tokenResponse=r,i}function R(e){return void 0!==e&&void 0!==e.enterprise}class O{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],void 0===e.recaptchaKey)throw Error("recaptchaKey undefined");this.siteKey=e.recaptchaKey.split("/")[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||0===this.recaptchaEnforcementState.length)return null;for(let t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)switch(t.enforcementState){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}return null}isProviderEnabled(e){return"ENFORCE"===this.getProviderEnforcementState(e)||"AUDIT"===this.getProviderEnforcementState(e)}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function P(e,t){return C(e,"GET","/v2/recaptchaConfig",S(e,t))}async function L(e,t){return C(e,"POST","/v1/accounts:delete",t)}async function M(e,t){return C(e,"POST","/v1/accounts:lookup",t)}function V(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch(e){}}async function F(e,t=!1){let r=(0,n.getModularInstance)(e),i=await r.getIdToken(t),s=B(i);g(s&&s.exp&&s.auth_time&&s.iat,r.auth,"internal-error");let a="object"==typeof s.firebase?s.firebase:void 0,o=a?.sign_in_provider;return{claims:s,token:i,authTime:V(U(s.auth_time)),issuedAtTime:V(U(s.iat)),expirationTime:V(U(s.exp)),signInProvider:o||null,signInSecondFactor:a?.sign_in_second_factor||null}}function U(e){return 1e3*Number(e)}function B(e){let[t,r,i]=e.split(".");if(void 0===t||void 0===r||void 0===i)return u("JWT malformed, contained fewer than 3 sections"),null;try{let e=(0,n.base64Decode)(r);if(!e)return u("Failed to decode base64 JWT payload"),null;return JSON.parse(e)}catch(e){return u("Caught error parsing JWT payload as JSON",e?.toString()),null}}function j(e){let t=B(e);return g(t,"internal-error"),g(void 0!==t.exp,"internal-error"),g(void 0!==t.iat,"internal-error"),Number(t.exp)-Number(t.iat)}async function q(e,t,r=!1){if(r)return t;try{return await t}catch(t){throw t instanceof n.FirebaseError&&function({code:e}){return"auth/user-disabled"===e||"auth/user-token-expired"===e}(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}class z{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,null!==this.timerId&&clearTimeout(this.timerId))}getInterval(e){if(!e)return this.errorBackoff=3e4,Math.max(0,(this.user.stsTokenManager.expirationTime??0)-Date.now()-3e5);{let e=this.errorBackoff;return this.errorBackoff=Math.min(2*this.errorBackoff,96e4),e}}schedule(e=!1){if(!this.isRunning)return;let t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){e?.code==="auth/network-request-failed"&&this.schedule(!0);return}this.schedule()}}class ${constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=V(this.lastLoginAt),this.creationTime=V(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}async function K(e){var t,r;let n=e.auth,i=await e.getIdToken(),s=await q(e,M(n,{idToken:i}));g(s?.users.length,n,"internal-error");let a=s.users[0];e._notifyReloadListener(a);let o=a.providerUserInfo?.length?H(a.providerUserInfo):[],l=(t=e.providerData,r=o,[...t.filter(e=>!r.some(t=>t.providerId===e.providerId)),...r]),u=e.isAnonymous,h=!(e.email&&a.passwordHash)&&!l?.length;Object.assign(e,{uid:a.localId,displayName:a.displayName||null,photoURL:a.photoUrl||null,email:a.email||null,emailVerified:a.emailVerified||!1,phoneNumber:a.phoneNumber||null,tenantId:a.tenantId||null,providerData:l,metadata:new $(a.createdAt,a.lastLoginAt),isAnonymous:!!u&&h})}async function G(e){let t=(0,n.getModularInstance)(e);await K(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function H(e){return e.map(({providerId:e,...t})=>
1({providerId:e,uid:t.rawId||"",displayName:t.displayName||null,email:t.email||null,phoneNumber:t.phoneNumber||null,photoURL:t.photoUrl||null}))}async function W(e,t){let r=await A(e,{},async()=>{let r=(0,n.querystring)({grant_type:"refresh_token",refresh_token:t}).slice(1),{tokenApiHost:i,apiKey:s}=e.config,a=await x(e,i,"/v1/token",`key=${s}`),o=await e._getAdditionalHeaders();o["Content-Type"]="application/x-www-form-urlencoded";let l={method:"POST",headers:o,body:r};return e.emulatorConfig&&(0,n.isCloudWorkstation)(e.emulatorConfig.host)&&(l.credentials="include"),I.fetch()(a,l)});return{accessToken:r.access_token,expiresIn:r.expires_in,refreshToken:r.refresh_token}}async function Q(e,t){return C(e,"POST","/v2/accounts:revokeToken",S(e,t))}class J{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){g(e.idToken,"internal-error"),g(void 0!==e.idToken,"internal-error"),g(void 0!==e.refreshToken,"internal-error");let t="expiresIn"in e&&void 0!==e.expiresIn?Number(e.expiresIn):j(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){g(0!==e.length,"internal-error");let t=j(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return t||!this.accessToken||this.isExpired?(g(this.refreshToken,e,"user-token-expired"),this.refreshToken)?(await this.refresh(e,this.refreshToken),this.accessToken):null:this.accessToken}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){let{accessToken:r,refreshToken:n,expiresIn:i}=await W(e,t);this.updateTokensAndExpiration(r,n,Number(i))}updateTokensAndExpiration(e,t,r){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+1e3*r}static fromJSON(e,t){let{refreshToken:r,accessToken:n,expirationTime:i}=t,s=new J;return r&&(g("string"==typeof r,"internal-error",{appName:e}),s.refreshToken=r),n&&(g("string"==typeof n,"internal-error",{appName:e}),s.accessToken=n),i&&(g("number"==typeof i,"internal-error",{appName:e}),s.expirationTime=i),s}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new J,this.toJSON())}_performRefresh(){return m("not implemented")}}function Y(e,t){g("string"==typeof e||void 0===e,"internal-error",{appName:t})}class X{constructor({uid:e,auth:t,stsTokenManager:r,...n}){this.providerId="firebase",this.proactiveRefresh=new z(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=e,this.auth=t,this.stsTokenManager=r,this.accessToken=r.accessToken,this.displayName=n.displayName||null,this.email=n.email||null,this.emailVerified=n.emailVerified||!1,this.phoneNumber=n.phoneNumber||null,this.photoURL=n.photoURL||null,this.isAnonymous=n.isAnonymous||!1,this.tenantId=n.tenantId||null,this.providerData=n.providerData?[...n.providerData]:[],this.metadata=new $(n.createdAt||void 0,n.lastLoginAt||void 0)}async getIdToken(e){let t=await q(this,this.stsTokenManager.getToken(this.auth,e));return g(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return F(this,e)}reload(){return G(this)}_assign(e){this!==e&&(g(this.uid===e.uid,this.auth,"internal-error"),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>({...e})),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){let t=new X({...this,auth:e,stsTokenManager:this.stsTokenManager._clone()});return t.metadata._copy(this.metadata),t}_onReload(e){g(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=e,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),this.reloadUserInfo=null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let r=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),r=!0),t&&await K(this),await this.auth._persistUserIfCurrent(this),r&&this.auth._notifyListenersIfCurrent(this)}async delete(){if((0,r._isFirebaseServerApp)(this.auth.app))return Promise.reject(f(this.auth));let e=await this.getIdToken();return await q(this,L(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return{uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isA
1nonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>({...e})),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId,...this.metadata.toJSON(),apiKey:this.auth.config.apiKey,appName:this.auth.name}}get refreshToken(){return this.stsTokenManager.refreshToken||""}static _fromJSON(e,t){let r=t.displayName??void 0,n=t.email??void 0,i=t.phoneNumber??void 0,s=t.photoURL??void 0,a=t.tenantId??void 0,o=t._redirectEventId??void 0,l=t.createdAt??void 0,u=t.lastLoginAt??void 0,{uid:h,emailVerified:c,isAnonymous:d,providerData:f,stsTokenManager:p}=t;g(h&&p,e,"internal-error");let m=J.fromJSON(this.name,p);g("string"==typeof h,e,"internal-error"),Y(r,e.name),Y(n,e.name),g("boolean"==typeof c,e,"internal-error"),g("boolean"==typeof d,e,"internal-error"),Y(i,e.name),Y(s,e.name),Y(a,e.name),Y(o,e.name),Y(l,e.name),Y(u,e.name);let y=new X({uid:h,auth:e,email:n,emailVerified:c,displayName:r,isAnonymous:d,photoURL:s,phoneNumber:i,tenantId:a,stsTokenManager:m,createdAt:l,lastLoginAt:u});return f&&Array.isArray(f)&&(y.providerData=f.map(e=>({...e}))),o&&(y._redirectEventId=o),y}static async _fromIdTokenResponse(e,t,r=!1){let n=new J;n.updateFromServerResponse(t);let i=new X({uid:t.localId,auth:e,stsTokenManager:n,isAnonymous:r});return await K(i),i}static async _fromGetAccountInfoResponse(e,t,r){let n=t.users[0];g(void 0!==n.localId,"internal-error");let i=void 0!==n.providerUserInfo?H(n.providerUserInfo):[],s=!(n.email&&n.passwordHash)&&!i?.length,a=new J;a.updateFromIdToken(r);let o=new X({uid:n.localId,auth:e,stsTokenManager:a,isAnonymous:s});return Object.assign(o,{uid:n.localId,displayName:n.displayName||null,photoURL:n.photoUrl||null,email:n.email||null,emailVerified:n.emailVerified||!1,phoneNumber:n.phoneNumber||null,tenantId:n.tenantId||null,providerData:i,metadata:new $(n.createdAt,n.lastLoginAt),isAnonymous:!(n.email&&n.passwordHash)&&!i?.length}),o}}let Z=new Map;function ee(e){var t,r;t="Expected a class definition",e instanceof Function||m(t);let n=Z.get(e);return n?(r="Instance stored in cache mismatched with class",n instanceof e||m(r)):(n=new e,Z.set(e,n)),n}class et{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){let t=this.storage[e];return void 0===t?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}function er(e,t,r){return`firebase:${e}:${t}:${r}`}et.type="NONE";class en{constructor(e,t,r){this.persistence=e,this.auth=t,this.userKey=r;const{config:n,name:i}=this.auth;this.fullUserKey=er(this.userKey,n.apiKey,i),this.fullPersistenceKey=er("persistence",n.apiKey,i),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){let e=await this.persistence._get(this.fullUserKey);if(!e)return null;if("string"==typeof e){let t=await M(this.auth,{idToken:e}).catch(()=>void 0);return t?X._fromGetAccountInfoResponse(this.auth,t,e):null}return X._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;let t=await this.getCurrentUser();if(await this.removeCurrentUser(),this.persistence=e,t)return this.setCurrentUser(t)}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(e,t,r="authUser"){if(!t.length)return new en(ee(et),e,r);let n=(await Promise.all(t.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e),i=n[0]||ee(et),s=er(r,e.config.apiKey,e.name),a=null;for(let r of t)try{let t=await r._get(s);if(t){let n;if("string"==typeof t){let r=await M(e,{idToken:t}).catch(()=>void 0);if(!r)break;n=await X._fromGetAccountInfoResponse(e,r,t)}else n=X._fromJSON(e,t);r!==i&&(a=n),i=r;break}}catch{}let o=n.filter(e=>e._shouldAllowMigration);return i._shouldAllowMigration&&o.length&&(i=o[0],a&&await i._set(s,a.toJSON()),await Promise.all(t.map(async e=>{if(e!==i)try{await e._remove(s)}catch{}}))),new en(i,e,r)}}function ei(e){let t=e.toLowerCase();if(t.includes("opera/")||t.includes("opr/")||t.includes("opios/"))return"Opera";{if(el(t))return"IEMobile";if(t.includes("msie")||t.includes("trident/"))return"IE";if(t.includes("edge/"))return"Edge";if(es(t))return"Firefox";if(t.includes("silk/"))return"Silk";if(eh(t))return"Blackberry";if(ec(t))return"Webos";if(ea(t))return"Safari";if((t.includes("chrome/")||eo(t))&&!t.includes("edge/"))return"Chrome";if(eu(t))return"Android";let r=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if(r?.length===2)return r[1]}return"Other"}function es(e=(0,n.getUA)()){return/firefox\//i.test(e)}function ea(e=(0,n.getUA)()){let t=e.toLowerCase();return t.includes("safari/")&&!t.includes("chrome/")&&!t.includes("crios/")&&!t.includes("android")}function eo(e=(0,n.getUA)()){return/crios\//i.test(e)}function el(e=(0,n.getUA)()){return/iemobile/i.test(e)}function eu(e=(0,n.getUA)()){return/android/i.test(e)}function eh(e=(0,n.getUA)()){return/blackberry/i.test(e)}function ec(e=(0,n.getUA)()){return/webos/i.test(e)}function ed(e=(0,n.getUA)()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function ef(e=(0,n.getUA)()){return ed(e)||eu(e)||ec(e)||eh(e)||/windows phone/i.test(e)||el(e)}function ep(e,t=[]){let i;switch(e){case"Browser":i=ei((0,n.getUA)());break;case"Worker":i=`${ei((0,n.getUA)())}-${e}`;break;default:i=e}let s=t.length?t.join(","):"FirebaseCore-web";return`${i}/JsCore/${r.SDK_VERSION}/${s}`}class eg{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){let r=t=>new Promise((r,n)=>{try{let n=e(t);r(n)}catch(e){n(e)}});r.onAbort=t,this.queue.push(r);let n=this.queue.length-1;return()=>{this.queue[n]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;let t=[];try{for(let r of this.queue)await r(e),r.onAbort&&t.push(r.onAbort)}catch(e){for(let e of(t.reverse(),t))try{e()}catch(e){}throw this.auth._errorFactory.create("login-blocked",{originalMessage:e?.message})}}}async function em(e,t={}){return C(e,"GET","/v2/passwordPolicy",S(e,t))}class ey{constructor(e){const t=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=t.minPasswordLength??6,t.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=t.maxPasswordLength),void 0!==t.containsLowercaseCharacter&&(this.customStrengthOptions.containsLowercaseLetter=t.containsLowercaseCharacter),void 0!==t.containsUppercaseCharacter&&(this.customStrengthOptions.containsUppercaseLetter=t.containsUppercaseCharacter),void 0!==t.containsNumericCharacter&&(this.customStrengthOptions.containsNumericCharacter=t.containsNumericCharacter),void 0!==t.containsNonAlphanumericCharacter&&(this.customStrengthOptions.containsNonAlphanumericCharacter=t.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,"ENFORCEMENT_STATE_UNSPECIFIED"===this.enforcementState&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=e.allowedNonAlphanumericCharacters?.join("")??"",this.forceUpgradeOnSignin=e.forceUpgradeOnSignin??!1,this.schemaVersion=e.schemaVersion}validatePassword(e){let t={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,t),this.validatePasswordCharacterOptions(e,t),t.isValid&&
1(t.isValid=t.meetsMinPasswordLength??!0),t.isValid&&(t.isValid=t.meetsMaxPasswordLength??!0),t.isValid&&(t.isValid=t.containsLowercaseLetter??!0),t.isValid&&(t.isValid=t.containsUppercaseLetter??!0),t.isValid&&(t.isValid=t.containsNumericCharacter??!0),t.isValid&&(t.isValid=t.containsNonAlphanumericCharacter??!0),t}validatePasswordLengthOptions(e,t){let r=this.customStrengthOptions.minPasswordLength,n=this.customStrengthOptions.maxPasswordLength;r&&(t.meetsMinPasswordLength=e.length>=r),n&&(t.meetsMaxPasswordLength=e.length<=n)}validatePasswordCharacterOptions(e,t){let r;this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);for(let n=0;n<e.length;n++)r=e.charAt(n),this.updatePasswordCharacterOptionsStatuses(t,r>="a"&&r<="z",r>="A"&&r<="Z",r>="0"&&r<="9",this.allowedNonAlphanumericCharacters.includes(r))}updatePasswordCharacterOptionsStatuses(e,t,r,n,i){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||(e.containsLowercaseLetter=t)),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||(e.containsUppercaseLetter=r)),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||(e.containsNumericCharacter=n)),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||(e.containsNonAlphanumericCharacter=i))}}class ev{constructor(e,t,r,n){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=r,this.config=n,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new eb(this),this.idTokenSubscription=new eb(this),this.beforeStateQueue=new eg(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=o,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=n.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=ee(t)),this._initializationPromise=this.queue(async()=>{if(!this._deleted){if(this.persistenceManager=await en.create(this,e),this._resolvePersistenceManagerAvailable?.(),!this._deleted){if(this._popupRedirectResolver?._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch(e){}await this.initializeCurrentUser(t),this.lastNotifiedUid=this.currentUser?.uid||null,this._deleted||(this._isInitialized=!0)}}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;let e=await this.assertedPersistence.getCurrentUser();if(this.currentUser||e){if(this.currentUser&&e&&this.currentUser.uid===e.uid){this._currentUser._assign(e),await this.currentUser.getIdToken();return}await this._updateCurrentUser(e,!0)}}async initializeCurrentUserFromIdToken(e){try{let t=await M(this,{idToken:e}),r=await X._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(r)}catch(e){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){if((0,r._isFirebaseServerApp)(this.app)){let e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}let t=await this.assertedPersistence.getCurrentUser(),n=t,i=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();let t=this.redirectUser?._redirectEventId,r=n?._redirectEventId,s=await this.tryRedirectSignIn(e);(!t||t===r)&&s?.user&&(n=s.user,i=!0)}if(!n)return this.directlySetCurrentUser(null);if(!n._redirectEventId){if(i)try{await this.beforeStateQueue.runMiddleware(n)}catch(e){n=t,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return n?this.reloadAndSetCurrentUserOrClear(n):this.directlySetCurrentUser(null)}return(g(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===n._redirectEventId)?this.directlySetCurrentUser(n):this.reloadAndSetCurrentUserOrClear(n)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch(e){await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await K(e)}catch(e){if(e?.code!=="auth/network-request-failed")return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=function(){if("u"<typeof navigator)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}()}async _delete(){this._deleted=!0}
1async updateCurrentUser(e){if((0,r._isFirebaseServerApp)(this.app))return Promise.reject(f(this));let t=e?(0,n.getModularInstance)(e):null;return t&&g(t.auth.config.apiKey===this.config.apiKey,this,"invalid-user-token"),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&g(this.tenantId===e.tenantId,this,"tenant-id-mismatch"),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return(0,r._isFirebaseServerApp)(this.app)?Promise.reject(f(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return(0,r._isFirebaseServerApp)(this.app)?Promise.reject(f(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(ee(e))})}_getRecaptchaConfig(){return null==this.tenantId?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();let t=this._getPasswordPolicyInternal();return t.schemaVersion!==this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?Promise.reject(this._errorFactory.create("unsupported-password-policy-schema-version",{})):t.validatePassword(e)}_getPasswordPolicyInternal(){return null===this.tenantId?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){let e=new ey(await em(this));null===this.tenantId?this._projectPasswordPolicy=e:this._tenantPasswordPolicies[this.tenantId]=e}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new n.ErrorFactory("auth","Firebase",e())}onAuthStateChanged(e,t,r){return this.registerStateListener(this.authStateSubscription,e,t,r)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,r){return this.registerStateListener(this.idTokenSubscription,e,t,r)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{let r=this.onAuthStateChanged(()=>{r(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){let t={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:await this.currentUser.getIdToken()};null!=this.tenantId&&(t.tenantId=this.tenantId),await Q(this,t)}}toJSON(){return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:this._currentUser?.toJSON()}}async _setRedirectUser(e,t){let r=await this.getOrInitRedirectPersistenceManager(t);return null===e?r.removeCurrentUser():r.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){let t=e&&ee(e)||this._popupRedirectResolver;g(t,this,"argument-error"),this.redirectPersistenceManager=await en.create(this,[ee(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){return(this._isInitialized&&await this.queue(async()=>{}),this._currentUser?._redirectEventId===e)?this._currentUser:this.redirectUser?._redirectEventId===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);let e=this.currentUser?.uid??null;this.lastNotifiedUid!==e&&(this.lastNotifiedUid=e,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,r,n){if(this._deleted)return()=>{};let i="function"==typeof t?t:t.next.bind(t),s=!1,a=this._isInitialized?Promise.resolve():this._initializationPromise;if(g(a,this,"internal-error"),a.then(()=>{s||i(this.currentUser)}),"function"==typeof t){let i=e.addObserver(t,r,n);return()=>{s=!0,i()}}{let r=e.addObserver(t);return()=>{s=!0,r()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,e?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return g(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=ep(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){let e={"X-Client-Version":this.clientVersion};this.app.options.appId&&(e["X-Firebase-gmpid"]=this.app.options.appId);let t=await this.heartbeatServiceProvider.getImmediate({optional:!0})?.getHeartbeatsHeader();t&&(e["X-Firebase-Client"]=t);let r=await this._getAppCheckToken();return r&&(e["X-Firebase-AppCheck"]=r),e}async _getAppCheckToken(){if((0,r._isFirebaseServerApp)(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let e=await this.appCheckServiceProvider.getImmediate({optional:!0})?.getToken();return e?.error&&function(e,...t){l.logLevel<=i.LogLevel.WARN&&l.warn(`Auth (${r.SDK_VERSION}): ${e}`,...t)}(`Error while retrieving App Check token: ${e.error}`),e?.token}}function ew(e){return(0,n.getModularInstance)(e)}class eb{constructor(e){this.auth=e,this.observer=null,this.addObserver=(0,n.createSubscribe)(e=>this.observer=e)}get next(){return g(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}let eI={async loadJS(){throw Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function e_(e){return`__${e}${Math.floor(1e6*Math.random())}`}class eE{constructor(){this.enterprise=new eT}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class eT{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}let eS="NO_RECAPTCHA";class eC{constructor(e){this.type="recaptcha-enterprise",this.auth=ew(e)}async verify(e="verify",t=!1){async function r(e){if(!t){if(null==e.tenantId&&null!=e._agentRecaptchaConfig)return e._agentRecaptchaConfig.siteKey;if(null!=e.tenantId&&void 0!==e._tenantRecaptchaConfigs[e.tenantId])return e._tenantRecaptchaConfigs[e.tenantId].siteKey}return new Promise(async(t,r)=>
1{P(e,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(n=>{if(void 0===n.recaptchaKey)r(Error("recaptcha Enterprise site key undefined"));else{let r=new O(n);return null==e.tenantId?e._agentRecaptchaConfig=r:e._tenantRecaptchaConfigs[e.tenantId]=r,t(r.siteKey)}}).catch(e=>{r(e)})})}function n(t,r,n){let i=window.grecaptcha;R(i)?i.enterprise.ready(()=>{i.enterprise.execute(t,{action:e}).then(e=>{r(e)}).catch(()=>{r(eS)})}):n(Error("No reCAPTCHA enterprise script loaded."))}return this.auth.settings.appVerificationDisabledForTesting?new eE().execute("siteKey",{action:"verify"}):new Promise((e,i)=>{r(this.auth).then(r=>{if(!t&&R(window.grecaptcha))n(r,e,i);else{var s;if("u"<typeof window)return void i(Error("RecaptchaVerifier is only supported in browser"));let t=eI.recaptchaEnterpriseScript;0!==t.length&&(t+=r),(s=t,eI.loadJS(s)).then(()=>{n(r,e,i)}).catch(e=>{i(e)})}}).catch(e=>{i(e)})})}}async function eA(e,t,r,n=!1,i=!1){let s,a=new eC(e);if(i)s=eS;else try{s=await a.verify(r)}catch(e){s=await a.verify(r,!0)}let o={...t};if("mfaSmsEnrollment"===r||"mfaSmsSignIn"===r){if("phoneEnrollmentInfo"in o){let e=o.phoneEnrollmentInfo.phoneNumber,t=o.phoneEnrollmentInfo.recaptchaToken;Object.assign(o,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:t,captchaResponse:s,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}else if("phoneSignInInfo"in o){let e=o.phoneSignInInfo.recaptchaToken;Object.assign(o,{phoneSignInInfo:{recaptchaToken:e,captchaResponse:s,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}return o}return n?Object.assign(o,{captchaResp:s}):Object.assign(o,{captchaResponse:s}),Object.assign(o,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(o,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"}),o}async function ek(e,t,r,n,i){if("EMAIL_PASSWORD_PROVIDER"===i)if(!e._getRecaptchaConfig()?.isProviderEnabled("EMAIL_PASSWORD_PROVIDER"))return n(e,t).catch(async i=>{if("auth/missing-recaptcha-token"!==i.code)return Promise.reject(i);{console.log(`${r} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);let i=await eA(e,t,r,"getOobCode"===r);return n(e,i)}});else{let i=await eA(e,t,r,"getOobCode"===r);return n(e,i)}if("PHONE_PROVIDER"!==i)return Promise.reject(i+" provider is not supported.");if(e._getRecaptchaConfig()?.isProviderEnabled("PHONE_PROVIDER")){let i=await eA(e,t,r);return n(e,i).catch(async i=>{if(e._getRecaptchaConfig()?.getProviderEnforcementState("PHONE_PROVIDER")==="AUDIT"&&("auth/missing-recaptcha-token"===i.code||"auth/invalid-app-credential"===i.code)){console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${r} flow.`);let i=await eA(e,t,r,!1,!0);return n(e,i)}return Promise.reject(i)})}{let i=await eA(e,t,r,!1,!0);return n(e,i)}}async function ex(e){let t=ew(e),r=new O(await P(t,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}));null==t.tenantId?t._agentRecaptchaConfig=r:t._tenantRecaptchaConfigs[t.tenantId]=r,r.isAnyProviderEnabled()&&new eC(t).verify()}function eD(e){let t=e.indexOf(":");return t<0?"":e.substr(0,t+1)}function eN(e){if(!e)return null;let t=Number(e);return isNaN(t)?null:t}class eR{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return m("not implemented")}_getIdTokenResponse(e){return m("not implemented")}_linkToIdToken(e,t){return m("not implemented")}_getReauthenticationResolver(e){return m("not implemented")}}async function eO(e,t){return C(e,"POST","/v1/accounts:signUp",t)}async function eP(e,t){return k(e,"POST","/v1/accounts:signInWithPassword",S(e,t))}async function eL(e,t){return C(e,"POST","/v1/accounts:sendOobCode",S(e,t))}async function eM(e,t){return eL(e,t)}async function eV(e,t){return k(e,"POST","/v1/accounts:signInWithEmailLink",S(e,t))}async function eF(e,t){return k(e,"POST","/v1/accounts:signInWithEmailLink",S(e,t))}class eU extends eR{constructor(e,t,r,n=null){super("password",r),this._email=e,this._password=t,this._tenantId=n}static _fromEmailAndPassword(e,t){return new eU(e,t,"password")}static _fromEmailAndCode(e,t,r=null){return new eU(e,t,"emailLink",r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){let t="string"==typeof e?JSON.parse(e):e;if(t?.email&&t?.password){if("password"===t.signInMethod)return this._fromEmailAndPassword(t.email,t.password);else if("emailLink"===t.signInMethod)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":return ek(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signInWithPassword",eP,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return eV(e,{email:this._email,oobCode:this._password});default:h(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return ek(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"}
1,"signUpPassword",eO,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return eF(e,{idToken:t,email:this._email,oobCode:this._password});default:h(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}async function eB(e,t){return k(e,"POST","/v1/accounts:signInWithIdp",S(e,t))}class ej extends eR{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){let t=new ej(e.providerId,e.signInMethod);return e.idToken||e.accessToken?(e.idToken&&(t.idToken=e.idToken),e.accessToken&&(t.accessToken=e.accessToken),e.nonce&&!e.pendingToken&&(t.nonce=e.nonce),e.pendingToken&&(t.pendingToken=e.pendingToken)):e.oauthToken&&e.oauthTokenSecret?(t.accessToken=e.oauthToken,t.secret=e.oauthTokenSecret):h("argument-error"),t}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(e){let{providerId:t,signInMethod:r,...n}="string"==typeof e?JSON.parse(e):e;if(!t||!r)return null;let i=new ej(t,r);return i.idToken=n.idToken||void 0,i.accessToken=n.accessToken||void 0,i.secret=n.secret,i.nonce=n.nonce,i.pendingToken=n.pendingToken||null,i}_getIdTokenResponse(e){return eB(e,this.buildRequest())}_linkToIdToken(e,t){let r=this.buildRequest();return r.idToken=t,eB(e,r)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,eB(e,t)}buildRequest(){let e={requestUri:"http://localhost",returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{let t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=(0,n.querystring)(t)}return e}}async function eq(e,t){return C(e,"POST","/v1/accounts:sendVerificationCode",S(e,t))}async function ez(e,t){return k(e,"POST","/v1/accounts:signInWithPhoneNumber",S(e,t))}async function e$(e,t){let r=await k(e,"POST","/v1/accounts:signInWithPhoneNumber",S(e,t));if(r.temporaryProof)throw N(e,"account-exists-with-different-credential",r);return r}let eK={USER_NOT_FOUND:"user-not-found"};async function eG(e,t){return k(e,"POST","/v1/accounts:signInWithPhoneNumber",S(e,{...t,operation:"REAUTH"}),eK)}class eH extends eR{constructor(e){super("phone","phone"),this.params=e}static _fromVerification(e,t){return new eH({verificationId:e,verificationCode:t})}static _fromTokenResponse(e,t){return new eH({phoneNumber:e,temporaryProof:t})}_getIdTokenResponse(e){return ez(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return e$(e,{idToken:t,...this._makeVerificationRequest()})}_getReauthenticationResolver(e){return eG(e,this._makeVerificationRequest())}_makeVerificationRequest(){let{temporaryProof:e,phoneNumber:t,verificationId:r,verificationCode:n}=this.params;return e&&t?{temporaryProof:e,phoneNumber:t}:{sessionInfo:r,code:n}}toJSON(){let e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(e){"string"==typeof e&&(e=JSON.parse(e));let{verificationId:t,verificationCode:r,phoneNumber:n,temporaryProof:i}=e;return r||t||n||i?new eH({verificationId:t,verificationCode:r,phoneNumber:n,temporaryProof:i}):null}}class eW{constructor(e){const t=(0,n.querystringDecode)((0,n.extractQuerystring)(e)),r=t.apiKey??null,i=t.oobCode??null,s=function(e){switch(e){case"recoverEmail":return"RECOVER_EMAIL";case"resetPassword":return"PASSWORD_RESET";case"signIn":return"EMAIL_SIGNIN";case"verifyEmail":return"VERIFY_EMAIL";case"verifyAndChangeEmail":return"VERIFY_AND_CHANGE_EMAIL";case"revertSecondFactorAddition":return"REVERT_SECOND_FACTOR_ADDITION";default:return null}}(t.mode??null);g(r&&i&&s,"argument-error"),this.apiKey=r,this.operation=s,this.code=i,this.continueUrl=t.continueUrl??null,this.languageCode=t.lang??null,this.tenantId=t.tenantId??null}static parseLink(e){let t,r,i,s=(r=(t=(0,n.querystringDecode)((0,n.extractQuerystring)(e)).link)?(0,n.querystringDecode)((0,n.extractQuerystring)(t)).deep_link_id:null,((i=(0,n.querystringDecode)((0,n.extractQuerystring)(e)).deep_link_id)?(0,n.querystringDecode)((0,n.extractQuerystring)(i)).link:null)||i||r||t||e);try{return new eW(s)}catch{return null}}}class eQ{constructor(){this.providerId=eQ.PROVIDER_ID}static credential(e,t){return eU._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){let r=eW.parseLink(t);return g(r,"argument-error"),eU._fromEmailAndCode(e,r.code,r.tenantId)}}eQ.PROVIDER_ID="password",eQ.EMAIL_PASSWORD_SIGN_IN_METHOD="password",eQ.EMAIL_LINK_SIGN_IN_METHOD="emailLink";class eJ{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}}class eY extends eJ{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}class eX extends eY{constructor(){super("facebook.com")}static credential(e){return ej._fromParams({providerId:eX.PROVIDER_ID,signInMethod:eX.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return eX.credentialFromTaggedObject(e)}static credentialFromError(e){return eX.credentialFromTaggedObject(e.customData||{})}
1static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return eX.credential(e.oauthAccessToken)}catch{return null}}}eX.FACEBOOK_SIGN_IN_METHOD="facebook.com",eX.PROVIDER_ID="facebook.com";class eZ extends eY{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return ej._fromParams({providerId:eZ.PROVIDER_ID,signInMethod:eZ.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return eZ.credentialFromTaggedObject(e)}static credentialFromError(e){return eZ.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{oauthIdToken:t,oauthAccessToken:r}=e;if(!t&&!r)return null;try{return eZ.credential(t,r)}catch{return null}}}eZ.GOOGLE_SIGN_IN_METHOD="google.com",eZ.PROVIDER_ID="google.com";class e0 extends eY{constructor(){super("github.com")}static credential(e){return ej._fromParams({providerId:e0.PROVIDER_ID,signInMethod:e0.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return e0.credentialFromTaggedObject(e)}static credentialFromError(e){return e0.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return e0.credential(e.oauthAccessToken)}catch{return null}}}e0.GITHUB_SIGN_IN_METHOD="github.com",e0.PROVIDER_ID="github.com";class e1 extends eY{constructor(){super("twitter.com")}static credential(e,t){return ej._fromParams({providerId:e1.PROVIDER_ID,signInMethod:e1.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return e1.credentialFromTaggedObject(e)}static credentialFromError(e){return e1.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{oauthAccessToken:t,oauthTokenSecret:r}=e;if(!t||!r)return null;try{return e1.credential(t,r)}catch{return null}}}e1.TWITTER_SIGN_IN_METHOD="twitter.com",e1.PROVIDER_ID="twitter.com";class e2{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,n=!1){return new e2({user:await X._fromIdTokenResponse(e,r,n),providerId:e6(r),_tokenResponse:r,operationType:t})}static async _forOperation(e,t,r){return await e._updateTokensIfNecessary(r,!0),new e2({user:e,providerId:e6(r),_tokenResponse:r,operationType:t})}}function e6(e){return e.providerId?e.providerId:"phoneNumber"in e?"phone":null}class e3 extends n.FirebaseError{constructor(e,t,r,n){super(t.code,t.message),this.operationType=r,this.user=n,Object.setPrototypeOf(this,e3.prototype),this.customData={appName:e.name,tenantId:e.tenantId??void 0,_serverResponse:t.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(e,t,r,n){return new e3(e,t,r,n)}}function e5(e,t,r,n){return("reauthenticate"===t?r._getReauthenticationResolver(e):r._getIdTokenResponse(e)).catch(r=>{if("auth/multi-factor-auth-required"===r.code)throw e3._fromErrorAndOperation(e,r,t,n);throw r})}async function e8(e,t,r=!1){let n=await q(e,t._linkToIdToken(e.auth,await e.getIdToken()),r);return e2._forOperation(e,"link",n)}async function e4(e,t,n=!1){let{auth:i}=e;if((0,r._isFirebaseServerApp)(i.app))return Promise.reject(f(i));let s="reauthenticate";try{let r=await q(e,e5(i,s,t,e),n);g(r.idToken,i,"internal-error");let a=B(r.idToken);g(a,i,"internal-error");let{sub:o}=a;return g(e.uid===o,i,"user-mismatch"),e2._forOperation(e,s,r)}catch(e){throw e?.code==="auth/user-not-found"&&h(i,"user-mismatch"),e}}async function e7(e,t,n=!1){if((0,r._isFirebaseServerApp)(e.app))return Promise.reject(f(e));let i="signIn",s=await e5(e,i,t),a=await e2._fromIdTokenResponse(e,i,s);return n||await e._updateCurrentUser(a.user),a}async function e9(e,t){return e7(ew(e),t)}class te{constructor(e,t){this.factorId=e,this.uid=t.mfaEnrollmentId,this.enrollmentTime=new Date(t.enrolledAt).toUTCString(),this.displayName=t.displayName}static _fromServerResponse(e,t){return"phoneInfo"in t?tt._fromServerResponse(e,t):"totpInfo"in t?tr._fromServerResponse(e,t):h(e,"internal-error")}}class tt extends te{constructor(e){super("phone",e),this.phoneNumber=e.phoneInfo}static _fromServerResponse(e,t){return new tt(t)}}class tr extends te{constructor(e){super("totp",e)}static _fromServerResponse(e,t){return new tr(t)}}async function tn(e,t,r){let n=ew(e),i={requestType:"EMAIL_SIGNIN",email:t,clientType:"CLIENT_TYPE_WEB"};g(r.handleCodeInApp,n,"argument-error"),r&&(g(r.url?.length>0,n,"invalid-continue-uri"),g(void 0===r.dynamicLinkDomain||r.dynamicLinkDomain.length>0,n,"invalid-dynamic-link-domain"),g(void 0===r.linkDomain||r.linkDomain.length>0,n,"invalid-hosting-link-domain"),i.continueUrl=r.url,i.dynamicLinkDomain=r.dynamicLinkDomain,i.linkDomain=r.linkDomain,i.canHandleCodeInApp=r.handleCodeInApp,r.iOS&&(g(r.iOS.bundleId.length>0,n,"missing-ios-bundle-id"),i.iOSBundleId=r.iOS.bundleId),r.android&&(g(r.android.packageName.length>0,n,"missing-android-pkg-name"),i.androidInstallApp=r.android.installApp,i.androidMinimumVersionCode=r.android.minimumVersion,i.androidPackageName=r.android.packageName)),await ek(n,i,"getOobCode",eM,"EMAIL_PASSWORD_PROVIDER")}async function ti(e,t,i){if((0,r._isFirebaseServerApp)(e.app))return Promise.reject(f(e));let s=(0,n.getModularInstance)(e),a=eQ.credentialWithLink(t,i||y());return g(a._tenantId===(s.tenantId||null),s,"tenant-id-mismatch"),e9(s,a)}function ts(e,t){return C(e,"POST","/v2/accounts/mfaEnrollment:start",S(e,t))}new WeakMap;let ta="__sak";class to{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{if(!this.storage)return Promise.resolve(!1);return this.storage.setItem(ta,"1"),this.storage.removeItem(ta),Promise.resolve(!0)}catch{return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){let t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}}class tl extends to{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=ef(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(let t of Object.keys(this.listeners)){let r=this.storage.getItem(t),n=this.localCache[t];r!==n&&e(t,n,r)}}
1onStorageEvent(e,t=!1){if(!e.key)return void this.forAllChangedKeys((e,t,r)=>{this.notifyListeners(e,r)});let r=e.key;t?this.detachListener():this.stopPolling();let i=()=>{let e=this.storage.getItem(r);(t||this.localCache[r]!==e)&&this.notifyListeners(r,e)},s=this.storage.getItem(r);(0,n.isIE)()&&10===document.documentMode&&s!==e.newValue&&e.newValue!==e.oldValue?setTimeout(i,10):i()}notifyListeners(e,t){this.localCache[e]=t;let r=this.listeners[e];if(r)for(let e of Array.from(r))e(t?JSON.parse(t):t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,r)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:r}),!0)})},1e3)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){0===Object.keys(this.listeners).length&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){let t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}tl.type="LOCAL";class tu extends to{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}tu.type="SESSION";class th{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){let t=this.receivers.find(t=>t.isListeningto(e));if(t)return t;let r=new th(e);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){let{eventId:t,eventType:r,data:n}=e.data,i=this.handlersMap[r];if(!i?.size)return;e.ports[0].postMessage({status:"ack",eventId:t,eventType:r});let s=Array.from(i).map(async t=>t(e.origin,n)),a=await Promise.all(s.map(async e=>{try{let t=await e;return{fulfilled:!0,value:t}}catch(e){return{fulfilled:!1,reason:e}}}));e.ports[0].postMessage({status:"done",eventId:t,eventType:r,response:a})}_subscribe(e,t){0===Object.keys(this.handlersMap).length&&this.eventTarget.addEventListener("message",this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),t&&0!==this.handlersMap[e].size||delete this.handlersMap[e],0===Object.keys(this.handlersMap).length&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}function tc(e="",t=10){let r="";for(let e=0;e<t;e++)r+=Math.floor(10*Math.random());return e+r}th.receivers=[];class td{constructor(e){this.target=e,this.handlers=new Set}removeMessageHandler(e){e.messageChannel&&(e.messageChannel.port1.removeEventListener("message",e.onMessage),e.messageChannel.port1.close()),this.handlers.delete(e)}async _send(e,t,r=50){let n,i,s="u">typeof MessageChannel?new MessageChannel:null;if(!s)throw Error("connection_unavailable");return new Promise((a,o)=>{let l=tc("",20);s.port1.start();let u=setTimeout(()=>{o(Error("unsupported_event"))},r);i={messageChannel:s,onMessage(e){if(e.data.eventId===l)switch(e.data.status){case"ack":clearTimeout(u),n=setTimeout(()=>{o(Error("timeout"))},3e3);break;case"done":clearTimeout(n),a(e.data.response);break;default:clearTimeout(u),clearTimeout(n),o(Error("invalid_response"))}}},this.handlers.add(i),s.port1.addEventListener("message",i.onMessage),this.target.postMessage({eventType:e,eventId:l,data:t},[s.port2])}).finally(()=>{i&&this.removeMessageHandler(i)})}}function tf(){return window}function tp(){return void 0!==tf().WorkerGlobalScope&&"function"==typeof tf().importScripts}async function tg(){if(!navigator?.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}let tm="firebaseLocalStorageDb",ty="firebaseLocalStorage",tv="fbase_key";class tw{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>
1{this.request.addEventListener("success",()=>{e(this.request.result)}),this.request.addEventListener("error",()=>{t(this.request.error)})})}}function tb(e,t){return e.transaction([ty],t?"readwrite":"readonly").objectStore(ty)}function tI(){let e=indexedDB.open(tm,1);return new Promise((t,r)=>{e.addEventListener("error",()=>{r(e.error)}),e.addEventListener("upgradeneeded",()=>{let t=e.result;try{t.createObjectStore(ty,{keyPath:tv})}catch(e){r(e)}}),e.addEventListener("success",async()=>{let r=e.result;r.objectStoreNames.contains(ty)?t(r):(r.close(),await new tw(indexedDB.deleteDatabase(tm)).toPromise(),t(await tI()))})})}async function t_(e,t,r){return new tw(tb(e,!0).put({[tv]:t,value:r})).toPromise()}async function tE(e,t){let r=tb(e,!1).get(t),n=await new tw(r).toPromise();return void 0===n?null:n.value}function tT(e,t){return new tw(tb(e,!0).delete(t)).toPromise()}class tS{constructor(){this.type="LOCAL",this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){return this.db||(this.db=await tI()),this.db}async _withRetries(e){let t=0;for(;;)try{let t=await this._openDb();return await e(t)}catch(e){if(t++>3)throw e;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return tp()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=th._getInstance(tp()?self:null),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){if(this.activeServiceWorker=await tg(),!this.activeServiceWorker)return;this.sender=new td(this.activeServiceWorker);let e=await this.sender._send("ping",{},800);e&&e[0]?.fulfilled&&e[0]?.value.includes("keyChanged")&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(this.sender&&this.activeServiceWorker&&(navigator?.serviceWorker?.controller||null)===this.activeServiceWorker)try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch{}}async _isAvailable(){try{if(!indexedDB)return!1;let e=await tI();return await t_(e,ta,"1"),await tT(e,ta),!0}catch{}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite(async()=>(await this._withRetries(r=>t_(r,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){let t=await this._withRetries(t=>tE(t,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>tT(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){let e=await this._withRetries(e=>new tw(tb(e,!1).getAll()).toPromise());if(!e||0!==this.pendingWrites)return[];let t=[],r=new Set;if(0!==e.length)for(let{fbase_key:n,value:i}of e)r.add(n),JSON.stringify(this.localCache[n])!==JSON.stringify(i)&&(this.notifyListeners(n,i),t.push(n));for(let e of Object.keys(this.localCache))this.localCache[e]&&!r.has(e)&&(this.notifyListeners(e,null),t.push(e));return t}notifyListeners(e,t){this.localCache[e]=t;let r=this.listeners[e];if(r)for(let e of Array.from(r))e(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),800)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){0===Object.keys(this.listeners).length&&this.startPolling(),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&this.stopPolling()}}function tC(e,t){return C(e,"POST","/v2/accounts/mfaSignIn:start",S(e,t))}tS.type="LOCAL",e_("rcb"),new w(3e4,6e4);let tA="recaptcha";async function tk(e,t,r){if(!e._getRecaptchaConfig())try{await ex(e)}catch(e){console.log("Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.")}try{let n;if(n="string"==typeof t?{phoneNumber:t}
1:t,"session"in n){let t=n.session;if("phoneNumber"in n){g("enroll"===t.type,e,"internal-error");let i={idToken:t.credential,phoneEnrollmentInfo:{phoneNumber:n.phoneNumber,clientType:"CLIENT_TYPE_WEB"}},s=async(e,t)=>{if(t.phoneEnrollmentInfo.captchaResponse===eS){g(r?.type===tA,e,"argument-error");let n=await tx(e,t,r);return ts(e,n)}return ts(e,t)},a=ek(e,i,"mfaSmsEnrollment",s,"PHONE_PROVIDER");return(await a.catch(e=>Promise.reject(e))).phoneSessionInfo.sessionInfo}{g("signin"===t.type,e,"internal-error");let i=n.multiFactorHint?.uid||n.multiFactorUid;g(i,e,"missing-multi-factor-info");let s={mfaPendingCredential:t.credential,mfaEnrollmentId:i,phoneSignInInfo:{clientType:"CLIENT_TYPE_WEB"}},a=async(e,t)=>{if(t.phoneSignInInfo.captchaResponse===eS){g(r?.type===tA,e,"argument-error");let n=await tx(e,t,r);return tC(e,n)}return tC(e,t)},o=ek(e,s,"mfaSmsSignIn",a,"PHONE_PROVIDER");return(await o.catch(e=>Promise.reject(e))).phoneResponseInfo.sessionInfo}}{let t={phoneNumber:n.phoneNumber,clientType:"CLIENT_TYPE_WEB"},i=async(e,t)=>{if(t.captchaResponse===eS){g(r?.type===tA,e,"argument-error");let n=await tx(e,t,r);return eq(e,n)}return eq(e,t)},s=ek(e,t,"sendVerificationCode",i,"PHONE_PROVIDER");return(await s.catch(e=>Promise.reject(e))).sessionInfo}}finally{r?._reset()}}async function tx(e,t,r){g(r.type===tA,e,"argument-error");let n=await r.verify();g("string"==typeof n,e,"argument-error");let i={...t};if("phoneEnrollmentInfo"in i){let e=i.phoneEnrollmentInfo.phoneNumber,t=i.phoneEnrollmentInfo.captchaResponse,r=i.phoneEnrollmentInfo.clientType,s=i.phoneEnrollmentInfo.recaptchaVersion;return Object.assign(i,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:n,captchaResponse:t,clientType:r,recaptchaVersion:s}}),i}if(!("phoneSignInInfo"in i))return Object.assign(i,{recaptchaToken:n}),i;{let e=i.phoneSignInInfo.captchaResponse,t=i.phoneSignInInfo.clientType,r=i.phoneSignInInfo.recaptchaVersion;return Object.assign(i,{phoneSignInInfo:{recaptchaToken:n,captchaResponse:e,clientType:t,recaptchaVersion:r}}),i}}class tD{constructor(e){this.providerId=tD.PROVIDER_ID,this.auth=ew(e)}verifyPhoneNumber(e,t){return tk(this.auth,e,(0,n.getModularInstance)(t))}static credential(e,t){return eH._fromVerification(e,t)}static credentialFromResult(e){return tD.credentialFromTaggedObject(e)}static credentialFromError(e){return tD.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{phoneNumber:t,temporaryProof:r}=e;return t&&r?eH._fromTokenResponse(t,r):null}}function tN(e,t){return t?ee(t):(g(e._popupRedirectResolver,e,"argument-error"),e._popupRedirectResolver)}tD.PROVIDER_ID="phone",tD.PHONE_SIGN_IN_METHOD="phone";class tR extends eR{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return eB(e,this._buildIdpRequest())}_linkToIdToken(e,t){return eB(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return eB(e,this._buildIdpRequest())}_buildIdpRequest(e){let t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}}function tO(e){return e7(e.auth,new tR(e),e.bypassAuthState)}function tP(e){let{auth:t,user:r}=e;return g(r,t,"internal-error"),e4(r,new tR(e),e.bypassAuthState)}async function tL(e){let{auth:t,user:r}=e;return g(r,t,"internal-error"),e8(r,new tR(e),e.bypassAuthState)}class tM{constructor(e,t,r,n,i=!1){this.auth=e,this.resolver=r,this.user=n,this.bypassAuthState=i,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}})}async onAuthEvent(e){let{urlResponse:t,sessionId:r,postBody:n,tenantId:i,error:s,type:a}=e;if(s)return void this.reject(s);let o={auth:this.auth,requestUri:t,sessionId:r,tenantId:i||void 0,postBody:n||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(a)(o))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return tO;case"linkViaPopup":case"linkViaRedirect":return tL;case"reauthViaPopup":case"reauthViaRedirect":return tP;default:h(this.auth,"internal-error")}}resolve(e){var t,r;t=this.pendingPromise,r="Pending promise was never set",t||m(r),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){var t,r;t=this.pendingPromise,r="Pending promise was never set",t||m(r),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}}let tV=new w(2e3,1e4);async function tF(e,t,n){if((0,r._isFirebaseServerApp)(e.app))return Promise.reject(c(e,"operation-not-supported-in-this-environment"));let i=ew(e);if(!(t instanceof eJ))throw eJ.name!==t.constructor.name&&h(e,"argument-error"),d(e,"argument-error",`Type of ${t.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`);let s=tN(i,n);return new tU(i,"signInViaPopup",t,s).executeNotNull()}class tU extends tM{constructor(e,t,r,n,i){super(e,t,n,i),this.provider=r,this.authWindow=null,this.pollId=null,tU.currentPopupAction&&tU.currentPopupAction.cancel(),tU.currentPopupAction=this}async executeNotNull(){let e=await this.execute();return g(e,this.auth,"internal-error"),e}async onExecution(){var e,t;e=1===this.filter.length,t="Popup operations only handle one event",e||m(t);let r=tc();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],r),this.authWindow.associatedEvent=r,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(c(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){return this.authWindow?.associatedEvent||null}cancel(){this.reject(c(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,tU.currentPopupAction=null}pollUserCancellation(){let e=()=>{if(this.authWindow?.window?.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(c(this.auth,"popup-closed-by-user"))},8e3);return}this.pollId=window.setTimeout(e,tV.get())};e()}}tU.currentPopupAction=null;let tB=new Map;class tj extends tM{constructor(e,t,r=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,r),this.eventId=null}async execute(){let e=tB.get(this.auth._key());if(!e){try{let t=await tq(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}tB.set(this.auth._key(),e)}return this.bypassAuthState||tB.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if("signInViaRedirect"===e.type)return super.onAuthEvent(e);
1if("unknown"===e.type)return void this.resolve(null);if(e.eventId){let t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}}async function tq(e,t){var r;let n=er("pendingRedirect",(r=t).config.apiKey,r.name),i=ee(e._redirectPersistence);if(!await i._isAvailable())return!1;let s=await i._get(n)==="true";return await i._remove(n),s}function tz(e,t){tB.set(e._key(),t)}async function t$(e,t,n=!1){if((0,r._isFirebaseServerApp)(e.app))return Promise.reject(f(e));let i=ew(e),s=tN(i,t),a=new tj(i,s,n),o=await a.execute();return o&&!n&&(delete o.user._redirectEventId,await i._persistUserIfCurrent(o.user),await i._setRedirectUser(null,t)),o}class tK{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(r=>{this.isEventForConsumer(e,r)&&(t=!0,this.sendToConsumer(e,r),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!function(e){switch(e.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return tH(e);default:return!1}}(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){if(e.error&&!tH(e)){let r=e.error.code?.split("auth/")[1]||"internal-error";t.onError(c(this.auth,r))}else t.onAuthEvent(e)}isEventForConsumer(e,t){let r=null===t.eventId||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&r}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=6e5&&this.cachedEventUids.clear(),this.cachedEventUids.has(tG(e))}saveEventToCache(e){this.cachedEventUids.add(tG(e)),this.lastProcessedEventTime=Date.now()}}function tG(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join("-")}function tH({type:e,error:t}){return"unknown"===e&&t?.code==="auth/no-auth-event"}async function tW(e,t={}){return C(e,"GET","/v1/projects",t)}let tQ=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,tJ=/^https?/;async function tY(e){if(e.config.emulator)return;let{authorizedDomains:t}=await tW(e);for(let e of t)try{if(function(e){let t=y(),{protocol:r,hostname:n}=new URL(t);if(e.startsWith("chrome-extension://")){let i=new URL(e);return""===i.hostname&&""===n?"chrome-extension:"===r&&e.replace("chrome-extension://","")===t.replace("chrome-extension://",""):"chrome-extension:"===r&&i.hostname===n}if(!tJ.test(r))return!1;if(tQ.test(e))return n===e;let i=e.replace(/\./g,"\\.");return RegExp("^(.+\\."+i+"|"+i+")$","i").test(n)}(e))return}catch{}h(e,"unauthorized-domain")}let tX=new w(3e4,6e4);function tZ(){let e=tf().___jsl;if(e?.H){for(let t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let t=0;t<e.CP.length;t++)e.CP[t]=null}}let t0=null,t1=new w(5e3,15e3),t2={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},t6=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);async function t3(e){let t,i,s,a,o,l=await (t0=t0||new Promise((t,r)=>{function n(){tZ(),gapi.load("gapi.iframes",{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{tZ(),r(c(e,"network-request-failed"))},timeout:tX.get()})}if(tf().gapi?.iframes?.Iframe)t(gapi.iframes.getContext());else if(tf().gapi?.load)n();else{var i;let t=e_("iframefcb");return tf()[t]=()=>{gapi.load?n():r(c(e,"network-request-failed"))},(i=`${eI.gapiScript}?onload=${t}`,eI.loadJS(i)).catch(e=>r(e))}}).catch(e=>{throw t0=null,e})),u=tf().gapi;return g(u,e,"internal-error"),l.open({where:document.body,url:(g((t=e.config).authDomain,e,"auth-domain-config-required"),i=t.emulator?b(t,"emulator/auth/iframe"):`https://${e.config.authDomain}
1/__/auth/iframe`,s={apiKey:t.apiKey,appName:e.name,v:r.SDK_VERSION},(a=t6.get(e.config.apiHost))&&(s.eid=a),(o=e._getFrameworks()).length&&(s.fw=o.join(",")),`${i}?${(0,n.querystring)(s).slice(1)}`),messageHandlersFilter:u.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:t2,dontclear:!0},t=>new Promise(async(r,n)=>{await t.restyle({setHideOnLeave:!1});let i=c(e,"network-request-failed"),s=tf().setTimeout(()=>{n(i)},t1.get());function a(){tf().clearTimeout(s),r(t)}t.ping(a).then(a,()=>{n(i)})}))}let t5={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"};class t8{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch(e){}}}let t4=encodeURIComponent("fac");async function t7(e,t,i,s,a,o){g(e.config.authDomain,e,"auth-domain-config-required"),g(e.config.apiKey,e,"invalid-api-key");let l={apiKey:e.config.apiKey,appName:e.name,authType:i,redirectUrl:s,v:r.SDK_VERSION,eventId:a};if(t instanceof eJ)for(let[r,i]of(t.setDefaultLanguage(e.languageCode),l.providerId=t.providerId||"",(0,n.isEmpty)(t.getCustomParameters())||(l.customParameters=JSON.stringify(t.getCustomParameters())),Object.entries(o||{})))l[r]=i;if(t instanceof eY){let e=t.getScopes().filter(e=>""!==e);e.length>0&&(l.scopes=e.join(","))}for(let t of(e.tenantId&&(l.tid=e.tenantId),Object.keys(l)))void 0===l[t]&&delete l[t];let u=await e._getAppCheckToken(),h=u?`#${t4}=${encodeURIComponent(u)}`:"";return`${function({config:e}){return e.emulator?b(e,"emulator/auth/handler"):`https://${e.authDomain}/__/auth/handler`}(e)}?${(0,n.querystring)(l).slice(1)}${h}`}let t9="webStorageSupport",re=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=tu,this._completeRedirectFn=t$,this._overrideRedirectResult=tz}async _openPopup(e,t,r,i){var s,a;s=this.eventManagers[e._key()]?.manager,a="_initialize() not called before _openPopup()",s||m(a);let o=await t7(e,t,r,y(),i);return function(e,t,r,i=500,s=600){let a=Math.max((window.screen.availHeight-s)/2,0).toString(),o=Math.max((window.screen.availWidth-i)/2,0).toString(),l="",u={...t5,width:i.toString(),height:s.toString(),top:a,left:o},h=(0,n.getUA)().toLowerCase();r&&(l=eo(h)?"_blank":r),es(h)&&(t=t||"http://localhost",u.scrollbars="yes");let c=Object.entries(u).reduce((e,[t,r])=>`${e}${t}=${r},`,"");if(function(e=(0,n.getUA)()){return ed(e)&&!!window.navigator?.standalone}(h)&&"_self"!==l){var d,f;let e,r;return d=t||"",f=l,(e=document.createElement("a")).href=d,e.target=f,(r=document.createEvent("MouseEvent")).initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),e.dispatchEvent(r),new t8(null)}let p=window.open(t||"",l,c);g(p,e,"popup-blocked");try{p.focus()}catch(e){}return new t8(p)}(e,o,tc())}async _openRedirect(e,t,r,n){var i;return await this._originValidation(e),i=await t7(e,t,r,y(),n),tf().location.href=i,new Promise(()=>{})}_initialize(e){let t=e._key();if(this.eventManagers[t]){var r;let{manager:e,promise:n}=this.eventManagers[t];return e?Promise.resolve(e):(r="If manager is not set, promise should be",n||m(r),n)}let n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch(()=>{delete this.eventManagers[t]}),n}async initAndGetManager(e){let t=await t3(e),r=new tK(e);return t.register("authEvent",t=>(g(t?.authEvent,e,"invalid-auth-event"),{status:r.onEvent(t.authEvent)?"ACK":"ERROR"}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:r},this.iframes[e._key()]=t,r}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(t9,{type:t9},r=>{let n=r?.[0]?.[t9];void 0!==n&&t(!!n),h(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=tY(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return ef()||ea()||ed()}};var rt="@firebase/auth",rr="1.13.1";class rn{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){return this.assertAuthConfigured(),this.auth.currentUser?.uid||null}async getToken(e){return(this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser)?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;let t=this.auth.onIdTokenChanged(t=>{e(t?.stsTokenManager.accessToken||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();let t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){g(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}let ri=(0,n.getExperimentalSetting)("authIdTokenMaxAge")||300,rs=null;eI={loadJS:e=>
1new Promise((t,r)=>{let n=document.createElement("script");n.setAttribute("src",e),n.onload=t,n.onerror=e=>{let t=c("internal-error");t.customData=e,r(t)},n.type="text/javascript",n.charset="UTF-8",(document.getElementsByTagName("head")?.[0]??document).appendChild(n)}),gapiScript:"https://apis.google.com/js/api.js",recaptchaV2Script:"https://www.google.com/recaptcha/api.js",recaptchaEnterpriseScript:"https://www.google.com/recaptcha/enterprise.js?render="},t="Browser",(0,r._registerComponent)(new s.Component("auth",(e,{options:r})=>{let n,i,s=e.getProvider("app").getImmediate(),a=e.getProvider("heartbeat"),o=e.getProvider("app-check-internal"),{apiKey:l,authDomain:u}=s.options;g(l&&!l.includes(":"),"invalid-api-key",{appName:s.name});let h=new ev(s,a,o,{apiKey:l,authDomain:u,clientPlatform:t,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:ep(t)});return i=(Array.isArray(n=r?.persistence||[])?n:[n]).map(ee),r?.errorMap&&h._updateErrorMap(r.errorMap),h._initializeWithPersistence(i,r?.popupRedirectResolver),h},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider("auth-internal").initialize()})),(0,r._registerComponent)(new s.Component("auth-internal",e=>new rn(ew(e.getProvider("auth").getImmediate())),"PRIVATE").setInstantiationMode("EXPLICIT")),(0,r.registerVersion)(rt,rr,function(e){switch(e){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";case"WebExtension":return"web-extension";default:return}}(t)),(0,r.registerVersion)(rt,rr,"esm2020"),e.s(["D",0,function(e){return(0,n.getModularInstance)(e).signOut()},"Y",0,eZ,"ad",0,tn,"ae",0,function(e,t){let r=eW.parseLink(t);return r?.operation==="EMAIL_SIGNIN"},"af",0,ti,"d",0,tF,"p",0,function(e=(0,r.getApp)()){let t=(0,r._getProvider)(e,"auth");if(t.isInitialized())return t.getImmediate();let i=function(e,t){let i=(0,r._getProvider)(e,"auth");if(i.isInitialized()){let e=i.getImmediate(),r=i.getOptions();if((0,n.deepEqual)(r,t??{}))return e;h(e,"already-initialized")}return i.initialize({options:t})}(e,{popupRedirectResolver:re,persistence:[tS,tl,tu]}),s=(0,n.getExperimentalSetting)("authTokenSyncURL");if(s&&"boolean"==typeof isSecureContext&&isSecureContext){let e=new URL(s,location.origin);if(location.origin===e.origin){let t,r=(t=e.toString(),async e=>{let r=e&&await e.getIdTokenResult(),n=r&&(new Date().getTime()-Date.parse(r.issuedAtTime))/1e3;if(n&&n>ri)return;let i=r?.token;rs!==i&&(rs=i,await fetch(t,{method:i?"POST":"DELETE",headers:i?{Authorization:`Bearer ${i}`}:{}}))});(0,n.getModularInstance)(i).beforeAuthStateChanged(r,()=>r(i.currentUser)),(0,n.getModularInstance)(i).onIdTokenChanged(e=>r(e),void 0,void 0)}}let a=(0,n.getDefaultEmulatorHost)("auth");return a&&function(e,t){let r=ew(e);g(/^https?:\/\//.test(t),r,"invalid-emulator-scheme");let i=eD(t),{host:s,port:a}=function(e){let t=eD(e),r=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!r)return{host:"",port:null};let n=r[2].split("@").pop()||"",i=/^(\[[^\]]+\])(:|$)/.exec(n);if(i){let e=i[1];return{host:e,port:eN(n.substr(e.length+1))}}{let[e,t]=n.split(":");return{host:e,port:eN(t)}}}(t),o=null===a?"":`:${a}`,l={url:`${i}//${s}${o}/`},u=Object.freeze({host:s,port:a,protocol:i.replace(":",""),options:Object.freeze({disableWarnings:!1})});if(!r._canInitEmulator){g(r.config.emulator&&r.emulatorConfig,r,"emulator-config-failed"),g((0,n.deepEqual)(l,r.config.emulator)&&(0,n.deepEqual)(u,r.emulatorConfig),r,"emulator-config-failed");return}r.config.emulator=l,r.emulatorConfig=u,r.settings.appVerificationDisabledForTesting=!0,(0,n.isCloudWorkstation)(s)?(0,n.pingServer)(`${i}//${s}${o}`):function(){function e(){let e=document.createElement("p"),t=e.style;e.innerText="Running in emulator mode. Do not use with production credentials.",t.position="fixed",t.width="100%",t.backgroundColor="#ffffff",t.border=".1em solid #000000",t.color="#b50000",t.bottom="0px",t.left="0px",t.margin="0px",t.zIndex="10000",t.textAlign="center",e.classList.add("firebase-emulator-warning"),document.body.appendChild(e)}"u">typeof console&&"function"==typeof console.info&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),"u">typeof window&&"u">typeof document&&("loading"===document.readyState?window.addEventListener("DOMContentLoaded",e):e())}()}(i,`http://${a}`),i},"z",0,function(e,t,r,i){return(0,n.getModularInstance)(e).onAuthStateChanged(t,r,i)}],64104),e.s([],51718)},67034,(e,t,r)=>{var n={675:function(e,t){"use strict";t.byteLength=function(e){var t=l(e),r=t[0],n=t[1];return(r+n)*3/4-n},t.toByteArray=function(e){var t,r,s=l(e),a=s[0],o=s[1],u=new i((a+o)*3/4-o),h=0,c=o>0?a-4:a;for(r=0;r<c;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],u[h++]=t>>16&255,u[h++]=t>>8&255,u[h++]=255&t;return 2===o&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,u[h++]=255&t),1===o&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,u[h++]=t>>8&255,u[h++]=255&t),u},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,s=[],a=0,o=n-i;a<o;a+=16383)s.push(function(e,t,n){for(var i,s=[],a=t;a<n;a+=3)i=(e[a]<<16&0xff0000)+(e[a+1]<<8&65280)+(255&e[a+2]),s.push(r[i>>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return s.join("")}(e,a,a+16383>o?o:a+16383));return 1===i?s.push(r[(t=e[n-1])>>2]+r[t<<4&63]+"=="):2===i&&s.push(r[(t=(e[n-2]<<8)+e[n-1])>>10]+r[t>>4&63]+r[t<<2&63]+"="),s.join("")};for(var r=[],n=[],i="u">typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
vendor: 18,973 bytes, line 1
1+/",a=0,o=s.length;a<o;++a)r[a]=s[a],n[s.charCodeAt(a)]=a;function l(e){var t=e.length;if(t%4>0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var n=r===t?0:4-r%4;return[r,n]}n[45]=62,n[95]=63},72:function(e,t,r){"use strict";var n=r(675),i=r(783),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function a(e){if(e>0x7fffffff)throw RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,o.prototype),t}function o(e,t,r){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return h(e)}return l(e,t,r)}function l(e,t,r){if("string"==typeof e){var n=e,i=t;if(("string"!=typeof i||""===i)&&(i="utf8"),!o.isEncoding(i))throw TypeError("Unknown encoding: "+i);var s=0|f(n,i),l=a(s),u=l.write(n,i);return u!==s&&(l=l.slice(0,u)),l}if(ArrayBuffer.isView(e))return c(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(x(e,ArrayBuffer)||e&&x(e.buffer,ArrayBuffer)||"u">typeof SharedArrayBuffer&&(x(e,SharedArrayBuffer)||e&&x(e.buffer,SharedArrayBuffer)))return function(e,t,r){var n;if(t<0||e.byteLength<t)throw RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw RangeError('"length" is outside of buffer bounds');return Object.setPrototypeOf(n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),o.prototype),n}(e,t,r);if("number"==typeof e)throw TypeError('The "value" argument must not be of type number. Received type number');var h=e.valueOf&&e.valueOf();if(null!=h&&h!==e)return o.from(h,t,r);var p=function(e){if(o.isBuffer(e)){var t=0|d(e.length),r=a(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?"number"!=typeof e.length||function(e){return e!=e}(e.length)?a(0):c(e):"Buffer"===e.type&&Array.isArray(e.data)?c(e.data):void 0}(e);if(p)return p;if("u">typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return o.from(e[Symbol.toPrimitive]("string"),t,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw TypeError('"size" argument must be of type number');if(e<0)throw RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return u(e),a(e<0?0:0|d(e))}function c(e){for(var t=e.length<0?0:0|d(e.length),r=a(t),n=0;n<t;n+=1)r[n]=255&e[n];return r}t.Buffer=o,t.SlowBuffer=function(e){return+e!=e&&(e=0),o.alloc(+e)},t.INSPECT_MAX_BYTES=50,t.kMaxLength=0x7fffffff,o.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),!o.TYPED_ARRAY_SUPPORT&&"u">typeof console&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}}),o.poolSize=8192,o.from=function(e,t,r){return l(e,t,r)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array),o.alloc=function(e,t,r){return(u(e),e<=0)?a(e):void 0!==t?"string"==typeof r?a(e).fill(t,r):a(e).fill(t):a(e)},o.allocUnsafe=function(e){return h(e)},o.allocUnsafeSlow=function(e){return h(e)};function d(e){if(e>=0x7fffffff)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function f(e,t){if(o.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||x(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return S(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return A(e).length;default:if(i)return n?-1:S(e).length;t=(""+t).toLowerCase(),i=!0}}function p(e,t,r){var i,s,a,o=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",s=t;s<r;++s)i+=D[e[s]];return i}(this,t,r);case"utf8":case"utf-8":return v(this,t,r);case"ascii":return function(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}(this,t,r);case"latin1":case"binary":return function(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}(this,t,r);case"base64":return i=this,s=t,a=r,0===s&&a===i.length?n.fromByteArray(i):n.fromByteArray(i.slice(s,a));case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return function(e,t,r){for(var n=e.slice(t,r),i="",s=0;s<n.length;s+=2)i+=String.fromCharCode(n[s]+256*n[s+1]);return i}(this,t,r);default:if(o)throw TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),o=!0}}function g(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function m(e,t,r,n,i){var s;if(0===e.length)return -1;if("string"==typeof r?(n=r,r=0):r>0x7fffffff?r=0x7fffffff:r<-0x80000000&&(r=-0x80000000),(s=r*=1)!=s&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length)if(i)return -1;else r=e.length-1;else if(r<0)if(!i)return -1;else r=0;if("string"==typeof t&&(t=o.from(t,n)),o.isBuffer(t))return 0===t.length?-1:y(e,t,r,n,i);if("number"==typeof t){if(t&=255,"function"==typeof Uint8Array.prototype.indexOf)if(i)return Uint8Array.prototype.indexOf.call(e,t,r);else return Uint8Array.prototype.lastIndexOf.call(e,t,r);return y(e,[t],r,n,i)}throw TypeError("val must be string, number or Buffer")}function y(e,t,r,n,i){var s,a=1,o=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return -1;a=2,o/=2,l/=2,r/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var h=-1;for(s=r;s<o;s++)if(u(e,s)===u(t,-1===h?0:s-h)){if(-1===h&&(h=s),s-h+1===l)return h*a}else -1!==h&&(s-=s-h),h=-1}else for(r+l>o&&(r=o-l),s=r;s>=0;s--){for(var c=!0,d=0;d<l;d++)if(u(e,s+d)!==u(t,d)){c=!1;break}if(c)return s}return -1}o.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==o.prototype},o.compare=function(e,t){if(x(e,Uint8Array)&&(e=o.from(e,e.offset,e.byteLength)),x(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(e)||!o.isBuffer(t))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,i=0,s=Math.min(r,n);i<s;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:+(n<r)},o.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(e,t){if(!Array.isArray(e))throw TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return o.alloc(0);if(void 0===t)for(r=0,t=0;r<e.length;++r)t+=e[r].length;var r,n=o.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var s=e[r];if(x(s,Uint8Array)&&(s=o.from(s)),!o.isBuffer(s))throw TypeError('"list" argument must be an Array of Buffers');s.copy(n,i),i+=s.length}return n},o.byteLength=f,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},o.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},o.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},o.prototype.toString=function(){var e=this.length;return 0===e?"":0==arguments.length?v(this,0,e):p.apply(this,arguments)},o.prototype.toLocaleString=o.prototype.toString,o.prototype.equals=function(e){if(!o.isBuffer(e))throw TypeError("Argument must be a Buffer");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"},s&&(o.prototype[s]=o.prototype.inspect),o.prototype.compare=function(e,t,r,n,i){if(x(e,Uint8Array)&&(e=o.from(e,e.offset,e.byteLength)),!o.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return -1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;for(var s=i-n,a=r-t,l=Math.min(s,a),u=this.slice(n,i),h=e.slice(t,r),c=0;c<l;++c)if(u[c]!==h[c]){s=u[c],a=h[c];break}return s<a?-1:+(a<s)},o.prototype.includes=function(e,t,r){return -1!==this.indexOf(e,t,r)},o.prototype.indexOf=function(e,t,r){return m(this,e,t,r,!0)},o.prototype.lastIndexOf=function(e,t,r){return m(this,e,t,r,!1)};function v(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var s,a,o,l,u=e[i],h=null,c=u>239?4:u>223?3:u>191?2:1;if(i+c<=r)switch(c){case 1:u<128&&(h=u);break;case 2:(192&(s=e[i+1]))==128&&(l=(31&u)<<6|63&s)>127&&(h=l);break;case 3:s=e[i+1],a=e[i+2],(192&s)==128&&(192&a)==128&&(l=(15&u)<<12|(63&s)<<6|63&a)>2047&&(l<55296||l>57343)&&(h=l);break;case 4:s=e[i+1],a=e[i+2],o=e[i+3],(192&s)==128&&(192&a)==128&&(192&o)==128&&(l=(15&u)<<18|(63&s)<<12|(63&a)<<6|63&o)>65535&&l<1114112&&(h=l)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=c}var d=n,f=d.length;if(f<=4096)return String.fromCharCode.apply(String,d);for(var p="",g=0;g<f;)p+=String.fromCharCode.apply(String,d.slice(g,g+=4096));return p}function w(e,t,r){if(e%1!=0||e<0)throw RangeError("offset is not uint");if(e+t>r)throw RangeError("Trying to access beyond buffer length")}function b(e,t,r,n,i,s){if(!o.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<s)throw RangeError('"value" argument is out of bounds');if(r+n>e.length)throw RangeError("Index out of range")}function I(e,t,r,n,i,s){if(r+n>e.length||r<0)throw RangeError("Index out of range")}function _(e,t,r,n,s){return t*=1,r>>>=0,s||I(e,t,r,4,34028234663852886e22,-34028234663852886e22),i.write(e,t,r,n,23,4),r+4}function E(e,t,r,n,s){return t*=1,r>>>=0,s||I(e,t,r,8,17976931348623157e292,-17976931348623157e292),i.write(e,t,r,n,52,8),r+8}o.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var i,s,a,o,l,u,h,c,d=this.length-t;if((void 0===r||r>d)&&(r=d),e.length>0&&(r<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var f=!1;;)switch(n){case"hex":return function(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var s=t.length;n>s/2&&(n=s/2);for(var a=0;a<n;++a){var o,l=parseInt(t.substr(2*a,2),16);if((o=l)!=o)break;e[r+a]=l}return a}(this,e,t,r);case"utf8":case"utf-8":return i=t,s=r,k(S(e,this.length-i),this,i,s);case"ascii":return a=t,o=r,k(C(e),this,a,o);case"latin1":case"binary":return function(e,t,r,n){return k(C(t),e,r,n)}(this,e,t,r);case"base64":return l=t,u=r,k(A(e),this,l,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return h=t,c=r,k(function(e,t){for(var r,n,i=[],s=0;s<e.length&&!((t-=2)<0);++s)n=(r=e.charCodeAt(s))>>8,i.push(r%256),i.push(n);return i}(e,this.length-h),this,h,c);default:if(f)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),f=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},o.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n=this.subarray(e,t);return Object.setPrototypeOf(n,o.prototype),n},o.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||w(e,t,this.length);for(var n=this[e],i=1,s=0;++s<t&&(i*=256);)n+=this[e+s]*i;return n},o.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||w(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},o.prototype.readUInt8=function(e,t){return e>>>=0,t||w(e,1,this.length),this[e]},o.prototype.readUInt16LE=function(e,t){return e>>>=0,t||w(e,2,this.length),this[e]|this[e+1]<<8},o.prototype.readUInt16BE=function(e,t){return e>>>=0,t||w(e,2,this.length),this[e]<<8|this[e+1]},o.prototype.readUInt32LE=function(e,t){return e>>>=0,t||w(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+0x1000000*this[e+3]},o.prototype.readUInt32BE=function(e,t){return e>>>=0,t||w(e,4,this.length),0x1000000*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},o.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||w(e,t,this.length);for(var n=this[e],i=1,s=0;++s<t&&(i*=256);)n+=this[e+s]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},o.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||w(e,t,this.length);for(var n=t,i=1,s=this[e+--n];n>0&&(i*=256);)s+=this[e+--n]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},o.prototype.readInt8=function(e,t){return(e>>>=0,t||w(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},o.prototype.readInt16LE=function(e,t){e>>>=0,t||w(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?0xffff0000|r:r},o.prototype.readInt16BE=function(e,t){e>>>=0,t||w(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?0xffff0000|r:r},o.prototype.readInt32LE=function(e,t){return e>>>=0,t||w(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},o.prototype.readInt32BE=function(e,t){return e>>>=0,t||w(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},o.prototype.readFloatLE=function(e,t){return e>>>=0,t||w(e,4,this.length),i.read(this,e,!0,23,4)},o.prototype.readFloatBE=function(e,t){return e>>>=0,t||w(e,4,this.length),i.read(this,e,!1,23,4)},o.prototype.readDoubleLE=function(e,t){return e>>>=0,t||w(e,8,this.length),i.read(this,e,!0,52,8)},o.prototype.readDoubleBE=function(e,t){return e>>>=0,t||w(e,8,this.length),i.read(this,e,!1,52,8)},o.prototype.writeUIntLE=function(e,t,r,n){if(e*=1,t>>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;b(this,e,t,r,i,0)}var s=1,a=0;for(this[t]=255&e;++a<r&&(s*=256);)this[t+a]=e/s&255;return t+r},o.prototype.writeUIntBE=function(e,t,r,n){if(e*=1,t>>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;b(this,e,t,r,i,0)}var s=r-1,a=1;for(this[t+s]=255&e;--s>=0&&(a*=256);)this[t+s]=e/a&255;return t+r},o.prototype.writeUInt8=function(e,t,r){return e*=1,t>>>=0,r||b(this,e,t,1,255,0),this[t]=255&e,t+1},o.prototype.writeUInt16LE=function(e,t,r){return e*=1,t>>>=0,r||b(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeUInt16BE=function(e,t,r){return e*=1,t>>>=0,r||b(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeUInt32LE=function(e,t,r){return e*=1,t>>>=0,r||b(this,e,t,4,0xffffffff,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},o.prototype.writeUInt32BE=function(e,t,r){return e*=1,t>>>=0,r||b(this,e,t,4,0xffffffff,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeIntLE=function(e,t,r,n){if(e*=1,t>>>=0,!n){var i=Math.pow(2,8*r-1);b(this,e,t,r,i-1,-i)}var s=0,a=1,o=0;for(this[t]=255&e;++s<r&&(a*=256);)e<0&&0===o&&0!==this[t+s-1]&&(o=1),this[t+s]=(e/a|0)-o&255;return t+r},o.prototype.writeIntBE=function(e,t,r,n){if(e*=1,t>>>=0,!n){var i=Math.pow(2,8*r-1);b(this,e,t,r,i-1,-i)}var s=r-1,a=1,o=0;for(this[t+s]=255&e;--s>=0&&(a*=256);)e<0&&0===o&&0!==this[t+s+1]&&(o=1),this[t+s]=(e/a|0)-o&255;return t+r},o.prototype.writeInt8=function(e,t,r){return e*=1,t>>>=0,r||b(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},o.prototype.writeInt16LE=function(e,t,r){return e*=1,t>>>=0,r||b(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeInt16BE=function(e,t,r){return e*=1,t>>>=0,r||b(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeInt32LE=function(e,t,r){return e*=1,t>>>=0,r||b(this,e,t,4,0x7fffffff,-0x80000000),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},o.prototype.writeInt32BE=function(e,t,r){return e*=1,t>>>=0,r||b(this,e,t,4,0x7fffffff,-0x80000000),e<0&&(e=0xffffffff+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeFloatLE=function(e,t,r){return _(this,e,t,!0,r)},o.prototype.writeFloatBE=function(e,t,r){return _(this,e,t,!1,r)},o.prototype.writeDoubleLE=function(e,t,r){return E(this,e,t,!0,r)},o.prototype.writeDoubleBE=function(e,t,r){return E(this,e,t,!1,r)},o.prototype.copy=function(e,t,r,n){if(!o.isBuffer(e))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r||0===e.length||0===this.length)return 0;if(t<0)throw RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var i=n-r;if(this===e&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(t,r,n);else if(this===e&&r<t&&t<n)for(var s=i-1;s>=0;--s)e[s+t]=this[s+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return i},o.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw TypeError("encoding must be a string");if("string"==typeof n&&!o.isEncoding(n))throw TypeError("Unknown encoding: "+n);if(1===e.length){var i,s=e.charCodeAt(0);("utf8"===n&&s<128||"latin1"===n)&&(e=s)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<r)throw RangeError("Out of range index");if(r<=t)return this;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i<r;++i)this[i]=e;else{var a=o.isBuffer(e)?e:o.from(e,n),l=a.length;
1if(0===l)throw TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<r-t;++i)this[i+t]=a[i%l]}return this};var T=/[^+/0-9A-Za-z-_]/g;function S(e,t){t=t||1/0;for(var r,n=e.length,i=null,s=[],a=0;a<n;++a){if((r=e.charCodeAt(a))>55295&&r<57344){if(!i){if(r>56319||a+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return s}function C(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function A(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(T,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function k(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length)&&!(i>=e.length);++i)t[i+r]=e[i];return i}function x(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var D=function(){for(var e="0123456789abcdef",t=Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)t[n+i]=e[r]+e[i];return t}()},783:function(e,t){t.read=function(e,t,r,n,i){var s,a,o=8*i-n-1,l=(1<<o)-1,u=l>>1,h=-7,c=r?i-1:0,d=r?-1:1,f=e[t+c];for(c+=d,s=f&(1<<-h)-1,f>>=-h,h+=o;h>0;s=256*s+e[t+c],c+=d,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=n;h>0;a=256*a+e[t+c],c+=d,h-=8);if(0===s)s=1-u;else{if(s===l)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),s-=u}return(f?-1:1)*a*Math.pow(2,s-n)},t.write=function(e,t,r,n,i,s){var a,o,l,u=8*s-i-1,h=(1<<u)-1,c=h>>1,d=5960464477539062e-23*(23===i),f=n?0:s-1,p=n?1:-1,g=+(t<0||0===t&&1/t<0);for(isNaN(t=Math.abs(t))||t===1/0?(o=+!!isNaN(t),a=h):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+c>=1?t+=d/l:t+=d*Math.pow(2,1-c),t*l>=2&&(a++,l/=2),a+c>=h?(o=0,a=h):a+c>=1?(o=(t*l-1)*Math.pow(2,i),a+=c):(o=t*Math.pow(2,c-1)*Math.pow(2,i),a=0));i>=8;e[r+f]=255&o,f+=p,o/=256,i-=8);for(a=a<<i|o,u+=i;u>0;e[r+f]=255&a,f+=p,a/=256,u-=8);e[r+f-p]|=128*g}}},i={};function s(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}},a=!0;try{n[e](r,r.exports,s),a=!1}finally{a&&delete i[e]}return r.exports}s.ab="/ROOT/node_modules/next/dist/compiled/buffer/",t.exports=s(72)},36180,27286,63802,e=>{"use strict";var t,r,n,i,s,a,o,l,u,h,c,d,f,p,g=e.i(92953),m=e.i(8070),y=e.i(47167),v=e.i(67034),w=e.i(97427),b="u">typeof globalThis?globalThis:"u">typeof window?window:e.g,I={};(function(){function e(){this.blockSize=-1,this.blockSize=64,this.g=[,,,,],this.C=Array(this.blockSize),this.o=this.h=0,this.u()}var n=function(){this.blockSize=-1};function i(){}function s(e,t,r){r||(r=0);let n=Array(16);if("string"==typeof t)for(var i=0;i<16;++i)n[i]=t.charCodeAt(r++)|t.charCodeAt(r++)<<8|t.charCodeAt(r++)<<16|t.charCodeAt(r++)<<24;else for(i=0;i<16;++i)n[i]=t[r++]|t[r++]<<8|t[r++]<<16|t[r++]<<24;t=e.g[0],r=e.g[1],i=e.g[2];let s=e.g[3],a;a=t+(s^r&(i^s))+n[0]+0xd76aa478|0,a=s+(i^(t=r+(a<<7|a>>>25))&(r^i))+n[1]+0xe8c7b756|0,a=i+(r^(s=t+(a<<12|a>>>20))&(t^r))+n[2]+0x242070db|0,a=r+(t^(i=s+(a<<17|a>>>15))&(s^t))+n[3]+0xc1bdceee|0,a=t+(s^(r=i+(a<<22|a>>>10))&(i^s))+n[4]+0xf57c0faf|0,a=s+(i^(t=r+(a<<7|a>>>25))&(r^i))+n[5]+0x4787c62a|0,a=i+(r^(s=t+(a<<12|a>>>20))&(t^r))+n[6]+0xa8304613|0,a=r+(t^(i=s+(a<<17|a>>>15))&(s^t))+n[7]+0xfd469501|0,a=t+(s^(r=i+(a<<22|a>>>10))&(i^s))+n[8]+0x698098d8|0,a=s+(i^(t=r+(a<<7|a>>>25))&(r^i))+n[9]+0x8b44f7af|0,a=i+(r^(s=t+(a<<12|a>>>20))&(t^r))+n[10]+0xffff5bb1|0,a=r+(t^(i=s+(a<<17|a>>>15))&(s^t))+n[11]+0x895cd7be|0,a=t+(s^(r=i+(a<<22|a>>>10))&(i^s))+n[12]+0x6b901122|0,a=s+(i^(t=r+(a<<7|a>>>25))&(r^i))+n[13]+0xfd987193|0,a=i+(r^(s=t+(a<<12|a>>>20))&(t^r))+n[14]+0xa679438e|0,a=r+(t^(i=s+(a<<17|a>>>15))&(s^t))+n[15]+0x49b40821|0,r=i+(a<<22|a>>>10),a=t+(i^s&(r^i))+n[1]+0xf61e2562|0,t=r+(a<<5|a>>>27),a=s+(r^i&(t^r))+n[6]+0xc040b340|0,s=t+(a<<9|a>>>23),a=i+(t^r&(s^t))+n[11]+0x265e5a51|0,i=s+(a<<14|a>>>18),a=r+(s^t&(i^s))+n[0]+0xe9b6c7aa|0,r=i+(a<<20|a>>>12),a=t+(i^s&(r^i))+n[5]+0xd62f105d|0,t=r+(a<<5|a>>>27),a=s+(r^i&(t^r))+n[10]+0x2441453|0,s=t+(a<<9|a>>>23),a=i+(t^r&(s^t))+n[15]+0xd8a1e681|0,i=s+(a<<14|a>>>18),a=r+(s^t&(i^s))+n[4]+0xe7d3fbc8|0,r=i+(a<<20|a>>>12),a=t+(i^s&(r^i))+n[9]+0x21e1cde6|0,t=r+(a<<5|a>>>27),a=s+(r^i&(t^r))+n[14]+0xc33707d6|0,s=t+(a<<9|a>>>23),a=i+(t^r&(s^t))+n[3]+0xf4d50d87|0,i=s+(a<<14|a>>>18),a=r+(s^t&(i^s))+n[8]+0x455a14ed|0,r=i+(a<<20|a>>>12),a=t+(i^s&(r^i))+n[13]+0xa9e3e905|0,t=r+(a<<5|a>>>27),a=s+(r^i&(t^r))+n[2]+0xfcefa3f8|0,s=t+(a<<9|a>>>23),a=i+(t^r&(s^t))+n[7]+0x676f02d9|0,i=s+(a<<14|a>>>18),a=r+(s^t&(i^s))+n[12]+0x8d2a4c8a|0,a=t+((r=i+(a<<20|a>>>
112))^i^s)+n[5]+0xfffa3942|0,a=s+((t=r+(a<<4|a>>>28))^r^i)+n[8]+0x8771f681|0,a=i+((s=t+(a<<11|a>>>21))^t^r)+n[11]+0x6d9d6122|0,a=r+((i=s+(a<<16|a>>>16))^s^t)+n[14]+0xfde5380c|0,a=t+((r=i+(a<<23|a>>>9))^i^s)+n[1]+0xa4beea44|0,a=s+((t=r+(a<<4|a>>>28))^r^i)+n[4]+0x4bdecfa9|0,a=i+((s=t+(a<<11|a>>>21))^t^r)+n[7]+0xf6bb4b60|0,a=r+((i=s+(a<<16|a>>>16))^s^t)+n[10]+0xbebfbc70|0,a=t+((r=i+(a<<23|a>>>9))^i^s)+n[13]+0x289b7ec6|0,a=s+((t=r+(a<<4|a>>>28))^r^i)+n[0]+0xeaa127fa|0,a=i+((s=t+(a<<11|a>>>21))^t^r)+n[3]+0xd4ef3085|0,a=r+((i=s+(a<<16|a>>>16))^s^t)+n[6]+0x4881d05|0,a=t+((r=i+(a<<23|a>>>9))^i^s)+n[9]+0xd9d4d039|0,a=s+((t=r+(a<<4|a>>>28))^r^i)+n[12]+0xe6db99e5|0,a=i+((s=t+(a<<11|a>>>21))^t^r)+n[15]+0x1fa27cf8|0,a=r+((i=s+(a<<16|a>>>16))^s^t)+n[2]+0xc4ac5665|0,r=i+(a<<23|a>>>9),a=t+(i^(r|~s))+n[0]+0xf4292244|0,t=r+(a<<6|a>>>26),a=s+(r^(t|~i))+n[7]+0x432aff97|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~r))+n[14]+0xab9423a7|0,i=s+(a<<15|a>>>17),a=r+(s^(i|~t))+n[5]+0xfc93a039|0,r=i+(a<<21|a>>>11),a=t+(i^(r|~s))+n[12]+0x655b59c3|0,t=r+(a<<6|a>>>26),a=s+(r^(t|~i))+n[3]+0x8f0ccc92|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~r))+n[10]+0xffeff47d|0,i=s+(a<<15|a>>>17),a=r+(s^(i|~t))+n[1]+0x85845dd1|0,r=i+(a<<21|a>>>11),a=t+(i^(r|~s))+n[8]+0x6fa87e4f|0,t=r+(a<<6|a>>>26),a=s+(r^(t|~i))+n[15]+0xfe2ce6e0|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~r))+n[6]+0xa3014314|0,i=s+(a<<15|a>>>17),a=r+(s^(i|~t))+n[13]+0x4e0811a1|0,r=i+(a<<21|a>>>11),a=t+(i^(r|~s))+n[4]+0xf7537e82|0,t=r+(a<<6|a>>>26),a=s+(r^(t|~i))+n[11]+0xbd3af235|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~r))+n[2]+0x2ad7d2bb|0,i=s+(a<<15|a>>>17),a=r+(s^(i|~t))+n[9]+0xeb86d391|0,e.g[0]=e.g[0]+t|0,e.g[1]=e.g[1]+(i+(a<<21|a>>>11))|0,e.g[2]=e.g[2]+i|0,e.g[3]=e.g[3]+s|0}function a(e,t){this.h=t;let r=[],n=!0;for(let i=e.length-1;i>=0;i--){let s=0|e[i];n&&s==t||(r[i]=s,n=!1)}this.g=r}i.prototype=n.prototype,e.F=n.prototype,e.prototype=new i,e.prototype.constructor=e,e.D=function(e,t,r){for(var i=Array(arguments.length-2),s=2;s<arguments.length;s++)i[s-2]=arguments[s];return n.prototype[t].apply(e,i)},e.prototype.u=function(){this.g[0]=0x67452301,this.g[1]=0xefcdab89,this.g[2]=0x98badcfe,this.g[3]=0x10325476,this.o=this.h=0},e.prototype.v=function(e,t){void 0===t&&(t=e.length);let r=t-this.blockSize,n=this.C,i=this.h,a=0;for(;a<t;){if(0==i)for(;a<=r;)s(this,e,a),a+=this.blockSize;if("string"==typeof e){for(;a<t;)if(n[i++]=e.charCodeAt(a++),i==this.blockSize){s(this,n),i=0;break}}else for(;a<t;)if(n[i++]=e[a++],i==this.blockSize){s(this,n),i=0;break}}this.h=i,this.o+=t},e.prototype.A=function(){var e=Array((this.h<56?this.blockSize:2*this.blockSize)-this.h);e[0]=128;for(var t=1;t<e.length-8;++t)e[t]=0;t=8*this.o;for(var r=e.length-8;r<e.length;++r)e[r]=255&t,t/=256;for(this.v(e),e=Array(16),t=0,r=0;r<4;++r)for(let n=0;n<32;n+=8)e[t++]=this.g[r]>>>n&255;return e};var o,l={};function u(e){var t;return -128<=e&&e<128?(t=function(e){return new a([0|e],e<0?-1:0)},Object.prototype.hasOwnProperty.call(l,e)?l[e]:l[e]=t(e)):new a([0|e],e<0?-1:0)}function h(e){if(isNaN(e)||!isFinite(e))return c;if(e<0)return m(h(-e));let t=[],r=1;for(let n=0;e>=r;n++)t[n]=e/r|0,r*=0x100000000;return new a(t,0)}var c=u(0),d=u(1),f=u(0x1000000);function p(e){if(0!=e.h)return!1;for(let t=0;t<e.g.length;t++)if(0!=e.g[t])return!1;return!0}function g(e){return -1==e.h}function m(e){let t=e.g.length,r=[];for(let n=0;n<t;n++)r[n]=~e.g[n];return new a(r,~e.h).add(d)}function y(e,t){return e.add(m(t))}function v(e,t){for(;(65535&e[t])!=e[t];)e[t+1]+=e[t]>>>16,e[t]&=65535,t++}function w(e,t){this.g=e,this.h=t}function b(e,t){if(p(t))throw Error("division by zero");if(p(e))return new w(c,c);if(g(e))return t=b(m(e),t),new w(m(t.g),m(t.h));if(g(t))return t=b(e,m(t)),new w(m(t.g),t.h);if(e.g.length>30){if(g(e)||g(t))throw Error("slowDivide_ only works with positive integers.");for(var r=d,n=t;0>=n.l(e);)r=_(r),n=_(n);var i=E(r,1),s=E(n,1);for(n=E(n,2),r=E(r,2);!p(n);){var a=s.add(n);0>=a.l(e)&&(i=i.add(r),s=a),n=E(n,1),r=E(r,1)}return t=y(e,i.j(t)),new w(i,t)}for(i=c;e.l(t)>=0;){for(n=(n=Math.ceil(Math.log(r=Math.max(1,Math.floor(e.m()/t.m())))/Math.LN2))<=48?1:Math.pow(2,n-48),a=(s=h(r)).j(t);g(a)||a.l(e)>0;)r-=n,a=(s=h(r)).j(t);p(s)&&(s=d),i=i.add(s),e=y(e,a)}return new w(i,e)}function _(e){let t=e.g.length+1,r=[];for(let n=0;n<t;n++)r[n]=e.i(n)<<1|e.i(n-1)>>>31;return new a(r,e.h)}function E(e,t){let r=t>>5;t%=32;let n=e.g.length-r,i=[];for(let s=0;s<n;s++)i[s]=t>0?e.i(s+r)>>>t|e.i(s+r+1)<<32-t:e.i(s+r);return new a(i,e.h)}(o=a.prototype).m=function(){if(g(this))return-m(this).m();let e=0,t=1;for(let r=0;r<this.g.length;r++){let n=this.i(r);e+=(n>=0?n:0x100000000+n)*t,t*=0x100000000}return e},o.toString=function(e){if((e=e||10)<2||36<e)throw Error("radix out of range: "+e);if(p(this))return"0";if(g(this))return"-"+m(this).toString(e);let t=h(Math.pow(e,6));var r=this;let n="";for(;;){let i=b(r,t).g,s=(((r=y(r,i.j(t))).g.length>0?r.g[0]:r.h)>>>0).toString(e);if(p(r=i))return s+n;for(;s.length<6;)s="0"+s;n=s+n}},o.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h},o.l=function(e){return g(e=y(this,e))?-1:+!p(e)},o.abs=function(){return g(this)?m(this):this},o.add=function(e){let t=Math.max(this.g.length,e.g.length),r=[],n=0;for(let i=0;i<=t;i++){let t=n+(65535&this.i(i))+(65535&e.i(i)),s=(t>>>16)+(this.i(i)>>>16)+(e.i(i)>>>16);n=s>>>16,t&=65535,s&=65535,r[i]=s<<16|t}return new a(r,-0x80000000&r[r.length-1]?-1:0)},o.j=function(e){if(p(this)||p(e))return c;if(g(this))return g(e)?m(this).j(m(e)):m(m(this).j(e));if(g(e))return m(this.j(m(e)));if(0>this.l(f)&&0>e.l(f))return h(this.m()*e.m());let t=this.g.length+e.g.length,r=[];for(var n=0;n<2*t;n++)r[n]=0;for(n=0;n<this.g.length;n++)for(let t=0;t<e.g.length;t++){let i=this.i(n)>>>16,s=65535&this.i(n),a=e.i(t)>>>16,o=65535&e.i(t);r[2*n+2*t]+=s*o,v(r,2*n+2*t),r[2*n+2*t+1]+=i*o,v(r,2*n+2*t+1),r[2*n+2*t+1]+=s*a,v(r,2*n+2*t+1),r[2*n+2*t+2]+=i*a,v(r,2*n+2*t+2)}for(e=0;e<t;e++)r[e]=r[2*e+1]<<16|r[2*e];for(e=t;e<2*t;e++)r[e]=0;return new a(r,0)},o.B=function(e){return b(this,e).h},o.and=function(e){let t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)&e.i(n);return new a(r,this.h&e.h)},o.or=function(e){let t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)|e.i(n);return new a(r,this.h|e.h)},o.xor=function(e){let t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)^e.i(n);return new a(r,this.h^e.h)},e.prototype.digest=e.prototype.A,e.prototype.reset=e.prototype.u,e.prototype.update=e.prototype.v,r=I.Md5=e,a.prototype.add=a.prototype.add,a.prototype.multiply=a.prototype.j,a.prototype.modulo=a.prototype.B,a.prototype.compare=a.prototype.l,a.prototype.toNumber=a.prototype.m,a.prototype.toString=a.prototype.toString,a.prototype.getBits=a.prototype.i,a.fromNumber=h,a.fromString=function e(t,r){if(0==t.length)throw Error("number format error: empty string");if((r=r||10)<2||36<r)throw Error("radix out of range: "+r);if("-"==t.charAt(0))return m(e(t.substring(1),r));if(t.indexOf("-")>=0)throw Error('number format error: interior "-" character');let n=h(Math.pow(r,8)),i=c;for(let e=0;e<t.length;e+=8){var s=Math.min(8,t.length-e);let a=parseInt(t.substring(e,e+s),r);s<8?(s=h(Math.pow(r,s)),i=i.j(s).add(h(a))):i=(i=i.j(n)).add(h(a))}return i},t=I.Integer=a}).apply(void 0!==b?b:"u">typeof self?self:"u">typeof window?window:{});var _=e.i(83877),E="u">typeof globalThis?globalThis:"u">typeof window?window:e.g,T={};(function(){var e,t,r=Object.defineProperty,c=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof E&&E];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")}(this);function d(e,t){if(t)e:{var n=c;e=e.split(".");for(var i=0;i<e.length-1;i++){var s=e[i];if(!(s in n))break e;n=n[s]}(t=t(i=n[e=e[e.length-1]]))!=i&&null!=t&&r(n,e,{configurable:!0,writable:!0,value:t})}}d("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),d("Array.prototype.values",function(e){return e||function(){return this[Symbol.iterator]()}}),d("Object.entries",function(e){return e||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&r.push([t,e[t]]);return r}});var f=f||{},p=this||self;function g(e){var t=typeof e;return"object"==t&&null!=e||"function"==t}function m(e,t,r){return e.call.apply(e.bind,arguments)}function y(e,t,r){return(y=m).apply(null,arguments)}
1function v(e,t){var r=Array.prototype.slice.call(arguments,1);return function(){var t=r.slice();return t.push.apply(t,arguments),e.apply(this,t)}}function w(e,t){function r(){}r.prototype=t.prototype,e.Z=t.prototype,e.prototype=new r,e.prototype.constructor=e,e.Ob=function(e,r,n){for(var i=Array(arguments.length-2),s=2;s<arguments.length;s++)i[s-2]=arguments[s];return t.prototype[r].apply(e,i)}}var b="u">typeof AsyncContext&&"function"==typeof AsyncContext.Snapshot?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function I(e){let t=e.length;if(t>0){let r=Array(t);for(let n=0;n<t;n++)r[n]=e[n];return r}return[]}function _(e,t){for(let t=1;t<arguments.length;t++){let n=arguments[t];var r=typeof n;if("array"==(r="object"!=r?r:n?Array.isArray(n)?"array":r:"null")||"object"==r&&"number"==typeof n.length){r=e.length||0;let t=n.length||0;e.length=r+t;for(let i=0;i<t;i++)e[r+i]=n[i]}else e.push(n)}}var S=new class{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return this.h>0?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}(()=>new C,e=>e.reset());class C{constructor(){this.next=this.g=this.h=null}set(e,t){this.h=e,this.g=t,this.next=null}reset(){this.next=this.g=this.h=null}}let A,k=!1,x=new class{constructor(){this.h=this.g=null}add(e,t){let r=S.get();r.set(e,t),this.h?this.h.next=r:this.g=r,this.h=r}},D=()=>{let e=Promise.resolve(void 0);A=()=>{e.then(N)}};function N(){let e;for(var t;e=null,x.g&&(e=x.g,x.g=x.g.next,x.g||(x.h=null),e.next=null),t=e;){try{t.h.call(t.g)}catch(e){!function(e){p.setTimeout(()=>{throw e},0)}(e)}S.j(t),S.h<100&&(S.h++,t.next=S.g,S.g=t)}k=!1}function R(){this.u=this.u,this.C=this.C}function O(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}R.prototype.u=!1,R.prototype.dispose=function(){this.u||(this.u=!0,this.N())},R.prototype[Symbol.dispose]=function(){this.dispose()},R.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()},O.prototype.h=function(){this.defaultPrevented=!0};var P=function(){if(!p.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{let e=()=>{};p.addEventListener("test",e,t),p.removeEventListener("test",e,t)}catch(e){}return e}();function L(e){return/^[\s\xa0]*$/.test(e)}function M(e,t){O.call(this,e?e.type:""),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.i=null,e&&this.init(e,t)}w(M,O),M.prototype.init=function(e,t){let r=this.type=e.type,n=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,(t=e.relatedTarget)||("mouseover"==r?t=e.fromElement:"mouseout"==r&&(t=e.toElement)),this.relatedTarget=t,n?(this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0):(this.clientX=void 0!==e.clientX?e.clientX:e.pageX,this.clientY=void 0!==e.clientY?e.clientY:e.pageY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.key=e.key||"",this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.pointerId=e.pointerId||0,this.pointerType=e.pointerType,this.state=e.state,this.i=e,e.defaultPrevented&&M.Z.h.call(this)},M.prototype.h=function(){M.Z.h.call(this);let e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var V="closure_listenable_"+(1e6*Math.random()|0),F=0;function U(e,t,r,n,i){this.listener=e,this.proxy=null,this.src=t,this.type=r,this.capture=!!n,this.ha=i,this.key=++F,this.da=this.fa=!1}function B(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function j(e,t,r){for(let n in e)t.call(r,e[n],n,e)}function q(e){let t={};for(let r in e)t[r]=e[r];return t}let z="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function $(e,t){let r,n;for(let t=1;t<arguments.length;t++){for(r in n=arguments[t])e[r]=n[r];for(let t=0;t<z.length;t++)r=z[t],Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}}function K(e){this.src=e,this.g={},this.h=0}function G(e,t){let r=t.type;if(r in e.g){var n,i=e.g[r],s=Array.prototype.indexOf.call(i,t,void 0);(n=s>=0)&&Array.prototype.splice.call(i,s,1),n&&(B(t),0==e.g[r].length&&(delete e.g[r],e.h--))}}function H(e,t,r,n){for(let i=0;i<e.length;++i){let s=e[i];if(!s.da&&s.listener==t&&!!r==s.capture&&s.ha==n)return i}return -1}K.prototype.add=function(e,t,r,n,i){let s=e.toString();(e=this.g[s])||(e=this.g[s]=[],this.h++);let a=H(e,t,n,i);return a>-1?(t=e[a],r||(t.fa=!1)):((t=new U(t,this.src,s,!!n,i)).fa=r,e.push(t)),t};var W="closure_lm_"+(1e6*Math.random()|0),Q={};function J(e,t,r,n,i,s){if(!t)throw Error("Invalid event type");let a=g(i)?!!i.capture:!!i,o=ee(e);
1if(o||(e[W]=o=new K(e)),(r=o.add(t,r,n,a,s)).proxy)return r;if(n=function e(t){return Z.call(e.src,e.listener,t)},r.proxy=n,n.src=e,n.listener=r,e.addEventListener)P||(i=a),void 0===i&&(i=!1),e.addEventListener(t.toString(),n,i);else if(e.attachEvent)e.attachEvent(X(t.toString()),n);else if(e.addListener&&e.removeListener)e.addListener(n);else throw Error("addEventListener and attachEvent are unavailable.");return r}function Y(e){if("number"!=typeof e&&e&&!e.da){var t=e.src;if(t&&t[V])G(t.i,e);else{var r=e.type,n=e.proxy;t.removeEventListener?t.removeEventListener(r,n,e.capture):t.detachEvent?t.detachEvent(X(r),n):t.addListener&&t.removeListener&&t.removeListener(n),(r=ee(t))?(G(r,e),0==r.h&&(r.src=null,t[W]=null)):B(e)}}}function X(e){return e in Q?Q[e]:Q[e]="on"+e}function Z(e,t){if(e.da)e=!0;else{t=new M(t,this);let r=e.listener,n=e.ha||e.src;e.fa&&Y(e),e=r.call(n,t)}return e}function ee(e){return(e=e[W])instanceof K?e:null}var et="__closure_events_fn_"+(1e9*Math.random()>>>0);function er(e){return"function"==typeof e?e:(e[et]||(e[et]=function(t){return e.handleEvent(t)}),e[et])}function en(){R.call(this),this.i=new K(this),this.M=this,this.G=null}function ei(e,t){let r,n;var i,s=e.G;if(s)for(i=[];s;s=s.G)i.push(s);if(e=e.M,s=t.type||t,"string"==typeof t)t=new O(t,e);else if(t instanceof O)t.target=t.target||e;else{var a=t;$(t=new O(s,e),a)}if(a=!0,i)for(n=i.length-1;n>=0;n--)a=es(r=t.g=i[n],s,!0,t)&&a;if(a=es(r=t.g=e,s,!0,t)&&a,a=es(r,s,!1,t)&&a,i)for(n=0;n<i.length;n++)a=es(r=t.g=i[n],s,!1,t)&&a}function es(e,t,r,n){if(!(t=e.i.g[String(t)]))return!0;t=t.concat();let i=!0;for(let s=0;s<t.length;++s){let a=t[s];if(a&&!a.da&&a.capture==r){let t=a.listener,r=a.ha||a.src;a.fa&&G(e.i,a),i=!1!==t.call(r,n)&&i}}return i&&!n.defaultPrevented}w(en,R),en.prototype[V]=!0,en.prototype.removeEventListener=function(e,t,r,n){!function e(t,r,n,i,s){if(Array.isArray(r))for(var a=0;a<r.length;a++)e(t,r[a],n,i,s);else(i=g(i)?!!i.capture:!!i,n=er(n),t&&t[V])?(t=t.i,(a=String(r).toString())in t.g&&(n=H(r=t.g[a],n,i,s))>-1&&(B(r[n]),Array.prototype.splice.call(r,n,1),0==r.length&&(delete t.g[a],t.h--))):t&&(t=ee(t))&&(r=t.g[r.toString()],t=-1,r&&(t=H(r,n,i,s)),(n=t>-1?r[t]:null)&&Y(n))}(this,e,t,r,n)},en.prototype.N=function(){if(en.Z.N.call(this),this.i){var e=this.i;for(let t in e.g){let r=e.g[t];for(let e=0;e<r.length;e++)B(r[e]);delete e.g[t],e.h--}}this.G=null},en.prototype.J=function(e,t,r,n){return this.i.add(String(e),t,!1,r,n)},en.prototype.K=function(e,t,r,n){return this.i.add(String(e),t,!0,r,n)};class ea extends R{constructor(e,t){super(),this.m=e,this.l=t,this.h=null,this.i=!1,this.g=null}j(e){this.h=arguments,this.g?this.i=!0:function e(t){t.g=function(e,t){if("function"!=typeof e)if(e&&"function"==typeof e.handleEvent)e=y(e.handleEvent,e);else throw Error("Invalid listener argument");return Number(t)>0x7fffffff?-1:p.setTimeout(e,t||0)}(()=>{t.g=null,t.i&&(t.i=!1,e(t))},t.l);let r=t.h;t.h=null,t.m.apply(null,r)}(this)}N(){super.N(),this.g&&(p.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function eo(e){R.call(this),this.h=e,this.g={}}w(eo,R);var el=[];function eu(e){j(e.g,function(e,t){this.g.hasOwnProperty(t)&&Y(e)},e),e.g={}}eo.prototype.N=function(){eo.Z.N.call(this),eu(this)},eo.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var eh=p.JSON.stringify,ec=p.JSON.parse,ed=class{stringify(e){return p.JSON.stringify(e,void 0)}parse(e){return p.JSON.parse(e,void 0)}};function ef(){}function ep(){}var eg={OPEN:"a",hb:"b",ERROR:"c",tb:"d"};function em(){O.call(this,"d")}function ey(){O.call(this,"c")}w(em,O),w(ey,O);var ev={},ew=null;function eb(){return ew=ew||new en}function eI(e){O.call(this,ev.Ia,e)}function e_(e){let t=eb();ei(t,new eI(t))}function eE(e,t){O.call(this,ev.STAT_EVENT,e),this.stat=t}function eT(e){let t=eb();ei(t,new eE(t,e))}function eS(e,t){O.call(this,ev.Ja,e),this.size=t}function eC(e,t){if("function"!=typeof e)throw Error("Fn must not be null and must be a function");return p.setTimeout(function(){e()},t)}function eA(){this.g=!0}function ek(e,t,r,n){e.info(function(){return"XMLHTTP TEXT ("+t+"): "+function(e,t){if(!e.g)return t;if(!t)return null;try{let s=JSON.parse(t);if(s){for(e=0;e<s.length;e++)if(Array.isArray(s[e])){var r=s[e];if(!(r.length<2)){var n=r[1];if(Array.isArray(n)&&!(n.length<1)){var i=n[0];if("noop"!=i&&"stop"!=i&&"close"!=i)for(let e=1;e<n.length;e++)n[e]=""}}}}return eh(s)}catch(e){return t}}(e,r)+(n?" "+n:"")})}ev.Ia="serverreachability",w(eI,O),ev.STAT_EVENT="statevent",w(eE,O),ev.Ja="timingevent",w(eS,O),eA.prototype.ua=function(){this.g=!1},eA.prototype.info=function(){};var ex={NO_ERROR:0,cb:1,qb:2,pb:3,kb:4,ob:5,rb:6,Ga:7,TIMEOUT:8,ub:9},eD={ib:"complete",Fb:"success",ERROR:"error",Ga:"abort",xb:"ready",yb:"readystatechange",TIMEOUT:"timeout",sb:"incrementaldata",wb:"progress",lb:"downloadprogress",Nb:"uploadprogress"};function eN(){}function eR(e){return encodeURIComponent(String(e))}function eO(e,t,r,n){this.j=e,this.i=t,this.l=r,this.S=n||1,this.V=new eo(this),this.H=45e3,this.J=null,this.o=!1,this.u=this.B=this.A=this.M=this.F=this.T=this.D=null,this.G=[],this.g=null,this.C=0,this.m=this.v=null,this.X=-1,this.K=!1,this.P=0,this.O=null,this.W=this.L=this.U=this.R=!1,this.h=new eP}function eP(){this.i=null,this.g="",this.h=!1}w(eN,ef),eN.prototype.g=function(){return new XMLHttpRequest},e=new eN;var eL={},eM={};function eV(e,t,r){e.M=1,e.A=e4(e2(t)),e.u=r,e.R=!0,eF(e,null)}function eF(e,t){e.F=Date.now(),eB(e),e.B=e2(e.A);var r,n,i,s,a,o,l=e.B,u=e.S;Array.isArray(u)||(u=[String(u)]),tc(l.i,"t",u),e.C=0,l=e.j.L,e.h=new eP,e.g=tY(e.j,l?t:null,!e.u),e.P>0&&(e.O=new ea(y(e.Y,e,e.g),e.P)),t=e.V,l=e.g,u=e.ba;var h="readystatechange";Array.isArray(h)||(h&&(el[0]=h.toString()),h=el);for(let e=0;e<h.length;e++){let r=function e(t,r,n,i,s){if(i&&i.once)return function e(t,r,n,i,s){if(Array.isArray(r)){for(let a=0;a<r.length;a++)e(t,r[a],n,i,s);return null}return n=er(n),t&&t[V]?t.K(r,n,g(i)?!!i.capture:!!i,s):J(t,r,n,!0,i,s)}(t,r,n,i,s);if(Array.isArray(r)){for(let a=0;a<r.length;a++)e(t,r[a],n,i,s);return null}return n=er(n),t&&t[V]?t.J(r,n,g(i)?!!i.capture:!!i,s):J(t,r,n,!1,i,s)}(l,h[e],u||t.handleEvent,!1,t.h||t);if(!r)break;t.g[r.key]=r}t=e.J?q(e.J):{},e.u?(e.v||(e.v="POST"),t["Content-Type"]="application/x-www-form-urlencoded",e.g.ea(e.B,e.v,e.u,t)):(e.v="GET",e.g.ea(e.B,e.v,null,t)),e_(),r=e.i,n=e.v,i=e.B,s=e.l,a=e.S,o=e.u,r.info(function(){if(r.g)if(o){var e="",t=o.split("&");for(let r=0;r<t.length;r++){var l=t[r].split("=");if(l.length>1){let t=l[0];l=l[1];let r=t.split("_");e=r.length>=2&&"type"==r[1]?e+(t+"=")+l+"&":e+(t+"=redacted&")}}}else e=null;else e=o;return"XMLHTTP REQ ("+s+") [attempt "+a+"]: "+n+"\n"+i+"\n"+e})}function eU(e){return!!e.g&&"GET"==e.v&&2!=e.M&&e.j.Aa}function eB(e){e.T=Date.now()+e.H,ej(e,e.H)}function ej(e,t){if(null!=e.D)throw Error("WatchDog timer not null");e.D=eC(y(e.aa,e),t)}function eq(e){e.D&&(p.clearTimeout(e.D),e.D=null)}function ez(e){0==e.j.I||e.K||tG(e.j,e)}function e$(e){eq(e);var t=e.O;t&&"function"==typeof t.dispose&&t.dispose(),e.O=null,eu(e.V),e.g&&(t=e.g,e.g=null,t.abort(),t.dis
1pose())}function eK(e,t){try{var r=e.j;if(0!=r.I&&(r.g==e||eJ(r.h,e))){if(!e.L&&eJ(r.h,e)&&3==r.I){try{var n=r.Ba.g.parse(t)}catch(e){n=null}if(Array.isArray(n)&&3==n.length){var i=n;if(0==i[0]){e:if(!r.v){if(r.g)if(r.g.F+3e3<e.F)tK(r),tL(r);else break e;tq(r),eT(18)}}else r.xa=i[1],0<r.xa-r.K&&i[2]<37500&&r.F&&0==r.A&&!r.C&&(r.C=eC(y(r.Va,r),6e3));1>=eQ(r.h)&&r.ta&&(r.ta=void 0)}else tW(r,11)}else if((e.L||r.g==e)&&tK(r),!L(t))for(i=r.Ba.g.parse(t),t=0;t<i.length;t++){let o=i[t],l=o[0];if(!(l<=r.K))if(r.K=l,o=o[1],2==r.I)if("c"==o[0]){r.M=o[1],r.ba=o[2];let t=o[3];null!=t&&(r.ka=t,r.j.info("VER="+r.ka));let i=o[4];null!=i&&(r.za=i,r.j.info("SVER="+r.za));let l=o[5];null!=l&&"number"==typeof l&&l>0&&(r.O=n=1.5*l,r.j.info("backChannelRequestTimeoutMs_="+n)),n=r;let u=e.g;if(u){let e=u.g?u.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(e){var s=n.h;s.g||-1==e.indexOf("spdy")&&-1==e.indexOf("quic")&&-1==e.indexOf("h2")||(s.j=s.l,s.g=new Set,s.h&&(eY(s,s.h),s.h=null))}if(n.G){let e=u.g?u.g.getResponseHeader("X-HTTP-Session-Id"):null;e&&(n.wa=e,e8(n.J,n.G,e))}}if(r.I=3,r.l&&r.l.ra(),r.aa&&(r.T=Date.now()-e.F,r.j.info("Handshake RTT: "+r.T+"ms")),(n=r).na=tJ(n,n.L?n.ba:null,n.W),e.L){eX(n.h,e);var a=n.O;a&&(e.H=a),e.D&&(eq(e),eB(e)),n.g=e}else tj(n);r.i.length>0&&tV(r)}else"stop"!=o[0]&&"close"!=o[0]||tW(r,7);else 3==r.I&&("stop"==o[0]||"close"==o[0]?"stop"==o[0]?tW(r,7):tP(r):"noop"!=o[0]&&r.l&&r.l.qa(o),r.A=0)}}e_(4)}catch(e){}}eO.prototype.ba=function(e){e=e.target;let t=this.O;t&&3==tD(e)?t.j():this.Y(e)},eO.prototype.Y=function(e){try{if(e==this.g)e:{let d=tD(this.g),f=this.g.ya(),g=this.g.ca();if(!(d<3)&&(3!=d||this.g&&(this.h.h||this.g.la()||tN(this.g)))){this.K||4!=d||7==f||(8==f||g<=0?e_(3):e_(2)),eq(this);var t=this.g.ca();this.X=t;var r=function(e){if(!eU(e))return e.g.la();let t=tN(e.g);if(""===t)return"";let r="",n=t.length,i=4==tD(e.g);if(!e.h.i){if("u"<typeof TextDecoder)return e$(e),ez(e),"";e.h.i=new p.TextDecoder}for(let s=0;s<n;s++)e.h.h=!0,r+=e.h.i.decode(t[s],{stream:!(i&&s==n-1)});return t.length=0,e.h.g+=r,e.C=0,e.h.g}(this);if(this.o=200==t,n=this.i,i=this.v,s=this.B,a=this.l,o=this.S,n.info(function(){return"XMLHTTP RESP ("+a+") [ attempt "+o+"]: "+i+"\n"+s+"\n"+d+" "+t}),this.o){if(this.U&&!this.L){t:{if(this.g){var n,i,s,a,o,l,u=this.g;if((l=u.g?u.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!L(l)){var h=l;break t}}h=null}if(e=h)ek(this.i,this.l,e,"Initial handshake response via X-HTTP-Initial-Response"),this.L=!0,eK(this,e);else{this.o=!1,this.m=3,eT(12),e$(this),ez(this);break e}}if(this.R){let t;for(e=!0;!this.K&&this.C<r.length;)if((t=function(e,t){var r=e.C,n=t.indexOf("\n",r);return -1==n?eM:isNaN(r=Number(t.substring(r,n)))?eL:(n+=1)+r>t.length?eM:(t=t.slice(n,n+r),e.C=n+r,t)}(this,r))==eM){4==d&&(this.m=4,eT(14),e=!1),ek(this.i,this.l,null,"[Incomplete Response]");break}else if(t==eL){this.m=4,eT(15),ek(this.i,this.l,r,"[Invalid Chunk]"),e=!1;break}else ek(this.i,this.l,t,null),eK(this,t);if(eU(this)&&0!=this.C&&(this.h.g=this.h.g.slice(this.C),this.C=0),4!=d||0!=r.length||this.h.h||(this.m=1,eT(16),e=!1),this.o=this.o&&e,e){if(r.length>0&&!this.W){this.W=!0;var c=this.j;c.g==this&&c.aa&&!c.P&&(c.j.info("Great, no buffering proxy detected. Bytes received: "+r.length),tz(c),c.P=!0,eT(11))}}else ek(this.i,this.l,r,"[Invalid Chunked Response]"),e$(this),ez(this)}else ek(this.i,this.l,r,null),eK(this,r);4==d&&e$(this),this.o&&!this.K&&(4==d?tG(this.j,this):(this.o=!1,eB(this)))}else(function(e){let t={};e=(e.g&&tD(e)>=2&&e.g.getAllResponseHeaders()||"").split("\r\n");for(let n=0;n<e.length;n++){if(L(e[n]))continue;var r=function(e){var t=1;e=e.split(":");let r=[];for(;t>0&&e.length;)r.push(e.shift()),t--;return e.length&&r.push(e.join(":")),r}(e[n]);let i=r[0];if("string"!=typeof(r=r[1]))continue;r=r.trim();let s=t[i]||[];t[i]=s,s.push(r)}var n=function(e){return e.join(", ")};for(let e in t)n.call(void 0,t[e],e,t)})(this.g),400==t&&r.indexOf("Unknown SID")>0?(this.m=3,eT(12)):(this.m=0,eT(13)),e$(this),ez(this)}}}catch(e){}finally{}},eO.prototype.cancel=function(){this.K=!0,e$(this)},eO.prototype.aa=function(){var e,t;this.D=null;let r=Date.now();r-this.T>=0?(e=this.i,t=this.B,e.info(function(){return"TIMEOUT: "+t}),2!=this.M&&(e_(),eT(17)),e$(this),this.m=2,ez(this)):ej(this,this.T-r)};var eG=class{constructor(e,t){this.g=e,this.map=t}};function eH(e){this.l=e||10,e=p.PerformanceNavigationTiming?(e=p.performance.getEntriesByType("navigation")).length>0&&("hq"==e[0].nextHopProtocol||"h2"==e[0].nextHopProtocol):!!(p.chrome&&p.chrome.loadTimes&&p.chrome.loadTimes()&&p.chrome.loadTimes().wasFetchedViaSpdy),this.j=e?this.l:1,this.g=null,this.j>1&&(this.g=new Set),this.h=null,this.i=[]}function eW(e){return!!e.h||!!e.g&&e.g.size>=e.j}function eQ(e){return e.h?1:e.g?e.g.size:0}function eJ(e,t){return e.h?e.h==t:!!e.g&&e.g.has(t)}function eY(e,t){e.g?e.g.add(t):e.h=t}function eX(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}function eZ(e){if(null!=e.h)return e.i.concat(e.h.G);if(null!=e.g&&0!==e.g.size){let t=e.i;for(let r of e.g.values())t=t.concat(r.G);return t}return I(e.i)}eH.prototype.cancel=function(){if(this.i=eZ(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(let e of this.g.values())e.cancel();this.g.clear()}};var e0=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function e1(e){let t;this.g=this.o=this.j="",this.u=null,this.m=this.h="",this.l=!1,e instanceof e1?(this.l=e.l,e6(this,e.j),this.o=e.o,this.g=e.g,e3(this,e.u),this.h=e.h,e5(this,td(e.i)),this.m=e.m):e&&(t=String(e).match(e0))?(this.l=!1,e6(this,t[1]||"",!0),this.o=e7(t[2]||""),this.g=e7(t[3]||"",!0),e3(this,t[4]),this.h=e7(t[5]||"",!0),e5(this,t[6]||"",!0),this.m=e7(t[7]||"")):(this.l=!1,this.i=new ta(null,this.l))}function e2(e){return new e1(e)}function e6(e,t,r){e.j=r?e7(t,!0):t,e.j&&(e.j=e.j.replace(/:$/,""))}function e3(e,t){if(t){if(isNaN(t=Number(t))||t<0)throw Error("Bad port number "+t);e.u=t}else e.u=null}function e5(e,t,r){var n,i;t instanceof ta?(e.i=t,n=e.i,(i=e.l)&&!n.j&&(to(n),n.i=null,n.g.forEach(function(e,t){let r=t.toLowerCase();t!=r&&(tl(this,t),tc(this,r,e))},n)),n.j=i):(r||(t=e9(t,ti)),e.i=new ta(t,e.l))}function e8(e,t,r){e.i.set(t,r)}function e4(e){return e8(e,"zx",Math.floor(0x80000000*Math.random()).toString(36)+Math.abs(Math.floor(0x80000000*Math.random())^Date.now()).toString(36)),e}function e7(e,t){return e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):""}function e9(e,t,r){return"string"==typeof e?(e=encodeURI(e).replace(t,te),r&&(e=e.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),e):null}function te(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)}e1.prototype.toString=function(){let e=[];var t=this.j;t&&e.push(e9(t,tt,!0),":");var r=this.g;return(r||"file"==t)&&(e.push("//"),(t=this.o)&&e.push(e9(t,tt,!0),"@"),e.push(eR(r).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null!=(r=this.u)&&e.push(":",String(r))),(r=this.h)&&(this.g&&"/"!=r.charAt(0)&&e.push("/"),e.push(e9(r,"/"==r.charAt(0)?tn:tr,!0))
1),(r=this.i.toString())&&e.push("?",r),(r=this.m)&&e.push("#",e9(r,ts)),e.join("")},e1.prototype.resolve=function(e){let t=e2(this),r=!!e.j;r?e6(t,e.j):r=!!e.o,r?t.o=e.o:r=!!e.g,r?t.g=e.g:r=null!=e.u;var n=e.h;if(r)e3(t,e.u);else if(r=!!e.h){if("/"!=n.charAt(0))if(this.g&&!this.h)n="/"+n;else{var i=t.h.lastIndexOf("/");-1!=i&&(n=t.h.slice(0,i+1)+n)}if(".."==(i=n)||"."==i)n="";else if(-1!=i.indexOf("./")||-1!=i.indexOf("/.")){n=0==i.lastIndexOf("/",0),i=i.split("/");let e=[];for(let t=0;t<i.length;){let r=i[t++];"."==r?n&&t==i.length&&e.push(""):".."==r?((e.length>1||1==e.length&&""!=e[0])&&e.pop(),n&&t==i.length&&e.push("")):(e.push(r),n=!0)}n=e.join("/")}else n=i}return r?t.h=n:r=""!==e.i.toString(),r?e5(t,td(e.i)):r=!!e.m,r&&(t.m=e.m),t};var tt=/[#\/\?@]/g,tr=/[#\?:]/g,tn=/[#\?]/g,ti=/[#\?@]/g,ts=/#/g;function ta(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function to(e){e.g||(e.g=new Map,e.h=0,e.i&&function(e,t){if(e){e=e.split("&");for(let r=0;r<e.length;r++){let n=e[r].indexOf("="),i,s=null;n>=0?(i=e[r].substring(0,n),s=e[r].substring(n+1)):i=e[r],t(i,s?decodeURIComponent(s.replace(/\+/g," ")):"")}}}(e.i,function(t,r){e.add(decodeURIComponent(t.replace(/\+/g," ")),r)}))}function tl(e,t){to(e),t=tf(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function tu(e,t){return to(e),t=tf(e,t),e.g.has(t)}function th(e,t){to(e);let r=[];if("string"==typeof t)tu(e,t)&&(r=r.concat(e.g.get(tf(e,t))));else for(e=Array.from(e.g.values()),t=0;t<e.length;t++)r=r.concat(e[t]);return r}function tc(e,t,r){tl(e,t),r.length>0&&(e.i=null,e.g.set(tf(e,t),I(r)),e.h+=r.length)}function td(e){let t=new ta;return t.i=e.i,e.g&&(t.g=new Map(e.g),t.h=e.h),t}function tf(e,t){return t=String(t),e.j&&(t=t.toLowerCase()),t}function tp(e,t,r,n,i){try{i&&(i.onload=null,i.onerror=null,i.onabort=null,i.ontimeout=null),n(r)}catch(e){}}function tg(){this.g=new ed}function tm(e){this.i=e.Sb||null,this.h=e.ab||!1}function ty(e,t){en.call(this),this.H=e,this.o=t,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.A=new Headers,this.h=null,this.F="GET",this.D="",this.g=!1,this.B=this.j=this.l=null,this.v=new AbortController}function tv(e){e.j.read().then(e.Ma.bind(e)).catch(e.ga.bind(e))}function tw(e){e.readyState=4,e.l=null,e.j=null,e.B=null,tb(e)}function tb(e){e.onreadystatechange&&e.onreadystatechange.call(e)}function tI(e){let t="";return j(e,function(e,r){t+=r,t+=":",t+=e,t+="\r\n"}),t}function t_(e,t,r){e:{for(n in r){var n=!1;break e}n=!0}n||(r=tI(r),"string"==typeof e?null!=r&&eR(r):e8(e,t,r))}function tE(e){en.call(this),this.headers=new Map,this.L=e||null,this.h=!1,this.g=null,this.D="",this.o=0,this.l="",this.j=this.B=this.v=this.A=!1,this.m=null,this.F="",this.H=!1}(t=ta.prototype).add=function(e,t){to(this),this.i=null,e=tf(this,e);let r=this.g.get(e);return r||this.g.set(e,r=[]),r.push(t),this.h+=1,this},t.forEach=function(e,t){to(this),this.g.forEach(function(r,n){r.forEach(function(r){e.call(t,r,n,this)},this)},this)},t.set=function(e,t){return to(this),this.i=null,tu(this,e=tf(this,e))&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},t.get=function(e,t){return e&&(e=th(this,e)).length>0?String(e[0]):t},t.toString=function(){if(this.i)return this.i;if(!this.g)return"";let e=[],t=Array.from(this.g.keys());for(let n=0;n<t.length;n++){var r=t[n];let i=eR(r);r=th(this,r);for(let t=0;t<r.length;t++){let n=i;""!==r[t]&&(n+="="+eR(r[t])),e.push(n)}}return this.i=e.join("&")},w(tm,ef),tm.prototype.g=function(){return new ty(this.i,this.h)},w(ty,en),(t=ty.prototype).open=function(e,t){if(0!=this.readyState)throw this.abort(),Error("Error reopening a connection");this.F=e,this.D=t,this.readyState=1,tb(this)},t.send=function(e){if(1!=this.readyState)throw this.abort(),Error("need to call open() first. ");if(this.v.signal.aborted)throw this.abort(),Error("Request was aborted.");this.g=!0;let t={headers:this.A,method:this.F,credentials:this.m,cache:void 0,signal:this.v.signal};e&&(t.body=e),(this.H||p).fetch(new Request(this.D,t)).then(this.Pa.bind(this),this.ga.bind(this))},t.abort=function(){this.response=this.responseText="",this.A=new Headers,this.status=0,this.v.abort(),this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),this.readyState>=1&&this.g&&4!=this.readyState&&(this.g=!1,tw(this)),this.readyState=0},t.Pa=function(e){if(this.g&&(this.l=e,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=e.headers,this.readyState=2,tb(this)),this.g&&(this.readyState=3,tb(this),this.g)))if("arraybuffer"===this.responseType)e.arrayBuffer().then(this.Na.bind(this),this.ga.bind(this));else if(void 0!==p.ReadableStream&&"body"in e){if(this.j=e.body.getReader(),this.o){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.B=new TextDecoder;tv(this)}else e.text().then(this.Oa.bind(this),this.ga.bind(this))},t.Ma=function(e){if(this.g){if(this.o&&e.value)this.response.push(e.value);else if(!this.o){var t=e.value?e.value:new Uint8Array(0);(t=this.B.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t)}e.done?tw(this):tb(this),3==this.readyState&&tv(this)}},t.Oa=function(e){this.g&&(this.response=this.responseText=e,tw(this))},t.Na=function(e){this.g&&(this.response=e,tw(this))},t.ga=function(){this.g&&tw(this)},t.setRequestHeader=function(e,t){this.A.append(e,t)},t.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||""},t.getAllResponseHeaders=function(){if(!this.h)return"";let e=[],t=this.h.entries();for(var r=t.next();!r.done;)e.push((r=r.value)[0]+": "+r[1]),r=t.next();return e.join("\r\n")},Object.defineProperty(ty.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(e){this.m=e?"include":"same-origin"}}),w(tE,en);var tT=/^https?$/i,tS=["POST","PUT"];function tC(e,t){e.h=!1,e.g&&(e.j=!0,e.g.abort(),e.j=!1),e.l=t,e.o=5,tA(e),tx(e)}function tA(e){e.A||(e.A=!0,ei(e,"complete"),ei(e,"error"))}function tk(e){if(e.h&&void 0!==f){if(e.v&&4==tD(e))setTimeout(e.Ca.bind(e),0);else if(ei(e,"readystatechange"),4==tD(e)){e.h=!1;try{let s=e.ca();switch(s){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var t,r,n=!0;break;default:n=!1}if(!(t=n)){if(r=0===s){let t=String(e.D).match(e0)[1]||null;!t&&p.self&&p.self.location&&(t=p.self.location.protocol.slice(0,-1)),r=!tT.test(t?t.toLowerCase():"")}t=r}if(t)ei(e,"complete"),ei(e,"success");else{e.o=6;try{var i=tD(e)>2?e.g.statusText:""}catch(e){i=""}e.l=i+" ["+e.ca()+"]",tA(e)}}finally{tx(e)}}}}function tx(e,t){if(e.g){e.m&&(clearTimeout(e.m),e.m=null);let r=e.g;e.g=null,t||ei(e,"ready");try{r.onreadystatechange=null}catch(e){}}}function tD(e){return e.g?e.g.readyState:0}function tN(e){try{if(!e.g)return null;if("response"in e.g)return e.g.response;switch(e.F){case"":case"text":return e.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in e.g)return e.g.mozResponseArrayBuffer}return null}catch(e){return null}}
1function tR(e,t,r){return r&&r.internalChannelParams&&r.internalChannelParams[e]||t}function tO(e){this.za=0,this.i=[],this.j=new eA,this.ba=this.na=this.J=this.W=this.g=this.wa=this.G=this.H=this.u=this.U=this.o=null,this.Ya=this.V=0,this.Sa=tR("failFast",!1,e),this.F=this.C=this.v=this.m=this.l=null,this.X=!0,this.xa=this.K=-1,this.Y=this.A=this.D=0,this.Qa=tR("baseRetryDelayMs",5e3,e),this.Za=tR("retryDelaySeedMs",1e4,e),this.Ta=tR("forwardChannelMaxRetries",2,e),this.va=tR("forwardChannelRequestTimeoutMs",2e4,e),this.ma=e&&e.xmlHttpFactory||void 0,this.Ua=e&&e.Rb||void 0,this.Aa=e&&e.useFetchStreams||!1,this.O=void 0,this.L=e&&e.supportsCrossDomainXhr||!1,this.M="",this.h=new eH(e&&e.concurrentRequestLimit),this.Ba=new tg,this.S=e&&e.fastHandshake||!1,this.R=e&&e.encodeInitMessageHeaders||!1,this.S&&this.R&&(this.R=!1),this.Ra=e&&e.Pb||!1,e&&e.ua&&this.j.ua(),e&&e.forceLongPolling&&(this.X=!1),this.aa=!this.S&&this.X&&e&&e.detectBufferingProxy||!1,this.ia=void 0,e&&e.longPollingTimeout&&e.longPollingTimeout>0&&(this.ia=e.longPollingTimeout),this.ta=void 0,this.T=0,this.P=!1,this.ja=this.B=null}function tP(e){if(tM(e),3==e.I){var t=e.V++,r=e2(e.J);if(e8(r,"SID",e.M),e8(r,"RID",t),e8(r,"TYPE","terminate"),tU(e,r),(t=new eO(e,e.j,t)).M=2,t.A=e4(e2(r)),r=!1,p.navigator&&p.navigator.sendBeacon)try{r=p.navigator.sendBeacon(t.A.toString(),"")}catch(e){}!r&&p.Image&&((new Image).src=t.A,r=!0),r||(t.g=tY(t.j,null),t.g.ea(t.A)),t.F=Date.now(),eB(t)}tQ(e)}function tL(e){e.g&&(tz(e),e.g.cancel(),e.g=null)}function tM(e){tL(e),e.v&&(p.clearTimeout(e.v),e.v=null),tK(e),e.h.cancel(),e.m&&("number"==typeof e.m&&p.clearTimeout(e.m),e.m=null)}function tV(e){if(!eW(e.h)&&!e.m){e.m=!0;var t=e.Ea;A||D(),k||(A(),k=!0),x.add(t,e),e.D=0}}function tF(e,t){var r;r=t?t.l:e.V++;let n=e2(e.J);e8(n,"SID",e.M),e8(n,"RID",r),e8(n,"AID",e.K),tU(e,n),e.u&&e.o&&t_(n,e.u,e.o),r=new eO(e,e.j,r,e.D+1),null===e.u&&(r.J=e.o),t&&(e.i=t.G.concat(e.i)),t=tB(e,r,1e3),r.H=Math.round(.5*e.va)+Math.round(.5*e.va*Math.random()),eY(e.h,r),eV(r,n,t)}function tU(e,t){e.H&&j(e.H,function(e,r){e8(t,r,e)}),e.l&&j({},function(e,r){e8(t,r,e)})}function tB(e,t,r){r=Math.min(e.i.length,r);let n=e.l?y(e.l.Ka,e.l,e):null;e:{var i=e.i;let t=-1;for(;;){let e=["count="+r];-1==t?r>0?(t=i[0].g,e.push("ofs="+t)):t=0:e.push("ofs="+t);let o=!0;for(let l=0;l<r;l++){var s=i[l].g;let r=i[l].map;if((s-=t)<0)t=Math.max(0,i[l].g-100),o=!1;else try{s="req"+s+"_";try{var a=r instanceof Map?r:Object.entries(r);for(let[t,r]of a){let n=r;g(r)&&(n=eh(r)),e.push(s+t+"="+encodeURIComponent(n))}}catch(t){throw e.push(s+"type="+encodeURIComponent("_badmap")),t}}catch(e){n&&n(r)}}if(o){a=e.join("&");break e}}a=void 0}return t.G=e=e.i.splice(0,r),a}function tj(e){if(!e.g&&!e.v){e.Y=1;var t=e.Da;A||D(),k||(A(),k=!0),x.add(t,e),e.A=0}}function tq(e){return!e.g&&!e.v&&!(e.A>=3)&&(e.Y++,e.v=eC(y(e.Da,e),tH(e,e.A)),e.A++,!0)}function tz(e){null!=e.B&&(p.clearTimeout(e.B),e.B=null)}function t$(e){e.g=new eO(e,e.j,"rpc",e.Y),null===e.u&&(e.g.J=e.o),e.g.P=0;var t=e2(e.na);e8(t,"RID","rpc"),e8(t,"SID",e.M),e8(t,"AID",e.K),e8(t,"CI",e.F?"0":"1"),!e.F&&e.ia&&e8(t,"TO",e.ia),e8(t,"TYPE","xmlhttp"),tU(e,t),e.u&&e.o&&t_(t,e.u,e.o),e.O&&(e.g.H=e.O);var r=e.g;e=e.ba,r.M=1,r.A=e4(e2(t)),r.u=null,r.R=!0,eF(r,e)}function tK(e){null!=e.C&&(p.clearTimeout(e.C),e.C=null)}function tG(e,t){var r,n=null;if(e.g==t){tK(e),tz(e),e.g=null;var i=2}else{if(!eJ(e.h,t))return;n=t.G,eX(e.h,t),i=1}if(0!=e.I){if(t.o)if(1==i){n=t.u?t.u.length:0,t=Date.now()-t.F;var s=e.D;ei(i=eb(),new eS(i,n)),tV(e)}else tj(e);else if(3==(s=t.m)||0==s&&t.X>0||!(1==i&&(r=t,!(eQ(e.h)>=e.h.j-!!e.m)&&(e.m?(e.i=r.G.concat(e.i),!0):1!=e.I&&2!=e.I&&!(e.D>=(e.Sa?0:e.Ta))&&(e.m=eC(y(e.Ea,e,r),tH(e,e.D)),e.D++,!0)))||2==i&&tq(e)))switch(n&&n.length>0&&((t=e.h).i=t.i.concat(n)),s){case 1:tW(e,5);break;case 4:tW(e,10);break;case 3:tW(e,6);break;default:tW(e,2)}}}function tH(e,t){let r=e.Qa+Math.floor(Math.random()*e.Za);return e.isActive()||(r*=2),r*t}function tW(e,t){if(e.j.info("Error code "+t),2==t){let t,s,a;var r,n=y(e.bb,e),i=e.Ua;let o=!i;i=new e1(i||"//www.google.com/images/cleardot.gif"),p.location&&"http"==p.location.protocol||e6(i,"https"),e4(i),o?function(e,t){let r=new eA;if(p.Image){let n=new Image;n.onload=v(tp,r,"TestLoadImage: loaded",!0,t,n),n.onerror=v(tp,r,"TestLoadImage: error",!1,t,n),n.onabort=v(tp,r,"TestLoadImage: abort",!1,t,n),n.ontimeout=v(tp,r,"TestLoadImage: timeout",!1,t,n),p.setTimeout(function(){n.ontimeout&&n.ontimeout()},1e4),n.src=e}else t(!1)}(i.toString(),n):(r=i.toString(),t=new eA,s=new AbortController,a=setTimeout(()=>{s.abort(),tp(t,"TestPingServer: timeout",!1,n)},1e4),fetch(r,{signal:s.signal}).then(e=>{clearTimeout(a),e.ok?tp(t,"TestPingServer: ok",!0,n):tp(t,"TestPingServer: server error",!1,n)}).catch(()=>{clearTimeout(a),tp(t,"TestPingServer: error",!1,n)}))}else eT(2);e.I=0,e.l&&e.l.pa(t),tQ(e),tM(e)}function tQ(e){if(e.I=0,e.ja=[],e.l){let t=eZ(e.h);(0!=t.length||0!=e.i.length)&&(_(e.ja,t),_(e.ja,e.i),e.h.i.length=0,I(e.i),e.i.length=0),e.l.oa()}}
1function tJ(e,t,r){var n=r instanceof e1?e2(r):new e1(r);if(""!=n.g)t&&(n.g=t+"."+n.g),e3(n,n.u);else{var i=p.location;n=i.protocol,t=t?t+"."+i.hostname:i.hostname,i=+i.port;let e=new e1(null);n&&e6(e,n),t&&(e.g=t),i&&e3(e,i),r&&(e.h=r),n=e}return r=e.G,t=e.wa,r&&t&&e8(n,r,t),e8(n,"VER",e.ka),tU(e,n),n}function tY(e,t,r){if(t&&!e.L)throw Error("Can't create secondary domain capable XhrIo object.");return(t=new tE(e.Aa&&!e.ma?new tm({ab:r}):e.ma)).Fa(e.L),t}function tX(){}function tZ(){}function t0(e,t){en.call(this),this.g=new tO(t),this.l=e,this.h=t&&t.messageUrlParams||null,e=t&&t.messageHeaders||null,t&&t.clientProtocolHeaderRequired&&(e?e["X-Client-Protocol"]="webchannel":e={"X-Client-Protocol":"webchannel"}),this.g.o=e,e=t&&t.initMessageHeaders||null,t&&t.messageContentType&&(e?e["X-WebChannel-Content-Type"]=t.messageContentType:e={"X-WebChannel-Content-Type":t.messageContentType}),t&&t.sa&&(e?e["X-WebChannel-Client-Profile"]=t.sa:e={"X-WebChannel-Client-Profile":t.sa}),this.g.U=e,(e=t&&t.Qb)&&!L(e)&&(this.g.u=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t=t&&t.httpSessionIdParam)&&!L(t)&&(this.g.G=t,null!==(e=this.h)&&t in e&&t in(e=this.h)&&delete e[t]),this.j=new t6(this)}function t1(e){em.call(this),e.__headers__&&(this.headers=e.__headers__,this.statusCode=e.__status__,delete e.__headers__,delete e.__status__);var t=e.__sm__;if(t){e:{for(let r in t){e=r;break e}e=void 0}(this.i=e)&&(e=this.i,t=null!==t&&e in t?t[e]:void 0),this.data=t}else this.data=e}function t2(){ey.call(this),this.status=1}function t6(e){this.g=e}(t=tE.prototype).Fa=function(e){this.H=e},t.ea=function(t,r,n,i){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+t);r=r?r.toUpperCase():"GET",this.D=t,this.l="",this.o=0,this.A=!1,this.h=!0,this.g=this.L?this.L.g():e.g(),this.g.onreadystatechange=b(y(this.Ca,this));try{this.B=!0,this.g.open(r,String(t),!0),this.B=!1}catch(e){tC(this,e);return}if(t=n||"",n=new Map(this.headers),i)if(Object.getPrototypeOf(i)===Object.prototype)for(var s in i)n.set(s,i[s]);else if("function"==typeof i.keys&&"function"==typeof i.get)for(let e of i.keys())n.set(e,i.get(e));else throw Error("Unknown input type for opt_headers: "+String(i));for(let[e,a]of(i=Array.from(n.keys()).find(e=>"content-type"==e.toLowerCase()),s=p.FormData&&t instanceof p.FormData,!(Array.prototype.indexOf.call(tS,r,void 0)>=0)||i||s||n.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),n))this.g.setRequestHeader(e,a);this.F&&(this.g.responseType=this.F),"withCredentials"in this.g&&this.g.withCredentials!==this.H&&(this.g.withCredentials=this.H);try{this.m&&(clearTimeout(this.m),this.m=null),this.v=!0,this.g.send(t),this.v=!1}catch(e){tC(this,e)}},t.abort=function(e){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.o=e||7,ei(this,"complete"),ei(this,"abort"),tx(this))},t.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),tx(this,!0)),tE.Z.N.call(this)},t.Ca=function(){this.u||(this.B||this.v||this.j?tk(this):this.Xa())},t.Xa=function(){tk(this)},t.isActive=function(){return!!this.g},t.ca=function(){try{return tD(this)>2?this.g.status:-1}catch(e){return -1}},t.la=function(){try{return this.g?this.g.responseText:""}catch(e){return""}},t.La=function(e){if(this.g){var t=this.g.responseText;return e&&0==t.indexOf(e)&&(t=t.substring(e.length)),ec(t)}},t.ya=function(){return this.o},t.Ha=function(){return"string"==typeof this.l?this.l:String(this.l)},(t=tO.prototype).ka=8,t.I=1,t.connect=function(e,t,r,n){eT(0),this.W=e,this.H=t||{},r&&void 0!==n&&(this.H.OSID=r,this.H.OAID=n),this.F=this.X,this.J=tJ(this,null,this.W),tV(this)},t.Ea=function(e){if(this.m)if(this.m=null,1==this.I){if(!e){this.V=Math.floor(1e5*Math.random()),e=this.V++;let i=new eO(this,this.j,e),s=this.o;if(this.U&&(s?$(s=q(s),this.U):s=this.U),null!==this.u||this.R||(i.J=s,s=null),this.S)e:{for(var t=0,r=0;r<this.i.length;r++){t:{var n=this.i[r];if("__data__"in n.map&&"string"==typeof(n=n.map.__data__)){n=n.length;break t}n=void 0}if(void 0===n)break;if((t+=n)>4096){t=r;break e}if(4096===t||r===this.i.length-1){t=r+1;break e}}t=1e3}else t=1e3;t=tB(this,i,t),e8(r=e2(this.J),"RID",e),e8(r,"CVER",22),this.G&&e8(r,"X-HTTP-Session-Id",this.G),tU(this,r),s&&(this.R?t="headers="+eR(tI(s))+"&"+t:this.u&&t_(r,this.u,s)),eY(this.h,i),this.Ra&&e8(r,"TYPE","init"),this.S?(e8(r,"$req",t),e8(r,"SID","null"),i.U=!0,eV(i,r,null)):eV(i,r,t),this.I=2}}else 3==this.I&&(e?tF(this,e):0==this.i.length||eW(this.h)||tF(this))}
1,t.Da=function(){if(this.v=null,t$(this),this.aa&&!(this.P||null==this.g||this.T<=0)){var e=4*this.T;this.j.info("BP detection timer enabled: "+e),this.B=eC(y(this.Wa,this),e)}},t.Wa=function(){this.B&&(this.B=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.P=!0,eT(10),tL(this),t$(this))},t.Va=function(){null!=this.C&&(this.C=null,tL(this),tq(this),eT(19))},t.bb=function(e){e?(this.j.info("Successfully pinged google.com"),eT(2)):(this.j.info("Failed to ping google.com"),eT(1))},t.isActive=function(){return!!this.l&&this.l.isActive(this)},(t=tX.prototype).ra=function(){},t.qa=function(){},t.pa=function(){},t.oa=function(){},t.isActive=function(){return!0},t.Ka=function(){},tZ.prototype.g=function(e,t){return new t0(e,t)},w(t0,en),t0.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.L=!0),this.g.connect(this.l,this.h||void 0)},t0.prototype.close=function(){tP(this.g)},t0.prototype.o=function(e){var t=this.g;if("string"==typeof e){var r={};r.__data__=e,e=r}else this.v&&((r={}).__data__=eh(e),e=r);t.i.push(new eG(t.Ya++,e)),3==t.I&&tV(t)},t0.prototype.N=function(){this.g.l=null,delete this.j,tP(this.g),delete this.g,t0.Z.N.call(this)},w(t1,em),w(t2,ey),w(t6,tX),t6.prototype.ra=function(){ei(this.g,"a")},t6.prototype.qa=function(e){ei(this.g,new t1(e))},t6.prototype.pa=function(e){ei(this.g,new t2)},t6.prototype.oa=function(){ei(this.g,"b")},tZ.prototype.createWebChannel=tZ.prototype.g,t0.prototype.send=t0.prototype.o,t0.prototype.open=t0.prototype.m,t0.prototype.close=t0.prototype.close,h=T.createWebChannelTransport=function(){return new tZ},u=T.getStatEventTarget=function(){return eb()},l=T.Event=ev,o=T.Stat={jb:0,mb:1,nb:2,Hb:3,Mb:4,Jb:5,Kb:6,Ib:7,Gb:8,Lb:9,PROXY:10,NOPROXY:11,Eb:12,Ab:13,Bb:14,zb:15,Cb:16,Db:17,fb:18,eb:19,gb:20},ex.NO_ERROR=0,ex.TIMEOUT=8,ex.HTTP_ERROR=6,a=T.ErrorCode=ex,eD.COMPLETE="complete",s=T.EventType=eD,ep.EventType=eg,eg.OPEN="a",eg.CLOSE="b",eg.ERROR="c",eg.MESSAGE="d",en.prototype.listen=en.prototype.J,i=T.WebChannel=ep,T.FetchXmlHttpFactory=tm,tE.prototype.listenOnce=tE.prototype.K,tE.prototype.getLastError=tE.prototype.Ha,tE.prototype.getLastErrorCode=tE.prototype.ya,tE.prototype.getStatus=tE.prototype.ca,tE.prototype.getResponseJson=tE.prototype.La,tE.prototype.getResponseText=tE.prototype.la,tE.prototype.send=tE.prototype.ea,tE.prototype.setWithCredentials=tE.prototype.Fa,n=T.XhrIo=tE}).apply(void 0!==E?E:"u">typeof self?self:"u">typeof window?window:{});class S{constructor(e){this.uid=e}isAuthenticated(){return null!=this.uid}toKey(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"}isEqual(e){return e.uid===this.uid}}S.UNAUTHENTICATED=new S(null),S.GOOGLE_CREDENTIALS=new S("google-credentials-uid"),S.FIRST_PARTY=new S("first-party-uid"),S.MOCK_USER=new S("mock-user");let C="12.13.0";function A(e){C=e}let k=new _.Logger("@firebase/firestore");function x(){return k.logLevel}function D(e,...t){if(k.logLevel<=_.LogLevel.DEBUG){let r=t.map(O);k.debug(`Firestore (${C}): ${e}`,...r)}}function N(e,...t){if(k.logLevel<=_.LogLevel.ERROR){let r=t.map(O);k.error(`Firestore (${C}): ${e}`,...r)}}function R(e,...t){if(k.logLevel<=_.LogLevel.WARN){let r=t.map(O);k.warn(`Firestore (${C}): ${e}`,...r)}}function O(e){if("string"==typeof e)return e;try{return JSON.stringify(e)}catch(t){return e}}function P(e,t,r){let n="Unexpected state";"string"==typeof t?n=t:r=t,L(e,n,r)}function L(e,t,r){let n=`FIRESTORE (${C}) INTERNAL ASSERTION FAILED: ${t} (ID: ${e.toString(16)})`;if(void 0!==r)try{n+=" CONTEXT: "+JSON.stringify(r)}catch(e){n+=" CONTEXT: "+r}throw N(n),Error(n)}function M(e,t,r,n){let i="Unexpected state";"string"==typeof r?i=r:n=r,e||L(t,i,n)}let V={OK:"ok",CANCELLED:"cancelled",UNKNOWN:"unknown",INVALID_ARGUMENT:"invalid-argument",DEADLINE_EXCEEDED:"deadline-exceeded",NOT_FOUND:"not-found",ALREADY_EXISTS:"already-exists",PERMISSION_DENIED:"permission-denied",UNAUTHENTICATED:"unauthenticated",RESOURCE_EXHAUSTED:"resource-exhausted",FAILED_PRECONDITION:"failed-precondition",ABORTED:"aborted",OUT_OF_RANGE:"out-of-range",UNIMPLEMENT
1ED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"};class F extends w.FirebaseError{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: ${this.message}`}}class U{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}class B{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${e}`)}}class j{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(S.UNAUTHENTICATED))}shutdown(){}}class q{constructor(e){this.token=e,this.changeListener=null}getToken(){return Promise.resolve(this.token)}invalidateToken(){}start(e,t){this.changeListener=t,e.enqueueRetryable(()=>t(this.token.user))}shutdown(){this.changeListener=null}}class z{constructor(e){this.t=e,this.currentUser=S.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(e,t){M(void 0===this.o,42304);let r=this.i,n=e=>this.i!==r?(r=this.i,t(e)):Promise.resolve(),i=new U;this.o=()=>{this.i++,this.currentUser=this.u(),i.resolve(),i=new U,e.enqueueRetryable(()=>n(this.currentUser))};let s=()=>{let t=i;e.enqueueRetryable(async()=>{await t.promise,await n(this.currentUser)})},a=e=>{D("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=e,this.o&&(this.auth.addAuthTokenListener(this.o),s())};this.t.onInit(e=>a(e)),setTimeout(()=>{if(!this.auth){let e=this.t.getImmediate({optional:!0});e?a(e):(D("FirebaseAuthCredentialsProvider","Auth not yet detected"),i.resolve(),i=new U)}},0),s()}getToken(){let e=this.i,t=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(t).then(t=>this.i!==e?(D("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):t?(M("string"==typeof t.accessToken,31837,{l:t}),new B(t.accessToken,this.currentUser)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.o&&this.auth.removeAuthTokenListener(this.o),this.o=void 0}u(){let e=this.auth&&this.auth.getUid();return M(null===e||"string"==typeof e,2055,{h:e}),new S(e)}}class ${constructor(e,t,r){this.P=e,this.T=t,this.I=r,this.type="FirstParty",this.user=S.FIRST_PARTY,this.R=new Map}A(){return this.I?this.I():null}get headers(){this.R.set("X-Goog-AuthUser",this.P);let e=this.A();return e&&this.R.set("Authorization",e),this.T&&this.R.set("X-Goog-Iam-Authorization-Token",this.T),this.R}}class K{constructor(e,t,r){this.P=e,this.T=t,this.I=r}getToken(){return Promise.resolve(new $(this.P,this.T,this.I))}start(e,t){e.enqueueRetryable(()=>t(S.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class G{constructor(e){this.value=e,this.type="AppCheck",this.headers=new Map,e&&e.length>0&&this.headers.set("x-firebase-appcheck",this.value)}}class H{constructor(e,t){this.V=t,this.forceRefresh=!1,this.appCheck=null,this.m=null,this.p=null,(0,g._isFirebaseServerApp)(e)&&e.settings.appCheckToken&&(this.p=e.settings.appCheckToken)}start(e,t){M(void 0===this.o,3512);let r=e=>{null!=e.error&&D("FirebaseAppCheckTokenProvider",`Error getting App Check token; using placeholder token instead. Error: ${e.error.message}`);let r=e.token!==this.m;return this.m=e.token,D("FirebaseAppCheckTokenProvider",`Received ${r?"new":"existing"} token.`),r?t(e.token):Promise.resolve()};this.o=t=>{e.enqueueRetryable(()=>r(t))};let n=e=>{D("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=e,this.o&&this.appCheck.addTokenListener(this.o)};this.V.onInit(e=>n(e)),setTimeout(()=>{if(!this.appCheck){let e=this.V.getImmediate({optional:!0});e?n(e):D("FirebaseAppCheckTokenProvider","AppCheck not yet detected")}},0)}getToken(){if(this.p)return Promise.resolve(new G(this.p));let e=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(e=>e?(M("string"==typeof e.token,44558,{tokenResult:e}),this.m=e.token,new G(e.token)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.o&&this.appCheck.removeTokenListener(this.o),this.o=void 0}}class W{static newId(){let e=62*Math.floor(256/62),t="";for(;t.length<20;){let r=function(){let e="u">typeof self&&(self.crypto||self.msCrypto),t=new Uint8Array(40);if(e&&"function"==typeof e.getRandomValues)e.getRandomValues(t);else for(let e=0;e<40;
1e++)t[e]=Math.floor(256*Math.random());return t}();for(let n=0;n<r.length;++n)t.length<20&&r[n]<e&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(r[n]%62))}return t}}function Q(e,t){return e<t?-1:+(e>t)}function J(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++){let r=e.charAt(n),i=t.charAt(n);if(r!==i)return Y(r)===Y(i)?Q(r,i):Y(r)?1:-1}return Q(e.length,t.length)}function Y(e){let t=e.charCodeAt(0);return t>=55296&&t<=57343}function X(e,t,r){return e.length===t.length&&e.every((e,n)=>r(e,t[n]))}let Z="__name__";class ee{constructor(e,t,r){void 0===t?t=0:t>e.length&&P(637,{offset:t,range:e.length}),void 0===r?r=e.length-t:r>e.length-t&&P(1746,{length:r,range:e.length-t}),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return 0===ee.comparator(this,e)}child(e){let t=this.segments.slice(this.offset,this.limit());return e instanceof ee?e.forEach(e=>{t.push(e)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return e=void 0===e?1:e,this.construct(this.segments,this.offset+e,this.length-e)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(e){return this.segments[this.offset+e]}isEmpty(){return 0===this.length}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,r=this.limit();t<r;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++){let r=ee.compareSegments(e.get(n),t.get(n));if(0!==r)return r}return Q(e.length,t.length)}static compareSegments(e,t){let r=ee.isNumericId(e),n=ee.isNumericId(t);return r&&!n?-1:!r&&n?1:r&&n?ee.extractNumericId(e).compare(ee.extractNumericId(t)):J(e,t)}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return t.fromString(e.substring(4,e.length-2))}}class et extends ee{construct(e,t,r){return new et(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){let t=[];for(let r of e){if(r.indexOf("//")>=0)throw new F(V.INVALID_ARGUMENT,`Invalid segment (${r}). Paths must not contain // in them.`);t.push(...r.split("/").filter(e=>e.length>0))}return new et(t)}static emptyPath(){return new et([])}}let er=/^[_a-zA-Z][_a-zA-Z0-9]*$/;class en extends ee{construct(e,t,r){return new en(e,t,r)}static isValidIdentifier(e){return er.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),en.isValidIdentifier(e)||(e="`"+e+"`"),e)).join(".")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&this.get(0)===Z}static keyField(){return new en([Z])}static fromServerFormat(e){let t=[],r="",n=0,i=()=>{if(0===r.length)throw new F(V.INVALID_ARGUMENT,`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);t.push(r),r=""},s=!1;for(;n<e.length;){let t=e[n];if("\\"===t){if(n+1===e.length)throw new F(V.INVALID_ARGUMENT,"Path has trailing escape character: "+e);let t=e[n+1];if("\\"!==t&&"."!==t&&"`"!==t)throw new F(V.INVALID_ARGUMENT,"Path has invalid escape sequence: "+e);r+=t,n+=2}else"`"===t?s=!s:"."!==t||s?r+=t:i(),n++}if(i(),s)throw new F(V.INVALID_ARGUMENT,"Unterminated ` in path: "+e);return new en(t)}static emptyPath(){return new en([])}}class ei{constructor(e){this.path=e}static fromPath(e){return new ei(et.fromString(e))}static fromName(e){return new ei(et.fromString(e).popFirst(5))}static empty(){return new ei(et.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return this.path.length>=2&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return null!==e&&0===et.comparator(this.path,e.path)}toString(){return this.path.toString()}static comparator(e,t){return et.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new ei(new et(e.slice()))}}function es(e,t,r){if(!r)throw new F(V.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function ea(e){if(!ei.isDocumentKey(e))throw new F(V.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function eo(e){if(ei.isDocumentKey(e))throw new F(V.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function el(e){return"object"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e))}function eu(e){if(void 0===e)return"undefined";if(null===e)return"null";if("string"==typeof e)return e.length>20&&(e=`${e.substring(0,20)}...`),JSON.stringify(e);if("number"==typeof e||"boolean"==typeof e)return""+e;if("object"==typeof e){if(e instanceof Array)return"an array";{var t;let r=(t=e).constructor?t.constructor.name:null;return r?`a custom ${r} object`:"an object"}}return"function"==typeof e?"a function":P(12329,{type:typeof e})}function eh(e,t){if("_delegate"in e&&(e=e._delegate),!(e instanceof t)){if(t.name===e.constructor.name)throw new F(V.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");{let r=eu(e);throw new F(V.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: ${r}`)}}return e}function ec(e,t){let r={typeString:e};return t&&(r.value=t),r}function ed(e,t){let r;if(!el(e))throw new F(V.INVALID_ARGUMENT,"JSON must be an object");for(let n in t)if(t[n]){let i=t[n].typeString,s="value"in t[n]?{value:t[n].value}:void 0;if(!(n in e)){r=`JSON missing required field: '${n}'`;break}let a=e[n];if(i&&typeof a!==i){r=`JSON field '${n}' must be a ${i}.`;break}if(void 0!==s&&a!==s.value){r=`Expected '${n}' field to equal '${s.value}'`;break}}if(r)throw new F(V.INVALID_ARGUMENT,r);return!0}class ef{static now(){return ef.fromMillis(Date.now())}static fromDate(e){return ef.fromMillis(e.getTime())}static fromMillis(e){let t=Math.floor(e/1e3),r=Math.floor((e-1e3*t)*1e6);return new ef(t,r)}constructor(e,t){if(this.seconds=e,this.nanoseconds=t,t<0||t>=1e9)throw new F(V.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<-0xe7791f700||e>=0x3afff44180)throw new F(V.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/1e6}_compareTo(e){return this.seconds===e.seconds?Q(this.nanoseconds,e.nanoseconds):Q(this.seconds,e.seconds)}isEqual(e){return e.seconds===this.seconds&&e.nanoseconds===this.nanoseconds}toString(){return"Timestamp(seconds="+this.seconds+", nanoseconds="+this.nanoseconds+")"}toJSON(){return{type:ef._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(e){if(ed(e,ef._jsonSchema))return new ef(e.seconds,e.nanoseconds)}valueOf(){return String(this.seconds- -0xe7791f700).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}
1}ef._jsonSchemaVersion="firestore/timestamp/1.0",ef._jsonSchema={type:ec("string",ef._jsonSchemaVersion),seconds:ec("number"),nanoseconds:ec("number")};class ep{static fromTimestamp(e){return new ep(e)}static min(){return new ep(new ef(0,0))}static max(){return new ep(new ef(0x3afff4417f,0x3b9ac9ff))}constructor(e){this.timestamp=e}compareTo(e){return this.timestamp._compareTo(e.timestamp)}isEqual(e){return this.timestamp.isEqual(e.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}}class eg{constructor(e,t,r,n){this.indexId=e,this.collectionGroup=t,this.fields=r,this.indexState=n}}function em(e){return e.fields.find(e=>2===e.kind)}function ey(e){return e.fields.filter(e=>2!==e.kind)}function ev(e,t){let r=Q(e.collectionGroup,t.collectionGroup);if(0!==r)return r;for(let n=0;n<Math.min(e.fields.length,t.fields.length);++n)if(0!==(r=function(e,t){let r=en.comparator(e.fieldPath,t.fieldPath);return 0!==r?r:Q(e.kind,t.kind)}(e.fields[n],t.fields[n])))return r;return Q(e.fields.length,t.fields.length)}eg.UNKNOWN_ID=-1;class ew{constructor(e,t){this.fieldPath=e,this.kind=t}}class eb{constructor(e,t){this.sequenceNumber=e,this.offset=t}static empty(){return new eb(0,eE.min())}}function eI(e,t){let r=e.toTimestamp().seconds,n=e.toTimestamp().nanoseconds+1;return new eE(ep.fromTimestamp(1e9===n?new ef(r+1,0):new ef(r,n)),ei.empty(),t)}function e_(e){return new eE(e.readTime,e.key,-1)}class eE{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new eE(ep.min(),ei.empty(),-1)}static max(){return new eE(ep.max(),ei.empty(),-1)}}function eT(e,t){let r=e.readTime.compareTo(t.readTime);return 0!==r||0!==(r=ei.comparator(e.documentKey,t.documentKey))?r:Q(e.largestBatchId,t.largestBatchId)}let eS="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class eC{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}async function eA(e){if(e.code!==V.FAILED_PRECONDITION||e.message!==eS)throw e;D("LocalStore","Unexpectedly lost primary lease")}class ek{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(e=>{this.isDone=!0,this.result=e,this.nextCallback&&this.nextCallback(e)},e=>{this.isDone=!0,this.error=e,this.catchCallback&&this.catchCallback(e)})}catch(e){return this.next(void 0,e)}next(e,t){return this.callbackAttached&&P(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(t,this.error):this.wrapSuccess(e,this.result):new ek((r,n)=>{this.nextCallback=t=>{this.wrapSuccess(e,t).next(r,n)},this.catchCallback=e=>{this.wrapFailure(t,e).next(r,n)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{let t=e();return t instanceof ek?t:ek.resolve(t)}catch(e){return ek.reject(e)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):ek.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):ek.reject(t)}static resolve(e){return new ek((t,r)=>{t(e)})}static reject(e){return new ek((t,r)=>{r(e)})}static waitFor(e){return new ek((t,r)=>{let n=0,i=0,s=!1;e.forEach(e=>{++n,e.next(()=>{++i,s&&i===n&&t()},e=>r(e))}),s=!0,i===n&&t()})}static or(e){let t=ek.resolve(!1);for(let r of e)t=t.next(e=>e?ek.resolve(e):r());return t}static forEach(e,t){let r=[];return e.forEach((e,n)=>{r.push(t.call(this,e,n))}),this.waitFor(r)}static mapArray(e,t){return new ek((r,n)=>{let i=e.length,s=Array(i),a=0;for(let o=0;o<i;o++){let l=o;t(e[l]).next(e=>{s[l]=e,++a===i&&r(s)},e=>n(e))}})}static doWhile(e,t){return new ek((r,n)=>{let i=()=>{!0===e()?t().next(()=>{i()},n):r()};i()})}}let ex="SimpleDb";class eD{static open(e,t,r,n){try{return new eD(t,e.transaction(n,r))}catch(e){throw new eP(t,e)}}constructor(e,t){this.action=e,this.transaction=t,this.aborted=!1,this.S=new U,this.transaction.oncomplete=()=>{this.S.resolve()},this.transaction.onabort=()=>{t.error?this.S.reject(new eP(e,t.error)):this.S.resolve()},this.transaction.onerror=t=>{let r=eU(t.target.error);this.S.reject(new eP(e,r))}}get D(){return this.S.promise}abort(e){e&&this.S.reject(e),this.aborted||(D(ex,"Aborting transaction:",e?e.message:"Client-initiated abort"),this.aborted=!0,this.transaction.abort())}C(){let e=this.transaction;this.aborted||"function"!=typeof e.commit||e.commit()}store(e){return new eM(this.transaction.objectStore(e))}}class eN{static delete(e){return D(ex,"Removing database:",e),eV((0,w.getGlobal)().indexedDB.deleteDatabase(e)).toPromise()}static v(){if(!(0,w.isIndexedDBAvailable)())return!1;if(eN.F())return!0;
1let e=(0,w.getUA)(),t=eN.M(e),r=eR(e);return!(e.indexOf("MSIE ")>0||e.indexOf("Trident/")>0||e.indexOf("Edge/")>0||0<t&&t<10||0<r&&r<4.5)}static F(){return void 0!==y.default&&"YES"===y.default.__PRIVATE_env?.__PRIVATE_USE_MOCK_PERSISTENCE}static O(e,t){return e.store(t)}static M(e){let t=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i);return Number(t?t[1].split("_").slice(0,2).join("."):"-1")}constructor(e,t,r){this.name=e,this.version=t,this.N=r,this.B=null,12.2===eN.M((0,w.getUA)())&&N("Firestore persistence suffers from a bug in iOS 12.2 Safari that may cause your app to stop working. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.")}async L(e){return this.db||(D(ex,"Opening database:",this.name),this.db=await new Promise((t,r)=>{let n=indexedDB.open(this.name,this.version);n.onsuccess=e=>{t(e.target.result)},n.onblocked=()=>{r(new eP(e,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},n.onerror=t=>{let n=t.target.error;"VersionError"===n.name?r(new F(V.FAILED_PRECONDITION,"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.")):"InvalidStateError"===n.name?r(new F(V.FAILED_PRECONDITION,"Unable to open an IndexedDB connection. This could be due to running in a private browsing session on a browser whose private browsing sessions do not support IndexedDB: "+n)):r(new eP(e,n))},n.onupgradeneeded=e=>{D(ex,'Database "'+this.name+'" requires upgrade from version:',e.oldVersion);let t=e.target.result;this.N.k(t,n.transaction,e.oldVersion,this.version).next(()=>{D(ex,"Database upgrade to version "+this.version+" complete")})}})),this.K&&(this.db.onversionchange=e=>this.K(e)),this.db}q(e){this.K=e,this.db&&(this.db.onversionchange=t=>e(t))}async runTransaction(e,t,r,n){let i="readonly"===t,s=0;for(;;){++s;try{this.db=await this.L(e);let t=eD.open(this.db,e,i?"readonly":"readwrite",r),s=n(t).next(e=>(t.C(),e)).catch(e=>(t.abort(e),ek.reject(e))).toPromise();return s.catch(()=>{}),await t.D,s}catch(t){let e="FirebaseError"!==t.name&&s<3;if(D(ex,"Transaction failed with error:",t.message,"Retrying:",e),this.close(),!e)return Promise.reject(t)}}}close(){this.db&&this.db.close(),this.db=void 0}}function eR(e){let t=e.match(/Android ([\d.]+)/i);return Number(t?t[1].split(".").slice(0,2).join("."):"-1")}class eO{constructor(e){this.U=e,this.$=!1,this.W=null}get isDone(){return this.$}get G(){return this.W}set cursor(e){this.U=e}done(){this.$=!0}j(e){this.W=e}delete(){return eV(this.U.delete())}}class eP extends F{constructor(e,t){super(V.UNAVAILABLE,`IndexedDB transaction '${e}' failed: ${t}`),this.name="IndexedDbTransactionError"}}function eL(e){return"IndexedDbTransactionError"===e.name}class eM{constructor(e){this.store=e}put(e,t){let r;return void 0!==t?(D(ex,"PUT",this.store.name,e,t),r=this.store.put(t,e)):(D(ex,"PUT",this.store.name,"<auto-key>",e),r=this.store.put(e)),eV(r)}add(e){return D(ex,"ADD",this.store.name,e,e),eV(this.store.add(e))}get(e){return eV(this.store.get(e)).next(t=>(void 0===t&&(t=null),D(ex,"GET",this.store.name,e,t),t))}delete(e){return D(ex,"DELETE",this.store.name,e),eV(this.store.delete(e))}count(){return D(ex,"COUNT",this.store.name),eV(this.store.count())}J(e,t){let r=this.options(e,t),n=r.index?this.store.index(r.index):this.store;if("function"==typeof n.getAll){let e=n.getAll(r.range);return new ek((t,r)=>{e.onerror=e=>{r(e.target.error)},e.onsuccess=e=>{t(e.target.result)}})}{let e=this.cursor(r),t=[];return this.H(e,(e,r)=>{t.push(r)}).next(()=>t)}}Z(e,t){let r=this.store.getAll(e,null===t?void 0:t);return new ek((e,t)=>{r.onerror=e=>{t(e.target.error)},r.onsuccess=t=>{e(t.target.result)}})}X(e,t){D(ex,"DELETE ALL",this.store.name);let r=this.options(e,t);r.Y=!1;let n=this.cursor(r);return this.H(n,(e,t,r)=>r.delete())}ee(e,t){let r;t?r=e:(r={},t=e);let n=this.cursor(r);return this.H(n,t)}te(e){let t=this.cursor({});return new ek((r,n)=>{t.onerror=e=>{n(eU(e.target.error))},t.onsuccess=t=>{let n=t.target.result;n?e(n.primaryKey,n.value).next(e=>{e?n.continue():r()}):r()}})}H(e,t){let r=[];return new ek((n,i)=>{e.onerror=e=>{i(e.target.error)},e.onsuccess=e=>{let i=e.target.result;if(!i)return void n();let s=new eO(i),a=t(i.primaryKey,i.value,s);if(a instanceof ek){let e=a.catch(e=>(s.done(),ek.reject(e)));r.push(e)}s.isDone?n():null===s.G?i.continue():i.continue(s.G)}}).next(()=>ek.waitFor(r))}options(e,t){let r;return void 0!==e&&("string"==typeof e?r=e:t=e),{index:r,range:t}}cursor(e){let t="next";if(e.reverse&&(t="prev"),e.index){let r=this.store.index(e.index);return e.Y?r.openKeyCursor(e.range,t):r.openCursor(e.range,t)}return this.store.openCursor(e.range,t)}}function eV(e){return new ek((t,r)=>{e.onsuccess=e=>{t(e.target.result)},e.onerror=e=>{r(eU(e.target.error))}})}let eF=!1;function eU(e){let t=eN.M((0,w.getUA)());if(t>=12.2&&t<13){let t="An internal error was encountered in the Indexed Database server";if(e.message.indexOf(t)>=0){let e=new F("internal",`IOS_INDEXEDDB_BUG1: IndexedDb has thrown '${t}'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.`);return eF||(eF=!0,setTimeout(()=>{throw e},0)),e}}return e}let eB="IndexBackfiller";class ej{constructor(e,t){this.asyncQueue=e,this.ne=t,this.task=null}start(){this.re(15e3)}stop(){this.task&&(this.task.cancel(),this.task=null)}get started(){return null!==this.task}re(e){D(eB,`Scheduled in ${e}ms`),this.task=this.asyncQueue.enqueueAfterDelay("index_backfill",e,async()=>{this.task=null;try{let e=await this.ne.ie();D(eB,`Documents written: ${e}`)}catch(e){eL(e)?D(eB,"Ignoring IndexedDB error during index backfill: ",e):await eA(e)}await this.re(6e4)})}}class eq{constructor(e,t){this.localStore=e,this.persistence=t}async ie(e=50){return this.persistence.runTransaction("Backfill Indexes","readwrite-primary",t=>this.se(t,e))}se(e,t){let r=new Set,n=t,i=!0;
1return ek.doWhile(()=>!0===i&&n>0,()=>this.localStore.indexManager.getNextCollectionGroupToUpdate(e).next(t=>{if(null!==t&&!r.has(t))return D(eB,`Processing collection: ${t}`),this.oe(e,t,n).next(e=>{n-=e,r.add(t)});i=!1})).next(()=>t-n)}oe(e,t,r){return this.localStore.indexManager.getMinOffsetFromCollectionGroup(e,t).next(n=>this.localStore.localDocuments.getNextDocuments(e,t,n,r).next(r=>{let i=r.changes;return this.localStore.indexManager.updateIndexEntries(e,i).next(()=>this._e(n,r)).next(r=>(D(eB,`Updating offset: ${r}`),this.localStore.indexManager.updateCollectionGroup(e,t,r))).next(()=>i.size)}))}_e(e,t){let r=e;return t.changes.forEach((e,t)=>{let n=e_(t);eT(n,r)>0&&(r=n)}),new eE(r.readTime,r.documentKey,Math.max(t.batchId,e.largestBatchId))}}class ez{constructor(e,t){this.previousValue=e,t&&(t.sequenceNumberHandler=e=>this.ae(e),this.ue=e=>t.writeSequenceNumber(e))}ae(e){return this.previousValue=Math.max(e,this.previousValue),this.previousValue}next(){let e=++this.previousValue;return this.ue&&this.ue(e),e}}function e$(e){return null==e}function eK(e){return 0===e&&1/e==-1/0}function eG(e){return"number"==typeof e&&Number.isInteger(e)&&!eK(e)&&e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER}function eH(e){let t="";for(let r=0;r<e.length;r++)t.length>0&&(t+="\x01\x01"),t=function(e,t){let r=t,n=e.length;for(let t=0;t<n;t++){let n=e.charAt(t);switch(n){case"\0":r+="\x01\x10";break;case"\x01":r+="\x01\x11";break;default:r+=n}}return r}(e.get(r),t);return t+"\x01\x01"}ez.ce=-1;function eW(e){let t=e.length;if(M(t>=2,64408,{path:e}),2===t)return M("\x01"===e.charAt(0)&&"\x01"===e.charAt(1),56145,{path:e}),et.emptyPath();let r=t-2,n=[],i="";for(let s=0;s<t;){let t=e.indexOf("\x01",s);switch((t<0||t>r)&&P(50515,{path:e}),e.charAt(t+1)){case"\x01":let a,o=e.substring(s,t);0===i.length?a=o:(i+=o,a=i,i=""),n.push(a);break;case"\x10":i+=e.substring(s,t),i+="\0";break;case"\x11":i+=e.substring(s,t+1);break;default:P(61167,{path:e})}s=t+2}return new et(n)}let eQ="remoteDocuments",eJ="owner",eY="owner",eX="mutationQueues",eZ="mutations",e0="batchId",e1="userMutationsIndex",e2=["userId","batchId"],e6={},e3="documentMutations",e5="remoteDocumentsV14",e8=["prefixPath","collectionGroup","readTime","documentId"],e4="documentKeyIndex",e7=["prefixPath","collectionGroup","documentId"],e9="collectionGroupIndex",te=["collectionGroup","readTime","prefixPath","documentId"],tt="remoteDocumentGlobal",tr="remoteDocumentGlobalKey",tn="targets",ti="queryTargetsIndex",ts=["canonicalId","targetId"],ta="targetDocuments",to=["targetId","path"],tl="documentTargetsIndex",tu=["path","targetId"],th="targetGlobalKey",tc="targetGlobal",td="collectionParents",tf=["collectionId","parent"],tp="clientMetadata",tg="bundles",tm="namedQueries",ty="indexConfiguration",tv="collectionGroupIndex",tw="indexState",tb=["indexId","uid"],tI="sequenceNumberIndex",t_=["uid","sequenceNumber"],tE="indexEntries",tT=["indexId","uid","arrayValue","directionalValue","orderedDocumentKey","documentKey"],tS="documentKeyIndex",tC=["indexId","uid","orderedDocumentKey"],tA="documentOverlays",tk=["userId","collectionPath","documentId"],tx="collectionPathOverlayIndex",tD=["userId","collectionPath","largestBatchId"],tN="collectionGroupOverlayIndex",tR=["userId","collectionGroup","largestBatchId"],tO="globals",tP=[eX,eZ,e3,eQ,tn,eJ,tc,ta,tp,tt,td,tg,tm],tL=[...tP,tA],tM=[eX,eZ,e3,e5,tn,eJ,tc,ta,tp,tt,td,tg,tm,tA],tV=[...tM,ty,tw,tE],tF=[...tV,tO];class tU extends eC{constructor(e,t){super(),this.le=e,this.currentSequenceNumber=t}}function tB(e,t){return eN.O(e.le,t)}function tj(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function tq(e,t){for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t(r,e[r])}function tz(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}class t${constructor(e,t){this.comparator=e,this.root=t||tG.EMPTY}insert(e,t){return new t$(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,tG.BLACK,null,null))}remove(e){return new t$(this.comparator,this.root.remove(e,this.comparator).copy(null,null,tG.BLACK,null,
1null))}get(e){let t=this.root;for(;!t.isEmpty();){let r=this.comparator(e,t.key);if(0===r)return t.value;r<0?t=t.left:r>0&&(t=t.right)}return null}indexOf(e){let t=0,r=this.root;for(;!r.isEmpty();){let n=this.comparator(e,r.key);if(0===n)return t+r.left.size;n<0?r=r.left:(t+=r.left.size+1,r=r.right)}return -1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(e){return this.root.inorderTraversal(e)}forEach(e){this.inorderTraversal((t,r)=>(e(t,r),!1))}toString(){let e=[];return this.inorderTraversal((t,r)=>(e.push(`${t}:${r}`),!1)),`{${e.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new tK(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new tK(this.root,e,this.comparator,!1)}getReverseIterator(){return new tK(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new tK(this.root,e,this.comparator,!0)}}class tK{constructor(e,t,r,n){this.isReverse=n,this.nodeStack=[];let i=1;for(;!e.isEmpty();)if(i=t?r(e.key,t):1,t&&n&&(i*=-1),i<0)e=this.isReverse?e.left:e.right;else{if(0===i){this.nodeStack.push(e);break}this.nodeStack.push(e),e=this.isReverse?e.right:e.left}}getNext(){let e=this.nodeStack.pop(),t={key:e.key,value:e.value};if(this.isReverse)for(e=e.left;!e.isEmpty();)this.nodeStack.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack.push(e),e=e.left;return t}hasNext(){return this.nodeStack.length>0}peek(){if(0===this.nodeStack.length)return null;let e=this.nodeStack[this.nodeStack.length-1];return{key:e.key,value:e.value}}}class tG{constructor(e,t,r,n,i){this.key=e,this.value=t,this.color=null!=r?r:tG.RED,this.left=null!=n?n:tG.EMPTY,this.right=null!=i?i:tG.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,r,n,i){return new tG(null!=e?e:this.key,null!=t?t:this.value,null!=r?r:this.color,null!=n?n:this.left,null!=i?i:this.right)}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min(){return this.left.isEmpty()?this:this.left.min()}minKey(){return this.min().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,r){let n=this,i=r(e,n.key);return(n=i<0?n.copy(null,null,null,n.left.insert(e,t,r),null):0===i?n.copy(null,t,null,null,null):n.copy(null,null,null,null,n.right.insert(e,t,r))).fixUp()}removeMin(){if(this.left.isEmpty())return tG.EMPTY;let e=this;return e.left.isRed()||e.left.left.isRed()||(e=e.moveRedLeft()),(e=e.copy(null,null,null,e.left.removeMin(),null)).fixUp()}remove(e,t){let r,n=this;if(0>t(e,n.key))n.left.isEmpty()||n.left.isRed()||n.left.left.isRed()||(n=n.moveRedLeft()),n=n.copy(null,null,null,n.left.remove(e,t),null);else{if(n.left.isRed()&&(n=n.rotateRight()),n.right.isEmpty()||n.right.isRed()||n.right.left.isRed()||(n=n.moveRedRight()),0===t(e,n.key)){if(n.right.isEmpty())return tG.EMPTY;r=n.right.min(),n=n.copy(r.key,r.value,null,null,n.right.removeMin())}n=n.copy(null,null,null,null,n.right.remove(e,t))}return n.fixUp()}isRed(){return this.color}fixUp(){let e=this;return e.right.isRed()&&!e.left.isRed()&&(e=e.rotateLeft()),e.left.isRed()&&e.left.left.isRed()&&(e=e.rotateRight()),e.left.isRed()&&e.right.isRed()&&(e=e.colorFlip()),e}moveRedLeft(){let e=this.colorFlip();return e.right.left.isRed()&&(e=(e=(e=e.copy(null,null,null,null,e.right.rotateRight())).rotateLeft()).colorFlip()),e}moveRedRight(){let e=this.colorFlip();return e.left.left.isRed()&&(e=(e=e.rotateRight()).colorFlip()),e}rotateLeft(){let e=this.copy(null,null,tG.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){let e=this.copy(null,null,tG.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){let e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth(){return Math.pow(2,this.check())<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw P(43730,{key:this.key,value:this.value});if(this.right.isRed())throw P(14113,{key:this.key,value:this.value});let e=this.left.check();if(e!==this.right.check())throw P(27949);return e+ +!this.isRed()}}
1tG.EMPTY=null,tG.RED=!0,tG.BLACK=!1,tG.EMPTY=new class{constructor(){this.size=0}get key(){throw P(57766)}get value(){throw P(16141)}get color(){throw P(16727)}get left(){throw P(29726)}get right(){throw P(36894)}copy(e,t,r,n,i){return this}insert(e,t,r){return new tG(e,t)}remove(e,t){return this}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};class tH{constructor(e){this.comparator=e,this.data=new t$(this.comparator)}has(e){return null!==this.data.get(e)}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(e){return this.data.indexOf(e)}forEach(e){this.data.inorderTraversal((t,r)=>(e(t),!1))}forEachInRange(e,t){let r=this.data.getIteratorFrom(e[0]);for(;r.hasNext();){let n=r.getNext();if(this.comparator(n.key,e[1])>=0)return;t(n.key)}}forEachWhile(e,t){let r;for(r=void 0!==t?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){let t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new tW(this.data.getIterator())}getIteratorFrom(e){return new tW(this.data.getIteratorFrom(e))}add(e){return this.copy(this.data.remove(e).insert(e,!0))}delete(e){return this.has(e)?this.copy(this.data.remove(e)):this}isEmpty(){return this.data.isEmpty()}unionWith(e){let t=this;return t.size<e.size&&(t=e,e=this),e.forEach(e=>{t=t.add(e)}),t}isEqual(e){if(!(e instanceof tH)||this.size!==e.size)return!1;let t=this.data.getIterator(),r=e.data.getIterator();for(;t.hasNext();){let e=t.getNext().key,n=r.getNext().key;if(0!==this.comparator(e,n))return!1}return!0}toArray(){let e=[];return this.forEach(t=>{e.push(t)}),e}toString(){let e=[];return this.forEach(t=>e.push(t)),"SortedSet("+e.toString()+")"}copy(e){let t=new tH(this.comparator);return t.data=e,t}}class tW{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}function tQ(e){return e.hasNext()?e.getNext():void 0}class tJ{constructor(e){this.fields=e,e.sort(en.comparator)}static empty(){return new tJ([])}unionWith(e){let t=new tH(en.comparator);for(let e of this.fields)t=t.add(e);for(let r of e)t=t.add(r);return new tJ(t.toArray())}covers(e){for(let t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return X(this.fields,e.fields,(e,t)=>e.isEqual(t))}}class tY extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}class tX{constructor(e){this.binaryString=e}static fromBase64String(e){return new tX(function(e){try{return atob(e)}catch(e){throw"u">typeof DOMException&&e instanceof DOMException?new tY("Invalid base64 string: "+e):e}}(e))}static fromUint8Array(e){return new tX(function(e){let t="";for(let r=0;r<e.length;++r)t+=String.fromCharCode(e[r]);return t}(e))}[Symbol.iterator](){let e=0;return{next:()=>e<this.binaryString.length?{value:this.binaryString.charCodeAt(e++),done:!1}:{value:void 0,done:!0}}}toBase64(){return btoa(this.binaryString)}toUint8Array(){var e=this.binaryString;let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return Q(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}tX.EMPTY_BYTE_STRING=new tX("");let tZ=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function t0(e){if(M(!!e,39018),"string"==typeof e){let t=0,r=tZ.exec(e);if(M(!!r,46558,{timestamp:e}),r[1]){let e=r[1];t=Number(e=(e+"000000000").substr(0,9))}return{seconds:Math.floor(new Date(e).getTime()/1e3),nanos:t}}return{seconds:t1(e.seconds),nanos:t1(e.nanos)}}function t1(e){return"number"==typeof e?e:"string"==typeof e?Number(e):0}function t2(e){return"string"==typeof e?tX.fromBase64String(e):tX.fromUint8Array(e)}let t6="server_timestamp",t3="__type__",t5="__previous_value__",t8="__local_write_time__";function t4(e){return(e?.mapValue?.fields||{})[t3]?.stringValue===t6}function t7(e){let t=e.mapValue.fields[t5];return t4(t)?t7(t):t}function t9(e){let t=t0(e.mapValue.fields[t8].timestampValue);return new ef(t.seconds,t.nanos)}class re{constructor(e,t,r,n,i,s,a,o,l,u,h){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=n,this.ssl=i,this.forceLongPolling=s,this.autoDetectLongPolling=a,this.longPollingOptions=o,this.useFetchStreams=l,this.isUsingEmulator=u,this.apiKey=h}}let rt="(default)";class rr{constructor(e,t){this.projectId=e,this.database=t||rt}static empty(){return new rr("","")}get isDefaultDatabase(){return this.database===rt}isEqual(e){return e instanceof rr&&e.projectId===this.projectId&&e.database===this.database}}function rn(e,t){if(!Object.prototype.hasOwnProperty.apply(e.options,["projectId"]))throw new F(V.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new rr(e.options.projectId,t)}let ri="__type__",rs="__max__",ra={mapValue:{fields:{__type__:{stringValue:rs}}}},ro="__vector__",rl="value",ru={nullValue:"NULL_VALUE"};function rh(e){return"nullValue"in e?0:"booleanValue"in e?1:"integerValue"in e||"doubleValue"in e?2:"timestampValue"in e?3:"stringValue"in e?5:"bytesValue"in e?6:"referenceValue"in e?7:"geoPointValue"in e?8:"arrayValue"in e?9:"mapValue"in e?t4(e)?4:rS(e)?0x1fffffffffffff:rE(e)?10:11:P(28295,{value:e})}function rc(e,t){if(e===t)return!0;let r=rh(e);if(r!==rh(t))return!1;switch(r){case 0:case 0x1fffffffffffff:return!0;case 1:return e.booleanValue===t.booleanValue;case 4:return t9(e).isEqual(t9(t));case 3:if("string"==typeof e.timestampValue&&"string"==typeof t.timestampValue&&e.timestampValue.length===t.timestampValue.length)return e.timestampValue===t.timestampValue;let n=t0(e.timestampValue),i=t0(t.timestampValue);return n.seconds===i.seconds&&n.nanos===i.nanos;case 5:return e.stringValue===t.stringValue;case 6:return t2(e.bytesValue).isEqual(t2(t.bytesValue));case 7:return e.referenceValue===t.referenceValue;case 8:return t1(e.geoPointValue.latitude)===t1(t.geoPointValue.latitude)&&t1(e.geoPointValue.longitude)===t1(t.geoPointValue.longitude);case 2:if("integerValue"in e&&"integerValue"in t)return t1(e.integerValue)===t1(t.integerValue);if("doubleValue"in e&&"doubleValue"in t){let r=t1(e.doubleValue),n=t1(t.doubleValue);return r===n?eK(r)===eK(n):isNaN(r)&&isNaN(n)}return!1;case 9:return X(e.arrayValue.values||[],t.arrayValue.values||[],rc);case 10:case 11:let s=e.mapValue.fields||{},a=t.mapValue.fields||{};
1if(tj(s)!==tj(a))return!1;for(let e in s)if(s.hasOwnProperty(e)&&(void 0===a[e]||!rc(s[e],a[e])))return!1;return!0;default:return P(52216,{left:e})}}function rd(e,t){return void 0!==(e.values||[]).find(e=>rc(e,t))}function rf(e,t){var r,n,i,s,a,o;if(e===t)return 0;let l=rh(e),u=rh(t);if(l!==u)return Q(l,u);switch(l){case 0:case 0x1fffffffffffff:return 0;case 1:return Q(e.booleanValue,t.booleanValue);case 2:let h,c;return h=t1(e.integerValue||e.doubleValue),h<(c=t1(t.integerValue||t.doubleValue))?-1:h>c?1:h===c?0:isNaN(h)?isNaN(c)?0:-1:1;case 3:return rp(e.timestampValue,t.timestampValue);case 4:return rp(t9(e),t9(t));case 5:return J(e.stringValue,t.stringValue);case 6:let d,f;return r=e.bytesValue,n=t.bytesValue,d=t2(r),f=t2(n),d.compareTo(f);case 7:return function(e,t){let r=e.split("/"),n=t.split("/");for(let e=0;e<r.length&&e<n.length;e++){let t=Q(r[e],n[e]);if(0!==t)return t}return Q(r.length,n.length)}(e.referenceValue,t.referenceValue);case 8:let p;return i=e.geoPointValue,s=t.geoPointValue,0!==(p=Q(t1(i.latitude),t1(s.latitude)))?p:Q(t1(i.longitude),t1(s.longitude));case 9:return rg(e.arrayValue,t.arrayValue);case 10:let g,m,y,v,w;return a=e.mapValue,o=t.mapValue,g=a.fields||{},m=o.fields||{},y=g[rl]?.arrayValue,v=m[rl]?.arrayValue,0!==(w=Q(y?.values?.length||0,v?.values?.length||0))?w:rg(y,v);case 11:return function(e,t){if(e===ra.mapValue&&t===ra.mapValue)return 0;if(e===ra.mapValue)return 1;if(t===ra.mapValue)return -1;let r=e.fields||{},n=Object.keys(r),i=t.fields||{},s=Object.keys(i);n.sort(),s.sort();for(let e=0;e<n.length&&e<s.length;++e){let t=J(n[e],s[e]);if(0!==t)return t;let a=rf(r[n[e]],i[s[e]]);if(0!==a)return a}return Q(n.length,s.length)}(e.mapValue,t.mapValue);default:throw P(23264,{he:l})}}function rp(e,t){if("string"==typeof e&&"string"==typeof t&&e.length===t.length)return Q(e,t);let r=t0(e),n=t0(t),i=Q(r.seconds,n.seconds);return 0!==i?i:Q(r.nanos,n.nanos)}function rg(e,t){let r=e.values||[],n=t.values||[];for(let e=0;e<r.length&&e<n.length;++e){let t=rf(r[e],n[e]);if(t)return t}return Q(r.length,n.length)}function rm(e){var t,r;let n;return"nullValue"in e?"null":"booleanValue"in e?""+e.booleanValue:"integerValue"in e?""+e.integerValue:"doubleValue"in e?""+e.doubleValue:"timestampValue"in e?(n=t0(e.timestampValue),`time(${n.seconds},${n.nanos})`):"stringValue"in e?e.stringValue:"bytesValue"in e?t2(e.bytesValue).toBase64():"referenceValue"in e?(t=e.referenceValue,ei.fromName(t).toString()):"geoPointValue"in e?(r=e.geoPointValue,`geo(${r.latitude},${r.longitude})`):"arrayValue"in e?function(e){let t="[",r=!0;for(let n of e.values||[])r?r=!1:t+=",",t+=rm(n);return t+"]"}(e.arrayValue):"mapValue"in e?function(e){let t=Object.keys(e.fields||{}).sort(),r="{",n=!0;for(let i of t)n?n=!1:r+=",",r+=`${i}:${rm(e.fields[i])}`;return r+"}"}(e.mapValue):P(61005,{value:e})}function ry(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/${t.path.canonicalString()}`}}function rv(e){return!!e&&"integerValue"in e}function rw(e){return!!e&&"arrayValue"in e}function rb(e){return!!e&&"nullValue"in e}function rI(e){return!!e&&"doubleValue"in e&&isNaN(Number(e.doubleValue))}function r_(e){return!!e&&"mapValue"in e}function rE(e){return(e?.mapValue?.fields||{})[ri]?.stringValue===ro}function rT(e){if(e.geoPointValue)return{geoPointValue:{...e.geoPointValue}};if(e.timestampValue&&"object"==typeof e.timestampValue)return{timestampValue:{...e.timestampValue}};if(e.mapValue){let t={mapValue:{fields:{}}};return tq(e.mapValue.fields,(e,r)=>t.mapValue.fields[e]=rT(r)),t}if(e.arrayValue){let t={arrayValue:{values:[]}};for(let r=0;r<(e.arrayValue.values||[]).length;++r)t.arrayValue.values[r]=rT(e.arrayValue.values[r]);return t}return{...e}}function rS(e){return(((e.mapValue||{}).fields||{}).__type__||{}).stringValue===rs}let rC={mapValue:{fields:{[ri]:{stringValue:ro},[rl]:{arrayValue:{}}}}};function rA(e,t){let r=rf(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?-1:!e.inclusive&&t.inclusive?1:0}function rk(e,t){let r=rf(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?1:!e.inclusive&&t.inclusive?-1:0}class rx{constructor(e){this.value=e}static empty(){return new rx({mapValue:{}})}field(e){if(e.isEmpty())return this.value;{let t=this.value;for(let r=0;r<e.length-1;++r)if(!r_(t=(t.mapValue.fields||{})[e.get(r)]))return null;return(t=(t.mapValue.fields||{})[e.lastSegment()])||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=rT(t)}setAll(e){let t=en.emptyPath(),r={},n=[];e.forEach((e,i)=>{if(!t.isImmediateParentOf(i)){let e=this.getFieldsMap(t);this.applyChanges(e,r,n),r={},n=[],t=i.popLast()}e?r[i.lastSegment()]=rT(e):n.push(i.lastSegment())});let i=this.getFieldsMap(t);this.applyChanges(i,r,n)}delete(e){let t=this.field(e.popLast());r_(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return rc(this.value,e.value)}getFieldsMap(e){let t=this.value;t.mapValue.fields||(t.mapValue={fields:{}});for(let r=0;r<e.length;++r){let n=t.mapValue.fields[e.get(r)];r_(n)&&n.mapValue.fields||(n={mapValue:{fields:{}}},t.mapValue.fields[e.get(r)]=n),t=n}return t.mapValue.fields}
1applyChanges(e,t,r){for(let n of(tq(t,(t,r)=>e[t]=r),r))delete e[n]}clone(){return new rx(rT(this.value))}}class rD{constructor(e,t,r,n,i,s,a){this.key=e,this.documentType=t,this.version=r,this.readTime=n,this.createTime=i,this.data=s,this.documentState=a}static newInvalidDocument(e){return new rD(e,0,ep.min(),ep.min(),ep.min(),rx.empty(),0)}static newFoundDocument(e,t,r,n){return new rD(e,1,t,ep.min(),r,n,0)}static newNoDocument(e,t){return new rD(e,2,t,ep.min(),ep.min(),rx.empty(),0)}static newUnknownDocument(e,t){return new rD(e,3,t,ep.min(),ep.min(),rx.empty(),2)}convertToFoundDocument(e,t){return this.createTime.isEqual(ep.min())&&(2===this.documentType||0===this.documentType)&&(this.createTime=e),this.version=e,this.documentType=1,this.data=t,this.documentState=0,this}convertToNoDocument(e){return this.version=e,this.documentType=2,this.data=rx.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=rx.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=ep.min(),this}setReadTime(e){return this.readTime=e,this}get hasLocalMutations(){return 1===this.documentState}get hasCommittedMutations(){return 2===this.documentState}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return 0!==this.documentType}isFoundDocument(){return 1===this.documentType}isNoDocument(){return 2===this.documentType}isUnknownDocument(){return 3===this.documentType}isEqual(e){return e instanceof rD&&this.key.isEqual(e.key)&&this.version.isEqual(e.version)&&this.documentType===e.documentType&&this.documentState===e.documentState&&this.data.isEqual(e.data)}mutableCopy(){return new rD(this.key,this.documentType,this.version,this.readTime,this.createTime,this.data.clone(),this.documentState)}toString(){return`Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, {createTime: ${this.createTime}}), {documentType: ${this.documentType}}), {documentState: ${this.documentState}})`}}class rN{constructor(e,t){this.position=e,this.inclusive=t}}function rR(e,t,r){let n=0;for(let i=0;i<e.position.length;i++){let s=t[i],a=e.position[i];if(n=s.field.isKeyField()?ei.comparator(ei.fromName(a.referenceValue),r.key):rf(a,r.data.field(s.field)),"desc"===s.dir&&(n*=-1),0!==n)break}return n}function rO(e,t){if(null===e)return null===t;if(null===t||e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let r=0;r<e.position.length;r++)if(!rc(e.position[r],t.position[r]))return!1;return!0}class rP{constructor(e,t="asc"){this.field=e,this.dir=t}}class rL{}class rM extends rL{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?"in"===t||"not-in"===t?this.createKeyFieldInFilter(e,t,r):new rz(e,t,r):"array-contains"===t?new rH(e,r):"in"===t?new rW(e,r):"not-in"===t?new rQ(e,r):"array-contains-any"===t?new rJ(e,r):new rM(e,t,r)}static createKeyFieldInFilter(e,t,r){return"in"===t?new r$(e,r):new rK(e,r)}matches(e){let t=e.data.field(this.field);return"!="===this.op?null!==t&&void 0===t.nullValue&&this.matchesComparison(rf(t,this.value)):null!==t&&rh(this.value)===rh(t)&&this.matchesComparison(rf(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return 0===e;case"!=":return 0!==e;case">":return e>0;case">=":return e>=0;default:return P(47266,{operator:this.op})}}isInequality(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class rV extends rL{constructor(e,t){super(),this.filters=e,this.op=t,this.Pe=null}static create(e,t){return new rV(e,t)}matches(e){return rF(this)?void 0===this.filters.find(t=>!t.matches(e)):void 0!==this.filters.find(t=>t.matches(e))}getFlattenedFilters(){return null!==this.Pe||(this.Pe=this.filters.reduce((e,t)=>e.concat(t.getFlattenedFilters()),[])),this.Pe}getFilters(){return Object.assign([],this.filters)}}function rF(e){return"and"===e.op}function rU(e){return"or"===e.op}function rB(e){return rj(e)&&rF(e)}function rj(e){for(let t of e.filters)if(t instanceof rV)return!1;return!0}function rq(e,t){let r=e.filters.concat(t);return rV.create(r,e.op)}class rz extends rM{constructor(e,t,r){super(e,t,r),this.key=ei.fromName(r.referenceValue)}matches(e){let t=ei.comparator(e.key,this.key);return this.matchesComparison(t)}}class r$ extends rM{constructor(e,t){super(e,"in",t),this.keys=rG("in",t)}matches(e){return this.keys.some(t=>t.isEqual(e.key))}}class rK extends rM{constructor(e,t){super(e,"not-in",t),this.keys=rG("not-in",t)}matches(e){return!this.keys.some(t=>t.isEqual(e.key))}}function rG(e,t){return(t.arrayValue?.values||[]).map(e=>ei.fromName(e.referenceValue))}class rH extends rM{constructor(e,t){super(e,"array-contains",t)}matches(e){let t=e.data.field(this.field);return rw(t)&&rd(t.arrayValue,this.value)}}class rW extends rM{constructor(e,t){super(e,"in",t)}matches(e){let t=e.data.field(this.field);return null!==t&&rd(this.value.arrayValue,t)}}class rQ extends rM{constructor(e,t){super(e,"not-in",t)}matches(e){if(rd(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;let t=e.data.field(this.field);return null!==t&&void 0===t.nullValue&&!rd(this.value.arrayValue,t)}}class rJ extends rM{constructor(e,t){super(e,"array-contains-any",t)}matches(e){let t=e.data.field(this.field);return!(!rw(t)||!t.arrayValue.values)&&t.arrayValue.values.some(e=>rd(this.value.arrayValue,e))}}class rY{constructor(e,t=null,r=[],n=[],i=null,s=null,a=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=n,this.limit=i,this.startAt=s,this.endAt=a,this.Te=null}}function rX(e,t=null,r=[],n=[],i=null,s=null,a=null){return new rY(e,t,r,n,i,s,a)}function rZ(e){if(null===e.Te){let t=e.path.canonicalString();null!==e.collectionGroup&&(t+="|cg:"+e.collectionGroup),t+="|f:",t+=e.filters.map(e=>(function e(t){if(t instanceof rM)return t.field.canonicalString()+t.op.toString()+rm(t.value);if(rB(t))return t.filters.map(t=>e(t)).join(",");{let r=t.filters.map(t=>e(t)).join(",");return`${t.op}(${r})`}})(e)).join(","),t+="|ob:",t+=e.orderBy.map(e=>e.field.canonicalString()+e.dir).join(","),e$(e.limit)||(t+="|l:",t+=e.limit),e.startAt&&(t+="|lb:",t+=e.startAt.inclusive?"b:":"a:",t+=e.startAt.position.map(e=>rm(e)).join(",")),e.endAt&&(t+="|ub:",t+=e.endAt.inclusive?"a:":"b:",t+=e.endAt.position.map(e=>rm(e)).join(",")),e.Te=t}return e.Te}function r0(e,t){if(e.limit!==t.limit||e.orderBy.length!==t.orderBy.length)return!1;for(let i=0;i<e.orderBy.length;i++){var r,n;if(r=e.orderBy[i],n=t.orderBy[i],!(r.dir===n.dir&&r.field.isEqual(n.field)))return!1}if(e.filters.length!==t.filters.length)return!1;for(let r=0;r<e.filters.length;r++)if(!function e(t,r){return t instanceof rM?r instanceof rM&&t.op===r.op&&t.field.isEqual(r.field)&&rc(t.value,r.value):t instanceof rV?r instanceof rV&&t.op===r.op&&t.filters.length===r.filters.length&&t.filters.reduce((t,n,i)=>t&&e(n,r.filters[i]),!0):void P(19439)}(e.filters[r],t.filters[r]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!rO(e.startAt,t.startAt)&&rO(e.endAt,t.endAt)}function r1(e){return ei.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}function r2(e,t){return e.filters.filter(e=>e instanceof rM&&e.field.isEqual(t))}function r6(e,t,r){let n=ru,i=!0;for(let r of r2(e,t)){let e=ru,t=!0;switch(r.op){case"<":case"<=":var s;
1e="nullValue"in(s=r.value)?ru:"booleanValue"in s?{booleanValue:!1}:"integerValue"in s||"doubleValue"in s?{doubleValue:NaN}:"timestampValue"in s?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"stringValue"in s?{stringValue:""}:"bytesValue"in s?{bytesValue:""}:"referenceValue"in s?ry(rr.empty(),ei.empty()):"geoPointValue"in s?{geoPointValue:{latitude:-90,longitude:-180}}:"arrayValue"in s?{arrayValue:{}}:"mapValue"in s?rE(s)?rC:{mapValue:{}}:P(35942,{value:s});break;case"==":case"in":case">=":e=r.value;break;case">":e=r.value,t=!1;break;case"!=":case"not-in":e=ru}0>rA({value:n,inclusive:i},{value:e,inclusive:t})&&(n=e,i=t)}if(null!==r){for(let s=0;s<e.orderBy.length;++s)if(e.orderBy[s].field.isEqual(t)){let e=r.position[s];0>rA({value:n,inclusive:i},{value:e,inclusive:r.inclusive})&&(n=e,i=r.inclusive);break}}return{value:n,inclusive:i}}function r3(e,t,r){let n=ra,i=!0;for(let r of r2(e,t)){let e=ra,t=!0;switch(r.op){case">=":case">":var s;e="nullValue"in(s=r.value)?{booleanValue:!1}:"booleanValue"in s?{doubleValue:NaN}:"integerValue"in s||"doubleValue"in s?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"timestampValue"in s?{stringValue:""}:"stringValue"in s?{bytesValue:""}:"bytesValue"in s?ry(rr.empty(),ei.empty()):"referenceValue"in s?{geoPointValue:{latitude:-90,longitude:-180}}:"geoPointValue"in s?{arrayValue:{}}:"arrayValue"in s?rC:"mapValue"in s?rE(s)?{mapValue:{}}:ra:P(61959,{value:s}),t=!1;break;case"==":case"in":case"<=":e=r.value;break;case"<":e=r.value,t=!1;break;case"!=":case"not-in":e=ra}rk({value:n,inclusive:i},{value:e,inclusive:t})>0&&(n=e,i=t)}if(null!==r){for(let s=0;s<e.orderBy.length;++s)if(e.orderBy[s].field.isEqual(t)){let e=r.position[s];rk({value:n,inclusive:i},{value:e,inclusive:r.inclusive})>0&&(n=e,i=r.inclusive);break}}return{value:n,inclusive:i}}class r5{constructor(e,t=null,r=[],n=[],i=null,s="F",a=null,o=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=n,this.limit=i,this.limitType=s,this.startAt=a,this.endAt=o,this.Ie=null,this.Ee=null,this.Re=null,this.startAt,this.endAt}}function r8(e){return new r5(e)}function r4(e){return 0===e.filters.length&&null===e.limit&&null==e.startAt&&null==e.endAt&&(0===e.explicitOrderBy.length||1===e.explicitOrderBy.length&&e.explicitOrderBy[0].field.isKeyField())}function r7(e){return null!==e.collectionGroup}function r9(e){if(null===e.Ie){let t;e.Ie=[];let r=new Set;for(let t of e.explicitOrderBy)e.Ie.push(t),r.add(t.field.canonicalString());let n=e.explicitOrderBy.length>0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";(t=new tH(en.comparator),e.filters.forEach(e=>{e.getFlattenedFilters().forEach(e=>{e.isInequality()&&(t=t.add(e.field))})}),t).forEach(t=>{r.has(t.canonicalString())||t.isKeyField()||e.Ie.push(new rP(t,n))}),r.has(en.keyField().canonicalString())||e.Ie.push(new rP(en.keyField(),n))}return e.Ie}function ne(e){return e.Ee||(e.Ee=nt(e,r9(e))),e.Ee}function nt(e,t){if("F"===e.limitType)return rX(e.path,e.collectionGroup,t,e.filters,e.limit,e.startAt,e.endAt);{t=t.map(e=>{let t="desc"===e.dir?"asc":"desc";return new rP(e.field,t)});let r=e.endAt?new rN(e.endAt.position,e.endAt.inclusive):null,n=e.startAt?new rN(e.startAt.position,e.startAt.inclusive):null;return rX(e.path,e.collectionGroup,t,e.filters,e.limit,r,n)}}function nr(e,t){let r=e.filters.concat([t]);return new r5(e.path,e.collectionGroup,e.explicitOrderBy.slice(),r,e.limit,e.limitType,e.startAt,e.endAt)}function nn(e,t,r){return new r5(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,r,e.startAt,e.endAt)}function ni(e,t){return r0(ne(e),ne(t))&&e.limitType===t.limitType}function ns(e){return`${rZ(ne(e))}|lt:${e.limitType}`}function na(e){var t;let r;return`Query(target=${r=(t=ne(e)).path.canonicalString(),null!==t.collectionGroup&&(r+=" collectionGroup="+t.collectionGroup),t.filters.length>0&&(r+=`, filters: [${t.filters.map(e=>(function e(t){return t instanceof rM?`${t.field.canonicalString()} ${t.op} ${rm(t.value)}`:t instanceof rV?t.op.toString()+" {"+t.getFilters().map(e).join(" ,")+"}":"Filter"})(e)).join(", ")}]`),e$(t.limit)||(r+=", limit: "+t.limit),t.orderBy.length>0&&(r+=`, orderBy: [${t.orderBy.map(e=>`${e.field.canonicalString()} (${e.dir})`).join(", ")}]`),t.startAt&&(r+=", startAt: ",r+=t.startAt.inclusive?"b:":"a:",r+=t.startAt.position.map(e=>rm(e)).join(",")),t.endAt&&(r+=", endAt: ",r+=t.endAt.inclusive?"a:":"b:",r+=t.endAt.position.map(e=>rm(e)).join(",")),`Target(${r})`}; limitType=${e.limitType})`}function no(e,t){var r,n,i,s;let a,o,l;
1return t.isFoundDocument()&&(a=t.key.path,null!==e.collectionGroup?t.key.hasCollectionId(e.collectionGroup)&&e.path.isPrefixOf(a):ei.isDocumentKey(e.path)?e.path.isEqual(a):e.path.isImmediateParentOf(a))&&function(e,t){for(let r of r9(e))if(!r.field.isKeyField()&&null===t.data.field(r.field))return!1;return!0}(e,t)&&function(e,t){for(let r of e.filters)if(!r.matches(t))return!1;return!0}(e,t)&&(r=e,n=t,(!r.startAt||(i=r.startAt,o=rR(i,r9(r),n),i.inclusive?!!(o<=0):!!(o<0)))&&(!r.endAt||(s=r.endAt,l=rR(s,r9(r),n),s.inclusive?!!(l>=0):!!(l>0))))}function nl(e){return e.collectionGroup||(e.path.length%2==1?e.path.lastSegment():e.path.get(e.path.length-2))}function nu(e){return(t,r)=>{let n=!1;for(let i of r9(e)){let e=function(e,t,r){var n;let i,s,a=e.field.isKeyField()?ei.comparator(t.key,r.key):(n=e.field,i=t.data.field(n),s=r.data.field(n),null!==i&&null!==s?rf(i,s):P(42886));switch(e.dir){case"asc":return a;case"desc":return -1*a;default:return P(19790,{direction:e.dir})}}(i,t,r);if(0!==e)return e;n=n||i.field.isKeyField()}return 0}}class nh{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(e){let t=this.mapKeyFn(e),r=this.inner[t];if(void 0!==r){for(let[t,n]of r)if(this.equalsFn(t,e))return n}}has(e){return void 0!==this.get(e)}set(e,t){let r=this.mapKeyFn(e),n=this.inner[r];if(void 0===n)return this.inner[r]=[[e,t]],void this.innerSize++;for(let r=0;r<n.length;r++)if(this.equalsFn(n[r][0],e))return void(n[r]=[e,t]);n.push([e,t]),this.innerSize++}delete(e){let t=this.mapKeyFn(e),r=this.inner[t];if(void 0===r)return!1;for(let n=0;n<r.length;n++)if(this.equalsFn(r[n][0],e))return 1===r.length?delete this.inner[t]:r.splice(n,1),this.innerSize--,!0;return!1}forEach(e){tq(this.inner,(t,r)=>{for(let[t,n]of r)e(t,n)})}isEmpty(){return tz(this.inner)}size(){return this.innerSize}}let nc=new t$(ei.comparator),nd=new t$(ei.comparator);function nf(...e){let t=nd;for(let r of e)t=t.insert(r.key,r);return t}function np(e){let t=nd;return e.forEach((e,r)=>t=t.insert(e,r.overlayedDocument)),t}function ng(){return new nh(e=>e.toString(),(e,t)=>e.isEqual(t))}let nm=new t$(ei.comparator),ny=new tH(ei.comparator);function nv(...e){let t=ny;for(let r of e)t=t.add(r);return t}let nw=new tH(Q);function nb(e,t){if(e.useProto3Json){if(isNaN(t))return{doubleValue:"NaN"};if(t===1/0)return{doubleValue:"Infinity"};if(t===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:eK(t)?"-0":t}}function nI(e){return{integerValue:""+e}}class n_{constructor(){this._=void 0}}function nE(e,t){return e instanceof nx?rv(t)||t&&"doubleValue"in t?t:{integerValue:0}:null}class nT extends n_{}class nS extends n_{constructor(e){super(),this.elements=e}}function nC(e,t){let r=nN(t);for(let t of e.elements)r.some(e=>rc(e,t))||r.push(t);return{arrayValue:{values:r}}}class nA extends n_{constructor(e){super(),this.elements=e}}function nk(e,t){let r=nN(t);for(let t of e.elements)r=r.filter(e=>!rc(e,t));return{arrayValue:{values:r}}}class nx extends n_{constructor(e,t){super(),this.serializer=e,this.Ae=t}}function nD(e){return t1(e.integerValue||e.doubleValue)}function nN(e){return rw(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}class nR{constructor(e,t){this.field=e,this.transform=t}}class nO{constructor(e,t){this.version=e,this.transformResults=t}}class nP{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new nP}static exists(e){return new nP(void 0,e)}static updateTime(e){return new nP(e)}get isNone(){return void 0===this.updateTime&&void 0===this.exists}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function nL(e,t){return void 0!==e.updateTime?t.isFoundDocument()&&t.version.isEqual(e.updateTime):void 0===e.exists||e.exists===t.isFoundDocument()}class nM{}function nV(e,t){if(!e.hasLocalMutations||t&&0===t.fields.length)return null;if(null===t)return e.isNoDocument()?new nK(e.key,nP.none()):new nB(e.key,e.data,nP.none());{let r=e.data,n=rx.empty(),i=new tH(en.comparator);for(let e of t.fields)if(!i.has(e)){let t=r.field(e);null===t&&e.length>1&&(e=e.popLast(),t=r.field(e)),null===t?n.delete(e):n.set(e,t),i=i.add(e)}return new nj(e.key,n,new tJ(i.toArray()),nP.none())}}function nF(e,t,r,n){return e instanceof nB?function(e,t,r,n){if(!nL(e.precondition,t))return r;let i=e.value.clone(),s=n$(e.fieldTransforms,n,t);return i.setAll(s),t.convertToFoundDocument(t.version,i).setHasLocalMutations(),null}(e,t,r,n):e instanceof nj?function(e,t,r,n){if(!nL(e.precondition,t))return r;let i=n$(e.fieldTransforms,n,t),s=t.data;return(s.setAll(nq(e)),s.setAll(i),t.convertToFoundDocument(t.version,s).setHasLocalMutations(),null===r)?null:r.unionWith(e.fieldMask.fields).unionWith(e.fieldTransforms.map(e=>e.field))}(e,t,r,n):nL(e.precondition,t)?(t.convertToNoDocument(t.version).setHasLocalMutations(),null):r}function nU(e,t){var r,n;return e.type===t.type&&!!e.key.isEqual(t.key)&&!!e.precondition.isEqual(t.precondition)&&(r=e.fieldTransforms,n=t.fieldTransforms,!!(void 0===r&&void 0===n||!(!r||!n)&&X(r,n,(e,t)=>{var r,n;return e.field.isEqual(t.field)&&(r=e.transform,n=t.transform,r instanceof nS&&n instanceof nS||r instanceof nA&&n instanceof nA?X(r.elements,n.elements,rc):r instanceof nx&&n instanceof nx?rc(r.Ae,n.Ae):r instanceof nT&&n instanceof nT)})))&&(0===e.type?e.value.isEqual(t.value):1!==e.type||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask))}class nB extends nM{constructor(e,t,r,n=[]){super(),this.key=e,this.value=t,this.prec
1ondition=r,this.fieldTransforms=n,this.type=0}getFieldMask(){return null}}class nj extends nM{constructor(e,t,r,n,i=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=n,this.fieldTransforms=i,this.type=1}getFieldMask(){return this.fieldMask}}function nq(e){let t=new Map;return e.fieldMask.fields.forEach(r=>{if(!r.isEmpty()){let n=e.data.field(r);t.set(r,n)}}),t}function nz(e,t,r){let n=new Map;M(e.length===r.length,32656,{Ve:r.length,de:e.length});for(let s=0;s<r.length;s++){var i;let a=e[s],o=a.transform,l=t.data.field(a.field);n.set(a.field,(i=r[s],o instanceof nS?nC(o,l):o instanceof nA?nk(o,l):i))}return n}function n$(e,t,r){let n=new Map;for(let i of e){let e=i.transform,s=r.data.field(i.field);n.set(i.field,function(e,t,r){var n;let i,s,a;return e instanceof nT?(n=t,i={fields:{[t3]:{stringValue:t6},[t8]:{timestampValue:{seconds:r.seconds,nanos:r.nanoseconds}}}},n&&t4(n)&&(n=t7(n)),n&&(i.fields[t5]=n),{mapValue:i}):e instanceof nS?nC(e,t):e instanceof nA?nk(e,t):(a=nD(s=nE(e,t))+nD(e.Ae),rv(s)&&rv(e.Ae)?nI(a):nb(e.serializer,a))}(e,s,t))}return n}class nK extends nM{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class nG extends nM{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}class nH{constructor(e,t,r,n){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=n}applyToRemoteDocument(e,t){let r=t.mutationResults;for(let t=0;t<this.mutations.length;t++){let n=this.mutations[t];n.key.isEqual(e.key)&&function(e,t,r){let n,i;e instanceof nB?(n=e.value.clone(),i=nz(e.fieldTransforms,t,r.transformResults),n.setAll(i),t.convertToFoundDocument(r.version,n).setHasCommittedMutations()):e instanceof nj?function(e,t,r){if(!nL(e.precondition,t))return t.convertToUnknownDocument(r.version);let n=nz(e.fieldTransforms,t,r.transformResults),i=t.data;i.setAll(nq(e)),i.setAll(n),t.convertToFoundDocument(r.version,i).setHasCommittedMutations()}(e,t,r):t.convertToNoDocument(r.version).setHasCommittedMutations()}(n,e,r[t])}}applyToLocalView(e,t){for(let r of this.baseMutations)r.key.isEqual(e.key)&&(t=nF(r,e,t,this.localWriteTime));for(let r of this.mutations)r.key.isEqual(e.key)&&(t=nF(r,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(e,t){let r=ng();return this.mutations.forEach(n=>{let i=e.get(n.key),s=i.overlayedDocument,a=this.applyToLocalView(s,i.mutatedFields),o=nV(s,a=t.has(n.key)?null:a);null!==o&&r.set(n.key,o),s.isValidDocument()||s.convertToNoDocument(ep.min())}),r}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),nv())}isEqual(e){return this.batchId===e.batchId&&X(this.mutations,e.mutations,(e,t)=>nU(e,t))&&X(this.baseMutations,e.baseMutations,(e,t)=>nU(e,t))}}class nW{constructor(e,t,r,n){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=n}static from(e,t,r){M(e.mutations.length===r.length,58842,{me:e.mutations.length,fe:r.length});let n=nm,i=e.mutations;for(let e=0;e<i.length;e++)n=n.insert(i[e].key,r[e].version);return new nW(e,t,r,n)}}class nQ{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return null!==e&&this.mutation===e.mutation}toString(){return`Overlay{ 2 largestBatchId: ${this.largestBatchId}, 3 mutation: ${this.mutation.toString()} 4 }`}}class nJ{constructor(e,t){this.count=e,this.unchangedNames=t}}function nY(e){switch(e){case V.OK:return P(64938);case V.CANCELLED:case V.UNKNOWN:case V.DEADLINE_EXCEEDED:case V.RESOURCE_EXHAUSTED:case V.INTERNAL:case V.UNAVAILABLE:case V.UNAUTHENTICATED:return!1;case V.INVALID_ARGUMENT:case V.NOT_FOUND:case V.ALREADY_EXISTS:case V.PERMISSION_DENIED:case V.FAILED_PRECONDITION:case V.ABORTED:case V.OUT_OF_RANGE:case V.UNIMPLEMENTED:case V.DATA_LOSS:return!0;default:return P(15467,{code:e})}}function nX(e){if(void 0===e)return N("GRPC error has no .code"),V.UNKNOWN;switch(e){case c.OK:return V.OK;case c.CANCELLED:return V.CANCELLED;case c.UNKNOWN:return V.UNKNOWN;case c.DEADLINE_EXCEEDED:return V.DEADLINE_EXCEEDED;case c.RESOURCE_EXHAUSTED:return V.RESOURCE_EXHAUSTED;case c.INTERNAL:return V.INTERNAL;case c.UNAVAILABLE:return V.UNAVAILABLE;case c.UNAUTHENTICATED:return V.UNAUTHENTICATED;case c.INVALID_ARGUMENT:return V.INVALID_ARGUMENT;case c.NOT_FOUND:return V.NOT_FOUND;case c.ALREADY_EXISTS:return V.ALREADY_EXISTS;case c.PERMISSION_DENIED:return V.PERMISSION_DENIED;case c.FAILED_PRECONDITION:return V.FAILED_PRECONDITION;case c.ABORTED:return V.ABORTED;case c.OUT_OF_RANGE:return V.OUT_OF_RANGE;
4case c.UNIMPLEMENTED:return V.UNIMPLEMENTED;case c.DATA_LOSS:return V.DATA_LOSS;default:return P(39323,{code:e})}}(d=c||(c={}))[d.OK=0]="OK",d[d.CANCELLED=1]="CANCELLED",d[d.UNKNOWN=2]="UNKNOWN",d[d.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",d[d.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",d[d.NOT_FOUND=5]="NOT_FOUND",d[d.ALREADY_EXISTS=6]="ALREADY_EXISTS",d[d.PERMISSION_DENIED=7]="PERMISSION_DENIED",d[d.UNAUTHENTICATED=16]="UNAUTHENTICATED",d[d.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",d[d.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",d[d.ABORTED=10]="ABORTED",d[d.OUT_OF_RANGE=11]="OUT_OF_RANGE",d[d.UNIMPLEMENTED=12]="UNIMPLEMENTED",d[d.INTERNAL=13]="INTERNAL",d[d.UNAVAILABLE=14]="UNAVAILABLE",d[d.DATA_LOSS=15]="DATA_LOSS";let nZ=null;function n0(){return new TextEncoder}let n1=new t([0xffffffff,0xffffffff],0);function n2(e){let t=n0().encode(e),n=new r;return n.update(t),new Uint8Array(n.digest())}function n6(e){let r=new DataView(e.buffer),n=r.getUint32(0,!0),i=r.getUint32(4,!0),s=r.getUint32(8,!0),a=r.getUint32(12,!0);return[new t([n,i],0),new t([s,a],0)]}class n3{constructor(e,r,n){if(this.bitmap=e,this.padding=r,this.hashCount=n,r<0||r>=8)throw new n5(`Invalid padding: ${r}`);if(n<0||e.length>0&&0===this.hashCount)throw new n5(`Invalid hash count: ${n}`);if(0===e.length&&0!==r)throw new n5(`Invalid padding when bitmap length is 0: ${r}`);this.ge=8*e.length-r,this.pe=t.fromNumber(this.ge)}ye(e,r,n){let i=e.add(r.multiply(t.fromNumber(n)));return 1===i.compare(n1)&&(i=new t([i.getBits(0),i.getBits(1)],0)),i.modulo(this.pe).toNumber()}we(e){return!!(this.bitmap[Math.floor(e/8)]&1<<e%8)}mightContain(e){if(0===this.ge)return!1;let[t,r]=n6(n2(e));for(let e=0;e<this.hashCount;e++){let n=this.ye(t,r,e);if(!this.we(n))return!1}return!0}static create(e,t,r){let n=new n3(new Uint8Array(Math.ceil(e/8)),e%8==0?0:8-e%8,t);return r.forEach(e=>n.insert(e)),n}insert(e){if(0===this.ge)return;let[t,r]=n6(n2(e));for(let e=0;e<this.hashCount;e++){let n=this.ye(t,r,e);this.Se(n)}}Se(e){let t=Math.floor(e/8);this.bitmap[t]|=1<<e%8}}class n5 extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}class n8{constructor(e,t,r,n,i){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=r,this.documentUpdates=n,this.resolvedLimboDocuments=i}static createSynthesizedRemoteEventForCurrentChange(e,t,r){let n=new Map;return n.set(e,n4.createSynthesizedTargetChangeForCurrentChange(e,t,r)),new n8(ep.min(),n,new t$(Q),nc,nv())}}class n4{constructor(e,t,r,n,i){this.resumeToken=e,this.current=t,this.addedDocuments=r,this.modifiedDocuments=n,this.removedDocuments=i}static createSynthesizedTargetChangeForCurrentChange(e,t,r){return new n4(r,t,nv(),nv(),nv())}}class n7{constructor(e,t,r,n){this.be=e,this.removedTargetIds=t,this.key=r,this.De=n}}class n9{constructor(e,t){this.targetId=e,this.Ce=t}}class ie{constructor(e,t,r=tX.EMPTY_BYTE_STRING,n=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=n}}class it{constructor(){this.ve=0,this.Fe=is(),this.Me=tX.EMPTY_BYTE_STRING,this.xe=!1,this.Oe=!0}get current(){return this.xe}get resumeToken(){return this.Me}get Ne(){return 0!==this.ve}get Be(){return this.Oe}Le(e){e.approximateByteSize()>0&&(this.Oe=!0,this.Me=e)}ke(){let e=nv(),t=nv(),r=nv();return this.Fe.forEach((n,i)=>{switch(i){case 0:e=e.add(n);break;case 2:t=t.add(n);break;case 1:r=r.add(n);break;default:P(38017,{changeType:i})}}),new n4(this.Me,this.xe,e,t,r)}Ke(){this.Oe=!1,this.Fe=is()}qe(e,t){this.Oe=!0,this.Fe=this.Fe.insert(e,t)}Ue(e){this.Oe=!0,this.Fe=this.Fe.remove(e)}$e(){this.ve+=1}We(){this.ve-=1,M(this.ve>=0,3241,{ve:this.ve})}Qe(){this.Oe=!0,this.xe=!0}}class ir{constructor(e){this.Ge=e,this.ze=new Map,this.je=nc,this.Je=ii(),this.He=ii(),this.Ze=new t$(Q)}Xe(e){for(let t of e.be)e.De&&e.De.isFoundDocument()?this.Ye(t,e.De):this.et(t,e.key,e.De);for(let t of e.removedTargetIds)this.et(t,e.key,e.De)}tt(e){this.forEachTarget(e,t=>{let r=this.nt(t);switch(e.state){case 0:this.rt(t)&&r.Le(e.resumeToken);break;case 1:r.We(),r.Ne||r.Ke(),r.Le(e.resumeToken);break;case 2:r.We(),r.Ne||this.removeTarget(t);break;case 3:this.rt(t)&&(r.Qe(),r.Le(e.resumeToken));break;case 4:this.rt(t)&&(this.it(t),r.Le(e.resumeToken));break;default:P(56790,{state:e.state})}})}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.ze.forEach((e,r)=>{this.rt(r)&&t(r)})}st(e){let t=e.targetId,r=e.Ce.count,n=this.ot(t);if(n){let a=n.target;if(r1(a))if(0===r){let e=new ei(a.path);this.et(t,e,rD.newNoDocument(e,ep.min()))}else M(1===r,20013,{expectedCount:r});else{let n=this._t(t);if(n!==r){var i,s;let r,a,o=this.ut(e),l=o?this.ct(o,e,n):1;0!==l&&(this.it(t),this.Ze=this.Ze.insert(t,2===l?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch")),nZ?.o((i=e.Ce,s=this.Ge.ht(),r={localCacheCount:n,existenceFilterCount:i.count,databaseId:s.database,projectId:s.projectId},(a=i.unchangedNames)&&(r.bloomFilter={applied:0===l,hashCount:a?.hashCount??0,bitmapLength:a?.bits?.bitmap?.length??0,padding:a?.bits?.padding??0,mightContain:e=>o?.mightContain(e)??!1}),r))}}}}ut(e){let t,r,n=e.Ce.unchangedNames;if(!n||!n.bits)return null;let{bits:{bitmap:i="",padding:s=0},hashCount:a=0}=n;try{t=t2(i).toUint8Array()}catch(e){if(e instanceof tY)return R("Decoding the base64 bloom filter in existence filter failed ("+e.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw e}try{r=new n3(t,s,a)}catch(e){return R(e instanceof n5?"BloomFilter error: ":"Applying bloom filter failed: ",e),null}return 0===r.ge?null:r}ct(e,t,r){return 2*(t.Ce.count!==r-this.Pt(e,t.targetId))}Pt(e,t){let r=this.Ge.getRemoteKeysForTarget(t),n=0;return r.forEach(r=>{let i=this.Ge.ht(),s=`projects/${i.projectId}/databases/${i.database}/documents/${r.path.canonicalString()}`;e.mightContain(s)||(this.et(t,r,null),n++)}),n}Tt(e){let t=new Map;this.ze.forEach((r,n)=>{let i=this.ot(n);if(i){if(r.current&&r1(i.target)){let t=new ei(i.target.path);this.It(t).has(n)||this.Et(n,t)||this.et(n,t,rD.newNoDocument(t,e))}r.Be&&(t.set(n,r.ke()),r.Ke())}});let r=nv();this.He.forEach((e,t)=>{let n=!0;t.forEachWhile(e=>{let t=this.ot(e);return!t||"TargetPurposeLimboResolution"===t.purpose||(n=!1,!1)}),n&&(r=r.add(e))}),this.je.forEach((t,r)=>r.setReadTime(e));let n=new n8(e,t,this.Ze,this.je,r);return this.je=nc,this.Je=ii(),this.He=ii(),this.Ze=new t$(Q),n}Ye(e,t){if(!this.rt(e))return;
4let r=2*!!this.Et(e,t.key);this.nt(e).qe(t.key,r),this.je=this.je.insert(t.key,t),this.Je=this.Je.insert(t.key,this.It(t.key).add(e)),this.He=this.He.insert(t.key,this.Rt(t.key).add(e))}et(e,t,r){if(!this.rt(e))return;let n=this.nt(e);this.Et(e,t)?n.qe(t,1):n.Ue(t),this.He=this.He.insert(t,this.Rt(t).delete(e)),this.He=this.He.insert(t,this.Rt(t).add(e)),r&&(this.je=this.je.insert(t,r))}removeTarget(e){this.ze.delete(e)}_t(e){let t=this.nt(e).ke();return this.Ge.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size}$e(e){this.nt(e).$e()}nt(e){let t=this.ze.get(e);return t||(t=new it,this.ze.set(e,t)),t}Rt(e){let t=this.He.get(e);return t||(t=new tH(Q),this.He=this.He.insert(e,t)),t}It(e){let t=this.Je.get(e);return t||(t=new tH(Q),this.Je=this.Je.insert(e,t)),t}rt(e){let t=null!==this.ot(e);return t||D("WatchChangeAggregator","Detected inactive target",e),t}ot(e){let t=this.ze.get(e);return t&&t.Ne?null:this.Ge.At(e)}it(e){this.ze.set(e,new it),this.Ge.getRemoteKeysForTarget(e).forEach(t=>{this.et(e,t,null)})}Et(e,t){return this.Ge.getRemoteKeysForTarget(e).has(t)}}function ii(){return new t$(ei.comparator)}function is(){return new t$(ei.comparator)}let ia={asc:"ASCENDING",desc:"DESCENDING"},io={"<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","==":"EQUAL","!=":"NOT_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},il={and:"AND",or:"OR"};class iu{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function ih(e,t){return e.useProto3Json||e$(t)?t:{value:t}}function ic(e,t){return e.useProto3Json?`${new Date(1e3*t.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+t.nanoseconds).slice(-9)}Z`:{seconds:""+t.seconds,nanos:t.nanoseconds}}function id(e,t){return e.useProto3Json?t.toBase64():t.toUint8Array()}function ip(e){let t;return M(!!e,49232),ep.fromTimestamp(new ef((t=t0(e)).seconds,t.nanos))}function ig(e,t){return im(e,t).canonicalString()}function im(e,t){let r=new et(["projects",e.projectId,"databases",e.database]).child("documents");return void 0===t?r:r.child(t)}function iy(e){let t=et.fromString(e);return M(iO(t),10190,{key:t.toString()}),t}function iv(e,t){return ig(e.databaseId,t.path)}function iw(e,t){let r=iy(t);if(r.get(1)!==e.databaseId.projectId)throw new F(V.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+r.get(1)+" vs "+e.databaseId.projectId);if(r.get(3)!==e.databaseId.database)throw new F(V.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+r.get(3)+" vs "+e.databaseId.database);return new ei(iE(r))}function ib(e,t){return ig(e.databaseId,t)}function iI(e){let t=iy(e);return 4===t.length?et.emptyPath():iE(t)}function i_(e){return new et(["projects",e.databaseId.projectId,"databases",e.databaseId.database]).canonicalString()}function iE(e){return M(e.length>4&&"documents"===e.get(4),29091,{key:e.toString()}),e.popFirst(5)}function iT(e,t,r){return{name:iv(e,t),fields:r.value.mapValue.fields}}function iS(e,t,r){let n=iw(e,t.name),i=ip(t.updateTime),s=t.createTime?ip(t.createTime):ep.min(),a=new rx({mapValue:{fields:t.fields}}),o=rD.newFoundDocument(n,i,s,a);return r&&o.setHasCommittedMutations(),r?o.setHasCommittedMutations():o}function iC(e,t){var r,n;let i;if(t instanceof nB)i={update:iT(e,t.key,t.value)};else if(t instanceof nK)i={delete:iv(e,t.key)};else if(t instanceof nj){let r;i={update:iT(e,t.key,t.data),updateMask:(n=t.fieldMask,r=[],n.fields.forEach(e=>r.push(e.canonicalString())),{fieldPaths:r})}}else{if(!(t instanceof nG))return P(16599,{dt:t.type});i={verify:iv(e,t.key)}}return t.fieldTransforms.length>0&&(i.updateTransforms=t.fieldTransforms.map(e=>(function(e){let t=e.transform;if(t instanceof nT)return{fieldPath:e.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(t instanceof nS)return{fieldPath:e.field.canonicalString(),appendMissingElements:{values:t.elements}};if(t instanceof nA)return{fieldPath:e.field.canonicalString(),removeAllFromArray:{values:t.elements}};if(t instanceof nx)return{fieldPath:e.field.canonicalString(),increment:t.Ae};throw P(20930,{transform:e.transform})})(e))),t.precondition.isNone||(i.currentDocument=void 0!==(r=t.precondition).updateTime?{updateTime:ic(e,r.updateTime.toTimestamp())}:void 0!==r.exists?{exists:r.exists}:P(27497)),i}function iA(e,t){var r;let n=t.currentDocument?void 0!==(r=t.currentDocument).updateTime?nP.updateTime(ip(r.updateTime)):void 0!==r.exists?nP.exists(r.exists):nP.none():nP.none(),i=t.updateTransforms?t.updateTransforms.map(t=>{let r;return r=null,"setToServerValue"in t?(M("REQUEST_TIME"===t.setToServerValue,16630,{proto:t}),r=new nT):"appendMissingElements"in t?r=new nS(t.appendMissingElements.values||[]):"removeAllFromArray"in t?r=new nA(t.removeAllFromArray.values||[]):"increment"in t?r=new nx(e,t.increment):P(16584,{proto:t}),new nR(en.fromServerFormat(t.fieldPath),r)}):[];if(t.update){t.update.name;let r=iw(e,t.update.name),s=new rx({mapValue:{fields:t.update.fields}});return t.updateMask?new nj(r,s,new tJ((t.updateMask.fieldPaths||[]).map(e=>en.fromServerFormat(e))),n,i):new nB(r,s,n,i)}return t.delete?new nK(iw(e,t.delete),n):t.verify?new nG(iw(e,t.verify),n):P(1463,{proto:t})}function ik(e,t){return{documents:[ib(e,t.path)]}}function ix(e,t){var r,n;let i,s={structuredQuery:{}},a=t.path;null!==t.collectionGroup?(i=a,s.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(i=a.popLast(),s.structuredQuery.from=[{collectionId:a.lastSegment()}]),s.parent=ib(e,i);let o=function(e){if(0!==e.length)return function e(t){var r;let n;return t instanceof rM?function(e){if("=="===e.op){if(rI(e.value))return{unaryFilter:{field:iN(e.field),op:"IS_NAN"}};if(rb(e.value))return{unaryFilter:{field:iN(e.field),op:"IS_NULL"}}}else if("!="===e.op){if(rI(e.value))return{unaryFilter:{field:iN(e.field),op:"IS_NOT_NA
4N"}};if(rb(e.value))return{unaryFilter:{field:iN(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:iN(e.field),op:io[e.op],value:e.value}}}(t):t instanceof rV?1===(n=(r=t).getFilters().map(t=>e(t))).length?n[0]:{compositeFilter:{op:il[r.op],filters:n}}:P(54877,{filter:t})}(rV.create(e,"and"))}(t.filters);o&&(s.structuredQuery.where=o);let l=function(e){if(0!==e.length)return e.map(e=>({field:iN(e.field),direction:ia[e.dir]}))}(t.orderBy);l&&(s.structuredQuery.orderBy=l);let u=ih(e,t.limit);return null!==u&&(s.structuredQuery.limit=u),t.startAt&&(s.structuredQuery.startAt={before:(r=t.startAt).inclusive,values:r.position}),t.endAt&&(s.structuredQuery.endAt={before:!(n=t.endAt).inclusive,values:n.position}),{ft:s,parent:i}}function iD(e){var t,r,n;let i,s,a,o,l=iI(e.parent),u=e.structuredQuery,h=u.from?u.from.length:0,c=null;if(h>0){M(1===h,65062);let e=u.from[0];e.allDescendants?c=e.collectionId:l=l.child(e.collectionId)}let d=[];u.where&&(d=(i=function e(t){return void 0!==t.unaryFilter?function(e){switch(e.unaryFilter.op){case"IS_NAN":let t=iR(e.unaryFilter.field);return rM.create(t,"==",{doubleValue:NaN});case"IS_NULL":let r=iR(e.unaryFilter.field);return rM.create(r,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":let n=iR(e.unaryFilter.field);return rM.create(n,"!=",{doubleValue:NaN});case"IS_NOT_NULL":let i=iR(e.unaryFilter.field);return rM.create(i,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":return P(61313);default:return P(60726)}}(t):void 0!==t.fieldFilter?rM.create(iR(t.fieldFilter.field),function(e){switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";case"OPERATOR_UNSPECIFIED":return P(58110);default:return P(50506)}}(t.fieldFilter.op),t.fieldFilter.value):void 0!==t.compositeFilter?rV.create(t.compositeFilter.filters.map(t=>e(t)),function(e){switch(e){case"AND":return"and";case"OR":return"or";default:return P(1026)}}(t.compositeFilter.op)):P(30097,{filter:t})}(u.where))instanceof rV&&rB(i)?i.getFilters():[i]);let f=[];u.orderBy&&(f=u.orderBy.map(e=>new rP(iR(e.field),function(e){switch(e){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(e.direction))));let p=null;u.limit&&(p=e$(s="object"==typeof(t=u.limit)?t.value:t)?null:s);let g=null;u.startAt&&(a=!!(r=u.startAt).before,g=new rN(r.values||[],a));let m=null;return u.endAt&&(o=!(n=u.endAt).before,m=new rN(n.values||[],o)),new r5(l,c,f,d,p,"F",g,m)}function iN(e){return{fieldPath:e.canonicalString()}}function iR(e){return en.fromServerFormat(e.fieldPath)}function iO(e){return e.length>=4&&"projects"===e.get(0)&&"databases"===e.get(2)}function iP(e){return!!e&&"function"==typeof e._toProto&&"ProtoValue"===e._protoValueType}class iL{constructor(e,t,r,n,i=ep.min(),s=ep.min(),a=tX.EMPTY_BYTE_STRING,o=null){this.target=e,this.targetId=t,this.purpose=r,this.sequenceNumber=n,this.snapshotVersion=i,this.lastLimboFreeSnapshotVersion=s,this.resumeToken=a,this.expectedCount=o}withSequenceNumber(e){return new iL(this.target,this.targetId,this.purpose,e,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,this.expectedCount)}withResumeToken(e,t){return new iL(this.target,this.targetId,this.purpose,this.sequenceNumber,t,this.lastLimboFreeSnapshotVersion,e,null)}withExpectedCount(e){return new iL(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,e)}withLastLimboFreeSnapshotVersion(e){return new iL(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,e,this.resumeToken,this.expectedCount)}}class iM{constructor(e){this.yt=e}}function iV(e,t){let r=t.key,n={prefixPath:r.getCollectionPath().popLast().toArray(),collectionGroup:r.collectionGroup,documentId:r.path.lastSegment(),readTime:iF(t.readTime),hasCommittedMutations:t.hasCommittedMutations};if(t.isFoundDocument()){var i;n.document={name:iv(i=e.yt,t.key),fields:t.data.value.mapValue.fields,updateTime:ic(i,t.version.toTimestamp()),createTime:ic(i,t.createTime.toTimestamp())}}else if(t.isNoDocument())n.noDocument={path:r.path.toArray(),readTime:iU(t.ver
4sion)};else{if(!t.isUnknownDocument())return P(57904,{document:t});n.unknownDocument={path:r.path.toArray(),version:iU(t.version)}}return n}function iF(e){let t=e.toTimestamp();return[t.seconds,t.nanoseconds]}function iU(e){let t=e.toTimestamp();return{seconds:t.seconds,nanoseconds:t.nanoseconds}}function iB(e){let t=new ef(e.seconds,e.nanoseconds);return ep.fromTimestamp(t)}function ij(e,t){let r=(t.baseMutations||[]).map(t=>iA(e.yt,t));for(let e=0;e<t.mutations.length-1;++e){let r=t.mutations[e];e+1<t.mutations.length&&void 0!==t.mutations[e+1].transform&&(r.updateTransforms=t.mutations[e+1].transform.fieldTransforms,t.mutations.splice(e+1,1),++e)}let n=t.mutations.map(t=>iA(e.yt,t)),i=ef.fromMillis(t.localWriteTimeMs);return new nH(t.batchId,i,r,n)}function iq(e){var t;let r,n=iB(e.readTime),i=void 0!==e.lastLimboFreeSnapshotVersion?iB(e.lastLimboFreeSnapshotVersion):ep.min();return new iL(void 0!==e.query.documents?(M(1===(r=(t=e.query).documents.length),1966,{count:r}),ne(r8(iI(t.documents[0])))):ne(iD(e.query)),e.targetId,"TargetPurposeListen",e.lastListenSequenceNumber,n,i,tX.fromBase64String(e.resumeToken))}function iz(e,t){let r,n=iU(t.snapshotVersion),i=iU(t.lastLimboFreeSnapshotVersion);r=r1(t.target)?ik(e.yt,t.target):ix(e.yt,t.target).ft;let s=t.resumeToken.toBase64();return{targetId:t.targetId,canonicalId:rZ(t.target),readTime:n,resumeToken:s,lastListenSequenceNumber:t.sequenceNumber,lastLimboFreeSnapshotVersion:i,query:r}}function i$(e){let t=iD({parent:e.parent,structuredQuery:e.structuredQuery});return"LAST"===e.limitType?nn(t,t.limit,"L"):t}function iK(e,t){return new nQ(t.largestBatchId,iA(e.yt,t.overlayMutation))}function iG(e,t){let r=t.path.lastSegment();return[e,eH(t.path.popLast()),r]}function iH(e,t,r,n){return{indexId:e,uid:t,sequenceNumber:r,readTime:iU(n.readTime),documentKey:eH(n.documentKey.path),largestBatchId:n.largestBatchId}}class iW{getBundleMetadata(e,t){return tB(e,tg).get(t).next(e=>{if(e)return{id:e.bundleId,createTime:iB(e.createTime),version:e.version}})}saveBundleMetadata(e,t){return tB(e,tg).put({bundleId:t.id,createTime:iU(ip(t.createTime)),version:t.version})}getNamedQuery(e,t){return tB(e,tm).get(t).next(e=>{if(e)return{name:e.name,query:i$(e.bundledQuery),readTime:iB(e.readTime)}})}saveNamedQuery(e,t){return tB(e,tm).put({name:t.name,readTime:iU(ip(t.readTime)),bundledQuery:t.bundledQuery})}}class iQ{constructor(e,t){this.serializer=e,this.userId=t}static wt(e,t){return new iQ(e,t.uid||"")}getOverlay(e,t){return tB(e,tA).get(iG(this.userId,t)).next(e=>e?iK(this.serializer,e):null)}getOverlays(e,t){let r=ng();return ek.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}saveOverlays(e,t,r){let n=[];return r.forEach((r,i)=>{let s=new nQ(t,i);n.push(this.St(e,s))}),ek.waitFor(n)}removeOverlaysForBatchId(e,t,r){let n=new Set;t.forEach(e=>n.add(eH(e.getCollectionPath())));let i=[];return n.forEach(t=>{let n=IDBKeyRange.bound([this.userId,t,r],[this.userId,t,r+1],!1,!0);i.push(tB(e,tA).X(tx,n))}),ek.waitFor(i)}getOverlaysForCollection(e,t,r){let n=ng(),i=eH(t),s=IDBKeyRange.bound([this.userId,i,r],[this.userId,i,1/0],!0);return tB(e,tA).J(tx,s).next(e=>{for(let t of e){let e=iK(this.serializer,t);n.set(e.getKey(),e)}return n})}getOverlaysForCollectionGroup(e,t,r,n){let i,s=ng(),a=IDBKeyRange.bound([this.userId,t,r],[this.userId,t,1/0],!0);return tB(e,tA).ee({index:tN,range:a},(e,t,r)=>{let a=iK(this.serializer,t);s.size()<n||a.largestBatchId===i?(s.set(a.getKey(),a),i=a.largestBatchId):r.done()}).next(()=>s)}St(e,t){return tB(e,tA).put(function(e,t,r){let[n,i,s]=iG(t,r.mutation.key);return{userId:t,collectionPath:i,documentId:s,collectionGroup:r.mutation.key.getCollectionGroup(),largestBatchId:r.largestBatchId,overlayMutation:iC(e.yt,r.mutation)}}(this.serializer,this.userId,t))}}class iJ{bt(e){return tB(e,tO)}getSessionToken(e){return this.bt(e).get("sessionToken").next(e=>{let t=e?.value;return t?tX.fromUint8Array(t):tX.EMPTY_BYTE_STRING})}setSessionToken(e,t){return this.bt(e).put({name:"sessionToken",value:t.toUint8Array()})}}class iY{Dt(e,t){this.Ct(e,t),t.vt()}Ct(e,t){if("nullValue"in e)this.Ft(t,5);else if("booleanValue"in e)this.Ft(t,10),t.Mt(+!!e.booleanValue);else if("integerValue"in e)this.Ft(t,15),t.Mt(t1(e.integerValue));else if("doubleValue"in e){let r=t1(e.doubleValue);isNaN(r)?this.Ft(t,13):(this.Ft(t,15),eK(r)?t.Mt(0):t.Mt(r))}else if("timestampValue"in e){let r=e.timestampValue;this.Ft(t,20),"string"==typeof r&&(r=t0(r)),t.xt(`${r.seconds||""}`),t.Mt(r.nanos||0)}else if("stringValue"in e)this.Ot(e.stringValue,t),this.Nt(t);else if("bytesValue"in e)this.Ft(t,30),t.Bt(t2(e.bytesValue)),this.Nt(t);else if("referenceValue"in e)this.Lt(e.referenceValue,t);else if("geoPointValue"in e){let r=e.geoPointValue;this.Ft(t,45),t.Mt(r.latitude||0),t.Mt(r.longitude||0)}else"mapValue"in e?rS(e)?this.Ft(t,Number.MAX_SAFE_INTEGER):rE(e)?this.kt(e.mapValue,t):(this.Kt(e.mapValue,t),this.Nt(t)):"arrayValue"in e?(this.qt(e.arrayValue,t),this.Nt(t)):P(19022,{Ut:e})}Ot(e,t){this.Ft(t,25),this.$t(e,t)}$t(e,t){t.xt(e)}Kt(e,t){let r=e.fields||{};for(let e of(this.Ft(t,55),Object.keys(r)))this.Ot(e,t),this.Ct(r[e],t)}kt(e,t){let r=e.fields||{};this.Ft(t,53);let n=r[rl].arrayValue?.values?.length||0;this.Ft(t,15),t.Mt(t1(n)),this.Ot(rl,t),this.Ct(r[rl],t)}qt(e,t){let r=e.values||[];for(let e of(this.Ft(t,50),r))this.Ct(e,t)}
4Lt(e,t){this.Ft(t,37),ei.fromName(e).path.forEach(e=>{this.Ft(t,60),this.$t(e,t)})}Ft(e,t){e.Mt(t)}Nt(e){e.Mt(2)}}function iX(e){return Math.ceil((64-function(e){let t=0;for(let r=0;r<8;++r){let n=function(e){if(0===e)return 8;let t=0;return e>>4||(t+=4,e<<=4),e>>6||(t+=2,e<<=2),e>>7||(t+=1),t}(255&e[r]);if(t+=n,8!==n)break}return t}(e))/8)}iY.Wt=new iY;class iZ{constructor(){this.buffer=new Uint8Array(1024),this.position=0}Qt(e){let t=e[Symbol.iterator](),r=t.next();for(;!r.done;)this.Gt(r.value),r=t.next();this.zt()}jt(e){let t=e[Symbol.iterator](),r=t.next();for(;!r.done;)this.Jt(r.value),r=t.next();this.Ht()}Zt(e){for(let t of e){let e=t.charCodeAt(0);if(e<128)this.Gt(e);else if(e<2048)this.Gt(960|e>>>6),this.Gt(128|63&e);else if(t<"\uD800"||"\uDBFF"<t)this.Gt(480|e>>>12),this.Gt(128|63&e>>>6),this.Gt(128|63&e);else{let e=t.codePointAt(0);this.Gt(240|e>>>18),this.Gt(128|63&e>>>12),this.Gt(128|63&e>>>6),this.Gt(128|63&e)}}this.zt()}Xt(e){for(let t of e){let e=t.charCodeAt(0);if(e<128)this.Jt(e);else if(e<2048)this.Jt(960|e>>>6),this.Jt(128|63&e);else if(t<"\uD800"||"\uDBFF"<t)this.Jt(480|e>>>12),this.Jt(128|63&e>>>6),this.Jt(128|63&e);else{let e=t.codePointAt(0);this.Jt(240|e>>>18),this.Jt(128|63&e>>>12),this.Jt(128|63&e>>>6),this.Jt(128|63&e)}}this.Ht()}Yt(e){let t=this.en(e),r=iX(t);this.tn(1+r),this.buffer[this.position++]=255&r;for(let e=t.length-r;e<t.length;++e)this.buffer[this.position++]=255&t[e]}nn(e){let t=this.en(e),r=iX(t);this.tn(1+r),this.buffer[this.position++]=~(255&r);for(let e=t.length-r;e<t.length;++e)this.buffer[this.position++]=~(255&t[e])}rn(){this.sn(255),this.sn(255)}_n(){this.an(255),this.an(255)}reset(){this.position=0}seed(e){this.tn(e.length),this.buffer.set(e,this.position),this.position+=e.length}un(){return this.buffer.slice(0,this.position)}en(e){let t,r=((t=new DataView(new ArrayBuffer(8))).setFloat64(0,e,!1),new Uint8Array(t.buffer)),n=!!(128&r[0]);r[0]^=n?255:128;for(let e=1;e<r.length;++e)r[e]^=255*!!n;return r}Gt(e){let t=255&e;0===t?(this.sn(0),this.sn(255)):255===t?(this.sn(255),this.sn(0)):this.sn(t)}Jt(e){let t=255&e;0===t?(this.an(0),this.an(255)):255===t?(this.an(255),this.an(0)):this.an(e)}zt(){this.sn(0),this.sn(1)}Ht(){this.an(0),this.an(1)}sn(e){this.tn(1),this.buffer[this.position++]=e}an(e){this.tn(1),this.buffer[this.position++]=~e}tn(e){let t=e+this.position;if(t<=this.buffer.length)return;let r=2*this.buffer.length;r<t&&(r=t);let n=new Uint8Array(r);n.set(this.buffer),this.buffer=n}}class i0{constructor(e){this.cn=e}Bt(e){this.cn.Qt(e)}xt(e){this.cn.Zt(e)}Mt(e){this.cn.Yt(e)}vt(){this.cn.rn()}}class i1{constructor(e){this.cn=e}Bt(e){this.cn.jt(e)}xt(e){this.cn.Xt(e)}Mt(e){this.cn.nn(e)}vt(){this.cn._n()}}class i2{constructor(){this.cn=new iZ,this.ascending=new i0(this.cn),this.descending=new i1(this.cn)}seed(e){this.cn.seed(e)}ln(e){return 0===e?this.ascending:this.descending}un(){return this.cn.un()}reset(){this.cn.reset()}}class i6{constructor(e,t,r,n){this.hn=e,this.Pn=t,this.Tn=r,this.In=n}En(){let e=this.In.length,t=0===e||255===this.In[e-1]?e+1:e,r=new Uint8Array(t);return r.set(this.In,0),t!==e?r.set([0],this.In.length):++r[r.length-1],new i6(this.hn,this.Pn,this.Tn,r)}Rn(e,t,r){return{indexId:this.hn,uid:e,arrayValue:i8(this.Tn),directionalValue:i8(this.In),orderedDocumentKey:i8(t),documentKey:r.path.toArray()}}An(e,t,r){let n=this.Rn(e,t,r);return[n.indexId,n.uid,n.arrayValue,n.directionalValue,n.orderedDocumentKey,n.documentKey]}}function i3(e,t){let r=e.hn-t.hn;return 0!==r||0!==(r=i5(e.Tn,t.Tn))||0!==(r=i5(e.In,t.In))?r:ei.comparator(e.Pn,t.Pn)}function i5(e,t){for(let r=0;r<e.length&&r<t.length;++r){let n=e[r]-t[r];if(0!==n)return n}return e.length-t.length}function i8(e){return(0,w.isSafariOrWebkit)()?function(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t}(e):e}function i4(e){return"string"!=typeof e?e:function(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}(e)}class i7{constructor(e){for(const t of(this.Vn=new tH((e,t)=>en.comparator(e.field,t.field)),this.collectionId=null!=e.collectionGroup?e.collectionGroup:e.path.lastSegment(),this.dn=e.orderBy,this.mn=[],e.filters))t.isInequality()?this.Vn=this.Vn.add(t):this.mn.push(t)}get fn(){return this.Vn.size>1}gn(e){if(M(e.collectionGroup===this.collectionId,49279),this.fn)return!1;let t=em(e);
4if(void 0!==t&&!this.pn(t))return!1;let r=ey(e),n=new Set,i=0,s=0;for(;i<r.length&&this.pn(r[i]);++i)n=n.add(r[i].fieldPath.canonicalString());if(i===r.length)return!0;if(this.Vn.size>0){let e=this.Vn.getIterator().getNext();if(!n.has(e.field.canonicalString())){let t=r[i];if(!this.yn(e,t)||!this.wn(this.dn[s++],t))return!1}++i}for(;i<r.length;++i){let e=r[i];if(s>=this.dn.length||!this.wn(this.dn[s++],e))return!1}return!0}Sn(){if(this.fn)return null;let e=new tH(en.comparator),t=[];for(let r of this.mn)if(!r.field.isKeyField())if("array-contains"===r.op||"array-contains-any"===r.op)t.push(new ew(r.field,2));else{if(e.has(r.field))continue;e=e.add(r.field),t.push(new ew(r.field,0))}for(let r of this.dn)r.field.isKeyField()||e.has(r.field)||(e=e.add(r.field),t.push(new ew(r.field,+("asc"!==r.dir))));return new eg(eg.UNKNOWN_ID,this.collectionId,t,eb.empty())}pn(e){for(let t of this.mn)if(this.yn(t,e))return!0;return!1}yn(e,t){if(void 0===e||!e.field.isEqual(t.fieldPath))return!1;let r="array-contains"===e.op||"array-contains-any"===e.op;return 2===t.kind===r}wn(e,t){return!!e.field.isEqual(t.fieldPath)&&(0===t.kind&&"asc"===e.dir||1===t.kind&&"desc"===e.dir)}}function i9(e){return e instanceof rM}function se(e){return e instanceof rV&&rB(e)}function st(e){return i9(e)||se(e)||function(e){if(e instanceof rV&&rU(e)){for(let t of e.getFilters())if(!i9(t)&&!se(t))return!1;return!0}return!1}(e)}function sr(e,t){return M(e instanceof rM||e instanceof rV,38388),M(t instanceof rM||t instanceof rV,25473),si(e instanceof rM?t instanceof rM?rV.create([e,t],"and"):sn(e,t):t instanceof rM?sn(t,e):function(e,t){if(M(e.filters.length>0&&t.filters.length>0,48005),rF(e)&&rF(t))return rq(e,t.getFilters());let r=rU(e)?e:t,n=rU(e)?t:e,i=r.filters.map(e=>sr(e,n));return rV.create(i,"or")}(e,t))}function sn(e,t){if(rF(t))return rq(t,e.getFilters());{let r=t.filters.map(t=>sr(e,t));return rV.create(r,"or")}}function si(e){if(M(e instanceof rM||e instanceof rV,11850),e instanceof rM)return e;let t=e.getFilters();if(1===t.length)return si(t[0]);if(rj(e))return e;let r=t.map(e=>si(e)),n=[];return r.forEach(t=>{t instanceof rM?n.push(t):t instanceof rV&&(t.op===e.op?n.push(...t.filters):n.push(t))}),1===n.length?n[0]:rV.create(n,e.op)}class ss{constructor(){this.bn=new sa}addToCollectionParentIndex(e,t){return this.bn.add(t),ek.resolve()}getCollectionParents(e,t){return ek.resolve(this.bn.getEntries(t))}addFieldIndex(e,t){return ek.resolve()}deleteFieldIndex(e,t){return ek.resolve()}deleteAllFieldIndexes(e){return ek.resolve()}createTargetIndexes(e,t){return ek.resolve()}getDocumentsMatchingTarget(e,t){return ek.resolve(null)}getIndexType(e,t){return ek.resolve(0)}getFieldIndexes(e,t){return ek.resolve([])}getNextCollectionGroupToUpdate(e){return ek.resolve(null)}getMinOffset(e,t){return ek.resolve(eE.min())}getMinOffsetFromCollectionGroup(e,t){return ek.resolve(eE.min())}updateCollectionGroup(e,t,r){return ek.resolve()}updateIndexEntries(e,t){return ek.resolve()}}class sa{constructor(){this.index={}}add(e){let t=e.lastSegment(),r=e.popLast(),n=this.index[t]||new tH(et.comparator),i=!n.has(r);return this.index[t]=n.add(r),i}has(e){let t=e.lastSegment(),r=e.popLast(),n=this.index[t];return n&&n.has(r)}getEntries(e){return(this.index[e]||new tH(et.comparator)).toArray()}}let so="IndexedDbIndexManager",sl=new Uint8Array(0);class su{constructor(e,t){this.databaseId=t,this.Dn=new sa,this.Cn=new nh(e=>rZ(e),(e,t)=>r0(e,t)),this.uid=e.uid||""}addToCollectionParentIndex(e,t){if(!this.Dn.has(t)){let r=t.lastSegment(),n=t.popLast();e.addOnCommittedListener(()=>{this.Dn.add(t)});let i={collectionId:r,parent:eH(n)};return tB(e,td).put(i)}return ek.resolve()}getCollectionParents(e,t){let r=[],n=IDBKeyRange.bound([t,""],[t+"\0",""],!1,!0);return tB(e,td).J(n).next(e=>{for(let n of e){if(n.collectionId!==t)break;r.push(eW(n.parent))}return r})}addFieldIndex(e,t){let r=tB(e,ty),n={indexId:t.indexId,collectionGroup:t.collectionGroup,fields:t.fields.map(e=>[e.fieldPath.canonicalString(),e.kind])};delete n.indexId;let i=r.add(n);if(t.indexState){let r=tB(e,tw);return i.next(e=>{r.put(iH(e,this.uid,t.indexState.sequenceNumber,t.indexState.offset))})}return i.next()}deleteFieldIndex(e,t){let r=tB(e,ty),n=tB(e,tw),i=tB(e,tE);return r.delete(t.indexId).next(()=>n.delete(IDBKeyRange.bound([t.indexId],[t.indexId+1],!1,!0))).next(()=>i.delete(IDBKeyRange.bound([t.indexId],[t.indexId+1],!1,!0)))}deleteAllFieldIndexes(e){let t=tB(e,ty),r=tB(e,tE),n=tB(e,tw);return t.X().next(()=>r.X()).next(()=>n.X())}
4createTargetIndexes(e,t){return ek.forEach(this.vn(t),t=>this.getIndexType(e,t).next(r=>{if(0===r||1===r){let r=new i7(t).Sn();if(null!=r)return this.addFieldIndex(e,r)}}))}getDocumentsMatchingTarget(e,t){let r=tB(e,tE),n=!0,i=new Map;return ek.forEach(this.vn(t),t=>this.Fn(e,t).next(e=>{n&&(n=!!e),i.set(t,e)})).next(()=>{if(n){let e=nv(),n=[];return ek.forEach(i,(i,s)=>{D(so,`Using index id=${i.indexId}|cg=${i.collectionGroup}|f=${i.fields.map(e=>`${e.fieldPath}:${e.kind}`).join(",")} to execute ${rZ(t)}`);let a=function(e,t){let r=em(t);if(void 0===r)return null;for(let t of r2(e,r.fieldPath))switch(t.op){case"array-contains-any":return t.value.arrayValue.values||[];case"array-contains":return[t.value]}return null}(s,i),o=function(e,t){let r=new Map;for(let n of ey(t))for(let t of r2(e,n.fieldPath))switch(t.op){case"==":case"in":r.set(n.fieldPath.canonicalString(),t.value);break;case"not-in":case"!=":return r.set(n.fieldPath.canonicalString(),t.value),Array.from(r.values())}return null}(s,i),l=function(e,t){let r=[],n=!0;for(let i of ey(t)){let t=0===i.kind?r6(e,i.fieldPath,e.startAt):r3(e,i.fieldPath,e.startAt);r.push(t.value),n&&(n=t.inclusive)}return new rN(r,n)}(s,i),u=function(e,t){let r=[],n=!0;for(let i of ey(t)){let t=0===i.kind?r3(e,i.fieldPath,e.endAt):r6(e,i.fieldPath,e.endAt);r.push(t.value),n&&(n=t.inclusive)}return new rN(r,n)}(s,i),h=this.Mn(i,s,l),c=this.Mn(i,s,u),d=this.xn(i,s,o),f=this.On(i.indexId,a,h,l.inclusive,c,u.inclusive,d);return ek.forEach(f,i=>r.Z(i,t.limit).next(t=>{t.forEach(t=>{let r=ei.fromSegments(t.documentKey);e.has(r)||(e=e.add(r),n.push(r))})}))}).next(()=>n)}return ek.resolve(null)})}vn(e){let t=this.Cn.get(e);return t||(t=0===e.filters.length?[e]:(function(e){if(0===e.getFilters().length)return[];let t=function e(t){if(M(t instanceof rM||t instanceof rV,34018),t instanceof rM)return t;if(1===t.filters.length)return e(t.filters[0]);let r=t.filters.map(t=>e(t)),n=rV.create(r,t.op);return st(n=si(n))?n:(M(n instanceof rV,64498),M(rF(n),40251),M(n.filters.length>1,57927),n.filters.reduce((e,t)=>sr(e,t)))}(function e(t){if(M(t instanceof rM||t instanceof rV,20012),t instanceof rM){if(t instanceof rW){let e=t.value.arrayValue?.values?.map(e=>rM.create(t.field,"==",e))||[];return rV.create(e,"or")}return t}let r=t.filters.map(t=>e(t));return rV.create(r,t.op)}(e));return M(st(t),7391),i9(t)||se(t)?[t]:t.getFilters()})(rV.create(e.filters,"and")).map(t=>rX(e.path,e.collectionGroup,e.orderBy,t.getFilters(),e.limit,e.startAt,e.endAt)),this.Cn.set(e,t)),t}On(e,t,r,n,i,s,a){let o=(null!=t?t.length:1)*Math.max(r.length,i.length),l=o/(null!=t?t.length:1),u=[];for(let h=0;h<o;++h){let o=t?this.Nn(t[h/l]):sl,c=this.Bn(e,o,r[h%l],n),d=this.Ln(e,o,i[h%l],s),f=a.map(t=>this.Bn(e,o,t,!0));u.push(...this.createRange(c,d,f))}return u}Bn(e,t,r,n){let i=new i6(e,ei.empty(),t,r);return n?i:i.En()}Ln(e,t,r,n){let i=new i6(e,ei.empty(),t,r);return n?i.En():i}Fn(e,t){let r=new i7(t),n=null!=t.collectionGroup?t.collectionGroup:t.path.lastSegment();return this.getFieldIndexes(e,n).next(e=>{let t=null;for(let n of e)r.gn(n)&&(!t||n.fields.length>t.fields.length)&&(t=n);return t})}getIndexType(e,t){let r=2,n=this.vn(t);return ek.forEach(n,t=>this.Fn(e,t).next(e=>{e?0!==r&&e.fields.length<function(e){let t=new tH(en.comparator),r=!1;for(let n of e.filters)for(let e of n.getFlattenedFilters())e.field.isKeyField()||("array-contains"===e.op||"array-contains-any"===e.op?r=!0:t=t.add(e.field));for(let r of e.orderBy)r.field.isKeyField()||(t=t.add(r.field));return t.size+ +!!r}(t)&&(r=1):r=0})).next(()=>null!==t.limit&&n.length>1&&2===r?1:r)}kn(e,t){let r=new i2;for(let n of ey(e)){let e=t.data.field(n.fieldPath);if(null==e)return null;let i=r.ln(n.kind);iY.Wt.Dt(e,i)}return r.un()}Nn(e){let t=new i2;return iY.Wt.Dt(e,t.ln(0)),t.un()}Kn(e,t){let r,n=new i2;return iY.Wt.Dt(ry(this.databaseId,t),n.ln(0===(r=ey(e)).length?0:r[r.length-1].kind)),n.un()}xn(e,t,r){if(null===r)return[];let n=[];n.push(new i2);let i=0;for(let s of ey(e)){let e=r[i++];for(let r of n)if(this.qn(t,s.fieldPath)&&rw(e))n=this.Un(n,s,e);else{let t=r.ln(s.kind);iY.Wt.Dt(e,t)}}return this.$n(n)}Mn(e,t,r){return this.xn(e,t,r.position)}$n(e){let t=[];for(let r=0;r<e.length;++r)t[r]=e[r].un();return t}Un(e,t,r){let n=[...e],i=[];for(let e of r.arrayValue.values||[])for(let r of n){let n=new i2;n.seed(r.un()),iY.Wt.Dt(e,n.ln(t.kind)),i.push(n)}return i}qn(e,t){return!!e.filters.find(e=>e instanceof rM&&e.field.isEqual(t)&&("in"===e.op||"not-in"===e.op))}getFieldIndexes(e,t){let r=tB(e,ty),n=tB(e,tw);return(t?r.J(tv,IDBKeyRange.bound(t,t)):r.J()).next(e=>{let t=[];
4return ek.forEach(e,e=>n.get([e.indexId,this.uid]).next(r=>{let n,i;t.push((n=r?new eb(r.sequenceNumber,new eE(iB(r.readTime),new ei(eW(r.documentKey)),r.largestBatchId)):eb.empty(),i=e.fields.map(([e,t])=>new ew(en.fromServerFormat(e),t)),new eg(e.indexId,e.collectionGroup,i,n)))})).next(()=>t)})}getNextCollectionGroupToUpdate(e){return this.getFieldIndexes(e).next(e=>0===e.length?null:(e.sort((e,t)=>{let r=e.indexState.sequenceNumber-t.indexState.sequenceNumber;return 0!==r?r:Q(e.collectionGroup,t.collectionGroup)}),e[0].collectionGroup))}updateCollectionGroup(e,t,r){let n=tB(e,ty),i=tB(e,tw);return this.Wn(e).next(e=>n.J(tv,IDBKeyRange.bound(t,t)).next(t=>ek.forEach(t,t=>i.put(iH(t.indexId,this.uid,e,r)))))}updateIndexEntries(e,t){let r=new Map;return ek.forEach(t,(t,n)=>{let i=r.get(t.collectionGroup);return(i?ek.resolve(i):this.getFieldIndexes(e,t.collectionGroup)).next(i=>(r.set(t.collectionGroup,i),ek.forEach(i,r=>this.Qn(e,t,r).next(t=>{let i=this.Gn(n,r);return t.isEqual(i)?ek.resolve():this.zn(e,n,r,t,i)}))))})}jn(e,t,r,n){return tB(e,tE).put(n.Rn(this.uid,this.Kn(r,t.key),t.key))}Jn(e,t,r,n){return tB(e,tE).delete(n.An(this.uid,this.Kn(r,t.key),t.key))}Qn(e,t,r){let n=tB(e,tE),i=new tH(i3);return n.ee({index:tS,range:IDBKeyRange.only([r.indexId,this.uid,i8(this.Kn(r,t))])},(e,n)=>{i=i.add(new i6(r.indexId,t,i4(n.arrayValue),i4(n.directionalValue)))}).next(()=>i)}Gn(e,t){let r=new tH(i3),n=this.kn(t,e);if(null==n)return r;let i=em(t);if(null!=i){let s=e.data.field(i.fieldPath);if(rw(s))for(let i of s.arrayValue.values||[])r=r.add(new i6(t.indexId,e.key,this.Nn(i),n))}else r=r.add(new i6(t.indexId,e.key,sl,n));return r}zn(e,t,r,n,i){D(so,"Updating index entries for document '%s'",t.key);let s=[];return function(e,t,r,n,i){let s=e.getIterator(),a=t.getIterator(),o=tQ(s),l=tQ(a);for(;o||l;){let e=!1,t=!1;if(o&&l){let n=r(o,l);n<0?t=!0:n>0&&(e=!0)}else null!=o?t=!0:e=!0;e?(n(l),l=tQ(a)):t?(i(o),o=tQ(s)):(o=tQ(s),l=tQ(a))}}(n,i,i3,n=>{s.push(this.jn(e,t,r,n))},n=>{s.push(this.Jn(e,t,r,n))}),ek.waitFor(s)}Wn(e){let t=1;return tB(e,tw).ee({index:tI,reverse:!0,range:IDBKeyRange.upperBound([this.uid,Number.MAX_SAFE_INTEGER])},(e,r,n)=>{n.done(),t=r.sequenceNumber+1}).next(()=>t)}createRange(e,t,r){r=r.sort((e,t)=>i3(e,t)).filter((e,t,r)=>!t||0!==i3(e,r[t-1]));let n=[];for(let i of(n.push(e),r)){let r=i3(i,e),s=i3(i,t);if(0===r)n[0]=e.En();else if(r>0&&s<0)n.push(i),n.push(i.En());else if(s>0)break}n.push(t);let i=[];for(let e=0;e<n.length;e+=2){if(this.Hn(n[e],n[e+1]))return[];let t=n[e].An(this.uid,sl,ei.empty()),r=n[e+1].An(this.uid,sl,ei.empty());i.push(IDBKeyRange.bound(t,r))}return i}Hn(e,t){return i3(e,t)>0}getMinOffsetFromCollectionGroup(e,t){return this.getFieldIndexes(e,t).next(sh)}getMinOffset(e,t){return ek.mapArray(this.vn(t),t=>this.Fn(e,t).next(e=>e||P(44426))).next(sh)}}function sh(e){M(0!==e.length,28825);let t=e[0].indexState.offset,r=t.largestBatchId;for(let n=1;n<e.length;n++){let i=e[n].indexState.offset;0>eT(i,t)&&(t=i),r<i.largestBatchId&&(r=i.largestBatchId)}return new eE(t.readTime,t.documentKey,r)}let sc={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0};class sd{static withCacheSize(e){return new sd(e,sd.DEFAULT_COLLECTION_PERCENTILE,sd.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,r){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=r}}function sf(e,t,r){let n=e.store(eZ),i=e.store(e3),s=[],a=IDBKeyRange.only(r.batchId),o=0,l=n.ee({range:a},(e,t,r)=>(o++,r.delete()));s.push(l.next(()=>{M(1===o,47070,{batchId:r.batchId})}));let u=[];for(let e of r.mutations){var h,c;let n=(h=e.key.path,c=r.batchId,[t,eH(h),c]);s.push(i.delete(n)),u.push(e.key)}return ek.waitFor(s).next(()=>u)}function sp(e){let t;if(!e)return 0;if(e.document)t=e.document;else if(e.unknownDocument)t=e.unknownDocument;else{if(!e.noDocument)throw P(14731);t=e.noDocument}return JSON.stringify(t).length}sd.DEFAULT_COLLECTION_PERCENTILE=10,sd.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,sd.DEFAULT=new sd(0x2800000,sd.DEFAULT_COLLECTION_PERCENTILE,sd.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),sd.DISABLED=new sd(-1,0,0);
4class sg{constructor(e,t,r,n){this.userId=e,this.serializer=t,this.indexManager=r,this.referenceDelegate=n,this.Zn={}}static wt(e,t,r,n){return M(""!==e.uid,64387),new sg(e.isAuthenticated()?e.uid:"",t,r,n)}checkEmpty(e){let t=!0,r=IDBKeyRange.bound([this.userId,-1/0],[this.userId,1/0]);return sy(e).ee({index:e1,range:r},(e,r,n)=>{t=!1,n.done()}).next(()=>t)}addMutationBatch(e,t,r,n){let i=tB(e,e3),s=sy(e);return s.add({}).next(a=>{var o,l,u,h;let c,d;M("number"==typeof a,49019);let f=new nH(a,t,r,n),p=(o=this.serializer,l=this.userId,c=f.baseMutations.map(e=>iC(o.yt,e)),d=f.mutations.map(e=>iC(o.yt,e)),{userId:l,batchId:f.batchId,localWriteTimeMs:f.localWriteTime.toMillis(),baseMutations:c,mutations:d}),g=[],m=new tH((e,t)=>Q(e.canonicalString(),t.canonicalString()));for(let e of n){let t=(u=this.userId,h=e.key.path,[u,eH(h),a]);m=m.add(e.key.path.popLast()),g.push(s.put(p)),g.push(i.put(t,e6))}return m.forEach(t=>{g.push(this.indexManager.addToCollectionParentIndex(e,t))}),e.addOnCommittedListener(()=>{this.Zn[a]=f.keys()}),ek.waitFor(g).next(()=>f)})}lookupMutationBatch(e,t){return sy(e).get(t).next(e=>e?(M(e.userId===this.userId,48,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),ij(this.serializer,e)):null)}Xn(e,t){return this.Zn[t]?ek.resolve(this.Zn[t]):this.lookupMutationBatch(e,t).next(e=>{if(e){let r=e.keys();return this.Zn[t]=r,r}return null})}getNextMutationBatchAfterBatchId(e,t){let r=t+1,n=IDBKeyRange.lowerBound([this.userId,r]),i=null;return sy(e).ee({index:e1,range:n},(e,t,n)=>{t.userId===this.userId&&(M(t.batchId>=r,47524,{Yn:r}),i=ij(this.serializer,t)),n.done()}).next(()=>i)}getHighestUnacknowledgedBatchId(e){let t=IDBKeyRange.upperBound([this.userId,1/0]),r=-1;return sy(e).ee({index:e1,range:t,reverse:!0},(e,t,n)=>{r=t.batchId,n.done()}).next(()=>r)}getAllMutationBatches(e){let t=IDBKeyRange.bound([this.userId,-1],[this.userId,1/0]);return sy(e).J(e1,t).next(e=>e.map(e=>ij(this.serializer,e)))}getAllMutationBatchesAffectingDocumentKey(e,t){let r=[this.userId,eH(t.path)],n=IDBKeyRange.lowerBound(r),i=[];return tB(e,e3).ee({range:n},(r,n,s)=>{let[a,o,l]=r,u=eW(o);if(a===this.userId&&t.path.isEqual(u))return sy(e).get(l).next(e=>{if(!e)throw P(61480,{er:r,batchId:l});M(e.userId===this.userId,10503,"Unexpected user for mutation batch",{userId:e.userId,batchId:l}),i.push(ij(this.serializer,e))});s.done()}).next(()=>i)}getAllMutationBatchesAffectingDocumentKeys(e,t){let r=new tH(Q),n=[];return t.forEach(t=>{let i=[this.userId,eH(t.path)],s=IDBKeyRange.lowerBound(i),a=tB(e,e3).ee({range:s},(e,n,i)=>{let[s,a,o]=e,l=eW(a);s===this.userId&&t.path.isEqual(l)?r=r.add(o):i.done()});n.push(a)}),ek.waitFor(n).next(()=>this.tr(e,r))}getAllMutationBatchesAffectingQuery(e,t){let r=t.path,n=r.length+1,i=[this.userId,eH(r)],s=IDBKeyRange.lowerBound(i),a=new tH(Q);return tB(e,e3).ee({range:s},(e,t,i)=>{let[s,o,l]=e,u=eW(o);s===this.userId&&r.isPrefixOf(u)?u.length===n&&(a=a.add(l)):i.done()}).next(()=>this.tr(e,a))}tr(e,t){let r=[],n=[];return t.forEach(t=>{n.push(sy(e).get(t).next(e=>{if(null===e)throw P(35274,{batchId:t});M(e.userId===this.userId,9748,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),r.push(ij(this.serializer,e))}))}),ek.waitFor(n).next(()=>r)}removeMutationBatch(e,t){return sf(e.le,this.userId,t).next(r=>(e.addOnCommittedListener(()=>{this.nr(t.batchId)}),ek.forEach(r,t=>this.referenceDelegate.markPotentiallyOrphaned(e,t))))}nr(e){delete this.Zn[e]}performConsistencyCheck(e){return this.checkEmpty(e).next(t=>{if(!t)return ek.resolve();let r=IDBKeyRange.lowerBound([this.userId]),n=[];return tB(e,e3).ee({range:r},(e,t,r)=>{if(e[0]===this.userId){let t=eW(e[1]);n.push(t)}else r.done()}).next(()=>{M(0===n.length,56720,{rr:n.map(e=>e.canonicalString())})})})}containsKey(e,t){return sm(e,this.userId,t)}ir(e){return tB(e,eX).get(this.userId).next(e=>e||{userId:this.userId,lastAcknowledgedBatchId:-1,lastStreamToken:""})}}function sm(e,t,r){let n=[t,eH(r.path)],i=n[1],s=IDBKeyRange.lowerBound(n),a=!1;return tB(e,e3).ee({range:s,Y:!0},(e,r,n)=>{let[s,o,l]=e;s===t&&o===i&&(a=!0),n.done()}).next(()=>a)}function sy(e){return tB(e,eZ)}class sv{constructor(e){this.sr=e}next(){return this.sr+=2,this.sr}static _r(){return new sv(0)}static ar(){return new sv(-1)}}class sw{constructor(e,t){this.referenceDelegate=e,this.serializer
4=t}allocateTargetId(e){return this.ur(e).next(t=>{let r=new sv(t.highestTargetId);return t.highestTargetId=r.next(),this.cr(e,t).next(()=>t.highestTargetId)})}getLastRemoteSnapshotVersion(e){return this.ur(e).next(e=>ep.fromTimestamp(new ef(e.lastRemoteSnapshotVersion.seconds,e.lastRemoteSnapshotVersion.nanoseconds)))}getHighestSequenceNumber(e){return this.ur(e).next(e=>e.highestListenSequenceNumber)}setTargetsMetadata(e,t,r){return this.ur(e).next(n=>(n.highestListenSequenceNumber=t,r&&(n.lastRemoteSnapshotVersion=r.toTimestamp()),t>n.highestListenSequenceNumber&&(n.highestListenSequenceNumber=t),this.cr(e,n)))}addTargetData(e,t){return this.lr(e,t).next(()=>this.ur(e).next(r=>(r.targetCount+=1,this.hr(t,r),this.cr(e,r))))}updateTargetData(e,t){return this.lr(e,t)}removeTargetData(e,t){return this.removeMatchingKeysForTargetId(e,t.targetId).next(()=>tB(e,tn).delete(t.targetId)).next(()=>this.ur(e)).next(t=>(M(t.targetCount>0,8065),t.targetCount-=1,this.cr(e,t)))}removeTargets(e,t,r){let n=0,i=[];return tB(e,tn).ee((s,a)=>{let o=iq(a);o.sequenceNumber<=t&&null===r.get(o.targetId)&&(n++,i.push(this.removeTargetData(e,o)))}).next(()=>ek.waitFor(i)).next(()=>n)}forEachTarget(e,t){return tB(e,tn).ee((e,r)=>{t(iq(r))})}ur(e){return tB(e,tc).get(th).next(e=>(M(null!==e,2888),e))}cr(e,t){return tB(e,tc).put(th,t)}lr(e,t){return tB(e,tn).put(iz(this.serializer,t))}hr(e,t){let r=!1;return e.targetId>t.highestTargetId&&(t.highestTargetId=e.targetId,r=!0),e.sequenceNumber>t.highestListenSequenceNumber&&(t.highestListenSequenceNumber=e.sequenceNumber,r=!0),r}getTargetCount(e){return this.ur(e).next(e=>e.targetCount)}getTargetData(e,t){let r=rZ(t),n=IDBKeyRange.bound([r,-1/0],[r,1/0]),i=null;return tB(e,tn).ee({range:n,index:ti},(e,r,n)=>{let s=iq(r);r0(t,s.target)&&(i=s,n.done())}).next(()=>i)}addMatchingKeys(e,t,r){let n=[],i=sb(e);return t.forEach(t=>{let s=eH(t.path);n.push(i.put({targetId:r,path:s})),n.push(this.referenceDelegate.addReference(e,r,t))}),ek.waitFor(n)}removeMatchingKeys(e,t,r){let n=sb(e);return ek.forEach(t,t=>{let i=eH(t.path);return ek.waitFor([n.delete([r,i]),this.referenceDelegate.removeReference(e,r,t)])})}removeMatchingKeysForTargetId(e,t){let r=sb(e),n=IDBKeyRange.bound([t],[t+1],!1,!0);return r.delete(n)}getMatchingKeysForTargetId(e,t){let r=IDBKeyRange.bound([t],[t+1],!1,!0),n=sb(e),i=nv();return n.ee({range:r,Y:!0},(e,t,r)=>{let n=new ei(eW(e[1]));i=i.add(n)}).next(()=>i)}containsKey(e,t){let r=eH(t.path),n=IDBKeyRange.bound([r],[r+"\0"],!1,!0),i=0;return sb(e).ee({index:tl,Y:!0,range:n},([e,t],r,n)=>{0!==e&&(i++,n.done())}).next(()=>i>0)}At(e,t){return tB(e,tn).get(t).next(e=>e?iq(e):null)}}function sb(e){return tB(e,ta)}let sI="LruGarbageCollector";function s_([e,t],[r,n]){let i=Q(e,r);return 0===i?Q(t,n):i}class sE{constructor(e){this.Pr=e,this.buffer=new tH(s_),this.Tr=0}Ir(){return++this.Tr}Er(e){let t=[e,this.Ir()];if(this.buffer.size<this.Pr)this.buffer=this.buffer.add(t);else{let e=this.buffer.last();0>s_(t,e)&&(this.buffer=this.buffer.delete(e).add(t))}}get maxValue(){return this.buffer.last()[0]}}class sT{constructor(e,t,r){this.garbageCollector=e,this.asyncQueue=t,this.localStore=r,this.Rr=null}start(){-1!==this.garbageCollector.params.cacheSizeCollectionThreshold&&this.Ar(6e4)}stop(){this.Rr&&(this.Rr.cancel(),this.Rr=null)}get started(){return null!==this.Rr}Ar(e){D(sI,`Garbage collection scheduled in ${e}ms`),this.Rr=this.asyncQueue.enqueueAfterDelay("lru_garbage_collection",e,async()=>{this.Rr=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(e){eL(e)?D(sI,"Ignoring IndexedDB error during garbage collection: ",e):await eA(e)}await this.Ar(3e5)})}}class sS{constructor(e,t){this.Vr=e,this.params=t}calculateTargetCount(e,t){return this.Vr.dr(e).next(e=>Math.floor(t/100*e))}nthSequenceNumber(e,t){if(0===t)return ek.resolve(ez.ce);let r=new sE(t);return this.Vr.forEachTarget(e,e=>r.Er(e.sequenceNumber)).next(()=>this.Vr.mr(e,e=>r.Er(e))).next(()=>r.maxValue)}removeTargets(e,t,r){return this.Vr.removeTargets(e,t,r)}removeOrphanedDocuments(e,t){return this.Vr.removeOrphanedDocuments(e,t)}collect(e,t){return -1===this.params.cacheSizeCollectionThreshold?(D("LruGarbageCollector","Garbage collection skipped; disabled"),ek.resolve(sc)):this.getCacheSize(e).next(r=>r<this.params.cacheSizeCollectionThreshold?(D("LruGarbageCollector",`Garbage collection skipped; Cache size ${r} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),sc):this.gr(e,t))}getCacheSize(e){return this.Vr.getCacheSize(e)}gr(e,t){let r,n,i,s,a,o,l,u=Date.now();return this.calculateTargetCount(e,this.params.percentileToCollect).next(t=>(t>this.params.maximumSequenceNumbersToCollect?(D("LruGarbageCollector",`C
4apping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from ${t}`),n=this.params.maximumSequenceNumbersToCollect):n=t,s=Date.now(),this.nthSequenceNumber(e,n))).next(n=>(r=n,a=Date.now(),this.removeTargets(e,r,t))).next(t=>(i=t,o=Date.now(),this.removeOrphanedDocuments(e,r))).next(e=>(l=Date.now(),x()<=_.LogLevel.DEBUG&&D("LruGarbageCollector",`LRU Garbage Collection 5 Counted targets in ${s-u}ms 6 Determined least recently used ${n} in `+(a-s)+"ms\n"+` Removed ${i} targets in `+(o-a)+"ms\n"+` Removed ${e} documents in `+(l-o)+"ms\n"+`Total Duration: ${l-u}ms`),ek.resolve({didRun:!0,sequenceNumbersCollected:n,targetsRemoved:i,documentsRemoved:e})))}}class sC{constructor(e,t){this.db=e,this.garbageCollector=function(e,t){return new sS(e,t)}(this,t)}dr(e){let t=this.pr(e);return this.db.getTargetCache().getTargetCount(e).next(e=>t.next(t=>e+t))}pr(e){let t=0;return this.mr(e,e=>{t++}).next(()=>t)}forEachTarget(e,t){return this.db.getTargetCache().forEachTarget(e,t)}mr(e,t){return this.yr(e,(e,r)=>t(r))}addReference(e,t,r){return sA(e,r)}removeReference(e,t,r){return sA(e,r)}removeTargets(e,t,r){return this.db.getTargetCache().removeTargets(e,t,r)}markPotentiallyOrphaned(e,t){return sA(e,t)}wr(e,t){let r;return r=!1,tB(e,eX).te(n=>sm(e,n,t).next(e=>(e&&(r=!0),ek.resolve(!e)))).next(()=>r)}removeOrphanedDocuments(e,t){let r=this.db.getRemoteDocumentCache().newChangeBuffer(),n=[],i=0;return this.yr(e,(s,a)=>{if(a<=t){let t=this.wr(e,s).next(t=>{if(!t)return i++,r.getEntry(e,s).next(()=>(r.removeEntry(s,ep.min()),sb(e).delete([0,eH(s.path)])))});n.push(t)}}).next(()=>ek.waitFor(n)).next(()=>r.apply(e)).next(()=>i)}removeTarget(e,t){let r=t.withSequenceNumber(e.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(e,r)}updateLimboDocument(e,t){return sA(e,t)}yr(e,t){let r=sb(e),n,i=ez.ce;return r.ee({index:tl},([e,r],{path:s,sequenceNumber:a})=>{0===e?(i!==ez.ce&&t(new ei(eW(n)),i),i=a,n=s):i=ez.ce}).next(()=>{i!==ez.ce&&t(new ei(eW(n)),i)})}getCacheSize(e){return this.db.getRemoteDocumentCache().getSize(e)}}function sA(e,t){var r;return sb(e).put((r=e.currentSequenceNumber,{targetId:0,path:eH(t.path),sequenceNumber:r}))}class sk{constructor(){this.changes=new nh(e=>e.toString(),(e,t)=>e.isEqual(t)),this.changesApplied=!1}addEntry(e){this.assertNotApplied(),this.changes.set(e.key,e)}removeEntry(e,t){this.assertNotApplied(),this.changes.set(e,rD.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();let r=this.changes.get(t);return void 0!==r?ek.resolve(r):this.getFromCache(e,t)}getEntries(e,t){return this.getAllFromCache(e,t)}apply(e){return this.assertNotApplied(),this.changesApplied=!0,this.applyChanges(e)}assertNotApplied(){}}class sx{constructor(e){this.serializer=e}setIndexManager(e){this.indexManager=e}addEntry(e,t,r){return tB(e,e5).put(r)}removeEntry(e,t,r){let n;return tB(e,e5).delete([(n=t.path.toArray()).slice(0,n.length-2),n[n.length-2],iF(r),n[n.length-1]])}updateMetadata(e,t){return this.getMetadata(e).next(r=>(r.byteSize+=t,this.Sr(e,r)))}getEntry(e,t){let r=rD.newInvalidDocument(t);return tB(e,e5).ee({index:e4,range:IDBKeyRange.only(sN(t))},(e,n)=>{r=this.br(t,n)}).next(()=>r)}Dr(e,t){let r={size:0,document:rD.newInvalidDocument(t)};return tB(e,e5).ee({index:e4,range:IDBKeyRange.only(sN(t))},(e,n)=>{r={document:this.br(t,n),size:sp(n)}}).next(()=>r)}getEntries(e,t){let r=nc;return this.Cr(e,t,(e,t)=>{let n=this.br(e,t);r=r.insert(e,n)}).next(()=>r)}vr(e,t){let r=nc,n=new t$(ei.comparator);return this.Cr(e,t,(e,t)=>{let i=this.br(e,t);r=r.insert(e,i),n=n.insert(e,sp(t))}).next(()=>({documents:r,Fr:n}))}Cr(e,t,r){if(t.isEmpty())return ek.resolve();let n=new tH(sO);t.forEach(e=>n=n.add(e));let i=IDBKeyRange.bound(sN(n.first()),sN(n.last())),s=n.getIterator(),a=s.getNext();return tB(e,e5).ee({index:e4,range:i},(e,t,n)=>{let i=ei.fromSegments([...t.prefixPath,t.collectionGroup,t.documentId]);for(;a&&0>sO(a,i);)r(a,null),a=s.getNext();a&&a.isEqual(i)&&(r(a,t),a=s.hasNext()?s.getNext():null),a?n.j(sN(a)):n.done()}).next(()=>{for(;a;)r(a,null),a=s.hasNext()?s.getNext():null})}getDocumentsMatchingQuery(e,t,r,n,i){let s=t.path,a=[s.popLast().toArray(),s.lastSegment(),iF(r.readTime),r.documentKey.path.isEmpty()?"":r.documentKey.path.lastSegment()],o=[s.popLast().toArray(),s.lastSegment(),[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],""];return tB(e,e5).J(IDBKeyRange.bound(a,o,!0)).next(e=>{i?.incrementDocumentReadCount(e.length);let r=nc;for(let i of e){let e=this.br(ei.fromSegments(i.prefixPath.concat(i.collectionGroup,i.documentId)),i);
6e.isFoundDocument()&&(no(t,e)||n.has(e.key))&&(r=r.insert(e.key,e))}return r})}getAllFromCollectionGroup(e,t,r,n){let i=nc,s=sR(t,r),a=sR(t,eE.max());return tB(e,e5).ee({index:e9,range:IDBKeyRange.bound(s,a,!0)},(e,t,r)=>{let s=this.br(ei.fromSegments(t.prefixPath.concat(t.collectionGroup,t.documentId)),t);(i=i.insert(s.key,s)).size===n&&r.done()}).next(()=>i)}newChangeBuffer(e){return new sD(this,!!e&&e.trackRemovals)}getSize(e){return this.getMetadata(e).next(e=>e.byteSize)}getMetadata(e){return tB(e,tt).get(tr).next(e=>(M(!!e,20021),e))}Sr(e,t){return tB(e,tt).put(tr,t)}br(e,t){if(t){let e=function(e,t){var r;let n,i;if(t.document)n=iS(e.yt,t.document,!!t.hasCommittedMutations);else if(t.noDocument){let e=ei.fromSegments(t.noDocument.path),r=iB(t.noDocument.readTime);n=rD.newNoDocument(e,r),t.hasCommittedMutations&&n.setHasCommittedMutations()}else{if(!t.unknownDocument)return P(56709);{let e=ei.fromSegments(t.unknownDocument.path),r=iB(t.unknownDocument.version);n=rD.newUnknownDocument(e,r)}}return t.readTime&&n.setReadTime((i=new ef((r=t.readTime)[0],r[1]),ep.fromTimestamp(i))),n}(this.serializer,t);if(!(e.isNoDocument()&&e.version.isEqual(ep.min())))return e}return rD.newInvalidDocument(e)}}class sD extends sk{constructor(e,t){super(),this.Mr=e,this.trackRemovals=t,this.Or=new nh(e=>e.toString(),(e,t)=>e.isEqual(t))}applyChanges(e){let t=[],r=0,n=new tH((e,t)=>Q(e.canonicalString(),t.canonicalString()));
6return this.changes.forEach((i,s)=>{let a=this.Or.get(i);if(t.push(this.Mr.removeEntry(e,i,a.readTime)),s.isValidDocument()){let o=iV(this.Mr.serializer,s);n=n.add(i.path.popLast());let l=sp(o);r+=l-a.size,t.push(this.Mr.addEntry(e,i,o))}else if(r-=a.size,this.trackRemovals){let r=iV(this.Mr.serializer,s.convertToNoDocument(ep.min()));t.push(this.Mr.addEntry(e,i,r))}}),n.forEach(r=>{t.push(this.Mr.indexManager.addToCollectionParentIndex(e,r))}),t.push(this.Mr.updateMetadata(e,r)),ek.waitFor(t)}getFromCache(e,t){return this.Mr.Dr(e,t).next(e=>(this.Or.set(t,{size:e.size,readTime:e.document.readTime}),e.document))}getAllFromCache(e,t){return this.Mr.vr(e,t).next(({documents:e,Fr:t})=>(t.forEach((t,r)=>{this.Or.set(t,{size:r,readTime:e.get(t).readTime})}),e))}}function sN(e){let t=e.path.toArray();return[t.slice(0,t.length-2),t[t.length-2],t[t.length-1]]}function sR(e,t){let r=t.documentKey.path.toArray();return[e,iF(t.readTime),r.slice(0,r.length-2),r.length>0?r[r.length-1]:""]}function sO(e,t){let r=e.path.toArray(),n=t.path.toArray(),i=0;for(let e=0;e<r.length-2&&e<n.length-2;++e)if(i=Q(r[e],n[e]))return i;return(i=Q(r.length,n.length))||(i=Q(r[r.length-2],n[n.length-2]))||Q(r[r.length-1],n[n.length-1])}class sP{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}class sL{constructor(e,t,r,n){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=r,this.indexManager=n}getDocument(e,t){let r=null;return this.documentOverlayCache.getOverlay(e,t).next(n=>(r=n,this.remoteDocumentCache.getEntry(e,t))).next(e=>(null!==r&&nF(r.mutation,e,tJ.empty(),ef.now()),e))}getDocuments(e,t){return this.remoteDocumentCache.getEntries(e,t).next(t=>this.getLocalViewOfDocuments(e,t,nv()).next(()=>t))}getLocalViewOfDocuments(e,t,r=nv()){let n=ng();return this.populateOverlays(e,n,t).next(()=>this.computeViews(e,t,n,r).next(e=>{let t=nf();return e.forEach((e,r)=>{t=t.insert(e,r.overlayedDocument)}),t}))}getOverlayedDocuments(e,t){let r=ng();return this.populateOverlays(e,r,t).next(()=>this.computeViews(e,t,r,nv()))}populateOverlays(e,t,r){let n=[];return r.forEach(e=>{t.has(e)||n.push(e)}),this.documentOverlayCache.getOverlays(e,n).next(e=>{e.forEach((e,r)=>{t.set(e,r)})})}computeViews(e,t,r,n){let i=nc,s=ng(),a=ng();return t.forEach((e,t)=>{let a=r.get(t.key);n.has(t.key)&&(void 0===a||a.mutation instanceof nj)?i=i.insert(t.key,t):void 0!==a?(s.set(t.key,a.mutation.getFieldMask()),nF(a.mutation,t,a.mutation.getFieldMask(),ef.now())):s.set(t.key,tJ.empty())}),this.recalculateAndSaveOverlays(e,i).next(e=>(e.forEach((e,t)=>s.set(e,t)),t.forEach((e,t)=>a.set(e,new sP(t,s.get(e)??null))),a))}recalculateAndSaveOverlays(e,t){let r=ng(),n=new t$((e,t)=>e-t),i=nv();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(e,t).next(e=>{for(let i of e)i.keys().forEach(e=>{let s=t.get(e);if(null===s)return;let a=r.get(e)||tJ.empty();a=i.applyToLocalView(s,a),r.set(e,a);let o=(n.get(i.batchId)||nv()).add(e);n=n.insert(i.batchId,o)})}).next(()=>{let s=[],a=n.getReverseIterator();for(;a.hasNext();){let n=a.getNext(),o=n.key,l=n.value,u=ng();l.forEach(e=>{if(!i.has(e)){let n=nV(t.get(e),r.get(e));null!==n&&u.set(e,n),i=i.add(e)}}),s.push(this.documentOverlayCache.saveOverlays(e,o,u))}return ek.waitFor(s)}).next(()=>r)}recalculateAndSaveOverlaysForDocumentKeys(e,t){return this.remoteDocumentCache.getEntries(e,t).next(t=>this.recalculateAndSaveOverlays(e,t))}getDocumentsMatchingQuery(e,t,r,n){return ei.isDocumentKey(t.path)&&null===t.collectionGroup&&0===t.filters.length?this.getDocumentsMatchingDocumentQuery(e,t.path):r7(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,r,n):this.getDocumentsMatchingCollectionQuery(e,t,r,n)}getNextDocuments(e,t,r,n){return this.remoteDocumentCache.getAllFromCollectionGroup(e,t,r,n).next(i=>{let s=n-i.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(e,t,r.largestBatchId,n-i.size):ek.resolve(ng()),a=-1,o=i;return s.next(t=>
vendor: 4,366 bytes, line 6
6ek.forEach(t,(t,r)=>(a<r.largestBatchId&&(a=r.largestBatchId),i.get(t)?ek.resolve():this.remoteDocumentCache.getEntry(e,t).next(e=>{o=o.insert(t,e)}))).next(()=>this.populateOverlays(e,t,i)).next(()=>this.computeViews(e,o,t,nv())).next(e=>({batchId:a,changes:np(e)})))})}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new ei(t)).next(e=>{let t=nf();return e.isFoundDocument()&&(t=t.insert(e.key,e)),t})}getDocumentsMatchingCollectionGroupQuery(e,t,r,n){let i=t.collectionGroup,s=nf();return this.indexManager.getCollectionParents(e,i).next(a=>ek.forEach(a,a=>{let o=new r5(a.child(i),null,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,t.startAt,t.endAt);return this.getDocumentsMatchingCollectionQuery(e,o,r,n).next(e=>{e.forEach((e,t)=>{s=s.insert(e,t)})})}).next(()=>s))}getDocumentsMatchingCollectionQuery(e,t,r,n){let i;return this.documentOverlayCache.getOverlaysForCollection(e,t.path,r.largestBatchId).next(s=>(i=s,this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,r,i,n))).next(e=>{i.forEach((t,r)=>{let n=r.getKey();null===e.get(n)&&(e=e.insert(n,rD.newInvalidDocument(n)))});let r=nf();return e.forEach((e,n)=>{let s=i.get(e);void 0!==s&&nF(s.mutation,n,tJ.empty(),ef.now()),no(t,n)&&(r=r.insert(e,n))}),r})}}class sM{constructor(e){this.serializer=e,this.Nr=new Map,this.Br=new Map}getBundleMetadata(e,t){return ek.resolve(this.Nr.get(t))}saveBundleMetadata(e,t){return this.Nr.set(t.id,{id:t.id,version:t.version,createTime:ip(t.createTime)}),ek.resolve()}getNamedQuery(e,t){return ek.resolve(this.Br.get(t))}saveNamedQuery(e,t){return this.Br.set(t.name,{name:t.name,query:i$(t.bundledQuery),readTime:ip(t.readTime)}),ek.resolve()}}class sV{constructor(){this.overlays=new t$(ei.comparator),this.Lr=new Map}getOverlay(e,t){return ek.resolve(this.overlays.get(t))}getOverlays(e,t){let r=ng();return ek.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}saveOverlays(e,t,r){return r.forEach((r,n)=>{this.St(e,t,n)}),ek.resolve()}removeOverlaysForBatchId(e,t,r){let n=this.Lr.get(r);return void 0!==n&&(n.forEach(e=>this.overlays=this.overlays.remove(e)),this.Lr.delete(r)),ek.resolve()}getOverlaysForCollection(e,t,r){let n=ng(),i=t.length+1,s=new ei(t.child("")),a=this.overlays.getIteratorFrom(s);for(;a.hasNext();){let e=a.getNext().value,s=e.getKey();if(!t.isPrefixOf(s.path))break;s.path.length===i&&e.largestBatchId>r&&n.set(e.getKey(),e)}return ek.resolve(n)}getOverlaysForCollectionGroup(e,t,r,n){let i=new t$((e,t)=>e-t),s=this.overlays.getIterator();for(;s.hasNext();){let e=s.getNext().value;if(e.getKey().getCollectionGroup()===t&&e.largestBatchId>r){let t=i.get(e.largestBatchId);null===t&&(t=ng(),i=i.insert(e.largestBatchId,t)),t.set(e.getKey(),e)}}let a=ng(),o=i.getIterator();for(;o.hasNext()&&(o.getNext().value.forEach((e,t)=>a.set(e,t)),!(a.size()>=n)););return ek.resolve(a)}St(e,t,r){let n=this.overlays.get(r.key);if(null!==n){let e=this.Lr.get(n.largestBatchId).delete(r.key);this.Lr.set(n.largestBatchId,e)}this.overlays=this.overlays.insert(r.key,new nQ(t,r));let i=this.Lr.get(t);void 0===i&&(i=nv(),this.Lr.set(t,i)),this.Lr.set(t,i.add(r.key))}}class sF{constructor(){this.sessionToken=tX.EMPTY_BYTE_STRING}getSessionToken(e){return ek.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,ek.resolve()}}class sU{constructor(){this.kr=new tH(sB.Kr),this.qr=new tH(sB.Ur)}isEmpty(){return this.kr.isEmpty()}addReference(e,t){let r=new sB(e,t);this.kr=this.kr.add(r),this.qr=this.qr.add(r)}$r(e,t){e.forEach(e=>this.addReference(e,t))}removeReference(e,t){this.Wr(new sB(e,t))}Qr(e,t){e.forEach(e=>this.removeReference(e,t))}Gr(e){let t=new ei(new et([])),r=new sB(t,e),n=new sB(t,e+1),i=[];return this.qr.forEachInRange([r,n],e=>{this.Wr(e),i.push(e.key)}),i}zr(){this.kr.forEach(e=>this.Wr(e))}Wr(e){this.kr=this.kr.delete(e),this.qr=this.qr.delete(e)}jr(e){let t=new ei(new et([])),r=new sB(t,e),n=new sB(t,e+1),i=nv();return this.qr.forEachInRange([r,n],e=>{i=i.add(e.key)}),i}containsKey(e){let t=new sB(e,0),r=this.kr.firstAfterOrEqual(t);return null!==r&&e.isEqual(r.key)}}class sB{constructor(e,t){this.key=e,this.Jr=t}static Kr(e,t){return ei.comparator(e.key,t.key)||Q(e.Jr,t.Jr)}static Ur(e,t){return Q(e.Jr,t.Jr)||ei.comparator(e.key,t.key)}}class sj{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutation
6Queue=[],this.Yn=1,this.Hr=new tH(sB.Kr)}checkEmpty(e){return ek.resolve(0===this.mutationQueue.length)}addMutationBatch(e,t,r,n){let i=this.Yn;this.Yn++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];let s=new nH(i,t,r,n);for(let t of(this.mutationQueue.push(s),n))this.Hr=this.Hr.add(new sB(t.key,i)),this.indexManager.addToCollectionParentIndex(e,t.key.path.popLast());return ek.resolve(s)}lookupMutationBatch(e,t){return ek.resolve(this.Zr(t))}getNextMutationBatchAfterBatchId(e,t){let r=this.Xr(t+1),n=r<0?0:r;return ek.resolve(this.mutationQueue.length>n?this.mutationQueue[n]:null)}getHighestUnacknowledgedBatchId(){return ek.resolve(0===this.mutationQueue.length?-1:this.Yn-1)}getAllMutationBatches(e){return ek.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){let r=new sB(t,0),n=new sB(t,1/0),i=[];return this.Hr.forEachInRange([r,n],e=>{let t=this.Zr(e.Jr);i.push(t)}),ek.resolve(i)}getAllMutationBatchesAffectingDocumentKeys(e,t){let r=new tH(Q);return t.forEach(e=>{let t=new sB(e,0),n=new sB(e,1/0);this.Hr.forEachInRange([t,n],e=>{r=r.add(e.Jr)})}),ek.resolve(this.Yr(r))}getAllMutationBatchesAffectingQuery(e,t){let r=t.path,n=r.length+1,i=r;ei.isDocumentKey(i)||(i=i.child(""));let s=new sB(new ei(i),0),a=new tH(Q);return this.Hr.forEachWhile(e=>{let t=e.key.path;return!!r.isPrefixOf(t)&&(t.length===n&&(a=a.add(e.Jr)),!0)},s),ek.resolve(this.Yr(a))}Yr(e){let t=[];return e.forEach(e=>{let r=this.Zr(e);null!==r&&t.push(r)}),t}removeMutationBatch(e,t){M(0===this.ei(t.batchId,"removed"),55003),this.mutationQueue.shift();let r=this.Hr;return ek.forEach(t.mutations,n=>{let i=new sB(n.key,t.batchId);return r=r.delete(i),this.referenceDelegate.markPotentiallyOrphaned(e,n.key)}).next(()=>{this.Hr=r})}nr(e){}containsKey(e,t){let r=new sB(t,0),n=this.Hr.firstAfterOrEqual(r);return ek.resolve(t.isEqual(n&&n.key))}performConsistencyCheck(e){return this.mutationQueue.length,ek.resolve()}ei(e,t){return this.Xr(e)}Xr(e){return 0===this.mutationQueue.length?0:e-this.mutationQueue[0].batchId}Zr(e){let t=this.Xr(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}class sq{constructor(e){this.ti=e,this.docs=new t$(ei.comparator),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){let r=t.key,n=this.docs.get(r),i=n?n.size:0,s=this.ti(t);return this.docs=this.docs.insert(r,{document:t.mutableCopy(),size:s}),this.size+=s-i,this.indexManager.addToCollectionParentIndex(e,r.path.popLast())}removeEntry(e){let t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){let r=this.docs.get(t);return ek.resolve(r?r.document.mutableCopy():rD.newInvalidDocument(t))}getEntries(e,t){let r=nc;return t.forEach(e=>{let t=this.docs.get(e);r=r.insert(e,t?t.document.mutableCopy():rD.newInvalidDocument(e))}),ek.resolve(r)}getDocumentsMatchingQuery(e,t,r,n){let i=nc,s=t.path,a=new ei(s.child("__id-9223372036854775808__")),o=this.docs.getIteratorFrom(a);for(;o.hasNext();){let{key:e,value:{document:a}}=o.getNext();if(!s.isPrefixOf(e.path))break;e.path.length>s.length+1||0>=eT(e_(a),r)||(n.has(a.key)||no(t,a))&&(i=i.insert(a.key,a.mutableCopy()))}return ek.resolve(i)}getAllFromCollectionGroup(e,t,r,n){P(9500)}ni(e,t){return ek.forEach(this.docs,e=>t(e))}newChangeBuffer(e){return new sz(this)}getSize(e){return ek.resolve(this.size)}}class sz extends sk{constructor(e){super(),this.Mr=e}applyChanges(e){let t=[];
vendor: 4,120 bytes, line 6
6return this.changes.forEach((r,n)=>{n.isValidDocument()?t.push(this.Mr.addEntry(e,n)):this.Mr.removeEntry(r)}),ek.waitFor(t)}getFromCache(e,t){return this.Mr.getEntry(e,t)}getAllFromCache(e,t){return this.Mr.getEntries(e,t)}}class s${constructor(e){this.persistence=e,this.ri=new nh(e=>rZ(e),r0),this.lastRemoteSnapshotVersion=ep.min(),this.highestTargetId=0,this.ii=0,this.si=new sU,this.targetCount=0,this.oi=sv._r()}forEachTarget(e,t){return this.ri.forEach((e,r)=>t(r)),ek.resolve()}getLastRemoteSnapshotVersion(e){return ek.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return ek.resolve(this.ii)}allocateTargetId(e){return this.highestTargetId=this.oi.next(),ek.resolve(this.highestTargetId)}setTargetsMetadata(e,t,r){return r&&(this.lastRemoteSnapshotVersion=r),t>this.ii&&(this.ii=t),ek.resolve()}lr(e){this.ri.set(e.target,e);let t=e.targetId;t>this.highestTargetId&&(this.oi=new sv(t),this.highestTargetId=t),e.sequenceNumber>this.ii&&(this.ii=e.sequenceNumber)}addTargetData(e,t){return this.lr(t),this.targetCount+=1,ek.resolve()}updateTargetData(e,t){return this.lr(t),ek.resolve()}removeTargetData(e,t){return this.ri.delete(t.target),this.si.Gr(t.targetId),this.targetCount-=1,ek.resolve()}removeTargets(e,t,r){let n=0,i=[];return this.ri.forEach((s,a)=>{a.sequenceNumber<=t&&null===r.get(a.targetId)&&(this.ri.delete(s),i.push(this.removeMatchingKeysForTargetId(e,a.targetId)),n++)}),ek.waitFor(i).next(()=>n)}getTargetCount(e){return ek.resolve(this.targetCount)}getTargetData(e,t){let r=this.ri.get(t)||null;return ek.resolve(r)}addMatchingKeys(e,t,r){return this.si.$r(t,r),ek.resolve()}removeMatchingKeys(e,t,r){this.si.Qr(t,r);let n=this.persistence.referenceDelegate,i=[];return n&&t.forEach(t=>{i.push(n.markPotentiallyOrphaned(e,t))}),ek.waitFor(i)}removeMatchingKeysForTargetId(e,t){return this.si.Gr(t),ek.resolve()}getMatchingKeysForTargetId(e,t){let r=this.si.jr(t);return ek.resolve(r)}containsKey(e,t){return ek.resolve(this.si.containsKey(t))}}class sK{constructor(e,t){this._i={},this.overlays={},this.ai=new ez(0),this.ui=!1,this.ui=!0,this.ci=new sF,this.referenceDelegate=e(this),this.li=new s$(this),this.indexManager=new ss,this.remoteDocumentCache=function(e){return new sq(e)}(e=>this.referenceDelegate.hi(e)),this.serializer=new iM(t),this.Pi=new sM(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.ui=!1,Promise.resolve()}get started(){return this.ui}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(e){return this.indexManager}getDocumentOverlayCache(e){let t=this.overlays[e.toKey()];return t||(t=new sV,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let r=this._i[e.toKey()];return r||(r=new sj(t,this.referenceDelegate),this._i[e.toKey()]=r),r}getGlobalsCache(){return this.ci}getTargetCache(){return this.li}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.Pi}runTransaction(e,t,r){D("MemoryPersistence","Starting transaction:",e);let n=new sG(this.ai.next());return this.referenceDelegate.Ti(),r(n).next(e=>this.referenceDelegate.Ii(n).next(()=>e)).toPromise().then(e=>(n.raiseOnCommittedEvent(),e))}Ei(e,t){return ek.or(Object.values(this._i).map(r=>()=>r.containsKey(e,t)))}}class sG extends eC{constructor(e){super(),this.currentSequenceNumber=e}}class sH{constructor(e){this.persistence=e,this.Ri=new sU,this.Ai=null}static Vi(e){return new sH(e)}get di(){if(this.Ai)return this.Ai;throw P(60996)}addReference(e,t,r){return this.Ri.addReference(r,t),this.di.delete(r.toString()),ek.resolve()}removeReference(e,t,r){return this.Ri.removeReference(r,t),this.di.add(r.toString()),ek.resolve()}markPotentiallyOrphaned(e,t){return this.di.add(t.toString()),ek.resolve()}removeTarget(e,t){this.Ri.Gr(t.targetId).forEach(e=>this.di.add(e.toString()));let r=this.persistence.getTargetCache();return r.getMatchingKeysForTargetId(e,t.targetId).next(e=>{e.forEach(e=>this.di.add(e.toString()))}).next(()=>r.removeTargetData(e,t))}Ti(){this.Ai=new Set}Ii(e){let t=this.persistence.getRemoteDocumentCache().newChangeBuffer();return ek.forEach(this.di,r=>{let n=ei.fromPath(r);
6return this.mi(e,n).next(e=>{e||t.removeEntry(n,ep.min())})}).next(()=>(this.Ai=null,t.apply(e)))}updateLimboDocument(e,t){return this.mi(e,t).next(e=>{e?this.di.delete(t.toString()):this.di.add(t.toString())})}hi(e){return 0}mi(e,t){return ek.or([()=>ek.resolve(this.Ri.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.Ei(e,t)])}}class sW{constructor(e,t){this.persistence=e,this.fi=new nh(e=>eH(e.path),(e,t)=>e.isEqual(t)),this.garbageCollector=function(e,t){return new sS(e,t)}(this,t)}static Vi(e,t){return new sW(e,t)}Ti(){}Ii(e){return ek.resolve()}forEachTarget(e,t){return this.persistence.getTargetCache().forEachTarget(e,t)}dr(e){let t=this.pr(e);return this.persistence.getTargetCache().getTargetCount(e).next(e=>t.next(t=>e+t))}pr(e){let t=0;return this.mr(e,e=>{t++}).next(()=>t)}mr(e,t){return ek.forEach(this.fi,(r,n)=>this.wr(e,r,n).next(e=>e?ek.resolve():t(n)))}removeTargets(e,t,r){return this.persistence.getTargetCache().removeTargets(e,t,r)}removeOrphanedDocuments(e,t){let r=0,n=this.persistence.getRemoteDocumentCache(),i=n.newChangeBuffer();return n.ni(e,n=>this.wr(e,n,t).next(e=>{e||(r++,i.removeEntry(n,ep.min()))})).next(()=>i.apply(e)).next(()=>r)}markPotentiallyOrphaned(e,t){return this.fi.set(t,e.currentSequenceNumber),ek.resolve()}removeTarget(e,t){let r=t.withSequenceNumber(e.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(e,r)}addReference(e,t,r){return this.fi.set(r,e.currentSequenceNumber),ek.resolve()}removeReference(e,t,r){return this.fi.set(r,e.currentSequenceNumber),ek.resolve()}updateLimboDocument(e,t){return this.fi.set(t,e.currentSequenceNumber),ek.resolve()}hi(e){let t=e.key.toString().length;return e.isFoundDocument()&&(t+=function e(t){switch(rh(t)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:let r=t7(t);return r?16+e(r):16;case 5:return 2*t.stringValue.length;case 6:return t2(t.bytesValue).approximateByteSize();case 7:return t.referenceValue.length;case 9:return(t.arrayValue.values||[]).reduce((t,r)=>t+e(r),0);case 10:case 11:var n;let i;return n=t.mapValue,i=0,tq(n.fields,(t,r)=>{i+=t.length+e(r)}),i;default:throw P(13486,{value:t})}}(e.data.value)),t}wr(e,t,r){return ek.or([()=>this.persistence.Ei(e,t),()=>this.persistence.getTargetCache().containsKey(e,t),()=>{let e=this.fi.get(t);return ek.resolve(void 0!==e&&e>r)}])}getCacheSize(e){return this.persistence.getRemoteDocumentCache().getSize(e)}}class sQ{constructor(e){this.serializer=e}k(e,t,r,n){let i=new eD("createOrUpgrade",t);r<1&&n>=1&&(e.createObjectStore(eJ),e.createObjectStore(eX,{keyPath:"userId"}),e.createObjectStore(eZ,{keyPath:e0,autoIncrement:!0}).createIndex(e1,e2,{unique:!0}),e.createObjectStore(e3),sJ(e),e.createObjectStore(eQ));let s=ek.resolve();return r<3&&n>=3&&(0!==r&&(e.deleteObjectStore(ta),e.deleteObjectStore(tn),e.deleteObjectStore(tc),sJ(e)),s=s.next(()=>{let e,t;return e=i.store(tc),t={highestTargetId:0,highestListenSequenceNumber:0,lastRemoteSnapshotVersion:ep.min().toTimestamp(),targetCount:0},e.put(th,t)})),r<4&&n>=4&&(0!==r&&(s=s.next(()=>i.store(eZ).J().next(t=>{e.deleteObjectStore(eZ),e.createObjectStore(eZ,{keyPath:e0,autoIncrement:!0}).createIndex(e1,e2,{unique:!0});let r=i.store(eZ),n=t.map(e=>r.put(e));return ek.waitFor(n)}))),s=s.next(()=>{e.createObjectStore(tp,{keyPath:"clientId"})})),r<5&&n>=5&&(s=s.next(()=>this.gi(i))),r<6&&n>=6&&(s=s.next(()=>(e.createObjectStore(tt),this.pi(i)))),r<7&&n>=7&&(s=s.next(()=>this.yi(i))),r<8&&n>=8&&(s=s.next(()=>this.wi(e,i))),r<9&&n>=9&&(s=s.next(()=>{e.objectStoreNames.contains("remoteDocumentChanges")&&e.deleteObjectStore("remoteDocumentChanges")})),r<10&&n>=10&&(s=s.next(()=>this.Si(i))),r<11&&n>=11&&(s=s.next(()=>{e.createObjectStore(tg,{keyPath:"bundleId"}),e.createObjectStore(tm,{keyPath:"name"})})),r<12&&n>=12&&(s=s.next(()=>{let t;(t=e.createObjectStore(tA,{keyPath:tk})).createIndex(tx,tD,{unique:!1}),t.createIndex(tN,tR,{unique:!1})})),r<13&&n>=13&&(s=s.next(()=>{let t;(t=e.createObjectStore(e5,{keyPath:e8})).createIndex(e4,e7),t.createIndex(e9,te)}).next(()=>this.bi(e,i)).next(()=>e.deleteObjectStore(eQ))),r<14&&n>=14&&(s=s.next(()=>this.Di(e,i))),r<15&&n>=15&&(s=s.next(()=>{e.createObjectStore(ty,{keyPath:"indexId",autoIncrement:!0}).createIndex(tv,"collectionGroup",{unique:!1}),e.createObjectStore(tw,{keyPath:tb}).createIndex(tI,t_,{unique:!1}),e.createObjectStore(tE,{keyPath:tT}).createIndex(tS,tC,{unique:!1})}
6)),r<16&&n>=16&&(s=s.next(()=>{t.objectStore(tw).clear()}).next(()=>{t.objectStore(tE).clear()})),r<17&&n>=17&&(s=s.next(()=>{e.createObjectStore(tO,{keyPath:"name"})})),r<18&&n>=18&&(0,w.isSafariOrWebkit)()&&(s=s.next(()=>{t.objectStore(tw).clear()}).next(()=>{t.objectStore(tE).clear()})),s}pi(e){let t=0;return e.store(eQ).ee((e,r)=>{t+=sp(r)}).next(()=>{let r={byteSize:t};return e.store(tt).put(tr,r)})}gi(e){let t=e.store(eX),r=e.store(eZ);return t.J().next(t=>ek.forEach(t,t=>{let n=IDBKeyRange.bound([t.userId,-1],[t.userId,t.lastAcknowledgedBatchId]);return r.J(e1,n).next(r=>ek.forEach(r,r=>{M(r.userId===t.userId,18650,"Cannot process batch from unexpected user",{batchId:r.batchId});let n=ij(this.serializer,r);return sf(e,t.userId,n).next(()=>{})}))}))}yi(e){let t=e.store(ta),r=e.store(eQ);return e.store(tc).get(th).next(e=>{let n=[];return r.ee((r,i)=>{let s=new et(r),a=[0,eH(s)];n.push(t.get(a).next(r=>r?ek.resolve():t.put({targetId:0,path:eH(s),sequenceNumber:e.highestListenSequenceNumber})))}).next(()=>ek.waitFor(n))})}wi(e,t){e.createObjectStore(td,{keyPath:tf});let r=t.store(td),n=new sa,i=e=>{if(n.add(e)){let t=e.lastSegment(),n=e.popLast();return r.put({collectionId:t,parent:eH(n)})}};return t.store(eQ).ee({Y:!0},(e,t)=>i(new et(e).popLast())).next(()=>t.store(e3).ee({Y:!0},([e,t,r],n)=>i(eW(t).popLast())))}Si(e){let t=e.store(tn);return t.ee((e,r)=>{let n=iq(r),i=iz(this.serializer,n);return t.put(i)})}bi(e,t){let r=t.store(eQ),n=[];return r.ee((e,r)=>{let i=t.store(e5),s=(r.document?new ei(et.fromString(r.document.name).popFirst(5)):r.noDocument?ei.fromSegments(r.noDocument.path):r.unknownDocument?ei.fromSegments(r.unknownDocument.path):P(36783)).path.toArray(),a={prefixPath:s.slice(0,s.length-2),collectionGroup:s[s.length-2],documentId:s[s.length-1],readTime:r.readTime||[0,0],unknownDocument:r.unknownDocument,noDocument:r.noDocument,document:r.document,hasCommittedMutations:!!r.hasCommittedMutations};n.push(i.put(a))}).next(()=>ek.waitFor(n))}Di(e,t){let r=t.store(eZ),n=new sx(this.serializer),i=new sK(sH.Vi,this.serializer.yt);return r.J().next(e=>{let r=new Map;return e.forEach(e=>{let t=r.get(e.userId)??nv();ij(this.serializer,e).keys().forEach(e=>t=t.add(e)),r.set(e.userId,t)}),ek.forEach(r,(e,r)=>{let s=new S(r),a=iQ.wt(this.serializer,s),o=i.getIndexManager(s);return new sL(n,sg.wt(s,this.serializer,o,i.referenceDelegate),a,o).recalculateAndSaveOverlaysForDocumentKeys(new tU(t,ez.ce),e).next()})})}}function sJ(e){e.createObjectStore(ta,{keyPath:to}).createIndex(tl,tu,{unique:!0}),e.createObjectStore(tn,{keyPath:"targetId"}).createIndex(ti,ts,{unique:!0}),e.createObjectStore(tc)}let sY="IndexedDbPersistence",sX="Failed to obtain exclusive access to the persistence layer. To allow shared access, multi-tab synchronization has to be enabled in all tabs. If you are using `experimentalForceOwningTab:true`, make sure that only one tab has persistence enabled at any given time.";class sZ{constructor(e,t,r,n,i,s,a,o,l,u,h=18){if(this.allowTabSynchronization=e,this.persistenceKey=t,this.clientId=r,this.Ci=i,this.window=s,this.document=a,this.Fi=l,this.Mi=u,this.xi=h,this.ai=null,this.ui=!1,this.isPrimary=!1,this.networkEnabled=!0,this.Oi=null,this.inForeground=!1,this.Ni=null,this.Bi=null,this.Li=-1/0,this.ki=e=>Promise.resolve(),!sZ.v())throw new F(V.UNIMPLEMENTED,"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");this.referenceDelegate=new sC(this,n),this.Ki=t+"main",this.serializer=new iM(o),this.qi=new eN(this.Ki,this.xi,new sQ(this.serializer)),this.ci=new iJ,this.li=new sw(this.referenceDelegate,this.serializer),this.remoteDocumentCache=function(e){return new sx(e)}(this.serializer),this.Pi=new iW,this.window&&this.window.localStorage?this.Ui=this.window.localStorage:(this.Ui=null,!1===u&&N(sY,"LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page."))}start(){return this.$i().then(()=>{if(!this.isPrimary&&!this.allowTabSynchronization)throw new F(V.FAILED_PRECONDITION,sX);return this.Wi(),this.Qi(),this.Gi(),this.runTransaction("getHighestListenSequenceNumber","readonly",e=>this.li.getHighestSequenceNumber(e))}).then(e=>{this.ai=new ez(e,this.Fi)}).then(()=>{this.ui=!0}).catch(e=>(this.qi&&this.qi.close(),Promise.reject(e)))}zi(e){return this.ki=async t=>{if(this.started)return e(t)},e(this.isPrimary)}setDatabaseDeletedListener(e){this.qi.q(async t=>{null===t.newVersion&&await e()})}setNetworkEnabled(e){this.networkEnabled!==e&&(this.networkEnabled=e,this.Ci.enqueueAndForget(async()=>{this.started&&await this.$i()}))}$i(){return this.runTransaction("updateClientMetadataAndTryBecomePrimary","readwrite",e=>tB(e,tp).put({clientId:this.clientId,updateTimeMs:Date.now(),networkEnabled:this.networkEnabled,inForeground:this.inForeground}).next(()=>{if(this.isPrimary)return this.ji(e).next(e=>{e||(this.isPrimary=!1,this.Ci.enqueueRetryable(()=>this.ki(!1)))})}).next(()=>this.Ji(e)).next(t=>this.isPrimary&&!t?this.Hi(e).next(()=>!1):!!t&&this.Zi(e).next(()=>!0))).catch(e=>{if(eL(e))return D(sY,"Failed to extend owner lease: ",e),this.isPrimary;if(!this.allowTabSynchronization)throw e;return D(sY,"Releasing owner lease after error during lease refresh",e),!1}).then(e=>{this.isPrimary!==e&&this.Ci.enqueueRetryable(()=>this.ki(e)),this.isPrimary=e})}ji(e){return tB(e,eJ).get(eY).next(e=>ek.resolve(this.Xi(e)))}Yi(e){return tB(e,tp).delete(this.clientId)}async es(){if(this.isPrimary&&!this.ts(this.Li,18e5)){this.Li=Date.now();let e=await this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",e=>{let t=tB(e,tp);return t.J().next(e=>{let r=this.ns(e,18e5),n=e.filter(e=>-1===r.indexOf(e));
6return ek.forEach(n,e=>t.delete(e.clientId)).next(()=>n)})}).catch(()=>[]);if(this.Ui)for(let t of e)this.Ui.removeItem(this.rs(t.clientId))}}Gi(){this.Bi=this.Ci.enqueueAfterDelay("client_metadata_refresh",4e3,()=>this.$i().then(()=>this.es()).then(()=>this.Gi()))}Xi(e){return!!e&&e.ownerId===this.clientId}Ji(e){return this.Mi?ek.resolve(!0):tB(e,eJ).get(eY).next(t=>{if(null!==t&&this.ts(t.leaseTimestampMs,5e3)&&!this.ss(t.ownerId)){if(this.Xi(t)&&this.networkEnabled)return!0;if(!this.Xi(t)){if(!t.allowTabSynchronization)throw new F(V.FAILED_PRECONDITION,sX);return!1}}return!(!this.networkEnabled||!this.inForeground)||tB(e,tp).J().next(e=>void 0===this.ns(e,5e3).find(e=>{if(this.clientId!==e.clientId){let t=!this.networkEnabled&&e.networkEnabled,r=!this.inForeground&&e.inForeground,n=this.networkEnabled===e.networkEnabled;if(t||r&&n)return!0}return!1}))}).next(e=>(this.isPrimary!==e&&D(sY,`Client ${e?"is":"is not"} eligible for a primary lease.`),e))}async shutdown(){this.ui=!1,this._s(),this.Bi&&(this.Bi.cancel(),this.Bi=null),this.us(),this.cs(),await this.qi.runTransaction("shutdown","readwrite",[eJ,tp],e=>{let t=new tU(e,ez.ce);return this.Hi(t).next(()=>this.Yi(t))}),this.qi.close(),this.ls()}ns(e,t){return e.filter(e=>this.ts(e.updateTimeMs,t)&&!this.ss(e.clientId))}hs(){return this.runTransaction("getActiveClients","readonly",e=>tB(e,tp).J().next(e=>this.ns(e,18e5).map(e=>e.clientId)))}get started(){return this.ui}getGlobalsCache(){return this.ci}getMutationQueue(e,t){return sg.wt(e,this.serializer,t,this.referenceDelegate)}getTargetCache(){return this.li}getRemoteDocumentCache(){return this.remoteDocumentCache}getIndexManager(e){return new su(e,this.serializer.yt.databaseId)}getDocumentOverlayCache(e){return iQ.wt(this.serializer,e)}getBundleCache(){return this.Pi}runTransaction(e,t,r){var n;let i;D(sY,"Starting transaction:",e);let s=18===(n=this.xi)||17===n?tF:16===n||15===n?tV:14===n||13===n?tM:12===n?tL:11===n?tP:void P(60245);return this.qi.runTransaction(e,"readonly"===t?"readonly":"readwrite",s,n=>(i=new tU(n,this.ai?this.ai.next():ez.ce),"readwrite-primary"===t?this.ji(i).next(e=>!!e||this.Ji(i)).next(t=>{if(!t)throw N(`Failed to obtain primary lease for action '${e}'.`),this.isPrimary=!1,this.Ci.enqueueRetryable(()=>this.ki(!1)),new F(V.FAILED_PRECONDITION,eS);return r(i)}).next(e=>this.Zi(i).next(()=>e)):this.Ps(i).next(()=>r(i)))).then(e=>(i.raiseOnCommittedEvent(),e))}Ps(e){return tB(e,eJ).get(eY).next(e=>{if(null!==e&&this.ts(e.leaseTimestampMs,5e3)&&!this.ss(e.ownerId)&&!this.Xi(e)&&!(this.Mi||this.allowTabSynchronization&&e.allowTabSynchronization))throw new F(V.FAILED_PRECONDITION,sX)})}Zi(e){let t={ownerId:this.clientId,allowTabSynchronization:this.allowTabSynchronization,leaseTimestampMs:Date.now()};return tB(e,eJ).put(eY,t)}static v(){return eN.v()}Hi(e){let t=tB(e,eJ);return t.get(eY).next(e=>
6this.Xi(e)?(D(sY,"Releasing primary lease."),t.delete(eY)):ek.resolve())}ts(e,t){let r=Date.now();return!(e<r-t)&&(!(e>r)||(N(`Detected an update time that is in the future: ${e} > ${r}`),!1))}Wi(){null!==this.document&&"function"==typeof this.document.addEventListener&&(this.Ni=()=>{this.Ci.enqueueAndForget(()=>(this.inForeground="visible"===this.document.visibilityState,this.$i()))},this.document.addEventListener("visibilitychange",this.Ni),this.inForeground="visible"===this.document.visibilityState)}us(){this.Ni&&(this.document.removeEventListener("visibilitychange",this.Ni),this.Ni=null)}Qi(){"function"==typeof this.window?.addEventListener&&(this.Oi=()=>{this._s();let e=/(?:Version|Mobile)\/1[456]/;(0,w.isSafari)()&&(navigator.appVersion.match(e)||navigator.userAgent.match(e))&&this.Ci.enterRestrictedMode(!0),this.Ci.enqueueAndForget(()=>this.shutdown())},this.window.addEventListener("pagehide",this.Oi))}cs(){this.Oi&&(this.window.removeEventListener("pagehide",this.Oi),this.Oi=null)}ss(e){try{let t=null!==this.Ui?.getItem(this.rs(e));return D(sY,`Client '${e}' ${t?"is":"is not"} zombied in LocalStorage`),t}catch(e){return N(sY,"Failed to get zombied client id.",e),!1}}_s(){if(this.Ui)try{this.Ui.setItem(this.rs(this.clientId),String(Date.now()))}catch(e){N("Failed to set zombie client id.",e)}}ls(){if(this.Ui)try{this.Ui.removeItem(this.rs(this.clientId))}catch(e){}}rs(e){return`firestore_zombie_${this.persistenceKey}_${e}`}}function s0(e,t){let r=e.projectId;return e.isDefaultDatabase||(r+="."+e.database),"firestore/"+t+"/"+r+"/"}class s1{constructor(e,t,r,n){this.targetId=e,this.fromCache=t,this.Ts=r,this.Is=n}static Es(e,t){let r=nv(),n=nv();for(let e of t.docChanges)switch(e.type){case 0:r=r.add(e.doc.key);break;case 1:n=n.add(e.doc.key)}return new s1(e,t.fromCache,r,n)}}class s2{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}}class s6{constructor(){this.Rs=!1,this.As=!1,this.Vs=100,this.ds=(0,w.isSafari)()?8:eR((0,w.getUA)())>0?6:4}initialize(e,t){this.fs=e,this.indexManager=t,this.Rs=!0}getDocumentsMatchingQuery(e,t,r,n){let i={result:null};return this.gs(e,t).next(e=>{i.result=e}).next(()=>{if(!i.result)return this.ps(e,t,n,r).next(e=>{i.result=e})}).next(()=>{if(i.result)return;let r=new s2;return this.ys(e,t,r).next(n=>{if(i.result=n,this.As)return this.ws(e,t,r,n.size)})}).next(()=>i.result)}ws(e,t,r,n){return r.documentReadCount<this.Vs?(x()<=_.LogLevel.DEBUG&&D("QueryEngine","SDK will not create cache indexes for query:",na(t),"since it only creates cache indexes for collection contains","more than or equal to",this.Vs,"documents"),ek.resolve()):(x()<=_.LogLevel.DEBUG&&D("QueryEngine","Query:",na(t),"scans",r.documentReadCount,"local documents and returns",n,"documents as results."),r.documentReadCount>this.ds*n?(x()<=_.LogLevel.DEBUG&&D("QueryEngine","The SDK decides to create cache indexes for query:",na(t),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(e,ne(t))):ek.resolve())}gs(e,t){if(r4(t))return ek.resolve(null);let r=ne(t);return this.indexManager.getIndexType(e,r).next(n=>0===n?null:(null!==t.limit&&1===n&&(r=ne(t=nn(t,null,"F"))),this.indexManager.getDocumentsMatchingTarget(e,r).next(n=>{let i=nv(...n);return this.fs.getDocuments(e,i).next(n=>this.indexManager.getMinOffset(e,r).next(r=>{let s=this.Ss(t,n);return this.bs(t,s,i,r.readTime)?this.gs(e,nn(t,null,"F")):this.Ds(e,s,t,r)}))})))}ps(e,t,r,n){return r4(t)||n.isEqual(ep.min())?ek.resolve(null):this.fs.getDocuments(e,r).next(i=>{let s=this.Ss(t,i);return this.bs(t,s,r,n)?ek.resolve(null):(x()<=_.LogLevel.DEBUG&&D("QueryEngine","Re-using previous result from %s to execute query: %s",n.toString(),na(t)),this.Ds(e,s,t,eI(n,-1)).next(e=>e))})}Ss(e,t){let r=new tH(nu(e));return t.forEach((t,n)=>{no(e,n)&&(r=r.add(n))}),r}bs(e,t,r,n){if(null===e.limit)return!1;if(r.size!==t.size)return!0;let i="F"===e.limitType?t.last():t.first();return!!i&&(i.hasPendingWrites||i.version.compareTo(n)>0)}ys(e,t,r){return x()<=_.LogLevel.DEBUG&&D("QueryEngine","Using full collection scan to execute query:",na(t)),this.fs.getDocumentsMatchingQuery(e,t,eE.min(),r)}Ds(e,t,r,n){return this.fs.getDocumentsMatchingQuery(e,r,n).next(e=>(t.forEach(t=>{e=e.insert(t.key,t)}),e))}}let s3="LocalStore";class s5{constructor(e,t,r,n){this.persistence=e,this.Cs=t,this.serializer
6=n,this.vs=new t$(Q),this.Fs=new nh(e=>rZ(e),r0),this.Ms=new Map,this.xs=e.getRemoteDocumentCache(),this.li=e.getTargetCache(),this.Pi=e.getBundleCache(),this.Os(r)}Os(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new sL(this.xs,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.xs.setIndexManager(this.indexManager),this.Cs.initialize(this.localDocuments,this.indexManager)}collectGarbage(e){return this.persistence.runTransaction("Collect garbage","readwrite-primary",t=>e.collect(t,this.vs))}}async function s8(e,t){return await e.persistence.runTransaction("Handle user change","readonly",r=>{let n;return e.mutationQueue.getAllMutationBatches(r).next(i=>(n=i,e.Os(t),e.mutationQueue.getAllMutationBatches(r))).next(t=>{let i=[],s=[],a=nv();for(let e of n)for(let t of(i.push(e.batchId),e.mutations))a=a.add(t.key);for(let e of t)for(let t of(s.push(e.batchId),e.mutations))a=a.add(t.key);return e.localDocuments.getDocuments(r,a).next(e=>({Ns:e,removedBatchIds:i,addedBatchIds:s}))})})}function s4(e){return e.persistence.runTransaction("Get last remote snapshot version","readonly",t=>e.li.getLastRemoteSnapshotVersion(t))}function s7(e,t,r){let n=nv(),i=nv();return r.forEach(e=>n=n.add(e)),t.getEntries(e,n).next(e=>{let n=nc;return r.forEach((r,s)=>{let a=e.get(r);s.isFoundDocument()!==a.isFoundDocument()&&(i=i.add(r)),s.isNoDocument()&&s.version.isEqual(ep.min())?(t.removeEntry(r,s.readTime),n=n.insert(r,s)):!a.isValidDocument()||s.version.compareTo(a.version)>0||0===s.version.compareTo(a.version)&&a.hasPendingWrites?(t.addEntry(s),n=n.insert(r,s)):D(s3,"Ignoring outdated watch update for ",r,". Current version:",a.version," Watch version:",s.version)}),{Bs:n,Ls:i}})}function s9(e,t){return e.persistence.runTransaction("Allocate target","readwrite",r=>{let n;return e.li.getTargetData(r,t).next(i=>i?(n=i,ek.resolve(n)):e.li.allocateTargetId(r).next(i=>(n=new iL(t,i,"TargetPurposeListen",r.currentSequenceNumber),e.li.addTargetData(r,n).next(()=>n))))}).then(r=>{let n=e.vs.get(r.targetId);return(null===n||r.snapshotVersion.compareTo(n.snapshotVersion)>0)&&(e.vs=e.vs.insert(r.targetId,r),e.Fs.set(t,r.targetId)),r})}async function ae(e,t,r){let n=e.vs.get(t);try{r||await e.persistence.runTransaction("Release target",r?"readwrite":"readwrite-primary",t=>e.persistence.referenceDelegate.removeTarget(t,n))}catch(e){if(!eL(e))throw e;D(s3,`Failed to update sequence numbers for target ${t}: ${e}`)}e.vs=e.vs.remove(t),e.Fs.delete(n.target)}function at(e,t,r){let n=ep.min(),i=nv();return e.persistence.runTransaction("Execute query","readwrite",s=>{var a;let o;return(a=ne(t),void 0!==(o=e.Fs.get(a))?ek.resolve(e.vs.get(o)):e.li.getTargetData(s,a)).next(t=>{if(t)return n=t.lastLimboFreeSnapshotVersion,e.li.getMatchingKeysForTargetId(s,t.targetId).next(e=>{i=e})}).next(()=>e.Cs.getDocumentsMatchingQuery(s,t,r?n:ep.min(),r?i:nv())).next(r=>(ai(e,nl(t),r),{documents:r,ks:i}))})}function ar(e,t){let r=e.li,n=e.vs.get(t);return n?Promise.resolve(n.target):e.persistence.runTransaction("Get target data","readonly",e=>r.At(e,t).next(e=>e?e.target:null))}function an(e,t){let r=e.Ms.get(t)||ep.min();return e.persistence.runTransaction("Get new document changes","readonly",n=>e.xs.getAllFromCollectionGroup(n,t,eI(r,-1),Number.MAX_SAFE_INTEGER)).then(r=>(ai(e,t,r),r))}function ai(e,t,r){let n=e.Ms.get(t)||ep.min();r.forEach((e,t)=>{t.readTime.compareTo(n)>0&&(n=t.readTime)}),e.Ms.set(t,n)}async function as(e,t,r,n){let i=nv(),s=nc;for(let e of r){let r=t.Ks(e.metadata.name);e.document&&(i=i.add(r));let n=t.qs(e);n.setReadTime(t.Us(e.metadata.readTime)),s=s.insert(r,n)}let a=e.xs.newChangeBuffer({trackRemovals:!0}),o=await s9(e,ne(r8(et.fromString(`__bundle__/docs/${n}`))));return e.persistence.runTransaction("Apply bundle documents","readwrite",t=>s7(t,a,s).next(e=>(a.apply(t),e)).next(r=>e.li.removeMatchingKeysForTargetId(t,o.targetId).next(()=>e.li.addMatchingKeys(t,i,o.targetId)).next(()=>e.localDocuments.getLocalViewOfDocuments(t,r.Bs,r.Ls)).next(()=>r.Bs)))}async function aa(e,t,r=nv()){let n=await s9(e,ne(i$(t.bundledQuery)));return e.persistence.runTransaction("Save named query","readwrite",i=>{let s=ip(t.readTime);if(n.snapshotVersion.compareTo(s)>=0)return e.Pi.saveNamedQuery(i,t);let a=n.withResumeToken(tX.EMPTY_BYTE_STRING,s);return e.vs=e.vs.insert(a.targetId,a),e.li.updateTargetData(i,a).next(()=>e.li.removeMatchingKeysForTargetId(i,n.targetId)).next(()=>e.li.addMatchingKeys(i,r,n.targetId)).next(()=>e.Pi.saveNamedQuery(i,t))})}let ao="firestore_clients";function al(e,t){return`${ao}_${e}_${t}`}let au="firestore_mutations";function ah(e,t,r){let n=`${au}_${e}_${r}`;return t.isAuthenticated()&&(n+=`_${t.uid}`),n}let ac="firestore_targets";function ad(e,t){return`${ac}_${e}_${t}`}
6let af="SharedClientState";class ap{constructor(e,t,r,n){this.user=e,this.batchId=t,this.state=r,this.error=n}static $s(e,t,r){let n=JSON.parse(r),i,s="object"==typeof n&&-1!==["pending","acknowledged","rejected"].indexOf(n.state)&&(void 0===n.error||"object"==typeof n.error);return s&&n.error&&(s="string"==typeof n.error.message&&"string"==typeof n.error.code)&&(i=new F(n.error.code,n.error.message)),s?new ap(e,t,n.state,i):(N(af,`Failed to parse mutation state for ID '${t}': ${r}`),null)}Ws(){let e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class ag{constructor(e,t,r){this.targetId=e,this.state=t,this.error=r}static $s(e,t){let r=JSON.parse(t),n,i="object"==typeof r&&-1!==["not-current","current","rejected"].indexOf(r.state)&&(void 0===r.error||"object"==typeof r.error);return i&&r.error&&(i="string"==typeof r.error.message&&"string"==typeof r.error.code)&&(n=new F(r.error.code,r.error.message)),i?new ag(e,r.state,n):(N(af,`Failed to parse target state for ID '${e}': ${t}`),null)}Ws(){let e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class am{constructor(e,t){this.clientId=e,this.activeTargetIds=t}static $s(e,t){let r=JSON.parse(t),n="object"==typeof r&&r.activeTargetIds instanceof Array,i=nw;for(let e=0;n&&e<r.activeTargetIds.length;++e)n=eG(r.activeTargetIds[e]),i=i.add(r.activeTargetIds[e]);return n?new am(e,i):(N(af,`Failed to parse client data for instance '${e}': ${t}`),null)}}class ay{constructor(e,t){this.clientId=e,this.onlineState=t}static $s(e){let t=JSON.parse(e);return"object"==typeof t&&-1!==["Unknown","Online","Offline"].indexOf(t.onlineState)&&"string"==typeof t.clientId?new ay(t.clientId,t.onlineState):(N(af,`Failed to parse online state: ${e}`),null)}}class av{constructor(){this.activeTargetIds=nw}Qs(e){this.activeTargetIds=this.activeTargetIds.add(e)}Gs(e){this.activeTargetIds=this.activeTargetIds.delete(e)}Ws(){return JSON.stringify({activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()})}}class aw{constructor(e,t,r,n,i){this.window=e,this.Ci=t,this.persistenceKey=r,this.zs=n,this.syncEngine=null,this.onlineStateHandler=null,this.sequenceNumberHandler=null,this.js=this.Js.bind(this),this.Hs=new t$(Q),this.started=!1,this.Zs=[];const s=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");this.storage=this.window.localStorage,this.currentUser=i,this.Xs=al(this.persistenceKey,this.zs),this.Ys=function(e){return`firestore_sequence_number_${e}`}(this.persistenceKey),this.Hs=this.Hs.insert(this.zs,new av),this.eo=RegExp(`^${ao}_${s}_([^_]*)$`),this.no=RegExp(`^${au}_${s}_(\\d+)(?:_(.*))?$`),this.ro=RegExp(`^${ac}_${s}_(\\d+)$`),this.io=function(e){return`firestore_online_state_${e}`}(this.persistenceKey),this.so=function(e){return`firestore_bundle_loaded_v2_${e}`}(this.persistenceKey),this.window.addEventListener("storage",this.js)}static v(e){return!(!e||!e.localStorage)}async start(){for(let e of(await this.syncEngine.hs())){if(e===this.zs)continue;let t=this.getItem(al(this.persistenceKey,e));if(t){let r=am.$s(e,t);r&&(this.Hs=this.Hs.insert(r.clientId,r))}}this.oo();let e=this.storage.getItem(this.io);if(e){let t=this._o(e);t&&this.ao(t)}for(let e of this.Zs)this.Js(e);this.Zs=[],this.window.addEventListener("pagehide",()=>this.shutdown()),this.started=!0}writeSequenceNumber(e){this.setItem(this.Ys,JSON.stringify(e))}getAllActiveQueryTargets(){return this.uo(this.Hs)}isActiveQueryTarget(e){let t=!1;return this.Hs.forEach((r,n)=>{n.activeTargetIds.has(e)&&(t=!0)}),t}addPendingMutation(e){this.co(e,"pending")}updateMutationState(e,t,r){this.co(e,t,r),this.lo(e)}addLocalQueryTarget(e,t=!0){let r="not-current";if(this.isActiveQueryTarget(e)){let t=this.storage.getItem(ad(this.persistenceKey,e));if(t){let n=ag.$s(e,t);n&&(r=n.state)}}return t&&this.ho.Qs(e),this.oo(),r}removeLocalQueryTarget(e){this.ho.Gs(e),this.oo()}isLocalQueryTarget(e){return this.ho.activeTargetIds.has(e)}clearQueryState(e){this.removeItem(ad(this.persistenceKey,e))}updateQueryState(e,t,r){this.Po(e,t,r)}
6handleUserChange(e,t,r){t.forEach(e=>{this.lo(e)}),this.currentUser=e,r.forEach(e=>{this.addPendingMutation(e)})}setOnlineState(e){this.To(e)}notifyBundleLoaded(e){this.Io(e)}shutdown(){this.started&&(this.window.removeEventListener("storage",this.js),this.removeItem(this.Xs),this.started=!1)}getItem(e){let t=this.storage.getItem(e);return D(af,"READ",e,t),t}setItem(e,t){D(af,"SET",e,t),this.storage.setItem(e,t)}removeItem(e){D(af,"REMOVE",e),this.storage.removeItem(e)}Js(e){if(e.storageArea===this.storage){if(D(af,"EVENT",e.key,e.newValue),e.key===this.Xs)return void N("Received WebStorage notification for local change. Another client might have garbage-collected our state");this.Ci.enqueueRetryable(async()=>{if(this.started){if(null!==e.key){if(this.eo.test(e.key)){if(null==e.newValue){let t=this.Eo(e.key);return this.Ro(t,null)}{let t=this.Ao(e.key,e.newValue);if(t)return this.Ro(t.clientId,t)}}else if(this.no.test(e.key)){if(null!==e.newValue){let t=this.Vo(e.key,e.newValue);if(t)return this.mo(t)}}else if(this.ro.test(e.key)){if(null!==e.newValue){let t=this.fo(e.key,e.newValue);if(t)return this.po(t)}}else if(e.key===this.io){if(null!==e.newValue){let t=this._o(e.newValue);if(t)return this.ao(t)}}else if(e.key===this.Ys){let t=function(e){let t=ez.ce;if(null!=e)try{let r=JSON.parse(e);M("number"==typeof r,30636,{yo:e}),t=r}catch(e){N(af,"Failed to read sequence number from WebStorage",e)}return t}(e.newValue);t!==ez.ce&&this.sequenceNumberHandler(t)}else if(e.key===this.so){let t=this.wo(e.newValue);await Promise.all(t.map(e=>this.syncEngine.So(e)))}}}else this.Zs.push(e)})}}get ho(){return this.Hs.get(this.zs)}oo(){this.setItem(this.Xs,this.ho.Ws())}co(e,t,r){let n=new ap(this.currentUser,e,t,r),i=ah(this.persistenceKey,this.currentUser,e);this.setItem(i,n.Ws())}lo(e){let t=ah(this.persistenceKey,this.currentUser,e);this.removeItem(t)}To(e){let t={clientId:this.zs,onlineState:e};this.storage.setItem(this.io,JSON.stringify(t))}Po(e,t,r){let n=ad(this.persistenceKey,e),i=new ag(e,t,r);this.setItem(n,i.Ws())}Io(e){let t=JSON.stringify(Array.from(e));this.setItem(this.so,t)}Eo(e){let t=this.eo.exec(e);return t?t[1]:null}Ao(e,t){let r=this.Eo(e);return am.$s(r,t)}Vo(e,t){let r=this.no.exec(e),n=Number(r[1]),i=void 0!==r[2]?r[2]:null;return ap.$s(new S(i),n,t)}fo(e,t){let r=Number(this.ro.exec(e)[1]);return ag.$s(r,t)}_o(e){return ay.$s(e)}wo(e){return JSON.parse(e)}async mo(e){if(e.user.uid===this.currentUser.uid)return this.syncEngine.bo(e.batchId,e.state,e.error);D(af,`Ignoring mutation for non-active user ${e.user.uid}`)}po(e){return this.syncEngine.Do(e.targetId,e.state,e.error)}Ro(e,t){let r=t?this.Hs.insert(e,t):this.Hs.remove(e),n=this.uo(this.Hs),i=this.uo(r),s=[],a=[];return i.forEach(e=>{n.has(e)||s.push(e)}),n.forEach(e=>{i.has(e)||a.push(e)}),this.syncEngine.Co(s,a).then(()=>{this.Hs=r})}ao(e){this.Hs.get(e.clientId)&&this.onlineStateHandler(e.onlineState)}uo(e){let t=nw;return e.forEach((e,r)=>{t=t.unionWith(r.activeTargetIds)}),t}}class ab{constructor(){this.vo=new av,this.Fo={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,r){}addLocalQueryTarget(e,t=!0){return t&&this.vo.Qs(e),this.Fo[e]||"not-current"}updateQueryState(e,t,r){this.Fo[e]=t}removeLocalQueryTarget(e){this.vo.Gs(e)}isLocalQueryTarget(e){return this.vo.activeTargetIds.has(e)}clearQueryState(e){delete this.Fo[e]}getAllActiveQueryTargets(){return this.vo.activeTargetIds}isActiveQueryTarget(e){return this.vo.activeTargetIds.has(e)}start(){return this.vo=new av,Promise.resolve()}handleUserChange(e,t,r){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}class aI{Mo(e){}shutdown(){}}let a_="ConnectivityMonitor";class aE{constructor(){this.xo=()=>this.Oo(),this.No=()=>this.Bo(),this.Lo=[],this.ko()}Mo(e){this.Lo.push(e)}shutdown(){window.removeEventListener("online",this.xo),window.removeEventListener("offline",this.No)}ko(){window.addEventListener("online",this.xo),window.addEventListener("offline",this.No)}Oo(){for(let e of(D(a_,"Network connectivity changed: AVAILABLE"),this.Lo))e(0)}Bo(){for(let e of(D(a_,"Network connectivity changed: UNAVAILABLE"),this.Lo))e(1)}static v(){return"u">typeof window&&void 0!==window.addEventListener&&void 0!==window.removeEventListener}}let aT=null;function aS(){return null===aT?aT=0x10000000+Math.round(0x80000000*Math.random()):aT++,"0x"+aT.toString(16)}let aC="RestConnection",aA={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregation
6Query:"runAggregationQuery",ExecutePipeline:"executePipeline"};class ak{get Ko(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;const t=e.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),n=encodeURIComponent(this.databaseId.database);this.qo=t+"://"+e.host,this.Uo=`projects/${r}/databases/${n}`,this.$o=this.databaseId.database===rt?`project_id=${r}`:`project_id=${r}&database_id=${n}`}Wo(e,t,r,n,i){let s=aS(),a=this.Qo(e,t.toUriEncodedString());D(aC,`Sending RPC '${e}' ${s}:`,a,r);let o={"google-cloud-resource-prefix":this.Uo,"x-goog-request-params":this.$o};this.Go(o,n,i);let{host:l}=new URL(a),u=(0,w.isCloudWorkstation)(l);return this.zo(e,a,o,r,u).then(t=>(D(aC,`Received RPC '${e}' ${s}: `,t),t),t=>{throw R(aC,`RPC '${e}' ${s} failed with error: `,t,"url: ",a,"request:",r),t})}jo(e,t,r,n,i,s){return this.Wo(e,t,r,n,i)}Go(e,t,r){e["X-Goog-Api-Client"]="gl-js/ fire/"+C,e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach((t,r)=>e[r]=t),r&&r.headers.forEach((t,r)=>e[r]=t)}Qo(e,t){let r=aA[e],n=`${this.qo}/v1/${t}:${r}`;return this.databaseInfo.apiKey&&(n=`${n}?key=${encodeURIComponent(this.databaseInfo.apiKey)}`),n}terminate(){}}class ax{constructor(e){this.Jo=e.Jo,this.Ho=e.Ho}Zo(e){this.Xo=e}Yo(e){this.e_=e}t_(e){this.n_=e}onMessage(e){this.r_=e}close(){this.Ho()}send(e){this.Jo(e)}i_(){this.Xo()}s_(){this.e_()}o_(e){this.n_(e)}__(e){this.r_(e)}}let aD="WebChannelConnection",aN=(e,t,r)=>{e.listen(t,e=>{try{r(e)}catch(e){setTimeout(()=>{throw e},0)}})};class aR extends ak{constructor(e){super(e),this.a_=[],this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}static u_(){aR.c_||(aN(u(),l.STAT_EVENT,e=>{e.stat===o.PROXY?D(aD,"STAT_EVENT: detected buffering proxy"):e.stat===o.NOPROXY&&D(aD,"STAT_EVENT: detected no buffering proxy")}),aR.c_=!0)}zo(e,t,r,i,o){let l=aS();return new Promise((o,u)=>{let h=new n;h.setWithCredentials(!0),h.listenOnce(s.COMPLETE,()=>{try{switch(h.getLastErrorCode()){case a.NO_ERROR:let t=h.getResponseJson();D(aD,`XHR for RPC '${e}' ${l} received:`,JSON.stringify(t)),o(t);break;case a.TIMEOUT:D(aD,`RPC '${e}' ${l} timed out`),u(new F(V.DEADLINE_EXCEEDED,"Request time out"));break;case a.HTTP_ERROR:let r=h.getStatus();if(D(aD,`RPC '${e}' ${l} failed with status:`,r,"response text:",h.getResponseText()),r>0){let e=h.getResponseJson();Array.isArray(e)&&(e=e[0]);let t=e?.error;if(t&&t.status&&t.message){let e,r=(e=t.status.toLowerCase().replace(/_/g,"-"),Object.values(V).indexOf(e)>=0?e:V.UNKNOWN);u(new F(r,t.message))}else u(new F(V.UNKNOWN,"Server responded with status "+h.getStatus()))}else u(new F(V.UNAVAILABLE,"Connection failed."));break;default:P(9055,{l_:e,streamId:l,h_:h.getLastErrorCode(),P_:h.getLastError()})}}finally{D(aD,`RPC '${e}' ${l} completed.`)}});let c=JSON.stringify(i);D(aD,`RPC '${e}' ${l} sending request:`,i),h.send(t,"POST",c,r,15)})}T_(e,t,r){let n=aS(),s=[this.qo,"/","google.firestore.v1.Firestore","/",e,"/channel"],a=this.createWebChannelTransport(),o={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:`projects/${this.databaseId.projectId}/databases/${this.databaseId.database}`},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling},l=this.longPollingOptions.timeoutSeconds;void 0!==l&&(o.longPollingTimeout=Math.round(1e3*l)),this.useFetchStreams&&(o.useFetchStreams=!0),this.Go(o.initMessageHeaders,t,r),o.encodeInitMessageHeaders=!0;let u=s.join("");D(aD,`Creating RPC '${e}' stream ${n}: ${u}`,o);let h=a.createWebChannel(u,o);this.I_(h);let d=!1,f=!1,p=new ax({Jo:t=>{f?D(aD,`Not sending because RPC '${e}' stream ${n} is closed:`,t):(d||(D(aD,`Opening RPC '${e}' stream ${n} transport.`),h.open(),d=!0),D(aD,`RPC '${e}' stream ${n} sending:`,t),h.send(t))},Ho:()=>h.close()});return aN(h,i.EventType.OPEN,()=>{f||(D(aD,`RPC '${e}' stream ${n} transport opened.`),p.i_())}),aN(h,i.EventType.CLOSE,()=>{f||(f=!0,D(aD,`RPC '${e}' stream ${n} transport closed`),p.o_(),this.E_(h))}
6),aN(h,i.EventType.ERROR,t=>{f||(f=!0,R(aD,`RPC '${e}' stream ${n} transport errored. Name:`,t.name,"Message:",t.message),p.o_(new F(V.UNAVAILABLE,"The operation could not be completed")))}),aN(h,i.EventType.MESSAGE,t=>{if(!f){let r=t.data[0];M(!!r,16349);let i=r?.error||r[0]?.error;if(i){D(aD,`RPC '${e}' stream ${n} received error:`,i);let t=i.status,r=function(e){let t=c[e];if(void 0!==t)return nX(t)}(t),s=i.message;"NOT_FOUND"===t&&s.includes("database")&&s.includes("does not exist")&&s.includes(this.databaseId.database)&&R(`Database '${this.databaseId.database}' not found. Please check your project configuration.`),void 0===r&&(r=V.INTERNAL,s="Unknown error status: "+t+" with message "+i.message),f=!0,p.o_(new F(r,s)),h.close()}else D(aD,`RPC '${e}' stream ${n} received:`,r),p.__(r)}}),aR.u_(),setTimeout(()=>{p.s_()},0),p}terminate(){this.a_.forEach(e=>e.close()),this.a_=[]}I_(e){this.a_.push(e)}E_(e){this.a_=this.a_.filter(t=>t===e)}Go(e,t,r){super.Go(e,t,r),this.databaseInfo.apiKey&&(e["x-goog-api-key"]=this.databaseInfo.apiKey)}createWebChannelTransport(){return h()}}function aO(){return"u">typeof window?window:null}function aP(){return"u">typeof document?document:null}function aL(e){return new iu(e,!0)}aR.c_=!1;class aM{constructor(e,t,r=1e3,n=1.5,i=6e4){this.Ci=e,this.timerId=t,this.R_=r,this.A_=n,this.V_=i,this.d_=0,this.m_=null,this.f_=Date.now(),this.reset()}reset(){this.d_=0}g_(){this.d_=this.V_}p_(e){this.cancel();let t=Math.floor(this.d_+this.y_()),r=Math.max(0,Date.now()-this.f_),n=Math.max(0,t-r);n>0&&D("ExponentialBackoff",`Backing off for ${n} ms (base delay: ${this.d_} ms, delay with jitter: ${t} ms, last attempt: ${r} ms ago)`),this.m_=this.Ci.enqueueAfterDelay(this.timerId,n,()=>(this.f_=Date.now(),e())),this.d_*=this.A_,this.d_<this.R_&&(this.d_=this.R_),this.d_>this.V_&&(this.d_=this.V_)}w_(){null!==this.m_&&(this.m_.skipDelay(),this.m_=null)}cancel(){null!==this.m_&&(this.m_.cancel(),this.m_=null)}y_(){return(Math.random()-.5)*this.d_}}let aV="PersistentStream";class aF{constructor(e,t,r,n,i,s,a,o){this.Ci=e,this.S_=r,this.b_=n,this.connection=i,this.authCredentialsProvider=s,this.appCheckCredentialsProvider=a,this.listener=o,this.state=0,this.D_=0,this.C_=null,this.v_=null,this.stream=null,this.F_=0,this.M_=new aM(e,t)}x_(){return 1===this.state||5===this.state||this.O_()}O_(){return 2===this.state||3===this.state}start(){this.F_=0,4!==this.state?this.auth():this.N_()}async stop(){this.x_()&&await this.close(0)}B_(){this.state=0,this.M_.reset()}L_(){this.O_()&&null===this.C_&&(this.C_=this.Ci.enqueueAfterDelay(this.S_,6e4,()=>this.k_()))}K_(e){this.q_(),this.stream.send(e)}async k_(){if(this.O_())return this.close(0)}q_(){this.C_&&(this.C_.cancel(),this.C_=null)}U_(){this.v_&&(this.v_.cancel(),this.v_=null)}async close(e,t){this.q_(),this.U_(),this.M_.cancel(),this.D_++,4!==e?this.M_.reset():t&&t.code===V.RESOURCE_EXHAUSTED?(N(t.toString()),N("Using maximum backoff delay to prevent overloading the backend."),this.M_.g_()):t&&t.code===V.UNAUTHENTICATED&&3!==this.state&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),null!==this.stream&&(this.W_(),this.stream.close(),this.stream=null),this.state=e,await this.listener.t_(t)}W_(){}auth(){this.state=1;let e=this.Q_(this.D_),t=this.D_;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([e,r])=>{this.D_===t&&this.G_(e,r)},t=>{e(()=>{let e=new F(V.UNKNOWN,"Fetching auth token failed: "+t.message);return this.z_(e)})})}G_(e,t){let r=this.Q_(this.D_);this.stream=this.j_(e,t),this.stream.Zo(()=>{r(()=>this.listener.Zo())}),this.stream.Yo(()=>{r(()=>(this.state=2,this.v_=this.Ci.enqueueAfterDelay(this.b_,1e4,()=>(this.O_()&&(this.state=3),Promise.resolve())),this.listener.Yo()))}),this.stream.t_(e=>{r(()=>this.z_(e))}),this.stream.onMessage(e=>{r(()=>1==++this.F_?this.J_(e):this.onNext(e))})}N_(){this.state=5,this.M_.p_(async()=>{this.state=0,this.start()})}z_(e){return D(aV,`close with error: ${e}`),this.stream=null,this.close(4,e)}Q_(e){return t=>{this.Ci.enqueueAndForget(()=>this.D_===e?t():(D(aV,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class aU extends aF{constructor(e,t,r,n,i,s){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,r,n,s),this.serializer
6=i}j_(e,t){return this.connection.T_("Listen",e,t)}J_(e){return this.onNext(e)}onNext(e){this.M_.reset();let t=function(e,t){let r;if("targetChange"in t){var n,i;t.targetChange;let s="NO_CHANGE"===(n=t.targetChange.targetChangeType||"NO_CHANGE")?0:"ADD"===n?1:"REMOVE"===n?2:"CURRENT"===n?3:"RESET"===n?4:P(39313,{state:n}),a=t.targetChange.targetIds||[],o=(i=t.targetChange.resumeToken,e.useProto3Json?(M(void 0===i||"string"==typeof i,58123),tX.fromBase64String(i||"")):(M(void 0===i||i instanceof v.Buffer||i instanceof Uint8Array,16193),tX.fromUint8Array(i||new Uint8Array))),l=t.targetChange.cause;r=new ie(s,a,o,l&&new F(void 0===l.code?V.UNKNOWN:nX(l.code),l.message||"")||null)}else if("documentChange"in t){t.documentChange;let n=t.documentChange;n.document,n.document.name,n.document.updateTime;let i=iw(e,n.document.name),s=ip(n.document.updateTime),a=n.document.createTime?ip(n.document.createTime):ep.min(),o=new rx({mapValue:{fields:n.document.fields}}),l=rD.newFoundDocument(i,s,a,o);r=new n7(n.targetIds||[],n.removedTargetIds||[],l.key,l)}else if("documentDelete"in t){t.documentDelete;let n=t.documentDelete;n.document;let i=iw(e,n.document),s=n.readTime?ip(n.readTime):ep.min(),a=rD.newNoDocument(i,s);r=new n7([],n.removedTargetIds||[],a.key,a)}else if("documentRemove"in t){t.documentRemove;let n=t.documentRemove;n.document;let i=iw(e,n.document);r=new n7([],n.removedTargetIds||[],i,null)}else{if(!("filter"in t))return P(11601,{Vt:t});{t.filter;let e=t.filter;e.targetId;let{count:n=0,unchangedNames:i}=e,s=new nJ(n,i);r=new n9(e.targetId,s)}}return r}(this.serializer,e),r=function(e){if(!("targetChange"in e))return ep.min();let t=e.targetChange;return t.targetIds&&t.targetIds.length?ep.min():t.readTime?ip(t.readTime):ep.min()}(e);return this.listener.H_(t,r)}Z_(e){let t,r={};r.database=i_(this.serializer),r.addTarget=function(e,t){let r,n=t.target;if((r=r1(n)?{documents:ik(e,n)}:{query:ix(e,n).ft}).targetId=t.targetId,t.resumeToken.approximateByteSize()>0){r.resumeToken=id(e,t.resumeToken);let n=ih(e,t.expectedCount);null!==n&&(r.expectedCount=n)}else if(t.snapshotVersion.compareTo(ep.min())>0){r.readTime=ic(e,t.snapshotVersion.toTimestamp());let n=ih(e,t.expectedCount);null!==n&&(r.expectedCount=n)}return r}(this.serializer,e);let n=(this.serializer,null==(t=function(e){switch(e){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return P(28987,{purpose:e})}}(e.purpose))?null:{"goog-listen-tags":t});n&&(r.labels=n),this.K_(r)}X_(e){let t={};t.database=i_(this.serializer),t.removeTarget=e,this.K_(t)}}class aB extends aF{constructor(e,t,r,n,i,s){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,r,n,s),this.serializer=i}get Y_(){return this.F_>0}start(){this.lastStreamToken=void 0,super.start()}W_(){this.Y_&&this.ea([])}j_(e,t){return this.connection.T_("Write",e,t)}J_(e){return M(!!e.streamToken,31322),this.lastStreamToken=e.streamToken,M(!e.writeResults||0===e.writeResults.length,55816),this.listener.ta()}onNext(e){var t,r;M(!!e.streamToken,12678),this.lastStreamToken=e.streamToken,this.M_.reset();let n=(t=e.writeResults,r=e.commitTime,t&&t.length>0?(M(void 0!==r,14353),t.map(e=>{let t;return(t=e.updateTime?ip(e.updateTime):ip(r)).isEqual(ep.min())&&(t=ip(r)),new nO(t,e.transformResults||[])})):[]),i=ip(e.commitTime);return this.listener.na(i,n)}ra(){let e={};e.database=i_(this.serializer),this.K_(e)}ea(e){let t={streamToken:this.lastStreamToken,writes:e.map(e=>iC(this.serializer,e))};this.K_(t)}}class aj{}class aq extends aj{constructor(e,t,r,n){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=r,this.serializer=n,this.ia=!1}sa(){if(this.ia)throw new F(V.FAILED_PRECONDITION,"The client has already been terminated.")}Wo(e,t,r,n){return this.sa(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([i,s])=>this.connection.Wo(e,im(t,r),n,i,s)).catch(e=>{throw"FirebaseError"===e.name?(e.code===V.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new F(V.UNKNOWN,e.toString())})}jo(e,t,r,n,i){return this.sa(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([s,a])=>this.connection.jo(e,im(t,r),n,s,a,i)).catch(e=>{throw"FirebaseError"===e.name?(e.code===V.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new F(V.UNKNOWN,e.toString())})}terminate(){this.ia=!0,this.connection.terminate()}}class az{constructor(e,t){this.asyncQueue=e,this.onlineStateHandler=t,this.state="Unknown",this.oa=0,this._a=null,this.aa=!0}ua(){0===this.oa&&(this.ca("Unknown"),this._a=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,()=>(this._a=null,this.la("Backend didn't respond within 10 seconds."),this.ca("Offline"),Promise.resolve())))}ha(e){"Online"===this.state?this.ca("Unknown"):(this.oa++,this.oa>=1&&(this.Pa(),this.la(`Connection failed 1 times. Most recent error: ${e.toString()}`),this.ca("Offline")))}set(e){this.Pa(),this.oa=0,"Online"===e&&(this.aa=!1),this.ca(e)}ca(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))}la(e){let t=`Could not reach Cloud Firestore backend. ${e} 7This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.`;this.aa?(N(t),this.aa=!1):D("OnlineStateTracker",t)}Pa(){null!==this._a&&(this._a.cancel(),this._a=null)}}let a$="RemoteStore";class aK{constructor(e,t,r,n,i){this.localStore=e,this.datastore=t,this.asyncQueue=r,this.remoteSyncer={},this.Ta=[],this.Ia=new Map,this.Ea=new Map,this.Ra=new Map,this.Aa=new sv(1e3),this.Va=new sv(1001),this.da=new Set,this.ma=[],this.fa=i,this.fa.Mo(e=>{r.enqueueAndForget(async()=>
7{a1(this)&&(D(a$,"Restarting streams for network reachability change."),await async function(e){e.da.add(4),await aH(e),e.ga.set("Unknown"),e.da.delete(4),await aG(e)}(this))})}),this.ga=new az(r,n)}}async function aG(e){if(a1(e))for(let t of e.ma)await t(!0)}async function aH(e){for(let t of e.ma)await t(!1)}function aW(e,t){return e.Ea.get(t)||void 0}function aQ(e,t){var r;let n,i,s=aW(e,t.targetId);if(void 0!==s&&e.Ia.has(s))return;let a=(void 0!==(n=aW(e,r=t.targetId))&&e.Ra.delete(n),i=r%2!=0?e.Va.next():e.Aa.next(),e.Ea.set(r,i),e.Ra.set(i,r),i);D(a$,"remoteStoreListen mapping SDK target ID to remote",t.targetId,a);let o=new iL(t.target,a,t.purpose,t.sequenceNumber,t.snapshotVersion,t.lastLimboFreeSnapshotVersion,t.resumeToken);e.Ia.set(a,o),a0(e)?aZ(e):oo(e).O_()&&aY(e,o)}function aJ(e,t){let r=oo(e),n=aW(e,t);D(a$,"remoteStoreUnlisten removing mapping of SDK target ID to remote",t,n),e.Ia.delete(n),e.Ea.delete(t),e.Ra.delete(n),r.O_()&&aX(e,n),0===e.Ia.size&&(r.O_()?r.L_():a1(e)&&e.ga.set("Unknown"))}function aY(e,t){if(e.pa.$e(t.targetId),t.resumeToken.approximateByteSize()>0||t.snapshotVersion.compareTo(ep.min())>0){let r=e.Ra.get(t.targetId);if(void 0===r)return void D(a$,"SDK target ID not found for remote ID: "+t.targetId);let n=e.remoteSyncer.getRemoteKeysForTarget(r).size;t=t.withExpectedCount(n)}oo(e).Z_(t)}function aX(e,t){e.pa.$e(t),oo(e).X_(t)}function aZ(e){e.pa=new ir({getRemoteKeysForTarget:t=>{let r=e.Ra.get(t);return void 0!==r?e.remoteSyncer.getRemoteKeysForTarget(r):nv()},At:t=>e.Ia.get(t)||null,ht:()=>e.datastore.serializer.databaseId}),oo(e).start(),e.ga.ua()}function a0(e){return a1(e)&&!oo(e).x_()&&e.Ia.size>0}function a1(e){return 0===e.da.size}async function a2(e){e.ga.set("Online")}async function a6(e){e.Ia.forEach((t,r)=>{aY(e,t)})}async function a3(e,t){e.pa=void 0,a0(e)?(e.ga.ha(t),aZ(e)):e.ga.set("Unknown")}async function a5(e,t,r){if(e.ga.set("Online"),t instanceof ie&&2===t.state&&t.cause)try{await async function(e,t){let r=t.cause;for(let n of t.targetIds){if(e.Ia.has(n)){let t=e.Ra.get(n);void 0!==t&&(await e.remoteSyncer.rejectListen(t,r),e.Ea.delete(t),e.Ra.delete(n)),e.Ia.delete(n)}e.pa.removeTarget(n)}}(e,t)}catch(r){D(a$,"Failed to remove targets %s: %s ",t.targetIds.join(","),r),await a8(e,r)}else if(t instanceof n7?e.pa.Xe(t):t instanceof n9?e.pa.st(t):e.pa.tt(t),!r.isEqual(ep.min()))try{let t,n,i,s,a=await s4(e.localStore);r.compareTo(a)>
7=0&&await ((t=e.pa.Tt(r)).targetChanges.forEach((t,n)=>{if(t.resumeToken.approximateByteSize()>0){let i=e.Ia.get(n);i&&e.Ia.set(n,i.withResumeToken(t.resumeToken,r))}}),t.targetMismatches.forEach((t,r)=>{let n=e.Ia.get(t);if(!n)return;e.Ia.set(t,n.withResumeToken(tX.EMPTY_BYTE_STRING,n.snapshotVersion)),aX(e,t);let i=new iL(n.target,t,r,n.sequenceNumber);aY(e,i)}),n=new Map,t.targetChanges.forEach((t,r)=>{let i=e.Ra.get(r);void 0!==i&&n.set(i,t)}),i=new t$(Q),t.targetMismatches.forEach((t,r)=>{let n=e.Ra.get(t);void 0!==n&&(i=i.insert(n,r))}),s=new n8(t.snapshotVersion,n,i,t.documentUpdates,t.resolvedLimboDocuments),e.remoteSyncer.applyRemoteEvent(s))}catch(t){D(a$,"Failed to raise snapshot:",t),await a8(e,t)}}async function a8(e,t,r){if(!eL(t))throw t;e.da.add(1),await aH(e),e.ga.set("Offline"),r||(r=()=>s4(e.localStore)),e.asyncQueue.enqueueRetryable(async()=>{D(a$,"Retrying IndexedDB access"),await r(),e.da.delete(1),await aG(e)})}function a4(e,t){return t().catch(r=>a8(e,r,t))}async function a7(e){var t;let r=ol(e),n=e.Ta.length>0?e.Ta[e.Ta.length-1].batchId:-1;for(;a1(t=e)&&t.Ta.length<10;)try{let t=await function(e,t){return e.persistence.runTransaction("Get next mutation batch","readonly",r=>(void 0===t&&(t=-1),e.mutationQueue.getNextMutationBatchAfterBatchId(r,t)))}(e.localStore,n);if(null===t){0===e.Ta.length&&r.L_();break}n=t.batchId,function(e,t){e.Ta.push(t);let r=ol(e);r.O_()&&r.Y_&&r.ea(t.mutations)}(e,t)}catch(t){await a8(e,t)}a9(e)&&oe(e)}function a9(e){return a1(e)&&!ol(e).x_()&&e.Ta.length>0}function oe(e){ol(e).start()}async function ot(e){ol(e).ra()}async function or(e){let t=ol(e);for(let r of e.Ta)t.ea(r.mutations)}async function on(e,t,r){let n=e.Ta.shift(),i=nW.from(n,t,r);await a4(e,()=>e.remoteSyncer.applySuccessfulWrite(i)),await a7(e)}async function oi(e,t){t&&ol(e).Y_&&await async function(e,t){var r;if(nY(r=t.code)&&r!==V.ABORTED){let r=e.Ta.shift();ol(e).B_(),await a4(e,()=>e.remoteSyncer.rejectFailedWrite(r.batchId,t)),await a7(e)}}(e,t),a9(e)&&oe(e)}async function os(e,t){e.asyncQueue.verifyOperationInProgress(),D(a$,"RemoteStore received new credentials");let r=a1(e);e.da.add(3),await aH(e),r&&e.ga.set("Unknown"),await e.remoteSyncer.handleCredentialChange(t),e.da.delete(3),await aG(e)}async function oa(e,t){t?(e.da.delete(2),await aG(e)):t||(e.da.add(2),await aH(e),e.ga.set("Unknown"))}function oo(e){var t,r,n;return e.ya||(t=e.datastore,r=e.asyncQueue,n={Zo:a2.bind(null,e),Yo:a6.bind(null,e),t_:a3.bind(null,e),H_:a5.bind(null,e)},t.sa(),e.ya=new aU(r,t.connection,t.authCredentials,t.appCheckCredentials,t.serializer,n),e.ma.push(async t=>{t?(e.ya.B_(),a0(e)?aZ(e):e.ga.set("Unknown")):(await e.ya.stop(),e.pa=void 0)})),e.ya}function ol(e){var t,r,n;return e.wa||(t=e.datastore,r=e.asyncQueue,n={Zo:()=>Promise.resolve(),Yo:ot.bind(null,e),t_:oi.bind(null,e),ta:or.bind(null,e),na:on.bind(null,e)},t.sa(),e.wa=new aB(r,t.connection,t.authCredentials,t.appCheckCredentials,t.serializer,n),e.ma.push(async t=>{t?(e.wa.B_(),await a7(e)):(await e.wa.stop(),e.Ta.length>0&&(D(a$,`Stopping write stream with ${e.Ta.length} pending writes`),e.Ta=[]))})),e.wa}class ou{constructor(e,t,r,n,i){this.asyncQueue=e,this.timerId=t,this.targetTimeMs=r,this.op=n,this.removalCallback=i,this.deferred=new U,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch(e=>{})}get promise(){return this.deferred.promise}static createAndSchedule(e,t,r,n,i){let s=new ou(e,t,Date.now()+r,n,i);return s.start(r),s}start(e){this.timerHandle=setTimeout(()=>this.handleDelayElapsed(),e)}skipDelay(){return this.handleDelayElapsed()}cancel(e){null!==this.timerHandle&&(this.clearTimeout(),this.deferred.reject(new F(V.CANCELLED,"Operation cancelled"+(e?": "+e:""))))}handleDelayElapsed(){this.asyncQueue.enqueueAndForget(()=>null!==this.timerHandle?(this.clearTimeout(),this.op().then(e=>this.deferred.resolve(e))):Promise.resolve())}clearTimeout(){null!==this.timerHandle&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)}}function oh(e,t){if(N("AsyncQueue",`${t}: ${e}`),eL(e))return new F(V.UNAVAILABLE,`${t}: ${e}`);throw e}class oc{static emptySet(e){return new oc(e.comparator)}constructor(e){this.comparator=e?(t,r)=>e(t,r)||ei.comparator(t.key,r.key):(e,t)=>ei.comparator(e.key,t.key),this.keyedMap=nf(),this.sortedSet=new t$(this.comparator)}has(e){return null!=this.keyedMap.get(e)}get(e){return this.keyedMap.get(e)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(e){let t=this.keyedMap.get(e);return t?this.sortedSet.indexOf(t):-1}get size(){return this.sortedSet.size}forEach(e){this.sortedSet.inorderTraversal((t,r)=>(e(t),!1))}add(e){let t=this.delete(e.key);return t.copy(t.keyedMap.insert(e.key,e),t.sortedSet.insert(e,null))}delete(e){let t=this.get(e);return t?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(t)):this}isEqual(e){if(!(e instanceof oc)||this.size!==e.size)return!1;let t=this.sortedSet.getIterator(),r=e.sortedSet.getIterator();for(;t.hasNext();){let e=t.getNext().key,n=r.getNext().key;if(!e.isEqual(n))return!1}return!0}toString(){let e=[];return this.forEach(t=>{e.push(t.toString())}),0===e.length?"DocumentSet ()":"DocumentSet (\n "+e.join(" \n")+"\n)"}copy(e,t){let r=new oc;return r.comparator=this.comparator,r.keyedMap=e,r.sortedSet=t,r}}class od{constructor(){this.Sa=new t$(ei.comparator)}track(e){let t=e.doc.key,r=this.Sa.get(t);r?0!==e.type&&3===r.type?this.Sa=this.Sa.insert(t,e):3===e.type&&1!==r.type?this.Sa=this.Sa.insert(t,{type:r.type,doc:e.doc}):2===e.type&&2===r.type?this.Sa=this.Sa.insert(t,{type:2,doc:e.doc}):2===e.type&&0===r.type?this.Sa=this.Sa.insert(t,{type:0,doc:e.doc}):1===e.type&&0===r.type?this.Sa=this.Sa.remove(t):1===e.type&&2===r.type?this.Sa=this.Sa.insert(t,{type:1,doc:r.doc}):0===e.type&&1===r.type?this.Sa=this.Sa.insert(t,{type:2,doc:e.doc}):P(63341,{Vt:e,ba:r}):this.Sa=this.Sa.insert(t,e)}Da(){let e=[];return this.Sa.inorderTraversal((t,r)=>{e.push(r)}),e}}class of{constructor(e,t,r,n,i,s,a,o,l){this.query=e,this.docs=t,this.oldDocs=r,this.docChanges=n,this.mutatedKeys=i,this.fromCache=s,this.syncStateChanged=a,this.excludesMetadataChanges=o,this.hasCachedResults=l}static fromInitialDocuments(e,t,r,n,i){let s=[];
7return t.forEach(e=>{s.push({type:0,doc:e})}),new of(e,t,oc.emptySet(t),s,r,n,!0,!1,i)}get hasPendingWrites(){return!this.mutatedKeys.isEmpty()}isEqual(e){if(!(this.fromCache===e.fromCache&&this.hasCachedResults===e.hasCachedResults&&this.syncStateChanged===e.syncStateChanged&&this.mutatedKeys.isEqual(e.mutatedKeys)&&ni(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;let t=this.docChanges,r=e.docChanges;if(t.length!==r.length)return!1;for(let e=0;e<t.length;e++)if(t[e].type!==r[e].type||!t[e].doc.isEqual(r[e].doc))return!1;return!0}}class op{constructor(){this.Ca=void 0,this.va=[]}Fa(){return this.va.some(e=>e.Ma())}}class og{constructor(){this.queries=om(),this.onlineState="Unknown",this.xa=new Set}terminate(){var e;let t;e=new F(V.ABORTED,"Firestore shutting down"),t=this.queries,this.queries=om(),t.forEach((t,r)=>{for(let t of r.va)t.onError(e)})}}function om(){return new nh(e=>ns(e),ni)}async function oy(e,t){let r=3,n=t.query,i=e.queries.get(n);i?!i.Fa()&&t.Ma()&&(r=2):(i=new op,r=+!t.Ma());try{switch(r){case 0:i.Ca=await e.onListen(n,!0);break;case 1:i.Ca=await e.onListen(n,!1);break;case 2:await e.onFirstRemoteStoreListen(n)}}catch(r){let e=oh(r,`Initialization of query '${na(t.query)}' failed`);return void t.onError(e)}e.queries.set(n,i),i.va.push(t),t.Oa(e.onlineState),i.Ca&&t.Na(i.Ca)&&oI(e)}async function ov(e,t){let r=t.query,n=3,i=e.queries.get(r);if(i){let e=i.va.indexOf(t);e>=0&&(i.va.splice(e,1),0===i.va.length?n=+!t.Ma():!i.Fa()&&t.Ma()&&(n=2))}switch(n){case 0:return e.queries.delete(r),e.onUnlisten(r,!0);case 1:return e.queries.delete(r),e.onUnlisten(r,!1);case 2:return e.onLastRemoteStoreUnlisten(r);default:return}}function ow(e,t){let r=!1;for(let n of t){let t=n.query,i=e.queries.get(t);if(i){for(let e of i.va)e.Na(n)&&(r=!0);i.Ca=n}}r&&oI(e)}function ob(e,t,r){let n=e.queries.get(t);if(n)for(let e of n.va)e.onError(r);e.queries.delete(t)}function oI(e){e.xa.forEach(e=>{e.next()})}(p=f||(f={})).Ba="default",p.Cache="cache";class o_{constructor(e,t,r){this.query=e,this.La=t,this.ka=!1,this.Ka=null,this.onlineState="Unknown",this.options=r||{}}Na(e){if(!this.options.includeMetadataChanges){let t=[];for(let r of e.docChanges)3!==r.type&&t.push(r);e=new of(e.query,e.docs,e.oldDocs,t,e.mutatedKeys,e.fromCache,e.syncStateChanged,!0,e.hasCachedResults)}let t=!1;return this.ka?this.qa(e)&&(this.La.next(e),t=!0):this.Ua(e,this.onlineState)&&(this.$a(e),t=!0),this.Ka=e,t}onError(e){this.La.error(e)}Oa(e){this.onlineState=e;let t=!1;return this.Ka&&!this.ka&&this.Ua(this.Ka,e)&&(this.$a(this.Ka),t=!0),t}Ua(e,t){return!(e.fromCache&&this.Ma())||(!this.options.Wa||"Offline"===t)&&(!e.docs.isEmpty()||e.hasCachedResults||"Offline"===t)}qa(e){if(e.docChanges.length>0)return!0;let t=this.Ka&&this.Ka.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!t)&&!0===this.options.includeMetadataChanges}$a(e){e=of.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.ka=!0,this.La.next(e)}Ma(){return this.options.source!==f.Cache}}class oE{constructor(e,t){this.Qa=e,this.byteLength=t}Ga(){return"metadata"in this.Qa}}class oT{constructor(e){this.serializer=e}Ks(e){return iw(this.serializer,e)}qs(e){return e.metadata.exists?iS(this.serializer,e.document,!1):rD.newNoDocument(this.Ks(e.metadata.name),this.Us(e.metadata.readTime))}Us(e){return ip(e)}}class oS{constructor(e,t){this.za=e,this.serializer=t,this.ja=[],this.Ja=[],this.collectionGroups=new Set,this.progress=oC(e)}get queries(){return this.ja}get documents(){return this.Ja}Ha(e){this.progress.bytesLoaded+=e.byteLength;let t=this.progress.documentsLoaded;if(e.Qa.namedQuery)this.ja.push(e.Qa.namedQuery);else if(e.Qa.documentMetadata){this.Ja.push({metadata:e.Qa.documentMetadata}),e.Qa.documentMetadata.exists||++t;let r=et.fromString(e.Qa.documentMetadata.name);this.collectionGroups.add(r.get(r.length-2))}else e.Qa.document&&(this.Ja[this.Ja.length-1].document=e.Qa.document,++t);return t!==this.progress.documentsLoaded?(this.progress.documentsLoaded=t,{...this.progress}):null}Za(e){let t=new Map,r=new oT(this.serializer);for(let n of e)if(n.metadata.queries){let e=r.Ks(n.metadata.name);for(let r of n.metadata.queries){let n=(t.get(r)||nv()).add(e);t.set(r,n)}}return t}async Xa(e){let t=await as(e,new oT(this.serializer),this.Ja,this.za.id),r=this.Za(this.documents);for(let t of this.ja)await aa(e,t,r.get(t.name));return this.progress.taskState="Success",{progress:this.progress,Ya:this.collectionGroups,eu:t}}}function oC(e){return{taskState:"Running",documentsLoaded:0,bytesLoaded:0,totalDocuments:e.totalDocuments,totalBytes:e.totalBytes}}class oA{constructor(e){this.key=e}}class ok{constructor(e){this.key=e}}class ox{constructor(e,t){this.query=e,this.tu=t,this.nu=null,this.hasCachedResults=!1,this.current=!1,this.ru=nv(),this.mutatedKeys=nv(),this.iu=nu(e),this.su=new oc(this.iu)}get ou(){return this.tu}_u(e,t){let r=t?t.au:new od,n=t?t.su:this.su,i=t?t.mutatedKeys:this.mutatedKeys,s=n,a=!1,o="F"===this.query.limitType&&n.size===this.query.limit?n.last(
7):null,l="L"===this.query.limitType&&n.size===this.query.limit?n.first():null;if(e.inorderTraversal((e,t)=>{let u=n.get(e),h=no(this.query,t)?t:null,c=!!u&&this.mutatedKeys.has(u.key),d=!!h&&(h.hasLocalMutations||this.mutatedKeys.has(h.key)&&h.hasCommittedMutations),f=!1;u&&h?u.data.isEqual(h.data)?c!==d&&(r.track({type:3,doc:h}),f=!0):this.uu(u,h)||(r.track({type:2,doc:h}),f=!0,(o&&this.iu(h,o)>0||l&&0>this.iu(h,l))&&(a=!0)):!u&&h?(r.track({type:0,doc:h}),f=!0):u&&!h&&(r.track({type:1,doc:u}),f=!0,(o||l)&&(a=!0)),f&&(h?(s=s.add(h),i=d?i.add(e):i.delete(e)):(s=s.delete(e),i=i.delete(e)))}),null!==this.query.limit)for(;s.size>this.query.limit;){let e="F"===this.query.limitType?s.last():s.first();s=s.delete(e.key),i=i.delete(e.key),r.track({type:1,doc:e})}return{su:s,au:r,bs:a,mutatedKeys:i}}uu(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,r,n){let i=this.su;this.su=e.su,this.mutatedKeys=e.mutatedKeys;let s=e.au.Da();s.sort((e,t)=>{var r,n;let i;return r=e.type,n=t.type,(i=e=>{switch(e){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return P(20277,{Vt:e})}})(r)-i(n)||this.iu(e.doc,t.doc)}),this.cu(r),n=n??!1;let a=t&&!n?this.lu():[],o=0===this.ru.size&&this.current&&!n?1:0,l=o!==this.nu;return(this.nu=o,0!==s.length||l)?{snapshot:new of(this.query,e.su,i,s,e.mutatedKeys,0===o,l,!1,!!r&&r.resumeToken.approximateByteSize()>0),hu:a}:{hu:a}}Oa(e){return this.current&&"Offline"===e?(this.current=!1,this.applyChanges({su:this.su,au:new od,mutatedKeys:this.mutatedKeys,bs:!1},!1)):{hu:[]}}Pu(e){return!this.tu.has(e)&&!!this.su.has(e)&&!this.su.get(e).hasLocalMutations}cu(e){e&&(e.addedDocuments.forEach(e=>this.tu=this.tu.add(e)),e.modifiedDocuments.forEach(e=>{}),e.removedDocuments.forEach(e=>this.tu=this.tu.delete(e)),this.current=e.current)}lu(){if(!this.current)return[];let e=this.ru;this.ru=nv(),this.su.forEach(e=>
7{this.Pu(e.key)&&(this.ru=this.ru.add(e.key))});let t=[];return e.forEach(e=>{this.ru.has(e)||t.push(new ok(e))}),this.ru.forEach(r=>{e.has(r)||t.push(new oA(r))}),t}Tu(e){this.tu=e.ks,this.ru=nv();let t=this._u(e.documents);return this.applyChanges(t,!0)}Iu(){return of.fromInitialDocuments(this.query,this.su,this.mutatedKeys,0===this.nu,this.hasCachedResults)}}let oD="SyncEngine";class oN{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class oR{constructor(e){this.key=e,this.Eu=!1}}class oO{constructor(e,t,r,n,i,s){this.localStore=e,this.remoteStore=t,this.eventManager=r,this.sharedClientState=n,this.currentUser=i,this.maxConcurrentLimboResolutions=s,this.Ru={},this.Au=new nh(e=>ns(e),ni),this.Vu=new Map,this.du=new Set,this.mu=new t$(ei.comparator),this.fu=new Map,this.gu=new sU,this.pu={},this.yu=new Map,this.wu=sv.ar(),this.onlineState="Unknown",this.Su=void 0}get isPrimaryClient(){return!0===this.Su}}async function oP(e,t,r=!0){let n,i=le(e),s=i.Au.get(t);return s?(i.sharedClientState.addLocalQueryTarget(s.targetId),n=s.view.Iu()):n=await oM(i,t,r,!0),n}async function oL(e,t){let r=le(e);await oM(r,t,!0,!1)}async function oM(e,t,r,n){let i,s=await s9(e.localStore,ne(t)),a=s.targetId,o=e.sharedCl
7ientState.addLocalQueryTarget(a,r);return n&&(i=await oV(e,t,a,"current"===o,s.resumeToken)),e.isPrimaryClient&&r&&aQ(e.remoteStore,s),i}async function oV(e,t,r,n,i){e.bu=(t,r,n)=>(async function(e,t,r,n){let i=t.view._u(r);i.bs&&(i=await at(e.localStore,t.query,!1).then(({documents:e})=>t.view._u(e,i)));let s=n&&n.targetChanges.get(t.targetId),a=n&&null!=n.targetMismatches.get(t.targetId),o=t.view.applyChanges(i,e.isPrimaryClient,s,a);return oJ(e,t.targetId,o.hu),o.snapshot})(e,t,r,n);let s=await at(e.localStore,t,!0),a=new ox(t,s.ks),o=a._u(s.documents),l=n4.createSynthesizedTargetChangeForCurrentChange(r,n&&"Offline"!==e.onlineState,i),u=a.applyChanges(o,e.isPrimaryClient,l);oJ(e,r,u.hu);let h=new oN(t,r,a);return e.Au.set(t,h),e.Vu.has(r)?e.Vu.get(r).push(t):e.Vu.set(r,[t]),u.snapshot}async function oF(e,t,r){let n=e.Au.get(t),i=e.Vu.get(n.targetId);i.length>1?(e.Vu.set(n.targetId,i.filter(e=>!ni(e,t))),e.Au.delete(t)):e.isPrimaryClient?(e.sharedClientState.removeLocalQueryTarget(n.targetId),e.sharedClientState.isActiveQueryTarget(n.targetId)||await ae(e.localStore,n.targetId,!1).then(()=>{e.sharedClientState.clearQueryState(n.targetId),r&&aJ(e.remoteStore,n.targetId),oW(e,n.targetId)}).catch(eA)):(oW(e,n.targetId),await ae(e.localStore,n.targetId,!0))}async function oU(e,t){let r=e.Au.get(t),n=e.Vu.get(r.targetId);e.isPrimaryClient&&1===n.length&&(e.sharedClientState.removeLocalQueryTarget(r.targetId),aJ(e.remoteStore,r.targetId))}async function oB(e,t,r){let n=lt(e);try{var i,s;let e,a,o,l,u,h=await (i=n.localStore,o=ef.now(),l=t.reduce((e,t)=>e.add(t.key),nv()),i.persistence.runTransaction("Locally write mutations","readwrite",r=>{let n=nc,s=nv();return i.xs.getEntries(r,l).next(e=>{(n=e).forEach((e,t)=>{t.isValidDocument()||(s=s.add(e))})}).next(()=>i.localDocuments.getOverlayedDocuments(r,n)).next(n=>{e=n;let s=[];for(let r of t){let t=function(e,t){let r=null;for(let n of e.fieldTransforms){let e=t.data.field(n.field),i=nE(n.transform,e||null);null!=i&&(null===r&&(r=rx.empty()),r.set(n.field,i))}return r||null}(r,e.get(r.key).overlayedDocument);null!=t&&s.push(new nj(r.key,t,function e(t){let r=[];return tq(t.fields,(t,n)=>{let i=new en([t]);if(r_(n)){let t=e(n.mapValue).fields;if(0===t.length)r.push(i);else for(let e of t)r.push(i.child(e))}else r.push(i)}),new tJ(r)}(t.value.mapValue),nP.exists(!0)))}
7return i.mutationQueue.addMutationBatch(r,o,s,t)}).next(t=>{a=t;let n=t.applyToLocalDocumentSet(e,s);return i.documentOverlayCache.saveOverlays(r,t.batchId,n)})}).then(()=>({batchId:a.batchId,changes:np(e)})));n.sharedClientState.addPendingMutation(h.batchId),s=h.batchId,(u=n.pu[n.currentUser.toKey()])||(u=new t$(Q)),u=u.insert(s,r),n.pu[n.currentUser.toKey()]=u,await oX(n,h.changes),await a7(n.remoteStore)}catch(t){let e=oh(t,"Failed to persist write");r.reject(e)}}async function oj(e,t){try{var r,n;let i,s,a=await (r=e.localStore,i=(n=t).snapshotVersion,s=r.vs,r.persistence.runTransaction("Apply remote event","readwrite-primary",e=>{let t=r.xs.newChangeBuffer({trackRemovals:!0});s=r.vs;let a=[];n.targetChanges.forEach((t,o)=>{var l;let u=s.get(o);if(!u)return;a.push(r.li.removeMatchingKeys(e,t.removedDocuments,o).next(()=>r.li.addMatchingKeys(e,t.addedDocuments,o)));let h=u.withSequenceNumber(e.currentSequenceNumber);null!==n.targetMismatches.get(o)?h=h.withResumeToken(tX.EMPTY_BYTE_STRING,ep.min()).withLastLimboFreeSnapshotVersion(ep.min()):t.resumeToken.approximateByteSize()>0&&(h=h.withResumeToken(t.resumeToken,i)),s=s.insert(o,h),l=h,(0===u.resumeToken.approximateByteSize()||l.snapshotVersion.toMicroseconds()-u.snapshotVersion.toMicroseconds()>=3e8||t.addedDocuments.size+t.modifiedDocuments.size+t.removedDocuments.size>0)&&a.push(r.li.updateTargetData(e,h))});let o=nc,l=nv();if(n.documentUpdates.forEach(t=>{n.resolvedLimboDocuments.has(t)&&a.push(r.persistence.referenceDelegate.updateLimboDocument(e,t))}),a.push(s7(e,t,n.documentUpdates).next(e=>{o=e.Bs,l=e.Ls})),!i.isEqual(ep.min())){let t=r.li.getLastRemoteSnapshotVersion(e).next(t=>r.li.setTargetsMetadata(e,e.currentSequenceNumber,i));a.push(t)}return ek.waitFor(a).next(()=>t.apply(e)).next(()=>r.localDocuments.getLocalViewOfDocuments(e,o,l)).next(()=>o)}).then(e=>(r.vs=s,e)));
7t.targetChanges.forEach((t,r)=>{let n=e.fu.get(r);n&&(M(t.addedDocuments.size+t.modifiedDocuments.size+t.removedDocuments.size<=1,22616),t.addedDocuments.size>0?n.Eu=!0:t.modifiedDocuments.size>0?M(n.Eu,14607):t.removedDocuments.size>0&&(M(n.Eu,42227),n.Eu=!1))}),await oX(e,a,t)}catch(e){await eA(e)}}function oq(e,t,r){if(e.isPrimaryClient&&0===r||!e.isPrimaryClient&&1===r){var n;let r,i=[];e.Au.forEach((e,r)=>{let n=r.view.Oa(t);n.snapshot&&i.push(n.snapshot)}),(n=e.eventManager).onlineState=t,r=!1,n.queries.forEach((e,n)=>{for(let e of n.va)e.Oa(t)&&(r=!0)}),r&&oI(n),i.length&&e.Ru.H_(i),e.onlineState=t,e.isPrimaryClient&&e.sharedClientState.setOnlineState(t)}}async function oz(e,t,r){e.sharedClientState.updateQueryState(t,"rejected",r);let n=e.fu.get(t),i=n&&n.key;if(i){let r=new t$(ei.comparator);r=r.insert(i,rD.newNoDocument(i,ep.min()));let n=nv().add(i),s=new n8(ep.min(),new Map,new t$(Q),r,n);await oj(e,s),e.mu=e.mu.remove(i),e.fu.delete(t),oY(e)}else await ae(e.localStore,t,!1).then(()=>oW(e,t,r)).catch(eA)}async function o$(e,t){let r=t.batch.batchId;try{var n,i;let s=await (n=e.localStore,i=t,n.persistence.runTransaction("Acknowledge batch","readwrite-primary",e=>{let t,r,s,a=i.batch.keys(),o=n.xs.newChangeBuffer({trackRemovals:!0});return(r=(t=i.batch).keys(),s=ek.resolve(),r.forEach(r=>{s=s.next(()=>o.getEntry(e,r)).next(e=>{let n=i.docVersions.get(r);M(null!==n,48541),0>e.version.compareTo(n)&&(t.applyToRemoteDocument(e,i),e.isValidDocument()&&(e.setReadTime(i.commitVersion),o.addEntry(e)))})}),s.next(()=>n.mutationQueue.removeMutationBatch(e,t))).next(()=>o.apply(e)).next(()=>n.mutationQueue.performConsistencyCheck(e)).next(()=>n.documentOverlayCache.removeOverlaysForBatchId(e,a,i.batch.batchId)).next(()=>n.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,function(e){let t=nv();for(let r=0;r<e.mutationResults.length;++r)e.mutationResults[r].transformResults.length>0&&(t=t.add(e.batch.mutations[r].key));return t}(i))).next(()=>n.localDocuments.getDocuments(e,a))}));oH(e,r,null),oG(e,r),e.sharedClientState.updateMutationState(r,"acknowledged"),await oX(e,s)}catch(e){await eA(e)}}async function oK(e,t,r){try{var n;let i=await (n=e.localStore,n.persistence.runTransaction("Reject batch","readwrite-primary",e=>{let r;
7return n.mutationQueue.lookupMutationBatch(e,t).next(t=>(M(null!==t,37113),r=t.keys(),n.mutationQueue.removeMutationBatch(e,t))).next(()=>n.mutationQueue.performConsistencyCheck(e)).next(()=>n.documentOverlayCache.removeOverlaysForBatchId(e,r,t)).next(()=>n.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,r)).next(()=>n.localDocuments.getDocuments(e,r))}));oH(e,t,r),oG(e,t),e.sharedClientState.updateMutationState(t,"rejected",r),await oX(e,i)}catch(e){await eA(e)}}function oG(e,t){(e.yu.get(t)||[]).forEach(e=>{e.resolve()}),e.yu.delete(t)}function oH(e,t,r){let n=e.pu[e.currentUser.toKey()];if(n){let i=n.get(t);i&&(r?i.reject(r):i.resolve(),n=n.remove(t)),e.pu[e.currentUser.toKey()]=n}}function oW(e,t,r=null){for(let n of(e.sharedClientState.removeLocalQueryTarget(t),e.Vu.get(t)))e.Au.delete(n),r&&e.Ru.Du(n,r);e.Vu.delete(t),e.isPrimaryClient&&e.gu.Gr(t).forEach(t=>{e.gu.containsKey(t)||oQ(e,t)})}function oQ(e,t){e.du.delete(t.path.canonicalString());let r=e.mu.get(t);null!==r&&(aJ(e.remoteStore,r),e.mu=e.mu.remove(t),e.fu.delete(r),oY(e))}function oJ(e,t,r){for(let n of r)n instanceof oA?(e.gu.addReference(n.key,t),function(e,t){let r=t.key,n=r.path.canonicalString();e.mu.get(r)||e.du.has(n)||(D(oD,"New document in limbo: "+r),e.du.add(n),oY(e))}(e,n)):n instanceof ok?(D(oD,"Document no longer in limbo: "+n.key),e.gu.removeReference(n.key,t),e.gu.containsKey(n.key)||oQ(e,n.key)):P(19791,{Cu:n})}function oY(e){for(;e.du.size>0&&e.mu.size<e.maxConcurrentLimboResolutions;){let t=e.du.values().next().value;e.du.delete(t);let r=new ei(et.fromString(t)),n=e.wu.next();e.fu.set(n,new oR(r)),e.mu=e.mu.insert(r,n),aQ(e.remoteStore,new iL(ne(r8(r.path)),n,"TargetPurposeLimboResolution",ez.ce))}}async function oX(e,t,r){let n=[],i=[],s=[];e.Au.isEmpty()||(e.Au.forEach((a,o)=>{s.push(e.bu(o,t,r).then(t=>{if((t||r)&&e.isPrimaryClient){let n=t?!t.fromCache:r?.targetChanges.get(o.targetId)?.current;e.sharedClientState.updateQueryState(o.targetId,n?"current":"not-current")}if(t){n.push(t);let e=s1.Es(o.targetId,t);i.push(e)}}))}),await Promise.all(s),e.Ru.H_(n),await async function(e,t){try{await e.persistence.runTransaction("notifyLocalViewChanges","readwrite",r=>ek.forEach(t,t=>ek.forEach(t.Ts,n=>e.persistence.referenceDelegate.addReference(r,t.targetId,n)).next(()=>ek.forEach(t.Is,n=>e.persistence.referenceDelegate.removeReference(r,t.targetId,n)))))}catch(e){if(!eL(e))throw e;D(s3,"Failed to update sequence numbers: "+e)}for(let r of t){let t=r.targetId;if(!r.fromCache){let r=e.vs.get(t),n=r.snapshotVersion,i=r.withLastLimboFreeSnapshotVersion(n);e.vs=e.vs.insert(t,i)}}}(e.localStore,i))}async function oZ(e,t){if(!e.currentUser.isEqual(t)){D(oD,"User change. New user:",t.toKey());let r=await s8(e.localStore,t);e.currentUser=t,e.yu.forEach(e=>{e.forEach(e=>{e.reject(new F(V.CANCELLED,"'waitForPendingWrites' promise is rejected due to a user change."))})}),e.yu.clear(),e.sharedClientState.handleUserChange(t,r.removedBatchIds,r.addedBatchIds),await oX(e,r.Ns)}}function o0(e,t){let r=e.fu.get(t);if(r&&r.Eu)return nv().add(r.key);{let r=nv(),n=e.Vu.get(t);if(!n)return r;for(let t of n){let n=e.Au.get(t);r=r.unionWith(n.view.ou)}return r}}async function o1(e,t){let r=await at(e.localStore,t.query,!0),n=t.view.Tu(r);return e.isPrimaryClient&&oJ(e,t.targetId,n.hu),n}async function o2(e,t){return an(e.localStore,t).then(t=>oX(e,t))}async function o6(e,t,r,n){var i,s;let a,o=await (i=e.localStore,a=i.mutationQueue,i.persistence.runTransaction("Lookup mutation documents","readonly",e=>a.Xn(e,t).next(t=>t?i.localDocuments.getDocuments(e,t):ek.resolve(null))));null!==o?("pending"===r?await a7(e.remoteStore):"acknowledged"===r||"rejected"===r?(oH(e,t,n||null),oG(e,t),s=e.localStore,s.mutationQueue.nr(t)):P(6720,"Unknown batchState",{vu:r}),await oX(e,o)):D(oD,"Cannot apply mutation batch with id: "+t)}async function o3(e,t){if(le(e),lt(e),!0===t&&!0!==e.Su){let t=e.sharedClientState.getAllActiveQueryTargets(),r=await o5(e,t.toArray());for(let t of(e.Su=!0,await oa(e.remoteStore,!0),r))aQ(e.remoteStore,t)}else if(!1===t&&!1!==e.Su){let t=[],r=Promise.resolve();e.Vu.forEach((n,i)=>
7{e.sharedClientState.isLocalQueryTarget(i)?t.push(i):r=r.then(()=>(oW(e,i),ae(e.localStore,i,!0))),aJ(e.remoteStore,i)}),await r,await o5(e,t),e.fu.forEach((t,r)=>{aJ(e.remoteStore,r)}),e.gu.zr(),e.fu=new Map,e.mu=new t$(ei.comparator),e.Su=!1,await oa(e.remoteStore,!1)}}async function o5(e,t,r){let n=[],i=[];for(let r of t){let t,s=e.Vu.get(r);if(s&&0!==s.length)for(let r of(t=await s9(e.localStore,ne(s[0])),s)){let t=e.Au.get(r),n=await o1(e,t);n.snapshot&&i.push(n.snapshot)}else{let n=await ar(e.localStore,r);t=await s9(e.localStore,n),await oV(e,o8(n),r,!1,t.resumeToken)}n.push(t)}return e.Ru.H_(i),n}function o8(e){var t,r,n,i,s;return t=e.path,r=e.collectionGroup,n=e.orderBy,i=e.filters,s=e.limit,new r5(t,r,n,i,s,"F",e.startAt,e.endAt)}function o4(e){return e.localStore.persistence.hs()}async function o7(e,t,r,n){if(e.Su)return void D(oD,"Ignoring unexpected query state notification.");let i=e.Vu.get(t);if(i&&i.length>0)switch(r){case"current":case"not-current":{let n=await an(e.localStore,nl(i[0])),s=n8.createSynthesizedRemoteEventForCurrentChange(t,"current"===r,tX.EMPTY_BYTE_STRING);await oX(e,n,s);break}case"rejected":await ae(e.localStore,t,!0),oW(e,t,n);break;default:P(64155,r)}}async function o9(e,t,r){let n=le(e);if(n.Su){for(let e of t){if(n.Vu.has(e)&&n.sharedClientState.isActiveQueryTarget(e)){D(oD,"Adding an already active target "+e);continue}let t=await ar(n.localStore,e),r=await s9(n.localStore,t);await oV(n,o8(t),r.targetId,!1,r.resumeToken),aQ(n.remoteStore,r)}for(let e of r)n.Vu.has(e)&&await ae(n.localStore,e,!1).then(()=>{aJ(n.remoteStore,e),oW(n,e)}).catch(eA)}}function le(e){return e.remoteStore.remoteSyncer.applyRemoteEvent=oj.bind(null,e),e.remoteStore.remoteSyncer.getRemoteKeysForTarget=o0.bind(null,e),e.remoteStore.remoteSyncer.rejectListen=oz.bind(null,e),e.Ru.H_=ow.bind(null,e.eventManager),e.Ru.Du=ob.bind(null,e.eventManager),e}function lt(e){return e.remoteStore.remoteSyncer.applySuccessfulWrite=o$.bind(null,e),e.remoteStore.remoteSyncer.rejectFailedWrite=oK.bind(null,e),e}class lr{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=aL(e.databaseInfo.databaseId),this.sharedClientState=this.Mu(e),this.persistence=this.xu(e),await this.persistence.start(),this.localStore=this.Ou(e),this.gcScheduler=this.Nu(e,this.localStore),this.indexBackfillerScheduler=this.Bu(e,this.localStore)}Nu(e,t){return null}Bu(e,t){return null}Ou(e){var t,r;return t=this.persistence,r=new s6,new s5(t,r,e.initialUser,this.serializer)}xu(e){return new sK(sH.Vi,this.serializer)}Mu(e){return new ab}async terminate(){this.gcScheduler?.stop(),this.indexBackfillerScheduler?.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}lr.provider={build:()=>new lr};class ln extends lr{constructor(e){super(),this.cacheSizeBytes=e}Nu(e,t){return M(this.persistence.referenceDelegate instanceof sW,46915),new sT(this.persistence.referenceDelegate.garbageCollector,e.asyncQueue,t)}xu(e){let t=void 0!==this.cacheSizeBytes?sd.withCacheSize(this.cacheSizeBytes):sd.DEFAULT;return new sK(e=>sW.Vi(e,t),this.serializer)}}class li extends lr{constructor(e,t,r){super(),this.Lu=e,this.cacheSizeBytes=t,this.forceOwnership=r,this.kind="persistent",this.synchronizeTabs=!1}async initialize(e){await super.initialize(e),await this.Lu.initialize(this,e),await lt(this.Lu.syncEngine),await a7(this.Lu.remoteStore),await this.persistence.zi(()=>(this.gcScheduler&&!this.gcScheduler.started&&this.gcScheduler.start(),this.indexBackfillerScheduler&&!this.indexBackfillerScheduler.started&&this.indexBackfillerScheduler.start(),Promise.resolve()))}Ou(e){var t,r;return t=this.persistence,r=new s6,new s5(t,r,e.initialUser,this.serializer)}Nu(e,t){return new sT(this.persistence.referenceDelegate.garbageCollector,e.asyncQueue,t)}Bu(e,t){let r=new eq(t,this.persistence);return new ej(e.asyncQueue,r)}xu(e){let t=s0(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey),r=void 0!==this.cacheSizeBytes?sd.withCacheSize(this.cacheSizeBytes):sd.DEFAULT;return new sZ(this.synchronizeTabs,t,e.clientId,r,e.asyncQueue,aO(),aP(),this.serializer,this.sharedCl
7ientState,!!this.forceOwnership)}Mu(e){return new ab}}class ls{async initialize(e,t){this.localStore||(this.localStore=e.localStore,this.sharedClientState=e.sharedClientState,this.datastore=this.createDatastore(t),this.remoteStore=this.createRemoteStore(t),this.eventManager=this.createEventManager(t),this.syncEngine=this.createSyncEngine(t,!e.synchronizeTabs),this.sharedClientState.onlineStateHandler=e=>oq(this.syncEngine,e,1),this.remoteStore.remoteSyncer.handleCredentialChange=oZ.bind(null,this.syncEngine),await oa(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return new og}createDatastore(e){var t;let r=aL(e.databaseInfo.databaseId),n=new aR(e.databaseInfo);return t=e.authCredentials,new aq(t,e.appCheckCredentials,n,r)}createRemoteStore(e){var t,r;return t=this.localStore,r=this.datastore,new aK(t,r,e.asyncQueue,e=>oq(this.syncEngine,e,0),aE.v()?new aE:new aI)}createSyncEngine(e,t){var r,n,i,s,a,o;let l;return r=this.localStore,n=this.remoteStore,i=this.eventManager,s=this.sharedClientState,a=e.initialUser,o=e.maxConcurrentLimboResolutions,l=new oO(r,n,i,s,a,o),t&&(l.Su=!0),l}async terminate(){await async function(e){D(a$,"RemoteStore shutting down."),e.da.add(5),await aH(e),e.fa.shutdown(),e.ga.set("Unknown")}(this.remoteStore),this.datastore?.terminate(),this.eventManager?.terminate()}}function la(e,t=10240){let r=0;return{async read(){if(r<e.byteLength){let n={value:e.slice(r,r+t),done:!1};return r+=t,n}return{done:!0}},async cancel(){},releaseLock(){},closed:Promise.resolve()}}ls.provider={build:()=>new ls};class lo{constructor(e){this.observer=e,this.muted=!1}next(e){this.muted||this.observer.next&&this.ku(this.observer.next,e)}error(e){this.muted||(this.observer.error?this.ku(this.observer.error,e):N("Uncaught Error in snapshot listener:",e.toString()))}Ku(){this.muted=!0}ku(e,t){setTimeout(()=>{this.muted||e(t)},0)}}class ll{constructor(e,t){this.qu=e,this.serializer=t,this.metadata=new U,this.buffer=new Uint8Array,this.Uu=new TextDecoder("utf-8"),this.$u().then(e=>{e&&e.Ga()?this.metadata.resolve(e.Qa.metadata):this.metadata.reject(Error(`The first element of the bundle is not a metadata, it is 8 ${JSON.stringify(e?.Qa)}`))},e=>this.metadata.reject(e))}close(){return this.qu.cancel()}async getMetadata(){return this.metadata.promise}async Fu(){return await this.getMetadata(),this.$u()}async $u(){let e=await this.Wu();if(null===e)return null;let t=this.Uu.decode(e),r=Number(t);return isNaN(r)&&this.Qu(`length string (${t}) is not valid number`),new oE(JSON.parse(await this.Gu(r)),e.length+r)}zu(){return this.buffer.findIndex(e=>123===e)}async Wu(){for(;0>this.zu()&&!await this.ju(););if(0===this.buffer.length)return null;let e=this.zu();e<0&&this.Qu("Reached the end of bundle when a length string is expected.");let t=this.buffer.slice(0,e);return this.buffer=this.buffer.slice(e),t}async Gu(e){for(;this.buffer.length<e;)await this.ju()&&this.Qu("Reached the end of bundle when more is expected.");let t=this.Uu.decode(this.buffer.slice(0,e));return this.buffer=this.buffer.slice(e),t}Qu(e){throw this.qu.cancel(),Error(`Invalid bundle format: ${e}`)}async ju(){let e=await this.qu.read();if(!e.done){let t=new Uint8Array(this.buffer.length+e.value.length);t.set(this.buffer),t.set(e.value,this.buffer.length),this.buffer=t}return e.done}}class lu{constructor(e,t){this.bundleData=e,this.serializer=t,this.cursor=0,this.elements=[];let r=this.Fu();if(!r||!r.Ga())throw Error(`The first element of the bundle is not a metadata object, it is 9 ${JSON.stringify(r?.Qa)}`);this.metadata=r;do null!==(r=this.Fu())&&this.elements.push(r);while(null!==r)}getMetadata(){return this.metadata}Ju(){return this.elements}Fu(){if(this.cursor===this.bundleData.length)return null;let e=this.Wu();return new oE(JSON.parse(this.Gu(e)),e)}Gu(e){if(this.cursor+e>this.bundleData.length)throw new F(V.INTERNAL,"Reached the end of bundle when more is expected.");return this.bundleData.slice(this.cursor,this.cursor+=e)}Wu(){let e=this.cursor,t=this.cursor;for(;t<this.bundleData.length;){if("{"===this.bundleData[t]){if(t===e)throw Error("First character is a bracket and not a number");return this.cursor=t,Number(this.bundleData.slice(e,t))}t++}throw Error("Reached the end of bundle when more is expected.")}}class lh{constructor(e){this.datastore=e,this.readVersions=new Map,this.mutations=[],this.committed=!1,this.lastTransactionError=null,this.writtenDocs=new Set}async lookup(e){if(this.ensureCommitNotCalled(),this.mutations.length>
90)throw this.lastTransactionError=new F(V.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes."),this.lastTransactionError;let t=await async function(e,t){let r={documents:t.map(t=>iv(e.serializer,t))},n=await e.jo("BatchGetDocuments",e.serializer.databaseId,et.emptyPath(),r,t.length),i=new Map;n.forEach(t=>{var r;let n,s,a,o,l,u,h=(r=e.serializer,"found"in t?(M(!!t.found,43571),t.found.name,t.found.updateTime,n=iw(r,t.found.name),s=ip(t.found.updateTime),a=t.found.createTime?ip(t.found.createTime):ep.min(),o=new rx({mapValue:{fields:t.found.fields}}),rD.newFoundDocument(n,s,a,o)):"missing"in t?(M(!!t.missing,3894),M(!!t.readTime,22933),l=iw(r,t.missing),u=ip(t.readTime),rD.newNoDocument(l,u)):P(7234,{result:t}));i.set(h.key.toString(),h)});let s=[];return t.forEach(e=>{let t=i.get(e.toString());M(!!t,55234,{key:e}),s.push(t)}),s}(this.datastore,e);return t.forEach(e=>this.recordVersion(e)),t}set(e,t){this.write(t.toMutation(e,this.precondition(e))),this.writtenDocs.add(e.toString())}update(e,t){try{this.write(t.toMutation(e,this.preconditionForUpdate(e)))}catch(e){this.lastTransactionError=e}this.writtenDocs.add(e.toString())}delete(e){this.write(new nK(e,this.precondition(e))),this.writtenDocs.add(e.toString())}async commit(){if(this.ensureCommitNotCalled(),this.lastTransactionError)throw this.lastTransactionError;let e=this.readVersions;this.mutations.forEach(t=>{e.delete(t.key.toString())}),e.forEach((e,t)=>{let r=ei.fromPath(t);this.mutations.push(new nG(r,this.precondition(r)))}),await async function(e,t){let r={writes:t.map(t=>iC(e.serializer,t))};await e.Wo("Commit",e.serializer.databaseId,et.emptyPath(),r)}(this.datastore,this.mutations),this.committed=!0}recordVersion(e){let t;if(e.isFoundDocument())t=e.version;else{if(!e.isNoDocument())throw P(50498,{Hu:e.constructor.name});t=ep.min()}let r=this.readVersions.get(e.key.toString());if(r){if(!t.isEqual(r))throw new F(V.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),t)}precondition(e){let t=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&t?t.isEqual(ep.min())?nP.exists(!1):nP.updateTime(t):nP.none()}preconditionForUpdate(e){let t=this.readVersions.get(e.toString());if(!this.writtenDocs.has(e.toString())&&t){if(t.isEqual(ep.min()))throw new F(V.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return nP.updateTime(t)}return nP.exists(!0)}write(e){this.ensureCommitNotCalled(),this.mutations.push(e)}ensureCommitNotCalled(){}}class lc{constructor(e,t,r,n,i){this.asyncQueue=e,this.datastore=t,this.options=r,this.updateFunction=n,this.deferred=i,this.Zu=r.maxAttempts,this.M_=new aM(this.asyncQueue,"transaction_retry")}Xu(){this.Zu-=1,this.Yu()}Yu(){this.M_.p_(async()=>{let e=new lh(this.datastore),t=this.ec(e);t&&t.then(t=>{this.asyncQueue.enqueueAndForget(()=>e.commit().then(()=>{this.deferred.resolve(t)}).catch(e=>{this.tc(e)}))}).catch(e=>{this.tc(e)})})}ec(e){try{let t=this.updateFunction(e);return!e$(t)&&t.catch&&t.then?t:(this.deferred.reject(Error("Transaction callback must return a Promise")),null)}catch(e){return this.deferred.reject(e),null}}tc(e){this.Zu>0&&this.nc(e)?(this.Zu-=1,this.asyncQueue.enqueueAndForget(()=>(this.Yu(),Promise.resolve()))):this.deferred.reject(e)}nc(e){if("FirebaseError"===e?.name){let t=e.code;return"aborted"===t||"failed-precondition"===t||"already-exists"===t||!nY(t)}return!1}}let ld="FirestoreClient";class lf{constructor(e,t,r,n,i){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=r,this._databaseInfo=n,this.user=S.UNAUTHENTICATED,this.clientId=W.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=i,this.authCredentials.start(r,async e=>{D(ld,"Received user=",e.uid),await this.authCredentialListener(e),this.user=e}),this.appCheckCredentials.start(r,e=>(D(ld,"Received new app check token=",e),this.appCheckCredentialListener(e,this.user)))}get configuration(){return{asyncQueue:this.asyncQueue,databaseInfo:this._databaseInfo,clientId:this.clientId,authCredentials:this.authCredentials,appCheckCredentials:this.appCheckCredentials,initialUser:this.user,maxConcurrentLimboResolutions:100}}setCredentialChangeListener(e){this.authCredentialListener=e}setAppCheckTokenChangeListener(e){this.appCheckCredentialListener=e}terminate(){this.asyncQueue.enterRestrictedMode();let e=new U;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(async()=>{try{this._onlineComponents&&await this._onlineComponents.terminate(),this._offlineComponents&&await this._offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),e.resolve()}catch(r){let t=oh(r,"Failed to shutdown persistence");e.reject(t)}}),e.promise}}async function lp(e,t){e.asyncQueue.verifyOperationInProgress(),D(ld,"Initializing OfflineComponentProvider");let r=e.configuration;await t.initialize(r);let n=r.initialUser;e.setCredentialChangeListener(async e=>{n.isEqual(e)||(await s8(t.localStore,e),n=e)}),t.persistence.setDatabaseDeletedListener(()=>e.terminate()),e._offlineComponents=t}async function lg(e,t){e.asyncQueue.verifyOperationInProgress();let r=await lm(e);D(ld,"Initializing OnlineComponentProvider"),await t.initialize(r,e.configuration),e.setCredentialChangeListener(e=>os(t.remoteStore,e)),e.setAppCheckTokenChangeListener((e,r)=>os(t.remoteStore,r)),e._onlineComponents=t}async function lm(e){if(!e._offlineComponents)if(e._uninitializedComponentsProvider){D(ld,"Using user provided OfflineComponentProvider");try{await lp(e,e._uninitializedComponentsProvider._offline)}catch(t){if(!("FirebaseError"===t.name?t.code===V.FAILED_PRECONDITION||t.code===V.UNIMPLEMENT
9ED:!("u">typeof DOMException&&t instanceof DOMException)||22===t.code||20===t.code||11===t.code))throw t;R("Error using user provided cache. Falling back to memory cache: "+t),await lp(e,new lr)}}else D(ld,"Using default OfflineComponentProvider"),await lp(e,new ln(void 0));return e._offlineComponents}async function ly(e){return e._onlineComponents||(e._uninitializedComponentsProvider?(D(ld,"Using user provided OnlineComponentProvider"),await lg(e,e._uninitializedComponentsProvider._online)):(D(ld,"Using default OnlineComponentProvider"),await lg(e,new ls))),e._onlineComponents}function lv(e){return lm(e).then(e=>e.localStore)}function lw(e){return ly(e).then(e=>e.syncEngine)}function lb(e){return ly(e).then(e=>e.datastore)}async function lI(e){let t=await ly(e),r=t.eventManager;return r.onListen=oP.bind(null,t.syncEngine),r.onUnlisten=oF.bind(null,t.syncEngine),r.onFirstRemoteStoreListen=oL.bind(null,t.syncEngine),r.onLastRemoteStoreUnlisten=oU.bind(null,t.syncEngine),r}function l_(e,t,r,n){let i=new lo(n),s=new o_(t,i,r);return e.asyncQueue.enqueueAndForget(async()=>oy(await lI(e),s)),()=>{i.Ku(),e.asyncQueue.enqueueAndForget(async()=>ov(await lI(e),s))}}function lE(e,t,r={}){let n=new U;return e.asyncQueue.enqueueAndForget(async()=>{var i,s;let a,o;return i=await lI(e),s=e.asyncQueue,a=new lo({next:e=>{a.Ku(),s.enqueueAndForget(()=>ov(i,o));let l=e.docs.has(t);!l&&e.fromCache?n.reject(new F(V.UNAVAILABLE,"Failed to get document because the client is offline.")):l&&e.fromCache&&r&&"server"===r.source?n.reject(new F(V.UNAVAILABLE,'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)')):n.resolve(e)},error:e=>n.reject(e)}),oy(i,o=new o_(r8(t.path),a,{includeMetadataChanges:!0,Wa:!0}))}),n.promise}function lT(e,t,r={}){let n=new U;return e.asyncQueue.enqueueAndForget(async()=>{var i,s;let a,o;return i=await lI(e),s=e.asyncQueue,o=new o_(t,a=new lo({next:e=>{a.Ku(),s.enqueueAndForget(()=>ov(i,o)),e.fromCache&&"server"===r.source?n.reject(new F(V.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')):n.resolve(e)},error:e=>n.reject(e)}),{includeMetadataChanges:!0,Wa:!0}),oy(i,o)}),n.promise}function lS(e,t){let r=new U;return e.asyncQueue.enqueueAndForget(async()=>oB(await lw(e),t,r)),r.promise}function lC(e,t,r){let n=new U;return e.asyncQueue.enqueueAndForget(async()=>{let i=await lb(e);new lc(e.asyncQueue,i,r,t,n).Xu()}),n.promise}function lA(e){let t={};return void 0!==e.timeoutSeconds&&(t.timeoutSeconds=e.timeoutSeconds),t}let lk=new Map,lx="firestore.googleapis.com";class lD{constructor(e){if(void 0===e.host){if(void 0!==e.ssl)throw new F(V.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=lx,this.ssl=!0}else this.host=e.host,this.ssl=e.ssl??!0;if(this.isUsingEmulator=void 0!==e.emulatorOptions,this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,void 0===e.cacheSizeBytes)this.cacheSizeBytes=0x2800000;else{if(-1!==e.cacheSizeBytes&&e.cacheSizeBytes<1048576)throw new F(V.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}(function(e,t,r,n){if(!0===t&&!0===n)throw new F(V.INVALID_ARGUMENT,`${e} and ${r} cannot be used together.`)})("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:void 0===e.experimentalAutoDetectLongPolling?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=lA(e.experimentalLongPollingOptions??{}),function(e){if(void 0!==e.timeoutSeconds){if(isNaN(e.timeoutSeconds))throw new F(V.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (must not be NaN)`);if(e.timeoutSeconds<5)throw new F(V.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (minimum allowed value is 5)`);if(e.timeoutSeconds>30)throw new F(V.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (maximum allowed value is 30)`)}}(this.experimentalLongPollingOptions),this.useFetchStreams=!!e.useFetchStreams}isEqual(e){var t,r;return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&(t=this.experimentalLongPollingOptions,r=e.experimentalLongPollingOptions,t.timeoutSeconds===r.timeoutSeconds)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams}}class lN{constructor(e,t,r,n){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=r,this._app=n,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new lD({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(!this._app)throw new F(V.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._app}get _initialized(){return this._settingsFrozen}get _terminated(){return"notTerminated"!==this._terminateTask}_setSettings(e){if(this._settingsFrozen)throw new F(V.FAILED_PRECONDITION,"Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.");this._settings=new lD(e),this._emulatorOptions=e.emulatorOptions||{},void 0!==e.credentials&&(this._authCredentials=function(e){if(!e)return new j;switch(e.type){case"firstParty":return new K(e.sessionIndex||"0",e.iamToken||null,e.authTokenFactory||null);case"provider":return e.client;default:throw new F(V.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invali
9d credential type")}}(e.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return"notTerminated"===this._terminateTask&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){"notTerminated"===this._terminateTask?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){let e;return(e=lk.get(this))&&(D("ComponentProvider","Removing Datastore"),lk.delete(this),e.terminate()),Promise.resolve()}}class lR{constructor(e,t,r){this.converter=t,this._query=r,this.type="query",this.firestore=e}withConverter(e){return new lR(this.firestore,e,this._query)}}class lO{constructor(e,t,r){this.converter=t,this._key=r,this.type="document",this.firestore=e}get _path(){return this._key.path}get id(){return this._key.path.lastSegment()}get path(){return this._key.path.canonicalString()}get parent(){return new lP(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new lO(this.firestore,e,this._key)}toJSON(){return{type:lO._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(e,t,r){if(ed(t,lO._jsonSchema))return new lO(e,r||null,new ei(et.fromString(t.referencePath)))}}lO._jsonSchemaVersion="firestore/documentReference/1.0",lO._jsonSchema={type:ec("string",lO._jsonSchemaVersion),referencePath:ec("string")};class lP extends lR{constructor(e,t,r){super(e,t,r8(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){let e=this._path.popLast();return e.isEmpty()?null:new lO(this.firestore,null,new ei(e))}withConverter(e){return new lP(this.firestore,e,this._path)}}let lL="AsyncQueue";class lM{constructor(e=Promise.resolve()){this.rc=[],this.sc=!1,this.oc=[],this._c=null,this.ac=!1,this.uc=!1,this.cc=[],this.M_=new aM(this,"async_queue_retry"),this.lc=()=>{let e=aP();e&&D(lL,"Visibility state changed to "+e.visibilityState),this.M_.w_()},this.hc=e;const t=aP();t&&"function"==typeof t.addEventListener&&t.addEventListener("visibilitychange",this.lc)}get isShuttingDown(){return this.sc}enqueueAndForget(e){this.enqueue(e)}enqueueAndForgetEvenWhileRestricted(e){this.Pc(),this.Tc(e)}enterRestrictedMode(e){if(!this.sc){this.sc=!0,this.uc=e||!1;let t=aP();t&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",this.lc)}}enqueue(e){if(this.Pc(),this.sc)return new Promise(()=>{});let t=new U;return this.Tc(()=>this.sc&&this.uc?Promise.resolve():(e().then(t.resolve,t.reject),t.promise)).then(()=>t.promise)}enqueueRetryable(e){this.enqueueAndForget(()=>(this.rc.push(e),this.Ic()))}async Ic(){if(0!==this.rc.length){try{await this.rc[0](),this.rc.shift(),this.M_.reset()}catch(e){if(!eL(e))throw e;D(lL,"Operation failed with retryable error: "+e)}this.rc.length>0&&this.M_.p_(()=>this.Ic())}}Tc(e){let t=this.hc.then(()=>(this.ac=!0,e().catch(e=>{throw this._c=e,this.ac=!1,N("INTERNAL UNHANDLED ERROR: ",lV(e)),e}).then(e=>(this.ac=!1,e))));return this.hc=t,t}enqueueAfterDelay(e,t,r){this.Pc(),this.cc.indexOf(e)>-1&&(t=0);let n=ou.createAndSchedule(this,e,t,r,e=>this.Ec(e));return this.oc.push(n),n}Pc(){this._c&&P(47125,{Rc:lV(this._c)})}verifyOperationInProgress(){}async Ac(){let e;do e=this.hc,await e;while(e!==this.hc)}Vc(e){for(let t of this.oc)if(t.timerId===e)return!0;return!1}dc(e){return this.Ac().then(()=>{for(let t of(this.oc.sort((e,t)=>e.targetTimeMs-t.targetTimeMs),this.oc))if(t.skipDelay(),"all"!==e&&t.timerId===e)break;return this.Ac()})}mc(e){this.cc.push(e)}Ec(e){let t=this.oc.indexOf(e);this.oc.splice(t,1)}}function lV(e){let t=e.message||"";return e.stack&&(t=e.stack.includes(e.message)?e.stack:e.message+"\n"+e.stack),t}class lF{constructor(){this._progressObserver={},this._taskCompletionResolver=new U,this._lastProgress={taskState:"Running",totalBytes:0,totalDocuments:0,bytesLoaded:0,documentsLoaded:0}}onProgress(e,t,r){this._progressObserver={next:e,error:t,complete:r}}catch(e){return this._taskCompletionResolver.promise.catch(e)}then(e,t){return this._taskCompletionResolver.promise.then(e,t)}_completeWith(e){this._updateProgress(e),this._progressObserver.complete&&this._progressObserver.complete(),this._taskCompletionResolver.resolve(e)}_failWith(e){this._lastProgress.taskState="Error",this._progressObserver.next&&this._progressObserver.next(this._lastProgress),this._progressObserver.error&&this._progressObserver.error(e),this._taskCompletionResolver.reject(e)}_updateProgress(e){this._lastProgress=e,this._progressObserver.next&&this._progressObserver.next(e)}}class lU extends lN{constructor(e,t,r,n){super(e,t,r,n),this.type="firestore",this._queue=new lM,this._persistenceKey=n?.name||"[DEFAULT]"}async _terminate(){if(this._firestoreClient){let e=this._firestoreClient.terminate();this._queue=new lM(e),this._firestoreClient=void 0,await e}}}function lB(e){if(e._terminated)throw new F(V.FAILED_PRECONDITION,"The client has already been terminated.");return e._firestoreClient||function(e){var t,r,n,i,s;let a,o=e._freezeSettings(),l=(t=e._databaseId,r=e._app?.options.appId||"",n=e._persistenceKey,i=e._app?.options.apiKey,new re(t,r,n,o.host,o.ssl,o.experimentalForceLongPolling,o.experimentalAutoDetectLongPolling,lA(o.experimentalLongPollingOptions),o.useFetchStreams,o.isUsingEmulator,i));e._componentsProvider||o.localCache?._offlineComponentProvider&&o.localCache?._onlineComponentProvider&&(e._componentsProvider={_offline:o.localCache._offlineComponentProvider,_online:o.localCache._onlineComponentProvider}),e._firestoreClient=new lf(e._authCredentials,e._appCheckCredentials,e._queue,l,e._componentsProvider&&(s=e._componentsProvider,a=s?._online.build(),{_offline:s?._offline.build(a),_online:a}))}(e),e._firestoreClient}class lj{constructor(e){this._byteString=e}static fromBase64String(e){try{return new lj(tX.fromBase64String(e))}catch(e){throw new F(V.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(e){return new lj(tX.fromUint8Array(e))}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}toString(){return"Bytes(base64: "+this.toBase64()+")"}isEqual(e){return this._byteString.isEqual(e._byteString)}toJSON(){return{type:lj._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(e){if(ed(e,lj._jsonSchema))return lj.fromBase64String(e.bytes)}}
9lj._jsonSchemaVersion="firestore/bytes/1.0",lj._jsonSchema={type:ec("string",lj._jsonSchemaVersion),bytes:ec("string")};class lq{constructor(...e){for(let t=0;t<e.length;++t)if(0===e[t].length)throw new F(V.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new en(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}}class lz{constructor(e){this._methodName=e}}class l${constructor(e,t){if(!isFinite(e)||e<-90||e>90)throw new F(V.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||t>180)throw new F(V.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+t);this._lat=e,this._long=t}get latitude(){return this._lat}get longitude(){return this._long}isEqual(e){return this._lat===e._lat&&this._long===e._long}_compareTo(e){return Q(this._lat,e._lat)||Q(this._long,e._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:l$._jsonSchemaVersion}}static fromJSON(e){if(ed(e,l$._jsonSchema))return new l$(e.latitude,e.longitude)}}l$._jsonSchemaVersion="firestore/geoPoint/1.0",l$._jsonSchema={type:ec("string",l$._jsonSchemaVersion),latitude:ec("number"),longitude:ec("number")};class lK{constructor(e){this._values=(e||[]).map(e=>e)}toArray(){return this._values.map(e=>e)}isEqual(e){return function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}(this._values,e._values)}toJSON(){return{type:lK._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(e){if(ed(e,lK._jsonSchema)){if(Array.isArray(e.vectorValues)&&e.vectorValues.every(e=>"number"==typeof e))return new lK(e.vectorValues);throw new F(V.INVALID_ARGUMENT,"Expected 'vectorValues' field to be a number array")}}}lK._jsonSchemaVersion="firestore/vectorValue/1.0",lK._jsonSchema={type:ec("string",lK._jsonSchemaVersion),vectorValues:ec("object")};let lG=/^__.*__$/;class lH{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return null!==this.fieldMask?new nj(e,this.data,this.fieldMask,t,this.fieldTransforms):new nB(e,this.data,t,this.fieldTransforms)}}class lW{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new nj(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function lQ(e){switch(e){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw P(40011,{dataSource:e})}}class lJ{constructor(e,t,r,n,i,s){this.settings=e,this.databaseId=t,this.serializer=r,this.ignoreUndefinedProperties=n,void 0===i&&this.fc(),this.fieldTransforms=i||[],this.fieldMask=s||[]}get path(){return this.settings.path}get dataSource(){return this.settings.dataSource}i(e){return new lJ({...this.settings,...e},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}yc(e){let t=this.path?.child(e),r=this.i({path:t,arrayElement:!1});return r.wc(e),r}Sc(e){let t=this.path?.child(e),r=this.i({path:t,arrayElement:!1});return r.fc(),r}bc(e){return this.i({path:void 0,arrayElement:!0})}Dc(e){return ur(e,this.settings.methodName,this.settings.hasConverter||!1,this.path,this.settings.targetDoc)}contains(e){return void 0!==this.fieldMask.find(t=>e.isPrefixOf(t))||void 0!==this.fieldTransforms.find(t=>e.isPrefixOf(t.field))}fc(){if(this.path)for(let e=0;e<this.path.length;e++)this.wc(this.path.get(e))}wc(e){if(0===e.length)throw this.Dc("Document fields must not be empty");if(lQ(this.dataSource)&&lG.test(e))throw this.Dc('Document fields cannot begin and end with "__"')}}class lY{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=r||aL(e)}V(e,t,r,n=!1){return new lJ({dataSource:e,methodName:t,targetDoc:r,path:en.emptyPath(),arrayElement:!1,hasConverter:n},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function lX(e){let t=e._freezeSettings(),r=aL(e._databaseId);return new lY(e._databaseId,!!t.ignoreUndefinedProperties,r)}function lZ(e,t,r,n,i,s={}){let a,o,l=e.V(s.merge||s.mergeFields?2:0,t,r,i);l7("Data must be an object, but it was:",l,n);let u=l8(n,l);if(s.merge)a=new tJ(l.fieldMask),o=l.fieldTransforms;else if(s.mergeFields){let e=[];for(let n of s.mergeFields){let i=l9(t,n,r);if(!l.contains(i))throw new F(V.INVALID_ARGUMENT,`Field '${i}' is specified in your field mask but missing from your input data.`);un(e,i)||e.push(i)}a=new tJ(e),o=l.fieldTransforms.filter(e=>a.covers(e.field))}else a=null,o=l.fieldTransforms;return new lH(new rx(u),a,o)}class l0 extends lz{_toFieldTransform(e){if(2!==e.dataSource)throw 1===e.dataSource?e.Dc(`${this._methodName}() can only appear at the top level of your update data`):e.Dc(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof l0}}class l1 extends lz{_toFieldTransform(e){return new nR(e.path,new nT)}isEqual(e){return e instanceof l1}}function l2(e,t,r,n){let i=e.V(1,t,r);l7("Data must be an object, but it was:",i,n);let s=[],a=rx.empty();return tq(n,(e,n)=>{let o=ut(t,e,r);n=(0,w.getModularInstance)(n);let l=i.Sc(o);if(n instanceof l0)s.push(o);else{let e=l5(n,l);null!=e&&(s.push(o),a.set(o,e))}}),new lW(a,new tJ(s),i.fieldTransforms)}function l6(e,t,r,n,i,s){let a=e.V(1,t,r),o=[l9(t,n,r)],l=[i];if(s.length%2!=0)throw new F(V.INVALID_ARGUMENT,`Function ${t}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let e=0;e<s.length;e+=2)o.push(l9(t,s[e])),l.push(s[e+1]);let u=[],h=rx.empty();for(let e=o.length-1;e>=0;
9--e)if(!un(u,o[e])){let t=o[e],r=l[e];r=(0,w.getModularInstance)(r);let n=a.Sc(t);if(r instanceof l0)u.push(t);else{let e=l5(r,n);null!=e&&(u.push(t),h.set(t,e))}}return new lW(h,new tJ(u),a.fieldTransforms)}function l3(e,t,r,n=!1){return l5(r,e.V(n?4:3,t))}function l5(e,t){if(l4(e=(0,w.getModularInstance)(e)))return l7("Unsupported field value:",t,e),l8(e,t);if(e instanceof lz)return function(e,t){if(!lQ(t.dataSource))throw t.Dc(`${e._methodName}() can only be used with update() and set()`);if(!t.path)throw t.Dc(`${e._methodName}() is not currently supported inside arrays`);let r=e._toFieldTransform(t);r&&t.fieldTransforms.push(r)}(e,t),null;if(void 0===e&&t.ignoreUndefinedProperties)return null;if(t.path&&t.fieldMask.push(t.path),e instanceof Array){if(t.settings.arrayElement&&4!==t.dataSource)throw t.Dc("Nested arrays are not supported");let r=[],n=0;for(let i of e){let e=l5(i,t.bc(n));null==e&&(e={nullValue:"NULL_VALUE"}),r.push(e),n++}return{arrayValue:{values:r}}}return function(e,t){var r,n,i;if(null===(e=(0,w.getModularInstance)(e)))return{nullValue:"NULL_VALUE"};if("number"==typeof e)return r=t.serializer,eG(n=e)?nI(n):nb(r,n);if("boolean"==typeof e)return{booleanValue:e};if("string"==typeof e)return{stringValue:e};if(e instanceof Date){let r=ef.fromDate(e);return{timestampValue:ic(t.serializer,r)}}if(e instanceof ef){let r=new ef(e.seconds,1e3*Math.floor(e.nanoseconds/1e3));return{timestampValue:ic(t.serializer,r)}}if(e instanceof l$)return{geoPointValue:{latitude:e.latitude,longitude:e.longitude}};if(e instanceof lj)return{bytesValue:id(t.serializer,e._byteString)};if(e instanceof lO){let r=t.databaseId,n=e.firestore._databaseId;if(!n.isEqual(r))throw t.Dc(`Document reference is for database ${n.projectId}/${n.database} but should be for database ${r.projectId}/${r.database}`);return{referenceValue:ig(e.firestore._databaseId||t.databaseId,e._key.path)}}if(e instanceof lK)return{mapValue:{fields:{[ri]:{stringValue:ro},[rl]:{arrayValue:{values:((i=e)instanceof lK?i.toArray():i).map(e=>{if("number"!=typeof e)throw t.Dc("VectorValues must only contain numeric values.");return nb(t.serializer,e)})}}}}};if(iP(e))return e._toProto(t.serializer);throw t.Dc(`Unsupported field value: ${eu(e)}`)}(e,t)}function l8(e,t){let r={};return tz(e)?t.path&&t.path.length>0&&t.fieldMask.push(t.path):tq(e,(e,n)=>{let i=l5(n,t.yc(e));null!=i&&(r[e]=i)}),{mapValue:{fields:r}}}function l4(e){return!("object"!=typeof e||null===e||e instanceof Array||e instanceof Date||e instanceof ef||e instanceof l$||e instanceof lj||e instanceof lO||e instanceof lz||e instanceof lK||iP(e))}function l7(e,t,r){if(!l4(r)||!el(r)){let n=eu(r);throw"an object"===n?t.Dc(e+" a custom object"):t.Dc(e+" "+n)}}function l9(e,t,r){if((t=(0,w.getModularInstance)(t))instanceof lq)return t._internalPath;if("string"==typeof t)return ut(e,t);throw ur("Field path arguments must be of type string or ",e,!1,void 0,r)}let ue=RegExp("[~\\*/\\[\\]]");function ut(e,t,r){if(t.search(ue)>=0)throw ur(`Invalid field path (${t}). Paths must not contain '~', '*', '/', '[', or ']'`,e,!1,void 0,r);try{return new lq(...t.split("."))._internalPath}catch(n){throw ur(`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,e,!1,void 0,r)}}function ur(e,t,r,n,i){let s=n&&!n.isEmpty(),a=void 0!==i,o=`Function ${t}() called with invalid data`;r&&(o+=" (via `toFirestore()`)"),o+=". ";let l="";return(s||a)&&(l+=" (found",s&&(l+=` in field ${n}`),a&&(l+=` in document ${i}`),l+=")"),new F(V.INVALID_ARGUMENT,o+e+l)}function un(e,t){return e.some(e=>e.isEqual(t))}class ui{convertValue(e,t="none"){switch(rh(e)){case 0:return null;case 1:return e.booleanValue;case 2:return t1(e.integerValue||e.doubleValue);case 3:return this.convertTimestamp(e.timestampValue);case 4:return this.convertServerTimestamp(e,t);case 5:return e.stringValue;case 6:return this.convertBytes(t2(e.bytesValue));case 7:return this.convertReference(e.referenceValue);case 8:return this.convertGeoPoint(e.geoPointValue);case 9:return this.convertArray(e.arrayValue,t);case 11:return this.convertObject(e.mapValue,t);case 10:return this.convertVectorValue(e.mapValue);default:throw P(62114,{value:e})}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,t="none"){let r={};return tq(e,(e,n)=>{r[e]=this.convertValue(n,t)}),r}convertVectorValue(e){return new lK(e.fields?.[rl].arrayValue?.values?.map(e=>t1(e.doubleValue)))}convertGeoPoint(e){return new l$(t1(e.latitude),t1(e.longitude))}convertArray(e,t){return(e.values||[]).map(e=>this.convertValue(e,t))}convertServerTimestamp(e,t){switch(t){case"previous":let r=t7(e);return null==r?null:this.convertValue(r,t);case"estimate":return this.convertTimestamp(t9(e));default:return null}}convertTimestamp(e){let t=t0(e);return new ef(t.seconds,t.nanos)}convertDocumentKey(e,t){let r=et.fromString(e);M(iO(r),9688,{name:e});let n=new rr(r.get(1),r.get(3)),i=new ei(r.popFirst(5));return n.isEqual(t)||N(`Document ${i} contains a document reference within a different database (${n.projectId}/${n.database}) which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),i}}class us extends ui{constructor(e){super(),this.firestore=e}convertBytes(e){return new lj(e)}convertReference(e){let t=this.convertDocumentKey(e,this.firestore._databaseId);
9return new lO(this.firestore,null,t)}}e.s(["$",0,l2,"A",0,ui,"B",0,lj,"C",0,rV,"D",0,lO,"E",0,function(e,t){let r=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.push(t(e[n],n,e));return r},"F",0,lU,"G",0,function(e,t,r){let n=new U;return e.asyncQueue.enqueueAndForget(async()=>{try{let i=await lb(e);n.resolve(async function(e,t,r){var n;let{request:i,gt:s,parent:a}=function(e,t,r){let{ft:n,parent:i}=ix(e,t),s={},a=[],o=0;return r.forEach(e=>{let t="aggregate_"+o++;s[t]=e.alias,"count"===e.aggregateType?a.push({alias:t,count:{}}):"avg"===e.aggregateType?a.push({alias:t,avg:{field:iN(e.fieldPath)}}):"sum"===e.aggregateType&&a.push({alias:t,sum:{field:iN(e.fieldPath)}})}),{request:{structuredAggregationQuery:{aggregations:a,structuredQuery:n.structuredQuery},parent:n.parent},gt:s,parent:i}}(e.serializer,((n=t).Re||(n.Re=nt(n,n.explicitOrderBy)),n.Re),r);e.connection.Ko||delete i.parent;let o=(await e.jo("RunAggregationQuery",e.serializer.databaseId,a,i,1)).filter(e=>!!e.result);M(1===o.length,64727);let l=o[0].result?.aggregateFields;return Object.keys(l).reduce((e,t)=>(e[s[t]]=l[t],e),{})}(i,t,r))}catch(e){n.reject(e)}}),n.promise},"H",0,us,"I",0,ed,"J",0,aL,"K",0,function(e,t){return new lu(e,t)},"L",0,oS,"M",0,iS,"N",0,W,"O",0,rx,"P",0,i$,"Q",0,lR,"R",0,et,"S",0,oc,"T",0,nv,"U",0,P,"V",0,of,"W",0,lZ,"X",0,nP,"Y",0,lq,"Z",0,l6,"_",0,A,"a",0,z,"a$",0,function(){return new l1("serverTimestamp")},"a0",0,nK,"a1",0,lC,"a2",0,lE,"a3",0,function(e,t){let r=new U;return e.asyncQueue.enqueueAndForget(async()=>(async function(e,t,r){try{let n=await e.persistence.runTransaction("read document","readonly",r=>e.localDocuments.getDocument(r,t));n.isFoundDocument()?r.resolve(n):n.isNoDocument()?r.resolve(null):r.reject(new F(V.UNAVAILABLE,"Failed to get document from cache. (However, this document may exist on the server. Run again without setting 'source' in the GetOptions to attempt to retrieve the document from the server.)"))}catch(n){let e=oh(n,`Failed to get document '${t} from cache`);r.reject(e)}})(await lv(e),t,r)),r.promise},"a4",0,lT,"a5",0,function(e,t){let r=new U;return e.asyncQueue.enqueueAndForget(async()=>(async function(e,t,r){try{let n=await at(e,t,!0),i=new ox(t,n.ks),s=i._u(n.documents),a=i.applyChanges(s,!1);r.resolve(a.snapshot)}catch(n){let e=oh(n,`Failed to execute query '${t} against cache`);r.reject(e)}})(await lv(e),t,r)),r.promise},"a6",0,function(e,t,...r){if(e=(0,w.getModularInstance)(e),1==arguments.length&&(t=W.newId()),es("doc","path",t),e instanceof lN){let n=et.fromString(t,...r);return ea(n),new lO(e,null,new ei(n))}{if(!(e instanceof lO||e instanceof lP))throw new F(V.INVALID_ARGUMENT,"Expected first argument to doc() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let n=e._path.child(et.fromString(t,...r));return ea(n),new lO(e.firestore,e instanceof lP?e.converter:null,new ei(n))}},"a7",0,r8,"a8",0,l_,"a9",0,function(e,t){let r=lB(e=eh(e,lU)),n=new lF;return function(e,t,r,n){var i;let s=(i=aL(t),new ll(function(e){if(e instanceof Uint8Array)return la(e,void 0);if(e instanceof ArrayBuffer)return la(new Uint8Array(e),void 0);if(e instanceof ReadableStream)return e.getReader();throw Error("Source of `toByteStreamReader` has to be a ArrayBuffer or ReadableStream")}("string"==typeof r?n0().encode(r):r),i));e.asyncQueue.enqueueAndForget(async()=>{var t=await lw(e);(async function(e,t,r){try{var n,i;let s,a=await t.getMetadata();if(await (n=e.localStore,s=ip(a.createTime),n.persistence.runTransaction("hasNewerBundle","readonly",e=>n.Pi.getBundleMetadata(e,a.id)).then(e=>!!e&&e.createTime.compareTo(s)>=0)))return await t.close(),r._completeWith({taskState:"Success",documentsLoaded:a.totalDocuments,bytesLoaded:a.totalBytes,totalDocuments:a.totalDocuments,totalBytes:a.totalBytes}),Promise.resolve(new Set);r._updateProgress(oC(a));let o=new oS(a,t.serializer),l=await t.Fu();for(;l;){let e=await o.Ha(l);e&&r._updateProgress(e),l=await t.Fu()}let u=await o.Xa(e.localStore);return await oX(e,u.eu,void 0),await (i=e.localStore,i.persistence.runTransaction("Save bundle","readwrite",e=>i.Pi.saveBundleMetadata(e,a))),r._completeWith(u.progress),Promise.resolve(u.Ya)}catch(e){return R(oD,`Loading bundle failed with ${e}`),r._failWith(e),Promise.resolve(new Set)}})(t,s,n).then(e=>
9{t.sharedClientState.notifyBundleLoaded(e)})})}(r,e._databaseId,t,n),n},"aO",0,function(e,t,...r){if(e=(0,w.getModularInstance)(e),es("collection","path",t),e instanceof lN){let n=et.fromString(t,...r);return eo(n),new lP(e,null,n)}{if(!(e instanceof lO||e instanceof lP))throw new F(V.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let n=e._path.child(et.fromString(t,...r));return eo(n),new lP(e.firestore,null,n)}},"aX",0,function(e,t){let r="object"==typeof e?e:(0,g.getApp)(),n=(0,g._getProvider)(r,"firestore").getImmediate({identifier:"string"==typeof e?e:t||rt});if(!n._initialized){let e=(0,w.getDefaultEmulatorHostnameAndPort)("firestore");e&&function(e,t,r,n={}){e=eh(e,lN);let i=(0,w.isCloudWorkstation)(t),s=e._getSettings(),a={...s,emulatorOptions:e._getEmulatorOptions()},o=`${t}:${r}`;i&&(0,w.pingServer)(`https://${o}`),s.host!==lx&&s.host!==o&&R("Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used.");let l={...s,host:o,ssl:i,emulatorOptions:n};if(!(0,w.deepEqual)(l,a)&&(e._setSettings(l),n.mockUserToken)){let t,r;if("string"==typeof n.mockUserToken)t=n.mockUserToken,r=S.MOCK_USER;else{t=(0,w.createMockUserToken)(n.mockUserToken,e._app?.options.projectId);let i=n.mockUserToken.sub||n.mockUserToken.user_id;if(!i)throw new F(V.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");r=new S(i)}e._authCredentials=new q(new B(t,r))}}(n,...e)}return n},"aa",0,function(e,t){var r;return(r=lB(e=eh(e,lU)),r.asyncQueue.enqueue(async()=>{var e;return e=await lv(r),e.persistence.runTransaction("Get named query","readonly",r=>e.Pi.getNamedQuery(r,t))})).then(t=>t?new lR(e,null,t.query):null)},"ab",0,function(e,t){let r=new lo(t);return e.asyncQueue.enqueueAndForget(async()=>{var t;return t=await lI(e),void(t.xa.add(r),r.next())}),()=>{r.Ku(),e.asyncQueue.enqueueAndForget(async()=>{var t;return t=await lI(e),void t.xa.delete(r)})}},"ac",0,lS,"ad",0,R,"ae",0,ut,"af",0,ew,"ag",0,eg,"ah",0,eb,"ai",0,function(e,t){return e.asyncQueue.enqueue(async()=>(async function(e,t){let r=e.indexManager,n=[];return e.persistence.runTransaction("Configure indexes","readwrite",e=>r.getFieldIndexes(e).next(i=>(function(e,t,r,n,i){t=[...t],(e=[...e]).sort(r),t.sort(r);let s=e.length,a=t.length,o=0,l=0;for(;o<a&&l<s;){let s=r(e[l],t[o]);s<0?i(e[l++]):s>0?n(t[o++]):(o++,l++)}for(;o<a;)n(t[o++]);for(;l<s;)i(e[l++])})(i,t,ev,t=>{n.push(r.addFieldIndex(e,t))},t=>{n.push(r.deleteFieldIndex(e,t))})).next(()=>ek.waitFor(n)))})(await lv(e),t))},"aj",0,function(e){return e.asyncQueue.enqueue(async()=>{var t;let r;return r=(t=await lv(e)).indexManager,t.persistence.runTransaction("Delete All Indexes","readwrite",e=>r.deleteAllFieldIndexes(e))})},"ak",0,D,"al",0,function(e,t){return e.asyncQueue.enqueue(async()=>{var r;return r=await lv(e),void(r.Cs.As=t)})},"am",0,function(e){if(nZ)throw Error("a TestingHooksSpi instance is already set");nZ=e},"an",0,rP,"ao",0,class{constructor(e,t,r){this.alias=e,this.aggregateType=t,this.fieldPath=r}},"ap",0,ls,"aq",0,ln,"ar",0,lr,"as",0,li,"at",0,class extends li{constructor(e,t){super(e,t,!1),this.Lu=e,this.cacheSizeBytes=t,this.synchronizeTabs=!0}async initialize(e){await super.initialize(e);let t=this.Lu.syncEngine;this.sharedClientState instanceof aw&&(this.sharedClientState.syncEngine={bo:o6.bind(null,t),Do:o7.bind(null,t),Co:o9.bind(null,t),hs:o4.bind(null,t),So:o2.bind(null,t)},await this.sharedClientState.start()),await this.persistence.zi(async e=>{await o3(this.Lu.syncEngine,e),this.gcScheduler&&(e&&!this.gcScheduler.started?this.gcScheduler.start():e||this.gcScheduler.stop()),this.indexBackfillerScheduler&&(e&&!this.indexBackfillerScheduler.started?this.indexBackfillerScheduler.start():e||this.indexBackfillerScheduler.stop())})}Mu(e){let t=aO();if(!aw.v(t))throw new F(V.UNIMPLEMENTED,"IndexedDB persistence is only available on platforms that support LocalStorage.");let r=s0(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey);return new aw(t,e.asyncQueue,r,e.clientId,e.initialUser)}},"b",0,H,"c",0,rn,"d",0,F,"e",0,V,"f",0,nr,"g",0,lX,"h",0,l3,"i",0,rM,"j",0,l9,"k",0,function(e,t){let r=e.explicitOrderBy.concat([t]);return new r5(e.path,e.collectionGroup,r,e.filters.slice(),e.limit,e.limitType,e.startAt,e.endAt)},"l",0,nn,"m",0,function(e,t){if(t<=0)throw new F(V.INVALID_ARGUMENT,`Function ${e}() requires a positive number, but it was: ${t}.`)},"n",0,function(e,t){return new r5(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,t,e.endAt)},"o",0,function(e,t){return new r5(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,e.startAt,t)},"p",0,ec,"q",0,r9,"r",0,ry,"s",0,t4,"t",0,rN,"u",0,r7,"v",0,ei,"w",0,eu,"x",0,function(e,t){return e=(0,w.getModularInstance)(e),t=(0,w.getModularInstance)(t),e instanceof lR&&t instanceof lR&&e.firestore===t.firestore&&ni(e._query,t._query)&&e.converter===t.converter},"y",0,eh,"z",0,lB],27286);let ua="@firebase/firestore",uo="4.14.1";function ul(e){if("object"!=typeof e||null===e)return!1;for(let t of["next","error","complete"])if(t in e&&"function"==typeof e[t])return!0;return!1}class uu{constructor(e,t,r,n,i){this._firestore=e,this._userDataWriter=t,this._key=r,this._document=n,this._converter=i}get id(){return this._key.path.lastSegment()}get ref(){return new lO(this._firestore,this._converter,this._key)}exists(){return null!==this._document}data(){if(this._document){if(this._converter){let e=new uh(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}}_fieldsProto(){return this._document?.data.clone().value.mapValue.fields??void 0}get(e){if(this._document){let t=this._document.data.field(l9("DocumentSnapshot.get",e));if(null!==t)return this._userDataWriter.convertValue(t)}}}class uh extends uu{data(){return super.data()}}function uc(e){if("L"===e.limitType&&0===e.explicitOrderBy.length)throw new F(V.UNIMPLEMENT
9ED,"limitToLast() queries require specifying at least one orderBy() clause")}class ud{}class uf extends ud{}class up extends uf{constructor(e,t,r){super(),this._field=e,this._op=t,this._value=r,this.type="where"}static _create(e,t,r){return new up(e,t,r)}_apply(e){let t=this._parse(e);return uv(e._query,t),new lR(e.firestore,e.converter,nr(e._query,t))}_parse(e){let t=lX(e.firestore);return function(e,t,r,n,i,s,a){let o;if(i.isKeyField()){if("array-contains"===s||"array-contains-any"===s)throw new F(V.INVALID_ARGUMENT,`Invalid Query. You can't perform '${s}' queries on documentId().`);if("in"===s||"not-in"===s){uy(a,s);let t=[];for(let r of a)t.push(um(n,e,r));o={arrayValue:{values:t}}}else o=um(n,e,a)}else"in"!==s&&"not-in"!==s&&"array-contains-any"!==s||uy(a,s),o=l3(r,t,a,"in"===s||"not-in"===s);return rM.create(i,s,o)}(e._query,"where",t,e.firestore._databaseId,this._field,this._op,this._value)}}class ug extends ud{constructor(e,t){super(),this.type=e,this._queryConstraints=t}static _create(e,t){return new ug(e,t)}_parse(e){let t=this._queryConstraints.map(t=>t._parse(e)).filter(e=>e.getFilters().length>0);return 1===t.length?t[0]:rV.create(t,this._getOperator())}_apply(e){let t=this._parse(e);return 0===t.getFilters().length?e:(function(e,t){let r=e;for(let e of t.getFlattenedFilters())uv(r,e),r=nr(r,e)}(e._query,t),new lR(e.firestore,e.converter,nr(e._query,t)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return"and"===this.type?"and":"or"}}function um(e,t,r){if("string"==typeof(r=(0,w.getModularInstance)(r))){if(""===r)throw new F(V.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!r7(t)&&-1!==r.indexOf("/"))throw new F(V.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${r}' contains a '/' character.`);let n=t.path.child(et.fromString(r));if(!ei.isDocumentKey(n))throw new F(V.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${n}' is not because it has an odd number of segments (${n.length}).`);return ry(e,new ei(n))}if(r instanceof lO)return ry(e,r._key);throw new F(V.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${eu(r)}.`)}function uy(e,t){if(!Array.isArray(e)||0===e.length)throw new F(V.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`)}function uv(e,t){let r=function(e,t){for(let r of e)for(let e of r.getFlattenedFilters())if(t.indexOf(e.op)>=0)return e.op;return null}(e.filters,function(e){switch(e){case"!=":return["!=","not-in"];case"array-contains-any":case"in":return["not-in"];case"not-in":return["array-contains-any","in","not-in","!="];default:return[]}}(t.op));if(null!==r)throw r===t.op?new F(V.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new F(V.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${r.toString()}' filters.`)}function uw(e,t,r){return e?r&&(r.merge||r.mergeFields)?e.toFirestore(t,r):e.toFirestore(t):t}class ub extends ui{constructor(e){super(),this.firestore=e}convertBytes(e){return new lj(e)}convertReference(e){let t=this.convertDocumentKey(e,this.firestore._databaseId);return new lO(this.firestore,null,t)}}class uI{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}class u_ extends uu{constructor(e,t,r,n,i,s){super(e,t,r,n,s),this._firestore=e,this._firestoreImpl=e,this.metadata=i}exists(){return super.exists()}data(e={}){if(this._document){if(this._converter){let t=new uE(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(t,e)}return this._userDataWriter.convertValue(this._document.data.value,e.serverTimestamps)}}get(e,t={}){if(this._document){let r=this._document.data.field(l9("DocumentSnapshot.get",e));if(null!==r)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}toJSON(){if(this.metadata.hasPendingWrites)throw new F(V.FAILED_PRECONDITION,"DocumentSnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let e=this._document,t={};return t.type=u_._jsonSchemaVersion,t.bundle="",t.bundleSource="DocumentSnapshot",t.bundleName=this._key.toString(),e&&e.isValidDocument()&&e.isFoundDocument()&&
9(this._userDataWriter.convertObjectMap(e.data.value.mapValue.fields,"previous"),this._firestore,this.ref.path,t.bundle="NOT SUPPORTED"),t}}u_._jsonSchemaVersion="firestore/documentSnapshot/1.0",u_._jsonSchema={type:ec("string",u_._jsonSchemaVersion),bundleSource:ec("string","DocumentSnapshot"),bundleName:ec("string"),bundle:ec("string")};class uE extends u_{data(e={}){return super.data(e)}}class uT{constructor(e,t,r,n){this._firestore=e,this._userDataWriter=t,this._snapshot=n,this.metadata=new uI(n.hasPendingWrites,n.fromCache),this.query=r}get docs(){let e=[];return this.forEach(t=>e.push(t)),e}get size(){return this._snapshot.docs.size}get empty(){return 0===this.size}forEach(e,t){this._snapshot.docs.forEach(r=>{e.call(t,new uE(this._firestore,this._userDataWriter,r.key,r,new uI(this._snapshot.mutatedKeys.has(r.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){let t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new F(V.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===t||(this._cachedChanges=function(e,t){if(e._snapshot.oldDocs.isEmpty()){let t=0;return e._snapshot.docChanges.map(r=>{let n=new uE(e._firestore,e._userDataWriter,r.doc.key,r.doc,new uI(e._snapshot.mutatedKeys.has(r.doc.key),e._snapshot.fromCache),e.query.converter);return r.doc,{type:"added",doc:n,oldIndex:-1,newIndex:t++}})}{let r=e._snapshot.oldDocs;return e._snapshot.docChanges.filter(e=>t||3!==e.type).map(t=>{let n=new uE(e._firestore,e._userDataWriter,t.doc.key,t.doc,new uI(e._snapshot.mutatedKeys.has(t.doc.key),e._snapshot.fromCache),e.query.converter),i=-1,s=-1;return 0!==t.type&&(i=r.indexOf(t.doc.key),r=r.delete(t.doc.key)),1!==t.type&&(s=(r=r.add(t.doc)).indexOf(t.doc.key)),{type:function(e){switch(e){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return P(61501,{type:e})}}(t.type),doc:n,oldIndex:i,newIndex:s}})}}(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}toJSON(){if(this.metadata.hasPendingWrites)throw new F(V.FAILED_PRECONDITION,"QuerySnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let e={};e.type=uT._jsonSchemaVersion,e.bundleSource="QuerySnapshot",e.bundleName=W.newId(),this._firestore._databaseId.database,this._firestore._databaseId.projectId;let t=[],r=[],n=[];return this.docs.forEach(e=>{null!==e._document&&(t.push(e._document),r.push(this._userDataWriter.convertObjectMap(e._document.data.value.mapValue.fields,"previous")),n.push(e.ref.path))}),this._firestore,this.query._query,e.bundleName,e.bundle="NOT SUPPORTED",e}}uT._jsonSchemaVersion="firestore/querySnapshot/1.0",uT._jsonSchema={type:ec("string",uT._jsonSchemaVersion),bundleSource:ec("string","QuerySnapshot"),bundleName:ec("string"),bundle:ec("string")};let uS={maxAttempts:5};function uC(e,t){if((e=(0,w.getModularInstance)(e)).firestore!==t)throw new F(V.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return e}class uA{constructor(e,t){this._firestore=e,this._transaction=t,this._dataReader=lX(e)}get(e){let t=uC(e,this._firestore),r=new ub(this._firestore);return this._transaction.lookup([t._key]).then(e=>{if(!e||1!==e.length)return P(24041);let n=e[0];if(n.isFoundDocument())return new uu(this._firestore,r,n.key,n,t.converter);if(n.isNoDocument())return new uu(this._firestore,r,t._key,null,t.converter);throw P(18433,{doc:n})})}set(e,t,r){let n=uC(e,this._firestore),i=uw(n.converter,t,r),s=lZ(this._dataReader,"Transaction.set",n._key,i,null!==n.converter,r);return this._transaction.set(n._key,s),this}update(e,t,r,...n){let i,s=uC(e,this._firestore);return i="string"==typeof(t=(0,w.getModularInstance)(t))||t instanceof lq?l6(this._dataReader,"Transaction.update",s._key,t,r,n):l2(this._dataReader,"Transaction.update",s._key,t),this._transaction.update(s._key,i),this}delete(e){let t=uC(e,this._firestore);return this._transaction.delete(t._key),this}}class uk extends uA{constructor(e,t){super(e,t),this._firestore=e}get(e){let t=uC(e,this._firestore),r=new us(this._firestore);return super.get(e).then(e=>new u_(this._firestore,r,t._key,e._document,new uI(!1,!1),t.converter))}}function ux(e,t,r){let n=r.docs.get(t._key),i=new us(e);return new u_(e,i,t._key,n,new uI(r.hasPendingWrites,r.fromCache),t.converter)}new WeakMap,function(e=!0){A(g.SDK_VERSION),(0,g._registerComponent)(new m.Component("firestore",(t,{instanceIdentifier:r,options:n})=>{let i=t.getProvider("app").getImmediate(),s=new lU(new z(t.getProvider("auth-internal")),new H(i,t.getProvider("app-check-internal")),rn(i,r),i);return n={useFetchStreams:e,...n},s._setSettings(n),s},"PUBLIC").setMultipleInstances(!0)),(0,g.registerVersion)(ua,uo,void 0),(0,g.registerVersion)(ua,uo,"esm2020")}(),e.s(["deleteDoc",0,function(e){var t,r;
9return t=eh(e.firestore,lU),r=[new nK(e._key,nP.none())],lS(lB(t),r)},"getDoc",0,function(e){e=eh(e,lO);let t=eh(e.firestore,lU);return lE(lB(t),e._key).then(r=>ux(t,e,r))},"getDocs",0,function(e){e=eh(e,lR);let t=eh(e.firestore,lU),r=lB(t),n=new us(t);return uc(e._query),lT(r,e._query).then(r=>new uT(t,n,e,r))},"onSnapshot",0,function(e,...t){let r,n,i;e=(0,w.getModularInstance)(e);let s={includeMetadataChanges:!1,source:"default"},a=0;"object"!=typeof t[0]||ul(t[a])||(s=t[a++]);let o={includeMetadataChanges:s.includeMetadataChanges,source:s.source};if(ul(t[a])){let e=t[a];t[a]=e.next?.bind(e),t[a+1]=e.error?.bind(e),t[a+2]=e.complete?.bind(e)}if(e instanceof lO)n=eh(e.firestore,lU),i=r8(e._key.path),r={next:r=>{t[a]&&t[a](ux(n,e,r))},error:t[a+1],complete:t[a+2]};else{let s=eh(e,lR);n=eh(s.firestore,lU),i=s._query;let o=new us(n);r={next:e=>{t[a]&&t[a](new uT(n,o,s,e))},error:t[a+1],complete:t[a+2]},uc(e._query)}return l_(lB(n),i,o,r)},"query",0,function(e,t,...r){let n=[];for(let i of(t instanceof ud&&n.push(t),function(e){let t=e.filter(e=>e instanceof ug).length,r=e.filter(e=>e instanceof up).length;if(t>1||t>0&&r>0)throw new F(V.INVALID_ARGUMENT,"InvalidQuery. When using composite filters, you cannot use more than one filter at the top level. Consider nesting the multiple filters within an `and(...)` statement. For example: change `query(query, where(...), or(...))` to `query(query, and(where(...), or(...)))`.")}(n=n.concat(r)),n))e=i._apply(e);return e},"runTransaction",0,function(e,t,r){e=eh(e,lU);let n={...uS,...r};if(n.maxAttempts<1)throw new F(V.INVALID_ARGUMENT,"Max attempts must be at least 1");return lC(lB(e),r=>t(new uk(e,r)),n)},"setDoc",0,function(e,t,r){var n,i;e=eh(e,lO);let s=eh(e.firestore,lU),a=uw(e.converter,t,r),o=lX(s);return n=s,i=[lZ(o,"setDoc",e._key,a,null!==e.converter,r).toMutation(e._key,nP.none())],lS(lB(n),i)},"where",0,function(e,t,r){let n=l9("where",e);return up._create(n,t,r)}],63802),e.s([],36180)},86205,14539,e=>{"use strict";var t=e.i(27286);e.s(["doc",()=>t.a6],86205),(0,e.i(92953).registerVersion)("firebase","12.13.0","app"),e.s([],14539)},76009,e=>{"use strict";e.i(47167),e.i(14539);var t,r,n,i,s=e.i(92953);e.i(51718);var a=e.i(64104),a=a,o=a;e.i(36180);var l=e.i(27286),l=l,u=e.i(97427),h=e.i(8070);let c="firebasestorage.googleapis.com";class d extends u.FirebaseError{constructor(e,t,r=0){super(f(e),`Firebase Storage: ${t} (${f(e)})`),this.status_=r,this.customData={serverResponse:null},this._baseMessage=this.message,Object.setPrototypeOf(this,d.prototype)}get status(){return this.status_}set status(e){this.status_=e}_codeEquals(e){return f(e)===this.code}get serverResponse(){return this.customData.serverResponse}set serverResponse(e){this.customData.serverResponse=e,this.customData.serverResponse?this.message=`${this._baseMessage} 10${this.customData.serverResponse}`:this.message=this._baseMessage}}function f(e){return"storage/"+e}function p(e){return new d(n.INVALID_ARGUMENT,e)}function g(){return new d(n.APP_DELETED,"The Firebase app was deleted.")}(t=n||(n={})).UNKNOWN="unknown",t.OBJECT_NOT_FOUND="object-not-found",t.BUCKET_NOT_FOUND="bucket-not-found",t.PROJECT_NOT_FOUND="project-not-found",t.QUOTA_EXCEEDED="quota-exceeded",t.UNAUTHENTICATED="unauthenticated",t.UNAUTHORIZED="unauthorized",t.UNAUTHORIZED_APP="unauthorized-app",t.RETRY_LIMIT_EXCEEDED="retry-limit-exceeded",t.INVALID_CHECKSUM="invalid-checksum",t.CANCELED="canceled",t.INVALID_EVENT_NAME="invalid-event-name",t.INVALID_URL="invalid-url",t.INVALID_DEFAULT_BUCKET="invalid-default-bucket",t.NO_DEFAULT_BUCKET="no-default-bucket",t.CANNOT_SLICE_BLOB="cannot-slice-blob",t.SERVER_FILE_WRONG_SIZE="server-file-wrong-size",t.NO_DOWNLOAD_URL="no-download-url",t.INVALID_ARGUMENT="invalid-argument",t.INVALID_ARGUMENT_COUNT="invalid-argument-count",t.APP_DELETED="app-deleted",t.INVALID_ROOT_OPERATION="invalid-root-operation",t.INVALID_FORMAT="invalid-format",t.INTERNAL_ERROR="internal-error",t.UNSUPPORTED_ENVIRONMENT="unsupported-environment";class m{constructor(e,t){this.bucket=e,this.path_=t}get path(){return this.path_}get isRoot(){return 0===this.path.length}fullServerUrl(){let e=encodeURIComponent;return"/b/"+e(this.bucket)+"/o/"+e(this.path)}bucketOnlyServerUrl(){return"/b/"+encodeURIComponent(this.bucket)+"/o"}static makeFromBucketSpec(e,t){let r;try{r=m.makeFromUrl(e,t)}catch(t){return new m(e,"")}if(""===r.path)return r;throw new d(n.INVALID_DEFAULT_BUCKET,"Invalid default bucket '"+e+"'.")}static makeFromUrl(e,t){let r=null,i="([A-Za-z0-9.\\-_]+)",s=RegExp("^gs://"+i+"(/(.*))?$","i");function a(e){e.path_=decodeURIComponent(e.path)}let o=t.replace(/[.]/g,"\\."),l=RegExp(`^https?://${o}/v[A-Za-z0-9_]+/b/${i}/o(/([^?#]*).*)?$`,"i"),u=t===c?"(?:storage.googleapis.com|storage.cloud.google.com)":t,h=[{regex:s,indices:{bucket:1,path:3},postModify:function(e){"/"===e.path.charAt(e.path.length-1)&&(e.path_=e.path_.slice(0,-1))}},{regex:l,indices:{bucket:1,path:3},postModify:a},{regex:RegExp(`^https?://${u}/${i}/([^?#]*)`,"i"),indices:{bucket:1,path:2},postModify:a}];for(let t=0;t<h.length;t++){let n=h[t],i=n.regex.exec(e);if(i){let e=i[n.indices.bucket],t=i[n.indices.path];t||(t=""),r=new m(e,t),n.postModify(r);break}}if(null==r)throw new d(n.INVALID_URL,"Invalid URL '"+e+"'.");return r}}class y{constructor(e){this.promise_=Promise.reject(e)}getPromise(){return this.promise_}cancel(e=!1){}}function v(e,t,r,n){if(n<t)throw p(`Invalid value for '${e}'. Expected ${t} or greater.`);if(n>r)throw p(`Invalid value for '${e}'. Expected ${r} or less.`)}(r=i||(i={}
10))[r.NO_ERROR=0]="NO_ERROR",r[r.NETWORK_ERROR=1]="NETWORK_ERROR",r[r.ABORT=2]="ABORT";class w{constructor(e,t,r,n,i,s,a,o,l,u,h,c=!0,d=!1){this.url_=e,this.method_=t,this.headers_=r,this.body_=n,this.successCodes_=i,this.additionalRetryCodes_=s,this.callback_=a,this.errorCallback_=o,this.timeout_=l,this.progressCallback_=u,this.connectionFactory_=h,this.retry=c,this.isUsingEmulator=d,this.pendingConnection_=null,this.backoffId_=null,this.canceled_=!1,this.appDelete_=!1,this.promise_=new Promise((e,t)=>{this.resolve_=e,this.reject_=t,this.start_()})}start_(){let e=(e,t)=>{if(t)return void e(!1,new b(!1,null,!0));let r=this.connectionFactory_();this.pendingConnection_=r;let n=e=>{let t=e.loaded,r=e.lengthComputable?e.total:-1;null!==this.progressCallback_&&this.progressCallback_(t,r)};null!==this.progressCallback_&&r.addUploadProgressListener(n),r.send(this.url_,this.method_,this.isUsingEmulator,this.body_,this.headers_).then(()=>{var t;let s,a,o;null!==this.progressCallback_&&r.removeUploadProgressListener(n),this.pendingConnection_=null;let l=r.getErrorCode()===i.NO_ERROR,u=r.getStatus();!l||(t=this.additionalRetryCodes_,s=u>=500&&u<600,a=-1!==[408,429].indexOf(u),o=-1!==t.indexOf(u),(s||a||o)&&this.retry)?e(!1,new b(!1,null,r.getErrorCode()===i.ABORT)):e(!0,new b(-1!==this.successCodes_.indexOf(u),r))})},t=(e,t)=>{let r=this.resolve_,i=this.reject_,s=t.connection;if(t.wasSuccessCode)try{let e=this.callback_(s,s.getResponse());void 0!==e?r(e):r()}catch(e){i(e)}else if(null!==s){let e=new d(n.UNKNOWN,"An unknown error occurred, please check the error payload for server response.");e.serverResponse=s.getErrorText(),i(this.errorCallback_?this.errorCallback_(s,e):e)}else i(t.canceled?this.appDelete_?g():new d(n.CANCELED,"User canceled the upload/download."):new d(n.RETRY_LIMIT_EXCEEDED,"Max retry time for operation exceeded, please try again."))};this.canceled_?t(!1,new b(!1,null,!0)):this.backoffId_=function(e,t,r){let n=1,i=null,s=null,a=!1,o=0,l=!1;function u(...e){l||(l=!0,t.apply(null,e))}function h(t){i=setTimeout(()=>{i=null,e(d,2===o)},t)}function c(){s&&clearTimeout(s)}function d(e,...t){let r;if(l)return void c();if(e||2===o||a){c(),u.call(null,e,...t);return}n<64&&(n*=2),1===o?(o=2,r=0):r=(n+Math.random())*1e3,h(r)}let f=!1;function p(e){f||(f=!0,c(),!l&&(null!==i?(e||(o=2),clearTimeout(i),h(0)):e||(o=1)))}return h(0),s=setTimeout(()=>{a=!0,p(!0)},r),p}(e,t,this.timeout_)}getPromise(){return this.promise_}cancel(e){this.canceled_=!0,this.appDelete_=e||!1,null!==this.backoffId_&&(0,this.backoffId_)(!1),null!==this.pendingConnection_&&this.pendingConnection_.abort()}}class b{constructor(e,t,r){this.wasSuccessCode=e,this.connection=t,this.canceled=!!r}}class I{constructor(e,t){this._service=e,t instanceof m?this._location=t:this._location=m.makeFromUrl(t,e.host)}toString(){return"gs://"+this._location.bucket+"/"+this._location.path}_newRef(e,t){return new I(e,t)}get root(){let e=new m(this._location.bucket,"");return this._newRef(this._service,e)}get bucket(){return this._location.bucket}get fullPath(){return this._location.path}get name(){var e;let t;return -1===(t=(e=this._location.path).lastIndexOf("/",e.length-2))?e:e.slice(t+1)}get storage(){return this._service}get parent(){let e=function(e){if(0===e.length)return null;let t=e.lastIndexOf("/");return -1===t?"":e.slice(0,t)}(this._location.path);if(null===e)return null;let t=new m(this._location.bucket,e);return new I(this._service,t)}_throwIfRoot(e){if(""===this._location.path)throw new d(n.INVALID_ROOT_OPERATION,"The operation '"+e+"' cannot be performed on a root reference, create a non-root reference using child, such as .child('file.png').")}}function _(e,t){let r=t?.storageBucket;return null==r?null:m.makeFromBucketSpec(r,e)}class E{constructor(e,t,r,n,i,s=!1){this.app=e,this._authProvider=t,this._appCheckProvider=r,this._url=n,this._firebaseVersion=i,this._isUsingEmulator=s,this._bucket=null,this._host=c,this._protocol="https",this._appId=null,this._deleted=!1,this._maxOperationRetryTime=12e4,this._maxUploadRetryTime=6e5,this._requests=new Set,null!=n?this._bucket=m.makeFromBucketSpec(n,this._host):this._bucket=_(this._host,this.app.options)}get host(){return this._host}set host(e){this._host=e,null!=this._url?this._bucket=m.makeFromBucketSpec(this._url,e):this._bucket=_(e,this.app.options)}get maxUploadRetryTime(){return this._maxUploadRetryTime}set maxUploadRetryTime(e){v("time",0,1/0,e),this._maxUploadRetryTime=e}get maxOperationRetryTime(){return this._maxOperationRetryTime}set maxOperationRetryTime(e){v("time",0,1/0,e),this._maxOperationRetryTime=e}async _getAuthToken(){if(this._overrideAuthToken)return this._overrideAuthToken;let e=this._authProvider.getImmediate({optional:!0});if(e){let t=await e.getToken();if(null!==t)return t.accessToken}return null}async _getAppCheckToken(){if((0,s._isFirebaseServerApp)(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let e=this._appCheckProvider.getImmediate({optional:!0});
10return e?(await e.getToken()).token:null}_delete(){return this._deleted||(this._deleted=!0,this._requests.forEach(e=>e.cancel()),this._requests.clear()),Promise.resolve()}_makeStorageReference(e){return new I(this,e)}_makeRequest(e,t,r,n,i=!0){if(this._deleted)return new y(g());{let s=function(e,t,r,n,i,s,a=!0,o=!1){let l=function(e){let t=encodeURIComponent,r="?";for(let n in e)e.hasOwnProperty(n)&&(r=r+(t(n)+"=")+t(e[n])+"&");return r.slice(0,-1)}(e.urlParams),u=e.url+l,h=Object.assign({},e.headers);return t&&(h["X-Firebase-GMPID"]=t),null!==r&&r.length>0&&(h.Authorization="Firebase "+r),h["X-Firebase-Storage-Version"]="webjs/"+(s??"AppManager"),null!==n&&(h["X-Firebase-AppCheck"]=n),new w(u,e.method,h,e.body,e.successCodes,e.additionalRetryCodes,e.handler,e.errorHandler,e.timeout,e.progressCallback,i,a,o)}(e,this._appId,r,n,t,this._firebaseVersion,i,this._isUsingEmulator);return this._requests.add(s),s.getPromise().then(()=>this._requests.delete(s),()=>this._requests.delete(s)),s}}async makeRequestWithTokens(e,t){let[r,n]=await Promise.all([this._getAuthToken(),this._getAppCheckToken()]);return this._makeRequest(e,t,r,n).getPromise()}}let T="@firebase/storage",S="0.14.3",C="storage";(0,s._registerComponent)(new h.Component(C,function(e,{instanceIdentifier:t}){return new E(e.getProvider("app").getImmediate(),e.getProvider("auth-internal"),e.getProvider("app-check-internal"),t,s.SDK_VERSION)},"PUBLIC").setMultipleInstances(!0)),(0,s.registerVersion)(T,S,""),(0,s.registerVersion)(T,S,"esm2020");let A=(0,s.getApps)().length?(0,s.getApp)():(0,s.initializeApp)({apiKey:"AIzaSyB1JZbAYN1Kjzhfm16adaAInibhvoqYfIE",authDomain:"ausdetourstudio.firebaseapp.com",projectId:"ausdetourstudio",storageBucket:"ausdetourstudio.firebasestorage.app",messagingSenderId:"588503332409",appId:"1:588503332409:web:6da809858a0cb1b05c3fe8",measurementId:"G-D8EV0KZYMF"}),k=(0,a.p)(A),x=(0,l.aX)(A);!function(e=(0,s.getApp)()){e=(0,u.getModularInstance)(e);let t=(0,s._getProvider)(e,C).getImmediate({identifier:void 0}),r=(0,u.getDefaultEmulatorHostnameAndPort)("storage");r&&function(e,t,r,n={}){!function(e,t,r,n={}){e.host=`${t}:${r}`;let i=(0,u.isCloudWorkstation)(t);i&&(0,u.pingServer)(`https://${e.host}/b`),e._isUsingEmulator=!0,e._protocol=i?"https":"http";let{mockUserToken:s}=n;s&&(e._overrideAuthToken="string"==typeof s?s:(0,u.createMockUserToken)(s,e.app.options.projectId))}(e,t,r,n)}(t,...r)}(A);let D=new o.Y;e.s(["auth",0,k,"db",0,x,"googleProvider",0,D],76009)},46939,e=>{"use strict";var t=e.i(27286);e.s(["collection",()=>t.aO])}]);
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.