@entropic-bond/firebase 1.13.8 → 1.13.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(xe,mn){typeof exports=="object"&&typeof module<"u"?mn(exports):typeof define=="function"&&define.amd?define(["exports"],mn):(xe=typeof globalThis<"u"?globalThis:xe||self,mn(xe["entropic-bond-firebase"]={}))})(this,function(xe){"use strict";/**
1
+ (function(xe,Jn){typeof exports=="object"&&typeof module<"u"?Jn(exports):typeof define=="function"&&define.amd?define(["exports"],Jn):(xe=typeof globalThis<"u"?globalThis:xe||self,Jn(xe["entropic-bond-firebase"]={}))})(this,function(xe){"use strict";const Jn=()=>{};/**
2
2
  * @license
3
3
  * Copyright 2017 Google LLC
4
4
  *
@@ -13,22 +13,7 @@
13
13
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
- *//**
17
- * @license
18
- * Copyright 2017 Google LLC
19
- *
20
- * Licensed under the Apache License, Version 2.0 (the "License");
21
- * you may not use this file except in compliance with the License.
22
- * You may obtain a copy of the License at
23
- *
24
- * http://www.apache.org/licenses/LICENSE-2.0
25
- *
26
- * Unless required by applicable law or agreed to in writing, software
27
- * distributed under the License is distributed on an "AS IS" BASIS,
28
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29
- * See the License for the specific language governing permissions and
30
- * limitations under the License.
31
- */const mn=function(n){const e=[];let t=0;for(let r=0;r<n.length;r++){let s=n.charCodeAt(r);s<128?e[t++]=s:s<2048?(e[t++]=s>>6|192,e[t++]=s&63|128):(s&64512)===55296&&r+1<n.length&&(n.charCodeAt(r+1)&64512)===56320?(s=65536+((s&1023)<<10)+(n.charCodeAt(++r)&1023),e[t++]=s>>18|240,e[t++]=s>>12&63|128,e[t++]=s>>6&63|128,e[t++]=s&63|128):(e[t++]=s>>12|224,e[t++]=s>>6&63|128,e[t++]=s&63|128)}return e},tp=function(n){const e=[];let t=0,r=0;for(;t<n.length;){const s=n[t++];if(s<128)e[r++]=String.fromCharCode(s);else if(s>191&&s<224){const i=n[t++];e[r++]=String.fromCharCode((s&31)<<6|i&63)}else if(s>239&&s<365){const i=n[t++],a=n[t++],c=n[t++],l=((s&7)<<18|(i&63)<<12|(a&63)<<6|c&63)-65536;e[r++]=String.fromCharCode(55296+(l>>10)),e[r++]=String.fromCharCode(56320+(l&1023))}else{const i=n[t++],a=n[t++];e[r++]=String.fromCharCode((s&15)<<12|(i&63)<<6|a&63)}}return e.join("")},ic={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:typeof atob=="function",encodeByteArray(n,e){if(!Array.isArray(n))throw Error("encodeByteArray takes an array as a parameter");this.init_();const t=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let s=0;s<n.length;s+=3){const i=n[s],a=s+1<n.length,c=a?n[s+1]:0,l=s+2<n.length,d=l?n[s+2]:0,f=i>>2,m=(i&3)<<4|c>>4;let v=(c&15)<<2|d>>6,R=d&63;l||(R=64,a||(v=64)),r.push(t[f],t[m],t[v],t[R])}return r.join("")},encodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(n):this.encodeByteArray(mn(n),e)},decodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(n):tp(this.decodeStringToByteArray(n,e))},decodeStringToByteArray(n,e){this.init_();const t=e?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let s=0;s<n.length;){const i=t[n.charAt(s++)],c=s<n.length?t[n.charAt(s)]:0;++s;const d=s<n.length?t[n.charAt(s)]:64;++s;const m=s<n.length?t[n.charAt(s)]:64;if(++s,i==null||c==null||d==null||m==null)throw new np;const v=i<<2|c>>4;if(r.push(v),d!==64){const R=c<<4&240|d>>2;if(r.push(R),m!==64){const S=d<<6&192|m;r.push(S)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let n=0;n<this.ENCODED_VALS.length;n++)this.byteToCharMap_[n]=this.ENCODED_VALS.charAt(n),this.charToByteMap_[this.byteToCharMap_[n]]=n,this.byteToCharMapWebSafe_[n]=this.ENCODED_VALS_WEBSAFE.charAt(n),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[n]]=n,n>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(n)]=n,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(n)]=n)}}};class np extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const rp=function(n){const e=mn(n);return ic.encodeByteArray(e,!0)},Yr=function(n){return rp(n).replace(/\./g,"")},oc=function(n){try{return ic.decodeString(n,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/**
16
+ */const ic=function(n){const e=[];let t=0;for(let r=0;r<n.length;r++){let s=n.charCodeAt(r);s<128?e[t++]=s:s<2048?(e[t++]=s>>6|192,e[t++]=s&63|128):(s&64512)===55296&&r+1<n.length&&(n.charCodeAt(r+1)&64512)===56320?(s=65536+((s&1023)<<10)+(n.charCodeAt(++r)&1023),e[t++]=s>>18|240,e[t++]=s>>12&63|128,e[t++]=s>>6&63|128,e[t++]=s&63|128):(e[t++]=s>>12|224,e[t++]=s>>6&63|128,e[t++]=s&63|128)}return e},np=function(n){const e=[];let t=0,r=0;for(;t<n.length;){const s=n[t++];if(s<128)e[r++]=String.fromCharCode(s);else if(s>191&&s<224){const i=n[t++];e[r++]=String.fromCharCode((s&31)<<6|i&63)}else if(s>239&&s<365){const i=n[t++],a=n[t++],c=n[t++],l=((s&7)<<18|(i&63)<<12|(a&63)<<6|c&63)-65536;e[r++]=String.fromCharCode(55296+(l>>10)),e[r++]=String.fromCharCode(56320+(l&1023))}else{const i=n[t++],a=n[t++];e[r++]=String.fromCharCode((s&15)<<12|(i&63)<<6|a&63)}}return e.join("")},oc={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:typeof atob=="function",encodeByteArray(n,e){if(!Array.isArray(n))throw Error("encodeByteArray takes an array as a parameter");this.init_();const t=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let s=0;s<n.length;s+=3){const i=n[s],a=s+1<n.length,c=a?n[s+1]:0,l=s+2<n.length,d=l?n[s+2]:0,f=i>>2,m=(i&3)<<4|c>>4;let v=(c&15)<<2|d>>6,R=d&63;l||(R=64,a||(v=64)),r.push(t[f],t[m],t[v],t[R])}return r.join("")},encodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(n):this.encodeByteArray(ic(n),e)},decodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(n):np(this.decodeStringToByteArray(n,e))},decodeStringToByteArray(n,e){this.init_();const t=e?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let s=0;s<n.length;){const i=t[n.charAt(s++)],c=s<n.length?t[n.charAt(s)]:0;++s;const d=s<n.length?t[n.charAt(s)]:64;++s;const m=s<n.length?t[n.charAt(s)]:64;if(++s,i==null||c==null||d==null||m==null)throw new rp;const v=i<<2|c>>4;if(r.push(v),d!==64){const R=c<<4&240|d>>2;if(r.push(R),m!==64){const S=d<<6&192|m;r.push(S)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let n=0;n<this.ENCODED_VALS.length;n++)this.byteToCharMap_[n]=this.ENCODED_VALS.charAt(n),this.charToByteMap_[this.byteToCharMap_[n]]=n,this.byteToCharMapWebSafe_[n]=this.ENCODED_VALS_WEBSAFE.charAt(n),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[n]]=n,n>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(n)]=n,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(n)]=n)}}};class rp extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const sp=function(n){const e=ic(n);return oc.encodeByteArray(e,!0)},Jr=function(n){return sp(n).replace(/\./g,"")},ac=function(n){try{return oc.decodeString(n,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/**
32
17
  * @license
33
18
  * Copyright 2022 Google LLC
34
19
  *
@@ -43,7 +28,7 @@
43
28
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
44
29
  * See the License for the specific language governing permissions and
45
30
  * limitations under the License.
46
- */function sp(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}/**
31
+ */function ip(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}/**
47
32
  * @license
48
33
  * Copyright 2022 Google LLC
49
34
  *
@@ -58,7 +43,7 @@
58
43
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
59
44
  * See the License for the specific language governing permissions and
60
45
  * limitations under the License.
61
- */const ip=()=>sp().__FIREBASE_DEFAULTS__,op=()=>{if(typeof process>"u"||typeof process.env>"u")return;const n=process.env.__FIREBASE_DEFAULTS__;if(n)return JSON.parse(n)},ap=()=>{if(typeof document>"u")return;let n;try{n=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const e=n&&oc(n[1]);return e&&JSON.parse(e)},Jr=()=>{try{return ip()||op()||ap()}catch(n){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${n}`);return}},ac=n=>{var e,t;return(t=(e=Jr())===null||e===void 0?void 0:e.emulatorHosts)===null||t===void 0?void 0:t[n]},Li=n=>{const e=ac(n);if(!e)return;const t=e.lastIndexOf(":");if(t<=0||t+1===e.length)throw new Error(`Invalid host ${e} with no separate hostname and port!`);const r=parseInt(e.substring(t+1),10);return e[0]==="["?[e.substring(1,t-1),r]:[e.substring(0,t),r]},cc=()=>{var n;return(n=Jr())===null||n===void 0?void 0:n.config},uc=n=>{var e;return(e=Jr())===null||e===void 0?void 0:e[`_${n}`]};/**
46
+ */const op=()=>ip().__FIREBASE_DEFAULTS__,ap=()=>{if(typeof process>"u"||typeof process.env>"u")return;const n=process.env.__FIREBASE_DEFAULTS__;if(n)return JSON.parse(n)},cp=()=>{if(typeof document>"u")return;let n;try{n=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const e=n&&ac(n[1]);return e&&JSON.parse(e)},Zr=()=>{try{return Jn()||op()||ap()||cp()}catch(n){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${n}`);return}},cc=n=>{var e,t;return(t=(e=Zr())===null||e===void 0?void 0:e.emulatorHosts)===null||t===void 0?void 0:t[n]},Li=n=>{const e=cc(n);if(!e)return;const t=e.lastIndexOf(":");if(t<=0||t+1===e.length)throw new Error(`Invalid host ${e} with no separate hostname and port!`);const r=parseInt(e.substring(t+1),10);return e[0]==="["?[e.substring(1,t-1),r]:[e.substring(0,t),r]},uc=()=>{var n;return(n=Zr())===null||n===void 0?void 0:n.config},lc=n=>{var e;return(e=Zr())===null||e===void 0?void 0:e[`_${n}`]};/**
62
47
  * @license
63
48
  * Copyright 2017 Google LLC
64
49
  *
@@ -73,7 +58,7 @@
73
58
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
74
59
  * See the License for the specific language governing permissions and
75
60
  * limitations under the License.
76
- */class cp{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),typeof e=="function"&&(this.promise.catch(()=>{}),e.length===1?e(t):e(t,r))}}}/**
61
+ */class up{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),typeof e=="function"&&(this.promise.catch(()=>{}),e.length===1?e(t):e(t,r))}}}/**
77
62
  * @license
78
63
  * Copyright 2021 Google LLC
79
64
  *
@@ -88,7 +73,7 @@
88
73
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
89
74
  * See the License for the specific language governing permissions and
90
75
  * limitations under the License.
91
- */function lc(n,e){if(n.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');const t={alg:"none",type:"JWT"},r=e||"demo-project",s=n.iat||0,i=n.sub||n.user_id;if(!i)throw new Error("mockUserToken must contain 'sub' or 'user_id' field!");const a=Object.assign({iss:`https://securetoken.google.com/${r}`,aud:r,iat:s,exp:s+3600,auth_time:s,sub:i,user_id:i,firebase:{sign_in_provider:"custom",identities:{}}},n);return[Yr(JSON.stringify(t)),Yr(JSON.stringify(a)),""].join(".")}/**
76
+ */function hc(n,e){if(n.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');const t={alg:"none",type:"JWT"},r=e||"demo-project",s=n.iat||0,i=n.sub||n.user_id;if(!i)throw new Error("mockUserToken must contain 'sub' or 'user_id' field!");const a=Object.assign({iss:`https://securetoken.google.com/${r}`,aud:r,iat:s,exp:s+3600,auth_time:s,sub:i,user_id:i,firebase:{sign_in_provider:"custom",identities:{}}},n);return[Jr(JSON.stringify(t)),Jr(JSON.stringify(a)),""].join(".")}/**
92
77
  * @license
93
78
  * Copyright 2017 Google LLC
94
79
  *
@@ -103,7 +88,7 @@
103
88
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
104
89
  * See the License for the specific language governing permissions and
105
90
  * limitations under the License.
106
- */function Ee(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function up(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(Ee())}function lp(){var n;const e=(n=Jr())===null||n===void 0?void 0:n.forceEnvironment;if(e==="node")return!0;if(e==="browser")return!1;try{return Object.prototype.toString.call(global.process)==="[object process]"}catch{return!1}}function hp(){return typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"}function dp(){const n=typeof chrome=="object"?chrome.runtime:typeof browser=="object"?browser.runtime:void 0;return typeof n=="object"&&n.id!==void 0}function fp(){return typeof navigator=="object"&&navigator.product==="ReactNative"}function pp(){const n=Ee();return n.indexOf("MSIE ")>=0||n.indexOf("Trident/")>=0}function mp(){return!lp()&&!!navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}function gp(){try{return typeof indexedDB=="object"}catch{return!1}}function _p(){return new Promise((n,e)=>{try{let t=!0;const r="validate-browser-context-for-indexeddb-analytics-module",s=self.indexedDB.open(r);s.onsuccess=()=>{s.result.close(),t||self.indexedDB.deleteDatabase(r),n(!0)},s.onupgradeneeded=()=>{t=!1},s.onerror=()=>{var i;e(((i=s.error)===null||i===void 0?void 0:i.message)||"")}}catch(t){e(t)}})}/**
91
+ */function Ee(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function lp(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(Ee())}function hp(){var n;const e=(n=Zr())===null||n===void 0?void 0:n.forceEnvironment;if(e==="node")return!0;if(e==="browser")return!1;try{return Object.prototype.toString.call(global.process)==="[object process]"}catch{return!1}}function dp(){return typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"}function fp(){const n=typeof chrome=="object"?chrome.runtime:typeof browser=="object"?browser.runtime:void 0;return typeof n=="object"&&n.id!==void 0}function pp(){return typeof navigator=="object"&&navigator.product==="ReactNative"}function mp(){const n=Ee();return n.indexOf("MSIE ")>=0||n.indexOf("Trident/")>=0}function gp(){return!hp()&&!!navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}function _p(){try{return typeof indexedDB=="object"}catch{return!1}}function yp(){return new Promise((n,e)=>{try{let t=!0;const r="validate-browser-context-for-indexeddb-analytics-module",s=self.indexedDB.open(r);s.onsuccess=()=>{s.result.close(),t||self.indexedDB.deleteDatabase(r),n(!0)},s.onupgradeneeded=()=>{t=!1},s.onerror=()=>{var i;e(((i=s.error)===null||i===void 0?void 0:i.message)||"")}}catch(t){e(t)}})}/**
107
92
  * @license
108
93
  * Copyright 2017 Google LLC
109
94
  *
@@ -118,7 +103,7 @@
118
103
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
119
104
  * See the License for the specific language governing permissions and
120
105
  * limitations under the License.
121
- */const yp="FirebaseError";class ze extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=yp,Object.setPrototypeOf(this,ze.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,Jn.prototype.create)}}class Jn{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},s=`${this.service}/${e}`,i=this.errors[e],a=i?vp(i,r):"Error",c=`${this.serviceName}: ${a} (${s}).`;return new ze(s,c,r)}}function vp(n,e){return n.replace(Ep,(t,r)=>{const s=e[r];return s!=null?String(s):`<${r}?>`})}const Ep=/\{\$([^}]+)}/g;function Tp(n){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e))return!1;return!0}function Zr(n,e){if(n===e)return!0;const t=Object.keys(n),r=Object.keys(e);for(const s of t){if(!r.includes(s))return!1;const i=n[s],a=e[s];if(hc(i)&&hc(a)){if(!Zr(i,a))return!1}else if(i!==a)return!1}for(const s of r)if(!t.includes(s))return!1;return!0}function hc(n){return n!==null&&typeof n=="object"}/**
106
+ */const vp="FirebaseError";class ze extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=vp,Object.setPrototypeOf(this,ze.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,Zn.prototype.create)}}class Zn{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},s=`${this.service}/${e}`,i=this.errors[e],a=i?Ep(i,r):"Error",c=`${this.serviceName}: ${a} (${s}).`;return new ze(s,c,r)}}function Ep(n,e){return n.replace(Tp,(t,r)=>{const s=e[r];return s!=null?String(s):`<${r}?>`})}const Tp=/\{\$([^}]+)}/g;function wp(n){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e))return!1;return!0}function Qt(n,e){if(n===e)return!0;const t=Object.keys(n),r=Object.keys(e);for(const s of t){if(!r.includes(s))return!1;const i=n[s],a=e[s];if(dc(i)&&dc(a)){if(!Qt(i,a))return!1}else if(i!==a)return!1}for(const s of r)if(!t.includes(s))return!1;return!0}function dc(n){return n!==null&&typeof n=="object"}/**
122
107
  * @license
123
108
  * Copyright 2017 Google LLC
124
109
  *
@@ -133,7 +118,7 @@
133
118
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134
119
  * See the License for the specific language governing permissions and
135
120
  * limitations under the License.
136
- */function Zn(n){const e=[];for(const[t,r]of Object.entries(n))Array.isArray(r)?r.forEach(s=>{e.push(encodeURIComponent(t)+"="+encodeURIComponent(s))}):e.push(encodeURIComponent(t)+"="+encodeURIComponent(r));return e.length?"&"+e.join("&"):""}function er(n){const e={};return n.replace(/^\?/,"").split("&").forEach(r=>{if(r){const[s,i]=r.split("=");e[decodeURIComponent(s)]=decodeURIComponent(i)}}),e}function tr(n){const e=n.indexOf("?");if(!e)return"";const t=n.indexOf("#",e);return n.substring(e,t>0?t:void 0)}function wp(n,e){const t=new Ip(n,e);return t.subscribe.bind(t)}class Ip{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(r=>{this.error(r)})}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 s;if(e===void 0&&t===void 0&&r===void 0)throw new Error("Missing Observer.");Ap(e,["next","error","complete"])?s=e:s={next:e,error:t,complete:r},s.next===void 0&&(s.next=Mi),s.error===void 0&&(s.error=Mi),s.complete===void 0&&(s.complete=Mi);const i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?s.error(this.finalError):s.complete()}catch{}}),this.observers.push(s),i}unsubscribeOne(e){this.observers===void 0||this.observers[e]===void 0||(delete this.observers[e],this.observerCount-=1,this.observerCount===0&&this.onNoObservers!==void 0&&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(this.observers!==void 0&&this.observers[e]!==void 0)try{t(this.observers[e])}catch(r){typeof console<"u"&&console.error&&console.error(r)}})}close(e){this.finalized||(this.finalized=!0,e!==void 0&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function Ap(n,e){if(typeof n!="object"||n===null)return!1;for(const t of e)if(t in n&&typeof n[t]=="function")return!0;return!1}function Mi(){}/**
121
+ */function er(n){const e=[];for(const[t,r]of Object.entries(n))Array.isArray(r)?r.forEach(s=>{e.push(encodeURIComponent(t)+"="+encodeURIComponent(s))}):e.push(encodeURIComponent(t)+"="+encodeURIComponent(r));return e.length?"&"+e.join("&"):""}function tr(n){const e={};return n.replace(/^\?/,"").split("&").forEach(r=>{if(r){const[s,i]=r.split("=");e[decodeURIComponent(s)]=decodeURIComponent(i)}}),e}function nr(n){const e=n.indexOf("?");if(!e)return"";const t=n.indexOf("#",e);return n.substring(e,t>0?t:void 0)}function Ip(n,e){const t=new Ap(n,e);return t.subscribe.bind(t)}class Ap{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(r=>{this.error(r)})}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 s;if(e===void 0&&t===void 0&&r===void 0)throw new Error("Missing Observer.");Rp(e,["next","error","complete"])?s=e:s={next:e,error:t,complete:r},s.next===void 0&&(s.next=Mi),s.error===void 0&&(s.error=Mi),s.complete===void 0&&(s.complete=Mi);const i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?s.error(this.finalError):s.complete()}catch{}}),this.observers.push(s),i}unsubscribeOne(e){this.observers===void 0||this.observers[e]===void 0||(delete this.observers[e],this.observerCount-=1,this.observerCount===0&&this.onNoObservers!==void 0&&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(this.observers!==void 0&&this.observers[e]!==void 0)try{t(this.observers[e])}catch(r){typeof console<"u"&&console.error&&console.error(r)}})}close(e){this.finalized||(this.finalized=!0,e!==void 0&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function Rp(n,e){if(typeof n!="object"||n===null)return!1;for(const t of e)if(t in n&&typeof n[t]=="function")return!0;return!1}function Mi(){}/**
137
122
  * @license
138
123
  * Copyright 2021 Google LLC
139
124
  *
@@ -163,7 +148,7 @@
163
148
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
164
149
  * See the License for the specific language governing permissions and
165
150
  * limitations under the License.
166
- */const Qt="[DEFAULT]";/**
151
+ */const Xt="[DEFAULT]";/**
167
152
  * @license
168
153
  * Copyright 2019 Google LLC
169
154
  *
@@ -178,7 +163,7 @@
178
163
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
179
164
  * See the License for the specific language governing permissions and
180
165
  * limitations under the License.
181
- */class Rp{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){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const r=new cp;if(this.instancesDeferred.set(t,r),this.isInitialized(t)||this.shouldAutoInitialize())try{const s=this.getOrInitializeService({instanceIdentifier:t});s&&r.resolve(s)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e==null?void 0:e.identifier),s=(t=e==null?void 0:e.optional)!==null&&t!==void 0?t:!1;if(this.isInitialized(r)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:r})}catch(i){if(s)return null;throw i}else{if(s)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(Pp(e))try{this.getOrInitializeService({instanceIdentifier:Qt})}catch{}for(const[t,r]of this.instancesDeferred.entries()){const s=this.normalizeInstanceIdentifier(t);try{const i=this.getOrInitializeService({instanceIdentifier:s});r.resolve(i)}catch{}}}}clearInstance(e=Qt){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter(t=>"INTERNAL"in t).map(t=>t.INTERNAL.delete()),...e.filter(t=>"_delete"in t).map(t=>t._delete())])}isComponentSet(){return this.component!=null}isInitialized(e=Qt){return this.instances.has(e)}getOptions(e=Qt){return this.instancesOptions.get(e)||{}}initialize(e={}){const{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`);const s=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[i,a]of this.instancesDeferred.entries()){const c=this.normalizeInstanceIdentifier(i);r===c&&a.resolve(s)}return s}onInit(e,t){var r;const s=this.normalizeInstanceIdentifier(t),i=(r=this.onInitCallbacks.get(s))!==null&&r!==void 0?r:new Set;i.add(e),this.onInitCallbacks.set(s,i);const a=this.instances.get(s);return a&&e(a,s),()=>{i.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const s of r)try{s(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:bp(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=Qt){return this.component?this.component.multipleInstances?e:Qt:e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"}}function bp(n){return n===Qt?void 0:n}function Pp(n){return n.instantiationMode==="EAGER"}/**
166
+ */class bp{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){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const r=new up;if(this.instancesDeferred.set(t,r),this.isInitialized(t)||this.shouldAutoInitialize())try{const s=this.getOrInitializeService({instanceIdentifier:t});s&&r.resolve(s)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e==null?void 0:e.identifier),s=(t=e==null?void 0:e.optional)!==null&&t!==void 0?t:!1;if(this.isInitialized(r)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:r})}catch(i){if(s)return null;throw i}else{if(s)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(Sp(e))try{this.getOrInitializeService({instanceIdentifier:Xt})}catch{}for(const[t,r]of this.instancesDeferred.entries()){const s=this.normalizeInstanceIdentifier(t);try{const i=this.getOrInitializeService({instanceIdentifier:s});r.resolve(i)}catch{}}}}clearInstance(e=Xt){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter(t=>"INTERNAL"in t).map(t=>t.INTERNAL.delete()),...e.filter(t=>"_delete"in t).map(t=>t._delete())])}isComponentSet(){return this.component!=null}isInitialized(e=Xt){return this.instances.has(e)}getOptions(e=Xt){return this.instancesOptions.get(e)||{}}initialize(e={}){const{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`);const s=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[i,a]of this.instancesDeferred.entries()){const c=this.normalizeInstanceIdentifier(i);r===c&&a.resolve(s)}return s}onInit(e,t){var r;const s=this.normalizeInstanceIdentifier(t),i=(r=this.onInitCallbacks.get(s))!==null&&r!==void 0?r:new Set;i.add(e),this.onInitCallbacks.set(s,i);const a=this.instances.get(s);return a&&e(a,s),()=>{i.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const s of r)try{s(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:Pp(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=Xt){return this.component?this.component.multipleInstances?e:Xt:e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"}}function Pp(n){return n===Xt?void 0:n}function Sp(n){return n.instantiationMode==="EAGER"}/**
182
167
  * @license
183
168
  * Copyright 2019 Google LLC
184
169
  *
@@ -193,7 +178,7 @@
193
178
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
194
179
  * See the License for the specific language governing permissions and
195
180
  * limitations under the License.
196
- */class Sp{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new 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);const t=new Rp(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}/**
181
+ */class Cp{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new 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);const t=new bp(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}/**
197
182
  * @license
198
183
  * Copyright 2017 Google LLC
199
184
  *
@@ -208,7 +193,7 @@
208
193
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
209
194
  * See the License for the specific language governing permissions and
210
195
  * limitations under the License.
211
- */var z;(function(n){n[n.DEBUG=0]="DEBUG",n[n.VERBOSE=1]="VERBOSE",n[n.INFO=2]="INFO",n[n.WARN=3]="WARN",n[n.ERROR=4]="ERROR",n[n.SILENT=5]="SILENT"})(z||(z={}));const Cp={debug:z.DEBUG,verbose:z.VERBOSE,info:z.INFO,warn:z.WARN,error:z.ERROR,silent:z.SILENT},kp=z.INFO,Np={[z.DEBUG]:"log",[z.VERBOSE]:"log",[z.INFO]:"info",[z.WARN]:"warn",[z.ERROR]:"error"},Dp=(n,e,...t)=>{if(e<n.logLevel)return;const r=new Date().toISOString(),s=Np[e];if(s)console[s](`[${r}] ${n.name}:`,...t);else throw new Error(`Attempted to log a message with an invalid logType (value: ${e})`)};class Ui{constructor(e){this.name=e,this._logLevel=kp,this._logHandler=Dp,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in z))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e=="string"?Cp[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if(typeof e!="function")throw new 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,z.DEBUG,...e),this._logHandler(this,z.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,z.VERBOSE,...e),this._logHandler(this,z.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,z.INFO,...e),this._logHandler(this,z.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,z.WARN,...e),this._logHandler(this,z.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,z.ERROR,...e),this._logHandler(this,z.ERROR,...e)}}const Op=(n,e)=>e.some(t=>n instanceof t);let dc,fc;function Vp(){return dc||(dc=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Lp(){return fc||(fc=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const pc=new WeakMap,xi=new WeakMap,mc=new WeakMap,Fi=new WeakMap,Bi=new WeakMap;function Mp(n){const e=new Promise((t,r)=>{const s=()=>{n.removeEventListener("success",i),n.removeEventListener("error",a)},i=()=>{t(Rt(n.result)),s()},a=()=>{r(n.error),s()};n.addEventListener("success",i),n.addEventListener("error",a)});return e.then(t=>{t instanceof IDBCursor&&pc.set(t,n)}).catch(()=>{}),Bi.set(e,n),e}function Up(n){if(xi.has(n))return;const e=new Promise((t,r)=>{const s=()=>{n.removeEventListener("complete",i),n.removeEventListener("error",a),n.removeEventListener("abort",a)},i=()=>{t(),s()},a=()=>{r(n.error||new DOMException("AbortError","AbortError")),s()};n.addEventListener("complete",i),n.addEventListener("error",a),n.addEventListener("abort",a)});xi.set(n,e)}let ji={get(n,e,t){if(n instanceof IDBTransaction){if(e==="done")return xi.get(n);if(e==="objectStoreNames")return n.objectStoreNames||mc.get(n);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return Rt(n[e])},set(n,e,t){return n[e]=t,!0},has(n,e){return n instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in n}};function xp(n){ji=n(ji)}function Fp(n){return n===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const r=n.call(qi(this),e,...t);return mc.set(r,e.sort?e.sort():[e]),Rt(r)}:Lp().includes(n)?function(...e){return n.apply(qi(this),e),Rt(pc.get(this))}:function(...e){return Rt(n.apply(qi(this),e))}}function Bp(n){return typeof n=="function"?Fp(n):(n instanceof IDBTransaction&&Up(n),Op(n,Vp())?new Proxy(n,ji):n)}function Rt(n){if(n instanceof IDBRequest)return Mp(n);if(Fi.has(n))return Fi.get(n);const e=Bp(n);return e!==n&&(Fi.set(n,e),Bi.set(e,n)),e}const qi=n=>Bi.get(n);function jp(n,e,{blocked:t,upgrade:r,blocking:s,terminated:i}={}){const a=indexedDB.open(n,e),c=Rt(a);return r&&a.addEventListener("upgradeneeded",l=>{r(Rt(a.result),l.oldVersion,l.newVersion,Rt(a.transaction),l)}),t&&a.addEventListener("blocked",l=>t(l.oldVersion,l.newVersion,l)),c.then(l=>{i&&l.addEventListener("close",()=>i()),s&&l.addEventListener("versionchange",d=>s(d.oldVersion,d.newVersion,d))}).catch(()=>{}),c}const qp=["get","getKey","getAll","getAllKeys","count"],$p=["put","add","delete","clear"],$i=new Map;function gc(n,e){if(!(n instanceof IDBDatabase&&!(e in n)&&typeof e=="string"))return;if($i.get(e))return $i.get(e);const t=e.replace(/FromIndex$/,""),r=e!==t,s=$p.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(s||qp.includes(t)))return;const i=async function(a,...c){const l=this.transaction(a,s?"readwrite":"readonly");let d=l.store;return r&&(d=d.index(c.shift())),(await Promise.all([d[t](...c),s&&l.done]))[0]};return $i.set(e,i),i}xp(n=>({...n,get:(e,t,r)=>gc(e,t)||n.get(e,t,r),has:(e,t)=>!!gc(e,t)||n.has(e,t)}));/**
196
+ */var z;(function(n){n[n.DEBUG=0]="DEBUG",n[n.VERBOSE=1]="VERBOSE",n[n.INFO=2]="INFO",n[n.WARN=3]="WARN",n[n.ERROR=4]="ERROR",n[n.SILENT=5]="SILENT"})(z||(z={}));const kp={debug:z.DEBUG,verbose:z.VERBOSE,info:z.INFO,warn:z.WARN,error:z.ERROR,silent:z.SILENT},Np=z.INFO,Dp={[z.DEBUG]:"log",[z.VERBOSE]:"log",[z.INFO]:"info",[z.WARN]:"warn",[z.ERROR]:"error"},Op=(n,e,...t)=>{if(e<n.logLevel)return;const r=new Date().toISOString(),s=Dp[e];if(s)console[s](`[${r}] ${n.name}:`,...t);else throw new Error(`Attempted to log a message with an invalid logType (value: ${e})`)};class Ui{constructor(e){this.name=e,this._logLevel=Np,this._logHandler=Op,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in z))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e=="string"?kp[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if(typeof e!="function")throw new 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,z.DEBUG,...e),this._logHandler(this,z.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,z.VERBOSE,...e),this._logHandler(this,z.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,z.INFO,...e),this._logHandler(this,z.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,z.WARN,...e),this._logHandler(this,z.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,z.ERROR,...e),this._logHandler(this,z.ERROR,...e)}}const Vp=(n,e)=>e.some(t=>n instanceof t);let fc,pc;function Lp(){return fc||(fc=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Mp(){return pc||(pc=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const mc=new WeakMap,xi=new WeakMap,gc=new WeakMap,Fi=new WeakMap,Bi=new WeakMap;function Up(n){const e=new Promise((t,r)=>{const s=()=>{n.removeEventListener("success",i),n.removeEventListener("error",a)},i=()=>{t(Rt(n.result)),s()},a=()=>{r(n.error),s()};n.addEventListener("success",i),n.addEventListener("error",a)});return e.then(t=>{t instanceof IDBCursor&&mc.set(t,n)}).catch(()=>{}),Bi.set(e,n),e}function xp(n){if(xi.has(n))return;const e=new Promise((t,r)=>{const s=()=>{n.removeEventListener("complete",i),n.removeEventListener("error",a),n.removeEventListener("abort",a)},i=()=>{t(),s()},a=()=>{r(n.error||new DOMException("AbortError","AbortError")),s()};n.addEventListener("complete",i),n.addEventListener("error",a),n.addEventListener("abort",a)});xi.set(n,e)}let ji={get(n,e,t){if(n instanceof IDBTransaction){if(e==="done")return xi.get(n);if(e==="objectStoreNames")return n.objectStoreNames||gc.get(n);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return Rt(n[e])},set(n,e,t){return n[e]=t,!0},has(n,e){return n instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in n}};function Fp(n){ji=n(ji)}function Bp(n){return n===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const r=n.call(qi(this),e,...t);return gc.set(r,e.sort?e.sort():[e]),Rt(r)}:Mp().includes(n)?function(...e){return n.apply(qi(this),e),Rt(mc.get(this))}:function(...e){return Rt(n.apply(qi(this),e))}}function jp(n){return typeof n=="function"?Bp(n):(n instanceof IDBTransaction&&xp(n),Vp(n,Lp())?new Proxy(n,ji):n)}function Rt(n){if(n instanceof IDBRequest)return Up(n);if(Fi.has(n))return Fi.get(n);const e=jp(n);return e!==n&&(Fi.set(n,e),Bi.set(e,n)),e}const qi=n=>Bi.get(n);function qp(n,e,{blocked:t,upgrade:r,blocking:s,terminated:i}={}){const a=indexedDB.open(n,e),c=Rt(a);return r&&a.addEventListener("upgradeneeded",l=>{r(Rt(a.result),l.oldVersion,l.newVersion,Rt(a.transaction),l)}),t&&a.addEventListener("blocked",l=>t(l.oldVersion,l.newVersion,l)),c.then(l=>{i&&l.addEventListener("close",()=>i()),s&&l.addEventListener("versionchange",d=>s(d.oldVersion,d.newVersion,d))}).catch(()=>{}),c}const $p=["get","getKey","getAll","getAllKeys","count"],Hp=["put","add","delete","clear"],$i=new Map;function _c(n,e){if(!(n instanceof IDBDatabase&&!(e in n)&&typeof e=="string"))return;if($i.get(e))return $i.get(e);const t=e.replace(/FromIndex$/,""),r=e!==t,s=Hp.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(s||$p.includes(t)))return;const i=async function(a,...c){const l=this.transaction(a,s?"readwrite":"readonly");let d=l.store;return r&&(d=d.index(c.shift())),(await Promise.all([d[t](...c),s&&l.done]))[0]};return $i.set(e,i),i}Fp(n=>({...n,get:(e,t,r)=>_c(e,t)||n.get(e,t,r),has:(e,t)=>!!_c(e,t)||n.has(e,t)}));/**
212
197
  * @license
213
198
  * Copyright 2019 Google LLC
214
199
  *
@@ -223,7 +208,7 @@
223
208
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
224
209
  * See the License for the specific language governing permissions and
225
210
  * limitations under the License.
226
- */class Hp{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(t=>{if(zp(t)){const r=t.getImmediate();return`${r.library}/${r.version}`}else return null}).filter(t=>t).join(" ")}}function zp(n){const e=n.getComponent();return(e==null?void 0:e.type)==="VERSION"}const Hi="@firebase/app",_c="0.11.1";/**
211
+ */class zp{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(t=>{if(Wp(t)){const r=t.getImmediate();return`${r.library}/${r.version}`}else return null}).filter(t=>t).join(" ")}}function Wp(n){const e=n.getComponent();return(e==null?void 0:e.type)==="VERSION"}const Hi="@firebase/app",yc="0.11.2";/**
227
212
  * @license
228
213
  * Copyright 2019 Google LLC
229
214
  *
@@ -238,7 +223,7 @@
238
223
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
239
224
  * See the License for the specific language governing permissions and
240
225
  * limitations under the License.
241
- */const dt=new Ui("@firebase/app"),Wp="@firebase/app-compat",Gp="@firebase/analytics-compat",Kp="@firebase/analytics",Qp="@firebase/app-check-compat",Xp="@firebase/app-check",Yp="@firebase/auth",Jp="@firebase/auth-compat",Zp="@firebase/database",em="@firebase/data-connect",tm="@firebase/database-compat",nm="@firebase/functions",rm="@firebase/functions-compat",sm="@firebase/installations",im="@firebase/installations-compat",om="@firebase/messaging",am="@firebase/messaging-compat",cm="@firebase/performance",um="@firebase/performance-compat",lm="@firebase/remote-config",hm="@firebase/remote-config-compat",dm="@firebase/storage",fm="@firebase/storage-compat",pm="@firebase/firestore",mm="@firebase/vertexai",gm="@firebase/firestore-compat",_m="firebase",ym="11.3.1";/**
226
+ */const dt=new Ui("@firebase/app"),Gp="@firebase/app-compat",Kp="@firebase/analytics-compat",Qp="@firebase/analytics",Xp="@firebase/app-check-compat",Yp="@firebase/app-check",Jp="@firebase/auth",Zp="@firebase/auth-compat",em="@firebase/database",tm="@firebase/data-connect",nm="@firebase/database-compat",rm="@firebase/functions",sm="@firebase/functions-compat",im="@firebase/installations",om="@firebase/installations-compat",am="@firebase/messaging",cm="@firebase/messaging-compat",um="@firebase/performance",lm="@firebase/performance-compat",hm="@firebase/remote-config",dm="@firebase/remote-config-compat",fm="@firebase/storage",pm="@firebase/storage-compat",mm="@firebase/firestore",gm="@firebase/vertexai",_m="@firebase/firestore-compat",ym="firebase",vm="11.4.0";/**
242
227
  * @license
243
228
  * Copyright 2019 Google LLC
244
229
  *
@@ -253,7 +238,7 @@
253
238
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
254
239
  * See the License for the specific language governing permissions and
255
240
  * limitations under the License.
256
- */const zi="[DEFAULT]",vm={[Hi]:"fire-core",[Wp]:"fire-core-compat",[Kp]:"fire-analytics",[Gp]:"fire-analytics-compat",[Xp]:"fire-app-check",[Qp]:"fire-app-check-compat",[Yp]:"fire-auth",[Jp]:"fire-auth-compat",[Zp]:"fire-rtdb",[em]:"fire-data-connect",[tm]:"fire-rtdb-compat",[nm]:"fire-fn",[rm]:"fire-fn-compat",[sm]:"fire-iid",[im]:"fire-iid-compat",[om]:"fire-fcm",[am]:"fire-fcm-compat",[cm]:"fire-perf",[um]:"fire-perf-compat",[lm]:"fire-rc",[hm]:"fire-rc-compat",[dm]:"fire-gcs",[fm]:"fire-gcs-compat",[pm]:"fire-fst",[gm]:"fire-fst-compat",[mm]:"fire-vertex","fire-js":"fire-js",[_m]:"fire-js-all"};/**
241
+ */const zi="[DEFAULT]",Em={[Hi]:"fire-core",[Gp]:"fire-core-compat",[Qp]:"fire-analytics",[Kp]:"fire-analytics-compat",[Yp]:"fire-app-check",[Xp]:"fire-app-check-compat",[Jp]:"fire-auth",[Zp]:"fire-auth-compat",[em]:"fire-rtdb",[tm]:"fire-data-connect",[nm]:"fire-rtdb-compat",[rm]:"fire-fn",[sm]:"fire-fn-compat",[im]:"fire-iid",[om]:"fire-iid-compat",[am]:"fire-fcm",[cm]:"fire-fcm-compat",[um]:"fire-perf",[lm]:"fire-perf-compat",[hm]:"fire-rc",[dm]:"fire-rc-compat",[fm]:"fire-gcs",[pm]:"fire-gcs-compat",[mm]:"fire-fst",[_m]:"fire-fst-compat",[gm]:"fire-vertex","fire-js":"fire-js",[ym]:"fire-js-all"};/**
257
242
  * @license
258
243
  * Copyright 2019 Google LLC
259
244
  *
@@ -268,7 +253,7 @@
268
253
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
269
254
  * See the License for the specific language governing permissions and
270
255
  * limitations under the License.
271
- */const es=new Map,Em=new Map,Wi=new Map;function yc(n,e){try{n.container.addComponent(e)}catch(t){dt.debug(`Component ${e.name} failed to register with FirebaseApp ${n.name}`,t)}}function bt(n){const e=n.name;if(Wi.has(e))return dt.debug(`There were multiple attempts to register component ${e}.`),!1;Wi.set(e,n);for(const t of es.values())yc(t,n);for(const t of Em.values())yc(t,n);return!0}function nr(n,e){const t=n.container.getProvider("heartbeat").getImmediate({optional:!0});return t&&t.triggerHeartbeat(),n.container.getProvider(e)}function Te(n){return n==null?!1:n.settings!==void 0}/**
256
+ */const es=new Map,Tm=new Map,Wi=new Map;function vc(n,e){try{n.container.addComponent(e)}catch(t){dt.debug(`Component ${e.name} failed to register with FirebaseApp ${n.name}`,t)}}function bt(n){const e=n.name;if(Wi.has(e))return dt.debug(`There were multiple attempts to register component ${e}.`),!1;Wi.set(e,n);for(const t of es.values())vc(t,n);for(const t of Tm.values())vc(t,n);return!0}function rr(n,e){const t=n.container.getProvider("heartbeat").getImmediate({optional:!0});return t&&t.triggerHeartbeat(),n.container.getProvider(e)}function Te(n){return n==null?!1:n.settings!==void 0}/**
272
257
  * @license
273
258
  * Copyright 2019 Google LLC
274
259
  *
@@ -283,7 +268,7 @@
283
268
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
284
269
  * See the License for the specific language governing permissions and
285
270
  * limitations under the License.
286
- */const Tm={"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.","invalid-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."},Pt=new Jn("app","Firebase",Tm);/**
271
+ */const wm={"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.","invalid-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."},Pt=new Zn("app","Firebase",wm);/**
287
272
  * @license
288
273
  * Copyright 2019 Google LLC
289
274
  *
@@ -298,7 +283,7 @@
298
283
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
299
284
  * See the License for the specific language governing permissions and
300
285
  * limitations under the License.
301
- */class wm{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new ht("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 Pt.create("app-deleted",{appName:this._name})}}/**
286
+ */class Im{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new ht("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 Pt.create("app-deleted",{appName:this._name})}}/**
302
287
  * @license
303
288
  * Copyright 2019 Google LLC
304
289
  *
@@ -313,7 +298,7 @@
313
298
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
314
299
  * See the License for the specific language governing permissions and
315
300
  * limitations under the License.
316
- */const Xt=ym;function vc(n,e={}){let t=n;typeof e!="object"&&(e={name:e});const r=Object.assign({name:zi,automaticDataCollectionEnabled:!1},e),s=r.name;if(typeof s!="string"||!s)throw Pt.create("bad-app-name",{appName:String(s)});if(t||(t=cc()),!t)throw Pt.create("no-options");const i=es.get(s);if(i){if(Zr(t,i.options)&&Zr(r,i.config))return i;throw Pt.create("duplicate-app",{appName:s})}const a=new Sp(s);for(const l of Wi.values())a.addComponent(l);const c=new wm(t,r,a);return es.set(s,c),c}function ts(n=zi){const e=es.get(n);if(!e&&n===zi&&cc())return vc();if(!e)throw Pt.create("no-app",{appName:n});return e}function qe(n,e,t){var r;let s=(r=vm[n])!==null&&r!==void 0?r:n;t&&(s+=`-${t}`);const i=s.match(/\s|\//),a=e.match(/\s|\//);if(i||a){const c=[`Unable to register library "${s}" with version "${e}":`];i&&c.push(`library name "${s}" contains illegal characters (whitespace or "/")`),i&&a&&c.push("and"),a&&c.push(`version name "${e}" contains illegal characters (whitespace or "/")`),dt.warn(c.join(" "));return}bt(new ht(`${s}-version`,()=>({library:s,version:e}),"VERSION"))}/**
301
+ */const Yt=vm;function Ec(n,e={}){let t=n;typeof e!="object"&&(e={name:e});const r=Object.assign({name:zi,automaticDataCollectionEnabled:!1},e),s=r.name;if(typeof s!="string"||!s)throw Pt.create("bad-app-name",{appName:String(s)});if(t||(t=uc()),!t)throw Pt.create("no-options");const i=es.get(s);if(i){if(Qt(t,i.options)&&Qt(r,i.config))return i;throw Pt.create("duplicate-app",{appName:s})}const a=new Cp(s);for(const l of Wi.values())a.addComponent(l);const c=new Im(t,r,a);return es.set(s,c),c}function ts(n=zi){const e=es.get(n);if(!e&&n===zi&&uc())return Ec();if(!e)throw Pt.create("no-app",{appName:n});return e}function qe(n,e,t){var r;let s=(r=Em[n])!==null&&r!==void 0?r:n;t&&(s+=`-${t}`);const i=s.match(/\s|\//),a=e.match(/\s|\//);if(i||a){const c=[`Unable to register library "${s}" with version "${e}":`];i&&c.push(`library name "${s}" contains illegal characters (whitespace or "/")`),i&&a&&c.push("and"),a&&c.push(`version name "${e}" contains illegal characters (whitespace or "/")`),dt.warn(c.join(" "));return}bt(new ht(`${s}-version`,()=>({library:s,version:e}),"VERSION"))}/**
317
302
  * @license
318
303
  * Copyright 2021 Google LLC
319
304
  *
@@ -328,7 +313,7 @@
328
313
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
329
314
  * See the License for the specific language governing permissions and
330
315
  * limitations under the License.
331
- */const Im="firebase-heartbeat-database",Am=1,rr="firebase-heartbeat-store";let Gi=null;function Ec(){return Gi||(Gi=jp(Im,Am,{upgrade:(n,e)=>{switch(e){case 0:try{n.createObjectStore(rr)}catch(t){console.warn(t)}}}}).catch(n=>{throw Pt.create("idb-open",{originalErrorMessage:n.message})})),Gi}async function Rm(n){try{const t=(await Ec()).transaction(rr),r=await t.objectStore(rr).get(wc(n));return await t.done,r}catch(e){if(e instanceof ze)dt.warn(e.message);else{const t=Pt.create("idb-get",{originalErrorMessage:e==null?void 0:e.message});dt.warn(t.message)}}}async function Tc(n,e){try{const r=(await Ec()).transaction(rr,"readwrite");await r.objectStore(rr).put(e,wc(n)),await r.done}catch(t){if(t instanceof ze)dt.warn(t.message);else{const r=Pt.create("idb-set",{originalErrorMessage:t==null?void 0:t.message});dt.warn(r.message)}}}function wc(n){return`${n.name}!${n.options.appId}`}/**
316
+ */const Am="firebase-heartbeat-database",Rm=1,sr="firebase-heartbeat-store";let Gi=null;function Tc(){return Gi||(Gi=qp(Am,Rm,{upgrade:(n,e)=>{switch(e){case 0:try{n.createObjectStore(sr)}catch(t){console.warn(t)}}}}).catch(n=>{throw Pt.create("idb-open",{originalErrorMessage:n.message})})),Gi}async function bm(n){try{const t=(await Tc()).transaction(sr),r=await t.objectStore(sr).get(Ic(n));return await t.done,r}catch(e){if(e instanceof ze)dt.warn(e.message);else{const t=Pt.create("idb-get",{originalErrorMessage:e==null?void 0:e.message});dt.warn(t.message)}}}async function wc(n,e){try{const r=(await Tc()).transaction(sr,"readwrite");await r.objectStore(sr).put(e,Ic(n)),await r.done}catch(t){if(t instanceof ze)dt.warn(t.message);else{const r=Pt.create("idb-set",{originalErrorMessage:t==null?void 0:t.message});dt.warn(r.message)}}}function Ic(n){return`${n.name}!${n.options.appId}`}/**
332
317
  * @license
333
318
  * Copyright 2021 Google LLC
334
319
  *
@@ -343,7 +328,7 @@
343
328
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
344
329
  * See the License for the specific language governing permissions and
345
330
  * limitations under the License.
346
- */const bm=1024,Pm=30;class Sm{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new km(t),this._heartbeatsCachePromise=this._storage.read().then(r=>(this._heartbeatsCache=r,r))}async triggerHeartbeat(){var e,t;try{const s=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),i=Ic();if(((e=this._heartbeatsCache)===null||e===void 0?void 0:e.heartbeats)==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,((t=this._heartbeatsCache)===null||t===void 0?void 0:t.heartbeats)==null)||this._heartbeatsCache.lastSentHeartbeatDate===i||this._heartbeatsCache.heartbeats.some(a=>a.date===i))return;if(this._heartbeatsCache.heartbeats.push({date:i,agent:s}),this._heartbeatsCache.heartbeats.length>Pm){const a=Nm(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(a,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(r){dt.warn(r)}}async getHeartbeatsHeader(){var e;try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,((e=this._heartbeatsCache)===null||e===void 0?void 0:e.heartbeats)==null||this._heartbeatsCache.heartbeats.length===0)return"";const t=Ic(),{heartbeatsToSend:r,unsentEntries:s}=Cm(this._heartbeatsCache.heartbeats),i=Yr(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,s.length>0?(this._heartbeatsCache.heartbeats=s,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),i}catch(t){return dt.warn(t),""}}}function Ic(){return new Date().toISOString().substring(0,10)}function Cm(n,e=bm){const t=[];let r=n.slice();for(const s of n){const i=t.find(a=>a.agent===s.agent);if(i){if(i.dates.push(s.date),Ac(t)>e){i.dates.pop();break}}else if(t.push({agent:s.agent,dates:[s.date]}),Ac(t)>e){t.pop();break}r=r.slice(1)}return{heartbeatsToSend:t,unsentEntries:r}}class km{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return gp()?_p().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){const t=await Rm(this.app);return t!=null&&t.heartbeats?t:{heartbeats:[]}}else return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const s=await this.read();return Tc(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:s.lastSentHeartbeatDate,heartbeats:e.heartbeats})}else return}async add(e){var t;if(await this._canUseIndexedDBPromise){const s=await this.read();return Tc(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:s.lastSentHeartbeatDate,heartbeats:[...s.heartbeats,...e.heartbeats]})}else return}}function Ac(n){return Yr(JSON.stringify({version:2,heartbeats:n})).length}function Nm(n){if(n.length===0)return-1;let e=0,t=n[0].date;for(let r=1;r<n.length;r++)n[r].date<t&&(t=n[r].date,e=r);return e}/**
331
+ */const Pm=1024,Sm=30;class Cm{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Nm(t),this._heartbeatsCachePromise=this._storage.read().then(r=>(this._heartbeatsCache=r,r))}async triggerHeartbeat(){var e,t;try{const s=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),i=Ac();if(((e=this._heartbeatsCache)===null||e===void 0?void 0:e.heartbeats)==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,((t=this._heartbeatsCache)===null||t===void 0?void 0:t.heartbeats)==null)||this._heartbeatsCache.lastSentHeartbeatDate===i||this._heartbeatsCache.heartbeats.some(a=>a.date===i))return;if(this._heartbeatsCache.heartbeats.push({date:i,agent:s}),this._heartbeatsCache.heartbeats.length>Sm){const a=Dm(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(a,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(r){dt.warn(r)}}async getHeartbeatsHeader(){var e;try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,((e=this._heartbeatsCache)===null||e===void 0?void 0:e.heartbeats)==null||this._heartbeatsCache.heartbeats.length===0)return"";const t=Ac(),{heartbeatsToSend:r,unsentEntries:s}=km(this._heartbeatsCache.heartbeats),i=Jr(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,s.length>0?(this._heartbeatsCache.heartbeats=s,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),i}catch(t){return dt.warn(t),""}}}function Ac(){return new Date().toISOString().substring(0,10)}function km(n,e=Pm){const t=[];let r=n.slice();for(const s of n){const i=t.find(a=>a.agent===s.agent);if(i){if(i.dates.push(s.date),Rc(t)>e){i.dates.pop();break}}else if(t.push({agent:s.agent,dates:[s.date]}),Rc(t)>e){t.pop();break}r=r.slice(1)}return{heartbeatsToSend:t,unsentEntries:r}}class Nm{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return _p()?yp().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){const t=await bm(this.app);return t!=null&&t.heartbeats?t:{heartbeats:[]}}else return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const s=await this.read();return wc(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:s.lastSentHeartbeatDate,heartbeats:e.heartbeats})}else return}async add(e){var t;if(await this._canUseIndexedDBPromise){const s=await this.read();return wc(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:s.lastSentHeartbeatDate,heartbeats:[...s.heartbeats,...e.heartbeats]})}else return}}function Rc(n){return Jr(JSON.stringify({version:2,heartbeats:n})).length}function Dm(n){if(n.length===0)return-1;let e=0,t=n[0].date;for(let r=1;r<n.length;r++)n[r].date<t&&(t=n[r].date,e=r);return e}/**
347
332
  * @license
348
333
  * Copyright 2019 Google LLC
349
334
  *
@@ -358,29 +343,29 @@
358
343
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
359
344
  * See the License for the specific language governing permissions and
360
345
  * limitations under the License.
361
- */function Dm(n){bt(new ht("platform-logger",e=>new Hp(e),"PRIVATE")),bt(new ht("heartbeat",e=>new Sm(e),"PRIVATE")),qe(Hi,_c,n),qe(Hi,_c,"esm2017"),qe("fire-js","")}Dm("");var Rc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};/** @license
346
+ */function Om(n){bt(new ht("platform-logger",e=>new zp(e),"PRIVATE")),bt(new ht("heartbeat",e=>new Cm(e),"PRIVATE")),qe(Hi,yc,n),qe(Hi,yc,"esm2017"),qe("fire-js","")}Om("");var bc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};/** @license
362
347
  Copyright The Closure Library Authors.
363
348
  SPDX-License-Identifier: Apache-2.0
364
- */var St,bc;(function(){var n;/** @license
349
+ */var St,Pc;(function(){var n;/** @license
365
350
 
366
351
  Copyright The Closure Library Authors.
367
352
  SPDX-License-Identifier: Apache-2.0
368
- */function e(T,g){function _(){}_.prototype=g.prototype,T.D=g.prototype,T.prototype=new _,T.prototype.constructor=T,T.C=function(E,w,A){for(var y=Array(arguments.length-2),wt=2;wt<arguments.length;wt++)y[wt-2]=arguments[wt];return g.prototype[w].apply(E,y)}}function t(){this.blockSize=-1}function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.B=Array(this.blockSize),this.o=this.h=0,this.s()}e(r,t),r.prototype.s=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0};function s(T,g,_){_||(_=0);var E=Array(16);if(typeof g=="string")for(var w=0;16>w;++w)E[w]=g.charCodeAt(_++)|g.charCodeAt(_++)<<8|g.charCodeAt(_++)<<16|g.charCodeAt(_++)<<24;else for(w=0;16>w;++w)E[w]=g[_++]|g[_++]<<8|g[_++]<<16|g[_++]<<24;g=T.g[0],_=T.g[1],w=T.g[2];var A=T.g[3],y=g+(A^_&(w^A))+E[0]+3614090360&4294967295;g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[1]+3905402710&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[2]+606105819&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[3]+3250441966&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(A^_&(w^A))+E[4]+4118548399&4294967295,g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[5]+1200080426&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[6]+2821735955&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[7]+4249261313&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(A^_&(w^A))+E[8]+1770035416&4294967295,g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[9]+2336552879&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[10]+4294925233&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[11]+2304563134&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(A^_&(w^A))+E[12]+1804603682&4294967295,g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[13]+4254626195&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[14]+2792965006&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[15]+1236535329&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(w^A&(_^w))+E[1]+4129170786&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[6]+3225465664&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[11]+643717713&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[0]+3921069994&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(w^A&(_^w))+E[5]+3593408605&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[10]+38016083&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[15]+3634488961&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[4]+3889429448&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(w^A&(_^w))+E[9]+568446438&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[14]+3275163606&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[3]+4107603335&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[8]+1163531501&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(w^A&(_^w))+E[13]+2850285829&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[2]+4243563512&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[7]+1735328473&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[12]+2368359562&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(_^w^A)+E[5]+4294588738&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[8]+2272392833&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[11]+1839030562&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[14]+4259657740&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(_^w^A)+E[1]+2763975236&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[4]+1272893353&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[7]+4139469664&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[10]+3200236656&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(_^w^A)+E[13]+681279174&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[0]+3936430074&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[3]+3572445317&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[6]+76029189&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(_^w^A)+E[9]+3654602809&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[12]+3873151461&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[15]+530742520&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[2]+3299628645&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(w^(_|~A))+E[0]+4096336452&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[7]+1126891415&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[14]+2878612391&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[5]+4237533241&4294967295,_=w+(y<<21&4294967295|y>>>11),y=g+(w^(_|~A))+E[12]+1700485571&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[3]+2399980690&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[10]+4293915773&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[1]+2240044497&4294967295,_=w+(y<<21&4294967295|y>>>11),y=g+(w^(_|~A))+E[8]+1873313359&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[15]+4264355552&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[6]+2734768916&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[13]+1309151649&4294967295,_=w+(y<<21&4294967295|y>>>11),y=g+(w^(_|~A))+E[4]+4149444226&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[11]+3174756917&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[2]+718787259&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[9]+3951481745&4294967295,T.g[0]=T.g[0]+g&4294967295,T.g[1]=T.g[1]+(w+(y<<21&4294967295|y>>>11))&4294967295,T.g[2]=T.g[2]+w&4294967295,T.g[3]=T.g[3]+A&4294967295}r.prototype.u=function(T,g){g===void 0&&(g=T.length);for(var _=g-this.blockSize,E=this.B,w=this.h,A=0;A<g;){if(w==0)for(;A<=_;)s(this,T,A),A+=this.blockSize;if(typeof T=="string"){for(;A<g;)if(E[w++]=T.charCodeAt(A++),w==this.blockSize){s(this,E),w=0;break}}else for(;A<g;)if(E[w++]=T[A++],w==this.blockSize){s(this,E),w=0;break}}this.h=w,this.o+=g},r.prototype.v=function(){var T=Array((56>this.h?this.blockSize:2*this.blockSize)-this.h);T[0]=128;for(var g=1;g<T.length-8;++g)T[g]=0;var _=8*this.o;for(g=T.length-8;g<T.length;++g)T[g]=_&255,_/=256;for(this.u(T),T=Array(16),g=_=0;4>g;++g)for(var E=0;32>E;E+=8)T[_++]=this.g[g]>>>E&255;return T};function i(T,g){var _=c;return Object.prototype.hasOwnProperty.call(_,T)?_[T]:_[T]=g(T)}function a(T,g){this.h=g;for(var _=[],E=!0,w=T.length-1;0<=w;w--){var A=T[w]|0;E&&A==g||(_[w]=A,E=!1)}this.g=_}var c={};function l(T){return-128<=T&&128>T?i(T,function(g){return new a([g|0],0>g?-1:0)}):new a([T|0],0>T?-1:0)}function d(T){if(isNaN(T)||!isFinite(T))return m;if(0>T)return k(d(-T));for(var g=[],_=1,E=0;T>=_;E++)g[E]=T/_|0,_*=4294967296;return new a(g,0)}function f(T,g){if(T.length==0)throw Error("number format error: empty string");if(g=g||10,2>g||36<g)throw Error("radix out of range: "+g);if(T.charAt(0)=="-")return k(f(T.substring(1),g));if(0<=T.indexOf("-"))throw Error('number format error: interior "-" character');for(var _=d(Math.pow(g,8)),E=m,w=0;w<T.length;w+=8){var A=Math.min(8,T.length-w),y=parseInt(T.substring(w,w+A),g);8>A?(A=d(Math.pow(g,A)),E=E.j(A).add(d(y))):(E=E.j(_),E=E.add(d(y)))}return E}var m=l(0),v=l(1),R=l(16777216);n=a.prototype,n.m=function(){if(N(this))return-k(this).m();for(var T=0,g=1,_=0;_<this.g.length;_++){var E=this.i(_);T+=(0<=E?E:4294967296+E)*g,g*=4294967296}return T},n.toString=function(T){if(T=T||10,2>T||36<T)throw Error("radix out of range: "+T);if(S(this))return"0";if(N(this))return"-"+k(this).toString(T);for(var g=d(Math.pow(T,6)),_=this,E="";;){var w=H(_,g).g;_=U(_,w.j(g));var A=((0<_.g.length?_.g[0]:_.h)>>>0).toString(T);if(_=w,S(_))return A+E;for(;6>A.length;)A="0"+A;E=A+E}},n.i=function(T){return 0>T?0:T<this.g.length?this.g[T]:this.h};function S(T){if(T.h!=0)return!1;for(var g=0;g<T.g.length;g++)if(T.g[g]!=0)return!1;return!0}function N(T){return T.h==-1}n.l=function(T){return T=U(this,T),N(T)?-1:S(T)?0:1};function k(T){for(var g=T.g.length,_=[],E=0;E<g;E++)_[E]=~T.g[E];return new a(_,~T.h).add(v)}n.abs=function(){return N(this)?k(this):this},n.add=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0,w=0;w<=g;w++){var A=E+(this.i(w)&65535)+(T.i(w)&65535),y=(A>>>16)+(this.i(w)>>>16)+(T.i(w)>>>16);E=y>>>16,A&=65535,y&=65535,_[w]=y<<16|A}return new a(_,_[_.length-1]&-2147483648?-1:0)};function U(T,g){return T.add(k(g))}n.j=function(T){if(S(this)||S(T))return m;if(N(this))return N(T)?k(this).j(k(T)):k(k(this).j(T));if(N(T))return k(this.j(k(T)));if(0>this.l(R)&&0>T.l(R))return d(this.m()*T.m());for(var g=this.g.length+T.g.length,_=[],E=0;E<2*g;E++)_[E]=0;for(E=0;E<this.g.length;E++)for(var w=0;w<T.g.length;w++){var A=this.i(E)>>>16,y=this.i(E)&65535,wt=T.i(w)>>>16,Vr=T.i(w)&65535;_[2*E+2*w]+=y*Vr,$(_,2*E+2*w),_[2*E+2*w+1]+=A*Vr,$(_,2*E+2*w+1),_[2*E+2*w+1]+=y*wt,$(_,2*E+2*w+1),_[2*E+2*w+2]+=A*wt,$(_,2*E+2*w+2)}for(E=0;E<g;E++)_[E]=_[2*E+1]<<16|_[2*E];for(E=g;E<2*g;E++)_[E]=0;return new a(_,0)};function $(T,g){for(;(T[g]&65535)!=T[g];)T[g+1]+=T[g]>>>16,T[g]&=65535,g++}function x(T,g){this.g=T,this.h=g}function H(T,g){if(S(g))throw Error("division by zero");if(S(T))return new x(m,m);if(N(T))return g=H(k(T),g),new x(k(g.g),k(g.h));if(N(g))return g=H(T,k(g)),new x(k(g.g),g.h);if(30<T.g.length){if(N(T)||N(g))throw Error("slowDivide_ only works with positive integers.");for(var _=v,E=g;0>=E.l(T);)_=he(_),E=he(E);var w=J(_,1),A=J(E,1);for(E=J(E,2),_=J(_,2);!S(E);){var y=A.add(E);0>=y.l(T)&&(w=w.add(_),A=y),E=J(E,1),_=J(_,1)}return g=U(T,w.j(g)),new x(w,g)}for(w=m;0<=T.l(g);){for(_=Math.max(1,Math.floor(T.m()/g.m())),E=Math.ceil(Math.log(_)/Math.LN2),E=48>=E?1:Math.pow(2,E-48),A=d(_),y=A.j(g);N(y)||0<y.l(T);)_-=E,A=d(_),y=A.j(g);S(A)&&(A=v),w=w.add(A),T=U(T,y)}return new x(w,T)}n.A=function(T){return H(this,T).h},n.and=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0;E<g;E++)_[E]=this.i(E)&T.i(E);return new a(_,this.h&T.h)},n.or=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0;E<g;E++)_[E]=this.i(E)|T.i(E);return new a(_,this.h|T.h)},n.xor=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0;E<g;E++)_[E]=this.i(E)^T.i(E);return new a(_,this.h^T.h)};function he(T){for(var g=T.g.length+1,_=[],E=0;E<g;E++)_[E]=T.i(E)<<1|T.i(E-1)>>>31;return new a(_,T.h)}function J(T,g){var _=g>>5;g%=32;for(var E=T.g.length-_,w=[],A=0;A<E;A++)w[A]=0<g?T.i(A+_)>>>g|T.i(A+_+1)<<32-g:T.i(A+_);return new a(w,T.h)}r.prototype.digest=r.prototype.v,r.prototype.reset=r.prototype.s,r.prototype.update=r.prototype.u,bc=r,a.prototype.add=a.prototype.add,a.prototype.multiply=a.prototype.j,a.prototype.modulo=a.prototype.A,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=d,a.fromString=f,St=a}).apply(typeof Rc<"u"?Rc:typeof self<"u"?self:typeof window<"u"?window:{});var ns=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};/** @license
353
+ */function e(T,g){function _(){}_.prototype=g.prototype,T.D=g.prototype,T.prototype=new _,T.prototype.constructor=T,T.C=function(E,w,A){for(var y=Array(arguments.length-2),wt=2;wt<arguments.length;wt++)y[wt-2]=arguments[wt];return g.prototype[w].apply(E,y)}}function t(){this.blockSize=-1}function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.B=Array(this.blockSize),this.o=this.h=0,this.s()}e(r,t),r.prototype.s=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0};function s(T,g,_){_||(_=0);var E=Array(16);if(typeof g=="string")for(var w=0;16>w;++w)E[w]=g.charCodeAt(_++)|g.charCodeAt(_++)<<8|g.charCodeAt(_++)<<16|g.charCodeAt(_++)<<24;else for(w=0;16>w;++w)E[w]=g[_++]|g[_++]<<8|g[_++]<<16|g[_++]<<24;g=T.g[0],_=T.g[1],w=T.g[2];var A=T.g[3],y=g+(A^_&(w^A))+E[0]+3614090360&4294967295;g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[1]+3905402710&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[2]+606105819&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[3]+3250441966&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(A^_&(w^A))+E[4]+4118548399&4294967295,g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[5]+1200080426&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[6]+2821735955&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[7]+4249261313&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(A^_&(w^A))+E[8]+1770035416&4294967295,g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[9]+2336552879&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[10]+4294925233&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[11]+2304563134&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(A^_&(w^A))+E[12]+1804603682&4294967295,g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[13]+4254626195&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[14]+2792965006&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[15]+1236535329&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(w^A&(_^w))+E[1]+4129170786&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[6]+3225465664&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[11]+643717713&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[0]+3921069994&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(w^A&(_^w))+E[5]+3593408605&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[10]+38016083&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[15]+3634488961&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[4]+3889429448&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(w^A&(_^w))+E[9]+568446438&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[14]+3275163606&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[3]+4107603335&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[8]+1163531501&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(w^A&(_^w))+E[13]+2850285829&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[2]+4243563512&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[7]+1735328473&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[12]+2368359562&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(_^w^A)+E[5]+4294588738&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[8]+2272392833&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[11]+1839030562&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[14]+4259657740&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(_^w^A)+E[1]+2763975236&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[4]+1272893353&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[7]+4139469664&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[10]+3200236656&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(_^w^A)+E[13]+681279174&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[0]+3936430074&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[3]+3572445317&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[6]+76029189&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(_^w^A)+E[9]+3654602809&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[12]+3873151461&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[15]+530742520&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[2]+3299628645&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(w^(_|~A))+E[0]+4096336452&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[7]+1126891415&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[14]+2878612391&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[5]+4237533241&4294967295,_=w+(y<<21&4294967295|y>>>11),y=g+(w^(_|~A))+E[12]+1700485571&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[3]+2399980690&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[10]+4293915773&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[1]+2240044497&4294967295,_=w+(y<<21&4294967295|y>>>11),y=g+(w^(_|~A))+E[8]+1873313359&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[15]+4264355552&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[6]+2734768916&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[13]+1309151649&4294967295,_=w+(y<<21&4294967295|y>>>11),y=g+(w^(_|~A))+E[4]+4149444226&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[11]+3174756917&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[2]+718787259&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[9]+3951481745&4294967295,T.g[0]=T.g[0]+g&4294967295,T.g[1]=T.g[1]+(w+(y<<21&4294967295|y>>>11))&4294967295,T.g[2]=T.g[2]+w&4294967295,T.g[3]=T.g[3]+A&4294967295}r.prototype.u=function(T,g){g===void 0&&(g=T.length);for(var _=g-this.blockSize,E=this.B,w=this.h,A=0;A<g;){if(w==0)for(;A<=_;)s(this,T,A),A+=this.blockSize;if(typeof T=="string"){for(;A<g;)if(E[w++]=T.charCodeAt(A++),w==this.blockSize){s(this,E),w=0;break}}else for(;A<g;)if(E[w++]=T[A++],w==this.blockSize){s(this,E),w=0;break}}this.h=w,this.o+=g},r.prototype.v=function(){var T=Array((56>this.h?this.blockSize:2*this.blockSize)-this.h);T[0]=128;for(var g=1;g<T.length-8;++g)T[g]=0;var _=8*this.o;for(g=T.length-8;g<T.length;++g)T[g]=_&255,_/=256;for(this.u(T),T=Array(16),g=_=0;4>g;++g)for(var E=0;32>E;E+=8)T[_++]=this.g[g]>>>E&255;return T};function i(T,g){var _=c;return Object.prototype.hasOwnProperty.call(_,T)?_[T]:_[T]=g(T)}function a(T,g){this.h=g;for(var _=[],E=!0,w=T.length-1;0<=w;w--){var A=T[w]|0;E&&A==g||(_[w]=A,E=!1)}this.g=_}var c={};function l(T){return-128<=T&&128>T?i(T,function(g){return new a([g|0],0>g?-1:0)}):new a([T|0],0>T?-1:0)}function d(T){if(isNaN(T)||!isFinite(T))return m;if(0>T)return k(d(-T));for(var g=[],_=1,E=0;T>=_;E++)g[E]=T/_|0,_*=4294967296;return new a(g,0)}function f(T,g){if(T.length==0)throw Error("number format error: empty string");if(g=g||10,2>g||36<g)throw Error("radix out of range: "+g);if(T.charAt(0)=="-")return k(f(T.substring(1),g));if(0<=T.indexOf("-"))throw Error('number format error: interior "-" character');for(var _=d(Math.pow(g,8)),E=m,w=0;w<T.length;w+=8){var A=Math.min(8,T.length-w),y=parseInt(T.substring(w,w+A),g);8>A?(A=d(Math.pow(g,A)),E=E.j(A).add(d(y))):(E=E.j(_),E=E.add(d(y)))}return E}var m=l(0),v=l(1),R=l(16777216);n=a.prototype,n.m=function(){if(N(this))return-k(this).m();for(var T=0,g=1,_=0;_<this.g.length;_++){var E=this.i(_);T+=(0<=E?E:4294967296+E)*g,g*=4294967296}return T},n.toString=function(T){if(T=T||10,2>T||36<T)throw Error("radix out of range: "+T);if(S(this))return"0";if(N(this))return"-"+k(this).toString(T);for(var g=d(Math.pow(T,6)),_=this,E="";;){var w=H(_,g).g;_=U(_,w.j(g));var A=((0<_.g.length?_.g[0]:_.h)>>>0).toString(T);if(_=w,S(_))return A+E;for(;6>A.length;)A="0"+A;E=A+E}},n.i=function(T){return 0>T?0:T<this.g.length?this.g[T]:this.h};function S(T){if(T.h!=0)return!1;for(var g=0;g<T.g.length;g++)if(T.g[g]!=0)return!1;return!0}function N(T){return T.h==-1}n.l=function(T){return T=U(this,T),N(T)?-1:S(T)?0:1};function k(T){for(var g=T.g.length,_=[],E=0;E<g;E++)_[E]=~T.g[E];return new a(_,~T.h).add(v)}n.abs=function(){return N(this)?k(this):this},n.add=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0,w=0;w<=g;w++){var A=E+(this.i(w)&65535)+(T.i(w)&65535),y=(A>>>16)+(this.i(w)>>>16)+(T.i(w)>>>16);E=y>>>16,A&=65535,y&=65535,_[w]=y<<16|A}return new a(_,_[_.length-1]&-2147483648?-1:0)};function U(T,g){return T.add(k(g))}n.j=function(T){if(S(this)||S(T))return m;if(N(this))return N(T)?k(this).j(k(T)):k(k(this).j(T));if(N(T))return k(this.j(k(T)));if(0>this.l(R)&&0>T.l(R))return d(this.m()*T.m());for(var g=this.g.length+T.g.length,_=[],E=0;E<2*g;E++)_[E]=0;for(E=0;E<this.g.length;E++)for(var w=0;w<T.g.length;w++){var A=this.i(E)>>>16,y=this.i(E)&65535,wt=T.i(w)>>>16,Lr=T.i(w)&65535;_[2*E+2*w]+=y*Lr,$(_,2*E+2*w),_[2*E+2*w+1]+=A*Lr,$(_,2*E+2*w+1),_[2*E+2*w+1]+=y*wt,$(_,2*E+2*w+1),_[2*E+2*w+2]+=A*wt,$(_,2*E+2*w+2)}for(E=0;E<g;E++)_[E]=_[2*E+1]<<16|_[2*E];for(E=g;E<2*g;E++)_[E]=0;return new a(_,0)};function $(T,g){for(;(T[g]&65535)!=T[g];)T[g+1]+=T[g]>>>16,T[g]&=65535,g++}function x(T,g){this.g=T,this.h=g}function H(T,g){if(S(g))throw Error("division by zero");if(S(T))return new x(m,m);if(N(T))return g=H(k(T),g),new x(k(g.g),k(g.h));if(N(g))return g=H(T,k(g)),new x(k(g.g),g.h);if(30<T.g.length){if(N(T)||N(g))throw Error("slowDivide_ only works with positive integers.");for(var _=v,E=g;0>=E.l(T);)_=he(_),E=he(E);var w=J(_,1),A=J(E,1);for(E=J(E,2),_=J(_,2);!S(E);){var y=A.add(E);0>=y.l(T)&&(w=w.add(_),A=y),E=J(E,1),_=J(_,1)}return g=U(T,w.j(g)),new x(w,g)}for(w=m;0<=T.l(g);){for(_=Math.max(1,Math.floor(T.m()/g.m())),E=Math.ceil(Math.log(_)/Math.LN2),E=48>=E?1:Math.pow(2,E-48),A=d(_),y=A.j(g);N(y)||0<y.l(T);)_-=E,A=d(_),y=A.j(g);S(A)&&(A=v),w=w.add(A),T=U(T,y)}return new x(w,T)}n.A=function(T){return H(this,T).h},n.and=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0;E<g;E++)_[E]=this.i(E)&T.i(E);return new a(_,this.h&T.h)},n.or=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0;E<g;E++)_[E]=this.i(E)|T.i(E);return new a(_,this.h|T.h)},n.xor=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0;E<g;E++)_[E]=this.i(E)^T.i(E);return new a(_,this.h^T.h)};function he(T){for(var g=T.g.length+1,_=[],E=0;E<g;E++)_[E]=T.i(E)<<1|T.i(E-1)>>>31;return new a(_,T.h)}function J(T,g){var _=g>>5;g%=32;for(var E=T.g.length-_,w=[],A=0;A<E;A++)w[A]=0<g?T.i(A+_)>>>g|T.i(A+_+1)<<32-g:T.i(A+_);return new a(w,T.h)}r.prototype.digest=r.prototype.v,r.prototype.reset=r.prototype.s,r.prototype.update=r.prototype.u,Pc=r,a.prototype.add=a.prototype.add,a.prototype.multiply=a.prototype.j,a.prototype.modulo=a.prototype.A,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=d,a.fromString=f,St=a}).apply(typeof bc<"u"?bc:typeof self<"u"?self:typeof window<"u"?window:{});var ns=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};/** @license
369
354
  Copyright The Closure Library Authors.
370
355
  SPDX-License-Identifier: Apache-2.0
371
- */var Pc,sr,Sc,rs,Ki,Cc,kc,Nc;(function(){var n,e=typeof Object.defineProperties=="function"?Object.defineProperty:function(o,u,h){return o==Array.prototype||o==Object.prototype||(o[u]=h.value),o};function t(o){o=[typeof globalThis=="object"&&globalThis,o,typeof window=="object"&&window,typeof self=="object"&&self,typeof ns=="object"&&ns];for(var u=0;u<o.length;++u){var h=o[u];if(h&&h.Math==Math)return h}throw Error("Cannot find global object")}var r=t(this);function s(o,u){if(u)e:{var h=r;o=o.split(".");for(var p=0;p<o.length-1;p++){var I=o[p];if(!(I in h))break e;h=h[I]}o=o[o.length-1],p=h[o],u=u(p),u!=p&&u!=null&&e(h,o,{configurable:!0,writable:!0,value:u})}}function i(o,u){o instanceof String&&(o+="");var h=0,p=!1,I={next:function(){if(!p&&h<o.length){var b=h++;return{value:u(b,o[b]),done:!1}}return p=!0,{done:!0,value:void 0}}};return I[Symbol.iterator]=function(){return I},I}s("Array.prototype.values",function(o){return o||function(){return i(this,function(u,h){return h})}});/** @license
356
+ */var Sc,ir,Cc,rs,Ki,kc,Nc,Dc;(function(){var n,e=typeof Object.defineProperties=="function"?Object.defineProperty:function(o,u,h){return o==Array.prototype||o==Object.prototype||(o[u]=h.value),o};function t(o){o=[typeof globalThis=="object"&&globalThis,o,typeof window=="object"&&window,typeof self=="object"&&self,typeof ns=="object"&&ns];for(var u=0;u<o.length;++u){var h=o[u];if(h&&h.Math==Math)return h}throw Error("Cannot find global object")}var r=t(this);function s(o,u){if(u)e:{var h=r;o=o.split(".");for(var p=0;p<o.length-1;p++){var I=o[p];if(!(I in h))break e;h=h[I]}o=o[o.length-1],p=h[o],u=u(p),u!=p&&u!=null&&e(h,o,{configurable:!0,writable:!0,value:u})}}function i(o,u){o instanceof String&&(o+="");var h=0,p=!1,I={next:function(){if(!p&&h<o.length){var b=h++;return{value:u(b,o[b]),done:!1}}return p=!0,{done:!0,value:void 0}}};return I[Symbol.iterator]=function(){return I},I}s("Array.prototype.values",function(o){return o||function(){return i(this,function(u,h){return h})}});/** @license
372
357
 
373
358
  Copyright The Closure Library Authors.
374
359
  SPDX-License-Identifier: Apache-2.0
375
- */var a=a||{},c=this||self;function l(o){var u=typeof o;return u=u!="object"?u:o?Array.isArray(o)?"array":u:"null",u=="array"||u=="object"&&typeof o.length=="number"}function d(o){var u=typeof o;return u=="object"&&o!=null||u=="function"}function f(o,u,h){return o.call.apply(o.bind,arguments)}function m(o,u,h){if(!o)throw Error();if(2<arguments.length){var p=Array.prototype.slice.call(arguments,2);return function(){var I=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(I,p),o.apply(u,I)}}return function(){return o.apply(u,arguments)}}function v(o,u,h){return v=Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?f:m,v.apply(null,arguments)}function R(o,u){var h=Array.prototype.slice.call(arguments,1);return function(){var p=h.slice();return p.push.apply(p,arguments),o.apply(this,p)}}function S(o,u){function h(){}h.prototype=u.prototype,o.aa=u.prototype,o.prototype=new h,o.prototype.constructor=o,o.Qb=function(p,I,b){for(var D=Array(arguments.length-2),Z=2;Z<arguments.length;Z++)D[Z-2]=arguments[Z];return u.prototype[I].apply(p,D)}}function N(o){const u=o.length;if(0<u){const h=Array(u);for(let p=0;p<u;p++)h[p]=o[p];return h}return[]}function k(o,u){for(let h=1;h<arguments.length;h++){const p=arguments[h];if(l(p)){const I=o.length||0,b=p.length||0;o.length=I+b;for(let D=0;D<b;D++)o[I+D]=p[D]}else o.push(p)}}class U{constructor(u,h){this.i=u,this.j=h,this.h=0,this.g=null}get(){let u;return 0<this.h?(this.h--,u=this.g,this.g=u.next,u.next=null):u=this.i(),u}}function $(o){return/^[\s\xa0]*$/.test(o)}function x(){var o=c.navigator;return o&&(o=o.userAgent)?o:""}function H(o){return H[" "](o),o}H[" "]=function(){};var he=x().indexOf("Gecko")!=-1&&!(x().toLowerCase().indexOf("webkit")!=-1&&x().indexOf("Edge")==-1)&&!(x().indexOf("Trident")!=-1||x().indexOf("MSIE")!=-1)&&x().indexOf("Edge")==-1;function J(o,u,h){for(const p in o)u.call(h,o[p],p,o)}function T(o,u){for(const h in o)u.call(void 0,o[h],h,o)}function g(o){const u={};for(const h in o)u[h]=o[h];return u}const _="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function E(o,u){let h,p;for(let I=1;I<arguments.length;I++){p=arguments[I];for(h in p)o[h]=p[h];for(let b=0;b<_.length;b++)h=_[b],Object.prototype.hasOwnProperty.call(p,h)&&(o[h]=p[h])}}function w(o){var u=1;o=o.split(":");const h=[];for(;0<u&&o.length;)h.push(o.shift()),u--;return o.length&&h.push(o.join(":")),h}function A(o){c.setTimeout(()=>{throw o},0)}function y(){var o=La;let u=null;return o.g&&(u=o.g,o.g=o.g.next,o.g||(o.h=null),u.next=null),u}class wt{constructor(){this.h=this.g=null}add(u,h){const p=Vr.get();p.set(u,h),this.h?this.h.next=p:this.g=p,this.h=p}}var Vr=new U(()=>new bI,o=>o.reset());class bI{constructor(){this.next=this.g=this.h=null}set(u,h){this.h=u,this.g=h,this.next=null}reset(){this.next=this.g=this.h=null}}let Lr,Mr=!1,La=new wt,Zd=()=>{const o=c.Promise.resolve(void 0);Lr=()=>{o.then(PI)}};var PI=()=>{for(var o;o=y();){try{o.h.call(o.g)}catch(h){A(h)}var u=Vr;u.j(o),100>u.h&&(u.h++,o.next=u.g,u.g=o)}Mr=!1};function zt(){this.s=this.s,this.C=this.C}zt.prototype.s=!1,zt.prototype.ma=function(){this.s||(this.s=!0,this.N())},zt.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()};function Re(o,u){this.type=o,this.g=this.target=u,this.defaultPrevented=!1}Re.prototype.h=function(){this.defaultPrevented=!0};var SI=function(){if(!c.addEventListener||!Object.defineProperty)return!1;var o=!1,u=Object.defineProperty({},"passive",{get:function(){o=!0}});try{const h=()=>{};c.addEventListener("test",h,u),c.removeEventListener("test",h,u)}catch{}return o}();function Ur(o,u){if(Re.call(this,o?o.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,o){var h=this.type=o.type,p=o.changedTouches&&o.changedTouches.length?o.changedTouches[0]:null;if(this.target=o.target||o.srcElement,this.g=u,u=o.relatedTarget){if(he){e:{try{H(u.nodeName);var I=!0;break e}catch{}I=!1}I||(u=null)}}else h=="mouseover"?u=o.fromElement:h=="mouseout"&&(u=o.toElement);this.relatedTarget=u,p?(this.clientX=p.clientX!==void 0?p.clientX:p.pageX,this.clientY=p.clientY!==void 0?p.clientY:p.pageY,this.screenX=p.screenX||0,this.screenY=p.screenY||0):(this.clientX=o.clientX!==void 0?o.clientX:o.pageX,this.clientY=o.clientY!==void 0?o.clientY:o.pageY,this.screenX=o.screenX||0,this.screenY=o.screenY||0),this.button=o.button,this.key=o.key||"",this.ctrlKey=o.ctrlKey,this.altKey=o.altKey,this.shiftKey=o.shiftKey,this.metaKey=o.metaKey,this.pointerId=o.pointerId||0,this.pointerType=typeof o.pointerType=="string"?o.pointerType:CI[o.pointerType]||"",this.state=o.state,this.i=o,o.defaultPrevented&&Ur.aa.h.call(this)}}S(Ur,Re);var CI={2:"touch",3:"pen",4:"mouse"};Ur.prototype.h=function(){Ur.aa.h.call(this);var o=this.i;o.preventDefault?o.preventDefault():o.returnValue=!1};var gi="closure_listenable_"+(1e6*Math.random()|0),kI=0;function NI(o,u,h,p,I){this.listener=o,this.proxy=null,this.src=u,this.type=h,this.capture=!!p,this.ha=I,this.key=++kI,this.da=this.fa=!1}function _i(o){o.da=!0,o.listener=null,o.proxy=null,o.src=null,o.ha=null}function yi(o){this.src=o,this.g={},this.h=0}yi.prototype.add=function(o,u,h,p,I){var b=o.toString();o=this.g[b],o||(o=this.g[b]=[],this.h++);var D=Ua(o,u,p,I);return-1<D?(u=o[D],h||(u.fa=!1)):(u=new NI(u,this.src,b,!!p,I),u.fa=h,o.push(u)),u};function Ma(o,u){var h=u.type;if(h in o.g){var p=o.g[h],I=Array.prototype.indexOf.call(p,u,void 0),b;(b=0<=I)&&Array.prototype.splice.call(p,I,1),b&&(_i(u),o.g[h].length==0&&(delete o.g[h],o.h--))}}function Ua(o,u,h,p){for(var I=0;I<o.length;++I){var b=o[I];if(!b.da&&b.listener==u&&b.capture==!!h&&b.ha==p)return I}return-1}var xa="closure_lm_"+(1e6*Math.random()|0),Fa={};function ef(o,u,h,p,I){if(Array.isArray(u)){for(var b=0;b<u.length;b++)ef(o,u[b],h,p,I);return null}return h=rf(h),o&&o[gi]?o.K(u,h,d(p)?!!p.capture:!1,I):DI(o,u,h,!1,p,I)}function DI(o,u,h,p,I,b){if(!u)throw Error("Invalid event type");var D=d(I)?!!I.capture:!!I,Z=ja(o);if(Z||(o[xa]=Z=new yi(o)),h=Z.add(u,h,p,D,b),h.proxy)return h;if(p=OI(),h.proxy=p,p.src=o,p.listener=h,o.addEventListener)SI||(I=D),I===void 0&&(I=!1),o.addEventListener(u.toString(),p,I);else if(o.attachEvent)o.attachEvent(nf(u.toString()),p);else if(o.addListener&&o.removeListener)o.addListener(p);else throw Error("addEventListener and attachEvent are unavailable.");return h}function OI(){function o(h){return u.call(o.src,o.listener,h)}const u=VI;return o}function tf(o,u,h,p,I){if(Array.isArray(u))for(var b=0;b<u.length;b++)tf(o,u[b],h,p,I);else p=d(p)?!!p.capture:!!p,h=rf(h),o&&o[gi]?(o=o.i,u=String(u).toString(),u in o.g&&(b=o.g[u],h=Ua(b,h,p,I),-1<h&&(_i(b[h]),Array.prototype.splice.call(b,h,1),b.length==0&&(delete o.g[u],o.h--)))):o&&(o=ja(o))&&(u=o.g[u.toString()],o=-1,u&&(o=Ua(u,h,p,I)),(h=-1<o?u[o]:null)&&Ba(h))}function Ba(o){if(typeof o!="number"&&o&&!o.da){var u=o.src;if(u&&u[gi])Ma(u.i,o);else{var h=o.type,p=o.proxy;u.removeEventListener?u.removeEventListener(h,p,o.capture):u.detachEvent?u.detachEvent(nf(h),p):u.addListener&&u.removeListener&&u.removeListener(p),(h=ja(u))?(Ma(h,o),h.h==0&&(h.src=null,u[xa]=null)):_i(o)}}}function nf(o){return o in Fa?Fa[o]:Fa[o]="on"+o}function VI(o,u){if(o.da)o=!0;else{u=new Ur(u,this);var h=o.listener,p=o.ha||o.src;o.fa&&Ba(o),o=h.call(p,u)}return o}function ja(o){return o=o[xa],o instanceof yi?o:null}var qa="__closure_events_fn_"+(1e9*Math.random()>>>0);function rf(o){return typeof o=="function"?o:(o[qa]||(o[qa]=function(u){return o.handleEvent(u)}),o[qa])}function be(){zt.call(this),this.i=new yi(this),this.M=this,this.F=null}S(be,zt),be.prototype[gi]=!0,be.prototype.removeEventListener=function(o,u,h,p){tf(this,o,u,h,p)};function ke(o,u){var h,p=o.F;if(p)for(h=[];p;p=p.F)h.push(p);if(o=o.M,p=u.type||u,typeof u=="string")u=new Re(u,o);else if(u instanceof Re)u.target=u.target||o;else{var I=u;u=new Re(p,o),E(u,I)}if(I=!0,h)for(var b=h.length-1;0<=b;b--){var D=u.g=h[b];I=vi(D,p,!0,u)&&I}if(D=u.g=o,I=vi(D,p,!0,u)&&I,I=vi(D,p,!1,u)&&I,h)for(b=0;b<h.length;b++)D=u.g=h[b],I=vi(D,p,!1,u)&&I}be.prototype.N=function(){if(be.aa.N.call(this),this.i){var o=this.i,u;for(u in o.g){for(var h=o.g[u],p=0;p<h.length;p++)_i(h[p]);delete o.g[u],o.h--}}this.F=null},be.prototype.K=function(o,u,h,p){return this.i.add(String(o),u,!1,h,p)},be.prototype.L=function(o,u,h,p){return this.i.add(String(o),u,!0,h,p)};function vi(o,u,h,p){if(u=o.i.g[String(u)],!u)return!0;u=u.concat();for(var I=!0,b=0;b<u.length;++b){var D=u[b];if(D&&!D.da&&D.capture==h){var Z=D.listener,ve=D.ha||D.src;D.fa&&Ma(o.i,D),I=Z.call(ve,p)!==!1&&I}}return I&&!p.defaultPrevented}function sf(o,u,h){if(typeof o=="function")h&&(o=v(o,h));else if(o&&typeof o.handleEvent=="function")o=v(o.handleEvent,o);else throw Error("Invalid listener argument");return 2147483647<Number(u)?-1:c.setTimeout(o,u||0)}function of(o){o.g=sf(()=>{o.g=null,o.i&&(o.i=!1,of(o))},o.l);const u=o.h;o.h=null,o.m.apply(null,u)}class LI extends zt{constructor(u,h){super(),this.m=u,this.l=h,this.h=null,this.i=!1,this.g=null}j(u){this.h=arguments,this.g?this.i=!0:of(this)}N(){super.N(),this.g&&(c.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function xr(o){zt.call(this),this.h=o,this.g={}}S(xr,zt);var af=[];function cf(o){J(o.g,function(u,h){this.g.hasOwnProperty(h)&&Ba(u)},o),o.g={}}xr.prototype.N=function(){xr.aa.N.call(this),cf(this)},xr.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var $a=c.JSON.stringify,MI=c.JSON.parse,UI=class{stringify(o){return c.JSON.stringify(o,void 0)}parse(o){return c.JSON.parse(o,void 0)}};function Ha(){}Ha.prototype.h=null;function uf(o){return o.h||(o.h=o.i())}function lf(){}var Fr={OPEN:"a",kb:"b",Ja:"c",wb:"d"};function za(){Re.call(this,"d")}S(za,Re);function Wa(){Re.call(this,"c")}S(Wa,Re);var hn={},hf=null;function Ei(){return hf=hf||new be}hn.La="serverreachability";function df(o){Re.call(this,hn.La,o)}S(df,Re);function Br(o){const u=Ei();ke(u,new df(u))}hn.STAT_EVENT="statevent";function ff(o,u){Re.call(this,hn.STAT_EVENT,o),this.stat=u}S(ff,Re);function Ne(o){const u=Ei();ke(u,new ff(u,o))}hn.Ma="timingevent";function pf(o,u){Re.call(this,hn.Ma,o),this.size=u}S(pf,Re);function jr(o,u){if(typeof o!="function")throw Error("Fn must not be null and must be a function");return c.setTimeout(function(){o()},u)}function qr(){this.g=!0}qr.prototype.xa=function(){this.g=!1};function xI(o,u,h,p,I,b){o.info(function(){if(o.g)if(b)for(var D="",Z=b.split("&"),ve=0;ve<Z.length;ve++){var Q=Z[ve].split("=");if(1<Q.length){var Pe=Q[0];Q=Q[1];var Se=Pe.split("_");D=2<=Se.length&&Se[1]=="type"?D+(Pe+"="+Q+"&"):D+(Pe+"=redacted&")}}else D=null;else D=b;return"XMLHTTP REQ ("+p+") [attempt "+I+"]: "+u+`
360
+ */var a=a||{},c=this||self;function l(o){var u=typeof o;return u=u!="object"?u:o?Array.isArray(o)?"array":u:"null",u=="array"||u=="object"&&typeof o.length=="number"}function d(o){var u=typeof o;return u=="object"&&o!=null||u=="function"}function f(o,u,h){return o.call.apply(o.bind,arguments)}function m(o,u,h){if(!o)throw Error();if(2<arguments.length){var p=Array.prototype.slice.call(arguments,2);return function(){var I=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(I,p),o.apply(u,I)}}return function(){return o.apply(u,arguments)}}function v(o,u,h){return v=Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?f:m,v.apply(null,arguments)}function R(o,u){var h=Array.prototype.slice.call(arguments,1);return function(){var p=h.slice();return p.push.apply(p,arguments),o.apply(this,p)}}function S(o,u){function h(){}h.prototype=u.prototype,o.aa=u.prototype,o.prototype=new h,o.prototype.constructor=o,o.Qb=function(p,I,b){for(var D=Array(arguments.length-2),Z=2;Z<arguments.length;Z++)D[Z-2]=arguments[Z];return u.prototype[I].apply(p,D)}}function N(o){const u=o.length;if(0<u){const h=Array(u);for(let p=0;p<u;p++)h[p]=o[p];return h}return[]}function k(o,u){for(let h=1;h<arguments.length;h++){const p=arguments[h];if(l(p)){const I=o.length||0,b=p.length||0;o.length=I+b;for(let D=0;D<b;D++)o[I+D]=p[D]}else o.push(p)}}class U{constructor(u,h){this.i=u,this.j=h,this.h=0,this.g=null}get(){let u;return 0<this.h?(this.h--,u=this.g,this.g=u.next,u.next=null):u=this.i(),u}}function $(o){return/^[\s\xa0]*$/.test(o)}function x(){var o=c.navigator;return o&&(o=o.userAgent)?o:""}function H(o){return H[" "](o),o}H[" "]=function(){};var he=x().indexOf("Gecko")!=-1&&!(x().toLowerCase().indexOf("webkit")!=-1&&x().indexOf("Edge")==-1)&&!(x().indexOf("Trident")!=-1||x().indexOf("MSIE")!=-1)&&x().indexOf("Edge")==-1;function J(o,u,h){for(const p in o)u.call(h,o[p],p,o)}function T(o,u){for(const h in o)u.call(void 0,o[h],h,o)}function g(o){const u={};for(const h in o)u[h]=o[h];return u}const _="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function E(o,u){let h,p;for(let I=1;I<arguments.length;I++){p=arguments[I];for(h in p)o[h]=p[h];for(let b=0;b<_.length;b++)h=_[b],Object.prototype.hasOwnProperty.call(p,h)&&(o[h]=p[h])}}function w(o){var u=1;o=o.split(":");const h=[];for(;0<u&&o.length;)h.push(o.shift()),u--;return o.length&&h.push(o.join(":")),h}function A(o){c.setTimeout(()=>{throw o},0)}function y(){var o=La;let u=null;return o.g&&(u=o.g,o.g=o.g.next,o.g||(o.h=null),u.next=null),u}class wt{constructor(){this.h=this.g=null}add(u,h){const p=Lr.get();p.set(u,h),this.h?this.h.next=p:this.g=p,this.h=p}}var Lr=new U(()=>new PI,o=>o.reset());class PI{constructor(){this.next=this.g=this.h=null}set(u,h){this.h=u,this.g=h,this.next=null}reset(){this.next=this.g=this.h=null}}let Mr,Ur=!1,La=new wt,ef=()=>{const o=c.Promise.resolve(void 0);Mr=()=>{o.then(SI)}};var SI=()=>{for(var o;o=y();){try{o.h.call(o.g)}catch(h){A(h)}var u=Lr;u.j(o),100>u.h&&(u.h++,o.next=u.g,u.g=o)}Ur=!1};function zt(){this.s=this.s,this.C=this.C}zt.prototype.s=!1,zt.prototype.ma=function(){this.s||(this.s=!0,this.N())},zt.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()};function Re(o,u){this.type=o,this.g=this.target=u,this.defaultPrevented=!1}Re.prototype.h=function(){this.defaultPrevented=!0};var CI=function(){if(!c.addEventListener||!Object.defineProperty)return!1;var o=!1,u=Object.defineProperty({},"passive",{get:function(){o=!0}});try{const h=()=>{};c.addEventListener("test",h,u),c.removeEventListener("test",h,u)}catch{}return o}();function xr(o,u){if(Re.call(this,o?o.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,o){var h=this.type=o.type,p=o.changedTouches&&o.changedTouches.length?o.changedTouches[0]:null;if(this.target=o.target||o.srcElement,this.g=u,u=o.relatedTarget){if(he){e:{try{H(u.nodeName);var I=!0;break e}catch{}I=!1}I||(u=null)}}else h=="mouseover"?u=o.fromElement:h=="mouseout"&&(u=o.toElement);this.relatedTarget=u,p?(this.clientX=p.clientX!==void 0?p.clientX:p.pageX,this.clientY=p.clientY!==void 0?p.clientY:p.pageY,this.screenX=p.screenX||0,this.screenY=p.screenY||0):(this.clientX=o.clientX!==void 0?o.clientX:o.pageX,this.clientY=o.clientY!==void 0?o.clientY:o.pageY,this.screenX=o.screenX||0,this.screenY=o.screenY||0),this.button=o.button,this.key=o.key||"",this.ctrlKey=o.ctrlKey,this.altKey=o.altKey,this.shiftKey=o.shiftKey,this.metaKey=o.metaKey,this.pointerId=o.pointerId||0,this.pointerType=typeof o.pointerType=="string"?o.pointerType:kI[o.pointerType]||"",this.state=o.state,this.i=o,o.defaultPrevented&&xr.aa.h.call(this)}}S(xr,Re);var kI={2:"touch",3:"pen",4:"mouse"};xr.prototype.h=function(){xr.aa.h.call(this);var o=this.i;o.preventDefault?o.preventDefault():o.returnValue=!1};var gi="closure_listenable_"+(1e6*Math.random()|0),NI=0;function DI(o,u,h,p,I){this.listener=o,this.proxy=null,this.src=u,this.type=h,this.capture=!!p,this.ha=I,this.key=++NI,this.da=this.fa=!1}function _i(o){o.da=!0,o.listener=null,o.proxy=null,o.src=null,o.ha=null}function yi(o){this.src=o,this.g={},this.h=0}yi.prototype.add=function(o,u,h,p,I){var b=o.toString();o=this.g[b],o||(o=this.g[b]=[],this.h++);var D=Ua(o,u,p,I);return-1<D?(u=o[D],h||(u.fa=!1)):(u=new DI(u,this.src,b,!!p,I),u.fa=h,o.push(u)),u};function Ma(o,u){var h=u.type;if(h in o.g){var p=o.g[h],I=Array.prototype.indexOf.call(p,u,void 0),b;(b=0<=I)&&Array.prototype.splice.call(p,I,1),b&&(_i(u),o.g[h].length==0&&(delete o.g[h],o.h--))}}function Ua(o,u,h,p){for(var I=0;I<o.length;++I){var b=o[I];if(!b.da&&b.listener==u&&b.capture==!!h&&b.ha==p)return I}return-1}var xa="closure_lm_"+(1e6*Math.random()|0),Fa={};function tf(o,u,h,p,I){if(Array.isArray(u)){for(var b=0;b<u.length;b++)tf(o,u[b],h,p,I);return null}return h=sf(h),o&&o[gi]?o.K(u,h,d(p)?!!p.capture:!1,I):OI(o,u,h,!1,p,I)}function OI(o,u,h,p,I,b){if(!u)throw Error("Invalid event type");var D=d(I)?!!I.capture:!!I,Z=ja(o);if(Z||(o[xa]=Z=new yi(o)),h=Z.add(u,h,p,D,b),h.proxy)return h;if(p=VI(),h.proxy=p,p.src=o,p.listener=h,o.addEventListener)CI||(I=D),I===void 0&&(I=!1),o.addEventListener(u.toString(),p,I);else if(o.attachEvent)o.attachEvent(rf(u.toString()),p);else if(o.addListener&&o.removeListener)o.addListener(p);else throw Error("addEventListener and attachEvent are unavailable.");return h}function VI(){function o(h){return u.call(o.src,o.listener,h)}const u=LI;return o}function nf(o,u,h,p,I){if(Array.isArray(u))for(var b=0;b<u.length;b++)nf(o,u[b],h,p,I);else p=d(p)?!!p.capture:!!p,h=sf(h),o&&o[gi]?(o=o.i,u=String(u).toString(),u in o.g&&(b=o.g[u],h=Ua(b,h,p,I),-1<h&&(_i(b[h]),Array.prototype.splice.call(b,h,1),b.length==0&&(delete o.g[u],o.h--)))):o&&(o=ja(o))&&(u=o.g[u.toString()],o=-1,u&&(o=Ua(u,h,p,I)),(h=-1<o?u[o]:null)&&Ba(h))}function Ba(o){if(typeof o!="number"&&o&&!o.da){var u=o.src;if(u&&u[gi])Ma(u.i,o);else{var h=o.type,p=o.proxy;u.removeEventListener?u.removeEventListener(h,p,o.capture):u.detachEvent?u.detachEvent(rf(h),p):u.addListener&&u.removeListener&&u.removeListener(p),(h=ja(u))?(Ma(h,o),h.h==0&&(h.src=null,u[xa]=null)):_i(o)}}}function rf(o){return o in Fa?Fa[o]:Fa[o]="on"+o}function LI(o,u){if(o.da)o=!0;else{u=new xr(u,this);var h=o.listener,p=o.ha||o.src;o.fa&&Ba(o),o=h.call(p,u)}return o}function ja(o){return o=o[xa],o instanceof yi?o:null}var qa="__closure_events_fn_"+(1e9*Math.random()>>>0);function sf(o){return typeof o=="function"?o:(o[qa]||(o[qa]=function(u){return o.handleEvent(u)}),o[qa])}function be(){zt.call(this),this.i=new yi(this),this.M=this,this.F=null}S(be,zt),be.prototype[gi]=!0,be.prototype.removeEventListener=function(o,u,h,p){nf(this,o,u,h,p)};function ke(o,u){var h,p=o.F;if(p)for(h=[];p;p=p.F)h.push(p);if(o=o.M,p=u.type||u,typeof u=="string")u=new Re(u,o);else if(u instanceof Re)u.target=u.target||o;else{var I=u;u=new Re(p,o),E(u,I)}if(I=!0,h)for(var b=h.length-1;0<=b;b--){var D=u.g=h[b];I=vi(D,p,!0,u)&&I}if(D=u.g=o,I=vi(D,p,!0,u)&&I,I=vi(D,p,!1,u)&&I,h)for(b=0;b<h.length;b++)D=u.g=h[b],I=vi(D,p,!1,u)&&I}be.prototype.N=function(){if(be.aa.N.call(this),this.i){var o=this.i,u;for(u in o.g){for(var h=o.g[u],p=0;p<h.length;p++)_i(h[p]);delete o.g[u],o.h--}}this.F=null},be.prototype.K=function(o,u,h,p){return this.i.add(String(o),u,!1,h,p)},be.prototype.L=function(o,u,h,p){return this.i.add(String(o),u,!0,h,p)};function vi(o,u,h,p){if(u=o.i.g[String(u)],!u)return!0;u=u.concat();for(var I=!0,b=0;b<u.length;++b){var D=u[b];if(D&&!D.da&&D.capture==h){var Z=D.listener,ve=D.ha||D.src;D.fa&&Ma(o.i,D),I=Z.call(ve,p)!==!1&&I}}return I&&!p.defaultPrevented}function of(o,u,h){if(typeof o=="function")h&&(o=v(o,h));else if(o&&typeof o.handleEvent=="function")o=v(o.handleEvent,o);else throw Error("Invalid listener argument");return 2147483647<Number(u)?-1:c.setTimeout(o,u||0)}function af(o){o.g=of(()=>{o.g=null,o.i&&(o.i=!1,af(o))},o.l);const u=o.h;o.h=null,o.m.apply(null,u)}class MI extends zt{constructor(u,h){super(),this.m=u,this.l=h,this.h=null,this.i=!1,this.g=null}j(u){this.h=arguments,this.g?this.i=!0:af(this)}N(){super.N(),this.g&&(c.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function Fr(o){zt.call(this),this.h=o,this.g={}}S(Fr,zt);var cf=[];function uf(o){J(o.g,function(u,h){this.g.hasOwnProperty(h)&&Ba(u)},o),o.g={}}Fr.prototype.N=function(){Fr.aa.N.call(this),uf(this)},Fr.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var $a=c.JSON.stringify,UI=c.JSON.parse,xI=class{stringify(o){return c.JSON.stringify(o,void 0)}parse(o){return c.JSON.parse(o,void 0)}};function Ha(){}Ha.prototype.h=null;function lf(o){return o.h||(o.h=o.i())}function hf(){}var Br={OPEN:"a",kb:"b",Ja:"c",wb:"d"};function za(){Re.call(this,"d")}S(za,Re);function Wa(){Re.call(this,"c")}S(Wa,Re);var dn={},df=null;function Ei(){return df=df||new be}dn.La="serverreachability";function ff(o){Re.call(this,dn.La,o)}S(ff,Re);function jr(o){const u=Ei();ke(u,new ff(u))}dn.STAT_EVENT="statevent";function pf(o,u){Re.call(this,dn.STAT_EVENT,o),this.stat=u}S(pf,Re);function Ne(o){const u=Ei();ke(u,new pf(u,o))}dn.Ma="timingevent";function mf(o,u){Re.call(this,dn.Ma,o),this.size=u}S(mf,Re);function qr(o,u){if(typeof o!="function")throw Error("Fn must not be null and must be a function");return c.setTimeout(function(){o()},u)}function $r(){this.g=!0}$r.prototype.xa=function(){this.g=!1};function FI(o,u,h,p,I,b){o.info(function(){if(o.g)if(b)for(var D="",Z=b.split("&"),ve=0;ve<Z.length;ve++){var Q=Z[ve].split("=");if(1<Q.length){var Pe=Q[0];Q=Q[1];var Se=Pe.split("_");D=2<=Se.length&&Se[1]=="type"?D+(Pe+"="+Q+"&"):D+(Pe+"=redacted&")}}else D=null;else D=b;return"XMLHTTP REQ ("+p+") [attempt "+I+"]: "+u+`
376
361
  `+h+`
377
- `+D})}function FI(o,u,h,p,I,b,D){o.info(function(){return"XMLHTTP RESP ("+p+") [ attempt "+I+"]: "+u+`
362
+ `+D})}function BI(o,u,h,p,I,b,D){o.info(function(){return"XMLHTTP RESP ("+p+") [ attempt "+I+"]: "+u+`
378
363
  `+h+`
379
- `+b+" "+D})}function Wn(o,u,h,p){o.info(function(){return"XMLHTTP TEXT ("+u+"): "+jI(o,h)+(p?" "+p:"")})}function BI(o,u){o.info(function(){return"TIMEOUT: "+u})}qr.prototype.info=function(){};function jI(o,u){if(!o.g)return u;if(!u)return null;try{var h=JSON.parse(u);if(h){for(o=0;o<h.length;o++)if(Array.isArray(h[o])){var p=h[o];if(!(2>p.length)){var I=p[1];if(Array.isArray(I)&&!(1>I.length)){var b=I[0];if(b!="noop"&&b!="stop"&&b!="close")for(var D=1;D<I.length;D++)I[D]=""}}}}return $a(h)}catch{return u}}var Ti={NO_ERROR:0,gb:1,tb:2,sb:3,nb:4,rb:5,ub:6,Ia:7,TIMEOUT:8,xb:9},mf={lb:"complete",Hb:"success",Ja:"error",Ia:"abort",zb:"ready",Ab:"readystatechange",TIMEOUT:"timeout",vb:"incrementaldata",yb:"progress",ob:"downloadprogress",Pb:"uploadprogress"},Ga;function wi(){}S(wi,Ha),wi.prototype.g=function(){return new XMLHttpRequest},wi.prototype.i=function(){return{}},Ga=new wi;function Wt(o,u,h,p){this.j=o,this.i=u,this.l=h,this.R=p||1,this.U=new xr(this),this.I=45e3,this.H=null,this.o=!1,this.m=this.A=this.v=this.L=this.F=this.S=this.B=null,this.D=[],this.g=null,this.C=0,this.s=this.u=null,this.X=-1,this.J=!1,this.O=0,this.M=null,this.W=this.K=this.T=this.P=!1,this.h=new gf}function gf(){this.i=null,this.g="",this.h=!1}var _f={},Ka={};function Qa(o,u,h){o.L=1,o.v=bi(It(u)),o.m=h,o.P=!0,yf(o,null)}function yf(o,u){o.F=Date.now(),Ii(o),o.A=It(o.v);var h=o.A,p=o.R;Array.isArray(p)||(p=[String(p)]),Df(h.i,"t",p),o.C=0,h=o.j.J,o.h=new gf,o.g=Xf(o.j,h?u:null,!o.m),0<o.O&&(o.M=new LI(v(o.Y,o,o.g),o.O)),u=o.U,h=o.g,p=o.ca;var I="readystatechange";Array.isArray(I)||(I&&(af[0]=I.toString()),I=af);for(var b=0;b<I.length;b++){var D=ef(h,I[b],p||u.handleEvent,!1,u.h||u);if(!D)break;u.g[D.key]=D}u=o.H?g(o.H):{},o.m?(o.u||(o.u="POST"),u["Content-Type"]="application/x-www-form-urlencoded",o.g.ea(o.A,o.u,o.m,u)):(o.u="GET",o.g.ea(o.A,o.u,null,u)),Br(),xI(o.i,o.u,o.A,o.l,o.R,o.m)}Wt.prototype.ca=function(o){o=o.target;const u=this.M;u&&At(o)==3?u.j():this.Y(o)},Wt.prototype.Y=function(o){try{if(o==this.g)e:{const Se=At(this.g);var u=this.g.Ba();const Qn=this.g.Z();if(!(3>Se)&&(Se!=3||this.g&&(this.h.h||this.g.oa()||Ff(this.g)))){this.J||Se!=4||u==7||(u==8||0>=Qn?Br(3):Br(2)),Xa(this);var h=this.g.Z();this.X=h;t:if(vf(this)){var p=Ff(this.g);o="";var I=p.length,b=At(this.g)==4;if(!this.h.i){if(typeof TextDecoder>"u"){dn(this),$r(this);var D="";break t}this.h.i=new c.TextDecoder}for(u=0;u<I;u++)this.h.h=!0,o+=this.h.i.decode(p[u],{stream:!(b&&u==I-1)});p.length=0,this.h.g+=o,this.C=0,D=this.h.g}else D=this.g.oa();if(this.o=h==200,FI(this.i,this.u,this.A,this.l,this.R,Se,h),this.o){if(this.T&&!this.K){t:{if(this.g){var Z,ve=this.g;if((Z=ve.g?ve.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!$(Z)){var Q=Z;break t}}Q=null}if(h=Q)Wn(this.i,this.l,h,"Initial handshake response via X-HTTP-Initial-Response"),this.K=!0,Ya(this,h);else{this.o=!1,this.s=3,Ne(12),dn(this),$r(this);break e}}if(this.P){h=!0;let Je;for(;!this.J&&this.C<D.length;)if(Je=qI(this,D),Je==Ka){Se==4&&(this.s=4,Ne(14),h=!1),Wn(this.i,this.l,null,"[Incomplete Response]");break}else if(Je==_f){this.s=4,Ne(15),Wn(this.i,this.l,D,"[Invalid Chunk]"),h=!1;break}else Wn(this.i,this.l,Je,null),Ya(this,Je);if(vf(this)&&this.C!=0&&(this.h.g=this.h.g.slice(this.C),this.C=0),Se!=4||D.length!=0||this.h.h||(this.s=1,Ne(16),h=!1),this.o=this.o&&h,!h)Wn(this.i,this.l,D,"[Invalid Chunked Response]"),dn(this),$r(this);else if(0<D.length&&!this.W){this.W=!0;var Pe=this.j;Pe.g==this&&Pe.ba&&!Pe.M&&(Pe.j.info("Great, no buffering proxy detected. Bytes received: "+D.length),rc(Pe),Pe.M=!0,Ne(11))}}else Wn(this.i,this.l,D,null),Ya(this,D);Se==4&&dn(this),this.o&&!this.J&&(Se==4?Wf(this.j,this):(this.o=!1,Ii(this)))}else iA(this.g),h==400&&0<D.indexOf("Unknown SID")?(this.s=3,Ne(12)):(this.s=0,Ne(13)),dn(this),$r(this)}}}catch{}finally{}};function vf(o){return o.g?o.u=="GET"&&o.L!=2&&o.j.Ca:!1}function qI(o,u){var h=o.C,p=u.indexOf(`
380
- `,h);return p==-1?Ka:(h=Number(u.substring(h,p)),isNaN(h)?_f:(p+=1,p+h>u.length?Ka:(u=u.slice(p,p+h),o.C=p+h,u)))}Wt.prototype.cancel=function(){this.J=!0,dn(this)};function Ii(o){o.S=Date.now()+o.I,Ef(o,o.I)}function Ef(o,u){if(o.B!=null)throw Error("WatchDog timer not null");o.B=jr(v(o.ba,o),u)}function Xa(o){o.B&&(c.clearTimeout(o.B),o.B=null)}Wt.prototype.ba=function(){this.B=null;const o=Date.now();0<=o-this.S?(BI(this.i,this.A),this.L!=2&&(Br(),Ne(17)),dn(this),this.s=2,$r(this)):Ef(this,this.S-o)};function $r(o){o.j.G==0||o.J||Wf(o.j,o)}function dn(o){Xa(o);var u=o.M;u&&typeof u.ma=="function"&&u.ma(),o.M=null,cf(o.U),o.g&&(u=o.g,o.g=null,u.abort(),u.ma())}function Ya(o,u){try{var h=o.j;if(h.G!=0&&(h.g==o||Ja(h.h,o))){if(!o.K&&Ja(h.h,o)&&h.G==3){try{var p=h.Da.g.parse(u)}catch{p=null}if(Array.isArray(p)&&p.length==3){var I=p;if(I[0]==0){e:if(!h.u){if(h.g)if(h.g.F+3e3<o.F)Di(h),ki(h);else break e;nc(h),Ne(18)}}else h.za=I[1],0<h.za-h.T&&37500>I[2]&&h.F&&h.v==0&&!h.C&&(h.C=jr(v(h.Za,h),6e3));if(1>=If(h.h)&&h.ca){try{h.ca()}catch{}h.ca=void 0}}else pn(h,11)}else if((o.K||h.g==o)&&Di(h),!$(u))for(I=h.Da.g.parse(u),u=0;u<I.length;u++){let Q=I[u];if(h.T=Q[0],Q=Q[1],h.G==2)if(Q[0]=="c"){h.K=Q[1],h.ia=Q[2];const Pe=Q[3];Pe!=null&&(h.la=Pe,h.j.info("VER="+h.la));const Se=Q[4];Se!=null&&(h.Aa=Se,h.j.info("SVER="+h.Aa));const Qn=Q[5];Qn!=null&&typeof Qn=="number"&&0<Qn&&(p=1.5*Qn,h.L=p,h.j.info("backChannelRequestTimeoutMs_="+p)),p=h;const Je=o.g;if(Je){const Vi=Je.g?Je.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(Vi){var b=p.h;b.g||Vi.indexOf("spdy")==-1&&Vi.indexOf("quic")==-1&&Vi.indexOf("h2")==-1||(b.j=b.l,b.g=new Set,b.h&&(Za(b,b.h),b.h=null))}if(p.D){const sc=Je.g?Je.g.getResponseHeader("X-HTTP-Session-Id"):null;sc&&(p.ya=sc,ne(p.I,p.D,sc))}}h.G=3,h.l&&h.l.ua(),h.ba&&(h.R=Date.now()-o.F,h.j.info("Handshake RTT: "+h.R+"ms")),p=h;var D=o;if(p.qa=Qf(p,p.J?p.ia:null,p.W),D.K){Af(p.h,D);var Z=D,ve=p.L;ve&&(Z.I=ve),Z.B&&(Xa(Z),Ii(Z)),p.g=D}else Hf(p);0<h.i.length&&Ni(h)}else Q[0]!="stop"&&Q[0]!="close"||pn(h,7);else h.G==3&&(Q[0]=="stop"||Q[0]=="close"?Q[0]=="stop"?pn(h,7):tc(h):Q[0]!="noop"&&h.l&&h.l.ta(Q),h.v=0)}}Br(4)}catch{}}var $I=class{constructor(o,u){this.g=o,this.map=u}};function Tf(o){this.l=o||10,c.PerformanceNavigationTiming?(o=c.performance.getEntriesByType("navigation"),o=0<o.length&&(o[0].nextHopProtocol=="hq"||o[0].nextHopProtocol=="h2")):o=!!(c.chrome&&c.chrome.loadTimes&&c.chrome.loadTimes()&&c.chrome.loadTimes().wasFetchedViaSpdy),this.j=o?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function wf(o){return o.h?!0:o.g?o.g.size>=o.j:!1}function If(o){return o.h?1:o.g?o.g.size:0}function Ja(o,u){return o.h?o.h==u:o.g?o.g.has(u):!1}function Za(o,u){o.g?o.g.add(u):o.h=u}function Af(o,u){o.h&&o.h==u?o.h=null:o.g&&o.g.has(u)&&o.g.delete(u)}Tf.prototype.cancel=function(){if(this.i=Rf(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){for(const o of this.g.values())o.cancel();this.g.clear()}};function Rf(o){if(o.h!=null)return o.i.concat(o.h.D);if(o.g!=null&&o.g.size!==0){let u=o.i;for(const h of o.g.values())u=u.concat(h.D);return u}return N(o.i)}function HI(o){if(o.V&&typeof o.V=="function")return o.V();if(typeof Map<"u"&&o instanceof Map||typeof Set<"u"&&o instanceof Set)return Array.from(o.values());if(typeof o=="string")return o.split("");if(l(o)){for(var u=[],h=o.length,p=0;p<h;p++)u.push(o[p]);return u}u=[],h=0;for(p in o)u[h++]=o[p];return u}function zI(o){if(o.na&&typeof o.na=="function")return o.na();if(!o.V||typeof o.V!="function"){if(typeof Map<"u"&&o instanceof Map)return Array.from(o.keys());if(!(typeof Set<"u"&&o instanceof Set)){if(l(o)||typeof o=="string"){var u=[];o=o.length;for(var h=0;h<o;h++)u.push(h);return u}u=[],h=0;for(const p in o)u[h++]=p;return u}}}function bf(o,u){if(o.forEach&&typeof o.forEach=="function")o.forEach(u,void 0);else if(l(o)||typeof o=="string")Array.prototype.forEach.call(o,u,void 0);else for(var h=zI(o),p=HI(o),I=p.length,b=0;b<I;b++)u.call(void 0,p[b],h&&h[b],o)}var Pf=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function WI(o,u){if(o){o=o.split("&");for(var h=0;h<o.length;h++){var p=o[h].indexOf("="),I=null;if(0<=p){var b=o[h].substring(0,p);I=o[h].substring(p+1)}else b=o[h];u(b,I?decodeURIComponent(I.replace(/\+/g," ")):"")}}}function fn(o){if(this.g=this.o=this.j="",this.s=null,this.m=this.l="",this.h=!1,o instanceof fn){this.h=o.h,Ai(this,o.j),this.o=o.o,this.g=o.g,Ri(this,o.s),this.l=o.l;var u=o.i,h=new Wr;h.i=u.i,u.g&&(h.g=new Map(u.g),h.h=u.h),Sf(this,h),this.m=o.m}else o&&(u=String(o).match(Pf))?(this.h=!1,Ai(this,u[1]||"",!0),this.o=Hr(u[2]||""),this.g=Hr(u[3]||"",!0),Ri(this,u[4]),this.l=Hr(u[5]||"",!0),Sf(this,u[6]||"",!0),this.m=Hr(u[7]||"")):(this.h=!1,this.i=new Wr(null,this.h))}fn.prototype.toString=function(){var o=[],u=this.j;u&&o.push(zr(u,Cf,!0),":");var h=this.g;return(h||u=="file")&&(o.push("//"),(u=this.o)&&o.push(zr(u,Cf,!0),"@"),o.push(encodeURIComponent(String(h)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),h=this.s,h!=null&&o.push(":",String(h))),(h=this.l)&&(this.g&&h.charAt(0)!="/"&&o.push("/"),o.push(zr(h,h.charAt(0)=="/"?QI:KI,!0))),(h=this.i.toString())&&o.push("?",h),(h=this.m)&&o.push("#",zr(h,YI)),o.join("")};function It(o){return new fn(o)}function Ai(o,u,h){o.j=h?Hr(u,!0):u,o.j&&(o.j=o.j.replace(/:$/,""))}function Ri(o,u){if(u){if(u=Number(u),isNaN(u)||0>u)throw Error("Bad port number "+u);o.s=u}else o.s=null}function Sf(o,u,h){u instanceof Wr?(o.i=u,JI(o.i,o.h)):(h||(u=zr(u,XI)),o.i=new Wr(u,o.h))}function ne(o,u,h){o.i.set(u,h)}function bi(o){return ne(o,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),o}function Hr(o,u){return o?u?decodeURI(o.replace(/%25/g,"%2525")):decodeURIComponent(o):""}function zr(o,u,h){return typeof o=="string"?(o=encodeURI(o).replace(u,GI),h&&(o=o.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),o):null}function GI(o){return o=o.charCodeAt(0),"%"+(o>>4&15).toString(16)+(o&15).toString(16)}var Cf=/[#\/\?@]/g,KI=/[#\?:]/g,QI=/[#\?]/g,XI=/[#\?@]/g,YI=/#/g;function Wr(o,u){this.h=this.g=null,this.i=o||null,this.j=!!u}function Gt(o){o.g||(o.g=new Map,o.h=0,o.i&&WI(o.i,function(u,h){o.add(decodeURIComponent(u.replace(/\+/g," ")),h)}))}n=Wr.prototype,n.add=function(o,u){Gt(this),this.i=null,o=Gn(this,o);var h=this.g.get(o);return h||this.g.set(o,h=[]),h.push(u),this.h+=1,this};function kf(o,u){Gt(o),u=Gn(o,u),o.g.has(u)&&(o.i=null,o.h-=o.g.get(u).length,o.g.delete(u))}function Nf(o,u){return Gt(o),u=Gn(o,u),o.g.has(u)}n.forEach=function(o,u){Gt(this),this.g.forEach(function(h,p){h.forEach(function(I){o.call(u,I,p,this)},this)},this)},n.na=function(){Gt(this);const o=Array.from(this.g.values()),u=Array.from(this.g.keys()),h=[];for(let p=0;p<u.length;p++){const I=o[p];for(let b=0;b<I.length;b++)h.push(u[p])}return h},n.V=function(o){Gt(this);let u=[];if(typeof o=="string")Nf(this,o)&&(u=u.concat(this.g.get(Gn(this,o))));else{o=Array.from(this.g.values());for(let h=0;h<o.length;h++)u=u.concat(o[h])}return u},n.set=function(o,u){return Gt(this),this.i=null,o=Gn(this,o),Nf(this,o)&&(this.h-=this.g.get(o).length),this.g.set(o,[u]),this.h+=1,this},n.get=function(o,u){return o?(o=this.V(o),0<o.length?String(o[0]):u):u};function Df(o,u,h){kf(o,u),0<h.length&&(o.i=null,o.g.set(Gn(o,u),N(h)),o.h+=h.length)}n.toString=function(){if(this.i)return this.i;if(!this.g)return"";const o=[],u=Array.from(this.g.keys());for(var h=0;h<u.length;h++){var p=u[h];const b=encodeURIComponent(String(p)),D=this.V(p);for(p=0;p<D.length;p++){var I=b;D[p]!==""&&(I+="="+encodeURIComponent(String(D[p]))),o.push(I)}}return this.i=o.join("&")};function Gn(o,u){return u=String(u),o.j&&(u=u.toLowerCase()),u}function JI(o,u){u&&!o.j&&(Gt(o),o.i=null,o.g.forEach(function(h,p){var I=p.toLowerCase();p!=I&&(kf(this,p),Df(this,I,h))},o)),o.j=u}function ZI(o,u){const h=new qr;if(c.Image){const p=new Image;p.onload=R(Kt,h,"TestLoadImage: loaded",!0,u,p),p.onerror=R(Kt,h,"TestLoadImage: error",!1,u,p),p.onabort=R(Kt,h,"TestLoadImage: abort",!1,u,p),p.ontimeout=R(Kt,h,"TestLoadImage: timeout",!1,u,p),c.setTimeout(function(){p.ontimeout&&p.ontimeout()},1e4),p.src=o}else u(!1)}function eA(o,u){const h=new qr,p=new AbortController,I=setTimeout(()=>{p.abort(),Kt(h,"TestPingServer: timeout",!1,u)},1e4);fetch(o,{signal:p.signal}).then(b=>{clearTimeout(I),b.ok?Kt(h,"TestPingServer: ok",!0,u):Kt(h,"TestPingServer: server error",!1,u)}).catch(()=>{clearTimeout(I),Kt(h,"TestPingServer: error",!1,u)})}function Kt(o,u,h,p,I){try{I&&(I.onload=null,I.onerror=null,I.onabort=null,I.ontimeout=null),p(h)}catch{}}function tA(){this.g=new UI}function nA(o,u,h){const p=h||"";try{bf(o,function(I,b){let D=I;d(I)&&(D=$a(I)),u.push(p+b+"="+encodeURIComponent(D))})}catch(I){throw u.push(p+"type="+encodeURIComponent("_badmap")),I}}function Pi(o){this.l=o.Ub||null,this.j=o.eb||!1}S(Pi,Ha),Pi.prototype.g=function(){return new Si(this.l,this.j)},Pi.prototype.i=function(o){return function(){return o}}({});function Si(o,u){be.call(this),this.D=o,this.o=u,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.u=new Headers,this.h=null,this.B="GET",this.A="",this.g=!1,this.v=this.j=this.l=null}S(Si,be),n=Si.prototype,n.open=function(o,u){if(this.readyState!=0)throw this.abort(),Error("Error reopening a connection");this.B=o,this.A=u,this.readyState=1,Kr(this)},n.send=function(o){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;const u={headers:this.u,method:this.B,credentials:this.m,cache:void 0};o&&(u.body=o),(this.D||c).fetch(new Request(this.A,u)).then(this.Sa.bind(this),this.ga.bind(this))},n.abort=function(){this.response=this.responseText="",this.u=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,Gr(this)),this.readyState=0},n.Sa=function(o){if(this.g&&(this.l=o,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=o.headers,this.readyState=2,Kr(this)),this.g&&(this.readyState=3,Kr(this),this.g)))if(this.responseType==="arraybuffer")o.arrayBuffer().then(this.Qa.bind(this),this.ga.bind(this));else if(typeof c.ReadableStream<"u"&&"body"in o){if(this.j=o.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.v=new TextDecoder;Of(this)}else o.text().then(this.Ra.bind(this),this.ga.bind(this))};function Of(o){o.j.read().then(o.Pa.bind(o)).catch(o.ga.bind(o))}n.Pa=function(o){if(this.g){if(this.o&&o.value)this.response.push(o.value);else if(!this.o){var u=o.value?o.value:new Uint8Array(0);(u=this.v.decode(u,{stream:!o.done}))&&(this.response=this.responseText+=u)}o.done?Gr(this):Kr(this),this.readyState==3&&Of(this)}},n.Ra=function(o){this.g&&(this.response=this.responseText=o,Gr(this))},n.Qa=function(o){this.g&&(this.response=o,Gr(this))},n.ga=function(){this.g&&Gr(this)};function Gr(o){o.readyState=4,o.l=null,o.j=null,o.v=null,Kr(o)}n.setRequestHeader=function(o,u){this.u.append(o,u)},n.getResponseHeader=function(o){return this.h&&this.h.get(o.toLowerCase())||""},n.getAllResponseHeaders=function(){if(!this.h)return"";const o=[],u=this.h.entries();for(var h=u.next();!h.done;)h=h.value,o.push(h[0]+": "+h[1]),h=u.next();return o.join(`\r
381
- `)};function Kr(o){o.onreadystatechange&&o.onreadystatechange.call(o)}Object.defineProperty(Si.prototype,"withCredentials",{get:function(){return this.m==="include"},set:function(o){this.m=o?"include":"same-origin"}});function Vf(o){let u="";return J(o,function(h,p){u+=p,u+=":",u+=h,u+=`\r
382
- `}),u}function ec(o,u,h){e:{for(p in h){var p=!1;break e}p=!0}p||(h=Vf(h),typeof o=="string"?h!=null&&encodeURIComponent(String(h)):ne(o,u,h))}function ie(o){be.call(this),this.headers=new Map,this.o=o||null,this.h=!1,this.v=this.g=null,this.D="",this.m=0,this.l="",this.j=this.B=this.u=this.A=!1,this.I=null,this.H="",this.J=!1}S(ie,be);var rA=/^https?$/i,sA=["POST","PUT"];n=ie.prototype,n.Ha=function(o){this.J=o},n.ea=function(o,u,h,p){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+o);u=u?u.toUpperCase():"GET",this.D=o,this.l="",this.m=0,this.A=!1,this.h=!0,this.g=this.o?this.o.g():Ga.g(),this.v=this.o?uf(this.o):uf(Ga),this.g.onreadystatechange=v(this.Ea,this);try{this.B=!0,this.g.open(u,String(o),!0),this.B=!1}catch(b){Lf(this,b);return}if(o=h||"",h=new Map(this.headers),p)if(Object.getPrototypeOf(p)===Object.prototype)for(var I in p)h.set(I,p[I]);else if(typeof p.keys=="function"&&typeof p.get=="function")for(const b of p.keys())h.set(b,p.get(b));else throw Error("Unknown input type for opt_headers: "+String(p));p=Array.from(h.keys()).find(b=>b.toLowerCase()=="content-type"),I=c.FormData&&o instanceof c.FormData,!(0<=Array.prototype.indexOf.call(sA,u,void 0))||p||I||h.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(const[b,D]of h)this.g.setRequestHeader(b,D);this.H&&(this.g.responseType=this.H),"withCredentials"in this.g&&this.g.withCredentials!==this.J&&(this.g.withCredentials=this.J);try{xf(this),this.u=!0,this.g.send(o),this.u=!1}catch(b){Lf(this,b)}};function Lf(o,u){o.h=!1,o.g&&(o.j=!0,o.g.abort(),o.j=!1),o.l=u,o.m=5,Mf(o),Ci(o)}function Mf(o){o.A||(o.A=!0,ke(o,"complete"),ke(o,"error"))}n.abort=function(o){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.m=o||7,ke(this,"complete"),ke(this,"abort"),Ci(this))},n.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),Ci(this,!0)),ie.aa.N.call(this)},n.Ea=function(){this.s||(this.B||this.u||this.j?Uf(this):this.bb())},n.bb=function(){Uf(this)};function Uf(o){if(o.h&&typeof a<"u"&&(!o.v[1]||At(o)!=4||o.Z()!=2)){if(o.u&&At(o)==4)sf(o.Ea,0,o);else if(ke(o,"readystatechange"),At(o)==4){o.h=!1;try{const D=o.Z();e:switch(D){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var u=!0;break e;default:u=!1}var h;if(!(h=u)){var p;if(p=D===0){var I=String(o.D).match(Pf)[1]||null;!I&&c.self&&c.self.location&&(I=c.self.location.protocol.slice(0,-1)),p=!rA.test(I?I.toLowerCase():"")}h=p}if(h)ke(o,"complete"),ke(o,"success");else{o.m=6;try{var b=2<At(o)?o.g.statusText:""}catch{b=""}o.l=b+" ["+o.Z()+"]",Mf(o)}}finally{Ci(o)}}}}function Ci(o,u){if(o.g){xf(o);const h=o.g,p=o.v[0]?()=>{}:null;o.g=null,o.v=null,u||ke(o,"ready");try{h.onreadystatechange=p}catch{}}}function xf(o){o.I&&(c.clearTimeout(o.I),o.I=null)}n.isActive=function(){return!!this.g};function At(o){return o.g?o.g.readyState:0}n.Z=function(){try{return 2<At(this)?this.g.status:-1}catch{return-1}},n.oa=function(){try{return this.g?this.g.responseText:""}catch{return""}},n.Oa=function(o){if(this.g){var u=this.g.responseText;return o&&u.indexOf(o)==0&&(u=u.substring(o.length)),MI(u)}};function Ff(o){try{if(!o.g)return null;if("response"in o.g)return o.g.response;switch(o.H){case"":case"text":return o.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in o.g)return o.g.mozResponseArrayBuffer}return null}catch{return null}}function iA(o){const u={};o=(o.g&&2<=At(o)&&o.g.getAllResponseHeaders()||"").split(`\r
383
- `);for(let p=0;p<o.length;p++){if($(o[p]))continue;var h=w(o[p]);const I=h[0];if(h=h[1],typeof h!="string")continue;h=h.trim();const b=u[I]||[];u[I]=b,b.push(h)}T(u,function(p){return p.join(", ")})}n.Ba=function(){return this.m},n.Ka=function(){return typeof this.l=="string"?this.l:String(this.l)};function Qr(o,u,h){return h&&h.internalChannelParams&&h.internalChannelParams[o]||u}function Bf(o){this.Aa=0,this.i=[],this.j=new qr,this.ia=this.qa=this.I=this.W=this.g=this.ya=this.D=this.H=this.m=this.S=this.o=null,this.Ya=this.U=0,this.Va=Qr("failFast",!1,o),this.F=this.C=this.u=this.s=this.l=null,this.X=!0,this.za=this.T=-1,this.Y=this.v=this.B=0,this.Ta=Qr("baseRetryDelayMs",5e3,o),this.cb=Qr("retryDelaySeedMs",1e4,o),this.Wa=Qr("forwardChannelMaxRetries",2,o),this.wa=Qr("forwardChannelRequestTimeoutMs",2e4,o),this.pa=o&&o.xmlHttpFactory||void 0,this.Xa=o&&o.Tb||void 0,this.Ca=o&&o.useFetchStreams||!1,this.L=void 0,this.J=o&&o.supportsCrossDomainXhr||!1,this.K="",this.h=new Tf(o&&o.concurrentRequestLimit),this.Da=new tA,this.P=o&&o.fastHandshake||!1,this.O=o&&o.encodeInitMessageHeaders||!1,this.P&&this.O&&(this.O=!1),this.Ua=o&&o.Rb||!1,o&&o.xa&&this.j.xa(),o&&o.forceLongPolling&&(this.X=!1),this.ba=!this.P&&this.X&&o&&o.detectBufferingProxy||!1,this.ja=void 0,o&&o.longPollingTimeout&&0<o.longPollingTimeout&&(this.ja=o.longPollingTimeout),this.ca=void 0,this.R=0,this.M=!1,this.ka=this.A=null}n=Bf.prototype,n.la=8,n.G=1,n.connect=function(o,u,h,p){Ne(0),this.W=o,this.H=u||{},h&&p!==void 0&&(this.H.OSID=h,this.H.OAID=p),this.F=this.X,this.I=Qf(this,null,this.W),Ni(this)};function tc(o){if(jf(o),o.G==3){var u=o.U++,h=It(o.I);if(ne(h,"SID",o.K),ne(h,"RID",u),ne(h,"TYPE","terminate"),Xr(o,h),u=new Wt(o,o.j,u),u.L=2,u.v=bi(It(h)),h=!1,c.navigator&&c.navigator.sendBeacon)try{h=c.navigator.sendBeacon(u.v.toString(),"")}catch{}!h&&c.Image&&(new Image().src=u.v,h=!0),h||(u.g=Xf(u.j,null),u.g.ea(u.v)),u.F=Date.now(),Ii(u)}Kf(o)}function ki(o){o.g&&(rc(o),o.g.cancel(),o.g=null)}function jf(o){ki(o),o.u&&(c.clearTimeout(o.u),o.u=null),Di(o),o.h.cancel(),o.s&&(typeof o.s=="number"&&c.clearTimeout(o.s),o.s=null)}function Ni(o){if(!wf(o.h)&&!o.s){o.s=!0;var u=o.Ga;Lr||Zd(),Mr||(Lr(),Mr=!0),La.add(u,o),o.B=0}}function oA(o,u){return If(o.h)>=o.h.j-(o.s?1:0)?!1:o.s?(o.i=u.D.concat(o.i),!0):o.G==1||o.G==2||o.B>=(o.Va?0:o.Wa)?!1:(o.s=jr(v(o.Ga,o,u),Gf(o,o.B)),o.B++,!0)}n.Ga=function(o){if(this.s)if(this.s=null,this.G==1){if(!o){this.U=Math.floor(1e5*Math.random()),o=this.U++;const I=new Wt(this,this.j,o);let b=this.o;if(this.S&&(b?(b=g(b),E(b,this.S)):b=this.S),this.m!==null||this.O||(I.H=b,b=null),this.P)e:{for(var u=0,h=0;h<this.i.length;h++){t:{var p=this.i[h];if("__data__"in p.map&&(p=p.map.__data__,typeof p=="string")){p=p.length;break t}p=void 0}if(p===void 0)break;if(u+=p,4096<u){u=h;break e}if(u===4096||h===this.i.length-1){u=h+1;break e}}u=1e3}else u=1e3;u=$f(this,I,u),h=It(this.I),ne(h,"RID",o),ne(h,"CVER",22),this.D&&ne(h,"X-HTTP-Session-Id",this.D),Xr(this,h),b&&(this.O?u="headers="+encodeURIComponent(String(Vf(b)))+"&"+u:this.m&&ec(h,this.m,b)),Za(this.h,I),this.Ua&&ne(h,"TYPE","init"),this.P?(ne(h,"$req",u),ne(h,"SID","null"),I.T=!0,Qa(I,h,null)):Qa(I,h,u),this.G=2}}else this.G==3&&(o?qf(this,o):this.i.length==0||wf(this.h)||qf(this))};function qf(o,u){var h;u?h=u.l:h=o.U++;const p=It(o.I);ne(p,"SID",o.K),ne(p,"RID",h),ne(p,"AID",o.T),Xr(o,p),o.m&&o.o&&ec(p,o.m,o.o),h=new Wt(o,o.j,h,o.B+1),o.m===null&&(h.H=o.o),u&&(o.i=u.D.concat(o.i)),u=$f(o,h,1e3),h.I=Math.round(.5*o.wa)+Math.round(.5*o.wa*Math.random()),Za(o.h,h),Qa(h,p,u)}function Xr(o,u){o.H&&J(o.H,function(h,p){ne(u,p,h)}),o.l&&bf({},function(h,p){ne(u,p,h)})}function $f(o,u,h){h=Math.min(o.i.length,h);var p=o.l?v(o.l.Na,o.l,o):null;e:{var I=o.i;let b=-1;for(;;){const D=["count="+h];b==-1?0<h?(b=I[0].g,D.push("ofs="+b)):b=0:D.push("ofs="+b);let Z=!0;for(let ve=0;ve<h;ve++){let Q=I[ve].g;const Pe=I[ve].map;if(Q-=b,0>Q)b=Math.max(0,I[ve].g-100),Z=!1;else try{nA(Pe,D,"req"+Q+"_")}catch{p&&p(Pe)}}if(Z){p=D.join("&");break e}}}return o=o.i.splice(0,h),u.D=o,p}function Hf(o){if(!o.g&&!o.u){o.Y=1;var u=o.Fa;Lr||Zd(),Mr||(Lr(),Mr=!0),La.add(u,o),o.v=0}}function nc(o){return o.g||o.u||3<=o.v?!1:(o.Y++,o.u=jr(v(o.Fa,o),Gf(o,o.v)),o.v++,!0)}n.Fa=function(){if(this.u=null,zf(this),this.ba&&!(this.M||this.g==null||0>=this.R)){var o=2*this.R;this.j.info("BP detection timer enabled: "+o),this.A=jr(v(this.ab,this),o)}},n.ab=function(){this.A&&(this.A=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.M=!0,Ne(10),ki(this),zf(this))};function rc(o){o.A!=null&&(c.clearTimeout(o.A),o.A=null)}function zf(o){o.g=new Wt(o,o.j,"rpc",o.Y),o.m===null&&(o.g.H=o.o),o.g.O=0;var u=It(o.qa);ne(u,"RID","rpc"),ne(u,"SID",o.K),ne(u,"AID",o.T),ne(u,"CI",o.F?"0":"1"),!o.F&&o.ja&&ne(u,"TO",o.ja),ne(u,"TYPE","xmlhttp"),Xr(o,u),o.m&&o.o&&ec(u,o.m,o.o),o.L&&(o.g.I=o.L);var h=o.g;o=o.ia,h.L=1,h.v=bi(It(u)),h.m=null,h.P=!0,yf(h,o)}n.Za=function(){this.C!=null&&(this.C=null,ki(this),nc(this),Ne(19))};function Di(o){o.C!=null&&(c.clearTimeout(o.C),o.C=null)}function Wf(o,u){var h=null;if(o.g==u){Di(o),rc(o),o.g=null;var p=2}else if(Ja(o.h,u))h=u.D,Af(o.h,u),p=1;else return;if(o.G!=0){if(u.o)if(p==1){h=u.m?u.m.length:0,u=Date.now()-u.F;var I=o.B;p=Ei(),ke(p,new pf(p,h)),Ni(o)}else Hf(o);else if(I=u.s,I==3||I==0&&0<u.X||!(p==1&&oA(o,u)||p==2&&nc(o)))switch(h&&0<h.length&&(u=o.h,u.i=u.i.concat(h)),I){case 1:pn(o,5);break;case 4:pn(o,10);break;case 3:pn(o,6);break;default:pn(o,2)}}}function Gf(o,u){let h=o.Ta+Math.floor(Math.random()*o.cb);return o.isActive()||(h*=2),h*u}function pn(o,u){if(o.j.info("Error code "+u),u==2){var h=v(o.fb,o),p=o.Xa;const I=!p;p=new fn(p||"//www.google.com/images/cleardot.gif"),c.location&&c.location.protocol=="http"||Ai(p,"https"),bi(p),I?ZI(p.toString(),h):eA(p.toString(),h)}else Ne(2);o.G=0,o.l&&o.l.sa(u),Kf(o),jf(o)}n.fb=function(o){o?(this.j.info("Successfully pinged google.com"),Ne(2)):(this.j.info("Failed to ping google.com"),Ne(1))};function Kf(o){if(o.G=0,o.ka=[],o.l){const u=Rf(o.h);(u.length!=0||o.i.length!=0)&&(k(o.ka,u),k(o.ka,o.i),o.h.i.length=0,N(o.i),o.i.length=0),o.l.ra()}}function Qf(o,u,h){var p=h instanceof fn?It(h):new fn(h);if(p.g!="")u&&(p.g=u+"."+p.g),Ri(p,p.s);else{var I=c.location;p=I.protocol,u=u?u+"."+I.hostname:I.hostname,I=+I.port;var b=new fn(null);p&&Ai(b,p),u&&(b.g=u),I&&Ri(b,I),h&&(b.l=h),p=b}return h=o.D,u=o.ya,h&&u&&ne(p,h,u),ne(p,"VER",o.la),Xr(o,p),p}function Xf(o,u,h){if(u&&!o.J)throw Error("Can't create secondary domain capable XhrIo object.");return u=o.Ca&&!o.pa?new ie(new Pi({eb:h})):new ie(o.pa),u.Ha(o.J),u}n.isActive=function(){return!!this.l&&this.l.isActive(this)};function Yf(){}n=Yf.prototype,n.ua=function(){},n.ta=function(){},n.sa=function(){},n.ra=function(){},n.isActive=function(){return!0},n.Na=function(){};function Oi(){}Oi.prototype.g=function(o,u){return new je(o,u)};function je(o,u){be.call(this),this.g=new Bf(u),this.l=o,this.h=u&&u.messageUrlParams||null,o=u&&u.messageHeaders||null,u&&u.clientProtocolHeaderRequired&&(o?o["X-Client-Protocol"]="webchannel":o={"X-Client-Protocol":"webchannel"}),this.g.o=o,o=u&&u.initMessageHeaders||null,u&&u.messageContentType&&(o?o["X-WebChannel-Content-Type"]=u.messageContentType:o={"X-WebChannel-Content-Type":u.messageContentType}),u&&u.va&&(o?o["X-WebChannel-Client-Profile"]=u.va:o={"X-WebChannel-Client-Profile":u.va}),this.g.S=o,(o=u&&u.Sb)&&!$(o)&&(this.g.m=o),this.v=u&&u.supportsCrossDomainXhr||!1,this.u=u&&u.sendRawJson||!1,(u=u&&u.httpSessionIdParam)&&!$(u)&&(this.g.D=u,o=this.h,o!==null&&u in o&&(o=this.h,u in o&&delete o[u])),this.j=new Kn(this)}S(je,be),je.prototype.m=function(){this.g.l=this.j,this.v&&(this.g.J=!0),this.g.connect(this.l,this.h||void 0)},je.prototype.close=function(){tc(this.g)},je.prototype.o=function(o){var u=this.g;if(typeof o=="string"){var h={};h.__data__=o,o=h}else this.u&&(h={},h.__data__=$a(o),o=h);u.i.push(new $I(u.Ya++,o)),u.G==3&&Ni(u)},je.prototype.N=function(){this.g.l=null,delete this.j,tc(this.g),delete this.g,je.aa.N.call(this)};function Jf(o){za.call(this),o.__headers__&&(this.headers=o.__headers__,this.statusCode=o.__status__,delete o.__headers__,delete o.__status__);var u=o.__sm__;if(u){e:{for(const h in u){o=h;break e}o=void 0}(this.i=o)&&(o=this.i,u=u!==null&&o in u?u[o]:void 0),this.data=u}else this.data=o}S(Jf,za);function Zf(){Wa.call(this),this.status=1}S(Zf,Wa);function Kn(o){this.g=o}S(Kn,Yf),Kn.prototype.ua=function(){ke(this.g,"a")},Kn.prototype.ta=function(o){ke(this.g,new Jf(o))},Kn.prototype.sa=function(o){ke(this.g,new Zf)},Kn.prototype.ra=function(){ke(this.g,"b")},Oi.prototype.createWebChannel=Oi.prototype.g,je.prototype.send=je.prototype.o,je.prototype.open=je.prototype.m,je.prototype.close=je.prototype.close,Nc=function(){return new Oi},kc=function(){return Ei()},Cc=hn,Ki={mb:0,pb:1,qb:2,Jb:3,Ob:4,Lb:5,Mb:6,Kb:7,Ib:8,Nb:9,PROXY:10,NOPROXY:11,Gb:12,Cb:13,Db:14,Bb:15,Eb:16,Fb:17,ib:18,hb:19,jb:20},Ti.NO_ERROR=0,Ti.TIMEOUT=8,Ti.HTTP_ERROR=6,rs=Ti,mf.COMPLETE="complete",Sc=mf,lf.EventType=Fr,Fr.OPEN="a",Fr.CLOSE="b",Fr.ERROR="c",Fr.MESSAGE="d",be.prototype.listen=be.prototype.K,sr=lf,ie.prototype.listenOnce=ie.prototype.L,ie.prototype.getLastError=ie.prototype.Ka,ie.prototype.getLastErrorCode=ie.prototype.Ba,ie.prototype.getStatus=ie.prototype.Z,ie.prototype.getResponseJson=ie.prototype.Oa,ie.prototype.getResponseText=ie.prototype.oa,ie.prototype.send=ie.prototype.ea,ie.prototype.setWithCredentials=ie.prototype.Ha,Pc=ie}).apply(typeof ns<"u"?ns:typeof self<"u"?self:typeof window<"u"?window:{});const Dc="@firebase/firestore",Oc="4.7.8";/**
364
+ `+b+" "+D})}function Wn(o,u,h,p){o.info(function(){return"XMLHTTP TEXT ("+u+"): "+qI(o,h)+(p?" "+p:"")})}function jI(o,u){o.info(function(){return"TIMEOUT: "+u})}$r.prototype.info=function(){};function qI(o,u){if(!o.g)return u;if(!u)return null;try{var h=JSON.parse(u);if(h){for(o=0;o<h.length;o++)if(Array.isArray(h[o])){var p=h[o];if(!(2>p.length)){var I=p[1];if(Array.isArray(I)&&!(1>I.length)){var b=I[0];if(b!="noop"&&b!="stop"&&b!="close")for(var D=1;D<I.length;D++)I[D]=""}}}}return $a(h)}catch{return u}}var Ti={NO_ERROR:0,gb:1,tb:2,sb:3,nb:4,rb:5,ub:6,Ia:7,TIMEOUT:8,xb:9},gf={lb:"complete",Hb:"success",Ja:"error",Ia:"abort",zb:"ready",Ab:"readystatechange",TIMEOUT:"timeout",vb:"incrementaldata",yb:"progress",ob:"downloadprogress",Pb:"uploadprogress"},Ga;function wi(){}S(wi,Ha),wi.prototype.g=function(){return new XMLHttpRequest},wi.prototype.i=function(){return{}},Ga=new wi;function Wt(o,u,h,p){this.j=o,this.i=u,this.l=h,this.R=p||1,this.U=new Fr(this),this.I=45e3,this.H=null,this.o=!1,this.m=this.A=this.v=this.L=this.F=this.S=this.B=null,this.D=[],this.g=null,this.C=0,this.s=this.u=null,this.X=-1,this.J=!1,this.O=0,this.M=null,this.W=this.K=this.T=this.P=!1,this.h=new _f}function _f(){this.i=null,this.g="",this.h=!1}var yf={},Ka={};function Qa(o,u,h){o.L=1,o.v=bi(It(u)),o.m=h,o.P=!0,vf(o,null)}function vf(o,u){o.F=Date.now(),Ii(o),o.A=It(o.v);var h=o.A,p=o.R;Array.isArray(p)||(p=[String(p)]),Of(h.i,"t",p),o.C=0,h=o.j.J,o.h=new _f,o.g=Yf(o.j,h?u:null,!o.m),0<o.O&&(o.M=new MI(v(o.Y,o,o.g),o.O)),u=o.U,h=o.g,p=o.ca;var I="readystatechange";Array.isArray(I)||(I&&(cf[0]=I.toString()),I=cf);for(var b=0;b<I.length;b++){var D=tf(h,I[b],p||u.handleEvent,!1,u.h||u);if(!D)break;u.g[D.key]=D}u=o.H?g(o.H):{},o.m?(o.u||(o.u="POST"),u["Content-Type"]="application/x-www-form-urlencoded",o.g.ea(o.A,o.u,o.m,u)):(o.u="GET",o.g.ea(o.A,o.u,null,u)),jr(),FI(o.i,o.u,o.A,o.l,o.R,o.m)}Wt.prototype.ca=function(o){o=o.target;const u=this.M;u&&At(o)==3?u.j():this.Y(o)},Wt.prototype.Y=function(o){try{if(o==this.g)e:{const Se=At(this.g);var u=this.g.Ba();const Qn=this.g.Z();if(!(3>Se)&&(Se!=3||this.g&&(this.h.h||this.g.oa()||Bf(this.g)))){this.J||Se!=4||u==7||(u==8||0>=Qn?jr(3):jr(2)),Xa(this);var h=this.g.Z();this.X=h;t:if(Ef(this)){var p=Bf(this.g);o="";var I=p.length,b=At(this.g)==4;if(!this.h.i){if(typeof TextDecoder>"u"){fn(this),Hr(this);var D="";break t}this.h.i=new c.TextDecoder}for(u=0;u<I;u++)this.h.h=!0,o+=this.h.i.decode(p[u],{stream:!(b&&u==I-1)});p.length=0,this.h.g+=o,this.C=0,D=this.h.g}else D=this.g.oa();if(this.o=h==200,BI(this.i,this.u,this.A,this.l,this.R,Se,h),this.o){if(this.T&&!this.K){t:{if(this.g){var Z,ve=this.g;if((Z=ve.g?ve.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!$(Z)){var Q=Z;break t}}Q=null}if(h=Q)Wn(this.i,this.l,h,"Initial handshake response via X-HTTP-Initial-Response"),this.K=!0,Ya(this,h);else{this.o=!1,this.s=3,Ne(12),fn(this),Hr(this);break e}}if(this.P){h=!0;let Je;for(;!this.J&&this.C<D.length;)if(Je=$I(this,D),Je==Ka){Se==4&&(this.s=4,Ne(14),h=!1),Wn(this.i,this.l,null,"[Incomplete Response]");break}else if(Je==yf){this.s=4,Ne(15),Wn(this.i,this.l,D,"[Invalid Chunk]"),h=!1;break}else Wn(this.i,this.l,Je,null),Ya(this,Je);if(Ef(this)&&this.C!=0&&(this.h.g=this.h.g.slice(this.C),this.C=0),Se!=4||D.length!=0||this.h.h||(this.s=1,Ne(16),h=!1),this.o=this.o&&h,!h)Wn(this.i,this.l,D,"[Invalid Chunked Response]"),fn(this),Hr(this);else if(0<D.length&&!this.W){this.W=!0;var Pe=this.j;Pe.g==this&&Pe.ba&&!Pe.M&&(Pe.j.info("Great, no buffering proxy detected. Bytes received: "+D.length),rc(Pe),Pe.M=!0,Ne(11))}}else Wn(this.i,this.l,D,null),Ya(this,D);Se==4&&fn(this),this.o&&!this.J&&(Se==4?Gf(this.j,this):(this.o=!1,Ii(this)))}else oA(this.g),h==400&&0<D.indexOf("Unknown SID")?(this.s=3,Ne(12)):(this.s=0,Ne(13)),fn(this),Hr(this)}}}catch{}finally{}};function Ef(o){return o.g?o.u=="GET"&&o.L!=2&&o.j.Ca:!1}function $I(o,u){var h=o.C,p=u.indexOf(`
365
+ `,h);return p==-1?Ka:(h=Number(u.substring(h,p)),isNaN(h)?yf:(p+=1,p+h>u.length?Ka:(u=u.slice(p,p+h),o.C=p+h,u)))}Wt.prototype.cancel=function(){this.J=!0,fn(this)};function Ii(o){o.S=Date.now()+o.I,Tf(o,o.I)}function Tf(o,u){if(o.B!=null)throw Error("WatchDog timer not null");o.B=qr(v(o.ba,o),u)}function Xa(o){o.B&&(c.clearTimeout(o.B),o.B=null)}Wt.prototype.ba=function(){this.B=null;const o=Date.now();0<=o-this.S?(jI(this.i,this.A),this.L!=2&&(jr(),Ne(17)),fn(this),this.s=2,Hr(this)):Tf(this,this.S-o)};function Hr(o){o.j.G==0||o.J||Gf(o.j,o)}function fn(o){Xa(o);var u=o.M;u&&typeof u.ma=="function"&&u.ma(),o.M=null,uf(o.U),o.g&&(u=o.g,o.g=null,u.abort(),u.ma())}function Ya(o,u){try{var h=o.j;if(h.G!=0&&(h.g==o||Ja(h.h,o))){if(!o.K&&Ja(h.h,o)&&h.G==3){try{var p=h.Da.g.parse(u)}catch{p=null}if(Array.isArray(p)&&p.length==3){var I=p;if(I[0]==0){e:if(!h.u){if(h.g)if(h.g.F+3e3<o.F)Di(h),ki(h);else break e;nc(h),Ne(18)}}else h.za=I[1],0<h.za-h.T&&37500>I[2]&&h.F&&h.v==0&&!h.C&&(h.C=qr(v(h.Za,h),6e3));if(1>=Af(h.h)&&h.ca){try{h.ca()}catch{}h.ca=void 0}}else mn(h,11)}else if((o.K||h.g==o)&&Di(h),!$(u))for(I=h.Da.g.parse(u),u=0;u<I.length;u++){let Q=I[u];if(h.T=Q[0],Q=Q[1],h.G==2)if(Q[0]=="c"){h.K=Q[1],h.ia=Q[2];const Pe=Q[3];Pe!=null&&(h.la=Pe,h.j.info("VER="+h.la));const Se=Q[4];Se!=null&&(h.Aa=Se,h.j.info("SVER="+h.Aa));const Qn=Q[5];Qn!=null&&typeof Qn=="number"&&0<Qn&&(p=1.5*Qn,h.L=p,h.j.info("backChannelRequestTimeoutMs_="+p)),p=h;const Je=o.g;if(Je){const Vi=Je.g?Je.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(Vi){var b=p.h;b.g||Vi.indexOf("spdy")==-1&&Vi.indexOf("quic")==-1&&Vi.indexOf("h2")==-1||(b.j=b.l,b.g=new Set,b.h&&(Za(b,b.h),b.h=null))}if(p.D){const sc=Je.g?Je.g.getResponseHeader("X-HTTP-Session-Id"):null;sc&&(p.ya=sc,ne(p.I,p.D,sc))}}h.G=3,h.l&&h.l.ua(),h.ba&&(h.R=Date.now()-o.F,h.j.info("Handshake RTT: "+h.R+"ms")),p=h;var D=o;if(p.qa=Xf(p,p.J?p.ia:null,p.W),D.K){Rf(p.h,D);var Z=D,ve=p.L;ve&&(Z.I=ve),Z.B&&(Xa(Z),Ii(Z)),p.g=D}else zf(p);0<h.i.length&&Ni(h)}else Q[0]!="stop"&&Q[0]!="close"||mn(h,7);else h.G==3&&(Q[0]=="stop"||Q[0]=="close"?Q[0]=="stop"?mn(h,7):tc(h):Q[0]!="noop"&&h.l&&h.l.ta(Q),h.v=0)}}jr(4)}catch{}}var HI=class{constructor(o,u){this.g=o,this.map=u}};function wf(o){this.l=o||10,c.PerformanceNavigationTiming?(o=c.performance.getEntriesByType("navigation"),o=0<o.length&&(o[0].nextHopProtocol=="hq"||o[0].nextHopProtocol=="h2")):o=!!(c.chrome&&c.chrome.loadTimes&&c.chrome.loadTimes()&&c.chrome.loadTimes().wasFetchedViaSpdy),this.j=o?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function If(o){return o.h?!0:o.g?o.g.size>=o.j:!1}function Af(o){return o.h?1:o.g?o.g.size:0}function Ja(o,u){return o.h?o.h==u:o.g?o.g.has(u):!1}function Za(o,u){o.g?o.g.add(u):o.h=u}function Rf(o,u){o.h&&o.h==u?o.h=null:o.g&&o.g.has(u)&&o.g.delete(u)}wf.prototype.cancel=function(){if(this.i=bf(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){for(const o of this.g.values())o.cancel();this.g.clear()}};function bf(o){if(o.h!=null)return o.i.concat(o.h.D);if(o.g!=null&&o.g.size!==0){let u=o.i;for(const h of o.g.values())u=u.concat(h.D);return u}return N(o.i)}function zI(o){if(o.V&&typeof o.V=="function")return o.V();if(typeof Map<"u"&&o instanceof Map||typeof Set<"u"&&o instanceof Set)return Array.from(o.values());if(typeof o=="string")return o.split("");if(l(o)){for(var u=[],h=o.length,p=0;p<h;p++)u.push(o[p]);return u}u=[],h=0;for(p in o)u[h++]=o[p];return u}function WI(o){if(o.na&&typeof o.na=="function")return o.na();if(!o.V||typeof o.V!="function"){if(typeof Map<"u"&&o instanceof Map)return Array.from(o.keys());if(!(typeof Set<"u"&&o instanceof Set)){if(l(o)||typeof o=="string"){var u=[];o=o.length;for(var h=0;h<o;h++)u.push(h);return u}u=[],h=0;for(const p in o)u[h++]=p;return u}}}function Pf(o,u){if(o.forEach&&typeof o.forEach=="function")o.forEach(u,void 0);else if(l(o)||typeof o=="string")Array.prototype.forEach.call(o,u,void 0);else for(var h=WI(o),p=zI(o),I=p.length,b=0;b<I;b++)u.call(void 0,p[b],h&&h[b],o)}var Sf=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function GI(o,u){if(o){o=o.split("&");for(var h=0;h<o.length;h++){var p=o[h].indexOf("="),I=null;if(0<=p){var b=o[h].substring(0,p);I=o[h].substring(p+1)}else b=o[h];u(b,I?decodeURIComponent(I.replace(/\+/g," ")):"")}}}function pn(o){if(this.g=this.o=this.j="",this.s=null,this.m=this.l="",this.h=!1,o instanceof pn){this.h=o.h,Ai(this,o.j),this.o=o.o,this.g=o.g,Ri(this,o.s),this.l=o.l;var u=o.i,h=new Gr;h.i=u.i,u.g&&(h.g=new Map(u.g),h.h=u.h),Cf(this,h),this.m=o.m}else o&&(u=String(o).match(Sf))?(this.h=!1,Ai(this,u[1]||"",!0),this.o=zr(u[2]||""),this.g=zr(u[3]||"",!0),Ri(this,u[4]),this.l=zr(u[5]||"",!0),Cf(this,u[6]||"",!0),this.m=zr(u[7]||"")):(this.h=!1,this.i=new Gr(null,this.h))}pn.prototype.toString=function(){var o=[],u=this.j;u&&o.push(Wr(u,kf,!0),":");var h=this.g;return(h||u=="file")&&(o.push("//"),(u=this.o)&&o.push(Wr(u,kf,!0),"@"),o.push(encodeURIComponent(String(h)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),h=this.s,h!=null&&o.push(":",String(h))),(h=this.l)&&(this.g&&h.charAt(0)!="/"&&o.push("/"),o.push(Wr(h,h.charAt(0)=="/"?XI:QI,!0))),(h=this.i.toString())&&o.push("?",h),(h=this.m)&&o.push("#",Wr(h,JI)),o.join("")};function It(o){return new pn(o)}function Ai(o,u,h){o.j=h?zr(u,!0):u,o.j&&(o.j=o.j.replace(/:$/,""))}function Ri(o,u){if(u){if(u=Number(u),isNaN(u)||0>u)throw Error("Bad port number "+u);o.s=u}else o.s=null}function Cf(o,u,h){u instanceof Gr?(o.i=u,ZI(o.i,o.h)):(h||(u=Wr(u,YI)),o.i=new Gr(u,o.h))}function ne(o,u,h){o.i.set(u,h)}function bi(o){return ne(o,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),o}function zr(o,u){return o?u?decodeURI(o.replace(/%25/g,"%2525")):decodeURIComponent(o):""}function Wr(o,u,h){return typeof o=="string"?(o=encodeURI(o).replace(u,KI),h&&(o=o.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),o):null}function KI(o){return o=o.charCodeAt(0),"%"+(o>>4&15).toString(16)+(o&15).toString(16)}var kf=/[#\/\?@]/g,QI=/[#\?:]/g,XI=/[#\?]/g,YI=/[#\?@]/g,JI=/#/g;function Gr(o,u){this.h=this.g=null,this.i=o||null,this.j=!!u}function Gt(o){o.g||(o.g=new Map,o.h=0,o.i&&GI(o.i,function(u,h){o.add(decodeURIComponent(u.replace(/\+/g," ")),h)}))}n=Gr.prototype,n.add=function(o,u){Gt(this),this.i=null,o=Gn(this,o);var h=this.g.get(o);return h||this.g.set(o,h=[]),h.push(u),this.h+=1,this};function Nf(o,u){Gt(o),u=Gn(o,u),o.g.has(u)&&(o.i=null,o.h-=o.g.get(u).length,o.g.delete(u))}function Df(o,u){return Gt(o),u=Gn(o,u),o.g.has(u)}n.forEach=function(o,u){Gt(this),this.g.forEach(function(h,p){h.forEach(function(I){o.call(u,I,p,this)},this)},this)},n.na=function(){Gt(this);const o=Array.from(this.g.values()),u=Array.from(this.g.keys()),h=[];for(let p=0;p<u.length;p++){const I=o[p];for(let b=0;b<I.length;b++)h.push(u[p])}return h},n.V=function(o){Gt(this);let u=[];if(typeof o=="string")Df(this,o)&&(u=u.concat(this.g.get(Gn(this,o))));else{o=Array.from(this.g.values());for(let h=0;h<o.length;h++)u=u.concat(o[h])}return u},n.set=function(o,u){return Gt(this),this.i=null,o=Gn(this,o),Df(this,o)&&(this.h-=this.g.get(o).length),this.g.set(o,[u]),this.h+=1,this},n.get=function(o,u){return o?(o=this.V(o),0<o.length?String(o[0]):u):u};function Of(o,u,h){Nf(o,u),0<h.length&&(o.i=null,o.g.set(Gn(o,u),N(h)),o.h+=h.length)}n.toString=function(){if(this.i)return this.i;if(!this.g)return"";const o=[],u=Array.from(this.g.keys());for(var h=0;h<u.length;h++){var p=u[h];const b=encodeURIComponent(String(p)),D=this.V(p);for(p=0;p<D.length;p++){var I=b;D[p]!==""&&(I+="="+encodeURIComponent(String(D[p]))),o.push(I)}}return this.i=o.join("&")};function Gn(o,u){return u=String(u),o.j&&(u=u.toLowerCase()),u}function ZI(o,u){u&&!o.j&&(Gt(o),o.i=null,o.g.forEach(function(h,p){var I=p.toLowerCase();p!=I&&(Nf(this,p),Of(this,I,h))},o)),o.j=u}function eA(o,u){const h=new $r;if(c.Image){const p=new Image;p.onload=R(Kt,h,"TestLoadImage: loaded",!0,u,p),p.onerror=R(Kt,h,"TestLoadImage: error",!1,u,p),p.onabort=R(Kt,h,"TestLoadImage: abort",!1,u,p),p.ontimeout=R(Kt,h,"TestLoadImage: timeout",!1,u,p),c.setTimeout(function(){p.ontimeout&&p.ontimeout()},1e4),p.src=o}else u(!1)}function tA(o,u){const h=new $r,p=new AbortController,I=setTimeout(()=>{p.abort(),Kt(h,"TestPingServer: timeout",!1,u)},1e4);fetch(o,{signal:p.signal}).then(b=>{clearTimeout(I),b.ok?Kt(h,"TestPingServer: ok",!0,u):Kt(h,"TestPingServer: server error",!1,u)}).catch(()=>{clearTimeout(I),Kt(h,"TestPingServer: error",!1,u)})}function Kt(o,u,h,p,I){try{I&&(I.onload=null,I.onerror=null,I.onabort=null,I.ontimeout=null),p(h)}catch{}}function nA(){this.g=new xI}function rA(o,u,h){const p=h||"";try{Pf(o,function(I,b){let D=I;d(I)&&(D=$a(I)),u.push(p+b+"="+encodeURIComponent(D))})}catch(I){throw u.push(p+"type="+encodeURIComponent("_badmap")),I}}function Pi(o){this.l=o.Ub||null,this.j=o.eb||!1}S(Pi,Ha),Pi.prototype.g=function(){return new Si(this.l,this.j)},Pi.prototype.i=function(o){return function(){return o}}({});function Si(o,u){be.call(this),this.D=o,this.o=u,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.u=new Headers,this.h=null,this.B="GET",this.A="",this.g=!1,this.v=this.j=this.l=null}S(Si,be),n=Si.prototype,n.open=function(o,u){if(this.readyState!=0)throw this.abort(),Error("Error reopening a connection");this.B=o,this.A=u,this.readyState=1,Qr(this)},n.send=function(o){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;const u={headers:this.u,method:this.B,credentials:this.m,cache:void 0};o&&(u.body=o),(this.D||c).fetch(new Request(this.A,u)).then(this.Sa.bind(this),this.ga.bind(this))},n.abort=function(){this.response=this.responseText="",this.u=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,Kr(this)),this.readyState=0},n.Sa=function(o){if(this.g&&(this.l=o,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=o.headers,this.readyState=2,Qr(this)),this.g&&(this.readyState=3,Qr(this),this.g)))if(this.responseType==="arraybuffer")o.arrayBuffer().then(this.Qa.bind(this),this.ga.bind(this));else if(typeof c.ReadableStream<"u"&&"body"in o){if(this.j=o.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.v=new TextDecoder;Vf(this)}else o.text().then(this.Ra.bind(this),this.ga.bind(this))};function Vf(o){o.j.read().then(o.Pa.bind(o)).catch(o.ga.bind(o))}n.Pa=function(o){if(this.g){if(this.o&&o.value)this.response.push(o.value);else if(!this.o){var u=o.value?o.value:new Uint8Array(0);(u=this.v.decode(u,{stream:!o.done}))&&(this.response=this.responseText+=u)}o.done?Kr(this):Qr(this),this.readyState==3&&Vf(this)}},n.Ra=function(o){this.g&&(this.response=this.responseText=o,Kr(this))},n.Qa=function(o){this.g&&(this.response=o,Kr(this))},n.ga=function(){this.g&&Kr(this)};function Kr(o){o.readyState=4,o.l=null,o.j=null,o.v=null,Qr(o)}n.setRequestHeader=function(o,u){this.u.append(o,u)},n.getResponseHeader=function(o){return this.h&&this.h.get(o.toLowerCase())||""},n.getAllResponseHeaders=function(){if(!this.h)return"";const o=[],u=this.h.entries();for(var h=u.next();!h.done;)h=h.value,o.push(h[0]+": "+h[1]),h=u.next();return o.join(`\r
366
+ `)};function Qr(o){o.onreadystatechange&&o.onreadystatechange.call(o)}Object.defineProperty(Si.prototype,"withCredentials",{get:function(){return this.m==="include"},set:function(o){this.m=o?"include":"same-origin"}});function Lf(o){let u="";return J(o,function(h,p){u+=p,u+=":",u+=h,u+=`\r
367
+ `}),u}function ec(o,u,h){e:{for(p in h){var p=!1;break e}p=!0}p||(h=Lf(h),typeof o=="string"?h!=null&&encodeURIComponent(String(h)):ne(o,u,h))}function ie(o){be.call(this),this.headers=new Map,this.o=o||null,this.h=!1,this.v=this.g=null,this.D="",this.m=0,this.l="",this.j=this.B=this.u=this.A=!1,this.I=null,this.H="",this.J=!1}S(ie,be);var sA=/^https?$/i,iA=["POST","PUT"];n=ie.prototype,n.Ha=function(o){this.J=o},n.ea=function(o,u,h,p){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+o);u=u?u.toUpperCase():"GET",this.D=o,this.l="",this.m=0,this.A=!1,this.h=!0,this.g=this.o?this.o.g():Ga.g(),this.v=this.o?lf(this.o):lf(Ga),this.g.onreadystatechange=v(this.Ea,this);try{this.B=!0,this.g.open(u,String(o),!0),this.B=!1}catch(b){Mf(this,b);return}if(o=h||"",h=new Map(this.headers),p)if(Object.getPrototypeOf(p)===Object.prototype)for(var I in p)h.set(I,p[I]);else if(typeof p.keys=="function"&&typeof p.get=="function")for(const b of p.keys())h.set(b,p.get(b));else throw Error("Unknown input type for opt_headers: "+String(p));p=Array.from(h.keys()).find(b=>b.toLowerCase()=="content-type"),I=c.FormData&&o instanceof c.FormData,!(0<=Array.prototype.indexOf.call(iA,u,void 0))||p||I||h.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(const[b,D]of h)this.g.setRequestHeader(b,D);this.H&&(this.g.responseType=this.H),"withCredentials"in this.g&&this.g.withCredentials!==this.J&&(this.g.withCredentials=this.J);try{Ff(this),this.u=!0,this.g.send(o),this.u=!1}catch(b){Mf(this,b)}};function Mf(o,u){o.h=!1,o.g&&(o.j=!0,o.g.abort(),o.j=!1),o.l=u,o.m=5,Uf(o),Ci(o)}function Uf(o){o.A||(o.A=!0,ke(o,"complete"),ke(o,"error"))}n.abort=function(o){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.m=o||7,ke(this,"complete"),ke(this,"abort"),Ci(this))},n.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),Ci(this,!0)),ie.aa.N.call(this)},n.Ea=function(){this.s||(this.B||this.u||this.j?xf(this):this.bb())},n.bb=function(){xf(this)};function xf(o){if(o.h&&typeof a<"u"&&(!o.v[1]||At(o)!=4||o.Z()!=2)){if(o.u&&At(o)==4)of(o.Ea,0,o);else if(ke(o,"readystatechange"),At(o)==4){o.h=!1;try{const D=o.Z();e:switch(D){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var u=!0;break e;default:u=!1}var h;if(!(h=u)){var p;if(p=D===0){var I=String(o.D).match(Sf)[1]||null;!I&&c.self&&c.self.location&&(I=c.self.location.protocol.slice(0,-1)),p=!sA.test(I?I.toLowerCase():"")}h=p}if(h)ke(o,"complete"),ke(o,"success");else{o.m=6;try{var b=2<At(o)?o.g.statusText:""}catch{b=""}o.l=b+" ["+o.Z()+"]",Uf(o)}}finally{Ci(o)}}}}function Ci(o,u){if(o.g){Ff(o);const h=o.g,p=o.v[0]?()=>{}:null;o.g=null,o.v=null,u||ke(o,"ready");try{h.onreadystatechange=p}catch{}}}function Ff(o){o.I&&(c.clearTimeout(o.I),o.I=null)}n.isActive=function(){return!!this.g};function At(o){return o.g?o.g.readyState:0}n.Z=function(){try{return 2<At(this)?this.g.status:-1}catch{return-1}},n.oa=function(){try{return this.g?this.g.responseText:""}catch{return""}},n.Oa=function(o){if(this.g){var u=this.g.responseText;return o&&u.indexOf(o)==0&&(u=u.substring(o.length)),UI(u)}};function Bf(o){try{if(!o.g)return null;if("response"in o.g)return o.g.response;switch(o.H){case"":case"text":return o.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in o.g)return o.g.mozResponseArrayBuffer}return null}catch{return null}}function oA(o){const u={};o=(o.g&&2<=At(o)&&o.g.getAllResponseHeaders()||"").split(`\r
368
+ `);for(let p=0;p<o.length;p++){if($(o[p]))continue;var h=w(o[p]);const I=h[0];if(h=h[1],typeof h!="string")continue;h=h.trim();const b=u[I]||[];u[I]=b,b.push(h)}T(u,function(p){return p.join(", ")})}n.Ba=function(){return this.m},n.Ka=function(){return typeof this.l=="string"?this.l:String(this.l)};function Xr(o,u,h){return h&&h.internalChannelParams&&h.internalChannelParams[o]||u}function jf(o){this.Aa=0,this.i=[],this.j=new $r,this.ia=this.qa=this.I=this.W=this.g=this.ya=this.D=this.H=this.m=this.S=this.o=null,this.Ya=this.U=0,this.Va=Xr("failFast",!1,o),this.F=this.C=this.u=this.s=this.l=null,this.X=!0,this.za=this.T=-1,this.Y=this.v=this.B=0,this.Ta=Xr("baseRetryDelayMs",5e3,o),this.cb=Xr("retryDelaySeedMs",1e4,o),this.Wa=Xr("forwardChannelMaxRetries",2,o),this.wa=Xr("forwardChannelRequestTimeoutMs",2e4,o),this.pa=o&&o.xmlHttpFactory||void 0,this.Xa=o&&o.Tb||void 0,this.Ca=o&&o.useFetchStreams||!1,this.L=void 0,this.J=o&&o.supportsCrossDomainXhr||!1,this.K="",this.h=new wf(o&&o.concurrentRequestLimit),this.Da=new nA,this.P=o&&o.fastHandshake||!1,this.O=o&&o.encodeInitMessageHeaders||!1,this.P&&this.O&&(this.O=!1),this.Ua=o&&o.Rb||!1,o&&o.xa&&this.j.xa(),o&&o.forceLongPolling&&(this.X=!1),this.ba=!this.P&&this.X&&o&&o.detectBufferingProxy||!1,this.ja=void 0,o&&o.longPollingTimeout&&0<o.longPollingTimeout&&(this.ja=o.longPollingTimeout),this.ca=void 0,this.R=0,this.M=!1,this.ka=this.A=null}n=jf.prototype,n.la=8,n.G=1,n.connect=function(o,u,h,p){Ne(0),this.W=o,this.H=u||{},h&&p!==void 0&&(this.H.OSID=h,this.H.OAID=p),this.F=this.X,this.I=Xf(this,null,this.W),Ni(this)};function tc(o){if(qf(o),o.G==3){var u=o.U++,h=It(o.I);if(ne(h,"SID",o.K),ne(h,"RID",u),ne(h,"TYPE","terminate"),Yr(o,h),u=new Wt(o,o.j,u),u.L=2,u.v=bi(It(h)),h=!1,c.navigator&&c.navigator.sendBeacon)try{h=c.navigator.sendBeacon(u.v.toString(),"")}catch{}!h&&c.Image&&(new Image().src=u.v,h=!0),h||(u.g=Yf(u.j,null),u.g.ea(u.v)),u.F=Date.now(),Ii(u)}Qf(o)}function ki(o){o.g&&(rc(o),o.g.cancel(),o.g=null)}function qf(o){ki(o),o.u&&(c.clearTimeout(o.u),o.u=null),Di(o),o.h.cancel(),o.s&&(typeof o.s=="number"&&c.clearTimeout(o.s),o.s=null)}function Ni(o){if(!If(o.h)&&!o.s){o.s=!0;var u=o.Ga;Mr||ef(),Ur||(Mr(),Ur=!0),La.add(u,o),o.B=0}}function aA(o,u){return Af(o.h)>=o.h.j-(o.s?1:0)?!1:o.s?(o.i=u.D.concat(o.i),!0):o.G==1||o.G==2||o.B>=(o.Va?0:o.Wa)?!1:(o.s=qr(v(o.Ga,o,u),Kf(o,o.B)),o.B++,!0)}n.Ga=function(o){if(this.s)if(this.s=null,this.G==1){if(!o){this.U=Math.floor(1e5*Math.random()),o=this.U++;const I=new Wt(this,this.j,o);let b=this.o;if(this.S&&(b?(b=g(b),E(b,this.S)):b=this.S),this.m!==null||this.O||(I.H=b,b=null),this.P)e:{for(var u=0,h=0;h<this.i.length;h++){t:{var p=this.i[h];if("__data__"in p.map&&(p=p.map.__data__,typeof p=="string")){p=p.length;break t}p=void 0}if(p===void 0)break;if(u+=p,4096<u){u=h;break e}if(u===4096||h===this.i.length-1){u=h+1;break e}}u=1e3}else u=1e3;u=Hf(this,I,u),h=It(this.I),ne(h,"RID",o),ne(h,"CVER",22),this.D&&ne(h,"X-HTTP-Session-Id",this.D),Yr(this,h),b&&(this.O?u="headers="+encodeURIComponent(String(Lf(b)))+"&"+u:this.m&&ec(h,this.m,b)),Za(this.h,I),this.Ua&&ne(h,"TYPE","init"),this.P?(ne(h,"$req",u),ne(h,"SID","null"),I.T=!0,Qa(I,h,null)):Qa(I,h,u),this.G=2}}else this.G==3&&(o?$f(this,o):this.i.length==0||If(this.h)||$f(this))};function $f(o,u){var h;u?h=u.l:h=o.U++;const p=It(o.I);ne(p,"SID",o.K),ne(p,"RID",h),ne(p,"AID",o.T),Yr(o,p),o.m&&o.o&&ec(p,o.m,o.o),h=new Wt(o,o.j,h,o.B+1),o.m===null&&(h.H=o.o),u&&(o.i=u.D.concat(o.i)),u=Hf(o,h,1e3),h.I=Math.round(.5*o.wa)+Math.round(.5*o.wa*Math.random()),Za(o.h,h),Qa(h,p,u)}function Yr(o,u){o.H&&J(o.H,function(h,p){ne(u,p,h)}),o.l&&Pf({},function(h,p){ne(u,p,h)})}function Hf(o,u,h){h=Math.min(o.i.length,h);var p=o.l?v(o.l.Na,o.l,o):null;e:{var I=o.i;let b=-1;for(;;){const D=["count="+h];b==-1?0<h?(b=I[0].g,D.push("ofs="+b)):b=0:D.push("ofs="+b);let Z=!0;for(let ve=0;ve<h;ve++){let Q=I[ve].g;const Pe=I[ve].map;if(Q-=b,0>Q)b=Math.max(0,I[ve].g-100),Z=!1;else try{rA(Pe,D,"req"+Q+"_")}catch{p&&p(Pe)}}if(Z){p=D.join("&");break e}}}return o=o.i.splice(0,h),u.D=o,p}function zf(o){if(!o.g&&!o.u){o.Y=1;var u=o.Fa;Mr||ef(),Ur||(Mr(),Ur=!0),La.add(u,o),o.v=0}}function nc(o){return o.g||o.u||3<=o.v?!1:(o.Y++,o.u=qr(v(o.Fa,o),Kf(o,o.v)),o.v++,!0)}n.Fa=function(){if(this.u=null,Wf(this),this.ba&&!(this.M||this.g==null||0>=this.R)){var o=2*this.R;this.j.info("BP detection timer enabled: "+o),this.A=qr(v(this.ab,this),o)}},n.ab=function(){this.A&&(this.A=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.M=!0,Ne(10),ki(this),Wf(this))};function rc(o){o.A!=null&&(c.clearTimeout(o.A),o.A=null)}function Wf(o){o.g=new Wt(o,o.j,"rpc",o.Y),o.m===null&&(o.g.H=o.o),o.g.O=0;var u=It(o.qa);ne(u,"RID","rpc"),ne(u,"SID",o.K),ne(u,"AID",o.T),ne(u,"CI",o.F?"0":"1"),!o.F&&o.ja&&ne(u,"TO",o.ja),ne(u,"TYPE","xmlhttp"),Yr(o,u),o.m&&o.o&&ec(u,o.m,o.o),o.L&&(o.g.I=o.L);var h=o.g;o=o.ia,h.L=1,h.v=bi(It(u)),h.m=null,h.P=!0,vf(h,o)}n.Za=function(){this.C!=null&&(this.C=null,ki(this),nc(this),Ne(19))};function Di(o){o.C!=null&&(c.clearTimeout(o.C),o.C=null)}function Gf(o,u){var h=null;if(o.g==u){Di(o),rc(o),o.g=null;var p=2}else if(Ja(o.h,u))h=u.D,Rf(o.h,u),p=1;else return;if(o.G!=0){if(u.o)if(p==1){h=u.m?u.m.length:0,u=Date.now()-u.F;var I=o.B;p=Ei(),ke(p,new mf(p,h)),Ni(o)}else zf(o);else if(I=u.s,I==3||I==0&&0<u.X||!(p==1&&aA(o,u)||p==2&&nc(o)))switch(h&&0<h.length&&(u=o.h,u.i=u.i.concat(h)),I){case 1:mn(o,5);break;case 4:mn(o,10);break;case 3:mn(o,6);break;default:mn(o,2)}}}function Kf(o,u){let h=o.Ta+Math.floor(Math.random()*o.cb);return o.isActive()||(h*=2),h*u}function mn(o,u){if(o.j.info("Error code "+u),u==2){var h=v(o.fb,o),p=o.Xa;const I=!p;p=new pn(p||"//www.google.com/images/cleardot.gif"),c.location&&c.location.protocol=="http"||Ai(p,"https"),bi(p),I?eA(p.toString(),h):tA(p.toString(),h)}else Ne(2);o.G=0,o.l&&o.l.sa(u),Qf(o),qf(o)}n.fb=function(o){o?(this.j.info("Successfully pinged google.com"),Ne(2)):(this.j.info("Failed to ping google.com"),Ne(1))};function Qf(o){if(o.G=0,o.ka=[],o.l){const u=bf(o.h);(u.length!=0||o.i.length!=0)&&(k(o.ka,u),k(o.ka,o.i),o.h.i.length=0,N(o.i),o.i.length=0),o.l.ra()}}function Xf(o,u,h){var p=h instanceof pn?It(h):new pn(h);if(p.g!="")u&&(p.g=u+"."+p.g),Ri(p,p.s);else{var I=c.location;p=I.protocol,u=u?u+"."+I.hostname:I.hostname,I=+I.port;var b=new pn(null);p&&Ai(b,p),u&&(b.g=u),I&&Ri(b,I),h&&(b.l=h),p=b}return h=o.D,u=o.ya,h&&u&&ne(p,h,u),ne(p,"VER",o.la),Yr(o,p),p}function Yf(o,u,h){if(u&&!o.J)throw Error("Can't create secondary domain capable XhrIo object.");return u=o.Ca&&!o.pa?new ie(new Pi({eb:h})):new ie(o.pa),u.Ha(o.J),u}n.isActive=function(){return!!this.l&&this.l.isActive(this)};function Jf(){}n=Jf.prototype,n.ua=function(){},n.ta=function(){},n.sa=function(){},n.ra=function(){},n.isActive=function(){return!0},n.Na=function(){};function Oi(){}Oi.prototype.g=function(o,u){return new je(o,u)};function je(o,u){be.call(this),this.g=new jf(u),this.l=o,this.h=u&&u.messageUrlParams||null,o=u&&u.messageHeaders||null,u&&u.clientProtocolHeaderRequired&&(o?o["X-Client-Protocol"]="webchannel":o={"X-Client-Protocol":"webchannel"}),this.g.o=o,o=u&&u.initMessageHeaders||null,u&&u.messageContentType&&(o?o["X-WebChannel-Content-Type"]=u.messageContentType:o={"X-WebChannel-Content-Type":u.messageContentType}),u&&u.va&&(o?o["X-WebChannel-Client-Profile"]=u.va:o={"X-WebChannel-Client-Profile":u.va}),this.g.S=o,(o=u&&u.Sb)&&!$(o)&&(this.g.m=o),this.v=u&&u.supportsCrossDomainXhr||!1,this.u=u&&u.sendRawJson||!1,(u=u&&u.httpSessionIdParam)&&!$(u)&&(this.g.D=u,o=this.h,o!==null&&u in o&&(o=this.h,u in o&&delete o[u])),this.j=new Kn(this)}S(je,be),je.prototype.m=function(){this.g.l=this.j,this.v&&(this.g.J=!0),this.g.connect(this.l,this.h||void 0)},je.prototype.close=function(){tc(this.g)},je.prototype.o=function(o){var u=this.g;if(typeof o=="string"){var h={};h.__data__=o,o=h}else this.u&&(h={},h.__data__=$a(o),o=h);u.i.push(new HI(u.Ya++,o)),u.G==3&&Ni(u)},je.prototype.N=function(){this.g.l=null,delete this.j,tc(this.g),delete this.g,je.aa.N.call(this)};function Zf(o){za.call(this),o.__headers__&&(this.headers=o.__headers__,this.statusCode=o.__status__,delete o.__headers__,delete o.__status__);var u=o.__sm__;if(u){e:{for(const h in u){o=h;break e}o=void 0}(this.i=o)&&(o=this.i,u=u!==null&&o in u?u[o]:void 0),this.data=u}else this.data=o}S(Zf,za);function ep(){Wa.call(this),this.status=1}S(ep,Wa);function Kn(o){this.g=o}S(Kn,Jf),Kn.prototype.ua=function(){ke(this.g,"a")},Kn.prototype.ta=function(o){ke(this.g,new Zf(o))},Kn.prototype.sa=function(o){ke(this.g,new ep)},Kn.prototype.ra=function(){ke(this.g,"b")},Oi.prototype.createWebChannel=Oi.prototype.g,je.prototype.send=je.prototype.o,je.prototype.open=je.prototype.m,je.prototype.close=je.prototype.close,Dc=function(){return new Oi},Nc=function(){return Ei()},kc=dn,Ki={mb:0,pb:1,qb:2,Jb:3,Ob:4,Lb:5,Mb:6,Kb:7,Ib:8,Nb:9,PROXY:10,NOPROXY:11,Gb:12,Cb:13,Db:14,Bb:15,Eb:16,Fb:17,ib:18,hb:19,jb:20},Ti.NO_ERROR=0,Ti.TIMEOUT=8,Ti.HTTP_ERROR=6,rs=Ti,gf.COMPLETE="complete",Cc=gf,hf.EventType=Br,Br.OPEN="a",Br.CLOSE="b",Br.ERROR="c",Br.MESSAGE="d",be.prototype.listen=be.prototype.K,ir=hf,ie.prototype.listenOnce=ie.prototype.L,ie.prototype.getLastError=ie.prototype.Ka,ie.prototype.getLastErrorCode=ie.prototype.Ba,ie.prototype.getStatus=ie.prototype.Z,ie.prototype.getResponseJson=ie.prototype.Oa,ie.prototype.getResponseText=ie.prototype.oa,ie.prototype.send=ie.prototype.ea,ie.prototype.setWithCredentials=ie.prototype.Ha,Sc=ie}).apply(typeof ns<"u"?ns:typeof self<"u"?self:typeof window<"u"?window:{});const Oc="@firebase/firestore",Vc="4.7.9";/**
384
369
  * @license
385
370
  * Copyright 2017 Google LLC
386
371
  *
@@ -410,7 +395,7 @@ SPDX-License-Identifier: Apache-2.0
410
395
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
411
396
  * See the License for the specific language governing permissions and
412
397
  * limitations under the License.
413
- */let gn="11.3.1";/**
398
+ */let gn="11.4.0";/**
414
399
  * @license
415
400
  * Copyright 2017 Google LLC
416
401
  *
@@ -425,7 +410,7 @@ SPDX-License-Identifier: Apache-2.0
425
410
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
426
411
  * See the License for the specific language governing permissions and
427
412
  * limitations under the License.
428
- */const Yt=new Ui("@firebase/firestore");function _n(){return Yt.logLevel}function V(n,...e){if(Yt.logLevel<=z.DEBUG){const t=e.map(Qi);Yt.debug(`Firestore (${gn}): ${n}`,...t)}}function ft(n,...e){if(Yt.logLevel<=z.ERROR){const t=e.map(Qi);Yt.error(`Firestore (${gn}): ${n}`,...t)}}function yn(n,...e){if(Yt.logLevel<=z.WARN){const t=e.map(Qi);Yt.warn(`Firestore (${gn}): ${n}`,...t)}}function Qi(n){if(typeof n=="string")return n;try{/**
413
+ */const Jt=new Ui("@firebase/firestore");function _n(){return Jt.logLevel}function V(n,...e){if(Jt.logLevel<=z.DEBUG){const t=e.map(Qi);Jt.debug(`Firestore (${gn}): ${n}`,...t)}}function ft(n,...e){if(Jt.logLevel<=z.ERROR){const t=e.map(Qi);Jt.error(`Firestore (${gn}): ${n}`,...t)}}function yn(n,...e){if(Jt.logLevel<=z.WARN){const t=e.map(Qi);Jt.warn(`Firestore (${gn}): ${n}`,...t)}}function Qi(n){if(typeof n=="string")return n;try{/**
429
414
  * @license
430
415
  * Copyright 2020 Google LLC
431
416
  *
@@ -500,7 +485,7 @@ SPDX-License-Identifier: Apache-2.0
500
485
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
501
486
  * See the License for the specific language governing permissions and
502
487
  * limitations under the License.
503
- */class Vc{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${e}`)}}class Om{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(we.UNAUTHENTICATED))}shutdown(){}}class Vm{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 Lm{constructor(e){this.t=e,this.currentUser=we.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(e,t){Y(this.o===void 0);let r=this.i;const s=l=>this.i!==r?(r=this.i,t(l)):Promise.resolve();let i=new Ze;this.o=()=>{this.i++,this.currentUser=this.u(),i.resolve(),i=new Ze,e.enqueueRetryable(()=>s(this.currentUser))};const a=()=>{const l=i;e.enqueueRetryable(async()=>{await l.promise,await s(this.currentUser)})},c=l=>{V("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=l,this.o&&(this.auth.addAuthTokenListener(this.o),a())};this.t.onInit(l=>c(l)),setTimeout(()=>{if(!this.auth){const l=this.t.getImmediate({optional:!0});l?c(l):(V("FirebaseAuthCredentialsProvider","Auth not yet detected"),i.resolve(),i=new Ze)}},0),a()}getToken(){const e=this.i,t=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(t).then(r=>this.i!==e?(V("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):r?(Y(typeof r.accessToken=="string"),new Vc(r.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(){const e=this.auth&&this.auth.getUid();return Y(e===null||typeof e=="string"),new we(e)}}class Mm{constructor(e,t,r){this.l=e,this.h=t,this.P=r,this.type="FirstParty",this.user=we.FIRST_PARTY,this.T=new Map}I(){return this.P?this.P():null}get headers(){this.T.set("X-Goog-AuthUser",this.l);const e=this.I();return e&&this.T.set("Authorization",e),this.h&&this.T.set("X-Goog-Iam-Authorization-Token",this.h),this.T}}class Um{constructor(e,t,r){this.l=e,this.h=t,this.P=r}getToken(){return Promise.resolve(new Mm(this.l,this.h,this.P))}start(e,t){e.enqueueRetryable(()=>t(we.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class Lc{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 xm{constructor(e,t){this.A=t,this.forceRefresh=!1,this.appCheck=null,this.R=null,this.V=null,Te(e)&&e.settings.appCheckToken&&(this.V=e.settings.appCheckToken)}start(e,t){Y(this.o===void 0);const r=i=>{i.error!=null&&V("FirebaseAppCheckTokenProvider",`Error getting App Check token; using placeholder token instead. Error: ${i.error.message}`);const a=i.token!==this.R;return this.R=i.token,V("FirebaseAppCheckTokenProvider",`Received ${a?"new":"existing"} token.`),a?t(i.token):Promise.resolve()};this.o=i=>{e.enqueueRetryable(()=>r(i))};const s=i=>{V("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=i,this.o&&this.appCheck.addTokenListener(this.o)};this.A.onInit(i=>s(i)),setTimeout(()=>{if(!this.appCheck){const i=this.A.getImmediate({optional:!0});i?s(i):V("FirebaseAppCheckTokenProvider","AppCheck not yet detected")}},0)}getToken(){if(this.V)return Promise.resolve(new Lc(this.V));const e=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(t=>t?(Y(typeof t.token=="string"),this.R=t.token,new Lc(t.token)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.o&&this.appCheck.removeTokenListener(this.o),this.o=void 0}}/**
488
+ */class Lc{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${e}`)}}class Vm{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(we.UNAUTHENTICATED))}shutdown(){}}class Lm{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 Mm{constructor(e){this.t=e,this.currentUser=we.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(e,t){Y(this.o===void 0);let r=this.i;const s=l=>this.i!==r?(r=this.i,t(l)):Promise.resolve();let i=new Ze;this.o=()=>{this.i++,this.currentUser=this.u(),i.resolve(),i=new Ze,e.enqueueRetryable(()=>s(this.currentUser))};const a=()=>{const l=i;e.enqueueRetryable(async()=>{await l.promise,await s(this.currentUser)})},c=l=>{V("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=l,this.o&&(this.auth.addAuthTokenListener(this.o),a())};this.t.onInit(l=>c(l)),setTimeout(()=>{if(!this.auth){const l=this.t.getImmediate({optional:!0});l?c(l):(V("FirebaseAuthCredentialsProvider","Auth not yet detected"),i.resolve(),i=new Ze)}},0),a()}getToken(){const e=this.i,t=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(t).then(r=>this.i!==e?(V("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):r?(Y(typeof r.accessToken=="string"),new Lc(r.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(){const e=this.auth&&this.auth.getUid();return Y(e===null||typeof e=="string"),new we(e)}}class Um{constructor(e,t,r){this.l=e,this.h=t,this.P=r,this.type="FirstParty",this.user=we.FIRST_PARTY,this.T=new Map}I(){return this.P?this.P():null}get headers(){this.T.set("X-Goog-AuthUser",this.l);const e=this.I();return e&&this.T.set("Authorization",e),this.h&&this.T.set("X-Goog-Iam-Authorization-Token",this.h),this.T}}class xm{constructor(e,t,r){this.l=e,this.h=t,this.P=r}getToken(){return Promise.resolve(new Um(this.l,this.h,this.P))}start(e,t){e.enqueueRetryable(()=>t(we.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class Mc{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 Fm{constructor(e,t){this.A=t,this.forceRefresh=!1,this.appCheck=null,this.R=null,this.V=null,Te(e)&&e.settings.appCheckToken&&(this.V=e.settings.appCheckToken)}start(e,t){Y(this.o===void 0);const r=i=>{i.error!=null&&V("FirebaseAppCheckTokenProvider",`Error getting App Check token; using placeholder token instead. Error: ${i.error.message}`);const a=i.token!==this.R;return this.R=i.token,V("FirebaseAppCheckTokenProvider",`Received ${a?"new":"existing"} token.`),a?t(i.token):Promise.resolve()};this.o=i=>{e.enqueueRetryable(()=>r(i))};const s=i=>{V("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=i,this.o&&this.appCheck.addTokenListener(this.o)};this.A.onInit(i=>s(i)),setTimeout(()=>{if(!this.appCheck){const i=this.A.getImmediate({optional:!0});i?s(i):V("FirebaseAppCheckTokenProvider","AppCheck not yet detected")}},0)}getToken(){if(this.V)return Promise.resolve(new Mc(this.V));const e=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(t=>t?(Y(typeof t.token=="string"),this.R=t.token,new Mc(t.token)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.o&&this.appCheck.removeTokenListener(this.o),this.o=void 0}}/**
504
489
  * @license
505
490
  * Copyright 2020 Google LLC
506
491
  *
@@ -515,7 +500,7 @@ SPDX-License-Identifier: Apache-2.0
515
500
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
516
501
  * See the License for the specific language governing permissions and
517
502
  * limitations under the License.
518
- */function Fm(n){const e=typeof self<"u"&&(self.crypto||self.msCrypto),t=new Uint8Array(n);if(e&&typeof e.getRandomValues=="function")e.getRandomValues(t);else for(let r=0;r<n;r++)t[r]=Math.floor(256*Math.random());return t}/**
503
+ */function Bm(n){const e=typeof self<"u"&&(self.crypto||self.msCrypto),t=new Uint8Array(n);if(e&&typeof e.getRandomValues=="function")e.getRandomValues(t);else for(let r=0;r<n;r++)t[r]=Math.floor(256*Math.random());return t}/**
519
504
  * @license
520
505
  * Copyright 2017 Google LLC
521
506
  *
@@ -530,7 +515,7 @@ SPDX-License-Identifier: Apache-2.0
530
515
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
531
516
  * See the License for the specific language governing permissions and
532
517
  * limitations under the License.
533
- */class Mc{static newId(){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=62*Math.floor(4.129032258064516);let r="";for(;r.length<20;){const s=Fm(40);for(let i=0;i<s.length;++i)r.length<20&&s[i]<t&&(r+=e.charAt(s[i]%62))}return r}}function G(n,e){return n<e?-1:n>e?1:0}function vn(n,e,t){return n.length===e.length&&n.every((r,s)=>t(r,e[s]))}/**
518
+ */class Uc{static newId(){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=62*Math.floor(4.129032258064516);let r="";for(;r.length<20;){const s=Bm(40);for(let i=0;i<s.length;++i)r.length<20&&s[i]<t&&(r+=e.charAt(s[i]%62))}return r}}function G(n,e){return n<e?-1:n>e?1:0}function vn(n,e,t){return n.length===e.length&&n.every((r,s)=>t(r,e[s]))}/**
534
519
  * @license
535
520
  * Copyright 2017 Google LLC
536
521
  *
@@ -545,7 +530,7 @@ SPDX-License-Identifier: Apache-2.0
545
530
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
546
531
  * See the License for the specific language governing permissions and
547
532
  * limitations under the License.
548
- */const Uc=-62135596800,xc=1e6;class ue{static now(){return ue.fromMillis(Date.now())}static fromDate(e){return ue.fromMillis(e.getTime())}static fromMillis(e){const t=Math.floor(e/1e3),r=Math.floor((e-1e3*t)*xc);return new ue(t,r)}constructor(e,t){if(this.seconds=e,this.nanoseconds=t,t<0)throw new O(P.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(t>=1e9)throw new O(P.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<Uc)throw new O(P.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e);if(e>=253402300800)throw new O(P.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/xc}_compareTo(e){return this.seconds===e.seconds?G(this.nanoseconds,e.nanoseconds):G(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{seconds:this.seconds,nanoseconds:this.nanoseconds}}valueOf(){const e=this.seconds-Uc;return String(e).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}/**
533
+ */const xc=-62135596800,Fc=1e6;class ue{static now(){return ue.fromMillis(Date.now())}static fromDate(e){return ue.fromMillis(e.getTime())}static fromMillis(e){const t=Math.floor(e/1e3),r=Math.floor((e-1e3*t)*Fc);return new ue(t,r)}constructor(e,t){if(this.seconds=e,this.nanoseconds=t,t<0)throw new O(P.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(t>=1e9)throw new O(P.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<xc)throw new O(P.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e);if(e>=253402300800)throw new O(P.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/Fc}_compareTo(e){return this.seconds===e.seconds?G(this.nanoseconds,e.nanoseconds):G(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{seconds:this.seconds,nanoseconds:this.nanoseconds}}valueOf(){const e=this.seconds-xc;return String(e).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}/**
549
534
  * @license
550
535
  * Copyright 2017 Google LLC
551
536
  *
@@ -575,7 +560,7 @@ SPDX-License-Identifier: Apache-2.0
575
560
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
576
561
  * See the License for the specific language governing permissions and
577
562
  * limitations under the License.
578
- */const Fc="__name__";class et{constructor(e,t,r){t===void 0?t=0:t>e.length&&F(),r===void 0?r=e.length-t:r>e.length-t&&F(),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return et.comparator(this,e)===0}child(e){const t=this.segments.slice(this.offset,this.limit());return e instanceof et?e.forEach(r=>{t.push(r)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return e=e===void 0?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 this.length===0}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){const r=Math.min(e.length,t.length);for(let s=0;s<r;s++){const i=et.compareSegments(e.get(s),t.get(s));if(i!==0)return i}return Math.sign(e.length-t.length)}static compareSegments(e,t){const r=et.isNumericId(e),s=et.isNumericId(t);return r&&!s?-1:!r&&s?1:r&&s?et.extractNumericId(e).compare(et.extractNumericId(t)):e<t?-1:e>t?1:0}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return St.fromString(e.substring(4,e.length-2))}}class ee extends et{construct(e,t,r){return new ee(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){const t=[];for(const r of e){if(r.indexOf("//")>=0)throw new O(P.INVALID_ARGUMENT,`Invalid segment (${r}). Paths must not contain // in them.`);t.push(...r.split("/").filter(s=>s.length>0))}return new ee(t)}static emptyPath(){return new ee([])}}const Bm=/^[_a-zA-Z][_a-zA-Z0-9]*$/;class me extends et{construct(e,t,r){return new me(e,t,r)}static isValidIdentifier(e){return Bm.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),me.isValidIdentifier(e)||(e="`"+e+"`"),e)).join(".")}toString(){return this.canonicalString()}isKeyField(){return this.length===1&&this.get(0)===Fc}static keyField(){return new me([Fc])}static fromServerFormat(e){const t=[];let r="",s=0;const i=()=>{if(r.length===0)throw new O(P.INVALID_ARGUMENT,`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);t.push(r),r=""};let a=!1;for(;s<e.length;){const c=e[s];if(c==="\\"){if(s+1===e.length)throw new O(P.INVALID_ARGUMENT,"Path has trailing escape character: "+e);const l=e[s+1];if(l!=="\\"&&l!=="."&&l!=="`")throw new O(P.INVALID_ARGUMENT,"Path has invalid escape sequence: "+e);r+=l,s+=2}else c==="`"?(a=!a,s++):c!=="."||a?(r+=c,s++):(i(),s++)}if(i(),a)throw new O(P.INVALID_ARGUMENT,"Unterminated ` in path: "+e);return new me(t)}static emptyPath(){return new me([])}}/**
563
+ */const Bc="__name__";class et{constructor(e,t,r){t===void 0?t=0:t>e.length&&F(),r===void 0?r=e.length-t:r>e.length-t&&F(),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return et.comparator(this,e)===0}child(e){const t=this.segments.slice(this.offset,this.limit());return e instanceof et?e.forEach(r=>{t.push(r)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return e=e===void 0?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 this.length===0}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){const r=Math.min(e.length,t.length);for(let s=0;s<r;s++){const i=et.compareSegments(e.get(s),t.get(s));if(i!==0)return i}return Math.sign(e.length-t.length)}static compareSegments(e,t){const r=et.isNumericId(e),s=et.isNumericId(t);return r&&!s?-1:!r&&s?1:r&&s?et.extractNumericId(e).compare(et.extractNumericId(t)):e<t?-1:e>t?1:0}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return St.fromString(e.substring(4,e.length-2))}}class ee extends et{construct(e,t,r){return new ee(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){const t=[];for(const r of e){if(r.indexOf("//")>=0)throw new O(P.INVALID_ARGUMENT,`Invalid segment (${r}). Paths must not contain // in them.`);t.push(...r.split("/").filter(s=>s.length>0))}return new ee(t)}static emptyPath(){return new ee([])}}const jm=/^[_a-zA-Z][_a-zA-Z0-9]*$/;class me extends et{construct(e,t,r){return new me(e,t,r)}static isValidIdentifier(e){return jm.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),me.isValidIdentifier(e)||(e="`"+e+"`"),e)).join(".")}toString(){return this.canonicalString()}isKeyField(){return this.length===1&&this.get(0)===Bc}static keyField(){return new me([Bc])}static fromServerFormat(e){const t=[];let r="",s=0;const i=()=>{if(r.length===0)throw new O(P.INVALID_ARGUMENT,`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);t.push(r),r=""};let a=!1;for(;s<e.length;){const c=e[s];if(c==="\\"){if(s+1===e.length)throw new O(P.INVALID_ARGUMENT,"Path has trailing escape character: "+e);const l=e[s+1];if(l!=="\\"&&l!=="."&&l!=="`")throw new O(P.INVALID_ARGUMENT,"Path has invalid escape sequence: "+e);r+=l,s+=2}else c==="`"?(a=!a,s++):c!=="."||a?(r+=c,s++):(i(),s++)}if(i(),a)throw new O(P.INVALID_ARGUMENT,"Unterminated ` in path: "+e);return new me(t)}static emptyPath(){return new me([])}}/**
579
564
  * @license
580
565
  * Copyright 2017 Google LLC
581
566
  *
@@ -605,7 +590,7 @@ SPDX-License-Identifier: Apache-2.0
605
590
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
606
591
  * See the License for the specific language governing permissions and
607
592
  * limitations under the License.
608
- */const ir=-1;function jm(n,e){const t=n.toTimestamp().seconds,r=n.toTimestamp().nanoseconds+1,s=j.fromTimestamp(r===1e9?new ue(t+1,0):new ue(t,r));return new Ct(s,L.empty(),e)}function qm(n){return new Ct(n.readTime,n.key,ir)}class Ct{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new Ct(j.min(),L.empty(),ir)}static max(){return new Ct(j.max(),L.empty(),ir)}}function $m(n,e){let t=n.readTime.compareTo(e.readTime);return t!==0?t:(t=L.comparator(n.documentKey,e.documentKey),t!==0?t:G(n.largestBatchId,e.largestBatchId))}/**
593
+ */const or=-1;function qm(n,e){const t=n.toTimestamp().seconds,r=n.toTimestamp().nanoseconds+1,s=j.fromTimestamp(r===1e9?new ue(t+1,0):new ue(t,r));return new Ct(s,L.empty(),e)}function $m(n){return new Ct(n.readTime,n.key,or)}class Ct{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new Ct(j.min(),L.empty(),or)}static max(){return new Ct(j.max(),L.empty(),or)}}function Hm(n,e){let t=n.readTime.compareTo(e.readTime);return t!==0?t:(t=L.comparator(n.documentKey,e.documentKey),t!==0?t:G(n.largestBatchId,e.largestBatchId))}/**
609
594
  * @license
610
595
  * Copyright 2020 Google LLC
611
596
  *
@@ -620,7 +605,7 @@ SPDX-License-Identifier: Apache-2.0
620
605
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
621
606
  * See the License for the specific language governing permissions and
622
607
  * limitations under the License.
623
- */const Hm="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class zm{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}/**
608
+ */const zm="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class Wm{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}/**
624
609
  * @license
625
610
  * Copyright 2017 Google LLC
626
611
  *
@@ -635,7 +620,7 @@ SPDX-License-Identifier: Apache-2.0
635
620
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
636
621
  * See the License for the specific language governing permissions and
637
622
  * limitations under the License.
638
- */async function En(n){if(n.code!==P.FAILED_PRECONDITION||n.message!==Hm)throw n;V("LocalStore","Unexpectedly lost primary lease")}/**
623
+ */async function En(n){if(n.code!==P.FAILED_PRECONDITION||n.message!==zm)throw n;V("LocalStore","Unexpectedly lost primary lease")}/**
639
624
  * @license
640
625
  * Copyright 2017 Google LLC
641
626
  *
@@ -650,7 +635,7 @@ SPDX-License-Identifier: Apache-2.0
650
635
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
651
636
  * See the License for the specific language governing permissions and
652
637
  * limitations under the License.
653
- */class C{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(t=>{this.isDone=!0,this.result=t,this.nextCallback&&this.nextCallback(t)},t=>{this.isDone=!0,this.error=t,this.catchCallback&&this.catchCallback(t)})}catch(e){return this.next(void 0,e)}next(e,t){return this.callbackAttached&&F(),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(t,this.error):this.wrapSuccess(e,this.result):new C((r,s)=>{this.nextCallback=i=>{this.wrapSuccess(e,i).next(r,s)},this.catchCallback=i=>{this.wrapFailure(t,i).next(r,s)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{const t=e();return t instanceof C?t:C.resolve(t)}catch(t){return C.reject(t)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):C.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):C.reject(t)}static resolve(e){return new C((t,r)=>{t(e)})}static reject(e){return new C((t,r)=>{r(e)})}static waitFor(e){return new C((t,r)=>{let s=0,i=0,a=!1;e.forEach(c=>{++s,c.next(()=>{++i,a&&i===s&&t()},l=>r(l))}),a=!0,i===s&&t()})}static or(e){let t=C.resolve(!1);for(const r of e)t=t.next(s=>s?C.resolve(s):r());return t}static forEach(e,t){const r=[];return e.forEach((s,i)=>{r.push(t.call(this,s,i))}),this.waitFor(r)}static mapArray(e,t){return new C((r,s)=>{const i=e.length,a=new Array(i);let c=0;for(let l=0;l<i;l++){const d=l;t(e[d]).next(f=>{a[d]=f,++c,c===i&&r(a)},f=>s(f))}})}static doWhile(e,t){return new C((r,s)=>{const i=()=>{e()===!0?t().next(()=>{i()},s):r()};i()})}}function Wm(n){const e=n.match(/Android ([\d.]+)/i),t=e?e[1].split(".").slice(0,2).join("."):"-1";return Number(t)}function Tn(n){return n.name==="IndexedDbTransactionError"}/**
638
+ */class C{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(t=>{this.isDone=!0,this.result=t,this.nextCallback&&this.nextCallback(t)},t=>{this.isDone=!0,this.error=t,this.catchCallback&&this.catchCallback(t)})}catch(e){return this.next(void 0,e)}next(e,t){return this.callbackAttached&&F(),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(t,this.error):this.wrapSuccess(e,this.result):new C((r,s)=>{this.nextCallback=i=>{this.wrapSuccess(e,i).next(r,s)},this.catchCallback=i=>{this.wrapFailure(t,i).next(r,s)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{const t=e();return t instanceof C?t:C.resolve(t)}catch(t){return C.reject(t)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):C.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):C.reject(t)}static resolve(e){return new C((t,r)=>{t(e)})}static reject(e){return new C((t,r)=>{r(e)})}static waitFor(e){return new C((t,r)=>{let s=0,i=0,a=!1;e.forEach(c=>{++s,c.next(()=>{++i,a&&i===s&&t()},l=>r(l))}),a=!0,i===s&&t()})}static or(e){let t=C.resolve(!1);for(const r of e)t=t.next(s=>s?C.resolve(s):r());return t}static forEach(e,t){const r=[];return e.forEach((s,i)=>{r.push(t.call(this,s,i))}),this.waitFor(r)}static mapArray(e,t){return new C((r,s)=>{const i=e.length,a=new Array(i);let c=0;for(let l=0;l<i;l++){const d=l;t(e[d]).next(f=>{a[d]=f,++c,c===i&&r(a)},f=>s(f))}})}static doWhile(e,t){return new C((r,s)=>{const i=()=>{e()===!0?t().next(()=>{i()},s):r()};i()})}}function Gm(n){const e=n.match(/Android ([\d.]+)/i),t=e?e[1].split(".").slice(0,2).join("."):"-1";return Number(t)}function Tn(n){return n.name==="IndexedDbTransactionError"}/**
654
639
  * @license
655
640
  * Copyright 2018 Google LLC
656
641
  *
@@ -680,7 +665,7 @@ SPDX-License-Identifier: Apache-2.0
680
665
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
681
666
  * See the License for the specific language governing permissions and
682
667
  * limitations under the License.
683
- */const Xi=-1;function is(n){return n==null}function os(n){return n===0&&1/n==-1/0}function Gm(n){return typeof n=="number"&&Number.isInteger(n)&&!os(n)&&n<=Number.MAX_SAFE_INTEGER&&n>=Number.MIN_SAFE_INTEGER}/**
668
+ */const Xi=-1;function is(n){return n==null}function os(n){return n===0&&1/n==-1/0}function Km(n){return typeof n=="number"&&Number.isInteger(n)&&!os(n)&&n<=Number.MAX_SAFE_INTEGER&&n>=Number.MIN_SAFE_INTEGER}/**
684
669
  * @license
685
670
  * Copyright 2017 Google LLC
686
671
  *
@@ -695,7 +680,7 @@ SPDX-License-Identifier: Apache-2.0
695
680
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
696
681
  * See the License for the specific language governing permissions and
697
682
  * limitations under the License.
698
- */const Bc="";function Km(n){let e="";for(let t=0;t<n.length;t++)e.length>0&&(e=jc(e)),e=Qm(n.get(t),e);return jc(e)}function Qm(n,e){let t=e;const r=n.length;for(let s=0;s<r;s++){const i=n.charAt(s);switch(i){case"\0":t+="";break;case Bc:t+="";break;default:t+=i}}return t}function jc(n){return n+Bc+""}/**
683
+ */const jc="";function Qm(n){let e="";for(let t=0;t<n.length;t++)e.length>0&&(e=qc(e)),e=Xm(n.get(t),e);return qc(e)}function Xm(n,e){let t=e;const r=n.length;for(let s=0;s<r;s++){const i=n.charAt(s);switch(i){case"\0":t+="";break;case jc:t+="";break;default:t+=i}}return t}function qc(n){return n+jc+""}/**
699
684
  * @license
700
685
  * Copyright 2017 Google LLC
701
686
  *
@@ -710,7 +695,7 @@ SPDX-License-Identifier: Apache-2.0
710
695
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
711
696
  * See the License for the specific language governing permissions and
712
697
  * limitations under the License.
713
- */function qc(n){let e=0;for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&e++;return e}function kt(n,e){for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&e(t,n[t])}function Xm(n,e){const t=[];for(const r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.push(e(n[r],r,n));return t}function $c(n){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e))return!1;return!0}/**
698
+ */function $c(n){let e=0;for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&e++;return e}function kt(n,e){for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&e(t,n[t])}function Ym(n,e){const t=[];for(const r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.push(e(n[r],r,n));return t}function Hc(n){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e))return!1;return!0}/**
714
699
  * @license
715
700
  * Copyright 2017 Google LLC
716
701
  *
@@ -740,7 +725,7 @@ SPDX-License-Identifier: Apache-2.0
740
725
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
741
726
  * See the License for the specific language governing permissions and
742
727
  * limitations under the License.
743
- */class le{constructor(e){this.comparator=e,this.data=new re(this.comparator)}has(e){return this.data.get(e)!==null}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){const r=this.data.getIteratorFrom(e[0]);for(;r.hasNext();){const s=r.getNext();if(this.comparator(s.key,e[1])>=0)return;t(s.key)}}forEachWhile(e,t){let r;for(r=t!==void 0?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){const t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new Hc(this.data.getIterator())}getIteratorFrom(e){return new Hc(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(r=>{t=t.add(r)}),t}isEqual(e){if(!(e instanceof le)||this.size!==e.size)return!1;const t=this.data.getIterator(),r=e.data.getIterator();for(;t.hasNext();){const s=t.getNext().key,i=r.getNext().key;if(this.comparator(s,i)!==0)return!1}return!0}toArray(){const e=[];return this.forEach(t=>{e.push(t)}),e}toString(){const e=[];return this.forEach(t=>e.push(t)),"SortedSet("+e.toString()+")"}copy(e){const t=new le(this.comparator);return t.data=e,t}}class Hc{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}/**
728
+ */class le{constructor(e){this.comparator=e,this.data=new re(this.comparator)}has(e){return this.data.get(e)!==null}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){const r=this.data.getIteratorFrom(e[0]);for(;r.hasNext();){const s=r.getNext();if(this.comparator(s.key,e[1])>=0)return;t(s.key)}}forEachWhile(e,t){let r;for(r=t!==void 0?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){const t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new zc(this.data.getIterator())}getIteratorFrom(e){return new zc(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(r=>{t=t.add(r)}),t}isEqual(e){if(!(e instanceof le)||this.size!==e.size)return!1;const t=this.data.getIterator(),r=e.data.getIterator();for(;t.hasNext();){const s=t.getNext().key,i=r.getNext().key;if(this.comparator(s,i)!==0)return!1}return!0}toArray(){const e=[];return this.forEach(t=>{e.push(t)}),e}toString(){const e=[];return this.forEach(t=>e.push(t)),"SortedSet("+e.toString()+")"}copy(e){const t=new le(this.comparator);return t.data=e,t}}class zc{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}/**
744
729
  * @license
745
730
  * Copyright 2020 Google LLC
746
731
  *
@@ -770,7 +755,7 @@ SPDX-License-Identifier: Apache-2.0
770
755
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
771
756
  * See the License for the specific language governing permissions and
772
757
  * limitations under the License.
773
- */class zc extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}/**
758
+ */class Wc extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}/**
774
759
  * @license
775
760
  * Copyright 2020 Google LLC
776
761
  *
@@ -785,7 +770,7 @@ SPDX-License-Identifier: Apache-2.0
785
770
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
786
771
  * See the License for the specific language governing permissions and
787
772
  * limitations under the License.
788
- */class _e{constructor(e){this.binaryString=e}static fromBase64String(e){const t=function(s){try{return atob(s)}catch(i){throw typeof DOMException<"u"&&i instanceof DOMException?new zc("Invalid base64 string: "+i):i}}(e);return new _e(t)}static fromUint8Array(e){const t=function(s){let i="";for(let a=0;a<s.length;++a)i+=String.fromCharCode(s[a]);return i}(e);return new _e(t)}[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 function(t){return btoa(t)}(this.binaryString)}toUint8Array(){return function(t){const r=new Uint8Array(t.length);for(let s=0;s<t.length;s++)r[s]=t.charCodeAt(s);return r}(this.binaryString)}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return G(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}_e.EMPTY_BYTE_STRING=new _e("");const Ym=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function Nt(n){if(Y(!!n),typeof n=="string"){let e=0;const t=Ym.exec(n);if(Y(!!t),t[1]){let s=t[1];s=(s+"000000000").substr(0,9),e=Number(s)}const r=new Date(n);return{seconds:Math.floor(r.getTime()/1e3),nanos:e}}return{seconds:oe(n.seconds),nanos:oe(n.nanos)}}function oe(n){return typeof n=="number"?n:typeof n=="string"?Number(n):0}function Dt(n){return typeof n=="string"?_e.fromBase64String(n):_e.fromUint8Array(n)}/**
773
+ */class _e{constructor(e){this.binaryString=e}static fromBase64String(e){const t=function(s){try{return atob(s)}catch(i){throw typeof DOMException<"u"&&i instanceof DOMException?new Wc("Invalid base64 string: "+i):i}}(e);return new _e(t)}static fromUint8Array(e){const t=function(s){let i="";for(let a=0;a<s.length;++a)i+=String.fromCharCode(s[a]);return i}(e);return new _e(t)}[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 function(t){return btoa(t)}(this.binaryString)}toUint8Array(){return function(t){const r=new Uint8Array(t.length);for(let s=0;s<t.length;s++)r[s]=t.charCodeAt(s);return r}(this.binaryString)}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return G(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}_e.EMPTY_BYTE_STRING=new _e("");const Jm=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function Nt(n){if(Y(!!n),typeof n=="string"){let e=0;const t=Jm.exec(n);if(Y(!!t),t[1]){let s=t[1];s=(s+"000000000").substr(0,9),e=Number(s)}const r=new Date(n);return{seconds:Math.floor(r.getTime()/1e3),nanos:e}}return{seconds:oe(n.seconds),nanos:oe(n.nanos)}}function oe(n){return typeof n=="number"?n:typeof n=="string"?Number(n):0}function Dt(n){return typeof n=="string"?_e.fromBase64String(n):_e.fromUint8Array(n)}/**
789
774
  * @license
790
775
  * Copyright 2020 Google LLC
791
776
  *
@@ -800,7 +785,7 @@ SPDX-License-Identifier: Apache-2.0
800
785
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
801
786
  * See the License for the specific language governing permissions and
802
787
  * limitations under the License.
803
- */const Wc="server_timestamp",Gc="__type__",Kc="__previous_value__",Qc="__local_write_time__";function cs(n){var e,t;return((t=(((e=n==null?void 0:n.mapValue)===null||e===void 0?void 0:e.fields)||{})[Gc])===null||t===void 0?void 0:t.stringValue)===Wc}function us(n){const e=n.mapValue.fields[Kc];return cs(e)?us(e):e}function or(n){const e=Nt(n.mapValue.fields[Qc].timestampValue);return new ue(e.seconds,e.nanos)}/**
788
+ */const Gc="server_timestamp",Kc="__type__",Qc="__previous_value__",Xc="__local_write_time__";function cs(n){var e,t;return((t=(((e=n==null?void 0:n.mapValue)===null||e===void 0?void 0:e.fields)||{})[Kc])===null||t===void 0?void 0:t.stringValue)===Gc}function us(n){const e=n.mapValue.fields[Qc];return cs(e)?us(e):e}function ar(n){const e=Nt(n.mapValue.fields[Xc].timestampValue);return new ue(e.seconds,e.nanos)}/**
804
789
  * @license
805
790
  * Copyright 2017 Google LLC
806
791
  *
@@ -815,7 +800,7 @@ SPDX-License-Identifier: Apache-2.0
815
800
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
816
801
  * See the License for the specific language governing permissions and
817
802
  * limitations under the License.
818
- */class Jm{constructor(e,t,r,s,i,a,c,l,d){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=s,this.ssl=i,this.forceLongPolling=a,this.autoDetectLongPolling=c,this.longPollingOptions=l,this.useFetchStreams=d}}const ls="(default)";class ar{constructor(e,t){this.projectId=e,this.database=t||ls}static empty(){return new ar("","")}get isDefaultDatabase(){return this.database===ls}isEqual(e){return e instanceof ar&&e.projectId===this.projectId&&e.database===this.database}}/**
803
+ */class Zm{constructor(e,t,r,s,i,a,c,l,d){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=s,this.ssl=i,this.forceLongPolling=a,this.autoDetectLongPolling=c,this.longPollingOptions=l,this.useFetchStreams=d}}const ls="(default)";class cr{constructor(e,t){this.projectId=e,this.database=t||ls}static empty(){return new cr("","")}get isDefaultDatabase(){return this.database===ls}isEqual(e){return e instanceof cr&&e.projectId===this.projectId&&e.database===this.database}}/**
819
804
  * @license
820
805
  * Copyright 2020 Google LLC
821
806
  *
@@ -830,7 +815,7 @@ SPDX-License-Identifier: Apache-2.0
830
815
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
831
816
  * See the License for the specific language governing permissions and
832
817
  * limitations under the License.
833
- */const Xc="__type__",Zm="__max__",hs={mapValue:{}},Yc="__vector__",ds="value";function Ot(n){return"nullValue"in n?0:"booleanValue"in n?1:"integerValue"in n||"doubleValue"in n?2:"timestampValue"in n?3:"stringValue"in n?5:"bytesValue"in n?6:"referenceValue"in n?7:"geoPointValue"in n?8:"arrayValue"in n?9:"mapValue"in n?cs(n)?4:tg(n)?9007199254740991:eg(n)?10:11:F()}function tt(n,e){if(n===e)return!0;const t=Ot(n);if(t!==Ot(e))return!1;switch(t){case 0:case 9007199254740991:return!0;case 1:return n.booleanValue===e.booleanValue;case 4:return or(n).isEqual(or(e));case 3:return function(s,i){if(typeof s.timestampValue=="string"&&typeof i.timestampValue=="string"&&s.timestampValue.length===i.timestampValue.length)return s.timestampValue===i.timestampValue;const a=Nt(s.timestampValue),c=Nt(i.timestampValue);return a.seconds===c.seconds&&a.nanos===c.nanos}(n,e);case 5:return n.stringValue===e.stringValue;case 6:return function(s,i){return Dt(s.bytesValue).isEqual(Dt(i.bytesValue))}(n,e);case 7:return n.referenceValue===e.referenceValue;case 8:return function(s,i){return oe(s.geoPointValue.latitude)===oe(i.geoPointValue.latitude)&&oe(s.geoPointValue.longitude)===oe(i.geoPointValue.longitude)}(n,e);case 2:return function(s,i){if("integerValue"in s&&"integerValue"in i)return oe(s.integerValue)===oe(i.integerValue);if("doubleValue"in s&&"doubleValue"in i){const a=oe(s.doubleValue),c=oe(i.doubleValue);return a===c?os(a)===os(c):isNaN(a)&&isNaN(c)}return!1}(n,e);case 9:return vn(n.arrayValue.values||[],e.arrayValue.values||[],tt);case 10:case 11:return function(s,i){const a=s.mapValue.fields||{},c=i.mapValue.fields||{};if(qc(a)!==qc(c))return!1;for(const l in a)if(a.hasOwnProperty(l)&&(c[l]===void 0||!tt(a[l],c[l])))return!1;return!0}(n,e);default:return F()}}function cr(n,e){return(n.values||[]).find(t=>tt(t,e))!==void 0}function wn(n,e){if(n===e)return 0;const t=Ot(n),r=Ot(e);if(t!==r)return G(t,r);switch(t){case 0:case 9007199254740991:return 0;case 1:return G(n.booleanValue,e.booleanValue);case 2:return function(i,a){const c=oe(i.integerValue||i.doubleValue),l=oe(a.integerValue||a.doubleValue);return c<l?-1:c>l?1:c===l?0:isNaN(c)?isNaN(l)?0:-1:1}(n,e);case 3:return Jc(n.timestampValue,e.timestampValue);case 4:return Jc(or(n),or(e));case 5:return G(n.stringValue,e.stringValue);case 6:return function(i,a){const c=Dt(i),l=Dt(a);return c.compareTo(l)}(n.bytesValue,e.bytesValue);case 7:return function(i,a){const c=i.split("/"),l=a.split("/");for(let d=0;d<c.length&&d<l.length;d++){const f=G(c[d],l[d]);if(f!==0)return f}return G(c.length,l.length)}(n.referenceValue,e.referenceValue);case 8:return function(i,a){const c=G(oe(i.latitude),oe(a.latitude));return c!==0?c:G(oe(i.longitude),oe(a.longitude))}(n.geoPointValue,e.geoPointValue);case 9:return Zc(n.arrayValue,e.arrayValue);case 10:return function(i,a){var c,l,d,f;const m=i.fields||{},v=a.fields||{},R=(c=m[ds])===null||c===void 0?void 0:c.arrayValue,S=(l=v[ds])===null||l===void 0?void 0:l.arrayValue,N=G(((d=R==null?void 0:R.values)===null||d===void 0?void 0:d.length)||0,((f=S==null?void 0:S.values)===null||f===void 0?void 0:f.length)||0);return N!==0?N:Zc(R,S)}(n.mapValue,e.mapValue);case 11:return function(i,a){if(i===hs.mapValue&&a===hs.mapValue)return 0;if(i===hs.mapValue)return 1;if(a===hs.mapValue)return-1;const c=i.fields||{},l=Object.keys(c),d=a.fields||{},f=Object.keys(d);l.sort(),f.sort();for(let m=0;m<l.length&&m<f.length;++m){const v=G(l[m],f[m]);if(v!==0)return v;const R=wn(c[l[m]],d[f[m]]);if(R!==0)return R}return G(l.length,f.length)}(n.mapValue,e.mapValue);default:throw F()}}function Jc(n,e){if(typeof n=="string"&&typeof e=="string"&&n.length===e.length)return G(n,e);const t=Nt(n),r=Nt(e),s=G(t.seconds,r.seconds);return s!==0?s:G(t.nanos,r.nanos)}function Zc(n,e){const t=n.values||[],r=e.values||[];for(let s=0;s<t.length&&s<r.length;++s){const i=wn(t[s],r[s]);if(i)return i}return G(t.length,r.length)}function In(n){return Yi(n)}function Yi(n){return"nullValue"in n?"null":"booleanValue"in n?""+n.booleanValue:"integerValue"in n?""+n.integerValue:"doubleValue"in n?""+n.doubleValue:"timestampValue"in n?function(t){const r=Nt(t);return`time(${r.seconds},${r.nanos})`}(n.timestampValue):"stringValue"in n?n.stringValue:"bytesValue"in n?function(t){return Dt(t).toBase64()}(n.bytesValue):"referenceValue"in n?function(t){return L.fromName(t).toString()}(n.referenceValue):"geoPointValue"in n?function(t){return`geo(${t.latitude},${t.longitude})`}(n.geoPointValue):"arrayValue"in n?function(t){let r="[",s=!0;for(const i of t.values||[])s?s=!1:r+=",",r+=Yi(i);return r+"]"}(n.arrayValue):"mapValue"in n?function(t){const r=Object.keys(t.fields||{}).sort();let s="{",i=!0;for(const a of r)i?i=!1:s+=",",s+=`${a}:${Yi(t.fields[a])}`;return s+"}"}(n.mapValue):F()}function fs(n){switch(Ot(n)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:const e=us(n);return e?16+fs(e):16;case 5:return 2*n.stringValue.length;case 6:return Dt(n.bytesValue).approximateByteSize();case 7:return n.referenceValue.length;case 9:return function(r){return(r.values||[]).reduce((s,i)=>s+fs(i),0)}(n.arrayValue);case 10:case 11:return function(r){let s=0;return kt(r.fields,(i,a)=>{s+=i.length+fs(a)}),s}(n.mapValue);default:throw F()}}function ps(n,e){return{referenceValue:`projects/${n.projectId}/databases/${n.database}/documents/${e.path.canonicalString()}`}}function Ji(n){return!!n&&"integerValue"in n}function Zi(n){return!!n&&"arrayValue"in n}function eu(n){return!!n&&"nullValue"in n}function tu(n){return!!n&&"doubleValue"in n&&isNaN(Number(n.doubleValue))}function ms(n){return!!n&&"mapValue"in n}function eg(n){var e,t;return((t=(((e=n==null?void 0:n.mapValue)===null||e===void 0?void 0:e.fields)||{})[Xc])===null||t===void 0?void 0:t.stringValue)===Yc}function ur(n){if(n.geoPointValue)return{geoPointValue:Object.assign({},n.geoPointValue)};if(n.timestampValue&&typeof n.timestampValue=="object")return{timestampValue:Object.assign({},n.timestampValue)};if(n.mapValue){const e={mapValue:{fields:{}}};return kt(n.mapValue.fields,(t,r)=>e.mapValue.fields[t]=ur(r)),e}if(n.arrayValue){const e={arrayValue:{values:[]}};for(let t=0;t<(n.arrayValue.values||[]).length;++t)e.arrayValue.values[t]=ur(n.arrayValue.values[t]);return e}return Object.assign({},n)}function tg(n){return(((n.mapValue||{}).fields||{}).__type__||{}).stringValue===Zm}/**
818
+ */const Yc="__type__",eg="__max__",hs={mapValue:{}},Jc="__vector__",ds="value";function Ot(n){return"nullValue"in n?0:"booleanValue"in n?1:"integerValue"in n||"doubleValue"in n?2:"timestampValue"in n?3:"stringValue"in n?5:"bytesValue"in n?6:"referenceValue"in n?7:"geoPointValue"in n?8:"arrayValue"in n?9:"mapValue"in n?cs(n)?4:ng(n)?9007199254740991:tg(n)?10:11:F()}function tt(n,e){if(n===e)return!0;const t=Ot(n);if(t!==Ot(e))return!1;switch(t){case 0:case 9007199254740991:return!0;case 1:return n.booleanValue===e.booleanValue;case 4:return ar(n).isEqual(ar(e));case 3:return function(s,i){if(typeof s.timestampValue=="string"&&typeof i.timestampValue=="string"&&s.timestampValue.length===i.timestampValue.length)return s.timestampValue===i.timestampValue;const a=Nt(s.timestampValue),c=Nt(i.timestampValue);return a.seconds===c.seconds&&a.nanos===c.nanos}(n,e);case 5:return n.stringValue===e.stringValue;case 6:return function(s,i){return Dt(s.bytesValue).isEqual(Dt(i.bytesValue))}(n,e);case 7:return n.referenceValue===e.referenceValue;case 8:return function(s,i){return oe(s.geoPointValue.latitude)===oe(i.geoPointValue.latitude)&&oe(s.geoPointValue.longitude)===oe(i.geoPointValue.longitude)}(n,e);case 2:return function(s,i){if("integerValue"in s&&"integerValue"in i)return oe(s.integerValue)===oe(i.integerValue);if("doubleValue"in s&&"doubleValue"in i){const a=oe(s.doubleValue),c=oe(i.doubleValue);return a===c?os(a)===os(c):isNaN(a)&&isNaN(c)}return!1}(n,e);case 9:return vn(n.arrayValue.values||[],e.arrayValue.values||[],tt);case 10:case 11:return function(s,i){const a=s.mapValue.fields||{},c=i.mapValue.fields||{};if($c(a)!==$c(c))return!1;for(const l in a)if(a.hasOwnProperty(l)&&(c[l]===void 0||!tt(a[l],c[l])))return!1;return!0}(n,e);default:return F()}}function ur(n,e){return(n.values||[]).find(t=>tt(t,e))!==void 0}function wn(n,e){if(n===e)return 0;const t=Ot(n),r=Ot(e);if(t!==r)return G(t,r);switch(t){case 0:case 9007199254740991:return 0;case 1:return G(n.booleanValue,e.booleanValue);case 2:return function(i,a){const c=oe(i.integerValue||i.doubleValue),l=oe(a.integerValue||a.doubleValue);return c<l?-1:c>l?1:c===l?0:isNaN(c)?isNaN(l)?0:-1:1}(n,e);case 3:return Zc(n.timestampValue,e.timestampValue);case 4:return Zc(ar(n),ar(e));case 5:return G(n.stringValue,e.stringValue);case 6:return function(i,a){const c=Dt(i),l=Dt(a);return c.compareTo(l)}(n.bytesValue,e.bytesValue);case 7:return function(i,a){const c=i.split("/"),l=a.split("/");for(let d=0;d<c.length&&d<l.length;d++){const f=G(c[d],l[d]);if(f!==0)return f}return G(c.length,l.length)}(n.referenceValue,e.referenceValue);case 8:return function(i,a){const c=G(oe(i.latitude),oe(a.latitude));return c!==0?c:G(oe(i.longitude),oe(a.longitude))}(n.geoPointValue,e.geoPointValue);case 9:return eu(n.arrayValue,e.arrayValue);case 10:return function(i,a){var c,l,d,f;const m=i.fields||{},v=a.fields||{},R=(c=m[ds])===null||c===void 0?void 0:c.arrayValue,S=(l=v[ds])===null||l===void 0?void 0:l.arrayValue,N=G(((d=R==null?void 0:R.values)===null||d===void 0?void 0:d.length)||0,((f=S==null?void 0:S.values)===null||f===void 0?void 0:f.length)||0);return N!==0?N:eu(R,S)}(n.mapValue,e.mapValue);case 11:return function(i,a){if(i===hs.mapValue&&a===hs.mapValue)return 0;if(i===hs.mapValue)return 1;if(a===hs.mapValue)return-1;const c=i.fields||{},l=Object.keys(c),d=a.fields||{},f=Object.keys(d);l.sort(),f.sort();for(let m=0;m<l.length&&m<f.length;++m){const v=G(l[m],f[m]);if(v!==0)return v;const R=wn(c[l[m]],d[f[m]]);if(R!==0)return R}return G(l.length,f.length)}(n.mapValue,e.mapValue);default:throw F()}}function Zc(n,e){if(typeof n=="string"&&typeof e=="string"&&n.length===e.length)return G(n,e);const t=Nt(n),r=Nt(e),s=G(t.seconds,r.seconds);return s!==0?s:G(t.nanos,r.nanos)}function eu(n,e){const t=n.values||[],r=e.values||[];for(let s=0;s<t.length&&s<r.length;++s){const i=wn(t[s],r[s]);if(i)return i}return G(t.length,r.length)}function In(n){return Yi(n)}function Yi(n){return"nullValue"in n?"null":"booleanValue"in n?""+n.booleanValue:"integerValue"in n?""+n.integerValue:"doubleValue"in n?""+n.doubleValue:"timestampValue"in n?function(t){const r=Nt(t);return`time(${r.seconds},${r.nanos})`}(n.timestampValue):"stringValue"in n?n.stringValue:"bytesValue"in n?function(t){return Dt(t).toBase64()}(n.bytesValue):"referenceValue"in n?function(t){return L.fromName(t).toString()}(n.referenceValue):"geoPointValue"in n?function(t){return`geo(${t.latitude},${t.longitude})`}(n.geoPointValue):"arrayValue"in n?function(t){let r="[",s=!0;for(const i of t.values||[])s?s=!1:r+=",",r+=Yi(i);return r+"]"}(n.arrayValue):"mapValue"in n?function(t){const r=Object.keys(t.fields||{}).sort();let s="{",i=!0;for(const a of r)i?i=!1:s+=",",s+=`${a}:${Yi(t.fields[a])}`;return s+"}"}(n.mapValue):F()}function fs(n){switch(Ot(n)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:const e=us(n);return e?16+fs(e):16;case 5:return 2*n.stringValue.length;case 6:return Dt(n.bytesValue).approximateByteSize();case 7:return n.referenceValue.length;case 9:return function(r){return(r.values||[]).reduce((s,i)=>s+fs(i),0)}(n.arrayValue);case 10:case 11:return function(r){let s=0;return kt(r.fields,(i,a)=>{s+=i.length+fs(a)}),s}(n.mapValue);default:throw F()}}function ps(n,e){return{referenceValue:`projects/${n.projectId}/databases/${n.database}/documents/${e.path.canonicalString()}`}}function Ji(n){return!!n&&"integerValue"in n}function Zi(n){return!!n&&"arrayValue"in n}function tu(n){return!!n&&"nullValue"in n}function nu(n){return!!n&&"doubleValue"in n&&isNaN(Number(n.doubleValue))}function ms(n){return!!n&&"mapValue"in n}function tg(n){var e,t;return((t=(((e=n==null?void 0:n.mapValue)===null||e===void 0?void 0:e.fields)||{})[Yc])===null||t===void 0?void 0:t.stringValue)===Jc}function lr(n){if(n.geoPointValue)return{geoPointValue:Object.assign({},n.geoPointValue)};if(n.timestampValue&&typeof n.timestampValue=="object")return{timestampValue:Object.assign({},n.timestampValue)};if(n.mapValue){const e={mapValue:{fields:{}}};return kt(n.mapValue.fields,(t,r)=>e.mapValue.fields[t]=lr(r)),e}if(n.arrayValue){const e={arrayValue:{values:[]}};for(let t=0;t<(n.arrayValue.values||[]).length;++t)e.arrayValue.values[t]=lr(n.arrayValue.values[t]);return e}return Object.assign({},n)}function ng(n){return(((n.mapValue||{}).fields||{}).__type__||{}).stringValue===eg}/**
834
819
  * @license
835
820
  * Copyright 2017 Google LLC
836
821
  *
@@ -845,7 +830,7 @@ SPDX-License-Identifier: Apache-2.0
845
830
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
846
831
  * See the License for the specific language governing permissions and
847
832
  * limitations under the License.
848
- */class De{constructor(e){this.value=e}static empty(){return new De({mapValue:{}})}field(e){if(e.isEmpty())return this.value;{let t=this.value;for(let r=0;r<e.length-1;++r)if(t=(t.mapValue.fields||{})[e.get(r)],!ms(t))return null;return t=(t.mapValue.fields||{})[e.lastSegment()],t||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=ur(t)}setAll(e){let t=me.emptyPath(),r={},s=[];e.forEach((a,c)=>{if(!t.isImmediateParentOf(c)){const l=this.getFieldsMap(t);this.applyChanges(l,r,s),r={},s=[],t=c.popLast()}a?r[c.lastSegment()]=ur(a):s.push(c.lastSegment())});const i=this.getFieldsMap(t);this.applyChanges(i,r,s)}delete(e){const t=this.field(e.popLast());ms(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return tt(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 s=t.mapValue.fields[e.get(r)];ms(s)&&s.mapValue.fields||(s={mapValue:{fields:{}}},t.mapValue.fields[e.get(r)]=s),t=s}return t.mapValue.fields}applyChanges(e,t,r){kt(t,(s,i)=>e[s]=i);for(const s of r)delete e[s]}clone(){return new De(ur(this.value))}}function nu(n){const e=[];return kt(n.fields,(t,r)=>{const s=new me([t]);if(ms(r)){const i=nu(r.mapValue).fields;if(i.length===0)e.push(s);else for(const a of i)e.push(s.child(a))}else e.push(s)}),new Fe(e)}/**
833
+ */class De{constructor(e){this.value=e}static empty(){return new De({mapValue:{}})}field(e){if(e.isEmpty())return this.value;{let t=this.value;for(let r=0;r<e.length-1;++r)if(t=(t.mapValue.fields||{})[e.get(r)],!ms(t))return null;return t=(t.mapValue.fields||{})[e.lastSegment()],t||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=lr(t)}setAll(e){let t=me.emptyPath(),r={},s=[];e.forEach((a,c)=>{if(!t.isImmediateParentOf(c)){const l=this.getFieldsMap(t);this.applyChanges(l,r,s),r={},s=[],t=c.popLast()}a?r[c.lastSegment()]=lr(a):s.push(c.lastSegment())});const i=this.getFieldsMap(t);this.applyChanges(i,r,s)}delete(e){const t=this.field(e.popLast());ms(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return tt(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 s=t.mapValue.fields[e.get(r)];ms(s)&&s.mapValue.fields||(s={mapValue:{fields:{}}},t.mapValue.fields[e.get(r)]=s),t=s}return t.mapValue.fields}applyChanges(e,t,r){kt(t,(s,i)=>e[s]=i);for(const s of r)delete e[s]}clone(){return new De(lr(this.value))}}function ru(n){const e=[];return kt(n.fields,(t,r)=>{const s=new me([t]);if(ms(r)){const i=ru(r.mapValue).fields;if(i.length===0)e.push(s);else for(const a of i)e.push(s.child(a))}else e.push(s)}),new Fe(e)}/**
849
834
  * @license
850
835
  * Copyright 2017 Google LLC
851
836
  *
@@ -875,7 +860,7 @@ SPDX-License-Identifier: Apache-2.0
875
860
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
876
861
  * See the License for the specific language governing permissions and
877
862
  * limitations under the License.
878
- */class An{constructor(e,t){this.position=e,this.inclusive=t}}function ru(n,e,t){let r=0;for(let s=0;s<n.position.length;s++){const i=e[s],a=n.position[s];if(i.field.isKeyField()?r=L.comparator(L.fromName(a.referenceValue),t.key):r=wn(a,t.data.field(i.field)),i.dir==="desc"&&(r*=-1),r!==0)break}return r}function su(n,e){if(n===null)return e===null;if(e===null||n.inclusive!==e.inclusive||n.position.length!==e.position.length)return!1;for(let t=0;t<n.position.length;t++)if(!tt(n.position[t],e.position[t]))return!1;return!0}/**
863
+ */class An{constructor(e,t){this.position=e,this.inclusive=t}}function su(n,e,t){let r=0;for(let s=0;s<n.position.length;s++){const i=e[s],a=n.position[s];if(i.field.isKeyField()?r=L.comparator(L.fromName(a.referenceValue),t.key):r=wn(a,t.data.field(i.field)),i.dir==="desc"&&(r*=-1),r!==0)break}return r}function iu(n,e){if(n===null)return e===null;if(e===null||n.inclusive!==e.inclusive||n.position.length!==e.position.length)return!1;for(let t=0;t<n.position.length;t++)if(!tt(n.position[t],e.position[t]))return!1;return!0}/**
879
864
  * @license
880
865
  * Copyright 2022 Google LLC
881
866
  *
@@ -890,7 +875,7 @@ SPDX-License-Identifier: Apache-2.0
890
875
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
891
876
  * See the License for the specific language governing permissions and
892
877
  * limitations under the License.
893
- */class lr{constructor(e,t="asc"){this.field=e,this.dir=t}}function ng(n,e){return n.dir===e.dir&&n.field.isEqual(e.field)}/**
878
+ */class hr{constructor(e,t="asc"){this.field=e,this.dir=t}}function rg(n,e){return n.dir===e.dir&&n.field.isEqual(e.field)}/**
894
879
  * @license
895
880
  * Copyright 2022 Google LLC
896
881
  *
@@ -905,7 +890,7 @@ SPDX-License-Identifier: Apache-2.0
905
890
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
906
891
  * See the License for the specific language governing permissions and
907
892
  * limitations under the License.
908
- */class iu{}class ae extends iu{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?t==="in"||t==="not-in"?this.createKeyFieldInFilter(e,t,r):new sg(e,t,r):t==="array-contains"?new ag(e,r):t==="in"?new cg(e,r):t==="not-in"?new ug(e,r):t==="array-contains-any"?new lg(e,r):new ae(e,t,r)}static createKeyFieldInFilter(e,t,r){return t==="in"?new ig(e,r):new og(e,r)}matches(e){const t=e.data.field(this.field);return this.op==="!="?t!==null&&this.matchesComparison(wn(t,this.value)):t!==null&&Ot(this.value)===Ot(t)&&this.matchesComparison(wn(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return e===0;case"!=":return e!==0;case">":return e>0;case">=":return e>=0;default:return F()}}isInequality(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class We extends iu{constructor(e,t){super(),this.filters=e,this.op=t,this.ce=null}static create(e,t){return new We(e,t)}matches(e){return ou(this)?this.filters.find(t=>!t.matches(e))===void 0:this.filters.find(t=>t.matches(e))!==void 0}getFlattenedFilters(){return this.ce!==null||(this.ce=this.filters.reduce((e,t)=>e.concat(t.getFlattenedFilters()),[])),this.ce}getFilters(){return Object.assign([],this.filters)}}function ou(n){return n.op==="and"}function au(n){return rg(n)&&ou(n)}function rg(n){for(const e of n.filters)if(e instanceof We)return!1;return!0}function eo(n){if(n instanceof ae)return n.field.canonicalString()+n.op.toString()+In(n.value);if(au(n))return n.filters.map(e=>eo(e)).join(",");{const e=n.filters.map(t=>eo(t)).join(",");return`${n.op}(${e})`}}function cu(n,e){return n instanceof ae?function(r,s){return s instanceof ae&&r.op===s.op&&r.field.isEqual(s.field)&&tt(r.value,s.value)}(n,e):n instanceof We?function(r,s){return s instanceof We&&r.op===s.op&&r.filters.length===s.filters.length?r.filters.reduce((i,a,c)=>i&&cu(a,s.filters[c]),!0):!1}(n,e):void F()}function uu(n){return n instanceof ae?function(t){return`${t.field.canonicalString()} ${t.op} ${In(t.value)}`}(n):n instanceof We?function(t){return t.op.toString()+" {"+t.getFilters().map(uu).join(" ,")+"}"}(n):"Filter"}class sg extends ae{constructor(e,t,r){super(e,t,r),this.key=L.fromName(r.referenceValue)}matches(e){const t=L.comparator(e.key,this.key);return this.matchesComparison(t)}}class ig extends ae{constructor(e,t){super(e,"in",t),this.keys=lu("in",t)}matches(e){return this.keys.some(t=>t.isEqual(e.key))}}class og extends ae{constructor(e,t){super(e,"not-in",t),this.keys=lu("not-in",t)}matches(e){return!this.keys.some(t=>t.isEqual(e.key))}}function lu(n,e){var t;return(((t=e.arrayValue)===null||t===void 0?void 0:t.values)||[]).map(r=>L.fromName(r.referenceValue))}class ag extends ae{constructor(e,t){super(e,"array-contains",t)}matches(e){const t=e.data.field(this.field);return Zi(t)&&cr(t.arrayValue,this.value)}}class cg extends ae{constructor(e,t){super(e,"in",t)}matches(e){const t=e.data.field(this.field);return t!==null&&cr(this.value.arrayValue,t)}}class ug extends ae{constructor(e,t){super(e,"not-in",t)}matches(e){if(cr(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;const t=e.data.field(this.field);return t!==null&&!cr(this.value.arrayValue,t)}}class lg extends ae{constructor(e,t){super(e,"array-contains-any",t)}matches(e){const t=e.data.field(this.field);return!(!Zi(t)||!t.arrayValue.values)&&t.arrayValue.values.some(r=>cr(this.value.arrayValue,r))}}/**
893
+ */class ou{}class ae extends ou{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?t==="in"||t==="not-in"?this.createKeyFieldInFilter(e,t,r):new ig(e,t,r):t==="array-contains"?new cg(e,r):t==="in"?new ug(e,r):t==="not-in"?new lg(e,r):t==="array-contains-any"?new hg(e,r):new ae(e,t,r)}static createKeyFieldInFilter(e,t,r){return t==="in"?new og(e,r):new ag(e,r)}matches(e){const t=e.data.field(this.field);return this.op==="!="?t!==null&&this.matchesComparison(wn(t,this.value)):t!==null&&Ot(this.value)===Ot(t)&&this.matchesComparison(wn(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return e===0;case"!=":return e!==0;case">":return e>0;case">=":return e>=0;default:return F()}}isInequality(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class We extends ou{constructor(e,t){super(),this.filters=e,this.op=t,this.ce=null}static create(e,t){return new We(e,t)}matches(e){return au(this)?this.filters.find(t=>!t.matches(e))===void 0:this.filters.find(t=>t.matches(e))!==void 0}getFlattenedFilters(){return this.ce!==null||(this.ce=this.filters.reduce((e,t)=>e.concat(t.getFlattenedFilters()),[])),this.ce}getFilters(){return Object.assign([],this.filters)}}function au(n){return n.op==="and"}function cu(n){return sg(n)&&au(n)}function sg(n){for(const e of n.filters)if(e instanceof We)return!1;return!0}function eo(n){if(n instanceof ae)return n.field.canonicalString()+n.op.toString()+In(n.value);if(cu(n))return n.filters.map(e=>eo(e)).join(",");{const e=n.filters.map(t=>eo(t)).join(",");return`${n.op}(${e})`}}function uu(n,e){return n instanceof ae?function(r,s){return s instanceof ae&&r.op===s.op&&r.field.isEqual(s.field)&&tt(r.value,s.value)}(n,e):n instanceof We?function(r,s){return s instanceof We&&r.op===s.op&&r.filters.length===s.filters.length?r.filters.reduce((i,a,c)=>i&&uu(a,s.filters[c]),!0):!1}(n,e):void F()}function lu(n){return n instanceof ae?function(t){return`${t.field.canonicalString()} ${t.op} ${In(t.value)}`}(n):n instanceof We?function(t){return t.op.toString()+" {"+t.getFilters().map(lu).join(" ,")+"}"}(n):"Filter"}class ig extends ae{constructor(e,t,r){super(e,t,r),this.key=L.fromName(r.referenceValue)}matches(e){const t=L.comparator(e.key,this.key);return this.matchesComparison(t)}}class og extends ae{constructor(e,t){super(e,"in",t),this.keys=hu("in",t)}matches(e){return this.keys.some(t=>t.isEqual(e.key))}}class ag extends ae{constructor(e,t){super(e,"not-in",t),this.keys=hu("not-in",t)}matches(e){return!this.keys.some(t=>t.isEqual(e.key))}}function hu(n,e){var t;return(((t=e.arrayValue)===null||t===void 0?void 0:t.values)||[]).map(r=>L.fromName(r.referenceValue))}class cg extends ae{constructor(e,t){super(e,"array-contains",t)}matches(e){const t=e.data.field(this.field);return Zi(t)&&ur(t.arrayValue,this.value)}}class ug extends ae{constructor(e,t){super(e,"in",t)}matches(e){const t=e.data.field(this.field);return t!==null&&ur(this.value.arrayValue,t)}}class lg extends ae{constructor(e,t){super(e,"not-in",t)}matches(e){if(ur(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;const t=e.data.field(this.field);return t!==null&&!ur(this.value.arrayValue,t)}}class hg extends ae{constructor(e,t){super(e,"array-contains-any",t)}matches(e){const t=e.data.field(this.field);return!(!Zi(t)||!t.arrayValue.values)&&t.arrayValue.values.some(r=>ur(this.value.arrayValue,r))}}/**
909
894
  * @license
910
895
  * Copyright 2019 Google LLC
911
896
  *
@@ -920,7 +905,7 @@ SPDX-License-Identifier: Apache-2.0
920
905
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
921
906
  * See the License for the specific language governing permissions and
922
907
  * limitations under the License.
923
- */class hg{constructor(e,t=null,r=[],s=[],i=null,a=null,c=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=s,this.limit=i,this.startAt=a,this.endAt=c,this.le=null}}function hu(n,e=null,t=[],r=[],s=null,i=null,a=null){return new hg(n,e,t,r,s,i,a)}function to(n){const e=B(n);if(e.le===null){let t=e.path.canonicalString();e.collectionGroup!==null&&(t+="|cg:"+e.collectionGroup),t+="|f:",t+=e.filters.map(r=>eo(r)).join(","),t+="|ob:",t+=e.orderBy.map(r=>function(i){return i.field.canonicalString()+i.dir}(r)).join(","),is(e.limit)||(t+="|l:",t+=e.limit),e.startAt&&(t+="|lb:",t+=e.startAt.inclusive?"b:":"a:",t+=e.startAt.position.map(r=>In(r)).join(",")),e.endAt&&(t+="|ub:",t+=e.endAt.inclusive?"a:":"b:",t+=e.endAt.position.map(r=>In(r)).join(",")),e.le=t}return e.le}function no(n,e){if(n.limit!==e.limit||n.orderBy.length!==e.orderBy.length)return!1;for(let t=0;t<n.orderBy.length;t++)if(!ng(n.orderBy[t],e.orderBy[t]))return!1;if(n.filters.length!==e.filters.length)return!1;for(let t=0;t<n.filters.length;t++)if(!cu(n.filters[t],e.filters[t]))return!1;return n.collectionGroup===e.collectionGroup&&!!n.path.isEqual(e.path)&&!!su(n.startAt,e.startAt)&&su(n.endAt,e.endAt)}function ro(n){return L.isDocumentKey(n.path)&&n.collectionGroup===null&&n.filters.length===0}/**
908
+ */class dg{constructor(e,t=null,r=[],s=[],i=null,a=null,c=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=s,this.limit=i,this.startAt=a,this.endAt=c,this.le=null}}function du(n,e=null,t=[],r=[],s=null,i=null,a=null){return new dg(n,e,t,r,s,i,a)}function to(n){const e=B(n);if(e.le===null){let t=e.path.canonicalString();e.collectionGroup!==null&&(t+="|cg:"+e.collectionGroup),t+="|f:",t+=e.filters.map(r=>eo(r)).join(","),t+="|ob:",t+=e.orderBy.map(r=>function(i){return i.field.canonicalString()+i.dir}(r)).join(","),is(e.limit)||(t+="|l:",t+=e.limit),e.startAt&&(t+="|lb:",t+=e.startAt.inclusive?"b:":"a:",t+=e.startAt.position.map(r=>In(r)).join(",")),e.endAt&&(t+="|ub:",t+=e.endAt.inclusive?"a:":"b:",t+=e.endAt.position.map(r=>In(r)).join(",")),e.le=t}return e.le}function no(n,e){if(n.limit!==e.limit||n.orderBy.length!==e.orderBy.length)return!1;for(let t=0;t<n.orderBy.length;t++)if(!rg(n.orderBy[t],e.orderBy[t]))return!1;if(n.filters.length!==e.filters.length)return!1;for(let t=0;t<n.filters.length;t++)if(!uu(n.filters[t],e.filters[t]))return!1;return n.collectionGroup===e.collectionGroup&&!!n.path.isEqual(e.path)&&!!iu(n.startAt,e.startAt)&&iu(n.endAt,e.endAt)}function ro(n){return L.isDocumentKey(n.path)&&n.collectionGroup===null&&n.filters.length===0}/**
924
909
  * @license
925
910
  * Copyright 2017 Google LLC
926
911
  *
@@ -935,7 +920,7 @@ SPDX-License-Identifier: Apache-2.0
935
920
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
936
921
  * See the License for the specific language governing permissions and
937
922
  * limitations under the License.
938
- */class Jt{constructor(e,t=null,r=[],s=[],i=null,a="F",c=null,l=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=s,this.limit=i,this.limitType=a,this.startAt=c,this.endAt=l,this.he=null,this.Pe=null,this.Te=null,this.startAt,this.endAt}}function dg(n,e,t,r,s,i,a,c){return new Jt(n,e,t,r,s,i,a,c)}function gs(n){return new Jt(n)}function du(n){return n.filters.length===0&&n.limit===null&&n.startAt==null&&n.endAt==null&&(n.explicitOrderBy.length===0||n.explicitOrderBy.length===1&&n.explicitOrderBy[0].field.isKeyField())}function so(n){return n.collectionGroup!==null}function Rn(n){const e=B(n);if(e.he===null){e.he=[];const t=new Set;for(const i of e.explicitOrderBy)e.he.push(i),t.add(i.field.canonicalString());const r=e.explicitOrderBy.length>0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";(function(a){let c=new le(me.comparator);return a.filters.forEach(l=>{l.getFlattenedFilters().forEach(d=>{d.isInequality()&&(c=c.add(d.field))})}),c})(e).forEach(i=>{t.has(i.canonicalString())||i.isKeyField()||e.he.push(new lr(i,r))}),t.has(me.keyField().canonicalString())||e.he.push(new lr(me.keyField(),r))}return e.he}function nt(n){const e=B(n);return e.Pe||(e.Pe=fu(e,Rn(n))),e.Pe}function fg(n){const e=B(n);return e.Te||(e.Te=fu(e,n.explicitOrderBy)),e.Te}function fu(n,e){if(n.limitType==="F")return hu(n.path,n.collectionGroup,e,n.filters,n.limit,n.startAt,n.endAt);{e=e.map(s=>{const i=s.dir==="desc"?"asc":"desc";return new lr(s.field,i)});const t=n.endAt?new An(n.endAt.position,n.endAt.inclusive):null,r=n.startAt?new An(n.startAt.position,n.startAt.inclusive):null;return hu(n.path,n.collectionGroup,e,n.filters,n.limit,t,r)}}function io(n,e){const t=n.filters.concat([e]);return new Jt(n.path,n.collectionGroup,n.explicitOrderBy.slice(),t,n.limit,n.limitType,n.startAt,n.endAt)}function _s(n,e,t){return new Jt(n.path,n.collectionGroup,n.explicitOrderBy.slice(),n.filters.slice(),e,t,n.startAt,n.endAt)}function ys(n,e){return no(nt(n),nt(e))&&n.limitType===e.limitType}function pu(n){return`${to(nt(n))}|lt:${n.limitType}`}function bn(n){return`Query(target=${function(t){let r=t.path.canonicalString();return t.collectionGroup!==null&&(r+=" collectionGroup="+t.collectionGroup),t.filters.length>0&&(r+=`, filters: [${t.filters.map(s=>uu(s)).join(", ")}]`),is(t.limit)||(r+=", limit: "+t.limit),t.orderBy.length>0&&(r+=`, orderBy: [${t.orderBy.map(s=>function(a){return`${a.field.canonicalString()} (${a.dir})`}(s)).join(", ")}]`),t.startAt&&(r+=", startAt: ",r+=t.startAt.inclusive?"b:":"a:",r+=t.startAt.position.map(s=>In(s)).join(",")),t.endAt&&(r+=", endAt: ",r+=t.endAt.inclusive?"a:":"b:",r+=t.endAt.position.map(s=>In(s)).join(",")),`Target(${r})`}(nt(n))}; limitType=${n.limitType})`}function vs(n,e){return e.isFoundDocument()&&function(r,s){const i=s.key.path;return r.collectionGroup!==null?s.key.hasCollectionId(r.collectionGroup)&&r.path.isPrefixOf(i):L.isDocumentKey(r.path)?r.path.isEqual(i):r.path.isImmediateParentOf(i)}(n,e)&&function(r,s){for(const i of Rn(r))if(!i.field.isKeyField()&&s.data.field(i.field)===null)return!1;return!0}(n,e)&&function(r,s){for(const i of r.filters)if(!i.matches(s))return!1;return!0}(n,e)&&function(r,s){return!(r.startAt&&!function(a,c,l){const d=ru(a,c,l);return a.inclusive?d<=0:d<0}(r.startAt,Rn(r),s)||r.endAt&&!function(a,c,l){const d=ru(a,c,l);return a.inclusive?d>=0:d>0}(r.endAt,Rn(r),s))}(n,e)}function pg(n){return n.collectionGroup||(n.path.length%2==1?n.path.lastSegment():n.path.get(n.path.length-2))}function mu(n){return(e,t)=>{let r=!1;for(const s of Rn(n)){const i=mg(s,e,t);if(i!==0)return i;r=r||s.field.isKeyField()}return 0}}function mg(n,e,t){const r=n.field.isKeyField()?L.comparator(e.key,t.key):function(i,a,c){const l=a.data.field(i),d=c.data.field(i);return l!==null&&d!==null?wn(l,d):F()}(n.field,e,t);switch(n.dir){case"asc":return r;case"desc":return-1*r;default:return F()}}/**
923
+ */class Zt{constructor(e,t=null,r=[],s=[],i=null,a="F",c=null,l=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=s,this.limit=i,this.limitType=a,this.startAt=c,this.endAt=l,this.he=null,this.Pe=null,this.Te=null,this.startAt,this.endAt}}function fg(n,e,t,r,s,i,a,c){return new Zt(n,e,t,r,s,i,a,c)}function gs(n){return new Zt(n)}function fu(n){return n.filters.length===0&&n.limit===null&&n.startAt==null&&n.endAt==null&&(n.explicitOrderBy.length===0||n.explicitOrderBy.length===1&&n.explicitOrderBy[0].field.isKeyField())}function so(n){return n.collectionGroup!==null}function Rn(n){const e=B(n);if(e.he===null){e.he=[];const t=new Set;for(const i of e.explicitOrderBy)e.he.push(i),t.add(i.field.canonicalString());const r=e.explicitOrderBy.length>0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";(function(a){let c=new le(me.comparator);return a.filters.forEach(l=>{l.getFlattenedFilters().forEach(d=>{d.isInequality()&&(c=c.add(d.field))})}),c})(e).forEach(i=>{t.has(i.canonicalString())||i.isKeyField()||e.he.push(new hr(i,r))}),t.has(me.keyField().canonicalString())||e.he.push(new hr(me.keyField(),r))}return e.he}function nt(n){const e=B(n);return e.Pe||(e.Pe=pu(e,Rn(n))),e.Pe}function pg(n){const e=B(n);return e.Te||(e.Te=pu(e,n.explicitOrderBy)),e.Te}function pu(n,e){if(n.limitType==="F")return du(n.path,n.collectionGroup,e,n.filters,n.limit,n.startAt,n.endAt);{e=e.map(s=>{const i=s.dir==="desc"?"asc":"desc";return new hr(s.field,i)});const t=n.endAt?new An(n.endAt.position,n.endAt.inclusive):null,r=n.startAt?new An(n.startAt.position,n.startAt.inclusive):null;return du(n.path,n.collectionGroup,e,n.filters,n.limit,t,r)}}function io(n,e){const t=n.filters.concat([e]);return new Zt(n.path,n.collectionGroup,n.explicitOrderBy.slice(),t,n.limit,n.limitType,n.startAt,n.endAt)}function _s(n,e,t){return new Zt(n.path,n.collectionGroup,n.explicitOrderBy.slice(),n.filters.slice(),e,t,n.startAt,n.endAt)}function ys(n,e){return no(nt(n),nt(e))&&n.limitType===e.limitType}function mu(n){return`${to(nt(n))}|lt:${n.limitType}`}function bn(n){return`Query(target=${function(t){let r=t.path.canonicalString();return t.collectionGroup!==null&&(r+=" collectionGroup="+t.collectionGroup),t.filters.length>0&&(r+=`, filters: [${t.filters.map(s=>lu(s)).join(", ")}]`),is(t.limit)||(r+=", limit: "+t.limit),t.orderBy.length>0&&(r+=`, orderBy: [${t.orderBy.map(s=>function(a){return`${a.field.canonicalString()} (${a.dir})`}(s)).join(", ")}]`),t.startAt&&(r+=", startAt: ",r+=t.startAt.inclusive?"b:":"a:",r+=t.startAt.position.map(s=>In(s)).join(",")),t.endAt&&(r+=", endAt: ",r+=t.endAt.inclusive?"a:":"b:",r+=t.endAt.position.map(s=>In(s)).join(",")),`Target(${r})`}(nt(n))}; limitType=${n.limitType})`}function vs(n,e){return e.isFoundDocument()&&function(r,s){const i=s.key.path;return r.collectionGroup!==null?s.key.hasCollectionId(r.collectionGroup)&&r.path.isPrefixOf(i):L.isDocumentKey(r.path)?r.path.isEqual(i):r.path.isImmediateParentOf(i)}(n,e)&&function(r,s){for(const i of Rn(r))if(!i.field.isKeyField()&&s.data.field(i.field)===null)return!1;return!0}(n,e)&&function(r,s){for(const i of r.filters)if(!i.matches(s))return!1;return!0}(n,e)&&function(r,s){return!(r.startAt&&!function(a,c,l){const d=su(a,c,l);return a.inclusive?d<=0:d<0}(r.startAt,Rn(r),s)||r.endAt&&!function(a,c,l){const d=su(a,c,l);return a.inclusive?d>=0:d>0}(r.endAt,Rn(r),s))}(n,e)}function mg(n){return n.collectionGroup||(n.path.length%2==1?n.path.lastSegment():n.path.get(n.path.length-2))}function gu(n){return(e,t)=>{let r=!1;for(const s of Rn(n)){const i=gg(s,e,t);if(i!==0)return i;r=r||s.field.isKeyField()}return 0}}function gg(n,e,t){const r=n.field.isKeyField()?L.comparator(e.key,t.key):function(i,a,c){const l=a.data.field(i),d=c.data.field(i);return l!==null&&d!==null?wn(l,d):F()}(n.field,e,t);switch(n.dir){case"asc":return r;case"desc":return-1*r;default:return F()}}/**
939
924
  * @license
940
925
  * Copyright 2017 Google LLC
941
926
  *
@@ -950,7 +935,7 @@ SPDX-License-Identifier: Apache-2.0
950
935
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
951
936
  * See the License for the specific language governing permissions and
952
937
  * limitations under the License.
953
- */class Zt{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(e){const t=this.mapKeyFn(e),r=this.inner[t];if(r!==void 0){for(const[s,i]of r)if(this.equalsFn(s,e))return i}}has(e){return this.get(e)!==void 0}set(e,t){const r=this.mapKeyFn(e),s=this.inner[r];if(s===void 0)return this.inner[r]=[[e,t]],void this.innerSize++;for(let i=0;i<s.length;i++)if(this.equalsFn(s[i][0],e))return void(s[i]=[e,t]);s.push([e,t]),this.innerSize++}delete(e){const t=this.mapKeyFn(e),r=this.inner[t];if(r===void 0)return!1;for(let s=0;s<r.length;s++)if(this.equalsFn(r[s][0],e))return r.length===1?delete this.inner[t]:r.splice(s,1),this.innerSize--,!0;return!1}forEach(e){kt(this.inner,(t,r)=>{for(const[s,i]of r)e(s,i)})}isEmpty(){return $c(this.inner)}size(){return this.innerSize}}/**
938
+ */class en{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(e){const t=this.mapKeyFn(e),r=this.inner[t];if(r!==void 0){for(const[s,i]of r)if(this.equalsFn(s,e))return i}}has(e){return this.get(e)!==void 0}set(e,t){const r=this.mapKeyFn(e),s=this.inner[r];if(s===void 0)return this.inner[r]=[[e,t]],void this.innerSize++;for(let i=0;i<s.length;i++)if(this.equalsFn(s[i][0],e))return void(s[i]=[e,t]);s.push([e,t]),this.innerSize++}delete(e){const t=this.mapKeyFn(e),r=this.inner[t];if(r===void 0)return!1;for(let s=0;s<r.length;s++)if(this.equalsFn(r[s][0],e))return r.length===1?delete this.inner[t]:r.splice(s,1),this.innerSize--,!0;return!1}forEach(e){kt(this.inner,(t,r)=>{for(const[s,i]of r)e(s,i)})}isEmpty(){return Hc(this.inner)}size(){return this.innerSize}}/**
954
939
  * @license
955
940
  * Copyright 2017 Google LLC
956
941
  *
@@ -965,7 +950,7 @@ SPDX-License-Identifier: Apache-2.0
965
950
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
966
951
  * See the License for the specific language governing permissions and
967
952
  * limitations under the License.
968
- */const gg=new re(L.comparator);function pt(){return gg}const gu=new re(L.comparator);function hr(...n){let e=gu;for(const t of n)e=e.insert(t.key,t);return e}function _u(n){let e=gu;return n.forEach((t,r)=>e=e.insert(t,r.overlayedDocument)),e}function en(){return dr()}function yu(){return dr()}function dr(){return new Zt(n=>n.toString(),(n,e)=>n.isEqual(e))}const _g=new re(L.comparator),yg=new le(L.comparator);function W(...n){let e=yg;for(const t of n)e=e.add(t);return e}const vg=new le(G);function Eg(){return vg}/**
953
+ */const _g=new re(L.comparator);function pt(){return _g}const _u=new re(L.comparator);function dr(...n){let e=_u;for(const t of n)e=e.insert(t.key,t);return e}function yu(n){let e=_u;return n.forEach((t,r)=>e=e.insert(t,r.overlayedDocument)),e}function tn(){return fr()}function vu(){return fr()}function fr(){return new en(n=>n.toString(),(n,e)=>n.isEqual(e))}const yg=new re(L.comparator),vg=new le(L.comparator);function W(...n){let e=vg;for(const t of n)e=e.add(t);return e}const Eg=new le(G);function Tg(){return Eg}/**
969
954
  * @license
970
955
  * Copyright 2020 Google LLC
971
956
  *
@@ -980,7 +965,7 @@ SPDX-License-Identifier: Apache-2.0
980
965
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
981
966
  * See the License for the specific language governing permissions and
982
967
  * limitations under the License.
983
- */function oo(n,e){if(n.useProto3Json){if(isNaN(e))return{doubleValue:"NaN"};if(e===1/0)return{doubleValue:"Infinity"};if(e===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:os(e)?"-0":e}}function vu(n){return{integerValue:""+n}}function Tg(n,e){return Gm(e)?vu(e):oo(n,e)}/**
968
+ */function oo(n,e){if(n.useProto3Json){if(isNaN(e))return{doubleValue:"NaN"};if(e===1/0)return{doubleValue:"Infinity"};if(e===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:os(e)?"-0":e}}function Eu(n){return{integerValue:""+n}}function wg(n,e){return Km(e)?Eu(e):oo(n,e)}/**
984
969
  * @license
985
970
  * Copyright 2018 Google LLC
986
971
  *
@@ -995,7 +980,7 @@ SPDX-License-Identifier: Apache-2.0
995
980
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
996
981
  * See the License for the specific language governing permissions and
997
982
  * limitations under the License.
998
- */class Es{constructor(){this._=void 0}}function wg(n,e,t){return n instanceof Ts?function(s,i){const a={fields:{[Gc]:{stringValue:Wc},[Qc]:{timestampValue:{seconds:s.seconds,nanos:s.nanoseconds}}}};return i&&cs(i)&&(i=us(i)),i&&(a.fields[Kc]=i),{mapValue:a}}(t,e):n instanceof fr?Tu(n,e):n instanceof pr?wu(n,e):function(s,i){const a=Eu(s,i),c=Iu(a)+Iu(s.Ie);return Ji(a)&&Ji(s.Ie)?vu(c):oo(s.serializer,c)}(n,e)}function Ig(n,e,t){return n instanceof fr?Tu(n,e):n instanceof pr?wu(n,e):t}function Eu(n,e){return n instanceof ws?function(r){return Ji(r)||function(i){return!!i&&"doubleValue"in i}(r)}(e)?e:{integerValue:0}:null}class Ts extends Es{}class fr extends Es{constructor(e){super(),this.elements=e}}function Tu(n,e){const t=Au(e);for(const r of n.elements)t.some(s=>tt(s,r))||t.push(r);return{arrayValue:{values:t}}}class pr extends Es{constructor(e){super(),this.elements=e}}function wu(n,e){let t=Au(e);for(const r of n.elements)t=t.filter(s=>!tt(s,r));return{arrayValue:{values:t}}}class ws extends Es{constructor(e,t){super(),this.serializer=e,this.Ie=t}}function Iu(n){return oe(n.integerValue||n.doubleValue)}function Au(n){return Zi(n)&&n.arrayValue.values?n.arrayValue.values.slice():[]}function Ag(n,e){return n.field.isEqual(e.field)&&function(r,s){return r instanceof fr&&s instanceof fr||r instanceof pr&&s instanceof pr?vn(r.elements,s.elements,tt):r instanceof ws&&s instanceof ws?tt(r.Ie,s.Ie):r instanceof Ts&&s instanceof Ts}(n.transform,e.transform)}class Rg{constructor(e,t){this.version=e,this.transformResults=t}}class $e{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new $e}static exists(e){return new $e(void 0,e)}static updateTime(e){return new $e(e)}get isNone(){return this.updateTime===void 0&&this.exists===void 0}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function Is(n,e){return n.updateTime!==void 0?e.isFoundDocument()&&e.version.isEqual(n.updateTime):n.exists===void 0||n.exists===e.isFoundDocument()}class As{}function Ru(n,e){if(!n.hasLocalMutations||e&&e.fields.length===0)return null;if(e===null)return n.isNoDocument()?new Rs(n.key,$e.none()):new gr(n.key,n.data,$e.none());{const t=n.data,r=De.empty();let s=new le(me.comparator);for(let i of e.fields)if(!s.has(i)){let a=t.field(i);a===null&&i.length>1&&(i=i.popLast(),a=t.field(i)),a===null?r.delete(i):r.set(i,a),s=s.add(i)}return new Vt(n.key,r,new Fe(s.toArray()),$e.none())}}function bg(n,e,t){n instanceof gr?function(s,i,a){const c=s.value.clone(),l=Su(s.fieldTransforms,i,a.transformResults);c.setAll(l),i.convertToFoundDocument(a.version,c).setHasCommittedMutations()}(n,e,t):n instanceof Vt?function(s,i,a){if(!Is(s.precondition,i))return void i.convertToUnknownDocument(a.version);const c=Su(s.fieldTransforms,i,a.transformResults),l=i.data;l.setAll(Pu(s)),l.setAll(c),i.convertToFoundDocument(a.version,l).setHasCommittedMutations()}(n,e,t):function(s,i,a){i.convertToNoDocument(a.version).setHasCommittedMutations()}(0,e,t)}function mr(n,e,t,r){return n instanceof gr?function(i,a,c,l){if(!Is(i.precondition,a))return c;const d=i.value.clone(),f=Cu(i.fieldTransforms,l,a);return d.setAll(f),a.convertToFoundDocument(a.version,d).setHasLocalMutations(),null}(n,e,t,r):n instanceof Vt?function(i,a,c,l){if(!Is(i.precondition,a))return c;const d=Cu(i.fieldTransforms,l,a),f=a.data;return f.setAll(Pu(i)),f.setAll(d),a.convertToFoundDocument(a.version,f).setHasLocalMutations(),c===null?null:c.unionWith(i.fieldMask.fields).unionWith(i.fieldTransforms.map(m=>m.field))}(n,e,t,r):function(i,a,c){return Is(i.precondition,a)?(a.convertToNoDocument(a.version).setHasLocalMutations(),null):c}(n,e,t)}function Pg(n,e){let t=null;for(const r of n.fieldTransforms){const s=e.data.field(r.field),i=Eu(r.transform,s||null);i!=null&&(t===null&&(t=De.empty()),t.set(r.field,i))}return t||null}function bu(n,e){return n.type===e.type&&!!n.key.isEqual(e.key)&&!!n.precondition.isEqual(e.precondition)&&!!function(r,s){return r===void 0&&s===void 0||!(!r||!s)&&vn(r,s,(i,a)=>Ag(i,a))}(n.fieldTransforms,e.fieldTransforms)&&(n.type===0?n.value.isEqual(e.value):n.type!==1||n.data.isEqual(e.data)&&n.fieldMask.isEqual(e.fieldMask))}class gr extends As{constructor(e,t,r,s=[]){super(),this.key=e,this.value=t,this.precondition=r,this.fieldTransforms=s,this.type=0}getFieldMask(){return null}}class Vt extends As{constructor(e,t,r,s,i=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=s,this.fieldTransforms=i,this.type=1}getFieldMask(){return this.fieldMask}}function Pu(n){const e=new Map;return n.fieldMask.fields.forEach(t=>{if(!t.isEmpty()){const r=n.data.field(t);e.set(t,r)}}),e}function Su(n,e,t){const r=new Map;Y(n.length===t.length);for(let s=0;s<t.length;s++){const i=n[s],a=i.transform,c=e.data.field(i.field);r.set(i.field,Ig(a,c,t[s]))}return r}function Cu(n,e,t){const r=new Map;for(const s of n){const i=s.transform,a=t.data.field(s.field);r.set(s.field,wg(i,a,e))}return r}class Rs extends As{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class Sg extends As{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}/**
983
+ */class Es{constructor(){this._=void 0}}function Ig(n,e,t){return n instanceof Ts?function(s,i){const a={fields:{[Kc]:{stringValue:Gc},[Xc]:{timestampValue:{seconds:s.seconds,nanos:s.nanoseconds}}}};return i&&cs(i)&&(i=us(i)),i&&(a.fields[Qc]=i),{mapValue:a}}(t,e):n instanceof pr?wu(n,e):n instanceof mr?Iu(n,e):function(s,i){const a=Tu(s,i),c=Au(a)+Au(s.Ie);return Ji(a)&&Ji(s.Ie)?Eu(c):oo(s.serializer,c)}(n,e)}function Ag(n,e,t){return n instanceof pr?wu(n,e):n instanceof mr?Iu(n,e):t}function Tu(n,e){return n instanceof ws?function(r){return Ji(r)||function(i){return!!i&&"doubleValue"in i}(r)}(e)?e:{integerValue:0}:null}class Ts extends Es{}class pr extends Es{constructor(e){super(),this.elements=e}}function wu(n,e){const t=Ru(e);for(const r of n.elements)t.some(s=>tt(s,r))||t.push(r);return{arrayValue:{values:t}}}class mr extends Es{constructor(e){super(),this.elements=e}}function Iu(n,e){let t=Ru(e);for(const r of n.elements)t=t.filter(s=>!tt(s,r));return{arrayValue:{values:t}}}class ws extends Es{constructor(e,t){super(),this.serializer=e,this.Ie=t}}function Au(n){return oe(n.integerValue||n.doubleValue)}function Ru(n){return Zi(n)&&n.arrayValue.values?n.arrayValue.values.slice():[]}function Rg(n,e){return n.field.isEqual(e.field)&&function(r,s){return r instanceof pr&&s instanceof pr||r instanceof mr&&s instanceof mr?vn(r.elements,s.elements,tt):r instanceof ws&&s instanceof ws?tt(r.Ie,s.Ie):r instanceof Ts&&s instanceof Ts}(n.transform,e.transform)}class bg{constructor(e,t){this.version=e,this.transformResults=t}}class $e{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new $e}static exists(e){return new $e(void 0,e)}static updateTime(e){return new $e(e)}get isNone(){return this.updateTime===void 0&&this.exists===void 0}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function Is(n,e){return n.updateTime!==void 0?e.isFoundDocument()&&e.version.isEqual(n.updateTime):n.exists===void 0||n.exists===e.isFoundDocument()}class As{}function bu(n,e){if(!n.hasLocalMutations||e&&e.fields.length===0)return null;if(e===null)return n.isNoDocument()?new Rs(n.key,$e.none()):new _r(n.key,n.data,$e.none());{const t=n.data,r=De.empty();let s=new le(me.comparator);for(let i of e.fields)if(!s.has(i)){let a=t.field(i);a===null&&i.length>1&&(i=i.popLast(),a=t.field(i)),a===null?r.delete(i):r.set(i,a),s=s.add(i)}return new Vt(n.key,r,new Fe(s.toArray()),$e.none())}}function Pg(n,e,t){n instanceof _r?function(s,i,a){const c=s.value.clone(),l=Cu(s.fieldTransforms,i,a.transformResults);c.setAll(l),i.convertToFoundDocument(a.version,c).setHasCommittedMutations()}(n,e,t):n instanceof Vt?function(s,i,a){if(!Is(s.precondition,i))return void i.convertToUnknownDocument(a.version);const c=Cu(s.fieldTransforms,i,a.transformResults),l=i.data;l.setAll(Su(s)),l.setAll(c),i.convertToFoundDocument(a.version,l).setHasCommittedMutations()}(n,e,t):function(s,i,a){i.convertToNoDocument(a.version).setHasCommittedMutations()}(0,e,t)}function gr(n,e,t,r){return n instanceof _r?function(i,a,c,l){if(!Is(i.precondition,a))return c;const d=i.value.clone(),f=ku(i.fieldTransforms,l,a);return d.setAll(f),a.convertToFoundDocument(a.version,d).setHasLocalMutations(),null}(n,e,t,r):n instanceof Vt?function(i,a,c,l){if(!Is(i.precondition,a))return c;const d=ku(i.fieldTransforms,l,a),f=a.data;return f.setAll(Su(i)),f.setAll(d),a.convertToFoundDocument(a.version,f).setHasLocalMutations(),c===null?null:c.unionWith(i.fieldMask.fields).unionWith(i.fieldTransforms.map(m=>m.field))}(n,e,t,r):function(i,a,c){return Is(i.precondition,a)?(a.convertToNoDocument(a.version).setHasLocalMutations(),null):c}(n,e,t)}function Sg(n,e){let t=null;for(const r of n.fieldTransforms){const s=e.data.field(r.field),i=Tu(r.transform,s||null);i!=null&&(t===null&&(t=De.empty()),t.set(r.field,i))}return t||null}function Pu(n,e){return n.type===e.type&&!!n.key.isEqual(e.key)&&!!n.precondition.isEqual(e.precondition)&&!!function(r,s){return r===void 0&&s===void 0||!(!r||!s)&&vn(r,s,(i,a)=>Rg(i,a))}(n.fieldTransforms,e.fieldTransforms)&&(n.type===0?n.value.isEqual(e.value):n.type!==1||n.data.isEqual(e.data)&&n.fieldMask.isEqual(e.fieldMask))}class _r extends As{constructor(e,t,r,s=[]){super(),this.key=e,this.value=t,this.precondition=r,this.fieldTransforms=s,this.type=0}getFieldMask(){return null}}class Vt extends As{constructor(e,t,r,s,i=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=s,this.fieldTransforms=i,this.type=1}getFieldMask(){return this.fieldMask}}function Su(n){const e=new Map;return n.fieldMask.fields.forEach(t=>{if(!t.isEmpty()){const r=n.data.field(t);e.set(t,r)}}),e}function Cu(n,e,t){const r=new Map;Y(n.length===t.length);for(let s=0;s<t.length;s++){const i=n[s],a=i.transform,c=e.data.field(i.field);r.set(i.field,Ag(a,c,t[s]))}return r}function ku(n,e,t){const r=new Map;for(const s of n){const i=s.transform,a=t.data.field(s.field);r.set(s.field,Ig(i,a,e))}return r}class Rs extends As{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class Cg extends As{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}/**
999
984
  * @license
1000
985
  * Copyright 2017 Google LLC
1001
986
  *
@@ -1010,7 +995,7 @@ SPDX-License-Identifier: Apache-2.0
1010
995
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1011
996
  * See the License for the specific language governing permissions and
1012
997
  * limitations under the License.
1013
- */class Cg{constructor(e,t,r,s){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=s}applyToRemoteDocument(e,t){const r=t.mutationResults;for(let s=0;s<this.mutations.length;s++){const i=this.mutations[s];i.key.isEqual(e.key)&&bg(i,e,r[s])}}applyToLocalView(e,t){for(const r of this.baseMutations)r.key.isEqual(e.key)&&(t=mr(r,e,t,this.localWriteTime));for(const r of this.mutations)r.key.isEqual(e.key)&&(t=mr(r,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(e,t){const r=yu();return this.mutations.forEach(s=>{const i=e.get(s.key),a=i.overlayedDocument;let c=this.applyToLocalView(a,i.mutatedFields);c=t.has(s.key)?null:c;const l=Ru(a,c);l!==null&&r.set(s.key,l),a.isValidDocument()||a.convertToNoDocument(j.min())}),r}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),W())}isEqual(e){return this.batchId===e.batchId&&vn(this.mutations,e.mutations,(t,r)=>bu(t,r))&&vn(this.baseMutations,e.baseMutations,(t,r)=>bu(t,r))}}class ao{constructor(e,t,r,s){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=s}static from(e,t,r){Y(e.mutations.length===r.length);let s=function(){return _g}();const i=e.mutations;for(let a=0;a<i.length;a++)s=s.insert(i[a].key,r[a].version);return new ao(e,t,r,s)}}/**
998
+ */class kg{constructor(e,t,r,s){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=s}applyToRemoteDocument(e,t){const r=t.mutationResults;for(let s=0;s<this.mutations.length;s++){const i=this.mutations[s];i.key.isEqual(e.key)&&Pg(i,e,r[s])}}applyToLocalView(e,t){for(const r of this.baseMutations)r.key.isEqual(e.key)&&(t=gr(r,e,t,this.localWriteTime));for(const r of this.mutations)r.key.isEqual(e.key)&&(t=gr(r,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(e,t){const r=vu();return this.mutations.forEach(s=>{const i=e.get(s.key),a=i.overlayedDocument;let c=this.applyToLocalView(a,i.mutatedFields);c=t.has(s.key)?null:c;const l=bu(a,c);l!==null&&r.set(s.key,l),a.isValidDocument()||a.convertToNoDocument(j.min())}),r}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),W())}isEqual(e){return this.batchId===e.batchId&&vn(this.mutations,e.mutations,(t,r)=>Pu(t,r))&&vn(this.baseMutations,e.baseMutations,(t,r)=>Pu(t,r))}}class ao{constructor(e,t,r,s){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=s}static from(e,t,r){Y(e.mutations.length===r.length);let s=function(){return yg}();const i=e.mutations;for(let a=0;a<i.length;a++)s=s.insert(i[a].key,r[a].version);return new ao(e,t,r,s)}}/**
1014
999
  * @license
1015
1000
  * Copyright 2022 Google LLC
1016
1001
  *
@@ -1025,7 +1010,7 @@ SPDX-License-Identifier: Apache-2.0
1025
1010
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1026
1011
  * See the License for the specific language governing permissions and
1027
1012
  * limitations under the License.
1028
- */class kg{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return e!==null&&this.mutation===e.mutation}toString(){return`Overlay{
1013
+ */class Ng{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return e!==null&&this.mutation===e.mutation}toString(){return`Overlay{
1029
1014
  largestBatchId: ${this.largestBatchId},
1030
1015
  mutation: ${this.mutation.toString()}
1031
1016
  }`}}/**
@@ -1043,7 +1028,7 @@ SPDX-License-Identifier: Apache-2.0
1043
1028
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1044
1029
  * See the License for the specific language governing permissions and
1045
1030
  * limitations under the License.
1046
- */class Ng{constructor(e,t,r){this.alias=e,this.aggregateType=t,this.fieldPath=r}}/**
1031
+ */class Dg{constructor(e,t,r){this.alias=e,this.aggregateType=t,this.fieldPath=r}}/**
1047
1032
  * @license
1048
1033
  * Copyright 2017 Google LLC
1049
1034
  *
@@ -1058,7 +1043,7 @@ SPDX-License-Identifier: Apache-2.0
1058
1043
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1059
1044
  * See the License for the specific language governing permissions and
1060
1045
  * limitations under the License.
1061
- */class Dg{constructor(e,t){this.count=e,this.unchangedNames=t}}/**
1046
+ */class Og{constructor(e,t){this.count=e,this.unchangedNames=t}}/**
1062
1047
  * @license
1063
1048
  * Copyright 2017 Google LLC
1064
1049
  *
@@ -1073,7 +1058,7 @@ SPDX-License-Identifier: Apache-2.0
1073
1058
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1074
1059
  * See the License for the specific language governing permissions and
1075
1060
  * limitations under the License.
1076
- */var ce,K;function Og(n){switch(n){case P.OK:return F();case P.CANCELLED:case P.UNKNOWN:case P.DEADLINE_EXCEEDED:case P.RESOURCE_EXHAUSTED:case P.INTERNAL:case P.UNAVAILABLE:case P.UNAUTHENTICATED:return!1;case P.INVALID_ARGUMENT:case P.NOT_FOUND:case P.ALREADY_EXISTS:case P.PERMISSION_DENIED:case P.FAILED_PRECONDITION:case P.ABORTED:case P.OUT_OF_RANGE:case P.UNIMPLEMENTED:case P.DATA_LOSS:return!0;default:return F()}}function ku(n){if(n===void 0)return ft("GRPC error has no .code"),P.UNKNOWN;switch(n){case ce.OK:return P.OK;case ce.CANCELLED:return P.CANCELLED;case ce.UNKNOWN:return P.UNKNOWN;case ce.DEADLINE_EXCEEDED:return P.DEADLINE_EXCEEDED;case ce.RESOURCE_EXHAUSTED:return P.RESOURCE_EXHAUSTED;case ce.INTERNAL:return P.INTERNAL;case ce.UNAVAILABLE:return P.UNAVAILABLE;case ce.UNAUTHENTICATED:return P.UNAUTHENTICATED;case ce.INVALID_ARGUMENT:return P.INVALID_ARGUMENT;case ce.NOT_FOUND:return P.NOT_FOUND;case ce.ALREADY_EXISTS:return P.ALREADY_EXISTS;case ce.PERMISSION_DENIED:return P.PERMISSION_DENIED;case ce.FAILED_PRECONDITION:return P.FAILED_PRECONDITION;case ce.ABORTED:return P.ABORTED;case ce.OUT_OF_RANGE:return P.OUT_OF_RANGE;case ce.UNIMPLEMENTED:return P.UNIMPLEMENTED;case ce.DATA_LOSS:return P.DATA_LOSS;default:return F()}}(K=ce||(ce={}))[K.OK=0]="OK",K[K.CANCELLED=1]="CANCELLED",K[K.UNKNOWN=2]="UNKNOWN",K[K.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",K[K.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",K[K.NOT_FOUND=5]="NOT_FOUND",K[K.ALREADY_EXISTS=6]="ALREADY_EXISTS",K[K.PERMISSION_DENIED=7]="PERMISSION_DENIED",K[K.UNAUTHENTICATED=16]="UNAUTHENTICATED",K[K.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",K[K.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",K[K.ABORTED=10]="ABORTED",K[K.OUT_OF_RANGE=11]="OUT_OF_RANGE",K[K.UNIMPLEMENTED=12]="UNIMPLEMENTED",K[K.INTERNAL=13]="INTERNAL",K[K.UNAVAILABLE=14]="UNAVAILABLE",K[K.DATA_LOSS=15]="DATA_LOSS";/**
1061
+ */var ce,K;function Vg(n){switch(n){case P.OK:return F();case P.CANCELLED:case P.UNKNOWN:case P.DEADLINE_EXCEEDED:case P.RESOURCE_EXHAUSTED:case P.INTERNAL:case P.UNAVAILABLE:case P.UNAUTHENTICATED:return!1;case P.INVALID_ARGUMENT:case P.NOT_FOUND:case P.ALREADY_EXISTS:case P.PERMISSION_DENIED:case P.FAILED_PRECONDITION:case P.ABORTED:case P.OUT_OF_RANGE:case P.UNIMPLEMENTED:case P.DATA_LOSS:return!0;default:return F()}}function Nu(n){if(n===void 0)return ft("GRPC error has no .code"),P.UNKNOWN;switch(n){case ce.OK:return P.OK;case ce.CANCELLED:return P.CANCELLED;case ce.UNKNOWN:return P.UNKNOWN;case ce.DEADLINE_EXCEEDED:return P.DEADLINE_EXCEEDED;case ce.RESOURCE_EXHAUSTED:return P.RESOURCE_EXHAUSTED;case ce.INTERNAL:return P.INTERNAL;case ce.UNAVAILABLE:return P.UNAVAILABLE;case ce.UNAUTHENTICATED:return P.UNAUTHENTICATED;case ce.INVALID_ARGUMENT:return P.INVALID_ARGUMENT;case ce.NOT_FOUND:return P.NOT_FOUND;case ce.ALREADY_EXISTS:return P.ALREADY_EXISTS;case ce.PERMISSION_DENIED:return P.PERMISSION_DENIED;case ce.FAILED_PRECONDITION:return P.FAILED_PRECONDITION;case ce.ABORTED:return P.ABORTED;case ce.OUT_OF_RANGE:return P.OUT_OF_RANGE;case ce.UNIMPLEMENTED:return P.UNIMPLEMENTED;case ce.DATA_LOSS:return P.DATA_LOSS;default:return F()}}(K=ce||(ce={}))[K.OK=0]="OK",K[K.CANCELLED=1]="CANCELLED",K[K.UNKNOWN=2]="UNKNOWN",K[K.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",K[K.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",K[K.NOT_FOUND=5]="NOT_FOUND",K[K.ALREADY_EXISTS=6]="ALREADY_EXISTS",K[K.PERMISSION_DENIED=7]="PERMISSION_DENIED",K[K.UNAUTHENTICATED=16]="UNAUTHENTICATED",K[K.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",K[K.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",K[K.ABORTED=10]="ABORTED",K[K.OUT_OF_RANGE=11]="OUT_OF_RANGE",K[K.UNIMPLEMENTED=12]="UNIMPLEMENTED",K[K.INTERNAL=13]="INTERNAL",K[K.UNAVAILABLE=14]="UNAVAILABLE",K[K.DATA_LOSS=15]="DATA_LOSS";/**
1077
1062
  * @license
1078
1063
  * Copyright 2023 Google LLC
1079
1064
  *
@@ -1088,7 +1073,7 @@ SPDX-License-Identifier: Apache-2.0
1088
1073
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1089
1074
  * See the License for the specific language governing permissions and
1090
1075
  * limitations under the License.
1091
- */function Vg(){return new TextEncoder}/**
1076
+ */function Lg(){return new TextEncoder}/**
1092
1077
  * @license
1093
1078
  * Copyright 2022 Google LLC
1094
1079
  *
@@ -1103,7 +1088,7 @@ SPDX-License-Identifier: Apache-2.0
1103
1088
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1104
1089
  * See the License for the specific language governing permissions and
1105
1090
  * limitations under the License.
1106
- */const Lg=new St([4294967295,4294967295],0);function Nu(n){const e=Vg().encode(n),t=new bc;return t.update(e),new Uint8Array(t.digest())}function Du(n){const e=new DataView(n.buffer),t=e.getUint32(0,!0),r=e.getUint32(4,!0),s=e.getUint32(8,!0),i=e.getUint32(12,!0);return[new St([t,r],0),new St([s,i],0)]}class co{constructor(e,t,r){if(this.bitmap=e,this.padding=t,this.hashCount=r,t<0||t>=8)throw new _r(`Invalid padding: ${t}`);if(r<0)throw new _r(`Invalid hash count: ${r}`);if(e.length>0&&this.hashCount===0)throw new _r(`Invalid hash count: ${r}`);if(e.length===0&&t!==0)throw new _r(`Invalid padding when bitmap length is 0: ${t}`);this.Ee=8*e.length-t,this.de=St.fromNumber(this.Ee)}Ae(e,t,r){let s=e.add(t.multiply(St.fromNumber(r)));return s.compare(Lg)===1&&(s=new St([s.getBits(0),s.getBits(1)],0)),s.modulo(this.de).toNumber()}Re(e){return!!(this.bitmap[Math.floor(e/8)]&1<<e%8)}mightContain(e){if(this.Ee===0)return!1;const t=Nu(e),[r,s]=Du(t);for(let i=0;i<this.hashCount;i++){const a=this.Ae(r,s,i);if(!this.Re(a))return!1}return!0}static create(e,t,r){const s=e%8==0?0:8-e%8,i=new Uint8Array(Math.ceil(e/8)),a=new co(i,s,t);return r.forEach(c=>a.insert(c)),a}insert(e){if(this.Ee===0)return;const t=Nu(e),[r,s]=Du(t);for(let i=0;i<this.hashCount;i++){const a=this.Ae(r,s,i);this.Ve(a)}}Ve(e){const t=Math.floor(e/8),r=e%8;this.bitmap[t]|=1<<r}}class _r extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}/**
1091
+ */const Mg=new St([4294967295,4294967295],0);function Du(n){const e=Lg().encode(n),t=new Pc;return t.update(e),new Uint8Array(t.digest())}function Ou(n){const e=new DataView(n.buffer),t=e.getUint32(0,!0),r=e.getUint32(4,!0),s=e.getUint32(8,!0),i=e.getUint32(12,!0);return[new St([t,r],0),new St([s,i],0)]}class co{constructor(e,t,r){if(this.bitmap=e,this.padding=t,this.hashCount=r,t<0||t>=8)throw new yr(`Invalid padding: ${t}`);if(r<0)throw new yr(`Invalid hash count: ${r}`);if(e.length>0&&this.hashCount===0)throw new yr(`Invalid hash count: ${r}`);if(e.length===0&&t!==0)throw new yr(`Invalid padding when bitmap length is 0: ${t}`);this.Ee=8*e.length-t,this.de=St.fromNumber(this.Ee)}Ae(e,t,r){let s=e.add(t.multiply(St.fromNumber(r)));return s.compare(Mg)===1&&(s=new St([s.getBits(0),s.getBits(1)],0)),s.modulo(this.de).toNumber()}Re(e){return!!(this.bitmap[Math.floor(e/8)]&1<<e%8)}mightContain(e){if(this.Ee===0)return!1;const t=Du(e),[r,s]=Ou(t);for(let i=0;i<this.hashCount;i++){const a=this.Ae(r,s,i);if(!this.Re(a))return!1}return!0}static create(e,t,r){const s=e%8==0?0:8-e%8,i=new Uint8Array(Math.ceil(e/8)),a=new co(i,s,t);return r.forEach(c=>a.insert(c)),a}insert(e){if(this.Ee===0)return;const t=Du(e),[r,s]=Ou(t);for(let i=0;i<this.hashCount;i++){const a=this.Ae(r,s,i);this.Ve(a)}}Ve(e){const t=Math.floor(e/8),r=e%8;this.bitmap[t]|=1<<r}}class yr extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}/**
1107
1092
  * @license
1108
1093
  * Copyright 2017 Google LLC
1109
1094
  *
@@ -1118,7 +1103,7 @@ SPDX-License-Identifier: Apache-2.0
1118
1103
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1119
1104
  * See the License for the specific language governing permissions and
1120
1105
  * limitations under the License.
1121
- */class bs{constructor(e,t,r,s,i){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=r,this.documentUpdates=s,this.resolvedLimboDocuments=i}static createSynthesizedRemoteEventForCurrentChange(e,t,r){const s=new Map;return s.set(e,yr.createSynthesizedTargetChangeForCurrentChange(e,t,r)),new bs(j.min(),s,new re(G),pt(),W())}}class yr{constructor(e,t,r,s,i){this.resumeToken=e,this.current=t,this.addedDocuments=r,this.modifiedDocuments=s,this.removedDocuments=i}static createSynthesizedTargetChangeForCurrentChange(e,t,r){return new yr(r,t,W(),W(),W())}}/**
1106
+ */class bs{constructor(e,t,r,s,i){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=r,this.documentUpdates=s,this.resolvedLimboDocuments=i}static createSynthesizedRemoteEventForCurrentChange(e,t,r){const s=new Map;return s.set(e,vr.createSynthesizedTargetChangeForCurrentChange(e,t,r)),new bs(j.min(),s,new re(G),pt(),W())}}class vr{constructor(e,t,r,s,i){this.resumeToken=e,this.current=t,this.addedDocuments=r,this.modifiedDocuments=s,this.removedDocuments=i}static createSynthesizedTargetChangeForCurrentChange(e,t,r){return new vr(r,t,W(),W(),W())}}/**
1122
1107
  * @license
1123
1108
  * Copyright 2017 Google LLC
1124
1109
  *
@@ -1133,7 +1118,7 @@ SPDX-License-Identifier: Apache-2.0
1133
1118
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1134
1119
  * See the License for the specific language governing permissions and
1135
1120
  * limitations under the License.
1136
- */class Ps{constructor(e,t,r,s){this.me=e,this.removedTargetIds=t,this.key=r,this.fe=s}}class Ou{constructor(e,t){this.targetId=e,this.ge=t}}class Vu{constructor(e,t,r=_e.EMPTY_BYTE_STRING,s=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=s}}class Lu{constructor(){this.pe=0,this.ye=Mu(),this.we=_e.EMPTY_BYTE_STRING,this.Se=!1,this.be=!0}get current(){return this.Se}get resumeToken(){return this.we}get De(){return this.pe!==0}get ve(){return this.be}Ce(e){e.approximateByteSize()>0&&(this.be=!0,this.we=e)}Fe(){let e=W(),t=W(),r=W();return this.ye.forEach((s,i)=>{switch(i){case 0:e=e.add(s);break;case 2:t=t.add(s);break;case 1:r=r.add(s);break;default:F()}}),new yr(this.we,this.Se,e,t,r)}Me(){this.be=!1,this.ye=Mu()}xe(e,t){this.be=!0,this.ye=this.ye.insert(e,t)}Oe(e){this.be=!0,this.ye=this.ye.remove(e)}Ne(){this.pe+=1}Be(){this.pe-=1,Y(this.pe>=0)}Le(){this.be=!0,this.Se=!0}}class Mg{constructor(e){this.ke=e,this.qe=new Map,this.Qe=pt(),this.$e=Ss(),this.Ke=Ss(),this.Ue=new re(G)}We(e){for(const t of e.me)e.fe&&e.fe.isFoundDocument()?this.Ge(t,e.fe):this.ze(t,e.key,e.fe);for(const t of e.removedTargetIds)this.ze(t,e.key,e.fe)}je(e){this.forEachTarget(e,t=>{const r=this.He(t);switch(e.state){case 0:this.Je(t)&&r.Ce(e.resumeToken);break;case 1:r.Be(),r.De||r.Me(),r.Ce(e.resumeToken);break;case 2:r.Be(),r.De||this.removeTarget(t);break;case 3:this.Je(t)&&(r.Le(),r.Ce(e.resumeToken));break;case 4:this.Je(t)&&(this.Ye(t),r.Ce(e.resumeToken));break;default:F()}})}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.qe.forEach((r,s)=>{this.Je(s)&&t(s)})}Ze(e){const t=e.targetId,r=e.ge.count,s=this.Xe(t);if(s){const i=s.target;if(ro(i))if(r===0){const a=new L(i.path);this.ze(t,a,Ie.newNoDocument(a,j.min()))}else Y(r===1);else{const a=this.et(t);if(a!==r){const c=this.tt(e),l=c?this.nt(c,e,a):1;if(l!==0){this.Ye(t);const d=l===2?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.Ue=this.Ue.insert(t,d)}}}}}tt(e){const t=e.ge.unchangedNames;if(!t||!t.bits)return null;const{bits:{bitmap:r="",padding:s=0},hashCount:i=0}=t;let a,c;try{a=Dt(r).toUint8Array()}catch(l){if(l instanceof zc)return yn("Decoding the base64 bloom filter in existence filter failed ("+l.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw l}try{c=new co(a,s,i)}catch(l){return yn(l instanceof _r?"BloomFilter error: ":"Applying bloom filter failed: ",l),null}return c.Ee===0?null:c}nt(e,t,r){return t.ge.count===r-this.st(e,t.targetId)?0:2}st(e,t){const r=this.ke.getRemoteKeysForTarget(t);let s=0;return r.forEach(i=>{const a=this.ke.it(),c=`projects/${a.projectId}/databases/${a.database}/documents/${i.path.canonicalString()}`;e.mightContain(c)||(this.ze(t,i,null),s++)}),s}ot(e){const t=new Map;this.qe.forEach((i,a)=>{const c=this.Xe(a);if(c){if(i.current&&ro(c.target)){const l=new L(c.target.path);this._t(l).has(a)||this.ut(a,l)||this.ze(a,l,Ie.newNoDocument(l,e))}i.ve&&(t.set(a,i.Fe()),i.Me())}});let r=W();this.Ke.forEach((i,a)=>{let c=!0;a.forEachWhile(l=>{const d=this.Xe(l);return!d||d.purpose==="TargetPurposeLimboResolution"||(c=!1,!1)}),c&&(r=r.add(i))}),this.Qe.forEach((i,a)=>a.setReadTime(e));const s=new bs(e,t,this.Ue,this.Qe,r);return this.Qe=pt(),this.$e=Ss(),this.Ke=Ss(),this.Ue=new re(G),s}Ge(e,t){if(!this.Je(e))return;const r=this.ut(e,t.key)?2:0;this.He(e).xe(t.key,r),this.Qe=this.Qe.insert(t.key,t),this.$e=this.$e.insert(t.key,this._t(t.key).add(e)),this.Ke=this.Ke.insert(t.key,this.ct(t.key).add(e))}ze(e,t,r){if(!this.Je(e))return;const s=this.He(e);this.ut(e,t)?s.xe(t,1):s.Oe(t),this.Ke=this.Ke.insert(t,this.ct(t).delete(e)),this.Ke=this.Ke.insert(t,this.ct(t).add(e)),r&&(this.Qe=this.Qe.insert(t,r))}removeTarget(e){this.qe.delete(e)}et(e){const t=this.He(e).Fe();return this.ke.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size}Ne(e){this.He(e).Ne()}He(e){let t=this.qe.get(e);return t||(t=new Lu,this.qe.set(e,t)),t}ct(e){let t=this.Ke.get(e);return t||(t=new le(G),this.Ke=this.Ke.insert(e,t)),t}_t(e){let t=this.$e.get(e);return t||(t=new le(G),this.$e=this.$e.insert(e,t)),t}Je(e){const t=this.Xe(e)!==null;return t||V("WatchChangeAggregator","Detected inactive target",e),t}Xe(e){const t=this.qe.get(e);return t&&t.De?null:this.ke.lt(e)}Ye(e){this.qe.set(e,new Lu),this.ke.getRemoteKeysForTarget(e).forEach(t=>{this.ze(e,t,null)})}ut(e,t){return this.ke.getRemoteKeysForTarget(e).has(t)}}function Ss(){return new re(L.comparator)}function Mu(){return new re(L.comparator)}const Ug={asc:"ASCENDING",desc:"DESCENDING"},xg={"<":"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"},Fg={and:"AND",or:"OR"};class Bg{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function uo(n,e){return n.useProto3Json||is(e)?e:{value:e}}function Cs(n,e){return n.useProto3Json?`${new Date(1e3*e.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+e.nanoseconds).slice(-9)}Z`:{seconds:""+e.seconds,nanos:e.nanoseconds}}function Uu(n,e){return n.useProto3Json?e.toBase64():e.toUint8Array()}function jg(n,e){return Cs(n,e.toTimestamp())}function rt(n){return Y(!!n),j.fromTimestamp(function(t){const r=Nt(t);return new ue(r.seconds,r.nanos)}(n))}function lo(n,e){return ho(n,e).canonicalString()}function ho(n,e){const t=function(s){return new ee(["projects",s.projectId,"databases",s.database])}(n).child("documents");return e===void 0?t:t.child(e)}function xu(n){const e=ee.fromString(n);return Y(zu(e)),e}function fo(n,e){return lo(n.databaseId,e.path)}function po(n,e){const t=xu(e);if(t.get(1)!==n.databaseId.projectId)throw new O(P.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+t.get(1)+" vs "+n.databaseId.projectId);if(t.get(3)!==n.databaseId.database)throw new O(P.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+t.get(3)+" vs "+n.databaseId.database);return new L(Bu(t))}function Fu(n,e){return lo(n.databaseId,e)}function qg(n){const e=xu(n);return e.length===4?ee.emptyPath():Bu(e)}function mo(n){return new ee(["projects",n.databaseId.projectId,"databases",n.databaseId.database]).canonicalString()}function Bu(n){return Y(n.length>4&&n.get(4)==="documents"),n.popFirst(5)}function ju(n,e,t){return{name:fo(n,e),fields:t.value.mapValue.fields}}function $g(n,e){let t;if("targetChange"in e){e.targetChange;const r=function(d){return d==="NO_CHANGE"?0:d==="ADD"?1:d==="REMOVE"?2:d==="CURRENT"?3:d==="RESET"?4:F()}(e.targetChange.targetChangeType||"NO_CHANGE"),s=e.targetChange.targetIds||[],i=function(d,f){return d.useProto3Json?(Y(f===void 0||typeof f=="string"),_e.fromBase64String(f||"")):(Y(f===void 0||f instanceof Buffer||f instanceof Uint8Array),_e.fromUint8Array(f||new Uint8Array))}(n,e.targetChange.resumeToken),a=e.targetChange.cause,c=a&&function(d){const f=d.code===void 0?P.UNKNOWN:ku(d.code);return new O(f,d.message||"")}(a);t=new Vu(r,s,i,c||null)}else if("documentChange"in e){e.documentChange;const r=e.documentChange;r.document,r.document.name,r.document.updateTime;const s=po(n,r.document.name),i=rt(r.document.updateTime),a=r.document.createTime?rt(r.document.createTime):j.min(),c=new De({mapValue:{fields:r.document.fields}}),l=Ie.newFoundDocument(s,i,a,c),d=r.targetIds||[],f=r.removedTargetIds||[];t=new Ps(d,f,l.key,l)}else if("documentDelete"in e){e.documentDelete;const r=e.documentDelete;r.document;const s=po(n,r.document),i=r.readTime?rt(r.readTime):j.min(),a=Ie.newNoDocument(s,i),c=r.removedTargetIds||[];t=new Ps([],c,a.key,a)}else if("documentRemove"in e){e.documentRemove;const r=e.documentRemove;r.document;const s=po(n,r.document),i=r.removedTargetIds||[];t=new Ps([],i,s,null)}else{if(!("filter"in e))return F();{e.filter;const r=e.filter;r.targetId;const{count:s=0,unchangedNames:i}=r,a=new Dg(s,i),c=r.targetId;t=new Ou(c,a)}}return t}function Hg(n,e){let t;if(e instanceof gr)t={update:ju(n,e.key,e.value)};else if(e instanceof Rs)t={delete:fo(n,e.key)};else if(e instanceof Vt)t={update:ju(n,e.key,e.data),updateMask:Zg(e.fieldMask)};else{if(!(e instanceof Sg))return F();t={verify:fo(n,e.key)}}return e.fieldTransforms.length>0&&(t.updateTransforms=e.fieldTransforms.map(r=>function(i,a){const c=a.transform;if(c instanceof Ts)return{fieldPath:a.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(c instanceof fr)return{fieldPath:a.field.canonicalString(),appendMissingElements:{values:c.elements}};if(c instanceof pr)return{fieldPath:a.field.canonicalString(),removeAllFromArray:{values:c.elements}};if(c instanceof ws)return{fieldPath:a.field.canonicalString(),increment:c.Ie};throw F()}(0,r))),e.precondition.isNone||(t.currentDocument=function(s,i){return i.updateTime!==void 0?{updateTime:jg(s,i.updateTime)}:i.exists!==void 0?{exists:i.exists}:F()}(n,e.precondition)),t}function zg(n,e){return n&&n.length>0?(Y(e!==void 0),n.map(t=>function(s,i){let a=s.updateTime?rt(s.updateTime):rt(i);return a.isEqual(j.min())&&(a=rt(i)),new Rg(a,s.transformResults||[])}(t,e))):[]}function Wg(n,e){return{documents:[Fu(n,e.path)]}}function qu(n,e){const t={structuredQuery:{}},r=e.path;let s;e.collectionGroup!==null?(s=r,t.structuredQuery.from=[{collectionId:e.collectionGroup,allDescendants:!0}]):(s=r.popLast(),t.structuredQuery.from=[{collectionId:r.lastSegment()}]),t.parent=Fu(n,s);const i=function(d){if(d.length!==0)return Hu(We.create(d,"and"))}(e.filters);i&&(t.structuredQuery.where=i);const a=function(d){if(d.length!==0)return d.map(f=>function(v){return{field:Lt(v.field),direction:Xg(v.dir)}}(f))}(e.orderBy);a&&(t.structuredQuery.orderBy=a);const c=uo(n,e.limit);return c!==null&&(t.structuredQuery.limit=c),e.startAt&&(t.structuredQuery.startAt=function(d){return{before:d.inclusive,values:d.position}}(e.startAt)),e.endAt&&(t.structuredQuery.endAt=function(d){return{before:!d.inclusive,values:d.position}}(e.endAt)),{ht:t,parent:s}}function Gg(n,e,t,r){const{ht:s,parent:i}=qu(n,e),a={},c=[];let l=0;return t.forEach(d=>{const f="aggregate_"+l++;a[f]=d.alias,d.aggregateType==="count"?c.push({alias:f,count:{}}):d.aggregateType==="avg"?c.push({alias:f,avg:{field:Lt(d.fieldPath)}}):d.aggregateType==="sum"&&c.push({alias:f,sum:{field:Lt(d.fieldPath)}})}),{request:{structuredAggregationQuery:{aggregations:c,structuredQuery:s.structuredQuery},parent:s.parent},Pt:a,parent:i}}function Kg(n){let e=qg(n.parent);const t=n.structuredQuery,r=t.from?t.from.length:0;let s=null;if(r>0){Y(r===1);const f=t.from[0];f.allDescendants?s=f.collectionId:e=e.child(f.collectionId)}let i=[];t.where&&(i=function(m){const v=$u(m);return v instanceof We&&au(v)?v.getFilters():[v]}(t.where));let a=[];t.orderBy&&(a=function(m){return m.map(v=>function(S){return new lr(Pn(S.field),function(k){switch(k){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(S.direction))}(v))}(t.orderBy));let c=null;t.limit&&(c=function(m){let v;return v=typeof m=="object"?m.value:m,is(v)?null:v}(t.limit));let l=null;t.startAt&&(l=function(m){const v=!!m.before,R=m.values||[];return new An(R,v)}(t.startAt));let d=null;return t.endAt&&(d=function(m){const v=!m.before,R=m.values||[];return new An(R,v)}(t.endAt)),dg(e,s,a,i,c,"F",l,d)}function Qg(n,e){const t=function(s){switch(s){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return F()}}(e.purpose);return t==null?null:{"goog-listen-tags":t}}function $u(n){return n.unaryFilter!==void 0?function(t){switch(t.unaryFilter.op){case"IS_NAN":const r=Pn(t.unaryFilter.field);return ae.create(r,"==",{doubleValue:NaN});case"IS_NULL":const s=Pn(t.unaryFilter.field);return ae.create(s,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":const i=Pn(t.unaryFilter.field);return ae.create(i,"!=",{doubleValue:NaN});case"IS_NOT_NULL":const a=Pn(t.unaryFilter.field);return ae.create(a,"!=",{nullValue:"NULL_VALUE"});default:return F()}}(n):n.fieldFilter!==void 0?function(t){return ae.create(Pn(t.fieldFilter.field),function(s){switch(s){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";default:return F()}}(t.fieldFilter.op),t.fieldFilter.value)}(n):n.compositeFilter!==void 0?function(t){return We.create(t.compositeFilter.filters.map(r=>$u(r)),function(s){switch(s){case"AND":return"and";case"OR":return"or";default:return F()}}(t.compositeFilter.op))}(n):F()}function Xg(n){return Ug[n]}function Yg(n){return xg[n]}function Jg(n){return Fg[n]}function Lt(n){return{fieldPath:n.canonicalString()}}function Pn(n){return me.fromServerFormat(n.fieldPath)}function Hu(n){return n instanceof ae?function(t){if(t.op==="=="){if(tu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NAN"}};if(eu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NULL"}}}else if(t.op==="!="){if(tu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NOT_NAN"}};if(eu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:Lt(t.field),op:Yg(t.op),value:t.value}}}(n):n instanceof We?function(t){const r=t.getFilters().map(s=>Hu(s));return r.length===1?r[0]:{compositeFilter:{op:Jg(t.op),filters:r}}}(n):F()}function Zg(n){const e=[];return n.fields.forEach(t=>e.push(t.canonicalString())),{fieldPaths:e}}function zu(n){return n.length>=4&&n.get(0)==="projects"&&n.get(2)==="databases"}/**
1121
+ */class Ps{constructor(e,t,r,s){this.me=e,this.removedTargetIds=t,this.key=r,this.fe=s}}class Vu{constructor(e,t){this.targetId=e,this.ge=t}}class Lu{constructor(e,t,r=_e.EMPTY_BYTE_STRING,s=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=s}}class Mu{constructor(){this.pe=0,this.ye=Uu(),this.we=_e.EMPTY_BYTE_STRING,this.be=!1,this.Se=!0}get current(){return this.be}get resumeToken(){return this.we}get De(){return this.pe!==0}get ve(){return this.Se}Ce(e){e.approximateByteSize()>0&&(this.Se=!0,this.we=e)}Fe(){let e=W(),t=W(),r=W();return this.ye.forEach((s,i)=>{switch(i){case 0:e=e.add(s);break;case 2:t=t.add(s);break;case 1:r=r.add(s);break;default:F()}}),new vr(this.we,this.be,e,t,r)}Me(){this.Se=!1,this.ye=Uu()}xe(e,t){this.Se=!0,this.ye=this.ye.insert(e,t)}Oe(e){this.Se=!0,this.ye=this.ye.remove(e)}Ne(){this.pe+=1}Be(){this.pe-=1,Y(this.pe>=0)}Le(){this.Se=!0,this.be=!0}}class Ug{constructor(e){this.ke=e,this.qe=new Map,this.Qe=pt(),this.$e=Ss(),this.Ke=Ss(),this.Ue=new re(G)}We(e){for(const t of e.me)e.fe&&e.fe.isFoundDocument()?this.Ge(t,e.fe):this.ze(t,e.key,e.fe);for(const t of e.removedTargetIds)this.ze(t,e.key,e.fe)}je(e){this.forEachTarget(e,t=>{const r=this.He(t);switch(e.state){case 0:this.Je(t)&&r.Ce(e.resumeToken);break;case 1:r.Be(),r.De||r.Me(),r.Ce(e.resumeToken);break;case 2:r.Be(),r.De||this.removeTarget(t);break;case 3:this.Je(t)&&(r.Le(),r.Ce(e.resumeToken));break;case 4:this.Je(t)&&(this.Ye(t),r.Ce(e.resumeToken));break;default:F()}})}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.qe.forEach((r,s)=>{this.Je(s)&&t(s)})}Ze(e){const t=e.targetId,r=e.ge.count,s=this.Xe(t);if(s){const i=s.target;if(ro(i))if(r===0){const a=new L(i.path);this.ze(t,a,Ie.newNoDocument(a,j.min()))}else Y(r===1);else{const a=this.et(t);if(a!==r){const c=this.tt(e),l=c?this.nt(c,e,a):1;if(l!==0){this.Ye(t);const d=l===2?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.Ue=this.Ue.insert(t,d)}}}}}tt(e){const t=e.ge.unchangedNames;if(!t||!t.bits)return null;const{bits:{bitmap:r="",padding:s=0},hashCount:i=0}=t;let a,c;try{a=Dt(r).toUint8Array()}catch(l){if(l instanceof Wc)return yn("Decoding the base64 bloom filter in existence filter failed ("+l.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw l}try{c=new co(a,s,i)}catch(l){return yn(l instanceof yr?"BloomFilter error: ":"Applying bloom filter failed: ",l),null}return c.Ee===0?null:c}nt(e,t,r){return t.ge.count===r-this.st(e,t.targetId)?0:2}st(e,t){const r=this.ke.getRemoteKeysForTarget(t);let s=0;return r.forEach(i=>{const a=this.ke.it(),c=`projects/${a.projectId}/databases/${a.database}/documents/${i.path.canonicalString()}`;e.mightContain(c)||(this.ze(t,i,null),s++)}),s}ot(e){const t=new Map;this.qe.forEach((i,a)=>{const c=this.Xe(a);if(c){if(i.current&&ro(c.target)){const l=new L(c.target.path);this._t(l).has(a)||this.ut(a,l)||this.ze(a,l,Ie.newNoDocument(l,e))}i.ve&&(t.set(a,i.Fe()),i.Me())}});let r=W();this.Ke.forEach((i,a)=>{let c=!0;a.forEachWhile(l=>{const d=this.Xe(l);return!d||d.purpose==="TargetPurposeLimboResolution"||(c=!1,!1)}),c&&(r=r.add(i))}),this.Qe.forEach((i,a)=>a.setReadTime(e));const s=new bs(e,t,this.Ue,this.Qe,r);return this.Qe=pt(),this.$e=Ss(),this.Ke=Ss(),this.Ue=new re(G),s}Ge(e,t){if(!this.Je(e))return;const r=this.ut(e,t.key)?2:0;this.He(e).xe(t.key,r),this.Qe=this.Qe.insert(t.key,t),this.$e=this.$e.insert(t.key,this._t(t.key).add(e)),this.Ke=this.Ke.insert(t.key,this.ct(t.key).add(e))}ze(e,t,r){if(!this.Je(e))return;const s=this.He(e);this.ut(e,t)?s.xe(t,1):s.Oe(t),this.Ke=this.Ke.insert(t,this.ct(t).delete(e)),this.Ke=this.Ke.insert(t,this.ct(t).add(e)),r&&(this.Qe=this.Qe.insert(t,r))}removeTarget(e){this.qe.delete(e)}et(e){const t=this.He(e).Fe();return this.ke.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size}Ne(e){this.He(e).Ne()}He(e){let t=this.qe.get(e);return t||(t=new Mu,this.qe.set(e,t)),t}ct(e){let t=this.Ke.get(e);return t||(t=new le(G),this.Ke=this.Ke.insert(e,t)),t}_t(e){let t=this.$e.get(e);return t||(t=new le(G),this.$e=this.$e.insert(e,t)),t}Je(e){const t=this.Xe(e)!==null;return t||V("WatchChangeAggregator","Detected inactive target",e),t}Xe(e){const t=this.qe.get(e);return t&&t.De?null:this.ke.lt(e)}Ye(e){this.qe.set(e,new Mu),this.ke.getRemoteKeysForTarget(e).forEach(t=>{this.ze(e,t,null)})}ut(e,t){return this.ke.getRemoteKeysForTarget(e).has(t)}}function Ss(){return new re(L.comparator)}function Uu(){return new re(L.comparator)}const xg={asc:"ASCENDING",desc:"DESCENDING"},Fg={"<":"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"},Bg={and:"AND",or:"OR"};class jg{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function uo(n,e){return n.useProto3Json||is(e)?e:{value:e}}function Cs(n,e){return n.useProto3Json?`${new Date(1e3*e.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+e.nanoseconds).slice(-9)}Z`:{seconds:""+e.seconds,nanos:e.nanoseconds}}function xu(n,e){return n.useProto3Json?e.toBase64():e.toUint8Array()}function qg(n,e){return Cs(n,e.toTimestamp())}function rt(n){return Y(!!n),j.fromTimestamp(function(t){const r=Nt(t);return new ue(r.seconds,r.nanos)}(n))}function lo(n,e){return ho(n,e).canonicalString()}function ho(n,e){const t=function(s){return new ee(["projects",s.projectId,"databases",s.database])}(n).child("documents");return e===void 0?t:t.child(e)}function Fu(n){const e=ee.fromString(n);return Y(Wu(e)),e}function fo(n,e){return lo(n.databaseId,e.path)}function po(n,e){const t=Fu(e);if(t.get(1)!==n.databaseId.projectId)throw new O(P.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+t.get(1)+" vs "+n.databaseId.projectId);if(t.get(3)!==n.databaseId.database)throw new O(P.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+t.get(3)+" vs "+n.databaseId.database);return new L(ju(t))}function Bu(n,e){return lo(n.databaseId,e)}function $g(n){const e=Fu(n);return e.length===4?ee.emptyPath():ju(e)}function mo(n){return new ee(["projects",n.databaseId.projectId,"databases",n.databaseId.database]).canonicalString()}function ju(n){return Y(n.length>4&&n.get(4)==="documents"),n.popFirst(5)}function qu(n,e,t){return{name:fo(n,e),fields:t.value.mapValue.fields}}function Hg(n,e){let t;if("targetChange"in e){e.targetChange;const r=function(d){return d==="NO_CHANGE"?0:d==="ADD"?1:d==="REMOVE"?2:d==="CURRENT"?3:d==="RESET"?4:F()}(e.targetChange.targetChangeType||"NO_CHANGE"),s=e.targetChange.targetIds||[],i=function(d,f){return d.useProto3Json?(Y(f===void 0||typeof f=="string"),_e.fromBase64String(f||"")):(Y(f===void 0||f instanceof Buffer||f instanceof Uint8Array),_e.fromUint8Array(f||new Uint8Array))}(n,e.targetChange.resumeToken),a=e.targetChange.cause,c=a&&function(d){const f=d.code===void 0?P.UNKNOWN:Nu(d.code);return new O(f,d.message||"")}(a);t=new Lu(r,s,i,c||null)}else if("documentChange"in e){e.documentChange;const r=e.documentChange;r.document,r.document.name,r.document.updateTime;const s=po(n,r.document.name),i=rt(r.document.updateTime),a=r.document.createTime?rt(r.document.createTime):j.min(),c=new De({mapValue:{fields:r.document.fields}}),l=Ie.newFoundDocument(s,i,a,c),d=r.targetIds||[],f=r.removedTargetIds||[];t=new Ps(d,f,l.key,l)}else if("documentDelete"in e){e.documentDelete;const r=e.documentDelete;r.document;const s=po(n,r.document),i=r.readTime?rt(r.readTime):j.min(),a=Ie.newNoDocument(s,i),c=r.removedTargetIds||[];t=new Ps([],c,a.key,a)}else if("documentRemove"in e){e.documentRemove;const r=e.documentRemove;r.document;const s=po(n,r.document),i=r.removedTargetIds||[];t=new Ps([],i,s,null)}else{if(!("filter"in e))return F();{e.filter;const r=e.filter;r.targetId;const{count:s=0,unchangedNames:i}=r,a=new Og(s,i),c=r.targetId;t=new Vu(c,a)}}return t}function zg(n,e){let t;if(e instanceof _r)t={update:qu(n,e.key,e.value)};else if(e instanceof Rs)t={delete:fo(n,e.key)};else if(e instanceof Vt)t={update:qu(n,e.key,e.data),updateMask:e_(e.fieldMask)};else{if(!(e instanceof Cg))return F();t={verify:fo(n,e.key)}}return e.fieldTransforms.length>0&&(t.updateTransforms=e.fieldTransforms.map(r=>function(i,a){const c=a.transform;if(c instanceof Ts)return{fieldPath:a.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(c instanceof pr)return{fieldPath:a.field.canonicalString(),appendMissingElements:{values:c.elements}};if(c instanceof mr)return{fieldPath:a.field.canonicalString(),removeAllFromArray:{values:c.elements}};if(c instanceof ws)return{fieldPath:a.field.canonicalString(),increment:c.Ie};throw F()}(0,r))),e.precondition.isNone||(t.currentDocument=function(s,i){return i.updateTime!==void 0?{updateTime:qg(s,i.updateTime)}:i.exists!==void 0?{exists:i.exists}:F()}(n,e.precondition)),t}function Wg(n,e){return n&&n.length>0?(Y(e!==void 0),n.map(t=>function(s,i){let a=s.updateTime?rt(s.updateTime):rt(i);return a.isEqual(j.min())&&(a=rt(i)),new bg(a,s.transformResults||[])}(t,e))):[]}function Gg(n,e){return{documents:[Bu(n,e.path)]}}function $u(n,e){const t={structuredQuery:{}},r=e.path;let s;e.collectionGroup!==null?(s=r,t.structuredQuery.from=[{collectionId:e.collectionGroup,allDescendants:!0}]):(s=r.popLast(),t.structuredQuery.from=[{collectionId:r.lastSegment()}]),t.parent=Bu(n,s);const i=function(d){if(d.length!==0)return zu(We.create(d,"and"))}(e.filters);i&&(t.structuredQuery.where=i);const a=function(d){if(d.length!==0)return d.map(f=>function(v){return{field:Lt(v.field),direction:Yg(v.dir)}}(f))}(e.orderBy);a&&(t.structuredQuery.orderBy=a);const c=uo(n,e.limit);return c!==null&&(t.structuredQuery.limit=c),e.startAt&&(t.structuredQuery.startAt=function(d){return{before:d.inclusive,values:d.position}}(e.startAt)),e.endAt&&(t.structuredQuery.endAt=function(d){return{before:!d.inclusive,values:d.position}}(e.endAt)),{ht:t,parent:s}}function Kg(n,e,t,r){const{ht:s,parent:i}=$u(n,e),a={},c=[];let l=0;return t.forEach(d=>{const f="aggregate_"+l++;a[f]=d.alias,d.aggregateType==="count"?c.push({alias:f,count:{}}):d.aggregateType==="avg"?c.push({alias:f,avg:{field:Lt(d.fieldPath)}}):d.aggregateType==="sum"&&c.push({alias:f,sum:{field:Lt(d.fieldPath)}})}),{request:{structuredAggregationQuery:{aggregations:c,structuredQuery:s.structuredQuery},parent:s.parent},Pt:a,parent:i}}function Qg(n){let e=$g(n.parent);const t=n.structuredQuery,r=t.from?t.from.length:0;let s=null;if(r>0){Y(r===1);const f=t.from[0];f.allDescendants?s=f.collectionId:e=e.child(f.collectionId)}let i=[];t.where&&(i=function(m){const v=Hu(m);return v instanceof We&&cu(v)?v.getFilters():[v]}(t.where));let a=[];t.orderBy&&(a=function(m){return m.map(v=>function(S){return new hr(Pn(S.field),function(k){switch(k){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(S.direction))}(v))}(t.orderBy));let c=null;t.limit&&(c=function(m){let v;return v=typeof m=="object"?m.value:m,is(v)?null:v}(t.limit));let l=null;t.startAt&&(l=function(m){const v=!!m.before,R=m.values||[];return new An(R,v)}(t.startAt));let d=null;return t.endAt&&(d=function(m){const v=!m.before,R=m.values||[];return new An(R,v)}(t.endAt)),fg(e,s,a,i,c,"F",l,d)}function Xg(n,e){const t=function(s){switch(s){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return F()}}(e.purpose);return t==null?null:{"goog-listen-tags":t}}function Hu(n){return n.unaryFilter!==void 0?function(t){switch(t.unaryFilter.op){case"IS_NAN":const r=Pn(t.unaryFilter.field);return ae.create(r,"==",{doubleValue:NaN});case"IS_NULL":const s=Pn(t.unaryFilter.field);return ae.create(s,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":const i=Pn(t.unaryFilter.field);return ae.create(i,"!=",{doubleValue:NaN});case"IS_NOT_NULL":const a=Pn(t.unaryFilter.field);return ae.create(a,"!=",{nullValue:"NULL_VALUE"});default:return F()}}(n):n.fieldFilter!==void 0?function(t){return ae.create(Pn(t.fieldFilter.field),function(s){switch(s){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";default:return F()}}(t.fieldFilter.op),t.fieldFilter.value)}(n):n.compositeFilter!==void 0?function(t){return We.create(t.compositeFilter.filters.map(r=>Hu(r)),function(s){switch(s){case"AND":return"and";case"OR":return"or";default:return F()}}(t.compositeFilter.op))}(n):F()}function Yg(n){return xg[n]}function Jg(n){return Fg[n]}function Zg(n){return Bg[n]}function Lt(n){return{fieldPath:n.canonicalString()}}function Pn(n){return me.fromServerFormat(n.fieldPath)}function zu(n){return n instanceof ae?function(t){if(t.op==="=="){if(nu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NAN"}};if(tu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NULL"}}}else if(t.op==="!="){if(nu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NOT_NAN"}};if(tu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:Lt(t.field),op:Jg(t.op),value:t.value}}}(n):n instanceof We?function(t){const r=t.getFilters().map(s=>zu(s));return r.length===1?r[0]:{compositeFilter:{op:Zg(t.op),filters:r}}}(n):F()}function e_(n){const e=[];return n.fields.forEach(t=>e.push(t.canonicalString())),{fieldPaths:e}}function Wu(n){return n.length>=4&&n.get(0)==="projects"&&n.get(2)==="databases"}/**
1137
1122
  * @license
1138
1123
  * Copyright 2017 Google LLC
1139
1124
  *
@@ -1163,7 +1148,7 @@ SPDX-License-Identifier: Apache-2.0
1163
1148
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1164
1149
  * See the License for the specific language governing permissions and
1165
1150
  * limitations under the License.
1166
- */class e_{constructor(e){this.Tt=e}}function t_(n){const e=Kg({parent:n.parent,structuredQuery:n.structuredQuery});return n.limitType==="LAST"?_s(e,e.limit,"L"):e}/**
1151
+ */class t_{constructor(e){this.Tt=e}}function n_(n){const e=Qg({parent:n.parent,structuredQuery:n.structuredQuery});return n.limitType==="LAST"?_s(e,e.limit,"L"):e}/**
1167
1152
  * @license
1168
1153
  * Copyright 2019 Google LLC
1169
1154
  *
@@ -1178,7 +1163,7 @@ SPDX-License-Identifier: Apache-2.0
1178
1163
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1179
1164
  * See the License for the specific language governing permissions and
1180
1165
  * limitations under the License.
1181
- */class n_{constructor(){this.Tn=new r_}addToCollectionParentIndex(e,t){return this.Tn.add(t),C.resolve()}getCollectionParents(e,t){return C.resolve(this.Tn.getEntries(t))}addFieldIndex(e,t){return C.resolve()}deleteFieldIndex(e,t){return C.resolve()}deleteAllFieldIndexes(e){return C.resolve()}createTargetIndexes(e,t){return C.resolve()}getDocumentsMatchingTarget(e,t){return C.resolve(null)}getIndexType(e,t){return C.resolve(0)}getFieldIndexes(e,t){return C.resolve([])}getNextCollectionGroupToUpdate(e){return C.resolve(null)}getMinOffset(e,t){return C.resolve(Ct.min())}getMinOffsetFromCollectionGroup(e,t){return C.resolve(Ct.min())}updateCollectionGroup(e,t,r){return C.resolve()}updateIndexEntries(e,t){return C.resolve()}}class r_{constructor(){this.index={}}add(e){const t=e.lastSegment(),r=e.popLast(),s=this.index[t]||new le(ee.comparator),i=!s.has(r);return this.index[t]=s.add(r),i}has(e){const t=e.lastSegment(),r=e.popLast(),s=this.index[t];return s&&s.has(r)}getEntries(e){return(this.index[e]||new le(ee.comparator)).toArray()}}/**
1166
+ */class r_{constructor(){this.Tn=new s_}addToCollectionParentIndex(e,t){return this.Tn.add(t),C.resolve()}getCollectionParents(e,t){return C.resolve(this.Tn.getEntries(t))}addFieldIndex(e,t){return C.resolve()}deleteFieldIndex(e,t){return C.resolve()}deleteAllFieldIndexes(e){return C.resolve()}createTargetIndexes(e,t){return C.resolve()}getDocumentsMatchingTarget(e,t){return C.resolve(null)}getIndexType(e,t){return C.resolve(0)}getFieldIndexes(e,t){return C.resolve([])}getNextCollectionGroupToUpdate(e){return C.resolve(null)}getMinOffset(e,t){return C.resolve(Ct.min())}getMinOffsetFromCollectionGroup(e,t){return C.resolve(Ct.min())}updateCollectionGroup(e,t,r){return C.resolve()}updateIndexEntries(e,t){return C.resolve()}}class s_{constructor(){this.index={}}add(e){const t=e.lastSegment(),r=e.popLast(),s=this.index[t]||new le(ee.comparator),i=!s.has(r);return this.index[t]=s.add(r),i}has(e){const t=e.lastSegment(),r=e.popLast(),s=this.index[t];return s&&s.has(r)}getEntries(e){return(this.index[e]||new le(ee.comparator)).toArray()}}/**
1182
1167
  * @license
1183
1168
  * Copyright 2018 Google LLC
1184
1169
  *
@@ -1193,7 +1178,7 @@ SPDX-License-Identifier: Apache-2.0
1193
1178
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1194
1179
  * See the License for the specific language governing permissions and
1195
1180
  * limitations under the License.
1196
- */const Wu={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0},Gu=41943040;class Oe{static withCacheSize(e){return new Oe(e,Oe.DEFAULT_COLLECTION_PERCENTILE,Oe.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,r){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=r}}/**
1181
+ */const Gu={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0},Ku=41943040;class Oe{static withCacheSize(e){return new Oe(e,Oe.DEFAULT_COLLECTION_PERCENTILE,Oe.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,r){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=r}}/**
1197
1182
  * @license
1198
1183
  * Copyright 2017 Google LLC
1199
1184
  *
@@ -1208,7 +1193,7 @@ SPDX-License-Identifier: Apache-2.0
1208
1193
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1209
1194
  * See the License for the specific language governing permissions and
1210
1195
  * limitations under the License.
1211
- */Oe.DEFAULT_COLLECTION_PERCENTILE=10,Oe.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,Oe.DEFAULT=new Oe(Gu,Oe.DEFAULT_COLLECTION_PERCENTILE,Oe.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),Oe.DISABLED=new Oe(-1,0,0);/**
1196
+ */Oe.DEFAULT_COLLECTION_PERCENTILE=10,Oe.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,Oe.DEFAULT=new Oe(Ku,Oe.DEFAULT_COLLECTION_PERCENTILE,Oe.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),Oe.DISABLED=new Oe(-1,0,0);/**
1212
1197
  * @license
1213
1198
  * Copyright 2017 Google LLC
1214
1199
  *
@@ -1238,12 +1223,12 @@ SPDX-License-Identifier: Apache-2.0
1238
1223
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1239
1224
  * See the License for the specific language governing permissions and
1240
1225
  * limitations under the License.
1241
- */const Ku="LruGarbageCollector",s_=1048576;function Qu([n,e],[t,r]){const s=G(n,t);return s===0?G(e,r):s}class i_{constructor(e){this.Hn=e,this.buffer=new le(Qu),this.Jn=0}Yn(){return++this.Jn}Zn(e){const t=[e,this.Yn()];if(this.buffer.size<this.Hn)this.buffer=this.buffer.add(t);else{const r=this.buffer.last();Qu(t,r)<0&&(this.buffer=this.buffer.delete(r).add(t))}}get maxValue(){return this.buffer.last()[0]}}class o_{constructor(e,t,r){this.garbageCollector=e,this.asyncQueue=t,this.localStore=r,this.Xn=null}start(){this.garbageCollector.params.cacheSizeCollectionThreshold!==-1&&this.er(6e4)}stop(){this.Xn&&(this.Xn.cancel(),this.Xn=null)}get started(){return this.Xn!==null}er(e){V(Ku,`Garbage collection scheduled in ${e}ms`),this.Xn=this.asyncQueue.enqueueAfterDelay("lru_garbage_collection",e,async()=>{this.Xn=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(t){Tn(t)?V(Ku,"Ignoring IndexedDB error during garbage collection: ",t):await En(t)}await this.er(3e5)})}}class a_{constructor(e,t){this.tr=e,this.params=t}calculateTargetCount(e,t){return this.tr.nr(e).next(r=>Math.floor(t/100*r))}nthSequenceNumber(e,t){if(t===0)return C.resolve(ss.ae);const r=new i_(t);return this.tr.forEachTarget(e,s=>r.Zn(s.sequenceNumber)).next(()=>this.tr.rr(e,s=>r.Zn(s))).next(()=>r.maxValue)}removeTargets(e,t,r){return this.tr.removeTargets(e,t,r)}removeOrphanedDocuments(e,t){return this.tr.removeOrphanedDocuments(e,t)}collect(e,t){return this.params.cacheSizeCollectionThreshold===-1?(V("LruGarbageCollector","Garbage collection skipped; disabled"),C.resolve(Wu)):this.getCacheSize(e).next(r=>r<this.params.cacheSizeCollectionThreshold?(V("LruGarbageCollector",`Garbage collection skipped; Cache size ${r} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),Wu):this.ir(e,t))}getCacheSize(e){return this.tr.getCacheSize(e)}ir(e,t){let r,s,i,a,c,l,d;const f=Date.now();return this.calculateTargetCount(e,this.params.percentileToCollect).next(m=>(m>this.params.maximumSequenceNumbersToCollect?(V("LruGarbageCollector",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from ${m}`),s=this.params.maximumSequenceNumbersToCollect):s=m,a=Date.now(),this.nthSequenceNumber(e,s))).next(m=>(r=m,c=Date.now(),this.removeTargets(e,r,t))).next(m=>(i=m,l=Date.now(),this.removeOrphanedDocuments(e,r))).next(m=>(d=Date.now(),_n()<=z.DEBUG&&V("LruGarbageCollector",`LRU Garbage Collection
1226
+ */const Qu="LruGarbageCollector",i_=1048576;function Xu([n,e],[t,r]){const s=G(n,t);return s===0?G(e,r):s}class o_{constructor(e){this.Hn=e,this.buffer=new le(Xu),this.Jn=0}Yn(){return++this.Jn}Zn(e){const t=[e,this.Yn()];if(this.buffer.size<this.Hn)this.buffer=this.buffer.add(t);else{const r=this.buffer.last();Xu(t,r)<0&&(this.buffer=this.buffer.delete(r).add(t))}}get maxValue(){return this.buffer.last()[0]}}class a_{constructor(e,t,r){this.garbageCollector=e,this.asyncQueue=t,this.localStore=r,this.Xn=null}start(){this.garbageCollector.params.cacheSizeCollectionThreshold!==-1&&this.er(6e4)}stop(){this.Xn&&(this.Xn.cancel(),this.Xn=null)}get started(){return this.Xn!==null}er(e){V(Qu,`Garbage collection scheduled in ${e}ms`),this.Xn=this.asyncQueue.enqueueAfterDelay("lru_garbage_collection",e,async()=>{this.Xn=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(t){Tn(t)?V(Qu,"Ignoring IndexedDB error during garbage collection: ",t):await En(t)}await this.er(3e5)})}}class c_{constructor(e,t){this.tr=e,this.params=t}calculateTargetCount(e,t){return this.tr.nr(e).next(r=>Math.floor(t/100*r))}nthSequenceNumber(e,t){if(t===0)return C.resolve(ss.ae);const r=new o_(t);return this.tr.forEachTarget(e,s=>r.Zn(s.sequenceNumber)).next(()=>this.tr.rr(e,s=>r.Zn(s))).next(()=>r.maxValue)}removeTargets(e,t,r){return this.tr.removeTargets(e,t,r)}removeOrphanedDocuments(e,t){return this.tr.removeOrphanedDocuments(e,t)}collect(e,t){return this.params.cacheSizeCollectionThreshold===-1?(V("LruGarbageCollector","Garbage collection skipped; disabled"),C.resolve(Gu)):this.getCacheSize(e).next(r=>r<this.params.cacheSizeCollectionThreshold?(V("LruGarbageCollector",`Garbage collection skipped; Cache size ${r} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),Gu):this.ir(e,t))}getCacheSize(e){return this.tr.getCacheSize(e)}ir(e,t){let r,s,i,a,c,l,d;const f=Date.now();return this.calculateTargetCount(e,this.params.percentileToCollect).next(m=>(m>this.params.maximumSequenceNumbersToCollect?(V("LruGarbageCollector",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from ${m}`),s=this.params.maximumSequenceNumbersToCollect):s=m,a=Date.now(),this.nthSequenceNumber(e,s))).next(m=>(r=m,c=Date.now(),this.removeTargets(e,r,t))).next(m=>(i=m,l=Date.now(),this.removeOrphanedDocuments(e,r))).next(m=>(d=Date.now(),_n()<=z.DEBUG&&V("LruGarbageCollector",`LRU Garbage Collection
1242
1227
  Counted targets in ${a-f}ms
1243
1228
  Determined least recently used ${s} in `+(c-a)+`ms
1244
1229
  Removed ${i} targets in `+(l-c)+`ms
1245
1230
  Removed ${m} documents in `+(d-l)+`ms
1246
- Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targetsRemoved:i,documentsRemoved:m})))}}function c_(n,e){return new a_(n,e)}/**
1231
+ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targetsRemoved:i,documentsRemoved:m})))}}function u_(n,e){return new c_(n,e)}/**
1247
1232
  * @license
1248
1233
  * Copyright 2017 Google LLC
1249
1234
  *
@@ -1258,7 +1243,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1258
1243
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1259
1244
  * See the License for the specific language governing permissions and
1260
1245
  * limitations under the License.
1261
- */class u_{constructor(){this.changes=new Zt(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,Ie.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();const r=this.changes.get(t);return r!==void 0?C.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(){}}/**
1246
+ */class l_{constructor(){this.changes=new en(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,Ie.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();const r=this.changes.get(t);return r!==void 0?C.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(){}}/**
1262
1247
  * @license
1263
1248
  * Copyright 2017 Google LLC
1264
1249
  *
@@ -1288,7 +1273,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1288
1273
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1289
1274
  * See the License for the specific language governing permissions and
1290
1275
  * limitations under the License.
1291
- */class l_{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}/**
1276
+ */class h_{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}/**
1292
1277
  * @license
1293
1278
  * Copyright 2017 Google LLC
1294
1279
  *
@@ -1303,7 +1288,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1303
1288
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1304
1289
  * See the License for the specific language governing permissions and
1305
1290
  * limitations under the License.
1306
- */class h_{constructor(e,t,r,s){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=r,this.indexManager=s}getDocument(e,t){let r=null;return this.documentOverlayCache.getOverlay(e,t).next(s=>(r=s,this.remoteDocumentCache.getEntry(e,t))).next(s=>(r!==null&&mr(r.mutation,s,Fe.empty(),ue.now()),s))}getDocuments(e,t){return this.remoteDocumentCache.getEntries(e,t).next(r=>this.getLocalViewOfDocuments(e,r,W()).next(()=>r))}getLocalViewOfDocuments(e,t,r=W()){const s=en();return this.populateOverlays(e,s,t).next(()=>this.computeViews(e,t,s,r).next(i=>{let a=hr();return i.forEach((c,l)=>{a=a.insert(c,l.overlayedDocument)}),a}))}getOverlayedDocuments(e,t){const r=en();return this.populateOverlays(e,r,t).next(()=>this.computeViews(e,t,r,W()))}populateOverlays(e,t,r){const s=[];return r.forEach(i=>{t.has(i)||s.push(i)}),this.documentOverlayCache.getOverlays(e,s).next(i=>{i.forEach((a,c)=>{t.set(a,c)})})}computeViews(e,t,r,s){let i=pt();const a=dr(),c=function(){return dr()}();return t.forEach((l,d)=>{const f=r.get(d.key);s.has(d.key)&&(f===void 0||f.mutation instanceof Vt)?i=i.insert(d.key,d):f!==void 0?(a.set(d.key,f.mutation.getFieldMask()),mr(f.mutation,d,f.mutation.getFieldMask(),ue.now())):a.set(d.key,Fe.empty())}),this.recalculateAndSaveOverlays(e,i).next(l=>(l.forEach((d,f)=>a.set(d,f)),t.forEach((d,f)=>{var m;return c.set(d,new l_(f,(m=a.get(d))!==null&&m!==void 0?m:null))}),c))}recalculateAndSaveOverlays(e,t){const r=dr();let s=new re((a,c)=>a-c),i=W();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(e,t).next(a=>{for(const c of a)c.keys().forEach(l=>{const d=t.get(l);if(d===null)return;let f=r.get(l)||Fe.empty();f=c.applyToLocalView(d,f),r.set(l,f);const m=(s.get(c.batchId)||W()).add(l);s=s.insert(c.batchId,m)})}).next(()=>{const a=[],c=s.getReverseIterator();for(;c.hasNext();){const l=c.getNext(),d=l.key,f=l.value,m=yu();f.forEach(v=>{if(!i.has(v)){const R=Ru(t.get(v),r.get(v));R!==null&&m.set(v,R),i=i.add(v)}}),a.push(this.documentOverlayCache.saveOverlays(e,d,m))}return C.waitFor(a)}).next(()=>r)}recalculateAndSaveOverlaysForDocumentKeys(e,t){return this.remoteDocumentCache.getEntries(e,t).next(r=>this.recalculateAndSaveOverlays(e,r))}getDocumentsMatchingQuery(e,t,r,s){return function(a){return L.isDocumentKey(a.path)&&a.collectionGroup===null&&a.filters.length===0}(t)?this.getDocumentsMatchingDocumentQuery(e,t.path):so(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,r,s):this.getDocumentsMatchingCollectionQuery(e,t,r,s)}getNextDocuments(e,t,r,s){return this.remoteDocumentCache.getAllFromCollectionGroup(e,t,r,s).next(i=>{const a=s-i.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(e,t,r.largestBatchId,s-i.size):C.resolve(en());let c=ir,l=i;return a.next(d=>C.forEach(d,(f,m)=>(c<m.largestBatchId&&(c=m.largestBatchId),i.get(f)?C.resolve():this.remoteDocumentCache.getEntry(e,f).next(v=>{l=l.insert(f,v)}))).next(()=>this.populateOverlays(e,d,i)).next(()=>this.computeViews(e,l,d,W())).next(f=>({batchId:c,changes:_u(f)})))})}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new L(t)).next(r=>{let s=hr();return r.isFoundDocument()&&(s=s.insert(r.key,r)),s})}getDocumentsMatchingCollectionGroupQuery(e,t,r,s){const i=t.collectionGroup;let a=hr();return this.indexManager.getCollectionParents(e,i).next(c=>C.forEach(c,l=>{const d=function(m,v){return new Jt(v,null,m.explicitOrderBy.slice(),m.filters.slice(),m.limit,m.limitType,m.startAt,m.endAt)}(t,l.child(i));return this.getDocumentsMatchingCollectionQuery(e,d,r,s).next(f=>{f.forEach((m,v)=>{a=a.insert(m,v)})})}).next(()=>a))}getDocumentsMatchingCollectionQuery(e,t,r,s){let i;return this.documentOverlayCache.getOverlaysForCollection(e,t.path,r.largestBatchId).next(a=>(i=a,this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,r,i,s))).next(a=>{i.forEach((l,d)=>{const f=d.getKey();a.get(f)===null&&(a=a.insert(f,Ie.newInvalidDocument(f)))});let c=hr();return a.forEach((l,d)=>{const f=i.get(l);f!==void 0&&mr(f.mutation,d,Fe.empty(),ue.now()),vs(t,d)&&(c=c.insert(l,d))}),c})}}/**
1291
+ */class d_{constructor(e,t,r,s){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=r,this.indexManager=s}getDocument(e,t){let r=null;return this.documentOverlayCache.getOverlay(e,t).next(s=>(r=s,this.remoteDocumentCache.getEntry(e,t))).next(s=>(r!==null&&gr(r.mutation,s,Fe.empty(),ue.now()),s))}getDocuments(e,t){return this.remoteDocumentCache.getEntries(e,t).next(r=>this.getLocalViewOfDocuments(e,r,W()).next(()=>r))}getLocalViewOfDocuments(e,t,r=W()){const s=tn();return this.populateOverlays(e,s,t).next(()=>this.computeViews(e,t,s,r).next(i=>{let a=dr();return i.forEach((c,l)=>{a=a.insert(c,l.overlayedDocument)}),a}))}getOverlayedDocuments(e,t){const r=tn();return this.populateOverlays(e,r,t).next(()=>this.computeViews(e,t,r,W()))}populateOverlays(e,t,r){const s=[];return r.forEach(i=>{t.has(i)||s.push(i)}),this.documentOverlayCache.getOverlays(e,s).next(i=>{i.forEach((a,c)=>{t.set(a,c)})})}computeViews(e,t,r,s){let i=pt();const a=fr(),c=function(){return fr()}();return t.forEach((l,d)=>{const f=r.get(d.key);s.has(d.key)&&(f===void 0||f.mutation instanceof Vt)?i=i.insert(d.key,d):f!==void 0?(a.set(d.key,f.mutation.getFieldMask()),gr(f.mutation,d,f.mutation.getFieldMask(),ue.now())):a.set(d.key,Fe.empty())}),this.recalculateAndSaveOverlays(e,i).next(l=>(l.forEach((d,f)=>a.set(d,f)),t.forEach((d,f)=>{var m;return c.set(d,new h_(f,(m=a.get(d))!==null&&m!==void 0?m:null))}),c))}recalculateAndSaveOverlays(e,t){const r=fr();let s=new re((a,c)=>a-c),i=W();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(e,t).next(a=>{for(const c of a)c.keys().forEach(l=>{const d=t.get(l);if(d===null)return;let f=r.get(l)||Fe.empty();f=c.applyToLocalView(d,f),r.set(l,f);const m=(s.get(c.batchId)||W()).add(l);s=s.insert(c.batchId,m)})}).next(()=>{const a=[],c=s.getReverseIterator();for(;c.hasNext();){const l=c.getNext(),d=l.key,f=l.value,m=vu();f.forEach(v=>{if(!i.has(v)){const R=bu(t.get(v),r.get(v));R!==null&&m.set(v,R),i=i.add(v)}}),a.push(this.documentOverlayCache.saveOverlays(e,d,m))}return C.waitFor(a)}).next(()=>r)}recalculateAndSaveOverlaysForDocumentKeys(e,t){return this.remoteDocumentCache.getEntries(e,t).next(r=>this.recalculateAndSaveOverlays(e,r))}getDocumentsMatchingQuery(e,t,r,s){return function(a){return L.isDocumentKey(a.path)&&a.collectionGroup===null&&a.filters.length===0}(t)?this.getDocumentsMatchingDocumentQuery(e,t.path):so(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,r,s):this.getDocumentsMatchingCollectionQuery(e,t,r,s)}getNextDocuments(e,t,r,s){return this.remoteDocumentCache.getAllFromCollectionGroup(e,t,r,s).next(i=>{const a=s-i.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(e,t,r.largestBatchId,s-i.size):C.resolve(tn());let c=or,l=i;return a.next(d=>C.forEach(d,(f,m)=>(c<m.largestBatchId&&(c=m.largestBatchId),i.get(f)?C.resolve():this.remoteDocumentCache.getEntry(e,f).next(v=>{l=l.insert(f,v)}))).next(()=>this.populateOverlays(e,d,i)).next(()=>this.computeViews(e,l,d,W())).next(f=>({batchId:c,changes:yu(f)})))})}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new L(t)).next(r=>{let s=dr();return r.isFoundDocument()&&(s=s.insert(r.key,r)),s})}getDocumentsMatchingCollectionGroupQuery(e,t,r,s){const i=t.collectionGroup;let a=dr();return this.indexManager.getCollectionParents(e,i).next(c=>C.forEach(c,l=>{const d=function(m,v){return new Zt(v,null,m.explicitOrderBy.slice(),m.filters.slice(),m.limit,m.limitType,m.startAt,m.endAt)}(t,l.child(i));return this.getDocumentsMatchingCollectionQuery(e,d,r,s).next(f=>{f.forEach((m,v)=>{a=a.insert(m,v)})})}).next(()=>a))}getDocumentsMatchingCollectionQuery(e,t,r,s){let i;return this.documentOverlayCache.getOverlaysForCollection(e,t.path,r.largestBatchId).next(a=>(i=a,this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,r,i,s))).next(a=>{i.forEach((l,d)=>{const f=d.getKey();a.get(f)===null&&(a=a.insert(f,Ie.newInvalidDocument(f)))});let c=dr();return a.forEach((l,d)=>{const f=i.get(l);f!==void 0&&gr(f.mutation,d,Fe.empty(),ue.now()),vs(t,d)&&(c=c.insert(l,d))}),c})}}/**
1307
1292
  * @license
1308
1293
  * Copyright 2020 Google LLC
1309
1294
  *
@@ -1318,7 +1303,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1318
1303
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1319
1304
  * See the License for the specific language governing permissions and
1320
1305
  * limitations under the License.
1321
- */class d_{constructor(e){this.serializer=e,this.dr=new Map,this.Ar=new Map}getBundleMetadata(e,t){return C.resolve(this.dr.get(t))}saveBundleMetadata(e,t){return this.dr.set(t.id,function(s){return{id:s.id,version:s.version,createTime:rt(s.createTime)}}(t)),C.resolve()}getNamedQuery(e,t){return C.resolve(this.Ar.get(t))}saveNamedQuery(e,t){return this.Ar.set(t.name,function(s){return{name:s.name,query:t_(s.bundledQuery),readTime:rt(s.readTime)}}(t)),C.resolve()}}/**
1306
+ */class f_{constructor(e){this.serializer=e,this.dr=new Map,this.Ar=new Map}getBundleMetadata(e,t){return C.resolve(this.dr.get(t))}saveBundleMetadata(e,t){return this.dr.set(t.id,function(s){return{id:s.id,version:s.version,createTime:rt(s.createTime)}}(t)),C.resolve()}getNamedQuery(e,t){return C.resolve(this.Ar.get(t))}saveNamedQuery(e,t){return this.Ar.set(t.name,function(s){return{name:s.name,query:n_(s.bundledQuery),readTime:rt(s.readTime)}}(t)),C.resolve()}}/**
1322
1307
  * @license
1323
1308
  * Copyright 2022 Google LLC
1324
1309
  *
@@ -1333,7 +1318,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1333
1318
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1334
1319
  * See the License for the specific language governing permissions and
1335
1320
  * limitations under the License.
1336
- */class f_{constructor(){this.overlays=new re(L.comparator),this.Rr=new Map}getOverlay(e,t){return C.resolve(this.overlays.get(t))}getOverlays(e,t){const r=en();return C.forEach(t,s=>this.getOverlay(e,s).next(i=>{i!==null&&r.set(s,i)})).next(()=>r)}saveOverlays(e,t,r){return r.forEach((s,i)=>{this.Et(e,t,i)}),C.resolve()}removeOverlaysForBatchId(e,t,r){const s=this.Rr.get(r);return s!==void 0&&(s.forEach(i=>this.overlays=this.overlays.remove(i)),this.Rr.delete(r)),C.resolve()}getOverlaysForCollection(e,t,r){const s=en(),i=t.length+1,a=new L(t.child("")),c=this.overlays.getIteratorFrom(a);for(;c.hasNext();){const l=c.getNext().value,d=l.getKey();if(!t.isPrefixOf(d.path))break;d.path.length===i&&l.largestBatchId>r&&s.set(l.getKey(),l)}return C.resolve(s)}getOverlaysForCollectionGroup(e,t,r,s){let i=new re((d,f)=>d-f);const a=this.overlays.getIterator();for(;a.hasNext();){const d=a.getNext().value;if(d.getKey().getCollectionGroup()===t&&d.largestBatchId>r){let f=i.get(d.largestBatchId);f===null&&(f=en(),i=i.insert(d.largestBatchId,f)),f.set(d.getKey(),d)}}const c=en(),l=i.getIterator();for(;l.hasNext()&&(l.getNext().value.forEach((d,f)=>c.set(d,f)),!(c.size()>=s)););return C.resolve(c)}Et(e,t,r){const s=this.overlays.get(r.key);if(s!==null){const a=this.Rr.get(s.largestBatchId).delete(r.key);this.Rr.set(s.largestBatchId,a)}this.overlays=this.overlays.insert(r.key,new kg(t,r));let i=this.Rr.get(t);i===void 0&&(i=W(),this.Rr.set(t,i)),this.Rr.set(t,i.add(r.key))}}/**
1321
+ */class p_{constructor(){this.overlays=new re(L.comparator),this.Rr=new Map}getOverlay(e,t){return C.resolve(this.overlays.get(t))}getOverlays(e,t){const r=tn();return C.forEach(t,s=>this.getOverlay(e,s).next(i=>{i!==null&&r.set(s,i)})).next(()=>r)}saveOverlays(e,t,r){return r.forEach((s,i)=>{this.Et(e,t,i)}),C.resolve()}removeOverlaysForBatchId(e,t,r){const s=this.Rr.get(r);return s!==void 0&&(s.forEach(i=>this.overlays=this.overlays.remove(i)),this.Rr.delete(r)),C.resolve()}getOverlaysForCollection(e,t,r){const s=tn(),i=t.length+1,a=new L(t.child("")),c=this.overlays.getIteratorFrom(a);for(;c.hasNext();){const l=c.getNext().value,d=l.getKey();if(!t.isPrefixOf(d.path))break;d.path.length===i&&l.largestBatchId>r&&s.set(l.getKey(),l)}return C.resolve(s)}getOverlaysForCollectionGroup(e,t,r,s){let i=new re((d,f)=>d-f);const a=this.overlays.getIterator();for(;a.hasNext();){const d=a.getNext().value;if(d.getKey().getCollectionGroup()===t&&d.largestBatchId>r){let f=i.get(d.largestBatchId);f===null&&(f=tn(),i=i.insert(d.largestBatchId,f)),f.set(d.getKey(),d)}}const c=tn(),l=i.getIterator();for(;l.hasNext()&&(l.getNext().value.forEach((d,f)=>c.set(d,f)),!(c.size()>=s)););return C.resolve(c)}Et(e,t,r){const s=this.overlays.get(r.key);if(s!==null){const a=this.Rr.get(s.largestBatchId).delete(r.key);this.Rr.set(s.largestBatchId,a)}this.overlays=this.overlays.insert(r.key,new Ng(t,r));let i=this.Rr.get(t);i===void 0&&(i=W(),this.Rr.set(t,i)),this.Rr.set(t,i.add(r.key))}}/**
1337
1322
  * @license
1338
1323
  * Copyright 2024 Google LLC
1339
1324
  *
@@ -1348,7 +1333,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1348
1333
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1349
1334
  * See the License for the specific language governing permissions and
1350
1335
  * limitations under the License.
1351
- */class p_{constructor(){this.sessionToken=_e.EMPTY_BYTE_STRING}getSessionToken(e){return C.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,C.resolve()}}/**
1336
+ */class m_{constructor(){this.sessionToken=_e.EMPTY_BYTE_STRING}getSessionToken(e){return C.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,C.resolve()}}/**
1352
1337
  * @license
1353
1338
  * Copyright 2017 Google LLC
1354
1339
  *
@@ -1363,7 +1348,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1363
1348
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1364
1349
  * See the License for the specific language governing permissions and
1365
1350
  * limitations under the License.
1366
- */class go{constructor(){this.Vr=new le(de.mr),this.gr=new le(de.pr)}isEmpty(){return this.Vr.isEmpty()}addReference(e,t){const r=new de(e,t);this.Vr=this.Vr.add(r),this.gr=this.gr.add(r)}yr(e,t){e.forEach(r=>this.addReference(r,t))}removeReference(e,t){this.wr(new de(e,t))}Sr(e,t){e.forEach(r=>this.removeReference(r,t))}br(e){const t=new L(new ee([])),r=new de(t,e),s=new de(t,e+1),i=[];return this.gr.forEachInRange([r,s],a=>{this.wr(a),i.push(a.key)}),i}Dr(){this.Vr.forEach(e=>this.wr(e))}wr(e){this.Vr=this.Vr.delete(e),this.gr=this.gr.delete(e)}vr(e){const t=new L(new ee([])),r=new de(t,e),s=new de(t,e+1);let i=W();return this.gr.forEachInRange([r,s],a=>{i=i.add(a.key)}),i}containsKey(e){const t=new de(e,0),r=this.Vr.firstAfterOrEqual(t);return r!==null&&e.isEqual(r.key)}}class de{constructor(e,t){this.key=e,this.Cr=t}static mr(e,t){return L.comparator(e.key,t.key)||G(e.Cr,t.Cr)}static pr(e,t){return G(e.Cr,t.Cr)||L.comparator(e.key,t.key)}}/**
1351
+ */class go{constructor(){this.Vr=new le(de.mr),this.gr=new le(de.pr)}isEmpty(){return this.Vr.isEmpty()}addReference(e,t){const r=new de(e,t);this.Vr=this.Vr.add(r),this.gr=this.gr.add(r)}yr(e,t){e.forEach(r=>this.addReference(r,t))}removeReference(e,t){this.wr(new de(e,t))}br(e,t){e.forEach(r=>this.removeReference(r,t))}Sr(e){const t=new L(new ee([])),r=new de(t,e),s=new de(t,e+1),i=[];return this.gr.forEachInRange([r,s],a=>{this.wr(a),i.push(a.key)}),i}Dr(){this.Vr.forEach(e=>this.wr(e))}wr(e){this.Vr=this.Vr.delete(e),this.gr=this.gr.delete(e)}vr(e){const t=new L(new ee([])),r=new de(t,e),s=new de(t,e+1);let i=W();return this.gr.forEachInRange([r,s],a=>{i=i.add(a.key)}),i}containsKey(e){const t=new de(e,0),r=this.Vr.firstAfterOrEqual(t);return r!==null&&e.isEqual(r.key)}}class de{constructor(e,t){this.key=e,this.Cr=t}static mr(e,t){return L.comparator(e.key,t.key)||G(e.Cr,t.Cr)}static pr(e,t){return G(e.Cr,t.Cr)||L.comparator(e.key,t.key)}}/**
1367
1352
  * @license
1368
1353
  * Copyright 2017 Google LLC
1369
1354
  *
@@ -1378,7 +1363,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1378
1363
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1379
1364
  * See the License for the specific language governing permissions and
1380
1365
  * limitations under the License.
1381
- */class m_{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.Fr=1,this.Mr=new le(de.mr)}checkEmpty(e){return C.resolve(this.mutationQueue.length===0)}addMutationBatch(e,t,r,s){const i=this.Fr;this.Fr++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];const a=new Cg(i,t,r,s);this.mutationQueue.push(a);for(const c of s)this.Mr=this.Mr.add(new de(c.key,i)),this.indexManager.addToCollectionParentIndex(e,c.key.path.popLast());return C.resolve(a)}lookupMutationBatch(e,t){return C.resolve(this.Or(t))}getNextMutationBatchAfterBatchId(e,t){const r=t+1,s=this.Nr(r),i=s<0?0:s;return C.resolve(this.mutationQueue.length>i?this.mutationQueue[i]:null)}getHighestUnacknowledgedBatchId(){return C.resolve(this.mutationQueue.length===0?Xi:this.Fr-1)}getAllMutationBatches(e){return C.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){const r=new de(t,0),s=new de(t,Number.POSITIVE_INFINITY),i=[];return this.Mr.forEachInRange([r,s],a=>{const c=this.Or(a.Cr);i.push(c)}),C.resolve(i)}getAllMutationBatchesAffectingDocumentKeys(e,t){let r=new le(G);return t.forEach(s=>{const i=new de(s,0),a=new de(s,Number.POSITIVE_INFINITY);this.Mr.forEachInRange([i,a],c=>{r=r.add(c.Cr)})}),C.resolve(this.Br(r))}getAllMutationBatchesAffectingQuery(e,t){const r=t.path,s=r.length+1;let i=r;L.isDocumentKey(i)||(i=i.child(""));const a=new de(new L(i),0);let c=new le(G);return this.Mr.forEachWhile(l=>{const d=l.key.path;return!!r.isPrefixOf(d)&&(d.length===s&&(c=c.add(l.Cr)),!0)},a),C.resolve(this.Br(c))}Br(e){const t=[];return e.forEach(r=>{const s=this.Or(r);s!==null&&t.push(s)}),t}removeMutationBatch(e,t){Y(this.Lr(t.batchId,"removed")===0),this.mutationQueue.shift();let r=this.Mr;return C.forEach(t.mutations,s=>{const i=new de(s.key,t.batchId);return r=r.delete(i),this.referenceDelegate.markPotentiallyOrphaned(e,s.key)}).next(()=>{this.Mr=r})}qn(e){}containsKey(e,t){const r=new de(t,0),s=this.Mr.firstAfterOrEqual(r);return C.resolve(t.isEqual(s&&s.key))}performConsistencyCheck(e){return this.mutationQueue.length,C.resolve()}Lr(e,t){return this.Nr(e)}Nr(e){return this.mutationQueue.length===0?0:e-this.mutationQueue[0].batchId}Or(e){const t=this.Nr(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}/**
1366
+ */class g_{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.Fr=1,this.Mr=new le(de.mr)}checkEmpty(e){return C.resolve(this.mutationQueue.length===0)}addMutationBatch(e,t,r,s){const i=this.Fr;this.Fr++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];const a=new kg(i,t,r,s);this.mutationQueue.push(a);for(const c of s)this.Mr=this.Mr.add(new de(c.key,i)),this.indexManager.addToCollectionParentIndex(e,c.key.path.popLast());return C.resolve(a)}lookupMutationBatch(e,t){return C.resolve(this.Or(t))}getNextMutationBatchAfterBatchId(e,t){const r=t+1,s=this.Nr(r),i=s<0?0:s;return C.resolve(this.mutationQueue.length>i?this.mutationQueue[i]:null)}getHighestUnacknowledgedBatchId(){return C.resolve(this.mutationQueue.length===0?Xi:this.Fr-1)}getAllMutationBatches(e){return C.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){const r=new de(t,0),s=new de(t,Number.POSITIVE_INFINITY),i=[];return this.Mr.forEachInRange([r,s],a=>{const c=this.Or(a.Cr);i.push(c)}),C.resolve(i)}getAllMutationBatchesAffectingDocumentKeys(e,t){let r=new le(G);return t.forEach(s=>{const i=new de(s,0),a=new de(s,Number.POSITIVE_INFINITY);this.Mr.forEachInRange([i,a],c=>{r=r.add(c.Cr)})}),C.resolve(this.Br(r))}getAllMutationBatchesAffectingQuery(e,t){const r=t.path,s=r.length+1;let i=r;L.isDocumentKey(i)||(i=i.child(""));const a=new de(new L(i),0);let c=new le(G);return this.Mr.forEachWhile(l=>{const d=l.key.path;return!!r.isPrefixOf(d)&&(d.length===s&&(c=c.add(l.Cr)),!0)},a),C.resolve(this.Br(c))}Br(e){const t=[];return e.forEach(r=>{const s=this.Or(r);s!==null&&t.push(s)}),t}removeMutationBatch(e,t){Y(this.Lr(t.batchId,"removed")===0),this.mutationQueue.shift();let r=this.Mr;return C.forEach(t.mutations,s=>{const i=new de(s.key,t.batchId);return r=r.delete(i),this.referenceDelegate.markPotentiallyOrphaned(e,s.key)}).next(()=>{this.Mr=r})}qn(e){}containsKey(e,t){const r=new de(t,0),s=this.Mr.firstAfterOrEqual(r);return C.resolve(t.isEqual(s&&s.key))}performConsistencyCheck(e){return this.mutationQueue.length,C.resolve()}Lr(e,t){return this.Nr(e)}Nr(e){return this.mutationQueue.length===0?0:e-this.mutationQueue[0].batchId}Or(e){const t=this.Nr(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}/**
1382
1367
  * @license
1383
1368
  * Copyright 2017 Google LLC
1384
1369
  *
@@ -1393,7 +1378,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1393
1378
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1394
1379
  * See the License for the specific language governing permissions and
1395
1380
  * limitations under the License.
1396
- */class g_{constructor(e){this.kr=e,this.docs=function(){return new re(L.comparator)}(),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){const r=t.key,s=this.docs.get(r),i=s?s.size:0,a=this.kr(t);return this.docs=this.docs.insert(r,{document:t.mutableCopy(),size:a}),this.size+=a-i,this.indexManager.addToCollectionParentIndex(e,r.path.popLast())}removeEntry(e){const t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){const r=this.docs.get(t);return C.resolve(r?r.document.mutableCopy():Ie.newInvalidDocument(t))}getEntries(e,t){let r=pt();return t.forEach(s=>{const i=this.docs.get(s);r=r.insert(s,i?i.document.mutableCopy():Ie.newInvalidDocument(s))}),C.resolve(r)}getDocumentsMatchingQuery(e,t,r,s){let i=pt();const a=t.path,c=new L(a.child("__id-9223372036854775808__")),l=this.docs.getIteratorFrom(c);for(;l.hasNext();){const{key:d,value:{document:f}}=l.getNext();if(!a.isPrefixOf(d.path))break;d.path.length>a.length+1||$m(qm(f),r)<=0||(s.has(f.key)||vs(t,f))&&(i=i.insert(f.key,f.mutableCopy()))}return C.resolve(i)}getAllFromCollectionGroup(e,t,r,s){F()}qr(e,t){return C.forEach(this.docs,r=>t(r))}newChangeBuffer(e){return new __(this)}getSize(e){return C.resolve(this.size)}}class __ extends u_{constructor(e){super(),this.Ir=e}applyChanges(e){const t=[];return this.changes.forEach((r,s)=>{s.isValidDocument()?t.push(this.Ir.addEntry(e,s)):this.Ir.removeEntry(r)}),C.waitFor(t)}getFromCache(e,t){return this.Ir.getEntry(e,t)}getAllFromCache(e,t){return this.Ir.getEntries(e,t)}}/**
1381
+ */class __{constructor(e){this.kr=e,this.docs=function(){return new re(L.comparator)}(),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){const r=t.key,s=this.docs.get(r),i=s?s.size:0,a=this.kr(t);return this.docs=this.docs.insert(r,{document:t.mutableCopy(),size:a}),this.size+=a-i,this.indexManager.addToCollectionParentIndex(e,r.path.popLast())}removeEntry(e){const t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){const r=this.docs.get(t);return C.resolve(r?r.document.mutableCopy():Ie.newInvalidDocument(t))}getEntries(e,t){let r=pt();return t.forEach(s=>{const i=this.docs.get(s);r=r.insert(s,i?i.document.mutableCopy():Ie.newInvalidDocument(s))}),C.resolve(r)}getDocumentsMatchingQuery(e,t,r,s){let i=pt();const a=t.path,c=new L(a.child("__id-9223372036854775808__")),l=this.docs.getIteratorFrom(c);for(;l.hasNext();){const{key:d,value:{document:f}}=l.getNext();if(!a.isPrefixOf(d.path))break;d.path.length>a.length+1||Hm($m(f),r)<=0||(s.has(f.key)||vs(t,f))&&(i=i.insert(f.key,f.mutableCopy()))}return C.resolve(i)}getAllFromCollectionGroup(e,t,r,s){F()}qr(e,t){return C.forEach(this.docs,r=>t(r))}newChangeBuffer(e){return new y_(this)}getSize(e){return C.resolve(this.size)}}class y_ extends l_{constructor(e){super(),this.Ir=e}applyChanges(e){const t=[];return this.changes.forEach((r,s)=>{s.isValidDocument()?t.push(this.Ir.addEntry(e,s)):this.Ir.removeEntry(r)}),C.waitFor(t)}getFromCache(e,t){return this.Ir.getEntry(e,t)}getAllFromCache(e,t){return this.Ir.getEntries(e,t)}}/**
1397
1382
  * @license
1398
1383
  * Copyright 2017 Google LLC
1399
1384
  *
@@ -1408,7 +1393,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1408
1393
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1409
1394
  * See the License for the specific language governing permissions and
1410
1395
  * limitations under the License.
1411
- */class y_{constructor(e){this.persistence=e,this.Qr=new Zt(t=>to(t),no),this.lastRemoteSnapshotVersion=j.min(),this.highestTargetId=0,this.$r=0,this.Kr=new go,this.targetCount=0,this.Ur=Sn.Kn()}forEachTarget(e,t){return this.Qr.forEach((r,s)=>t(s)),C.resolve()}getLastRemoteSnapshotVersion(e){return C.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return C.resolve(this.$r)}allocateTargetId(e){return this.highestTargetId=this.Ur.next(),C.resolve(this.highestTargetId)}setTargetsMetadata(e,t,r){return r&&(this.lastRemoteSnapshotVersion=r),t>this.$r&&(this.$r=t),C.resolve()}zn(e){this.Qr.set(e.target,e);const t=e.targetId;t>this.highestTargetId&&(this.Ur=new Sn(t),this.highestTargetId=t),e.sequenceNumber>this.$r&&(this.$r=e.sequenceNumber)}addTargetData(e,t){return this.zn(t),this.targetCount+=1,C.resolve()}updateTargetData(e,t){return this.zn(t),C.resolve()}removeTargetData(e,t){return this.Qr.delete(t.target),this.Kr.br(t.targetId),this.targetCount-=1,C.resolve()}removeTargets(e,t,r){let s=0;const i=[];return this.Qr.forEach((a,c)=>{c.sequenceNumber<=t&&r.get(c.targetId)===null&&(this.Qr.delete(a),i.push(this.removeMatchingKeysForTargetId(e,c.targetId)),s++)}),C.waitFor(i).next(()=>s)}getTargetCount(e){return C.resolve(this.targetCount)}getTargetData(e,t){const r=this.Qr.get(t)||null;return C.resolve(r)}addMatchingKeys(e,t,r){return this.Kr.yr(t,r),C.resolve()}removeMatchingKeys(e,t,r){this.Kr.Sr(t,r);const s=this.persistence.referenceDelegate,i=[];return s&&t.forEach(a=>{i.push(s.markPotentiallyOrphaned(e,a))}),C.waitFor(i)}removeMatchingKeysForTargetId(e,t){return this.Kr.br(t),C.resolve()}getMatchingKeysForTargetId(e,t){const r=this.Kr.vr(t);return C.resolve(r)}containsKey(e,t){return C.resolve(this.Kr.containsKey(t))}}/**
1396
+ */class v_{constructor(e){this.persistence=e,this.Qr=new en(t=>to(t),no),this.lastRemoteSnapshotVersion=j.min(),this.highestTargetId=0,this.$r=0,this.Kr=new go,this.targetCount=0,this.Ur=Sn.Kn()}forEachTarget(e,t){return this.Qr.forEach((r,s)=>t(s)),C.resolve()}getLastRemoteSnapshotVersion(e){return C.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return C.resolve(this.$r)}allocateTargetId(e){return this.highestTargetId=this.Ur.next(),C.resolve(this.highestTargetId)}setTargetsMetadata(e,t,r){return r&&(this.lastRemoteSnapshotVersion=r),t>this.$r&&(this.$r=t),C.resolve()}zn(e){this.Qr.set(e.target,e);const t=e.targetId;t>this.highestTargetId&&(this.Ur=new Sn(t),this.highestTargetId=t),e.sequenceNumber>this.$r&&(this.$r=e.sequenceNumber)}addTargetData(e,t){return this.zn(t),this.targetCount+=1,C.resolve()}updateTargetData(e,t){return this.zn(t),C.resolve()}removeTargetData(e,t){return this.Qr.delete(t.target),this.Kr.Sr(t.targetId),this.targetCount-=1,C.resolve()}removeTargets(e,t,r){let s=0;const i=[];return this.Qr.forEach((a,c)=>{c.sequenceNumber<=t&&r.get(c.targetId)===null&&(this.Qr.delete(a),i.push(this.removeMatchingKeysForTargetId(e,c.targetId)),s++)}),C.waitFor(i).next(()=>s)}getTargetCount(e){return C.resolve(this.targetCount)}getTargetData(e,t){const r=this.Qr.get(t)||null;return C.resolve(r)}addMatchingKeys(e,t,r){return this.Kr.yr(t,r),C.resolve()}removeMatchingKeys(e,t,r){this.Kr.br(t,r);const s=this.persistence.referenceDelegate,i=[];return s&&t.forEach(a=>{i.push(s.markPotentiallyOrphaned(e,a))}),C.waitFor(i)}removeMatchingKeysForTargetId(e,t){return this.Kr.Sr(t),C.resolve()}getMatchingKeysForTargetId(e,t){const r=this.Kr.vr(t);return C.resolve(r)}containsKey(e,t){return C.resolve(this.Kr.containsKey(t))}}/**
1412
1397
  * @license
1413
1398
  * Copyright 2017 Google LLC
1414
1399
  *
@@ -1423,7 +1408,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1423
1408
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1424
1409
  * See the License for the specific language governing permissions and
1425
1410
  * limitations under the License.
1426
- */class Xu{constructor(e,t){this.Wr={},this.overlays={},this.Gr=new ss(0),this.zr=!1,this.zr=!0,this.jr=new p_,this.referenceDelegate=e(this),this.Hr=new y_(this),this.indexManager=new n_,this.remoteDocumentCache=function(s){return new g_(s)}(r=>this.referenceDelegate.Jr(r)),this.serializer=new e_(t),this.Yr=new d_(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.zr=!1,Promise.resolve()}get started(){return this.zr}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(e){return this.indexManager}getDocumentOverlayCache(e){let t=this.overlays[e.toKey()];return t||(t=new f_,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let r=this.Wr[e.toKey()];return r||(r=new m_(t,this.referenceDelegate),this.Wr[e.toKey()]=r),r}getGlobalsCache(){return this.jr}getTargetCache(){return this.Hr}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.Yr}runTransaction(e,t,r){V("MemoryPersistence","Starting transaction:",e);const s=new v_(this.Gr.next());return this.referenceDelegate.Zr(),r(s).next(i=>this.referenceDelegate.Xr(s).next(()=>i)).toPromise().then(i=>(s.raiseOnCommittedEvent(),i))}ei(e,t){return C.or(Object.values(this.Wr).map(r=>()=>r.containsKey(e,t)))}}class v_ extends zm{constructor(e){super(),this.currentSequenceNumber=e}}class _o{constructor(e){this.persistence=e,this.ti=new go,this.ni=null}static ri(e){return new _o(e)}get ii(){if(this.ni)return this.ni;throw F()}addReference(e,t,r){return this.ti.addReference(r,t),this.ii.delete(r.toString()),C.resolve()}removeReference(e,t,r){return this.ti.removeReference(r,t),this.ii.add(r.toString()),C.resolve()}markPotentiallyOrphaned(e,t){return this.ii.add(t.toString()),C.resolve()}removeTarget(e,t){this.ti.br(t.targetId).forEach(s=>this.ii.add(s.toString()));const r=this.persistence.getTargetCache();return r.getMatchingKeysForTargetId(e,t.targetId).next(s=>{s.forEach(i=>this.ii.add(i.toString()))}).next(()=>r.removeTargetData(e,t))}Zr(){this.ni=new Set}Xr(e){const t=this.persistence.getRemoteDocumentCache().newChangeBuffer();return C.forEach(this.ii,r=>{const s=L.fromPath(r);return this.si(e,s).next(i=>{i||t.removeEntry(s,j.min())})}).next(()=>(this.ni=null,t.apply(e)))}updateLimboDocument(e,t){return this.si(e,t).next(r=>{r?this.ii.delete(t.toString()):this.ii.add(t.toString())})}Jr(e){return 0}si(e,t){return C.or([()=>C.resolve(this.ti.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.ei(e,t)])}}class ks{constructor(e,t){this.persistence=e,this.oi=new Zt(r=>Km(r.path),(r,s)=>r.isEqual(s)),this.garbageCollector=c_(this,t)}static ri(e,t){return new ks(e,t)}Zr(){}Xr(e){return C.resolve()}forEachTarget(e,t){return this.persistence.getTargetCache().forEachTarget(e,t)}nr(e){const t=this.sr(e);return this.persistence.getTargetCache().getTargetCount(e).next(r=>t.next(s=>r+s))}sr(e){let t=0;return this.rr(e,r=>{t++}).next(()=>t)}rr(e,t){return C.forEach(this.oi,(r,s)=>this.ar(e,r,s).next(i=>i?C.resolve():t(s)))}removeTargets(e,t,r){return this.persistence.getTargetCache().removeTargets(e,t,r)}removeOrphanedDocuments(e,t){let r=0;const s=this.persistence.getRemoteDocumentCache(),i=s.newChangeBuffer();return s.qr(e,a=>this.ar(e,a,t).next(c=>{c||(r++,i.removeEntry(a,j.min()))})).next(()=>i.apply(e)).next(()=>r)}markPotentiallyOrphaned(e,t){return this.oi.set(t,e.currentSequenceNumber),C.resolve()}removeTarget(e,t){const r=t.withSequenceNumber(e.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(e,r)}addReference(e,t,r){return this.oi.set(r,e.currentSequenceNumber),C.resolve()}removeReference(e,t,r){return this.oi.set(r,e.currentSequenceNumber),C.resolve()}updateLimboDocument(e,t){return this.oi.set(t,e.currentSequenceNumber),C.resolve()}Jr(e){let t=e.key.toString().length;return e.isFoundDocument()&&(t+=fs(e.data.value)),t}ar(e,t,r){return C.or([()=>this.persistence.ei(e,t),()=>this.persistence.getTargetCache().containsKey(e,t),()=>{const s=this.oi.get(t);return C.resolve(s!==void 0&&s>r)}])}getCacheSize(e){return this.persistence.getRemoteDocumentCache().getSize(e)}}/**
1411
+ */class Yu{constructor(e,t){this.Wr={},this.overlays={},this.Gr=new ss(0),this.zr=!1,this.zr=!0,this.jr=new m_,this.referenceDelegate=e(this),this.Hr=new v_(this),this.indexManager=new r_,this.remoteDocumentCache=function(s){return new __(s)}(r=>this.referenceDelegate.Jr(r)),this.serializer=new t_(t),this.Yr=new f_(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.zr=!1,Promise.resolve()}get started(){return this.zr}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(e){return this.indexManager}getDocumentOverlayCache(e){let t=this.overlays[e.toKey()];return t||(t=new p_,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let r=this.Wr[e.toKey()];return r||(r=new g_(t,this.referenceDelegate),this.Wr[e.toKey()]=r),r}getGlobalsCache(){return this.jr}getTargetCache(){return this.Hr}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.Yr}runTransaction(e,t,r){V("MemoryPersistence","Starting transaction:",e);const s=new E_(this.Gr.next());return this.referenceDelegate.Zr(),r(s).next(i=>this.referenceDelegate.Xr(s).next(()=>i)).toPromise().then(i=>(s.raiseOnCommittedEvent(),i))}ei(e,t){return C.or(Object.values(this.Wr).map(r=>()=>r.containsKey(e,t)))}}class E_ extends Wm{constructor(e){super(),this.currentSequenceNumber=e}}class _o{constructor(e){this.persistence=e,this.ti=new go,this.ni=null}static ri(e){return new _o(e)}get ii(){if(this.ni)return this.ni;throw F()}addReference(e,t,r){return this.ti.addReference(r,t),this.ii.delete(r.toString()),C.resolve()}removeReference(e,t,r){return this.ti.removeReference(r,t),this.ii.add(r.toString()),C.resolve()}markPotentiallyOrphaned(e,t){return this.ii.add(t.toString()),C.resolve()}removeTarget(e,t){this.ti.Sr(t.targetId).forEach(s=>this.ii.add(s.toString()));const r=this.persistence.getTargetCache();return r.getMatchingKeysForTargetId(e,t.targetId).next(s=>{s.forEach(i=>this.ii.add(i.toString()))}).next(()=>r.removeTargetData(e,t))}Zr(){this.ni=new Set}Xr(e){const t=this.persistence.getRemoteDocumentCache().newChangeBuffer();return C.forEach(this.ii,r=>{const s=L.fromPath(r);return this.si(e,s).next(i=>{i||t.removeEntry(s,j.min())})}).next(()=>(this.ni=null,t.apply(e)))}updateLimboDocument(e,t){return this.si(e,t).next(r=>{r?this.ii.delete(t.toString()):this.ii.add(t.toString())})}Jr(e){return 0}si(e,t){return C.or([()=>C.resolve(this.ti.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.ei(e,t)])}}class ks{constructor(e,t){this.persistence=e,this.oi=new en(r=>Qm(r.path),(r,s)=>r.isEqual(s)),this.garbageCollector=u_(this,t)}static ri(e,t){return new ks(e,t)}Zr(){}Xr(e){return C.resolve()}forEachTarget(e,t){return this.persistence.getTargetCache().forEachTarget(e,t)}nr(e){const t=this.sr(e);return this.persistence.getTargetCache().getTargetCount(e).next(r=>t.next(s=>r+s))}sr(e){let t=0;return this.rr(e,r=>{t++}).next(()=>t)}rr(e,t){return C.forEach(this.oi,(r,s)=>this.ar(e,r,s).next(i=>i?C.resolve():t(s)))}removeTargets(e,t,r){return this.persistence.getTargetCache().removeTargets(e,t,r)}removeOrphanedDocuments(e,t){let r=0;const s=this.persistence.getRemoteDocumentCache(),i=s.newChangeBuffer();return s.qr(e,a=>this.ar(e,a,t).next(c=>{c||(r++,i.removeEntry(a,j.min()))})).next(()=>i.apply(e)).next(()=>r)}markPotentiallyOrphaned(e,t){return this.oi.set(t,e.currentSequenceNumber),C.resolve()}removeTarget(e,t){const r=t.withSequenceNumber(e.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(e,r)}addReference(e,t,r){return this.oi.set(r,e.currentSequenceNumber),C.resolve()}removeReference(e,t,r){return this.oi.set(r,e.currentSequenceNumber),C.resolve()}updateLimboDocument(e,t){return this.oi.set(t,e.currentSequenceNumber),C.resolve()}Jr(e){let t=e.key.toString().length;return e.isFoundDocument()&&(t+=fs(e.data.value)),t}ar(e,t,r){return C.or([()=>this.persistence.ei(e,t),()=>this.persistence.getTargetCache().containsKey(e,t),()=>{const s=this.oi.get(t);return C.resolve(s!==void 0&&s>r)}])}getCacheSize(e){return this.persistence.getRemoteDocumentCache().getSize(e)}}/**
1427
1412
  * @license
1428
1413
  * Copyright 2017 Google LLC
1429
1414
  *
@@ -1453,7 +1438,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1453
1438
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1454
1439
  * See the License for the specific language governing permissions and
1455
1440
  * limitations under the License.
1456
- */class E_{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}}/**
1441
+ */class T_{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}}/**
1457
1442
  * @license
1458
1443
  * Copyright 2019 Google LLC
1459
1444
  *
@@ -1468,7 +1453,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1468
1453
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1469
1454
  * See the License for the specific language governing permissions and
1470
1455
  * limitations under the License.
1471
- */class T_{constructor(){this.Zi=!1,this.Xi=!1,this.es=100,this.ts=function(){return mp()?8:Wm(Ee())>0?6:4}()}initialize(e,t){this.ns=e,this.indexManager=t,this.Zi=!0}getDocumentsMatchingQuery(e,t,r,s){const i={result:null};return this.rs(e,t).next(a=>{i.result=a}).next(()=>{if(!i.result)return this.ss(e,t,s,r).next(a=>{i.result=a})}).next(()=>{if(i.result)return;const a=new E_;return this._s(e,t,a).next(c=>{if(i.result=c,this.Xi)return this.us(e,t,a,c.size)})}).next(()=>i.result)}us(e,t,r,s){return r.documentReadCount<this.es?(_n()<=z.DEBUG&&V("QueryEngine","SDK will not create cache indexes for query:",bn(t),"since it only creates cache indexes for collection contains","more than or equal to",this.es,"documents"),C.resolve()):(_n()<=z.DEBUG&&V("QueryEngine","Query:",bn(t),"scans",r.documentReadCount,"local documents and returns",s,"documents as results."),r.documentReadCount>this.ts*s?(_n()<=z.DEBUG&&V("QueryEngine","The SDK decides to create cache indexes for query:",bn(t),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(e,nt(t))):C.resolve())}rs(e,t){if(du(t))return C.resolve(null);let r=nt(t);return this.indexManager.getIndexType(e,r).next(s=>s===0?null:(t.limit!==null&&s===1&&(t=_s(t,null,"F"),r=nt(t)),this.indexManager.getDocumentsMatchingTarget(e,r).next(i=>{const a=W(...i);return this.ns.getDocuments(e,a).next(c=>this.indexManager.getMinOffset(e,r).next(l=>{const d=this.cs(t,c);return this.ls(t,d,a,l.readTime)?this.rs(e,_s(t,null,"F")):this.hs(e,d,t,l)}))})))}ss(e,t,r,s){return du(t)||s.isEqual(j.min())?C.resolve(null):this.ns.getDocuments(e,r).next(i=>{const a=this.cs(t,i);return this.ls(t,a,r,s)?C.resolve(null):(_n()<=z.DEBUG&&V("QueryEngine","Re-using previous result from %s to execute query: %s",s.toString(),bn(t)),this.hs(e,a,t,jm(s,ir)).next(c=>c))})}cs(e,t){let r=new le(mu(e));return t.forEach((s,i)=>{vs(e,i)&&(r=r.add(i))}),r}ls(e,t,r,s){if(e.limit===null)return!1;if(r.size!==t.size)return!0;const i=e.limitType==="F"?t.last():t.first();return!!i&&(i.hasPendingWrites||i.version.compareTo(s)>0)}_s(e,t,r){return _n()<=z.DEBUG&&V("QueryEngine","Using full collection scan to execute query:",bn(t)),this.ns.getDocumentsMatchingQuery(e,t,Ct.min(),r)}hs(e,t,r,s){return this.ns.getDocumentsMatchingQuery(e,r,s).next(i=>(t.forEach(a=>{i=i.insert(a.key,a)}),i))}}/**
1456
+ */class w_{constructor(){this.Zi=!1,this.Xi=!1,this.es=100,this.ts=function(){return gp()?8:Gm(Ee())>0?6:4}()}initialize(e,t){this.ns=e,this.indexManager=t,this.Zi=!0}getDocumentsMatchingQuery(e,t,r,s){const i={result:null};return this.rs(e,t).next(a=>{i.result=a}).next(()=>{if(!i.result)return this.ss(e,t,s,r).next(a=>{i.result=a})}).next(()=>{if(i.result)return;const a=new T_;return this._s(e,t,a).next(c=>{if(i.result=c,this.Xi)return this.us(e,t,a,c.size)})}).next(()=>i.result)}us(e,t,r,s){return r.documentReadCount<this.es?(_n()<=z.DEBUG&&V("QueryEngine","SDK will not create cache indexes for query:",bn(t),"since it only creates cache indexes for collection contains","more than or equal to",this.es,"documents"),C.resolve()):(_n()<=z.DEBUG&&V("QueryEngine","Query:",bn(t),"scans",r.documentReadCount,"local documents and returns",s,"documents as results."),r.documentReadCount>this.ts*s?(_n()<=z.DEBUG&&V("QueryEngine","The SDK decides to create cache indexes for query:",bn(t),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(e,nt(t))):C.resolve())}rs(e,t){if(fu(t))return C.resolve(null);let r=nt(t);return this.indexManager.getIndexType(e,r).next(s=>s===0?null:(t.limit!==null&&s===1&&(t=_s(t,null,"F"),r=nt(t)),this.indexManager.getDocumentsMatchingTarget(e,r).next(i=>{const a=W(...i);return this.ns.getDocuments(e,a).next(c=>this.indexManager.getMinOffset(e,r).next(l=>{const d=this.cs(t,c);return this.ls(t,d,a,l.readTime)?this.rs(e,_s(t,null,"F")):this.hs(e,d,t,l)}))})))}ss(e,t,r,s){return fu(t)||s.isEqual(j.min())?C.resolve(null):this.ns.getDocuments(e,r).next(i=>{const a=this.cs(t,i);return this.ls(t,a,r,s)?C.resolve(null):(_n()<=z.DEBUG&&V("QueryEngine","Re-using previous result from %s to execute query: %s",s.toString(),bn(t)),this.hs(e,a,t,qm(s,or)).next(c=>c))})}cs(e,t){let r=new le(gu(e));return t.forEach((s,i)=>{vs(e,i)&&(r=r.add(i))}),r}ls(e,t,r,s){if(e.limit===null)return!1;if(r.size!==t.size)return!0;const i=e.limitType==="F"?t.last():t.first();return!!i&&(i.hasPendingWrites||i.version.compareTo(s)>0)}_s(e,t,r){return _n()<=z.DEBUG&&V("QueryEngine","Using full collection scan to execute query:",bn(t)),this.ns.getDocumentsMatchingQuery(e,t,Ct.min(),r)}hs(e,t,r,s){return this.ns.getDocumentsMatchingQuery(e,r,s).next(i=>(t.forEach(a=>{i=i.insert(a.key,a)}),i))}}/**
1472
1457
  * @license
1473
1458
  * Copyright 2020 Google LLC
1474
1459
  *
@@ -1483,7 +1468,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1483
1468
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1484
1469
  * See the License for the specific language governing permissions and
1485
1470
  * limitations under the License.
1486
- */const vo="LocalStore",w_=3e8;class I_{constructor(e,t,r,s){this.persistence=e,this.Ps=t,this.serializer=s,this.Ts=new re(G),this.Is=new Zt(i=>to(i),no),this.Es=new Map,this.ds=e.getRemoteDocumentCache(),this.Hr=e.getTargetCache(),this.Yr=e.getBundleCache(),this.As(r)}As(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new h_(this.ds,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.ds.setIndexManager(this.indexManager),this.Ps.initialize(this.localDocuments,this.indexManager)}collectGarbage(e){return this.persistence.runTransaction("Collect garbage","readwrite-primary",t=>e.collect(t,this.Ts))}}function A_(n,e,t,r){return new I_(n,e,t,r)}async function Yu(n,e){const t=B(n);return await t.persistence.runTransaction("Handle user change","readonly",r=>{let s;return t.mutationQueue.getAllMutationBatches(r).next(i=>(s=i,t.As(e),t.mutationQueue.getAllMutationBatches(r))).next(i=>{const a=[],c=[];let l=W();for(const d of s){a.push(d.batchId);for(const f of d.mutations)l=l.add(f.key)}for(const d of i){c.push(d.batchId);for(const f of d.mutations)l=l.add(f.key)}return t.localDocuments.getDocuments(r,l).next(d=>({Rs:d,removedBatchIds:a,addedBatchIds:c}))})})}function R_(n,e){const t=B(n);return t.persistence.runTransaction("Acknowledge batch","readwrite-primary",r=>{const s=e.batch.keys(),i=t.ds.newChangeBuffer({trackRemovals:!0});return function(c,l,d,f){const m=d.batch,v=m.keys();let R=C.resolve();return v.forEach(S=>{R=R.next(()=>f.getEntry(l,S)).next(N=>{const k=d.docVersions.get(S);Y(k!==null),N.version.compareTo(k)<0&&(m.applyToRemoteDocument(N,d),N.isValidDocument()&&(N.setReadTime(d.commitVersion),f.addEntry(N)))})}),R.next(()=>c.mutationQueue.removeMutationBatch(l,m))}(t,r,e,i).next(()=>i.apply(r)).next(()=>t.mutationQueue.performConsistencyCheck(r)).next(()=>t.documentOverlayCache.removeOverlaysForBatchId(r,s,e.batch.batchId)).next(()=>t.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(r,function(c){let l=W();for(let d=0;d<c.mutationResults.length;++d)c.mutationResults[d].transformResults.length>0&&(l=l.add(c.batch.mutations[d].key));return l}(e))).next(()=>t.localDocuments.getDocuments(r,s))})}function Ju(n){const e=B(n);return e.persistence.runTransaction("Get last remote snapshot version","readonly",t=>e.Hr.getLastRemoteSnapshotVersion(t))}function b_(n,e){const t=B(n),r=e.snapshotVersion;let s=t.Ts;return t.persistence.runTransaction("Apply remote event","readwrite-primary",i=>{const a=t.ds.newChangeBuffer({trackRemovals:!0});s=t.Ts;const c=[];e.targetChanges.forEach((f,m)=>{const v=s.get(m);if(!v)return;c.push(t.Hr.removeMatchingKeys(i,f.removedDocuments,m).next(()=>t.Hr.addMatchingKeys(i,f.addedDocuments,m)));let R=v.withSequenceNumber(i.currentSequenceNumber);e.targetMismatches.get(m)!==null?R=R.withResumeToken(_e.EMPTY_BYTE_STRING,j.min()).withLastLimboFreeSnapshotVersion(j.min()):f.resumeToken.approximateByteSize()>0&&(R=R.withResumeToken(f.resumeToken,r)),s=s.insert(m,R),function(N,k,U){return N.resumeToken.approximateByteSize()===0||k.snapshotVersion.toMicroseconds()-N.snapshotVersion.toMicroseconds()>=w_?!0:U.addedDocuments.size+U.modifiedDocuments.size+U.removedDocuments.size>0}(v,R,f)&&c.push(t.Hr.updateTargetData(i,R))});let l=pt(),d=W();if(e.documentUpdates.forEach(f=>{e.resolvedLimboDocuments.has(f)&&c.push(t.persistence.referenceDelegate.updateLimboDocument(i,f))}),c.push(P_(i,a,e.documentUpdates).next(f=>{l=f.Vs,d=f.fs})),!r.isEqual(j.min())){const f=t.Hr.getLastRemoteSnapshotVersion(i).next(m=>t.Hr.setTargetsMetadata(i,i.currentSequenceNumber,r));c.push(f)}return C.waitFor(c).next(()=>a.apply(i)).next(()=>t.localDocuments.getLocalViewOfDocuments(i,l,d)).next(()=>l)}).then(i=>(t.Ts=s,i))}function P_(n,e,t){let r=W(),s=W();return t.forEach(i=>r=r.add(i)),e.getEntries(n,r).next(i=>{let a=pt();return t.forEach((c,l)=>{const d=i.get(c);l.isFoundDocument()!==d.isFoundDocument()&&(s=s.add(c)),l.isNoDocument()&&l.version.isEqual(j.min())?(e.removeEntry(c,l.readTime),a=a.insert(c,l)):!d.isValidDocument()||l.version.compareTo(d.version)>0||l.version.compareTo(d.version)===0&&d.hasPendingWrites?(e.addEntry(l),a=a.insert(c,l)):V(vo,"Ignoring outdated watch update for ",c,". Current version:",d.version," Watch version:",l.version)}),{Vs:a,fs:s}})}function S_(n,e){const t=B(n);return t.persistence.runTransaction("Get next mutation batch","readonly",r=>(e===void 0&&(e=Xi),t.mutationQueue.getNextMutationBatchAfterBatchId(r,e)))}function C_(n,e){const t=B(n);return t.persistence.runTransaction("Allocate target","readwrite",r=>{let s;return t.Hr.getTargetData(r,e).next(i=>i?(s=i,C.resolve(s)):t.Hr.allocateTargetId(r).next(a=>(s=new Mt(e,a,"TargetPurposeListen",r.currentSequenceNumber),t.Hr.addTargetData(r,s).next(()=>s))))}).then(r=>{const s=t.Ts.get(r.targetId);return(s===null||r.snapshotVersion.compareTo(s.snapshotVersion)>0)&&(t.Ts=t.Ts.insert(r.targetId,r),t.Is.set(e,r.targetId)),r})}async function Eo(n,e,t){const r=B(n),s=r.Ts.get(e),i=t?"readwrite":"readwrite-primary";try{t||await r.persistence.runTransaction("Release target",i,a=>r.persistence.referenceDelegate.removeTarget(a,s))}catch(a){if(!Tn(a))throw a;V(vo,`Failed to update sequence numbers for target ${e}: ${a}`)}r.Ts=r.Ts.remove(e),r.Is.delete(s.target)}function Zu(n,e,t){const r=B(n);let s=j.min(),i=W();return r.persistence.runTransaction("Execute query","readwrite",a=>function(l,d,f){const m=B(l),v=m.Is.get(f);return v!==void 0?C.resolve(m.Ts.get(v)):m.Hr.getTargetData(d,f)}(r,a,nt(e)).next(c=>{if(c)return s=c.lastLimboFreeSnapshotVersion,r.Hr.getMatchingKeysForTargetId(a,c.targetId).next(l=>{i=l})}).next(()=>r.Ps.getDocumentsMatchingQuery(a,e,t?s:j.min(),t?i:W())).next(c=>(k_(r,pg(e),c),{documents:c,gs:i})))}function k_(n,e,t){let r=n.Es.get(e)||j.min();t.forEach((s,i)=>{i.readTime.compareTo(r)>0&&(r=i.readTime)}),n.Es.set(e,r)}class el{constructor(){this.activeTargetIds=Eg()}Ds(e){this.activeTargetIds=this.activeTargetIds.add(e)}vs(e){this.activeTargetIds=this.activeTargetIds.delete(e)}bs(){const e={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(e)}}class N_{constructor(){this.ho=new el,this.Po={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,r){}addLocalQueryTarget(e,t=!0){return t&&this.ho.Ds(e),this.Po[e]||"not-current"}updateQueryState(e,t,r){this.Po[e]=t}removeLocalQueryTarget(e){this.ho.vs(e)}isLocalQueryTarget(e){return this.ho.activeTargetIds.has(e)}clearQueryState(e){delete this.Po[e]}getAllActiveQueryTargets(){return this.ho.activeTargetIds}isActiveQueryTarget(e){return this.ho.activeTargetIds.has(e)}start(){return this.ho=new el,Promise.resolve()}handleUserChange(e,t,r){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}/**
1471
+ */const vo="LocalStore",I_=3e8;class A_{constructor(e,t,r,s){this.persistence=e,this.Ps=t,this.serializer=s,this.Ts=new re(G),this.Is=new en(i=>to(i),no),this.Es=new Map,this.ds=e.getRemoteDocumentCache(),this.Hr=e.getTargetCache(),this.Yr=e.getBundleCache(),this.As(r)}As(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new d_(this.ds,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.ds.setIndexManager(this.indexManager),this.Ps.initialize(this.localDocuments,this.indexManager)}collectGarbage(e){return this.persistence.runTransaction("Collect garbage","readwrite-primary",t=>e.collect(t,this.Ts))}}function R_(n,e,t,r){return new A_(n,e,t,r)}async function Ju(n,e){const t=B(n);return await t.persistence.runTransaction("Handle user change","readonly",r=>{let s;return t.mutationQueue.getAllMutationBatches(r).next(i=>(s=i,t.As(e),t.mutationQueue.getAllMutationBatches(r))).next(i=>{const a=[],c=[];let l=W();for(const d of s){a.push(d.batchId);for(const f of d.mutations)l=l.add(f.key)}for(const d of i){c.push(d.batchId);for(const f of d.mutations)l=l.add(f.key)}return t.localDocuments.getDocuments(r,l).next(d=>({Rs:d,removedBatchIds:a,addedBatchIds:c}))})})}function b_(n,e){const t=B(n);return t.persistence.runTransaction("Acknowledge batch","readwrite-primary",r=>{const s=e.batch.keys(),i=t.ds.newChangeBuffer({trackRemovals:!0});return function(c,l,d,f){const m=d.batch,v=m.keys();let R=C.resolve();return v.forEach(S=>{R=R.next(()=>f.getEntry(l,S)).next(N=>{const k=d.docVersions.get(S);Y(k!==null),N.version.compareTo(k)<0&&(m.applyToRemoteDocument(N,d),N.isValidDocument()&&(N.setReadTime(d.commitVersion),f.addEntry(N)))})}),R.next(()=>c.mutationQueue.removeMutationBatch(l,m))}(t,r,e,i).next(()=>i.apply(r)).next(()=>t.mutationQueue.performConsistencyCheck(r)).next(()=>t.documentOverlayCache.removeOverlaysForBatchId(r,s,e.batch.batchId)).next(()=>t.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(r,function(c){let l=W();for(let d=0;d<c.mutationResults.length;++d)c.mutationResults[d].transformResults.length>0&&(l=l.add(c.batch.mutations[d].key));return l}(e))).next(()=>t.localDocuments.getDocuments(r,s))})}function Zu(n){const e=B(n);return e.persistence.runTransaction("Get last remote snapshot version","readonly",t=>e.Hr.getLastRemoteSnapshotVersion(t))}function P_(n,e){const t=B(n),r=e.snapshotVersion;let s=t.Ts;return t.persistence.runTransaction("Apply remote event","readwrite-primary",i=>{const a=t.ds.newChangeBuffer({trackRemovals:!0});s=t.Ts;const c=[];e.targetChanges.forEach((f,m)=>{const v=s.get(m);if(!v)return;c.push(t.Hr.removeMatchingKeys(i,f.removedDocuments,m).next(()=>t.Hr.addMatchingKeys(i,f.addedDocuments,m)));let R=v.withSequenceNumber(i.currentSequenceNumber);e.targetMismatches.get(m)!==null?R=R.withResumeToken(_e.EMPTY_BYTE_STRING,j.min()).withLastLimboFreeSnapshotVersion(j.min()):f.resumeToken.approximateByteSize()>0&&(R=R.withResumeToken(f.resumeToken,r)),s=s.insert(m,R),function(N,k,U){return N.resumeToken.approximateByteSize()===0||k.snapshotVersion.toMicroseconds()-N.snapshotVersion.toMicroseconds()>=I_?!0:U.addedDocuments.size+U.modifiedDocuments.size+U.removedDocuments.size>0}(v,R,f)&&c.push(t.Hr.updateTargetData(i,R))});let l=pt(),d=W();if(e.documentUpdates.forEach(f=>{e.resolvedLimboDocuments.has(f)&&c.push(t.persistence.referenceDelegate.updateLimboDocument(i,f))}),c.push(S_(i,a,e.documentUpdates).next(f=>{l=f.Vs,d=f.fs})),!r.isEqual(j.min())){const f=t.Hr.getLastRemoteSnapshotVersion(i).next(m=>t.Hr.setTargetsMetadata(i,i.currentSequenceNumber,r));c.push(f)}return C.waitFor(c).next(()=>a.apply(i)).next(()=>t.localDocuments.getLocalViewOfDocuments(i,l,d)).next(()=>l)}).then(i=>(t.Ts=s,i))}function S_(n,e,t){let r=W(),s=W();return t.forEach(i=>r=r.add(i)),e.getEntries(n,r).next(i=>{let a=pt();return t.forEach((c,l)=>{const d=i.get(c);l.isFoundDocument()!==d.isFoundDocument()&&(s=s.add(c)),l.isNoDocument()&&l.version.isEqual(j.min())?(e.removeEntry(c,l.readTime),a=a.insert(c,l)):!d.isValidDocument()||l.version.compareTo(d.version)>0||l.version.compareTo(d.version)===0&&d.hasPendingWrites?(e.addEntry(l),a=a.insert(c,l)):V(vo,"Ignoring outdated watch update for ",c,". Current version:",d.version," Watch version:",l.version)}),{Vs:a,fs:s}})}function C_(n,e){const t=B(n);return t.persistence.runTransaction("Get next mutation batch","readonly",r=>(e===void 0&&(e=Xi),t.mutationQueue.getNextMutationBatchAfterBatchId(r,e)))}function k_(n,e){const t=B(n);return t.persistence.runTransaction("Allocate target","readwrite",r=>{let s;return t.Hr.getTargetData(r,e).next(i=>i?(s=i,C.resolve(s)):t.Hr.allocateTargetId(r).next(a=>(s=new Mt(e,a,"TargetPurposeListen",r.currentSequenceNumber),t.Hr.addTargetData(r,s).next(()=>s))))}).then(r=>{const s=t.Ts.get(r.targetId);return(s===null||r.snapshotVersion.compareTo(s.snapshotVersion)>0)&&(t.Ts=t.Ts.insert(r.targetId,r),t.Is.set(e,r.targetId)),r})}async function Eo(n,e,t){const r=B(n),s=r.Ts.get(e),i=t?"readwrite":"readwrite-primary";try{t||await r.persistence.runTransaction("Release target",i,a=>r.persistence.referenceDelegate.removeTarget(a,s))}catch(a){if(!Tn(a))throw a;V(vo,`Failed to update sequence numbers for target ${e}: ${a}`)}r.Ts=r.Ts.remove(e),r.Is.delete(s.target)}function el(n,e,t){const r=B(n);let s=j.min(),i=W();return r.persistence.runTransaction("Execute query","readwrite",a=>function(l,d,f){const m=B(l),v=m.Is.get(f);return v!==void 0?C.resolve(m.Ts.get(v)):m.Hr.getTargetData(d,f)}(r,a,nt(e)).next(c=>{if(c)return s=c.lastLimboFreeSnapshotVersion,r.Hr.getMatchingKeysForTargetId(a,c.targetId).next(l=>{i=l})}).next(()=>r.Ps.getDocumentsMatchingQuery(a,e,t?s:j.min(),t?i:W())).next(c=>(N_(r,mg(e),c),{documents:c,gs:i})))}function N_(n,e,t){let r=n.Es.get(e)||j.min();t.forEach((s,i)=>{i.readTime.compareTo(r)>0&&(r=i.readTime)}),n.Es.set(e,r)}class tl{constructor(){this.activeTargetIds=Tg()}Ds(e){this.activeTargetIds=this.activeTargetIds.add(e)}vs(e){this.activeTargetIds=this.activeTargetIds.delete(e)}Ss(){const e={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(e)}}class D_{constructor(){this.ho=new tl,this.Po={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,r){}addLocalQueryTarget(e,t=!0){return t&&this.ho.Ds(e),this.Po[e]||"not-current"}updateQueryState(e,t,r){this.Po[e]=t}removeLocalQueryTarget(e){this.ho.vs(e)}isLocalQueryTarget(e){return this.ho.activeTargetIds.has(e)}clearQueryState(e){delete this.Po[e]}getAllActiveQueryTargets(){return this.ho.activeTargetIds}isActiveQueryTarget(e){return this.ho.activeTargetIds.has(e)}start(){return this.ho=new tl,Promise.resolve()}handleUserChange(e,t,r){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}/**
1487
1472
  * @license
1488
1473
  * Copyright 2019 Google LLC
1489
1474
  *
@@ -1498,7 +1483,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1498
1483
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1499
1484
  * See the License for the specific language governing permissions and
1500
1485
  * limitations under the License.
1501
- */class D_{To(e){}shutdown(){}}/**
1486
+ */class O_{To(e){}shutdown(){}}/**
1502
1487
  * @license
1503
1488
  * Copyright 2019 Google LLC
1504
1489
  *
@@ -1513,7 +1498,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1513
1498
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1514
1499
  * See the License for the specific language governing permissions and
1515
1500
  * limitations under the License.
1516
- */const tl="ConnectivityMonitor";class nl{constructor(){this.Io=()=>this.Eo(),this.Ao=()=>this.Ro(),this.Vo=[],this.mo()}To(e){this.Vo.push(e)}shutdown(){window.removeEventListener("online",this.Io),window.removeEventListener("offline",this.Ao)}mo(){window.addEventListener("online",this.Io),window.addEventListener("offline",this.Ao)}Eo(){V(tl,"Network connectivity changed: AVAILABLE");for(const e of this.Vo)e(0)}Ro(){V(tl,"Network connectivity changed: UNAVAILABLE");for(const e of this.Vo)e(1)}static D(){return typeof window<"u"&&window.addEventListener!==void 0&&window.removeEventListener!==void 0}}/**
1501
+ */const nl="ConnectivityMonitor";class rl{constructor(){this.Io=()=>this.Eo(),this.Ao=()=>this.Ro(),this.Vo=[],this.mo()}To(e){this.Vo.push(e)}shutdown(){window.removeEventListener("online",this.Io),window.removeEventListener("offline",this.Ao)}mo(){window.addEventListener("online",this.Io),window.addEventListener("offline",this.Ao)}Eo(){V(nl,"Network connectivity changed: AVAILABLE");for(const e of this.Vo)e(0)}Ro(){V(nl,"Network connectivity changed: UNAVAILABLE");for(const e of this.Vo)e(1)}static D(){return typeof window<"u"&&window.addEventListener!==void 0&&window.removeEventListener!==void 0}}/**
1517
1502
  * @license
1518
1503
  * Copyright 2023 Google LLC
1519
1504
  *
@@ -1543,7 +1528,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1543
1528
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1544
1529
  * See the License for the specific language governing permissions and
1545
1530
  * limitations under the License.
1546
- */const wo="RestConnection",O_={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery"};class V_{get fo(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;const t=e.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),s=encodeURIComponent(this.databaseId.database);this.po=t+"://"+e.host,this.yo=`projects/${r}/databases/${s}`,this.wo=this.databaseId.database===ls?`project_id=${r}`:`project_id=${r}&database_id=${s}`}So(e,t,r,s,i){const a=To(),c=this.bo(e,t.toUriEncodedString());V(wo,`Sending RPC '${e}' ${a}:`,c,r);const l={"google-cloud-resource-prefix":this.yo,"x-goog-request-params":this.wo};return this.Do(l,s,i),this.vo(e,c,l,r).then(d=>(V(wo,`Received RPC '${e}' ${a}: `,d),d),d=>{throw yn(wo,`RPC '${e}' ${a} failed with error: `,d,"url: ",c,"request:",r),d})}Co(e,t,r,s,i,a){return this.So(e,t,r,s,i)}Do(e,t,r){e["X-Goog-Api-Client"]=function(){return"gl-js/ fire/"+gn}(),e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach((s,i)=>e[i]=s),r&&r.headers.forEach((s,i)=>e[i]=s)}bo(e,t){const r=O_[e];return`${this.po}/v1/${t}:${r}`}terminate(){}}/**
1531
+ */const wo="RestConnection",V_={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery"};class L_{get fo(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;const t=e.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),s=encodeURIComponent(this.databaseId.database);this.po=t+"://"+e.host,this.yo=`projects/${r}/databases/${s}`,this.wo=this.databaseId.database===ls?`project_id=${r}`:`project_id=${r}&database_id=${s}`}bo(e,t,r,s,i){const a=To(),c=this.So(e,t.toUriEncodedString());V(wo,`Sending RPC '${e}' ${a}:`,c,r);const l={"google-cloud-resource-prefix":this.yo,"x-goog-request-params":this.wo};return this.Do(l,s,i),this.vo(e,c,l,r).then(d=>(V(wo,`Received RPC '${e}' ${a}: `,d),d),d=>{throw yn(wo,`RPC '${e}' ${a} failed with error: `,d,"url: ",c,"request:",r),d})}Co(e,t,r,s,i,a){return this.bo(e,t,r,s,i)}Do(e,t,r){e["X-Goog-Api-Client"]=function(){return"gl-js/ fire/"+gn}(),e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach((s,i)=>e[i]=s),r&&r.headers.forEach((s,i)=>e[i]=s)}So(e,t){const r=V_[e];return`${this.po}/v1/${t}:${r}`}terminate(){}}/**
1547
1532
  * @license
1548
1533
  * Copyright 2017 Google LLC
1549
1534
  *
@@ -1558,7 +1543,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1558
1543
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1559
1544
  * See the License for the specific language governing permissions and
1560
1545
  * limitations under the License.
1561
- */class L_{constructor(e){this.Fo=e.Fo,this.Mo=e.Mo}xo(e){this.Oo=e}No(e){this.Bo=e}Lo(e){this.ko=e}onMessage(e){this.qo=e}close(){this.Mo()}send(e){this.Fo(e)}Qo(){this.Oo()}$o(){this.Bo()}Ko(e){this.ko(e)}Uo(e){this.qo(e)}}/**
1546
+ */class M_{constructor(e){this.Fo=e.Fo,this.Mo=e.Mo}xo(e){this.Oo=e}No(e){this.Bo=e}Lo(e){this.ko=e}onMessage(e){this.qo=e}close(){this.Mo()}send(e){this.Fo(e)}Qo(){this.Oo()}$o(){this.Bo()}Ko(e){this.ko(e)}Uo(e){this.qo(e)}}/**
1562
1547
  * @license
1563
1548
  * Copyright 2017 Google LLC
1564
1549
  *
@@ -1573,7 +1558,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1573
1558
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1574
1559
  * See the License for the specific language governing permissions and
1575
1560
  * limitations under the License.
1576
- */const Ae="WebChannelConnection";class M_ extends V_{constructor(e){super(e),this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}vo(e,t,r,s){const i=To();return new Promise((a,c)=>{const l=new Pc;l.setWithCredentials(!0),l.listenOnce(Sc.COMPLETE,()=>{try{switch(l.getLastErrorCode()){case rs.NO_ERROR:const f=l.getResponseJson();V(Ae,`XHR for RPC '${e}' ${i} received:`,JSON.stringify(f)),a(f);break;case rs.TIMEOUT:V(Ae,`RPC '${e}' ${i} timed out`),c(new O(P.DEADLINE_EXCEEDED,"Request time out"));break;case rs.HTTP_ERROR:const m=l.getStatus();if(V(Ae,`RPC '${e}' ${i} failed with status:`,m,"response text:",l.getResponseText()),m>0){let v=l.getResponseJson();Array.isArray(v)&&(v=v[0]);const R=v==null?void 0:v.error;if(R&&R.status&&R.message){const S=function(k){const U=k.toLowerCase().replace(/_/g,"-");return Object.values(P).indexOf(U)>=0?U:P.UNKNOWN}(R.status);c(new O(S,R.message))}else c(new O(P.UNKNOWN,"Server responded with status "+l.getStatus()))}else c(new O(P.UNAVAILABLE,"Connection failed."));break;default:F()}}finally{V(Ae,`RPC '${e}' ${i} completed.`)}});const d=JSON.stringify(s);V(Ae,`RPC '${e}' ${i} sending request:`,s),l.send(t,"POST",d,r,15)})}Wo(e,t,r){const s=To(),i=[this.po,"/","google.firestore.v1.Firestore","/",e,"/channel"],a=Nc(),c=kc(),l={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},d=this.longPollingOptions.timeoutSeconds;d!==void 0&&(l.longPollingTimeout=Math.round(1e3*d)),this.useFetchStreams&&(l.useFetchStreams=!0),this.Do(l.initMessageHeaders,t,r),l.encodeInitMessageHeaders=!0;const f=i.join("");V(Ae,`Creating RPC '${e}' stream ${s}: ${f}`,l);const m=a.createWebChannel(f,l);let v=!1,R=!1;const S=new L_({Fo:k=>{R?V(Ae,`Not sending because RPC '${e}' stream ${s} is closed:`,k):(v||(V(Ae,`Opening RPC '${e}' stream ${s} transport.`),m.open(),v=!0),V(Ae,`RPC '${e}' stream ${s} sending:`,k),m.send(k))},Mo:()=>m.close()}),N=(k,U,$)=>{k.listen(U,x=>{try{$(x)}catch(H){setTimeout(()=>{throw H},0)}})};return N(m,sr.EventType.OPEN,()=>{R||(V(Ae,`RPC '${e}' stream ${s} transport opened.`),S.Qo())}),N(m,sr.EventType.CLOSE,()=>{R||(R=!0,V(Ae,`RPC '${e}' stream ${s} transport closed`),S.Ko())}),N(m,sr.EventType.ERROR,k=>{R||(R=!0,yn(Ae,`RPC '${e}' stream ${s} transport errored:`,k),S.Ko(new O(P.UNAVAILABLE,"The operation could not be completed")))}),N(m,sr.EventType.MESSAGE,k=>{var U;if(!R){const $=k.data[0];Y(!!$);const x=$,H=(x==null?void 0:x.error)||((U=x[0])===null||U===void 0?void 0:U.error);if(H){V(Ae,`RPC '${e}' stream ${s} received error:`,H);const he=H.status;let J=function(_){const E=ce[_];if(E!==void 0)return ku(E)}(he),T=H.message;J===void 0&&(J=P.INTERNAL,T="Unknown error status: "+he+" with message "+H.message),R=!0,S.Ko(new O(J,T)),m.close()}else V(Ae,`RPC '${e}' stream ${s} received:`,$),S.Uo($)}}),N(c,Cc.STAT_EVENT,k=>{k.stat===Ki.PROXY?V(Ae,`RPC '${e}' stream ${s} detected buffering proxy`):k.stat===Ki.NOPROXY&&V(Ae,`RPC '${e}' stream ${s} detected no buffering proxy`)}),setTimeout(()=>{S.$o()},0),S}}function Io(){return typeof document<"u"?document:null}/**
1561
+ */const Ae="WebChannelConnection";class U_ extends L_{constructor(e){super(e),this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}vo(e,t,r,s){const i=To();return new Promise((a,c)=>{const l=new Sc;l.setWithCredentials(!0),l.listenOnce(Cc.COMPLETE,()=>{try{switch(l.getLastErrorCode()){case rs.NO_ERROR:const f=l.getResponseJson();V(Ae,`XHR for RPC '${e}' ${i} received:`,JSON.stringify(f)),a(f);break;case rs.TIMEOUT:V(Ae,`RPC '${e}' ${i} timed out`),c(new O(P.DEADLINE_EXCEEDED,"Request time out"));break;case rs.HTTP_ERROR:const m=l.getStatus();if(V(Ae,`RPC '${e}' ${i} failed with status:`,m,"response text:",l.getResponseText()),m>0){let v=l.getResponseJson();Array.isArray(v)&&(v=v[0]);const R=v==null?void 0:v.error;if(R&&R.status&&R.message){const S=function(k){const U=k.toLowerCase().replace(/_/g,"-");return Object.values(P).indexOf(U)>=0?U:P.UNKNOWN}(R.status);c(new O(S,R.message))}else c(new O(P.UNKNOWN,"Server responded with status "+l.getStatus()))}else c(new O(P.UNAVAILABLE,"Connection failed."));break;default:F()}}finally{V(Ae,`RPC '${e}' ${i} completed.`)}});const d=JSON.stringify(s);V(Ae,`RPC '${e}' ${i} sending request:`,s),l.send(t,"POST",d,r,15)})}Wo(e,t,r){const s=To(),i=[this.po,"/","google.firestore.v1.Firestore","/",e,"/channel"],a=Dc(),c=Nc(),l={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},d=this.longPollingOptions.timeoutSeconds;d!==void 0&&(l.longPollingTimeout=Math.round(1e3*d)),this.useFetchStreams&&(l.useFetchStreams=!0),this.Do(l.initMessageHeaders,t,r),l.encodeInitMessageHeaders=!0;const f=i.join("");V(Ae,`Creating RPC '${e}' stream ${s}: ${f}`,l);const m=a.createWebChannel(f,l);let v=!1,R=!1;const S=new M_({Fo:k=>{R?V(Ae,`Not sending because RPC '${e}' stream ${s} is closed:`,k):(v||(V(Ae,`Opening RPC '${e}' stream ${s} transport.`),m.open(),v=!0),V(Ae,`RPC '${e}' stream ${s} sending:`,k),m.send(k))},Mo:()=>m.close()}),N=(k,U,$)=>{k.listen(U,x=>{try{$(x)}catch(H){setTimeout(()=>{throw H},0)}})};return N(m,ir.EventType.OPEN,()=>{R||(V(Ae,`RPC '${e}' stream ${s} transport opened.`),S.Qo())}),N(m,ir.EventType.CLOSE,()=>{R||(R=!0,V(Ae,`RPC '${e}' stream ${s} transport closed`),S.Ko())}),N(m,ir.EventType.ERROR,k=>{R||(R=!0,yn(Ae,`RPC '${e}' stream ${s} transport errored:`,k),S.Ko(new O(P.UNAVAILABLE,"The operation could not be completed")))}),N(m,ir.EventType.MESSAGE,k=>{var U;if(!R){const $=k.data[0];Y(!!$);const x=$,H=(x==null?void 0:x.error)||((U=x[0])===null||U===void 0?void 0:U.error);if(H){V(Ae,`RPC '${e}' stream ${s} received error:`,H);const he=H.status;let J=function(_){const E=ce[_];if(E!==void 0)return Nu(E)}(he),T=H.message;J===void 0&&(J=P.INTERNAL,T="Unknown error status: "+he+" with message "+H.message),R=!0,S.Ko(new O(J,T)),m.close()}else V(Ae,`RPC '${e}' stream ${s} received:`,$),S.Uo($)}}),N(c,kc.STAT_EVENT,k=>{k.stat===Ki.PROXY?V(Ae,`RPC '${e}' stream ${s} detected buffering proxy`):k.stat===Ki.NOPROXY&&V(Ae,`RPC '${e}' stream ${s} detected no buffering proxy`)}),setTimeout(()=>{S.$o()},0),S}}function Io(){return typeof document<"u"?document:null}/**
1577
1562
  * @license
1578
1563
  * Copyright 2020 Google LLC
1579
1564
  *
@@ -1588,7 +1573,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1588
1573
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1589
1574
  * See the License for the specific language governing permissions and
1590
1575
  * limitations under the License.
1591
- */function Ds(n){return new Bg(n,!0)}/**
1576
+ */function Ds(n){return new jg(n,!0)}/**
1592
1577
  * @license
1593
1578
  * Copyright 2017 Google LLC
1594
1579
  *
@@ -1603,7 +1588,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1603
1588
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1604
1589
  * See the License for the specific language governing permissions and
1605
1590
  * limitations under the License.
1606
- */class rl{constructor(e,t,r=1e3,s=1.5,i=6e4){this.Ti=e,this.timerId=t,this.Go=r,this.zo=s,this.jo=i,this.Ho=0,this.Jo=null,this.Yo=Date.now(),this.reset()}reset(){this.Ho=0}Zo(){this.Ho=this.jo}Xo(e){this.cancel();const t=Math.floor(this.Ho+this.e_()),r=Math.max(0,Date.now()-this.Yo),s=Math.max(0,t-r);s>0&&V("ExponentialBackoff",`Backing off for ${s} ms (base delay: ${this.Ho} ms, delay with jitter: ${t} ms, last attempt: ${r} ms ago)`),this.Jo=this.Ti.enqueueAfterDelay(this.timerId,s,()=>(this.Yo=Date.now(),e())),this.Ho*=this.zo,this.Ho<this.Go&&(this.Ho=this.Go),this.Ho>this.jo&&(this.Ho=this.jo)}t_(){this.Jo!==null&&(this.Jo.skipDelay(),this.Jo=null)}cancel(){this.Jo!==null&&(this.Jo.cancel(),this.Jo=null)}e_(){return(Math.random()-.5)*this.Ho}}/**
1591
+ */class sl{constructor(e,t,r=1e3,s=1.5,i=6e4){this.Ti=e,this.timerId=t,this.Go=r,this.zo=s,this.jo=i,this.Ho=0,this.Jo=null,this.Yo=Date.now(),this.reset()}reset(){this.Ho=0}Zo(){this.Ho=this.jo}Xo(e){this.cancel();const t=Math.floor(this.Ho+this.e_()),r=Math.max(0,Date.now()-this.Yo),s=Math.max(0,t-r);s>0&&V("ExponentialBackoff",`Backing off for ${s} ms (base delay: ${this.Ho} ms, delay with jitter: ${t} ms, last attempt: ${r} ms ago)`),this.Jo=this.Ti.enqueueAfterDelay(this.timerId,s,()=>(this.Yo=Date.now(),e())),this.Ho*=this.zo,this.Ho<this.Go&&(this.Ho=this.Go),this.Ho>this.jo&&(this.Ho=this.jo)}t_(){this.Jo!==null&&(this.Jo.skipDelay(),this.Jo=null)}cancel(){this.Jo!==null&&(this.Jo.cancel(),this.Jo=null)}e_(){return(Math.random()-.5)*this.Ho}}/**
1607
1592
  * @license
1608
1593
  * Copyright 2017 Google LLC
1609
1594
  *
@@ -1618,7 +1603,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1618
1603
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1619
1604
  * See the License for the specific language governing permissions and
1620
1605
  * limitations under the License.
1621
- */const sl="PersistentStream";class il{constructor(e,t,r,s,i,a,c,l){this.Ti=e,this.n_=r,this.r_=s,this.connection=i,this.authCredentialsProvider=a,this.appCheckCredentialsProvider=c,this.listener=l,this.state=0,this.i_=0,this.s_=null,this.o_=null,this.stream=null,this.__=0,this.a_=new rl(e,t)}u_(){return this.state===1||this.state===5||this.c_()}c_(){return this.state===2||this.state===3}start(){this.__=0,this.state!==4?this.auth():this.l_()}async stop(){this.u_()&&await this.close(0)}h_(){this.state=0,this.a_.reset()}P_(){this.c_()&&this.s_===null&&(this.s_=this.Ti.enqueueAfterDelay(this.n_,6e4,()=>this.T_()))}I_(e){this.E_(),this.stream.send(e)}async T_(){if(this.c_())return this.close(0)}E_(){this.s_&&(this.s_.cancel(),this.s_=null)}d_(){this.o_&&(this.o_.cancel(),this.o_=null)}async close(e,t){this.E_(),this.d_(),this.a_.cancel(),this.i_++,e!==4?this.a_.reset():t&&t.code===P.RESOURCE_EXHAUSTED?(ft(t.toString()),ft("Using maximum backoff delay to prevent overloading the backend."),this.a_.Zo()):t&&t.code===P.UNAUTHENTICATED&&this.state!==3&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),this.stream!==null&&(this.A_(),this.stream.close(),this.stream=null),this.state=e,await this.listener.Lo(t)}A_(){}auth(){this.state=1;const e=this.R_(this.i_),t=this.i_;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([r,s])=>{this.i_===t&&this.V_(r,s)},r=>{e(()=>{const s=new O(P.UNKNOWN,"Fetching auth token failed: "+r.message);return this.m_(s)})})}V_(e,t){const r=this.R_(this.i_);this.stream=this.f_(e,t),this.stream.xo(()=>{r(()=>this.listener.xo())}),this.stream.No(()=>{r(()=>(this.state=2,this.o_=this.Ti.enqueueAfterDelay(this.r_,1e4,()=>(this.c_()&&(this.state=3),Promise.resolve())),this.listener.No()))}),this.stream.Lo(s=>{r(()=>this.m_(s))}),this.stream.onMessage(s=>{r(()=>++this.__==1?this.g_(s):this.onNext(s))})}l_(){this.state=5,this.a_.Xo(async()=>{this.state=0,this.start()})}m_(e){return V(sl,`close with error: ${e}`),this.stream=null,this.close(4,e)}R_(e){return t=>{this.Ti.enqueueAndForget(()=>this.i_===e?t():(V(sl,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class U_ extends il{constructor(e,t,r,s,i,a){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,r,s,a),this.serializer=i}f_(e,t){return this.connection.Wo("Listen",e,t)}g_(e){return this.onNext(e)}onNext(e){this.a_.reset();const t=$g(this.serializer,e),r=function(i){if(!("targetChange"in i))return j.min();const a=i.targetChange;return a.targetIds&&a.targetIds.length?j.min():a.readTime?rt(a.readTime):j.min()}(e);return this.listener.p_(t,r)}y_(e){const t={};t.database=mo(this.serializer),t.addTarget=function(i,a){let c;const l=a.target;if(c=ro(l)?{documents:Wg(i,l)}:{query:qu(i,l).ht},c.targetId=a.targetId,a.resumeToken.approximateByteSize()>0){c.resumeToken=Uu(i,a.resumeToken);const d=uo(i,a.expectedCount);d!==null&&(c.expectedCount=d)}else if(a.snapshotVersion.compareTo(j.min())>0){c.readTime=Cs(i,a.snapshotVersion.toTimestamp());const d=uo(i,a.expectedCount);d!==null&&(c.expectedCount=d)}return c}(this.serializer,e);const r=Qg(this.serializer,e);r&&(t.labels=r),this.I_(t)}w_(e){const t={};t.database=mo(this.serializer),t.removeTarget=e,this.I_(t)}}class x_ extends il{constructor(e,t,r,s,i,a){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,r,s,a),this.serializer=i}get S_(){return this.__>0}start(){this.lastStreamToken=void 0,super.start()}A_(){this.S_&&this.b_([])}f_(e,t){return this.connection.Wo("Write",e,t)}g_(e){return Y(!!e.streamToken),this.lastStreamToken=e.streamToken,Y(!e.writeResults||e.writeResults.length===0),this.listener.D_()}onNext(e){Y(!!e.streamToken),this.lastStreamToken=e.streamToken,this.a_.reset();const t=zg(e.writeResults,e.commitTime),r=rt(e.commitTime);return this.listener.v_(r,t)}C_(){const e={};e.database=mo(this.serializer),this.I_(e)}b_(e){const t={streamToken:this.lastStreamToken,writes:e.map(r=>Hg(this.serializer,r))};this.I_(t)}}/**
1606
+ */const il="PersistentStream";class ol{constructor(e,t,r,s,i,a,c,l){this.Ti=e,this.n_=r,this.r_=s,this.connection=i,this.authCredentialsProvider=a,this.appCheckCredentialsProvider=c,this.listener=l,this.state=0,this.i_=0,this.s_=null,this.o_=null,this.stream=null,this.__=0,this.a_=new sl(e,t)}u_(){return this.state===1||this.state===5||this.c_()}c_(){return this.state===2||this.state===3}start(){this.__=0,this.state!==4?this.auth():this.l_()}async stop(){this.u_()&&await this.close(0)}h_(){this.state=0,this.a_.reset()}P_(){this.c_()&&this.s_===null&&(this.s_=this.Ti.enqueueAfterDelay(this.n_,6e4,()=>this.T_()))}I_(e){this.E_(),this.stream.send(e)}async T_(){if(this.c_())return this.close(0)}E_(){this.s_&&(this.s_.cancel(),this.s_=null)}d_(){this.o_&&(this.o_.cancel(),this.o_=null)}async close(e,t){this.E_(),this.d_(),this.a_.cancel(),this.i_++,e!==4?this.a_.reset():t&&t.code===P.RESOURCE_EXHAUSTED?(ft(t.toString()),ft("Using maximum backoff delay to prevent overloading the backend."),this.a_.Zo()):t&&t.code===P.UNAUTHENTICATED&&this.state!==3&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),this.stream!==null&&(this.A_(),this.stream.close(),this.stream=null),this.state=e,await this.listener.Lo(t)}A_(){}auth(){this.state=1;const e=this.R_(this.i_),t=this.i_;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([r,s])=>{this.i_===t&&this.V_(r,s)},r=>{e(()=>{const s=new O(P.UNKNOWN,"Fetching auth token failed: "+r.message);return this.m_(s)})})}V_(e,t){const r=this.R_(this.i_);this.stream=this.f_(e,t),this.stream.xo(()=>{r(()=>this.listener.xo())}),this.stream.No(()=>{r(()=>(this.state=2,this.o_=this.Ti.enqueueAfterDelay(this.r_,1e4,()=>(this.c_()&&(this.state=3),Promise.resolve())),this.listener.No()))}),this.stream.Lo(s=>{r(()=>this.m_(s))}),this.stream.onMessage(s=>{r(()=>++this.__==1?this.g_(s):this.onNext(s))})}l_(){this.state=5,this.a_.Xo(async()=>{this.state=0,this.start()})}m_(e){return V(il,`close with error: ${e}`),this.stream=null,this.close(4,e)}R_(e){return t=>{this.Ti.enqueueAndForget(()=>this.i_===e?t():(V(il,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class x_ extends ol{constructor(e,t,r,s,i,a){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,r,s,a),this.serializer=i}f_(e,t){return this.connection.Wo("Listen",e,t)}g_(e){return this.onNext(e)}onNext(e){this.a_.reset();const t=Hg(this.serializer,e),r=function(i){if(!("targetChange"in i))return j.min();const a=i.targetChange;return a.targetIds&&a.targetIds.length?j.min():a.readTime?rt(a.readTime):j.min()}(e);return this.listener.p_(t,r)}y_(e){const t={};t.database=mo(this.serializer),t.addTarget=function(i,a){let c;const l=a.target;if(c=ro(l)?{documents:Gg(i,l)}:{query:$u(i,l).ht},c.targetId=a.targetId,a.resumeToken.approximateByteSize()>0){c.resumeToken=xu(i,a.resumeToken);const d=uo(i,a.expectedCount);d!==null&&(c.expectedCount=d)}else if(a.snapshotVersion.compareTo(j.min())>0){c.readTime=Cs(i,a.snapshotVersion.toTimestamp());const d=uo(i,a.expectedCount);d!==null&&(c.expectedCount=d)}return c}(this.serializer,e);const r=Xg(this.serializer,e);r&&(t.labels=r),this.I_(t)}w_(e){const t={};t.database=mo(this.serializer),t.removeTarget=e,this.I_(t)}}class F_ extends ol{constructor(e,t,r,s,i,a){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,r,s,a),this.serializer=i}get b_(){return this.__>0}start(){this.lastStreamToken=void 0,super.start()}A_(){this.b_&&this.S_([])}f_(e,t){return this.connection.Wo("Write",e,t)}g_(e){return Y(!!e.streamToken),this.lastStreamToken=e.streamToken,Y(!e.writeResults||e.writeResults.length===0),this.listener.D_()}onNext(e){Y(!!e.streamToken),this.lastStreamToken=e.streamToken,this.a_.reset();const t=Wg(e.writeResults,e.commitTime),r=rt(e.commitTime);return this.listener.v_(r,t)}C_(){const e={};e.database=mo(this.serializer),this.I_(e)}S_(e){const t={streamToken:this.lastStreamToken,writes:e.map(r=>zg(this.serializer,r))};this.I_(t)}}/**
1622
1607
  * @license
1623
1608
  * Copyright 2017 Google LLC
1624
1609
  *
@@ -1633,7 +1618,7 @@ Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targe
1633
1618
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1634
1619
  * See the License for the specific language governing permissions and
1635
1620
  * limitations under the License.
1636
- */class F_{}class B_ extends F_{constructor(e,t,r,s){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=r,this.serializer=s,this.F_=!1}M_(){if(this.F_)throw new O(P.FAILED_PRECONDITION,"The client has already been terminated.")}So(e,t,r,s){return this.M_(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([i,a])=>this.connection.So(e,ho(t,r),s,i,a)).catch(i=>{throw i.name==="FirebaseError"?(i.code===P.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),i):new O(P.UNKNOWN,i.toString())})}Co(e,t,r,s,i){return this.M_(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([a,c])=>this.connection.Co(e,ho(t,r),s,a,c,i)).catch(a=>{throw a.name==="FirebaseError"?(a.code===P.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),a):new O(P.UNKNOWN,a.toString())})}terminate(){this.F_=!0,this.connection.terminate()}}class j_{constructor(e,t){this.asyncQueue=e,this.onlineStateHandler=t,this.state="Unknown",this.x_=0,this.O_=null,this.N_=!0}B_(){this.x_===0&&(this.L_("Unknown"),this.O_=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,()=>(this.O_=null,this.k_("Backend didn't respond within 10 seconds."),this.L_("Offline"),Promise.resolve())))}q_(e){this.state==="Online"?this.L_("Unknown"):(this.x_++,this.x_>=1&&(this.Q_(),this.k_(`Connection failed 1 times. Most recent error: ${e.toString()}`),this.L_("Offline")))}set(e){this.Q_(),this.x_=0,e==="Online"&&(this.N_=!1),this.L_(e)}L_(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))}k_(e){const t=`Could not reach Cloud Firestore backend. ${e}
1621
+ */class B_{}class j_ extends B_{constructor(e,t,r,s){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=r,this.serializer=s,this.F_=!1}M_(){if(this.F_)throw new O(P.FAILED_PRECONDITION,"The client has already been terminated.")}bo(e,t,r,s){return this.M_(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([i,a])=>this.connection.bo(e,ho(t,r),s,i,a)).catch(i=>{throw i.name==="FirebaseError"?(i.code===P.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),i):new O(P.UNKNOWN,i.toString())})}Co(e,t,r,s,i){return this.M_(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([a,c])=>this.connection.Co(e,ho(t,r),s,a,c,i)).catch(a=>{throw a.name==="FirebaseError"?(a.code===P.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),a):new O(P.UNKNOWN,a.toString())})}terminate(){this.F_=!0,this.connection.terminate()}}class q_{constructor(e,t){this.asyncQueue=e,this.onlineStateHandler=t,this.state="Unknown",this.x_=0,this.O_=null,this.N_=!0}B_(){this.x_===0&&(this.L_("Unknown"),this.O_=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,()=>(this.O_=null,this.k_("Backend didn't respond within 10 seconds."),this.L_("Offline"),Promise.resolve())))}q_(e){this.state==="Online"?this.L_("Unknown"):(this.x_++,this.x_>=1&&(this.Q_(),this.k_(`Connection failed 1 times. Most recent error: ${e.toString()}`),this.L_("Offline")))}set(e){this.Q_(),this.x_=0,e==="Online"&&(this.N_=!1),this.L_(e)}L_(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))}k_(e){const t=`Could not reach Cloud Firestore backend. ${e}
1637
1622
  This 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.N_?(ft(t),this.N_=!1):V("OnlineStateTracker",t)}Q_(){this.O_!==null&&(this.O_.cancel(),this.O_=null)}}/**
1638
1623
  * @license
1639
1624
  * Copyright 2017 Google LLC
@@ -1649,7 +1634,7 @@ This typically indicates that your device does not have a healthy Internet conne
1649
1634
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1650
1635
  * See the License for the specific language governing permissions and
1651
1636
  * limitations under the License.
1652
- */const tn="RemoteStore";class q_{constructor(e,t,r,s,i){this.localStore=e,this.datastore=t,this.asyncQueue=r,this.remoteSyncer={},this.K_=[],this.U_=new Map,this.W_=new Set,this.G_=[],this.z_=i,this.z_.To(a=>{r.enqueueAndForget(async()=>{nn(this)&&(V(tn,"Restarting streams for network reachability change."),await async function(l){const d=B(l);d.W_.add(4),await vr(d),d.j_.set("Unknown"),d.W_.delete(4),await Os(d)}(this))})}),this.j_=new j_(r,s)}}async function Os(n){if(nn(n))for(const e of n.G_)await e(!0)}async function vr(n){for(const e of n.G_)await e(!1)}function ol(n,e){const t=B(n);t.U_.has(e.targetId)||(t.U_.set(e.targetId,e),Po(t)?bo(t):Cn(t).c_()&&Ro(t,e))}function Ao(n,e){const t=B(n),r=Cn(t);t.U_.delete(e),r.c_()&&al(t,e),t.U_.size===0&&(r.c_()?r.P_():nn(t)&&t.j_.set("Unknown"))}function Ro(n,e){if(n.H_.Ne(e.targetId),e.resumeToken.approximateByteSize()>0||e.snapshotVersion.compareTo(j.min())>0){const t=n.remoteSyncer.getRemoteKeysForTarget(e.targetId).size;e=e.withExpectedCount(t)}Cn(n).y_(e)}function al(n,e){n.H_.Ne(e),Cn(n).w_(e)}function bo(n){n.H_=new Mg({getRemoteKeysForTarget:e=>n.remoteSyncer.getRemoteKeysForTarget(e),lt:e=>n.U_.get(e)||null,it:()=>n.datastore.serializer.databaseId}),Cn(n).start(),n.j_.B_()}function Po(n){return nn(n)&&!Cn(n).u_()&&n.U_.size>0}function nn(n){return B(n).W_.size===0}function cl(n){n.H_=void 0}async function $_(n){n.j_.set("Online")}async function H_(n){n.U_.forEach((e,t)=>{Ro(n,e)})}async function z_(n,e){cl(n),Po(n)?(n.j_.q_(e),bo(n)):n.j_.set("Unknown")}async function W_(n,e,t){if(n.j_.set("Online"),e instanceof Vu&&e.state===2&&e.cause)try{await async function(s,i){const a=i.cause;for(const c of i.targetIds)s.U_.has(c)&&(await s.remoteSyncer.rejectListen(c,a),s.U_.delete(c),s.H_.removeTarget(c))}(n,e)}catch(r){V(tn,"Failed to remove targets %s: %s ",e.targetIds.join(","),r),await Vs(n,r)}else if(e instanceof Ps?n.H_.We(e):e instanceof Ou?n.H_.Ze(e):n.H_.je(e),!t.isEqual(j.min()))try{const r=await Ju(n.localStore);t.compareTo(r)>=0&&await function(i,a){const c=i.H_.ot(a);return c.targetChanges.forEach((l,d)=>{if(l.resumeToken.approximateByteSize()>0){const f=i.U_.get(d);f&&i.U_.set(d,f.withResumeToken(l.resumeToken,a))}}),c.targetMismatches.forEach((l,d)=>{const f=i.U_.get(l);if(!f)return;i.U_.set(l,f.withResumeToken(_e.EMPTY_BYTE_STRING,f.snapshotVersion)),al(i,l);const m=new Mt(f.target,l,d,f.sequenceNumber);Ro(i,m)}),i.remoteSyncer.applyRemoteEvent(c)}(n,t)}catch(r){V(tn,"Failed to raise snapshot:",r),await Vs(n,r)}}async function Vs(n,e,t){if(!Tn(e))throw e;n.W_.add(1),await vr(n),n.j_.set("Offline"),t||(t=()=>Ju(n.localStore)),n.asyncQueue.enqueueRetryable(async()=>{V(tn,"Retrying IndexedDB access"),await t(),n.W_.delete(1),await Os(n)})}function ul(n,e){return e().catch(t=>Vs(n,t,e))}async function Ls(n){const e=B(n),t=Ut(e);let r=e.K_.length>0?e.K_[e.K_.length-1].batchId:Xi;for(;G_(e);)try{const s=await S_(e.localStore,r);if(s===null){e.K_.length===0&&t.P_();break}r=s.batchId,K_(e,s)}catch(s){await Vs(e,s)}ll(e)&&hl(e)}function G_(n){return nn(n)&&n.K_.length<10}function K_(n,e){n.K_.push(e);const t=Ut(n);t.c_()&&t.S_&&t.b_(e.mutations)}function ll(n){return nn(n)&&!Ut(n).u_()&&n.K_.length>0}function hl(n){Ut(n).start()}async function Q_(n){Ut(n).C_()}async function X_(n){const e=Ut(n);for(const t of n.K_)e.b_(t.mutations)}async function Y_(n,e,t){const r=n.K_.shift(),s=ao.from(r,e,t);await ul(n,()=>n.remoteSyncer.applySuccessfulWrite(s)),await Ls(n)}async function J_(n,e){e&&Ut(n).S_&&await async function(r,s){if(function(a){return Og(a)&&a!==P.ABORTED}(s.code)){const i=r.K_.shift();Ut(r).h_(),await ul(r,()=>r.remoteSyncer.rejectFailedWrite(i.batchId,s)),await Ls(r)}}(n,e),ll(n)&&hl(n)}async function dl(n,e){const t=B(n);t.asyncQueue.verifyOperationInProgress(),V(tn,"RemoteStore received new credentials");const r=nn(t);t.W_.add(3),await vr(t),r&&t.j_.set("Unknown"),await t.remoteSyncer.handleCredentialChange(e),t.W_.delete(3),await Os(t)}async function Z_(n,e){const t=B(n);e?(t.W_.delete(2),await Os(t)):e||(t.W_.add(2),await vr(t),t.j_.set("Unknown"))}function Cn(n){return n.J_||(n.J_=function(t,r,s){const i=B(t);return i.M_(),new U_(r,i.connection,i.authCredentials,i.appCheckCredentials,i.serializer,s)}(n.datastore,n.asyncQueue,{xo:$_.bind(null,n),No:H_.bind(null,n),Lo:z_.bind(null,n),p_:W_.bind(null,n)}),n.G_.push(async e=>{e?(n.J_.h_(),Po(n)?bo(n):n.j_.set("Unknown")):(await n.J_.stop(),cl(n))})),n.J_}function Ut(n){return n.Y_||(n.Y_=function(t,r,s){const i=B(t);return i.M_(),new x_(r,i.connection,i.authCredentials,i.appCheckCredentials,i.serializer,s)}(n.datastore,n.asyncQueue,{xo:()=>Promise.resolve(),No:Q_.bind(null,n),Lo:J_.bind(null,n),D_:X_.bind(null,n),v_:Y_.bind(null,n)}),n.G_.push(async e=>{e?(n.Y_.h_(),await Ls(n)):(await n.Y_.stop(),n.K_.length>0&&(V(tn,`Stopping write stream with ${n.K_.length} pending writes`),n.K_=[]))})),n.Y_}/**
1637
+ */const nn="RemoteStore";class $_{constructor(e,t,r,s,i){this.localStore=e,this.datastore=t,this.asyncQueue=r,this.remoteSyncer={},this.K_=[],this.U_=new Map,this.W_=new Set,this.G_=[],this.z_=i,this.z_.To(a=>{r.enqueueAndForget(async()=>{rn(this)&&(V(nn,"Restarting streams for network reachability change."),await async function(l){const d=B(l);d.W_.add(4),await Er(d),d.j_.set("Unknown"),d.W_.delete(4),await Os(d)}(this))})}),this.j_=new q_(r,s)}}async function Os(n){if(rn(n))for(const e of n.G_)await e(!0)}async function Er(n){for(const e of n.G_)await e(!1)}function al(n,e){const t=B(n);t.U_.has(e.targetId)||(t.U_.set(e.targetId,e),Po(t)?bo(t):Cn(t).c_()&&Ro(t,e))}function Ao(n,e){const t=B(n),r=Cn(t);t.U_.delete(e),r.c_()&&cl(t,e),t.U_.size===0&&(r.c_()?r.P_():rn(t)&&t.j_.set("Unknown"))}function Ro(n,e){if(n.H_.Ne(e.targetId),e.resumeToken.approximateByteSize()>0||e.snapshotVersion.compareTo(j.min())>0){const t=n.remoteSyncer.getRemoteKeysForTarget(e.targetId).size;e=e.withExpectedCount(t)}Cn(n).y_(e)}function cl(n,e){n.H_.Ne(e),Cn(n).w_(e)}function bo(n){n.H_=new Ug({getRemoteKeysForTarget:e=>n.remoteSyncer.getRemoteKeysForTarget(e),lt:e=>n.U_.get(e)||null,it:()=>n.datastore.serializer.databaseId}),Cn(n).start(),n.j_.B_()}function Po(n){return rn(n)&&!Cn(n).u_()&&n.U_.size>0}function rn(n){return B(n).W_.size===0}function ul(n){n.H_=void 0}async function H_(n){n.j_.set("Online")}async function z_(n){n.U_.forEach((e,t)=>{Ro(n,e)})}async function W_(n,e){ul(n),Po(n)?(n.j_.q_(e),bo(n)):n.j_.set("Unknown")}async function G_(n,e,t){if(n.j_.set("Online"),e instanceof Lu&&e.state===2&&e.cause)try{await async function(s,i){const a=i.cause;for(const c of i.targetIds)s.U_.has(c)&&(await s.remoteSyncer.rejectListen(c,a),s.U_.delete(c),s.H_.removeTarget(c))}(n,e)}catch(r){V(nn,"Failed to remove targets %s: %s ",e.targetIds.join(","),r),await Vs(n,r)}else if(e instanceof Ps?n.H_.We(e):e instanceof Vu?n.H_.Ze(e):n.H_.je(e),!t.isEqual(j.min()))try{const r=await Zu(n.localStore);t.compareTo(r)>=0&&await function(i,a){const c=i.H_.ot(a);return c.targetChanges.forEach((l,d)=>{if(l.resumeToken.approximateByteSize()>0){const f=i.U_.get(d);f&&i.U_.set(d,f.withResumeToken(l.resumeToken,a))}}),c.targetMismatches.forEach((l,d)=>{const f=i.U_.get(l);if(!f)return;i.U_.set(l,f.withResumeToken(_e.EMPTY_BYTE_STRING,f.snapshotVersion)),cl(i,l);const m=new Mt(f.target,l,d,f.sequenceNumber);Ro(i,m)}),i.remoteSyncer.applyRemoteEvent(c)}(n,t)}catch(r){V(nn,"Failed to raise snapshot:",r),await Vs(n,r)}}async function Vs(n,e,t){if(!Tn(e))throw e;n.W_.add(1),await Er(n),n.j_.set("Offline"),t||(t=()=>Zu(n.localStore)),n.asyncQueue.enqueueRetryable(async()=>{V(nn,"Retrying IndexedDB access"),await t(),n.W_.delete(1),await Os(n)})}function ll(n,e){return e().catch(t=>Vs(n,t,e))}async function Ls(n){const e=B(n),t=Ut(e);let r=e.K_.length>0?e.K_[e.K_.length-1].batchId:Xi;for(;K_(e);)try{const s=await C_(e.localStore,r);if(s===null){e.K_.length===0&&t.P_();break}r=s.batchId,Q_(e,s)}catch(s){await Vs(e,s)}hl(e)&&dl(e)}function K_(n){return rn(n)&&n.K_.length<10}function Q_(n,e){n.K_.push(e);const t=Ut(n);t.c_()&&t.b_&&t.S_(e.mutations)}function hl(n){return rn(n)&&!Ut(n).u_()&&n.K_.length>0}function dl(n){Ut(n).start()}async function X_(n){Ut(n).C_()}async function Y_(n){const e=Ut(n);for(const t of n.K_)e.S_(t.mutations)}async function J_(n,e,t){const r=n.K_.shift(),s=ao.from(r,e,t);await ll(n,()=>n.remoteSyncer.applySuccessfulWrite(s)),await Ls(n)}async function Z_(n,e){e&&Ut(n).b_&&await async function(r,s){if(function(a){return Vg(a)&&a!==P.ABORTED}(s.code)){const i=r.K_.shift();Ut(r).h_(),await ll(r,()=>r.remoteSyncer.rejectFailedWrite(i.batchId,s)),await Ls(r)}}(n,e),hl(n)&&dl(n)}async function fl(n,e){const t=B(n);t.asyncQueue.verifyOperationInProgress(),V(nn,"RemoteStore received new credentials");const r=rn(t);t.W_.add(3),await Er(t),r&&t.j_.set("Unknown"),await t.remoteSyncer.handleCredentialChange(e),t.W_.delete(3),await Os(t)}async function ey(n,e){const t=B(n);e?(t.W_.delete(2),await Os(t)):e||(t.W_.add(2),await Er(t),t.j_.set("Unknown"))}function Cn(n){return n.J_||(n.J_=function(t,r,s){const i=B(t);return i.M_(),new x_(r,i.connection,i.authCredentials,i.appCheckCredentials,i.serializer,s)}(n.datastore,n.asyncQueue,{xo:H_.bind(null,n),No:z_.bind(null,n),Lo:W_.bind(null,n),p_:G_.bind(null,n)}),n.G_.push(async e=>{e?(n.J_.h_(),Po(n)?bo(n):n.j_.set("Unknown")):(await n.J_.stop(),ul(n))})),n.J_}function Ut(n){return n.Y_||(n.Y_=function(t,r,s){const i=B(t);return i.M_(),new F_(r,i.connection,i.authCredentials,i.appCheckCredentials,i.serializer,s)}(n.datastore,n.asyncQueue,{xo:()=>Promise.resolve(),No:X_.bind(null,n),Lo:Z_.bind(null,n),D_:Y_.bind(null,n),v_:J_.bind(null,n)}),n.G_.push(async e=>{e?(n.Y_.h_(),await Ls(n)):(await n.Y_.stop(),n.K_.length>0&&(V(nn,`Stopping write stream with ${n.K_.length} pending writes`),n.K_=[]))})),n.Y_}/**
1653
1638
  * @license
1654
1639
  * Copyright 2017 Google LLC
1655
1640
  *
@@ -1679,7 +1664,7 @@ This typically indicates that your device does not have a healthy Internet conne
1679
1664
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1680
1665
  * See the License for the specific language governing permissions and
1681
1666
  * limitations under the License.
1682
- */class kn{static emptySet(e){return new kn(e.comparator)}constructor(e){this.comparator=e?(t,r)=>e(t,r)||L.comparator(t.key,r.key):(t,r)=>L.comparator(t.key,r.key),this.keyedMap=hr(),this.sortedSet=new re(this.comparator)}has(e){return this.keyedMap.get(e)!=null}get(e){return this.keyedMap.get(e)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(e){const 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){const t=this.delete(e.key);return t.copy(t.keyedMap.insert(e.key,e),t.sortedSet.insert(e,null))}delete(e){const t=this.get(e);return t?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(t)):this}isEqual(e){if(!(e instanceof kn)||this.size!==e.size)return!1;const t=this.sortedSet.getIterator(),r=e.sortedSet.getIterator();for(;t.hasNext();){const s=t.getNext().key,i=r.getNext().key;if(!s.isEqual(i))return!1}return!0}toString(){const e=[];return this.forEach(t=>{e.push(t.toString())}),e.length===0?"DocumentSet ()":`DocumentSet (
1667
+ */class kn{static emptySet(e){return new kn(e.comparator)}constructor(e){this.comparator=e?(t,r)=>e(t,r)||L.comparator(t.key,r.key):(t,r)=>L.comparator(t.key,r.key),this.keyedMap=dr(),this.sortedSet=new re(this.comparator)}has(e){return this.keyedMap.get(e)!=null}get(e){return this.keyedMap.get(e)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(e){const 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){const t=this.delete(e.key);return t.copy(t.keyedMap.insert(e.key,e),t.sortedSet.insert(e,null))}delete(e){const t=this.get(e);return t?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(t)):this}isEqual(e){if(!(e instanceof kn)||this.size!==e.size)return!1;const t=this.sortedSet.getIterator(),r=e.sortedSet.getIterator();for(;t.hasNext();){const s=t.getNext().key,i=r.getNext().key;if(!s.isEqual(i))return!1}return!0}toString(){const e=[];return this.forEach(t=>{e.push(t.toString())}),e.length===0?"DocumentSet ()":`DocumentSet (
1683
1668
  `+e.join(`
1684
1669
  `)+`
1685
1670
  )`}copy(e,t){const r=new kn;return r.comparator=this.comparator,r.keyedMap=e,r.sortedSet=t,r}}/**
@@ -1697,7 +1682,7 @@ This typically indicates that your device does not have a healthy Internet conne
1697
1682
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1698
1683
  * See the License for the specific language governing permissions and
1699
1684
  * limitations under the License.
1700
- */class fl{constructor(){this.Z_=new re(L.comparator)}track(e){const t=e.doc.key,r=this.Z_.get(t);r?e.type!==0&&r.type===3?this.Z_=this.Z_.insert(t,e):e.type===3&&r.type!==1?this.Z_=this.Z_.insert(t,{type:r.type,doc:e.doc}):e.type===2&&r.type===2?this.Z_=this.Z_.insert(t,{type:2,doc:e.doc}):e.type===2&&r.type===0?this.Z_=this.Z_.insert(t,{type:0,doc:e.doc}):e.type===1&&r.type===0?this.Z_=this.Z_.remove(t):e.type===1&&r.type===2?this.Z_=this.Z_.insert(t,{type:1,doc:r.doc}):e.type===0&&r.type===1?this.Z_=this.Z_.insert(t,{type:2,doc:e.doc}):F():this.Z_=this.Z_.insert(t,e)}X_(){const e=[];return this.Z_.inorderTraversal((t,r)=>{e.push(r)}),e}}class Nn{constructor(e,t,r,s,i,a,c,l,d){this.query=e,this.docs=t,this.oldDocs=r,this.docChanges=s,this.mutatedKeys=i,this.fromCache=a,this.syncStateChanged=c,this.excludesMetadataChanges=l,this.hasCachedResults=d}static fromInitialDocuments(e,t,r,s,i){const a=[];return t.forEach(c=>{a.push({type:0,doc:c})}),new Nn(e,t,kn.emptySet(t),a,r,s,!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)&&ys(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;const t=this.docChanges,r=e.docChanges;if(t.length!==r.length)return!1;for(let s=0;s<t.length;s++)if(t[s].type!==r[s].type||!t[s].doc.isEqual(r[s].doc))return!1;return!0}}/**
1685
+ */class pl{constructor(){this.Z_=new re(L.comparator)}track(e){const t=e.doc.key,r=this.Z_.get(t);r?e.type!==0&&r.type===3?this.Z_=this.Z_.insert(t,e):e.type===3&&r.type!==1?this.Z_=this.Z_.insert(t,{type:r.type,doc:e.doc}):e.type===2&&r.type===2?this.Z_=this.Z_.insert(t,{type:2,doc:e.doc}):e.type===2&&r.type===0?this.Z_=this.Z_.insert(t,{type:0,doc:e.doc}):e.type===1&&r.type===0?this.Z_=this.Z_.remove(t):e.type===1&&r.type===2?this.Z_=this.Z_.insert(t,{type:1,doc:r.doc}):e.type===0&&r.type===1?this.Z_=this.Z_.insert(t,{type:2,doc:e.doc}):F():this.Z_=this.Z_.insert(t,e)}X_(){const e=[];return this.Z_.inorderTraversal((t,r)=>{e.push(r)}),e}}class Nn{constructor(e,t,r,s,i,a,c,l,d){this.query=e,this.docs=t,this.oldDocs=r,this.docChanges=s,this.mutatedKeys=i,this.fromCache=a,this.syncStateChanged=c,this.excludesMetadataChanges=l,this.hasCachedResults=d}static fromInitialDocuments(e,t,r,s,i){const a=[];return t.forEach(c=>{a.push({type:0,doc:c})}),new Nn(e,t,kn.emptySet(t),a,r,s,!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)&&ys(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;const t=this.docChanges,r=e.docChanges;if(t.length!==r.length)return!1;for(let s=0;s<t.length;s++)if(t[s].type!==r[s].type||!t[s].doc.isEqual(r[s].doc))return!1;return!0}}/**
1701
1686
  * @license
1702
1687
  * Copyright 2017 Google LLC
1703
1688
  *
@@ -1712,7 +1697,7 @@ This typically indicates that your device does not have a healthy Internet conne
1712
1697
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1713
1698
  * See the License for the specific language governing permissions and
1714
1699
  * limitations under the License.
1715
- */class ey{constructor(){this.ea=void 0,this.ta=[]}na(){return this.ta.some(e=>e.ra())}}class ty{constructor(){this.queries=pl(),this.onlineState="Unknown",this.ia=new Set}terminate(){(function(t,r){const s=B(t),i=s.queries;s.queries=pl(),i.forEach((a,c)=>{for(const l of c.ta)l.onError(r)})})(this,new O(P.ABORTED,"Firestore shutting down"))}}function pl(){return new Zt(n=>pu(n),ys)}async function ko(n,e){const t=B(n);let r=3;const s=e.query;let i=t.queries.get(s);i?!i.na()&&e.ra()&&(r=2):(i=new ey,r=e.ra()?0:1);try{switch(r){case 0:i.ea=await t.onListen(s,!0);break;case 1:i.ea=await t.onListen(s,!1);break;case 2:await t.onFirstRemoteStoreListen(s)}}catch(a){const c=Co(a,`Initialization of query '${bn(e.query)}' failed`);return void e.onError(c)}t.queries.set(s,i),i.ta.push(e),e.sa(t.onlineState),i.ea&&e.oa(i.ea)&&Do(t)}async function No(n,e){const t=B(n),r=e.query;let s=3;const i=t.queries.get(r);if(i){const a=i.ta.indexOf(e);a>=0&&(i.ta.splice(a,1),i.ta.length===0?s=e.ra()?0:1:!i.na()&&e.ra()&&(s=2))}switch(s){case 0:return t.queries.delete(r),t.onUnlisten(r,!0);case 1:return t.queries.delete(r),t.onUnlisten(r,!1);case 2:return t.onLastRemoteStoreUnlisten(r);default:return}}function ny(n,e){const t=B(n);let r=!1;for(const s of e){const i=s.query,a=t.queries.get(i);if(a){for(const c of a.ta)c.oa(s)&&(r=!0);a.ea=s}}r&&Do(t)}function ry(n,e,t){const r=B(n),s=r.queries.get(e);if(s)for(const i of s.ta)i.onError(t);r.queries.delete(e)}function Do(n){n.ia.forEach(e=>{e.next()})}var Oo,ml;(ml=Oo||(Oo={}))._a="default",ml.Cache="cache";class Vo{constructor(e,t,r){this.query=e,this.aa=t,this.ua=!1,this.ca=null,this.onlineState="Unknown",this.options=r||{}}oa(e){if(!this.options.includeMetadataChanges){const r=[];for(const s of e.docChanges)s.type!==3&&r.push(s);e=new Nn(e.query,e.docs,e.oldDocs,r,e.mutatedKeys,e.fromCache,e.syncStateChanged,!0,e.hasCachedResults)}let t=!1;return this.ua?this.la(e)&&(this.aa.next(e),t=!0):this.ha(e,this.onlineState)&&(this.Pa(e),t=!0),this.ca=e,t}onError(e){this.aa.error(e)}sa(e){this.onlineState=e;let t=!1;return this.ca&&!this.ua&&this.ha(this.ca,e)&&(this.Pa(this.ca),t=!0),t}ha(e,t){if(!e.fromCache||!this.ra())return!0;const r=t!=="Offline";return(!this.options.Ta||!r)&&(!e.docs.isEmpty()||e.hasCachedResults||t==="Offline")}la(e){if(e.docChanges.length>0)return!0;const t=this.ca&&this.ca.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!t)&&this.options.includeMetadataChanges===!0}Pa(e){e=Nn.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.ua=!0,this.aa.next(e)}ra(){return this.options.source!==Oo.Cache}}/**
1700
+ */class ty{constructor(){this.ea=void 0,this.ta=[]}na(){return this.ta.some(e=>e.ra())}}class ny{constructor(){this.queries=ml(),this.onlineState="Unknown",this.ia=new Set}terminate(){(function(t,r){const s=B(t),i=s.queries;s.queries=ml(),i.forEach((a,c)=>{for(const l of c.ta)l.onError(r)})})(this,new O(P.ABORTED,"Firestore shutting down"))}}function ml(){return new en(n=>mu(n),ys)}async function ko(n,e){const t=B(n);let r=3;const s=e.query;let i=t.queries.get(s);i?!i.na()&&e.ra()&&(r=2):(i=new ty,r=e.ra()?0:1);try{switch(r){case 0:i.ea=await t.onListen(s,!0);break;case 1:i.ea=await t.onListen(s,!1);break;case 2:await t.onFirstRemoteStoreListen(s)}}catch(a){const c=Co(a,`Initialization of query '${bn(e.query)}' failed`);return void e.onError(c)}t.queries.set(s,i),i.ta.push(e),e.sa(t.onlineState),i.ea&&e.oa(i.ea)&&Do(t)}async function No(n,e){const t=B(n),r=e.query;let s=3;const i=t.queries.get(r);if(i){const a=i.ta.indexOf(e);a>=0&&(i.ta.splice(a,1),i.ta.length===0?s=e.ra()?0:1:!i.na()&&e.ra()&&(s=2))}switch(s){case 0:return t.queries.delete(r),t.onUnlisten(r,!0);case 1:return t.queries.delete(r),t.onUnlisten(r,!1);case 2:return t.onLastRemoteStoreUnlisten(r);default:return}}function ry(n,e){const t=B(n);let r=!1;for(const s of e){const i=s.query,a=t.queries.get(i);if(a){for(const c of a.ta)c.oa(s)&&(r=!0);a.ea=s}}r&&Do(t)}function sy(n,e,t){const r=B(n),s=r.queries.get(e);if(s)for(const i of s.ta)i.onError(t);r.queries.delete(e)}function Do(n){n.ia.forEach(e=>{e.next()})}var Oo,gl;(gl=Oo||(Oo={}))._a="default",gl.Cache="cache";class Vo{constructor(e,t,r){this.query=e,this.aa=t,this.ua=!1,this.ca=null,this.onlineState="Unknown",this.options=r||{}}oa(e){if(!this.options.includeMetadataChanges){const r=[];for(const s of e.docChanges)s.type!==3&&r.push(s);e=new Nn(e.query,e.docs,e.oldDocs,r,e.mutatedKeys,e.fromCache,e.syncStateChanged,!0,e.hasCachedResults)}let t=!1;return this.ua?this.la(e)&&(this.aa.next(e),t=!0):this.ha(e,this.onlineState)&&(this.Pa(e),t=!0),this.ca=e,t}onError(e){this.aa.error(e)}sa(e){this.onlineState=e;let t=!1;return this.ca&&!this.ua&&this.ha(this.ca,e)&&(this.Pa(this.ca),t=!0),t}ha(e,t){if(!e.fromCache||!this.ra())return!0;const r=t!=="Offline";return(!this.options.Ta||!r)&&(!e.docs.isEmpty()||e.hasCachedResults||t==="Offline")}la(e){if(e.docChanges.length>0)return!0;const t=this.ca&&this.ca.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!t)&&this.options.includeMetadataChanges===!0}Pa(e){e=Nn.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.ua=!0,this.aa.next(e)}ra(){return this.options.source!==Oo.Cache}}/**
1716
1701
  * @license
1717
1702
  * Copyright 2017 Google LLC
1718
1703
  *
@@ -1727,7 +1712,7 @@ This typically indicates that your device does not have a healthy Internet conne
1727
1712
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1728
1713
  * See the License for the specific language governing permissions and
1729
1714
  * limitations under the License.
1730
- */class gl{constructor(e){this.key=e}}class _l{constructor(e){this.key=e}}class sy{constructor(e,t){this.query=e,this.fa=t,this.ga=null,this.hasCachedResults=!1,this.current=!1,this.pa=W(),this.mutatedKeys=W(),this.ya=mu(e),this.wa=new kn(this.ya)}get Sa(){return this.fa}ba(e,t){const r=t?t.Da:new fl,s=t?t.wa:this.wa;let i=t?t.mutatedKeys:this.mutatedKeys,a=s,c=!1;const l=this.query.limitType==="F"&&s.size===this.query.limit?s.last():null,d=this.query.limitType==="L"&&s.size===this.query.limit?s.first():null;if(e.inorderTraversal((f,m)=>{const v=s.get(f),R=vs(this.query,m)?m:null,S=!!v&&this.mutatedKeys.has(v.key),N=!!R&&(R.hasLocalMutations||this.mutatedKeys.has(R.key)&&R.hasCommittedMutations);let k=!1;v&&R?v.data.isEqual(R.data)?S!==N&&(r.track({type:3,doc:R}),k=!0):this.va(v,R)||(r.track({type:2,doc:R}),k=!0,(l&&this.ya(R,l)>0||d&&this.ya(R,d)<0)&&(c=!0)):!v&&R?(r.track({type:0,doc:R}),k=!0):v&&!R&&(r.track({type:1,doc:v}),k=!0,(l||d)&&(c=!0)),k&&(R?(a=a.add(R),i=N?i.add(f):i.delete(f)):(a=a.delete(f),i=i.delete(f)))}),this.query.limit!==null)for(;a.size>this.query.limit;){const f=this.query.limitType==="F"?a.last():a.first();a=a.delete(f.key),i=i.delete(f.key),r.track({type:1,doc:f})}return{wa:a,Da:r,ls:c,mutatedKeys:i}}va(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,r,s){const i=this.wa;this.wa=e.wa,this.mutatedKeys=e.mutatedKeys;const a=e.Da.X_();a.sort((f,m)=>function(R,S){const N=k=>{switch(k){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return F()}};return N(R)-N(S)}(f.type,m.type)||this.ya(f.doc,m.doc)),this.Ca(r),s=s!=null&&s;const c=t&&!s?this.Fa():[],l=this.pa.size===0&&this.current&&!s?1:0,d=l!==this.ga;return this.ga=l,a.length!==0||d?{snapshot:new Nn(this.query,e.wa,i,a,e.mutatedKeys,l===0,d,!1,!!r&&r.resumeToken.approximateByteSize()>0),Ma:c}:{Ma:c}}sa(e){return this.current&&e==="Offline"?(this.current=!1,this.applyChanges({wa:this.wa,Da:new fl,mutatedKeys:this.mutatedKeys,ls:!1},!1)):{Ma:[]}}xa(e){return!this.fa.has(e)&&!!this.wa.has(e)&&!this.wa.get(e).hasLocalMutations}Ca(e){e&&(e.addedDocuments.forEach(t=>this.fa=this.fa.add(t)),e.modifiedDocuments.forEach(t=>{}),e.removedDocuments.forEach(t=>this.fa=this.fa.delete(t)),this.current=e.current)}Fa(){if(!this.current)return[];const e=this.pa;this.pa=W(),this.wa.forEach(r=>{this.xa(r.key)&&(this.pa=this.pa.add(r.key))});const t=[];return e.forEach(r=>{this.pa.has(r)||t.push(new _l(r))}),this.pa.forEach(r=>{e.has(r)||t.push(new gl(r))}),t}Oa(e){this.fa=e.gs,this.pa=W();const t=this.ba(e.documents);return this.applyChanges(t,!0)}Na(){return Nn.fromInitialDocuments(this.query,this.wa,this.mutatedKeys,this.ga===0,this.hasCachedResults)}}const Lo="SyncEngine";class iy{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class oy{constructor(e){this.key=e,this.Ba=!1}}class ay{constructor(e,t,r,s,i,a){this.localStore=e,this.remoteStore=t,this.eventManager=r,this.sharedClientState=s,this.currentUser=i,this.maxConcurrentLimboResolutions=a,this.La={},this.ka=new Zt(c=>pu(c),ys),this.qa=new Map,this.Qa=new Set,this.$a=new re(L.comparator),this.Ka=new Map,this.Ua=new go,this.Wa={},this.Ga=new Map,this.za=Sn.Un(),this.onlineState="Unknown",this.ja=void 0}get isPrimaryClient(){return this.ja===!0}}async function cy(n,e,t=!0){const r=Rl(n);let s;const i=r.ka.get(e);return i?(r.sharedClientState.addLocalQueryTarget(i.targetId),s=i.view.Na()):s=await yl(r,e,t,!0),s}async function uy(n,e){const t=Rl(n);await yl(t,e,!0,!1)}async function yl(n,e,t,r){const s=await C_(n.localStore,nt(e)),i=s.targetId,a=n.sharedClientState.addLocalQueryTarget(i,t);let c;return r&&(c=await ly(n,e,i,a==="current",s.resumeToken)),n.isPrimaryClient&&t&&ol(n.remoteStore,s),c}async function ly(n,e,t,r,s){n.Ha=(m,v,R)=>async function(N,k,U,$){let x=k.view.ba(U);x.ls&&(x=await Zu(N.localStore,k.query,!1).then(({documents:T})=>k.view.ba(T,x)));const H=$&&$.targetChanges.get(k.targetId),he=$&&$.targetMismatches.get(k.targetId)!=null,J=k.view.applyChanges(x,N.isPrimaryClient,H,he);return Al(N,k.targetId,J.Ma),J.snapshot}(n,m,v,R);const i=await Zu(n.localStore,e,!0),a=new sy(e,i.gs),c=a.ba(i.documents),l=yr.createSynthesizedTargetChangeForCurrentChange(t,r&&n.onlineState!=="Offline",s),d=a.applyChanges(c,n.isPrimaryClient,l);Al(n,t,d.Ma);const f=new iy(e,t,a);return n.ka.set(e,f),n.qa.has(t)?n.qa.get(t).push(e):n.qa.set(t,[e]),d.snapshot}async function hy(n,e,t){const r=B(n),s=r.ka.get(e),i=r.qa.get(s.targetId);if(i.length>1)return r.qa.set(s.targetId,i.filter(a=>!ys(a,e))),void r.ka.delete(e);r.isPrimaryClient?(r.sharedClientState.removeLocalQueryTarget(s.targetId),r.sharedClientState.isActiveQueryTarget(s.targetId)||await Eo(r.localStore,s.targetId,!1).then(()=>{r.sharedClientState.clearQueryState(s.targetId),t&&Ao(r.remoteStore,s.targetId),Mo(r,s.targetId)}).catch(En)):(Mo(r,s.targetId),await Eo(r.localStore,s.targetId,!0))}async function dy(n,e){const t=B(n),r=t.ka.get(e),s=t.qa.get(r.targetId);t.isPrimaryClient&&s.length===1&&(t.sharedClientState.removeLocalQueryTarget(r.targetId),Ao(t.remoteStore,r.targetId))}async function fy(n,e,t){const r=Ey(n);try{const s=await function(a,c){const l=B(a),d=ue.now(),f=c.reduce((R,S)=>R.add(S.key),W());let m,v;return l.persistence.runTransaction("Locally write mutations","readwrite",R=>{let S=pt(),N=W();return l.ds.getEntries(R,f).next(k=>{S=k,S.forEach((U,$)=>{$.isValidDocument()||(N=N.add(U))})}).next(()=>l.localDocuments.getOverlayedDocuments(R,S)).next(k=>{m=k;const U=[];for(const $ of c){const x=Pg($,m.get($.key).overlayedDocument);x!=null&&U.push(new Vt($.key,x,nu(x.value.mapValue),$e.exists(!0)))}return l.mutationQueue.addMutationBatch(R,d,U,c)}).next(k=>{v=k;const U=k.applyToLocalDocumentSet(m,N);return l.documentOverlayCache.saveOverlays(R,k.batchId,U)})}).then(()=>({batchId:v.batchId,changes:_u(m)}))}(r.localStore,e);r.sharedClientState.addPendingMutation(s.batchId),function(a,c,l){let d=a.Wa[a.currentUser.toKey()];d||(d=new re(G)),d=d.insert(c,l),a.Wa[a.currentUser.toKey()]=d}(r,s.batchId,t),await Er(r,s.changes),await Ls(r.remoteStore)}catch(s){const i=Co(s,"Failed to persist write");t.reject(i)}}async function vl(n,e){const t=B(n);try{const r=await b_(t.localStore,e);e.targetChanges.forEach((s,i)=>{const a=t.Ka.get(i);a&&(Y(s.addedDocuments.size+s.modifiedDocuments.size+s.removedDocuments.size<=1),s.addedDocuments.size>0?a.Ba=!0:s.modifiedDocuments.size>0?Y(a.Ba):s.removedDocuments.size>0&&(Y(a.Ba),a.Ba=!1))}),await Er(t,r,e)}catch(r){await En(r)}}function El(n,e,t){const r=B(n);if(r.isPrimaryClient&&t===0||!r.isPrimaryClient&&t===1){const s=[];r.ka.forEach((i,a)=>{const c=a.view.sa(e);c.snapshot&&s.push(c.snapshot)}),function(a,c){const l=B(a);l.onlineState=c;let d=!1;l.queries.forEach((f,m)=>{for(const v of m.ta)v.sa(c)&&(d=!0)}),d&&Do(l)}(r.eventManager,e),s.length&&r.La.p_(s),r.onlineState=e,r.isPrimaryClient&&r.sharedClientState.setOnlineState(e)}}async function py(n,e,t){const r=B(n);r.sharedClientState.updateQueryState(e,"rejected",t);const s=r.Ka.get(e),i=s&&s.key;if(i){let a=new re(L.comparator);a=a.insert(i,Ie.newNoDocument(i,j.min()));const c=W().add(i),l=new bs(j.min(),new Map,new re(G),a,c);await vl(r,l),r.$a=r.$a.remove(i),r.Ka.delete(e),Uo(r)}else await Eo(r.localStore,e,!1).then(()=>Mo(r,e,t)).catch(En)}async function my(n,e){const t=B(n),r=e.batch.batchId;try{const s=await R_(t.localStore,e);wl(t,r,null),Tl(t,r),t.sharedClientState.updateMutationState(r,"acknowledged"),await Er(t,s)}catch(s){await En(s)}}async function gy(n,e,t){const r=B(n);try{const s=await function(a,c){const l=B(a);return l.persistence.runTransaction("Reject batch","readwrite-primary",d=>{let f;return l.mutationQueue.lookupMutationBatch(d,c).next(m=>(Y(m!==null),f=m.keys(),l.mutationQueue.removeMutationBatch(d,m))).next(()=>l.mutationQueue.performConsistencyCheck(d)).next(()=>l.documentOverlayCache.removeOverlaysForBatchId(d,f,c)).next(()=>l.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(d,f)).next(()=>l.localDocuments.getDocuments(d,f))})}(r.localStore,e);wl(r,e,t),Tl(r,e),r.sharedClientState.updateMutationState(e,"rejected",t),await Er(r,s)}catch(s){await En(s)}}function Tl(n,e){(n.Ga.get(e)||[]).forEach(t=>{t.resolve()}),n.Ga.delete(e)}function wl(n,e,t){const r=B(n);let s=r.Wa[r.currentUser.toKey()];if(s){const i=s.get(e);i&&(t?i.reject(t):i.resolve(),s=s.remove(e)),r.Wa[r.currentUser.toKey()]=s}}function Mo(n,e,t=null){n.sharedClientState.removeLocalQueryTarget(e);for(const r of n.qa.get(e))n.ka.delete(r),t&&n.La.Ja(r,t);n.qa.delete(e),n.isPrimaryClient&&n.Ua.br(e).forEach(r=>{n.Ua.containsKey(r)||Il(n,r)})}function Il(n,e){n.Qa.delete(e.path.canonicalString());const t=n.$a.get(e);t!==null&&(Ao(n.remoteStore,t),n.$a=n.$a.remove(e),n.Ka.delete(t),Uo(n))}function Al(n,e,t){for(const r of t)r instanceof gl?(n.Ua.addReference(r.key,e),_y(n,r)):r instanceof _l?(V(Lo,"Document no longer in limbo: "+r.key),n.Ua.removeReference(r.key,e),n.Ua.containsKey(r.key)||Il(n,r.key)):F()}function _y(n,e){const t=e.key,r=t.path.canonicalString();n.$a.get(t)||n.Qa.has(r)||(V(Lo,"New document in limbo: "+t),n.Qa.add(r),Uo(n))}function Uo(n){for(;n.Qa.size>0&&n.$a.size<n.maxConcurrentLimboResolutions;){const e=n.Qa.values().next().value;n.Qa.delete(e);const t=new L(ee.fromString(e)),r=n.za.next();n.Ka.set(r,new oy(t)),n.$a=n.$a.insert(t,r),ol(n.remoteStore,new Mt(nt(gs(t.path)),r,"TargetPurposeLimboResolution",ss.ae))}}async function Er(n,e,t){const r=B(n),s=[],i=[],a=[];r.ka.isEmpty()||(r.ka.forEach((c,l)=>{a.push(r.Ha(l,e,t).then(d=>{var f;if((d||t)&&r.isPrimaryClient){const m=d?!d.fromCache:(f=t==null?void 0:t.targetChanges.get(l.targetId))===null||f===void 0?void 0:f.current;r.sharedClientState.updateQueryState(l.targetId,m?"current":"not-current")}if(d){s.push(d);const m=yo.Yi(l.targetId,d);i.push(m)}}))}),await Promise.all(a),r.La.p_(s),await async function(l,d){const f=B(l);try{await f.persistence.runTransaction("notifyLocalViewChanges","readwrite",m=>C.forEach(d,v=>C.forEach(v.Hi,R=>f.persistence.referenceDelegate.addReference(m,v.targetId,R)).next(()=>C.forEach(v.Ji,R=>f.persistence.referenceDelegate.removeReference(m,v.targetId,R)))))}catch(m){if(!Tn(m))throw m;V(vo,"Failed to update sequence numbers: "+m)}for(const m of d){const v=m.targetId;if(!m.fromCache){const R=f.Ts.get(v),S=R.snapshotVersion,N=R.withLastLimboFreeSnapshotVersion(S);f.Ts=f.Ts.insert(v,N)}}}(r.localStore,i))}async function yy(n,e){const t=B(n);if(!t.currentUser.isEqual(e)){V(Lo,"User change. New user:",e.toKey());const r=await Yu(t.localStore,e);t.currentUser=e,function(i,a){i.Ga.forEach(c=>{c.forEach(l=>{l.reject(new O(P.CANCELLED,a))})}),i.Ga.clear()}(t,"'waitForPendingWrites' promise is rejected due to a user change."),t.sharedClientState.handleUserChange(e,r.removedBatchIds,r.addedBatchIds),await Er(t,r.Rs)}}function vy(n,e){const t=B(n),r=t.Ka.get(e);if(r&&r.Ba)return W().add(r.key);{let s=W();const i=t.qa.get(e);if(!i)return s;for(const a of i){const c=t.ka.get(a);s=s.unionWith(c.view.Sa)}return s}}function Rl(n){const e=B(n);return e.remoteStore.remoteSyncer.applyRemoteEvent=vl.bind(null,e),e.remoteStore.remoteSyncer.getRemoteKeysForTarget=vy.bind(null,e),e.remoteStore.remoteSyncer.rejectListen=py.bind(null,e),e.La.p_=ny.bind(null,e.eventManager),e.La.Ja=ry.bind(null,e.eventManager),e}function Ey(n){const e=B(n);return e.remoteStore.remoteSyncer.applySuccessfulWrite=my.bind(null,e),e.remoteStore.remoteSyncer.rejectFailedWrite=gy.bind(null,e),e}class Ms{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=Ds(e.databaseInfo.databaseId),this.sharedClientState=this.Za(e),this.persistence=this.Xa(e),await this.persistence.start(),this.localStore=this.eu(e),this.gcScheduler=this.tu(e,this.localStore),this.indexBackfillerScheduler=this.nu(e,this.localStore)}tu(e,t){return null}nu(e,t){return null}eu(e){return A_(this.persistence,new T_,e.initialUser,this.serializer)}Xa(e){return new Xu(_o.ri,this.serializer)}Za(e){return new N_}async terminate(){var e,t;(e=this.gcScheduler)===null||e===void 0||e.stop(),(t=this.indexBackfillerScheduler)===null||t===void 0||t.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}Ms.provider={build:()=>new Ms};class Ty extends Ms{constructor(e){super(),this.cacheSizeBytes=e}tu(e,t){Y(this.persistence.referenceDelegate instanceof ks);const r=this.persistence.referenceDelegate.garbageCollector;return new o_(r,e.asyncQueue,t)}Xa(e){const t=this.cacheSizeBytes!==void 0?Oe.withCacheSize(this.cacheSizeBytes):Oe.DEFAULT;return new Xu(r=>ks.ri(r,t),this.serializer)}}class xo{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=r=>El(this.syncEngine,r,1),this.remoteStore.remoteSyncer.handleCredentialChange=yy.bind(null,this.syncEngine),await Z_(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return function(){return new ty}()}createDatastore(e){const t=Ds(e.databaseInfo.databaseId),r=function(i){return new M_(i)}(e.databaseInfo);return function(i,a,c,l){return new B_(i,a,c,l)}(e.authCredentials,e.appCheckCredentials,r,t)}createRemoteStore(e){return function(r,s,i,a,c){return new q_(r,s,i,a,c)}(this.localStore,this.datastore,e.asyncQueue,t=>El(this.syncEngine,t,0),function(){return nl.D()?new nl:new D_}())}createSyncEngine(e,t){return function(s,i,a,c,l,d,f){const m=new ay(s,i,a,c,l,d);return f&&(m.ja=!0),m}(this.localStore,this.remoteStore,this.eventManager,this.sharedClientState,e.initialUser,e.maxConcurrentLimboResolutions,t)}async terminate(){var e,t;await async function(s){const i=B(s);V(tn,"RemoteStore shutting down."),i.W_.add(5),await vr(i),i.z_.shutdown(),i.j_.set("Unknown")}(this.remoteStore),(e=this.datastore)===null||e===void 0||e.terminate(),(t=this.eventManager)===null||t===void 0||t.terminate()}}xo.provider={build:()=>new xo};/**
1715
+ */class _l{constructor(e){this.key=e}}class yl{constructor(e){this.key=e}}class iy{constructor(e,t){this.query=e,this.fa=t,this.ga=null,this.hasCachedResults=!1,this.current=!1,this.pa=W(),this.mutatedKeys=W(),this.ya=gu(e),this.wa=new kn(this.ya)}get ba(){return this.fa}Sa(e,t){const r=t?t.Da:new pl,s=t?t.wa:this.wa;let i=t?t.mutatedKeys:this.mutatedKeys,a=s,c=!1;const l=this.query.limitType==="F"&&s.size===this.query.limit?s.last():null,d=this.query.limitType==="L"&&s.size===this.query.limit?s.first():null;if(e.inorderTraversal((f,m)=>{const v=s.get(f),R=vs(this.query,m)?m:null,S=!!v&&this.mutatedKeys.has(v.key),N=!!R&&(R.hasLocalMutations||this.mutatedKeys.has(R.key)&&R.hasCommittedMutations);let k=!1;v&&R?v.data.isEqual(R.data)?S!==N&&(r.track({type:3,doc:R}),k=!0):this.va(v,R)||(r.track({type:2,doc:R}),k=!0,(l&&this.ya(R,l)>0||d&&this.ya(R,d)<0)&&(c=!0)):!v&&R?(r.track({type:0,doc:R}),k=!0):v&&!R&&(r.track({type:1,doc:v}),k=!0,(l||d)&&(c=!0)),k&&(R?(a=a.add(R),i=N?i.add(f):i.delete(f)):(a=a.delete(f),i=i.delete(f)))}),this.query.limit!==null)for(;a.size>this.query.limit;){const f=this.query.limitType==="F"?a.last():a.first();a=a.delete(f.key),i=i.delete(f.key),r.track({type:1,doc:f})}return{wa:a,Da:r,ls:c,mutatedKeys:i}}va(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,r,s){const i=this.wa;this.wa=e.wa,this.mutatedKeys=e.mutatedKeys;const a=e.Da.X_();a.sort((f,m)=>function(R,S){const N=k=>{switch(k){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return F()}};return N(R)-N(S)}(f.type,m.type)||this.ya(f.doc,m.doc)),this.Ca(r),s=s!=null&&s;const c=t&&!s?this.Fa():[],l=this.pa.size===0&&this.current&&!s?1:0,d=l!==this.ga;return this.ga=l,a.length!==0||d?{snapshot:new Nn(this.query,e.wa,i,a,e.mutatedKeys,l===0,d,!1,!!r&&r.resumeToken.approximateByteSize()>0),Ma:c}:{Ma:c}}sa(e){return this.current&&e==="Offline"?(this.current=!1,this.applyChanges({wa:this.wa,Da:new pl,mutatedKeys:this.mutatedKeys,ls:!1},!1)):{Ma:[]}}xa(e){return!this.fa.has(e)&&!!this.wa.has(e)&&!this.wa.get(e).hasLocalMutations}Ca(e){e&&(e.addedDocuments.forEach(t=>this.fa=this.fa.add(t)),e.modifiedDocuments.forEach(t=>{}),e.removedDocuments.forEach(t=>this.fa=this.fa.delete(t)),this.current=e.current)}Fa(){if(!this.current)return[];const e=this.pa;this.pa=W(),this.wa.forEach(r=>{this.xa(r.key)&&(this.pa=this.pa.add(r.key))});const t=[];return e.forEach(r=>{this.pa.has(r)||t.push(new yl(r))}),this.pa.forEach(r=>{e.has(r)||t.push(new _l(r))}),t}Oa(e){this.fa=e.gs,this.pa=W();const t=this.Sa(e.documents);return this.applyChanges(t,!0)}Na(){return Nn.fromInitialDocuments(this.query,this.wa,this.mutatedKeys,this.ga===0,this.hasCachedResults)}}const Lo="SyncEngine";class oy{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class ay{constructor(e){this.key=e,this.Ba=!1}}class cy{constructor(e,t,r,s,i,a){this.localStore=e,this.remoteStore=t,this.eventManager=r,this.sharedClientState=s,this.currentUser=i,this.maxConcurrentLimboResolutions=a,this.La={},this.ka=new en(c=>mu(c),ys),this.qa=new Map,this.Qa=new Set,this.$a=new re(L.comparator),this.Ka=new Map,this.Ua=new go,this.Wa={},this.Ga=new Map,this.za=Sn.Un(),this.onlineState="Unknown",this.ja=void 0}get isPrimaryClient(){return this.ja===!0}}async function uy(n,e,t=!0){const r=bl(n);let s;const i=r.ka.get(e);return i?(r.sharedClientState.addLocalQueryTarget(i.targetId),s=i.view.Na()):s=await vl(r,e,t,!0),s}async function ly(n,e){const t=bl(n);await vl(t,e,!0,!1)}async function vl(n,e,t,r){const s=await k_(n.localStore,nt(e)),i=s.targetId,a=n.sharedClientState.addLocalQueryTarget(i,t);let c;return r&&(c=await hy(n,e,i,a==="current",s.resumeToken)),n.isPrimaryClient&&t&&al(n.remoteStore,s),c}async function hy(n,e,t,r,s){n.Ha=(m,v,R)=>async function(N,k,U,$){let x=k.view.Sa(U);x.ls&&(x=await el(N.localStore,k.query,!1).then(({documents:T})=>k.view.Sa(T,x)));const H=$&&$.targetChanges.get(k.targetId),he=$&&$.targetMismatches.get(k.targetId)!=null,J=k.view.applyChanges(x,N.isPrimaryClient,H,he);return Rl(N,k.targetId,J.Ma),J.snapshot}(n,m,v,R);const i=await el(n.localStore,e,!0),a=new iy(e,i.gs),c=a.Sa(i.documents),l=vr.createSynthesizedTargetChangeForCurrentChange(t,r&&n.onlineState!=="Offline",s),d=a.applyChanges(c,n.isPrimaryClient,l);Rl(n,t,d.Ma);const f=new oy(e,t,a);return n.ka.set(e,f),n.qa.has(t)?n.qa.get(t).push(e):n.qa.set(t,[e]),d.snapshot}async function dy(n,e,t){const r=B(n),s=r.ka.get(e),i=r.qa.get(s.targetId);if(i.length>1)return r.qa.set(s.targetId,i.filter(a=>!ys(a,e))),void r.ka.delete(e);r.isPrimaryClient?(r.sharedClientState.removeLocalQueryTarget(s.targetId),r.sharedClientState.isActiveQueryTarget(s.targetId)||await Eo(r.localStore,s.targetId,!1).then(()=>{r.sharedClientState.clearQueryState(s.targetId),t&&Ao(r.remoteStore,s.targetId),Mo(r,s.targetId)}).catch(En)):(Mo(r,s.targetId),await Eo(r.localStore,s.targetId,!0))}async function fy(n,e){const t=B(n),r=t.ka.get(e),s=t.qa.get(r.targetId);t.isPrimaryClient&&s.length===1&&(t.sharedClientState.removeLocalQueryTarget(r.targetId),Ao(t.remoteStore,r.targetId))}async function py(n,e,t){const r=Ty(n);try{const s=await function(a,c){const l=B(a),d=ue.now(),f=c.reduce((R,S)=>R.add(S.key),W());let m,v;return l.persistence.runTransaction("Locally write mutations","readwrite",R=>{let S=pt(),N=W();return l.ds.getEntries(R,f).next(k=>{S=k,S.forEach((U,$)=>{$.isValidDocument()||(N=N.add(U))})}).next(()=>l.localDocuments.getOverlayedDocuments(R,S)).next(k=>{m=k;const U=[];for(const $ of c){const x=Sg($,m.get($.key).overlayedDocument);x!=null&&U.push(new Vt($.key,x,ru(x.value.mapValue),$e.exists(!0)))}return l.mutationQueue.addMutationBatch(R,d,U,c)}).next(k=>{v=k;const U=k.applyToLocalDocumentSet(m,N);return l.documentOverlayCache.saveOverlays(R,k.batchId,U)})}).then(()=>({batchId:v.batchId,changes:yu(m)}))}(r.localStore,e);r.sharedClientState.addPendingMutation(s.batchId),function(a,c,l){let d=a.Wa[a.currentUser.toKey()];d||(d=new re(G)),d=d.insert(c,l),a.Wa[a.currentUser.toKey()]=d}(r,s.batchId,t),await Tr(r,s.changes),await Ls(r.remoteStore)}catch(s){const i=Co(s,"Failed to persist write");t.reject(i)}}async function El(n,e){const t=B(n);try{const r=await P_(t.localStore,e);e.targetChanges.forEach((s,i)=>{const a=t.Ka.get(i);a&&(Y(s.addedDocuments.size+s.modifiedDocuments.size+s.removedDocuments.size<=1),s.addedDocuments.size>0?a.Ba=!0:s.modifiedDocuments.size>0?Y(a.Ba):s.removedDocuments.size>0&&(Y(a.Ba),a.Ba=!1))}),await Tr(t,r,e)}catch(r){await En(r)}}function Tl(n,e,t){const r=B(n);if(r.isPrimaryClient&&t===0||!r.isPrimaryClient&&t===1){const s=[];r.ka.forEach((i,a)=>{const c=a.view.sa(e);c.snapshot&&s.push(c.snapshot)}),function(a,c){const l=B(a);l.onlineState=c;let d=!1;l.queries.forEach((f,m)=>{for(const v of m.ta)v.sa(c)&&(d=!0)}),d&&Do(l)}(r.eventManager,e),s.length&&r.La.p_(s),r.onlineState=e,r.isPrimaryClient&&r.sharedClientState.setOnlineState(e)}}async function my(n,e,t){const r=B(n);r.sharedClientState.updateQueryState(e,"rejected",t);const s=r.Ka.get(e),i=s&&s.key;if(i){let a=new re(L.comparator);a=a.insert(i,Ie.newNoDocument(i,j.min()));const c=W().add(i),l=new bs(j.min(),new Map,new re(G),a,c);await El(r,l),r.$a=r.$a.remove(i),r.Ka.delete(e),Uo(r)}else await Eo(r.localStore,e,!1).then(()=>Mo(r,e,t)).catch(En)}async function gy(n,e){const t=B(n),r=e.batch.batchId;try{const s=await b_(t.localStore,e);Il(t,r,null),wl(t,r),t.sharedClientState.updateMutationState(r,"acknowledged"),await Tr(t,s)}catch(s){await En(s)}}async function _y(n,e,t){const r=B(n);try{const s=await function(a,c){const l=B(a);return l.persistence.runTransaction("Reject batch","readwrite-primary",d=>{let f;return l.mutationQueue.lookupMutationBatch(d,c).next(m=>(Y(m!==null),f=m.keys(),l.mutationQueue.removeMutationBatch(d,m))).next(()=>l.mutationQueue.performConsistencyCheck(d)).next(()=>l.documentOverlayCache.removeOverlaysForBatchId(d,f,c)).next(()=>l.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(d,f)).next(()=>l.localDocuments.getDocuments(d,f))})}(r.localStore,e);Il(r,e,t),wl(r,e),r.sharedClientState.updateMutationState(e,"rejected",t),await Tr(r,s)}catch(s){await En(s)}}function wl(n,e){(n.Ga.get(e)||[]).forEach(t=>{t.resolve()}),n.Ga.delete(e)}function Il(n,e,t){const r=B(n);let s=r.Wa[r.currentUser.toKey()];if(s){const i=s.get(e);i&&(t?i.reject(t):i.resolve(),s=s.remove(e)),r.Wa[r.currentUser.toKey()]=s}}function Mo(n,e,t=null){n.sharedClientState.removeLocalQueryTarget(e);for(const r of n.qa.get(e))n.ka.delete(r),t&&n.La.Ja(r,t);n.qa.delete(e),n.isPrimaryClient&&n.Ua.Sr(e).forEach(r=>{n.Ua.containsKey(r)||Al(n,r)})}function Al(n,e){n.Qa.delete(e.path.canonicalString());const t=n.$a.get(e);t!==null&&(Ao(n.remoteStore,t),n.$a=n.$a.remove(e),n.Ka.delete(t),Uo(n))}function Rl(n,e,t){for(const r of t)r instanceof _l?(n.Ua.addReference(r.key,e),yy(n,r)):r instanceof yl?(V(Lo,"Document no longer in limbo: "+r.key),n.Ua.removeReference(r.key,e),n.Ua.containsKey(r.key)||Al(n,r.key)):F()}function yy(n,e){const t=e.key,r=t.path.canonicalString();n.$a.get(t)||n.Qa.has(r)||(V(Lo,"New document in limbo: "+t),n.Qa.add(r),Uo(n))}function Uo(n){for(;n.Qa.size>0&&n.$a.size<n.maxConcurrentLimboResolutions;){const e=n.Qa.values().next().value;n.Qa.delete(e);const t=new L(ee.fromString(e)),r=n.za.next();n.Ka.set(r,new ay(t)),n.$a=n.$a.insert(t,r),al(n.remoteStore,new Mt(nt(gs(t.path)),r,"TargetPurposeLimboResolution",ss.ae))}}async function Tr(n,e,t){const r=B(n),s=[],i=[],a=[];r.ka.isEmpty()||(r.ka.forEach((c,l)=>{a.push(r.Ha(l,e,t).then(d=>{var f;if((d||t)&&r.isPrimaryClient){const m=d?!d.fromCache:(f=t==null?void 0:t.targetChanges.get(l.targetId))===null||f===void 0?void 0:f.current;r.sharedClientState.updateQueryState(l.targetId,m?"current":"not-current")}if(d){s.push(d);const m=yo.Yi(l.targetId,d);i.push(m)}}))}),await Promise.all(a),r.La.p_(s),await async function(l,d){const f=B(l);try{await f.persistence.runTransaction("notifyLocalViewChanges","readwrite",m=>C.forEach(d,v=>C.forEach(v.Hi,R=>f.persistence.referenceDelegate.addReference(m,v.targetId,R)).next(()=>C.forEach(v.Ji,R=>f.persistence.referenceDelegate.removeReference(m,v.targetId,R)))))}catch(m){if(!Tn(m))throw m;V(vo,"Failed to update sequence numbers: "+m)}for(const m of d){const v=m.targetId;if(!m.fromCache){const R=f.Ts.get(v),S=R.snapshotVersion,N=R.withLastLimboFreeSnapshotVersion(S);f.Ts=f.Ts.insert(v,N)}}}(r.localStore,i))}async function vy(n,e){const t=B(n);if(!t.currentUser.isEqual(e)){V(Lo,"User change. New user:",e.toKey());const r=await Ju(t.localStore,e);t.currentUser=e,function(i,a){i.Ga.forEach(c=>{c.forEach(l=>{l.reject(new O(P.CANCELLED,a))})}),i.Ga.clear()}(t,"'waitForPendingWrites' promise is rejected due to a user change."),t.sharedClientState.handleUserChange(e,r.removedBatchIds,r.addedBatchIds),await Tr(t,r.Rs)}}function Ey(n,e){const t=B(n),r=t.Ka.get(e);if(r&&r.Ba)return W().add(r.key);{let s=W();const i=t.qa.get(e);if(!i)return s;for(const a of i){const c=t.ka.get(a);s=s.unionWith(c.view.ba)}return s}}function bl(n){const e=B(n);return e.remoteStore.remoteSyncer.applyRemoteEvent=El.bind(null,e),e.remoteStore.remoteSyncer.getRemoteKeysForTarget=Ey.bind(null,e),e.remoteStore.remoteSyncer.rejectListen=my.bind(null,e),e.La.p_=ry.bind(null,e.eventManager),e.La.Ja=sy.bind(null,e.eventManager),e}function Ty(n){const e=B(n);return e.remoteStore.remoteSyncer.applySuccessfulWrite=gy.bind(null,e),e.remoteStore.remoteSyncer.rejectFailedWrite=_y.bind(null,e),e}class Ms{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=Ds(e.databaseInfo.databaseId),this.sharedClientState=this.Za(e),this.persistence=this.Xa(e),await this.persistence.start(),this.localStore=this.eu(e),this.gcScheduler=this.tu(e,this.localStore),this.indexBackfillerScheduler=this.nu(e,this.localStore)}tu(e,t){return null}nu(e,t){return null}eu(e){return R_(this.persistence,new w_,e.initialUser,this.serializer)}Xa(e){return new Yu(_o.ri,this.serializer)}Za(e){return new D_}async terminate(){var e,t;(e=this.gcScheduler)===null||e===void 0||e.stop(),(t=this.indexBackfillerScheduler)===null||t===void 0||t.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}Ms.provider={build:()=>new Ms};class wy extends Ms{constructor(e){super(),this.cacheSizeBytes=e}tu(e,t){Y(this.persistence.referenceDelegate instanceof ks);const r=this.persistence.referenceDelegate.garbageCollector;return new a_(r,e.asyncQueue,t)}Xa(e){const t=this.cacheSizeBytes!==void 0?Oe.withCacheSize(this.cacheSizeBytes):Oe.DEFAULT;return new Yu(r=>ks.ri(r,t),this.serializer)}}class xo{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=r=>Tl(this.syncEngine,r,1),this.remoteStore.remoteSyncer.handleCredentialChange=vy.bind(null,this.syncEngine),await ey(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return function(){return new ny}()}createDatastore(e){const t=Ds(e.databaseInfo.databaseId),r=function(i){return new U_(i)}(e.databaseInfo);return function(i,a,c,l){return new j_(i,a,c,l)}(e.authCredentials,e.appCheckCredentials,r,t)}createRemoteStore(e){return function(r,s,i,a,c){return new $_(r,s,i,a,c)}(this.localStore,this.datastore,e.asyncQueue,t=>Tl(this.syncEngine,t,0),function(){return rl.D()?new rl:new O_}())}createSyncEngine(e,t){return function(s,i,a,c,l,d,f){const m=new cy(s,i,a,c,l,d);return f&&(m.ja=!0),m}(this.localStore,this.remoteStore,this.eventManager,this.sharedClientState,e.initialUser,e.maxConcurrentLimboResolutions,t)}async terminate(){var e,t;await async function(s){const i=B(s);V(nn,"RemoteStore shutting down."),i.W_.add(5),await Er(i),i.z_.shutdown(),i.j_.set("Unknown")}(this.remoteStore),(e=this.datastore)===null||e===void 0||e.terminate(),(t=this.eventManager)===null||t===void 0||t.terminate()}}xo.provider={build:()=>new xo};/**
1731
1716
  * @license
1732
1717
  * Copyright 2020 Google LLC
1733
1718
  *
@@ -1772,7 +1757,7 @@ This typically indicates that your device does not have a healthy Internet conne
1772
1757
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1773
1758
  * See the License for the specific language governing permissions and
1774
1759
  * limitations under the License.
1775
- */const xt="FirestoreClient";class wy{constructor(e,t,r,s,i){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=r,this.databaseInfo=s,this.user=we.UNAUTHENTICATED,this.clientId=Mc.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=i,this.authCredentials.start(r,async a=>{V(xt,"Received user=",a.uid),await this.authCredentialListener(a),this.user=a}),this.appCheckCredentials.start(r,a=>(V(xt,"Received new app check token=",a),this.appCheckCredentialListener(a,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();const e=new Ze;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(t){const r=Co(t,"Failed to shutdown persistence");e.reject(r)}}),e.promise}}async function Bo(n,e){n.asyncQueue.verifyOperationInProgress(),V(xt,"Initializing OfflineComponentProvider");const t=n.configuration;await e.initialize(t);let r=t.initialUser;n.setCredentialChangeListener(async s=>{r.isEqual(s)||(await Yu(e.localStore,s),r=s)}),e.persistence.setDatabaseDeletedListener(()=>n.terminate()),n._offlineComponents=e}async function bl(n,e){n.asyncQueue.verifyOperationInProgress();const t=await Iy(n);V(xt,"Initializing OnlineComponentProvider"),await e.initialize(t,n.configuration),n.setCredentialChangeListener(r=>dl(e.remoteStore,r)),n.setAppCheckTokenChangeListener((r,s)=>dl(e.remoteStore,s)),n._onlineComponents=e}async function Iy(n){if(!n._offlineComponents)if(n._uninitializedComponentsProvider){V(xt,"Using user provided OfflineComponentProvider");try{await Bo(n,n._uninitializedComponentsProvider._offline)}catch(e){const t=e;if(!function(s){return s.name==="FirebaseError"?s.code===P.FAILED_PRECONDITION||s.code===P.UNIMPLEMENTED:!(typeof DOMException<"u"&&s instanceof DOMException)||s.code===22||s.code===20||s.code===11}(t))throw t;yn("Error using user provided cache. Falling back to memory cache: "+t),await Bo(n,new Ms)}}else V(xt,"Using default OfflineComponentProvider"),await Bo(n,new Ty(void 0));return n._offlineComponents}async function jo(n){return n._onlineComponents||(n._uninitializedComponentsProvider?(V(xt,"Using user provided OnlineComponentProvider"),await bl(n,n._uninitializedComponentsProvider._online)):(V(xt,"Using default OnlineComponentProvider"),await bl(n,new xo))),n._onlineComponents}function Ay(n){return jo(n).then(e=>e.syncEngine)}function Ry(n){return jo(n).then(e=>e.datastore)}async function Us(n){const e=await jo(n),t=e.eventManager;return t.onListen=cy.bind(null,e.syncEngine),t.onUnlisten=hy.bind(null,e.syncEngine),t.onFirstRemoteStoreListen=uy.bind(null,e.syncEngine),t.onLastRemoteStoreUnlisten=dy.bind(null,e.syncEngine),t}function by(n,e,t={}){const r=new Ze;return n.asyncQueue.enqueueAndForget(async()=>function(i,a,c,l,d){const f=new Fo({next:v=>{f.su(),a.enqueueAndForget(()=>No(i,m));const R=v.docs.has(c);!R&&v.fromCache?d.reject(new O(P.UNAVAILABLE,"Failed to get document because the client is offline.")):R&&v.fromCache&&l&&l.source==="server"?d.reject(new O(P.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.)')):d.resolve(v)},error:v=>d.reject(v)}),m=new Vo(gs(c.path),f,{includeMetadataChanges:!0,Ta:!0});return ko(i,m)}(await Us(n),n.asyncQueue,e,t,r)),r.promise}function Py(n,e,t={}){const r=new Ze;return n.asyncQueue.enqueueAndForget(async()=>function(i,a,c,l,d){const f=new Fo({next:v=>{f.su(),a.enqueueAndForget(()=>No(i,m)),v.fromCache&&l.source==="server"?d.reject(new O(P.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.)')):d.resolve(v)},error:v=>d.reject(v)}),m=new Vo(c,f,{includeMetadataChanges:!0,Ta:!0});return ko(i,m)}(await Us(n),n.asyncQueue,e,t,r)),r.promise}function Sy(n,e,t){const r=new Ze;return n.asyncQueue.enqueueAndForget(async()=>{try{const s=await Ry(n);r.resolve(async function(a,c,l){var d;const f=B(a),{request:m,Pt:v,parent:R}=Gg(f.serializer,fg(c),l);f.connection.fo||delete m.parent;const S=(await f.Co("RunAggregationQuery",f.serializer.databaseId,R,m,1)).filter(k=>!!k.result);Y(S.length===1);const N=(d=S[0].result)===null||d===void 0?void 0:d.aggregateFields;return Object.keys(N).reduce((k,U)=>(k[v[U]]=N[U],k),{})}(s,e,t))}catch(s){r.reject(s)}}),r.promise}/**
1760
+ */const xt="FirestoreClient";class Iy{constructor(e,t,r,s,i){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=r,this.databaseInfo=s,this.user=we.UNAUTHENTICATED,this.clientId=Uc.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=i,this.authCredentials.start(r,async a=>{V(xt,"Received user=",a.uid),await this.authCredentialListener(a),this.user=a}),this.appCheckCredentials.start(r,a=>(V(xt,"Received new app check token=",a),this.appCheckCredentialListener(a,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();const e=new Ze;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(t){const r=Co(t,"Failed to shutdown persistence");e.reject(r)}}),e.promise}}async function Bo(n,e){n.asyncQueue.verifyOperationInProgress(),V(xt,"Initializing OfflineComponentProvider");const t=n.configuration;await e.initialize(t);let r=t.initialUser;n.setCredentialChangeListener(async s=>{r.isEqual(s)||(await Ju(e.localStore,s),r=s)}),e.persistence.setDatabaseDeletedListener(()=>n.terminate()),n._offlineComponents=e}async function Pl(n,e){n.asyncQueue.verifyOperationInProgress();const t=await Ay(n);V(xt,"Initializing OnlineComponentProvider"),await e.initialize(t,n.configuration),n.setCredentialChangeListener(r=>fl(e.remoteStore,r)),n.setAppCheckTokenChangeListener((r,s)=>fl(e.remoteStore,s)),n._onlineComponents=e}async function Ay(n){if(!n._offlineComponents)if(n._uninitializedComponentsProvider){V(xt,"Using user provided OfflineComponentProvider");try{await Bo(n,n._uninitializedComponentsProvider._offline)}catch(e){const t=e;if(!function(s){return s.name==="FirebaseError"?s.code===P.FAILED_PRECONDITION||s.code===P.UNIMPLEMENTED:!(typeof DOMException<"u"&&s instanceof DOMException)||s.code===22||s.code===20||s.code===11}(t))throw t;yn("Error using user provided cache. Falling back to memory cache: "+t),await Bo(n,new Ms)}}else V(xt,"Using default OfflineComponentProvider"),await Bo(n,new wy(void 0));return n._offlineComponents}async function jo(n){return n._onlineComponents||(n._uninitializedComponentsProvider?(V(xt,"Using user provided OnlineComponentProvider"),await Pl(n,n._uninitializedComponentsProvider._online)):(V(xt,"Using default OnlineComponentProvider"),await Pl(n,new xo))),n._onlineComponents}function Ry(n){return jo(n).then(e=>e.syncEngine)}function by(n){return jo(n).then(e=>e.datastore)}async function Us(n){const e=await jo(n),t=e.eventManager;return t.onListen=uy.bind(null,e.syncEngine),t.onUnlisten=dy.bind(null,e.syncEngine),t.onFirstRemoteStoreListen=ly.bind(null,e.syncEngine),t.onLastRemoteStoreUnlisten=fy.bind(null,e.syncEngine),t}function Py(n,e,t={}){const r=new Ze;return n.asyncQueue.enqueueAndForget(async()=>function(i,a,c,l,d){const f=new Fo({next:v=>{f.su(),a.enqueueAndForget(()=>No(i,m));const R=v.docs.has(c);!R&&v.fromCache?d.reject(new O(P.UNAVAILABLE,"Failed to get document because the client is offline.")):R&&v.fromCache&&l&&l.source==="server"?d.reject(new O(P.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.)')):d.resolve(v)},error:v=>d.reject(v)}),m=new Vo(gs(c.path),f,{includeMetadataChanges:!0,Ta:!0});return ko(i,m)}(await Us(n),n.asyncQueue,e,t,r)),r.promise}function Sy(n,e,t={}){const r=new Ze;return n.asyncQueue.enqueueAndForget(async()=>function(i,a,c,l,d){const f=new Fo({next:v=>{f.su(),a.enqueueAndForget(()=>No(i,m)),v.fromCache&&l.source==="server"?d.reject(new O(P.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.)')):d.resolve(v)},error:v=>d.reject(v)}),m=new Vo(c,f,{includeMetadataChanges:!0,Ta:!0});return ko(i,m)}(await Us(n),n.asyncQueue,e,t,r)),r.promise}function Cy(n,e,t){const r=new Ze;return n.asyncQueue.enqueueAndForget(async()=>{try{const s=await by(n);r.resolve(async function(a,c,l){var d;const f=B(a),{request:m,Pt:v,parent:R}=Kg(f.serializer,pg(c),l);f.connection.fo||delete m.parent;const S=(await f.Co("RunAggregationQuery",f.serializer.databaseId,R,m,1)).filter(k=>!!k.result);Y(S.length===1);const N=(d=S[0].result)===null||d===void 0?void 0:d.aggregateFields;return Object.keys(N).reduce((k,U)=>(k[v[U]]=N[U],k),{})}(s,e,t))}catch(s){r.reject(s)}}),r.promise}/**
1776
1761
  * @license
1777
1762
  * Copyright 2023 Google LLC
1778
1763
  *
@@ -1787,7 +1772,7 @@ This typically indicates that your device does not have a healthy Internet conne
1787
1772
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1788
1773
  * See the License for the specific language governing permissions and
1789
1774
  * limitations under the License.
1790
- */function Pl(n){const e={};return n.timeoutSeconds!==void 0&&(e.timeoutSeconds=n.timeoutSeconds),e}/**
1775
+ */function Sl(n){const e={};return n.timeoutSeconds!==void 0&&(e.timeoutSeconds=n.timeoutSeconds),e}/**
1791
1776
  * @license
1792
1777
  * Copyright 2020 Google LLC
1793
1778
  *
@@ -1802,7 +1787,7 @@ This typically indicates that your device does not have a healthy Internet conne
1802
1787
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1803
1788
  * See the License for the specific language governing permissions and
1804
1789
  * limitations under the License.
1805
- */const Sl=new Map;/**
1790
+ */const Cl=new Map;/**
1806
1791
  * @license
1807
1792
  * Copyright 2017 Google LLC
1808
1793
  *
@@ -1817,7 +1802,7 @@ This typically indicates that your device does not have a healthy Internet conne
1817
1802
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1818
1803
  * See the License for the specific language governing permissions and
1819
1804
  * limitations under the License.
1820
- */function Cl(n,e,t){if(!t)throw new O(P.INVALID_ARGUMENT,`Function ${n}() cannot be called with an empty ${e}.`)}function Cy(n,e,t,r){if(e===!0&&r===!0)throw new O(P.INVALID_ARGUMENT,`${n} and ${t} cannot be used together.`)}function kl(n){if(!L.isDocumentKey(n))throw new O(P.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${n} has ${n.length}.`)}function Nl(n){if(L.isDocumentKey(n))throw new O(P.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${n} has ${n.length}.`)}function xs(n){if(n===void 0)return"undefined";if(n===null)return"null";if(typeof n=="string")return n.length>20&&(n=`${n.substring(0,20)}...`),JSON.stringify(n);if(typeof n=="number"||typeof n=="boolean")return""+n;if(typeof n=="object"){if(n instanceof Array)return"an array";{const e=function(r){return r.constructor?r.constructor.name:null}(n);return e?`a custom ${e} object`:"an object"}}return typeof n=="function"?"a function":F()}function Ge(n,e){if("_delegate"in n&&(n=n._delegate),!(n instanceof e)){if(e.name===n.constructor.name)throw new O(P.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");{const t=xs(n);throw new O(P.INVALID_ARGUMENT,`Expected type '${e.name}', but it was: ${t}`)}}return n}function ky(n,e){if(e<=0)throw new O(P.INVALID_ARGUMENT,`Function ${n}() requires a positive number, but it was: ${e}.`)}/**
1805
+ */function kl(n,e,t){if(!t)throw new O(P.INVALID_ARGUMENT,`Function ${n}() cannot be called with an empty ${e}.`)}function ky(n,e,t,r){if(e===!0&&r===!0)throw new O(P.INVALID_ARGUMENT,`${n} and ${t} cannot be used together.`)}function Nl(n){if(!L.isDocumentKey(n))throw new O(P.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${n} has ${n.length}.`)}function Dl(n){if(L.isDocumentKey(n))throw new O(P.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${n} has ${n.length}.`)}function xs(n){if(n===void 0)return"undefined";if(n===null)return"null";if(typeof n=="string")return n.length>20&&(n=`${n.substring(0,20)}...`),JSON.stringify(n);if(typeof n=="number"||typeof n=="boolean")return""+n;if(typeof n=="object"){if(n instanceof Array)return"an array";{const e=function(r){return r.constructor?r.constructor.name:null}(n);return e?`a custom ${e} object`:"an object"}}return typeof n=="function"?"a function":F()}function Ge(n,e){if("_delegate"in n&&(n=n._delegate),!(n instanceof e)){if(e.name===n.constructor.name)throw new O(P.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");{const t=xs(n);throw new O(P.INVALID_ARGUMENT,`Expected type '${e.name}', but it was: ${t}`)}}return n}function Ny(n,e){if(e<=0)throw new O(P.INVALID_ARGUMENT,`Function ${n}() requires a positive number, but it was: ${e}.`)}/**
1821
1806
  * @license
1822
1807
  * Copyright 2020 Google LLC
1823
1808
  *
@@ -1832,7 +1817,7 @@ This typically indicates that your device does not have a healthy Internet conne
1832
1817
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1833
1818
  * See the License for the specific language governing permissions and
1834
1819
  * limitations under the License.
1835
- */const Dl="firestore.googleapis.com",Ol=!0;class Vl{constructor(e){var t,r;if(e.host===void 0){if(e.ssl!==void 0)throw new O(P.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=Dl,this.ssl=Ol}else this.host=e.host,this.ssl=(t=e.ssl)!==null&&t!==void 0?t:Ol;if(this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,e.cacheSizeBytes===void 0)this.cacheSizeBytes=Gu;else{if(e.cacheSizeBytes!==-1&&e.cacheSizeBytes<s_)throw new O(P.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}Cy("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:e.experimentalAutoDetectLongPolling===void 0?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=Pl((r=e.experimentalLongPollingOptions)!==null&&r!==void 0?r:{}),function(i){if(i.timeoutSeconds!==void 0){if(isNaN(i.timeoutSeconds))throw new O(P.INVALID_ARGUMENT,`invalid long polling timeout: ${i.timeoutSeconds} (must not be NaN)`);if(i.timeoutSeconds<5)throw new O(P.INVALID_ARGUMENT,`invalid long polling timeout: ${i.timeoutSeconds} (minimum allowed value is 5)`);if(i.timeoutSeconds>30)throw new O(P.INVALID_ARGUMENT,`invalid long polling timeout: ${i.timeoutSeconds} (maximum allowed value is 30)`)}}(this.experimentalLongPollingOptions),this.useFetchStreams=!!e.useFetchStreams}isEqual(e){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&&function(r,s){return r.timeoutSeconds===s.timeoutSeconds}(this.experimentalLongPollingOptions,e.experimentalLongPollingOptions)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams}}class Fs{constructor(e,t,r,s){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=r,this._app=s,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new Vl({}),this._settingsFrozen=!1,this._terminateTask="notTerminated"}get app(){if(!this._app)throw new O(P.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 this._terminateTask!=="notTerminated"}_setSettings(e){if(this._settingsFrozen)throw new O(P.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 Vl(e),e.credentials!==void 0&&(this._authCredentials=function(r){if(!r)return new Om;switch(r.type){case"firstParty":return new Um(r.sessionIndex||"0",r.iamToken||null,r.authTokenFactory||null);case"provider":return r.client;default:throw new O(P.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid credential type")}}(e.credentials))}_getSettings(){return this._settings}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return this._terminateTask==="notTerminated"&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){this._terminateTask==="notTerminated"?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return function(t){const r=Sl.get(t);r&&(V("ComponentProvider","Removing Datastore"),Sl.delete(t),r.terminate())}(this),Promise.resolve()}}function Ll(n,e,t,r={}){var s;const i=(n=Ge(n,Fs))._getSettings(),a=`${e}:${t}`;if(i.host!==Dl&&i.host!==a&&yn("Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used."),n._setSettings(Object.assign(Object.assign({},i),{host:a,ssl:!1})),r.mockUserToken){let c,l;if(typeof r.mockUserToken=="string")c=r.mockUserToken,l=we.MOCK_USER;else{c=lc(r.mockUserToken,(s=n._app)===null||s===void 0?void 0:s.options.projectId);const d=r.mockUserToken.sub||r.mockUserToken.user_id;if(!d)throw new O(P.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");l=new we(d)}n._authCredentials=new Vm(new Vc(c,l))}}/**
1820
+ */const Ol="firestore.googleapis.com",Vl=!0;class Ll{constructor(e){var t,r;if(e.host===void 0){if(e.ssl!==void 0)throw new O(P.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=Ol,this.ssl=Vl}else this.host=e.host,this.ssl=(t=e.ssl)!==null&&t!==void 0?t:Vl;if(this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,e.cacheSizeBytes===void 0)this.cacheSizeBytes=Ku;else{if(e.cacheSizeBytes!==-1&&e.cacheSizeBytes<i_)throw new O(P.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}ky("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:e.experimentalAutoDetectLongPolling===void 0?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=Sl((r=e.experimentalLongPollingOptions)!==null&&r!==void 0?r:{}),function(i){if(i.timeoutSeconds!==void 0){if(isNaN(i.timeoutSeconds))throw new O(P.INVALID_ARGUMENT,`invalid long polling timeout: ${i.timeoutSeconds} (must not be NaN)`);if(i.timeoutSeconds<5)throw new O(P.INVALID_ARGUMENT,`invalid long polling timeout: ${i.timeoutSeconds} (minimum allowed value is 5)`);if(i.timeoutSeconds>30)throw new O(P.INVALID_ARGUMENT,`invalid long polling timeout: ${i.timeoutSeconds} (maximum allowed value is 30)`)}}(this.experimentalLongPollingOptions),this.useFetchStreams=!!e.useFetchStreams}isEqual(e){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&&function(r,s){return r.timeoutSeconds===s.timeoutSeconds}(this.experimentalLongPollingOptions,e.experimentalLongPollingOptions)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams}}class Fs{constructor(e,t,r,s){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=r,this._app=s,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new Ll({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(!this._app)throw new O(P.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 this._terminateTask!=="notTerminated"}_setSettings(e){if(this._settingsFrozen)throw new O(P.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 Ll(e),this._emulatorOptions=e.emulatorOptions||{},e.credentials!==void 0&&(this._authCredentials=function(r){if(!r)return new Vm;switch(r.type){case"firstParty":return new xm(r.sessionIndex||"0",r.iamToken||null,r.authTokenFactory||null);case"provider":return r.client;default:throw new O(P.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid credential type")}}(e.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return this._terminateTask==="notTerminated"&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){this._terminateTask==="notTerminated"?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return function(t){const r=Cl.get(t);r&&(V("ComponentProvider","Removing Datastore"),Cl.delete(t),r.terminate())}(this),Promise.resolve()}}function Ml(n,e,t,r={}){var s;const i=(n=Ge(n,Fs))._getSettings(),a=Object.assign(Object.assign({},i),{emulatorOptions:n._getEmulatorOptions()}),c=`${e}:${t}`;i.host!==Ol&&i.host!==c&&yn("Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used.");const l=Object.assign(Object.assign({},i),{host:c,ssl:!1,emulatorOptions:r});if(!Qt(l,a)&&(n._setSettings(l),r.mockUserToken)){let d,f;if(typeof r.mockUserToken=="string")d=r.mockUserToken,f=we.MOCK_USER;else{d=hc(r.mockUserToken,(s=n._app)===null||s===void 0?void 0:s.options.projectId);const m=r.mockUserToken.sub||r.mockUserToken.user_id;if(!m)throw new O(P.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");f=new we(m)}n._authCredentials=new Lm(new Lc(d,f))}}/**
1836
1821
  * @license
1837
1822
  * Copyright 2020 Google LLC
1838
1823
  *
@@ -1847,7 +1832,7 @@ This typically indicates that your device does not have a healthy Internet conne
1847
1832
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1848
1833
  * See the License for the specific language governing permissions and
1849
1834
  * limitations under the License.
1850
- */class st{constructor(e,t,r){this.converter=t,this._query=r,this.type="query",this.firestore=e}withConverter(e){return new st(this.firestore,e,this._query)}}class Ve{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 Ft(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new Ve(this.firestore,e,this._key)}}class Ft extends st{constructor(e,t,r){super(e,t,gs(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){const e=this._path.popLast();return e.isEmpty()?null:new Ve(this.firestore,null,new L(e))}withConverter(e){return new Ft(this.firestore,e,this._path)}}function Ml(n,e,...t){if(n=X(n),Cl("collection","path",e),n instanceof Fs){const r=ee.fromString(e,...t);return Nl(r),new Ft(n,null,r)}{if(!(n instanceof Ve||n instanceof Ft))throw new O(P.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");const r=n._path.child(ee.fromString(e,...t));return Nl(r),new Ft(n.firestore,null,r)}}function Bs(n,e,...t){if(n=X(n),arguments.length===1&&(e=Mc.newId()),Cl("doc","path",e),n instanceof Fs){const r=ee.fromString(e,...t);return kl(r),new Ve(n,null,new L(r))}{if(!(n instanceof Ve||n instanceof Ft))throw new O(P.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");const r=n._path.child(ee.fromString(e,...t));return kl(r),new Ve(n.firestore,n instanceof Ft?n.converter:null,new L(r))}}/**
1835
+ */class st{constructor(e,t,r){this.converter=t,this._query=r,this.type="query",this.firestore=e}withConverter(e){return new st(this.firestore,e,this._query)}}class Ve{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 Ft(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new Ve(this.firestore,e,this._key)}}class Ft extends st{constructor(e,t,r){super(e,t,gs(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){const e=this._path.popLast();return e.isEmpty()?null:new Ve(this.firestore,null,new L(e))}withConverter(e){return new Ft(this.firestore,e,this._path)}}function Ul(n,e,...t){if(n=X(n),kl("collection","path",e),n instanceof Fs){const r=ee.fromString(e,...t);return Dl(r),new Ft(n,null,r)}{if(!(n instanceof Ve||n instanceof Ft))throw new O(P.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");const r=n._path.child(ee.fromString(e,...t));return Dl(r),new Ft(n.firestore,null,r)}}function Bs(n,e,...t){if(n=X(n),arguments.length===1&&(e=Uc.newId()),kl("doc","path",e),n instanceof Fs){const r=ee.fromString(e,...t);return Nl(r),new Ve(n,null,new L(r))}{if(!(n instanceof Ve||n instanceof Ft))throw new O(P.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");const r=n._path.child(ee.fromString(e,...t));return Nl(r),new Ve(n.firestore,n instanceof Ft?n.converter:null,new L(r))}}/**
1851
1836
  * @license
1852
1837
  * Copyright 2020 Google LLC
1853
1838
  *
@@ -1862,8 +1847,8 @@ This typically indicates that your device does not have a healthy Internet conne
1862
1847
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1863
1848
  * See the License for the specific language governing permissions and
1864
1849
  * limitations under the License.
1865
- */const Ul="AsyncQueue";class xl{constructor(e=Promise.resolve()){this.Vu=[],this.mu=!1,this.fu=[],this.gu=null,this.pu=!1,this.yu=!1,this.wu=[],this.a_=new rl(this,"async_queue_retry"),this.Su=()=>{const r=Io();r&&V(Ul,"Visibility state changed to "+r.visibilityState),this.a_.t_()},this.bu=e;const t=Io();t&&typeof t.addEventListener=="function"&&t.addEventListener("visibilitychange",this.Su)}get isShuttingDown(){return this.mu}enqueueAndForget(e){this.enqueue(e)}enqueueAndForgetEvenWhileRestricted(e){this.Du(),this.vu(e)}enterRestrictedMode(e){if(!this.mu){this.mu=!0,this.yu=e||!1;const t=Io();t&&typeof t.removeEventListener=="function"&&t.removeEventListener("visibilitychange",this.Su)}}enqueue(e){if(this.Du(),this.mu)return new Promise(()=>{});const t=new Ze;return this.vu(()=>this.mu&&this.yu?Promise.resolve():(e().then(t.resolve,t.reject),t.promise)).then(()=>t.promise)}enqueueRetryable(e){this.enqueueAndForget(()=>(this.Vu.push(e),this.Cu()))}async Cu(){if(this.Vu.length!==0){try{await this.Vu[0](),this.Vu.shift(),this.a_.reset()}catch(e){if(!Tn(e))throw e;V(Ul,"Operation failed with retryable error: "+e)}this.Vu.length>0&&this.a_.Xo(()=>this.Cu())}}vu(e){const t=this.bu.then(()=>(this.pu=!0,e().catch(r=>{this.gu=r,this.pu=!1;const s=function(a){let c=a.message||"";return a.stack&&(c=a.stack.includes(a.message)?a.stack:a.message+`
1866
- `+a.stack),c}(r);throw ft("INTERNAL UNHANDLED ERROR: ",s),r}).then(r=>(this.pu=!1,r))));return this.bu=t,t}enqueueAfterDelay(e,t,r){this.Du(),this.wu.indexOf(e)>-1&&(t=0);const s=So.createAndSchedule(this,e,t,r,i=>this.Fu(i));return this.fu.push(s),s}Du(){this.gu&&F()}verifyOperationInProgress(){}async Mu(){let e;do e=this.bu,await e;while(e!==this.bu)}xu(e){for(const t of this.fu)if(t.timerId===e)return!0;return!1}Ou(e){return this.Mu().then(()=>{this.fu.sort((t,r)=>t.targetTimeMs-r.targetTimeMs);for(const t of this.fu)if(t.skipDelay(),e!=="all"&&t.timerId===e)break;return this.Mu()})}Nu(e){this.wu.push(e)}Fu(e){const t=this.fu.indexOf(e);this.fu.splice(t,1)}}function Fl(n){return function(t,r){if(typeof t!="object"||t===null)return!1;const s=t;for(const i of r)if(i in s&&typeof s[i]=="function")return!0;return!1}(n,["next","error","complete"])}class Bt extends Fs{constructor(e,t,r,s){super(e,t,r,s),this.type="firestore",this._queue=new xl,this._persistenceKey=(s==null?void 0:s.name)||"[DEFAULT]"}async _terminate(){if(this._firestoreClient){const e=this._firestoreClient.terminate();this._queue=new xl(e),this._firestoreClient=void 0,await e}}}function Ny(n,e){const t=typeof n=="object"?n:ts(),r=typeof n=="string"?n:ls,s=nr(t,"firestore").getImmediate({identifier:r});if(!s._initialized){const i=Li("firestore");i&&Ll(s,...i)}return s}function Dn(n){if(n._terminated)throw new O(P.FAILED_PRECONDITION,"The client has already been terminated.");return n._firestoreClient||Dy(n),n._firestoreClient}function Dy(n){var e,t,r;const s=n._freezeSettings(),i=function(c,l,d,f){return new Jm(c,l,d,f.host,f.ssl,f.experimentalForceLongPolling,f.experimentalAutoDetectLongPolling,Pl(f.experimentalLongPollingOptions),f.useFetchStreams)}(n._databaseId,((e=n._app)===null||e===void 0?void 0:e.options.appId)||"",n._persistenceKey,s);n._componentsProvider||!((t=s.localCache)===null||t===void 0)&&t._offlineComponentProvider&&(!((r=s.localCache)===null||r===void 0)&&r._onlineComponentProvider)&&(n._componentsProvider={_offline:s.localCache._offlineComponentProvider,_online:s.localCache._onlineComponentProvider}),n._firestoreClient=new wy(n._authCredentials,n._appCheckCredentials,n._queue,i,n._componentsProvider&&function(c){const l=c==null?void 0:c._online.build();return{_offline:c==null?void 0:c._offline.build(l),_online:l}}(n._componentsProvider))}/**
1850
+ */const xl="AsyncQueue";class Fl{constructor(e=Promise.resolve()){this.Vu=[],this.mu=!1,this.fu=[],this.gu=null,this.pu=!1,this.yu=!1,this.wu=[],this.a_=new sl(this,"async_queue_retry"),this.bu=()=>{const r=Io();r&&V(xl,"Visibility state changed to "+r.visibilityState),this.a_.t_()},this.Su=e;const t=Io();t&&typeof t.addEventListener=="function"&&t.addEventListener("visibilitychange",this.bu)}get isShuttingDown(){return this.mu}enqueueAndForget(e){this.enqueue(e)}enqueueAndForgetEvenWhileRestricted(e){this.Du(),this.vu(e)}enterRestrictedMode(e){if(!this.mu){this.mu=!0,this.yu=e||!1;const t=Io();t&&typeof t.removeEventListener=="function"&&t.removeEventListener("visibilitychange",this.bu)}}enqueue(e){if(this.Du(),this.mu)return new Promise(()=>{});const t=new Ze;return this.vu(()=>this.mu&&this.yu?Promise.resolve():(e().then(t.resolve,t.reject),t.promise)).then(()=>t.promise)}enqueueRetryable(e){this.enqueueAndForget(()=>(this.Vu.push(e),this.Cu()))}async Cu(){if(this.Vu.length!==0){try{await this.Vu[0](),this.Vu.shift(),this.a_.reset()}catch(e){if(!Tn(e))throw e;V(xl,"Operation failed with retryable error: "+e)}this.Vu.length>0&&this.a_.Xo(()=>this.Cu())}}vu(e){const t=this.Su.then(()=>(this.pu=!0,e().catch(r=>{this.gu=r,this.pu=!1;const s=function(a){let c=a.message||"";return a.stack&&(c=a.stack.includes(a.message)?a.stack:a.message+`
1851
+ `+a.stack),c}(r);throw ft("INTERNAL UNHANDLED ERROR: ",s),r}).then(r=>(this.pu=!1,r))));return this.Su=t,t}enqueueAfterDelay(e,t,r){this.Du(),this.wu.indexOf(e)>-1&&(t=0);const s=So.createAndSchedule(this,e,t,r,i=>this.Fu(i));return this.fu.push(s),s}Du(){this.gu&&F()}verifyOperationInProgress(){}async Mu(){let e;do e=this.Su,await e;while(e!==this.Su)}xu(e){for(const t of this.fu)if(t.timerId===e)return!0;return!1}Ou(e){return this.Mu().then(()=>{this.fu.sort((t,r)=>t.targetTimeMs-r.targetTimeMs);for(const t of this.fu)if(t.skipDelay(),e!=="all"&&t.timerId===e)break;return this.Mu()})}Nu(e){this.wu.push(e)}Fu(e){const t=this.fu.indexOf(e);this.fu.splice(t,1)}}function Bl(n){return function(t,r){if(typeof t!="object"||t===null)return!1;const s=t;for(const i of r)if(i in s&&typeof s[i]=="function")return!0;return!1}(n,["next","error","complete"])}class Bt extends Fs{constructor(e,t,r,s){super(e,t,r,s),this.type="firestore",this._queue=new Fl,this._persistenceKey=(s==null?void 0:s.name)||"[DEFAULT]"}async _terminate(){if(this._firestoreClient){const e=this._firestoreClient.terminate();this._queue=new Fl(e),this._firestoreClient=void 0,await e}}}function Dy(n,e){const t=typeof n=="object"?n:ts(),r=typeof n=="string"?n:ls,s=rr(t,"firestore").getImmediate({identifier:r});if(!s._initialized){const i=Li("firestore");i&&Ml(s,...i)}return s}function Dn(n){if(n._terminated)throw new O(P.FAILED_PRECONDITION,"The client has already been terminated.");return n._firestoreClient||Oy(n),n._firestoreClient}function Oy(n){var e,t,r;const s=n._freezeSettings(),i=function(c,l,d,f){return new Zm(c,l,d,f.host,f.ssl,f.experimentalForceLongPolling,f.experimentalAutoDetectLongPolling,Sl(f.experimentalLongPollingOptions),f.useFetchStreams)}(n._databaseId,((e=n._app)===null||e===void 0?void 0:e.options.appId)||"",n._persistenceKey,s);n._componentsProvider||!((t=s.localCache)===null||t===void 0)&&t._offlineComponentProvider&&(!((r=s.localCache)===null||r===void 0)&&r._onlineComponentProvider)&&(n._componentsProvider={_offline:s.localCache._offlineComponentProvider,_online:s.localCache._onlineComponentProvider}),n._firestoreClient=new Iy(n._authCredentials,n._appCheckCredentials,n._queue,i,n._componentsProvider&&function(c){const l=c==null?void 0:c._online.build();return{_offline:c==null?void 0:c._offline.build(l),_online:l}}(n._componentsProvider))}/**
1867
1852
  * @license
1868
1853
  * Copyright 2020 Google LLC
1869
1854
  *
@@ -1893,7 +1878,7 @@ This typically indicates that your device does not have a healthy Internet conne
1893
1878
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1894
1879
  * See the License for the specific language governing permissions and
1895
1880
  * limitations under the License.
1896
- */class Oy{constructor(e="count",t){this._internalFieldPath=t,this.type="AggregateField",this.aggregateType=e}}class Vy{constructor(e,t,r){this._userDataWriter=t,this._data=r,this.type="AggregateQuerySnapshot",this.query=e}data(){return this._userDataWriter.convertObjectMap(this._data)}}/**
1881
+ */class Vy{constructor(e="count",t){this._internalFieldPath=t,this.type="AggregateField",this.aggregateType=e}}class Ly{constructor(e,t,r){this._userDataWriter=t,this._data=r,this.type="AggregateQuerySnapshot",this.query=e}data(){return this._userDataWriter.convertObjectMap(this._data)}}/**
1897
1882
  * @license
1898
1883
  * Copyright 2020 Google LLC
1899
1884
  *
@@ -1983,7 +1968,7 @@ This typically indicates that your device does not have a healthy Internet conne
1983
1968
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1984
1969
  * See the License for the specific language governing permissions and
1985
1970
  * limitations under the License.
1986
- */const Ly=/^__.*__$/;class My{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return this.fieldMask!==null?new Vt(e,this.data,this.fieldMask,t,this.fieldTransforms):new gr(e,this.data,t,this.fieldTransforms)}}class Bl{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new Vt(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function jl(n){switch(n){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw F()}}class zo{constructor(e,t,r,s,i,a){this.settings=e,this.databaseId=t,this.serializer=r,this.ignoreUndefinedProperties=s,i===void 0&&this.Bu(),this.fieldTransforms=i||[],this.fieldMask=a||[]}get path(){return this.settings.path}get Lu(){return this.settings.Lu}ku(e){return new zo(Object.assign(Object.assign({},this.settings),e),this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}qu(e){var t;const r=(t=this.path)===null||t===void 0?void 0:t.child(e),s=this.ku({path:r,Qu:!1});return s.$u(e),s}Ku(e){var t;const r=(t=this.path)===null||t===void 0?void 0:t.child(e),s=this.ku({path:r,Qu:!1});return s.Bu(),s}Uu(e){return this.ku({path:void 0,Qu:!0})}Wu(e){return $s(e,this.settings.methodName,this.settings.Gu||!1,this.path,this.settings.zu)}contains(e){return this.fieldMask.find(t=>e.isPrefixOf(t))!==void 0||this.fieldTransforms.find(t=>e.isPrefixOf(t.field))!==void 0}Bu(){if(this.path)for(let e=0;e<this.path.length;e++)this.$u(this.path.get(e))}$u(e){if(e.length===0)throw this.Wu("Document fields must not be empty");if(jl(this.Lu)&&Ly.test(e))throw this.Wu('Document fields cannot begin and end with "__"')}}class Uy{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=r||Ds(e)}ju(e,t,r,s=!1){return new zo({Lu:e,methodName:t,zu:r,path:me.emptyPath(),Qu:!1,Gu:s},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function Wo(n){const e=n._freezeSettings(),t=Ds(n._databaseId);return new Uy(n._databaseId,!!e.ignoreUndefinedProperties,t)}function xy(n,e,t,r,s,i={}){const a=n.ju(i.merge||i.mergeFields?2:0,e,t,s);Go("Data must be an object, but it was:",a,r);const c=$l(r,a);let l,d;if(i.merge)l=new Fe(a.fieldMask),d=a.fieldTransforms;else if(i.mergeFields){const f=[];for(const m of i.mergeFields){const v=Ko(e,m,t);if(!a.contains(v))throw new O(P.INVALID_ARGUMENT,`Field '${v}' is specified in your field mask but missing from your input data.`);zl(f,v)||f.push(v)}l=new Fe(f),d=a.fieldTransforms.filter(m=>l.covers(m.field))}else l=null,d=a.fieldTransforms;return new My(new De(c),l,d)}class qs extends qo{_toFieldTransform(e){if(e.Lu!==2)throw e.Lu===1?e.Wu(`${this._methodName}() can only appear at the top level of your update data`):e.Wu(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof qs}}function Fy(n,e,t,r){const s=n.ju(1,e,t);Go("Data must be an object, but it was:",s,r);const i=[],a=De.empty();kt(r,(l,d)=>{const f=Qo(e,l,t);d=X(d);const m=s.Ku(f);if(d instanceof qs)i.push(f);else{const v=Tr(d,m);v!=null&&(i.push(f),a.set(f,v))}});const c=new Fe(i);return new Bl(a,c,s.fieldTransforms)}function By(n,e,t,r,s,i){const a=n.ju(1,e,t),c=[Ko(e,r,t)],l=[s];if(i.length%2!=0)throw new O(P.INVALID_ARGUMENT,`Function ${e}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let v=0;v<i.length;v+=2)c.push(Ko(e,i[v])),l.push(i[v+1]);const d=[],f=De.empty();for(let v=c.length-1;v>=0;--v)if(!zl(d,c[v])){const R=c[v];let S=l[v];S=X(S);const N=a.Ku(R);if(S instanceof qs)d.push(R);else{const k=Tr(S,N);k!=null&&(d.push(R),f.set(R,k))}}const m=new Fe(d);return new Bl(f,m,a.fieldTransforms)}function ql(n,e,t,r=!1){return Tr(t,n.ju(r?4:3,e))}function Tr(n,e){if(Hl(n=X(n)))return Go("Unsupported field value:",e,n),$l(n,e);if(n instanceof qo)return function(r,s){if(!jl(s.Lu))throw s.Wu(`${r._methodName}() can only be used with update() and set()`);if(!s.path)throw s.Wu(`${r._methodName}() is not currently supported inside arrays`);const i=r._toFieldTransform(s);i&&s.fieldTransforms.push(i)}(n,e),null;if(n===void 0&&e.ignoreUndefinedProperties)return null;if(e.path&&e.fieldMask.push(e.path),n instanceof Array){if(e.settings.Qu&&e.Lu!==4)throw e.Wu("Nested arrays are not supported");return function(r,s){const i=[];let a=0;for(const c of r){let l=Tr(c,s.Uu(a));l==null&&(l={nullValue:"NULL_VALUE"}),i.push(l),a++}return{arrayValue:{values:i}}}(n,e)}return function(r,s){if((r=X(r))===null)return{nullValue:"NULL_VALUE"};if(typeof r=="number")return Tg(s.serializer,r);if(typeof r=="boolean")return{booleanValue:r};if(typeof r=="string")return{stringValue:r};if(r instanceof Date){const i=ue.fromDate(r);return{timestampValue:Cs(s.serializer,i)}}if(r instanceof ue){const i=new ue(r.seconds,1e3*Math.floor(r.nanoseconds/1e3));return{timestampValue:Cs(s.serializer,i)}}if(r instanceof $o)return{geoPointValue:{latitude:r.latitude,longitude:r.longitude}};if(r instanceof On)return{bytesValue:Uu(s.serializer,r._byteString)};if(r instanceof Ve){const i=s.databaseId,a=r.firestore._databaseId;if(!a.isEqual(i))throw s.Wu(`Document reference is for database ${a.projectId}/${a.database} but should be for database ${i.projectId}/${i.database}`);return{referenceValue:lo(r.firestore._databaseId||s.databaseId,r._key.path)}}if(r instanceof Ho)return function(a,c){return{mapValue:{fields:{[Xc]:{stringValue:Yc},[ds]:{arrayValue:{values:a.toArray().map(d=>{if(typeof d!="number")throw c.Wu("VectorValues must only contain numeric values.");return oo(c.serializer,d)})}}}}}}(r,s);throw s.Wu(`Unsupported field value: ${xs(r)}`)}(n,e)}function $l(n,e){const t={};return $c(n)?e.path&&e.path.length>0&&e.fieldMask.push(e.path):kt(n,(r,s)=>{const i=Tr(s,e.qu(r));i!=null&&(t[r]=i)}),{mapValue:{fields:t}}}function Hl(n){return!(typeof n!="object"||n===null||n instanceof Array||n instanceof Date||n instanceof ue||n instanceof $o||n instanceof On||n instanceof Ve||n instanceof qo||n instanceof Ho)}function Go(n,e,t){if(!Hl(t)||!function(s){return typeof s=="object"&&s!==null&&(Object.getPrototypeOf(s)===Object.prototype||Object.getPrototypeOf(s)===null)}(t)){const r=xs(t);throw r==="an object"?e.Wu(n+" a custom object"):e.Wu(n+" "+r)}}function Ko(n,e,t){if((e=X(e))instanceof js)return e._internalPath;if(typeof e=="string")return Qo(n,e);throw $s("Field path arguments must be of type string or ",n,!1,void 0,t)}const jy=new RegExp("[~\\*/\\[\\]]");function Qo(n,e,t){if(e.search(jy)>=0)throw $s(`Invalid field path (${e}). Paths must not contain '~', '*', '/', '[', or ']'`,n,!1,void 0,t);try{return new js(...e.split("."))._internalPath}catch{throw $s(`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,n,!1,void 0,t)}}function $s(n,e,t,r,s){const i=r&&!r.isEmpty(),a=s!==void 0;let c=`Function ${e}() called with invalid data`;t&&(c+=" (via `toFirestore()`)"),c+=". ";let l="";return(i||a)&&(l+=" (found",i&&(l+=` in field ${r}`),a&&(l+=` in document ${s}`),l+=")"),new O(P.INVALID_ARGUMENT,c+n+l)}function zl(n,e){return n.some(t=>t.isEqual(e))}/**
1971
+ */const My=/^__.*__$/;class Uy{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return this.fieldMask!==null?new Vt(e,this.data,this.fieldMask,t,this.fieldTransforms):new _r(e,this.data,t,this.fieldTransforms)}}class jl{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new Vt(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function ql(n){switch(n){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw F()}}class zo{constructor(e,t,r,s,i,a){this.settings=e,this.databaseId=t,this.serializer=r,this.ignoreUndefinedProperties=s,i===void 0&&this.Bu(),this.fieldTransforms=i||[],this.fieldMask=a||[]}get path(){return this.settings.path}get Lu(){return this.settings.Lu}ku(e){return new zo(Object.assign(Object.assign({},this.settings),e),this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}qu(e){var t;const r=(t=this.path)===null||t===void 0?void 0:t.child(e),s=this.ku({path:r,Qu:!1});return s.$u(e),s}Ku(e){var t;const r=(t=this.path)===null||t===void 0?void 0:t.child(e),s=this.ku({path:r,Qu:!1});return s.Bu(),s}Uu(e){return this.ku({path:void 0,Qu:!0})}Wu(e){return $s(e,this.settings.methodName,this.settings.Gu||!1,this.path,this.settings.zu)}contains(e){return this.fieldMask.find(t=>e.isPrefixOf(t))!==void 0||this.fieldTransforms.find(t=>e.isPrefixOf(t.field))!==void 0}Bu(){if(this.path)for(let e=0;e<this.path.length;e++)this.$u(this.path.get(e))}$u(e){if(e.length===0)throw this.Wu("Document fields must not be empty");if(ql(this.Lu)&&My.test(e))throw this.Wu('Document fields cannot begin and end with "__"')}}class xy{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=r||Ds(e)}ju(e,t,r,s=!1){return new zo({Lu:e,methodName:t,zu:r,path:me.emptyPath(),Qu:!1,Gu:s},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function Wo(n){const e=n._freezeSettings(),t=Ds(n._databaseId);return new xy(n._databaseId,!!e.ignoreUndefinedProperties,t)}function Fy(n,e,t,r,s,i={}){const a=n.ju(i.merge||i.mergeFields?2:0,e,t,s);Go("Data must be an object, but it was:",a,r);const c=Hl(r,a);let l,d;if(i.merge)l=new Fe(a.fieldMask),d=a.fieldTransforms;else if(i.mergeFields){const f=[];for(const m of i.mergeFields){const v=Ko(e,m,t);if(!a.contains(v))throw new O(P.INVALID_ARGUMENT,`Field '${v}' is specified in your field mask but missing from your input data.`);Wl(f,v)||f.push(v)}l=new Fe(f),d=a.fieldTransforms.filter(m=>l.covers(m.field))}else l=null,d=a.fieldTransforms;return new Uy(new De(c),l,d)}class qs extends qo{_toFieldTransform(e){if(e.Lu!==2)throw e.Lu===1?e.Wu(`${this._methodName}() can only appear at the top level of your update data`):e.Wu(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof qs}}function By(n,e,t,r){const s=n.ju(1,e,t);Go("Data must be an object, but it was:",s,r);const i=[],a=De.empty();kt(r,(l,d)=>{const f=Qo(e,l,t);d=X(d);const m=s.Ku(f);if(d instanceof qs)i.push(f);else{const v=wr(d,m);v!=null&&(i.push(f),a.set(f,v))}});const c=new Fe(i);return new jl(a,c,s.fieldTransforms)}function jy(n,e,t,r,s,i){const a=n.ju(1,e,t),c=[Ko(e,r,t)],l=[s];if(i.length%2!=0)throw new O(P.INVALID_ARGUMENT,`Function ${e}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let v=0;v<i.length;v+=2)c.push(Ko(e,i[v])),l.push(i[v+1]);const d=[],f=De.empty();for(let v=c.length-1;v>=0;--v)if(!Wl(d,c[v])){const R=c[v];let S=l[v];S=X(S);const N=a.Ku(R);if(S instanceof qs)d.push(R);else{const k=wr(S,N);k!=null&&(d.push(R),f.set(R,k))}}const m=new Fe(d);return new jl(f,m,a.fieldTransforms)}function $l(n,e,t,r=!1){return wr(t,n.ju(r?4:3,e))}function wr(n,e){if(zl(n=X(n)))return Go("Unsupported field value:",e,n),Hl(n,e);if(n instanceof qo)return function(r,s){if(!ql(s.Lu))throw s.Wu(`${r._methodName}() can only be used with update() and set()`);if(!s.path)throw s.Wu(`${r._methodName}() is not currently supported inside arrays`);const i=r._toFieldTransform(s);i&&s.fieldTransforms.push(i)}(n,e),null;if(n===void 0&&e.ignoreUndefinedProperties)return null;if(e.path&&e.fieldMask.push(e.path),n instanceof Array){if(e.settings.Qu&&e.Lu!==4)throw e.Wu("Nested arrays are not supported");return function(r,s){const i=[];let a=0;for(const c of r){let l=wr(c,s.Uu(a));l==null&&(l={nullValue:"NULL_VALUE"}),i.push(l),a++}return{arrayValue:{values:i}}}(n,e)}return function(r,s){if((r=X(r))===null)return{nullValue:"NULL_VALUE"};if(typeof r=="number")return wg(s.serializer,r);if(typeof r=="boolean")return{booleanValue:r};if(typeof r=="string")return{stringValue:r};if(r instanceof Date){const i=ue.fromDate(r);return{timestampValue:Cs(s.serializer,i)}}if(r instanceof ue){const i=new ue(r.seconds,1e3*Math.floor(r.nanoseconds/1e3));return{timestampValue:Cs(s.serializer,i)}}if(r instanceof $o)return{geoPointValue:{latitude:r.latitude,longitude:r.longitude}};if(r instanceof On)return{bytesValue:xu(s.serializer,r._byteString)};if(r instanceof Ve){const i=s.databaseId,a=r.firestore._databaseId;if(!a.isEqual(i))throw s.Wu(`Document reference is for database ${a.projectId}/${a.database} but should be for database ${i.projectId}/${i.database}`);return{referenceValue:lo(r.firestore._databaseId||s.databaseId,r._key.path)}}if(r instanceof Ho)return function(a,c){return{mapValue:{fields:{[Yc]:{stringValue:Jc},[ds]:{arrayValue:{values:a.toArray().map(d=>{if(typeof d!="number")throw c.Wu("VectorValues must only contain numeric values.");return oo(c.serializer,d)})}}}}}}(r,s);throw s.Wu(`Unsupported field value: ${xs(r)}`)}(n,e)}function Hl(n,e){const t={};return Hc(n)?e.path&&e.path.length>0&&e.fieldMask.push(e.path):kt(n,(r,s)=>{const i=wr(s,e.qu(r));i!=null&&(t[r]=i)}),{mapValue:{fields:t}}}function zl(n){return!(typeof n!="object"||n===null||n instanceof Array||n instanceof Date||n instanceof ue||n instanceof $o||n instanceof On||n instanceof Ve||n instanceof qo||n instanceof Ho)}function Go(n,e,t){if(!zl(t)||!function(s){return typeof s=="object"&&s!==null&&(Object.getPrototypeOf(s)===Object.prototype||Object.getPrototypeOf(s)===null)}(t)){const r=xs(t);throw r==="an object"?e.Wu(n+" a custom object"):e.Wu(n+" "+r)}}function Ko(n,e,t){if((e=X(e))instanceof js)return e._internalPath;if(typeof e=="string")return Qo(n,e);throw $s("Field path arguments must be of type string or ",n,!1,void 0,t)}const qy=new RegExp("[~\\*/\\[\\]]");function Qo(n,e,t){if(e.search(qy)>=0)throw $s(`Invalid field path (${e}). Paths must not contain '~', '*', '/', '[', or ']'`,n,!1,void 0,t);try{return new js(...e.split("."))._internalPath}catch{throw $s(`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,n,!1,void 0,t)}}function $s(n,e,t,r,s){const i=r&&!r.isEmpty(),a=s!==void 0;let c=`Function ${e}() called with invalid data`;t&&(c+=" (via `toFirestore()`)"),c+=". ";let l="";return(i||a)&&(l+=" (found",i&&(l+=` in field ${r}`),a&&(l+=` in document ${s}`),l+=")"),new O(P.INVALID_ARGUMENT,c+n+l)}function Wl(n,e){return n.some(t=>t.isEqual(e))}/**
1987
1972
  * @license
1988
1973
  * Copyright 2020 Google LLC
1989
1974
  *
@@ -1998,7 +1983,7 @@ This typically indicates that your device does not have a healthy Internet conne
1998
1983
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1999
1984
  * See the License for the specific language governing permissions and
2000
1985
  * limitations under the License.
2001
- */class Xo{constructor(e,t,r,s,i){this._firestore=e,this._userDataWriter=t,this._key=r,this._document=s,this._converter=i}get id(){return this._key.path.lastSegment()}get ref(){return new Ve(this._firestore,this._converter,this._key)}exists(){return this._document!==null}data(){if(this._document){if(this._converter){const e=new qy(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}}get(e){if(this._document){const t=this._document.data.field(Hs("DocumentSnapshot.get",e));if(t!==null)return this._userDataWriter.convertValue(t)}}}class qy extends Xo{data(){return super.data()}}function Hs(n,e){return typeof e=="string"?Qo(n,e):e instanceof js?e._internalPath:e._delegate._internalPath}/**
1986
+ */class Xo{constructor(e,t,r,s,i){this._firestore=e,this._userDataWriter=t,this._key=r,this._document=s,this._converter=i}get id(){return this._key.path.lastSegment()}get ref(){return new Ve(this._firestore,this._converter,this._key)}exists(){return this._document!==null}data(){if(this._document){if(this._converter){const e=new $y(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}}get(e){if(this._document){const t=this._document.data.field(Hs("DocumentSnapshot.get",e));if(t!==null)return this._userDataWriter.convertValue(t)}}}class $y extends Xo{data(){return super.data()}}function Hs(n,e){return typeof e=="string"?Qo(n,e):e instanceof js?e._internalPath:e._delegate._internalPath}/**
2002
1987
  * @license
2003
1988
  * Copyright 2020 Google LLC
2004
1989
  *
@@ -2013,7 +1998,7 @@ This typically indicates that your device does not have a healthy Internet conne
2013
1998
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2014
1999
  * See the License for the specific language governing permissions and
2015
2000
  * limitations under the License.
2016
- */function Wl(n){if(n.limitType==="L"&&n.explicitOrderBy.length===0)throw new O(P.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}class Yo{}class zs extends Yo{}function Gl(n,e,...t){let r=[];e instanceof Yo&&r.push(e),r=r.concat(t),function(i){const a=i.filter(l=>l instanceof Vn).length,c=i.filter(l=>l instanceof wr).length;if(a>1||a>0&&c>0)throw new O(P.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(...)))`.")}(r);for(const s of r)n=s._apply(n);return n}class wr extends zs{constructor(e,t,r){super(),this._field=e,this._op=t,this._value=r,this.type="where"}static _create(e,t,r){return new wr(e,t,r)}_apply(e){const t=this._parse(e);return Jl(e._query,t),new st(e.firestore,e.converter,io(e._query,t))}_parse(e){const t=Wo(e.firestore);return function(i,a,c,l,d,f,m){let v;if(d.isKeyField()){if(f==="array-contains"||f==="array-contains-any")throw new O(P.INVALID_ARGUMENT,`Invalid Query. You can't perform '${f}' queries on documentId().`);if(f==="in"||f==="not-in"){Yl(m,f);const S=[];for(const N of m)S.push(Xl(l,i,N));v={arrayValue:{values:S}}}else v=Xl(l,i,m)}else f!=="in"&&f!=="not-in"&&f!=="array-contains-any"||Yl(m,f),v=ql(c,a,m,f==="in"||f==="not-in");return ae.create(d,f,v)}(e._query,"where",t,e.firestore._databaseId,this._field,this._op,this._value)}}function Kl(n,e,t){const r=e,s=Hs("where",n);return wr._create(s,r,t)}class Vn extends Yo{constructor(e,t){super(),this.type=e,this._queryConstraints=t}static _create(e,t){return new Vn(e,t)}_parse(e){const t=this._queryConstraints.map(r=>r._parse(e)).filter(r=>r.getFilters().length>0);return t.length===1?t[0]:We.create(t,this._getOperator())}_apply(e){const t=this._parse(e);return t.getFilters().length===0?e:(function(s,i){let a=s;const c=i.getFlattenedFilters();for(const l of c)Jl(a,l),a=io(a,l)}(e._query,t),new st(e.firestore,e.converter,io(e._query,t)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return this.type==="and"?"and":"or"}}function $y(...n){return n.forEach(e=>Zl("or",e)),Vn._create("or",n)}function Hy(...n){return n.forEach(e=>Zl("and",e)),Vn._create("and",n)}class Jo extends zs{constructor(e,t){super(),this._field=e,this._direction=t,this.type="orderBy"}static _create(e,t){return new Jo(e,t)}_apply(e){const t=function(s,i,a){if(s.startAt!==null)throw new O(P.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(s.endAt!==null)throw new O(P.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new lr(i,a)}(e._query,this._field,this._direction);return new st(e.firestore,e.converter,function(s,i){const a=s.explicitOrderBy.concat([i]);return new Jt(s.path,s.collectionGroup,a,s.filters.slice(),s.limit,s.limitType,s.startAt,s.endAt)}(e._query,t))}}function zy(n,e="asc"){const t=e,r=Hs("orderBy",n);return Jo._create(r,t)}class Zo extends zs{constructor(e,t,r){super(),this.type=e,this._limit=t,this._limitType=r}static _create(e,t,r){return new Zo(e,t,r)}_apply(e){return new st(e.firestore,e.converter,_s(e._query,this._limit,this._limitType))}}function Ql(n){return ky("limit",n),Zo._create("limit",n,"F")}class ea extends zs{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new ea(e,t,r)}_apply(e){const t=Gy(e,this.type,this._docOrFields,this._inclusive);return new st(e.firestore,e.converter,function(s,i){return new Jt(s.path,s.collectionGroup,s.explicitOrderBy.slice(),s.filters.slice(),s.limit,s.limitType,i,s.endAt)}(e._query,t))}}function Wy(...n){return ea._create("startAfter",n,!1)}function Gy(n,e,t,r){if(t[0]=X(t[0]),t[0]instanceof Xo)return function(i,a,c,l,d){if(!l)throw new O(P.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${c}().`);const f=[];for(const m of Rn(i))if(m.field.isKeyField())f.push(ps(a,l.key));else{const v=l.data.field(m.field);if(cs(v))throw new O(P.INVALID_ARGUMENT,'Invalid query. You are trying to start or end a query using a document for which the field "'+m.field+'" is an uncommitted server timestamp. (Since the value of this field is unknown, you cannot start/end a query with it.)');if(v===null){const R=m.field.canonicalString();throw new O(P.INVALID_ARGUMENT,`Invalid query. You are trying to start or end a query using a document for which the field '${R}' (used as the orderBy) does not exist.`)}f.push(v)}return new An(f,d)}(n._query,n.firestore._databaseId,e,t[0]._document,r);{const s=Wo(n.firestore);return function(a,c,l,d,f,m){const v=a.explicitOrderBy;if(f.length>v.length)throw new O(P.INVALID_ARGUMENT,`Too many arguments provided to ${d}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);const R=[];for(let S=0;S<f.length;S++){const N=f[S];if(v[S].field.isKeyField()){if(typeof N!="string")throw new O(P.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${d}(), but got a ${typeof N}`);if(!so(a)&&N.indexOf("/")!==-1)throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${d}() must be a plain document ID, but '${N}' contains a slash.`);const k=a.path.child(ee.fromString(N));if(!L.isDocumentKey(k))throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${d}() must result in a valid document path, but '${k}' is not because it contains an odd number of segments.`);const U=new L(k);R.push(ps(c,U))}else{const k=ql(l,d,N);R.push(k)}}return new An(R,m)}(n._query,n.firestore._databaseId,s,e,t,r)}}function Xl(n,e,t){if(typeof(t=X(t))=="string"){if(t==="")throw new O(P.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!so(e)&&t.indexOf("/")!==-1)throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${t}' contains a '/' character.`);const r=e.path.child(ee.fromString(t));if(!L.isDocumentKey(r))throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${r}' is not because it has an odd number of segments (${r.length}).`);return ps(n,new L(r))}if(t instanceof Ve)return ps(n,t._key);throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${xs(t)}.`)}function Yl(n,e){if(!Array.isArray(n)||n.length===0)throw new O(P.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${e.toString()}' filters.`)}function Jl(n,e){const t=function(s,i){for(const a of s)for(const c of a.getFlattenedFilters())if(i.indexOf(c.op)>=0)return c.op;return null}(n.filters,function(s){switch(s){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[]}}(e.op));if(t!==null)throw t===e.op?new O(P.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${e.op.toString()}' filter.`):new O(P.INVALID_ARGUMENT,`Invalid query. You cannot use '${e.op.toString()}' filters with '${t.toString()}' filters.`)}function Zl(n,e){if(!(e instanceof wr||e instanceof Vn))throw new O(P.INVALID_ARGUMENT,`Function ${n}() requires AppliableConstraints created with a call to 'where(...)', 'or(...)', or 'and(...)'.`)}class Ky{convertValue(e,t="none"){switch(Ot(e)){case 0:return null;case 1:return e.booleanValue;case 2:return oe(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(Dt(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 F()}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,t="none"){const r={};return kt(e,(s,i)=>{r[s]=this.convertValue(i,t)}),r}convertVectorValue(e){var t,r,s;const i=(s=(r=(t=e.fields)===null||t===void 0?void 0:t[ds].arrayValue)===null||r===void 0?void 0:r.values)===null||s===void 0?void 0:s.map(a=>oe(a.doubleValue));return new Ho(i)}convertGeoPoint(e){return new $o(oe(e.latitude),oe(e.longitude))}convertArray(e,t){return(e.values||[]).map(r=>this.convertValue(r,t))}convertServerTimestamp(e,t){switch(t){case"previous":const r=us(e);return r==null?null:this.convertValue(r,t);case"estimate":return this.convertTimestamp(or(e));default:return null}}convertTimestamp(e){const t=Nt(e);return new ue(t.seconds,t.nanos)}convertDocumentKey(e,t){const r=ee.fromString(e);Y(zu(r));const s=new ar(r.get(1),r.get(3)),i=new L(r.popFirst(5));return s.isEqual(t)||ft(`Document ${i} contains a document reference within a different database (${s.projectId}/${s.database}) which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),i}}/**
2001
+ */function Gl(n){if(n.limitType==="L"&&n.explicitOrderBy.length===0)throw new O(P.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}class Yo{}class zs extends Yo{}function Kl(n,e,...t){let r=[];e instanceof Yo&&r.push(e),r=r.concat(t),function(i){const a=i.filter(l=>l instanceof Vn).length,c=i.filter(l=>l instanceof Ir).length;if(a>1||a>0&&c>0)throw new O(P.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(...)))`.")}(r);for(const s of r)n=s._apply(n);return n}class Ir extends zs{constructor(e,t,r){super(),this._field=e,this._op=t,this._value=r,this.type="where"}static _create(e,t,r){return new Ir(e,t,r)}_apply(e){const t=this._parse(e);return Zl(e._query,t),new st(e.firestore,e.converter,io(e._query,t))}_parse(e){const t=Wo(e.firestore);return function(i,a,c,l,d,f,m){let v;if(d.isKeyField()){if(f==="array-contains"||f==="array-contains-any")throw new O(P.INVALID_ARGUMENT,`Invalid Query. You can't perform '${f}' queries on documentId().`);if(f==="in"||f==="not-in"){Jl(m,f);const S=[];for(const N of m)S.push(Yl(l,i,N));v={arrayValue:{values:S}}}else v=Yl(l,i,m)}else f!=="in"&&f!=="not-in"&&f!=="array-contains-any"||Jl(m,f),v=$l(c,a,m,f==="in"||f==="not-in");return ae.create(d,f,v)}(e._query,"where",t,e.firestore._databaseId,this._field,this._op,this._value)}}function Ql(n,e,t){const r=e,s=Hs("where",n);return Ir._create(s,r,t)}class Vn extends Yo{constructor(e,t){super(),this.type=e,this._queryConstraints=t}static _create(e,t){return new Vn(e,t)}_parse(e){const t=this._queryConstraints.map(r=>r._parse(e)).filter(r=>r.getFilters().length>0);return t.length===1?t[0]:We.create(t,this._getOperator())}_apply(e){const t=this._parse(e);return t.getFilters().length===0?e:(function(s,i){let a=s;const c=i.getFlattenedFilters();for(const l of c)Zl(a,l),a=io(a,l)}(e._query,t),new st(e.firestore,e.converter,io(e._query,t)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return this.type==="and"?"and":"or"}}function Hy(...n){return n.forEach(e=>eh("or",e)),Vn._create("or",n)}function zy(...n){return n.forEach(e=>eh("and",e)),Vn._create("and",n)}class Jo extends zs{constructor(e,t){super(),this._field=e,this._direction=t,this.type="orderBy"}static _create(e,t){return new Jo(e,t)}_apply(e){const t=function(s,i,a){if(s.startAt!==null)throw new O(P.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(s.endAt!==null)throw new O(P.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new hr(i,a)}(e._query,this._field,this._direction);return new st(e.firestore,e.converter,function(s,i){const a=s.explicitOrderBy.concat([i]);return new Zt(s.path,s.collectionGroup,a,s.filters.slice(),s.limit,s.limitType,s.startAt,s.endAt)}(e._query,t))}}function Wy(n,e="asc"){const t=e,r=Hs("orderBy",n);return Jo._create(r,t)}class Zo extends zs{constructor(e,t,r){super(),this.type=e,this._limit=t,this._limitType=r}static _create(e,t,r){return new Zo(e,t,r)}_apply(e){return new st(e.firestore,e.converter,_s(e._query,this._limit,this._limitType))}}function Xl(n){return Ny("limit",n),Zo._create("limit",n,"F")}class ea extends zs{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new ea(e,t,r)}_apply(e){const t=Ky(e,this.type,this._docOrFields,this._inclusive);return new st(e.firestore,e.converter,function(s,i){return new Zt(s.path,s.collectionGroup,s.explicitOrderBy.slice(),s.filters.slice(),s.limit,s.limitType,i,s.endAt)}(e._query,t))}}function Gy(...n){return ea._create("startAfter",n,!1)}function Ky(n,e,t,r){if(t[0]=X(t[0]),t[0]instanceof Xo)return function(i,a,c,l,d){if(!l)throw new O(P.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${c}().`);const f=[];for(const m of Rn(i))if(m.field.isKeyField())f.push(ps(a,l.key));else{const v=l.data.field(m.field);if(cs(v))throw new O(P.INVALID_ARGUMENT,'Invalid query. You are trying to start or end a query using a document for which the field "'+m.field+'" is an uncommitted server timestamp. (Since the value of this field is unknown, you cannot start/end a query with it.)');if(v===null){const R=m.field.canonicalString();throw new O(P.INVALID_ARGUMENT,`Invalid query. You are trying to start or end a query using a document for which the field '${R}' (used as the orderBy) does not exist.`)}f.push(v)}return new An(f,d)}(n._query,n.firestore._databaseId,e,t[0]._document,r);{const s=Wo(n.firestore);return function(a,c,l,d,f,m){const v=a.explicitOrderBy;if(f.length>v.length)throw new O(P.INVALID_ARGUMENT,`Too many arguments provided to ${d}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);const R=[];for(let S=0;S<f.length;S++){const N=f[S];if(v[S].field.isKeyField()){if(typeof N!="string")throw new O(P.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${d}(), but got a ${typeof N}`);if(!so(a)&&N.indexOf("/")!==-1)throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${d}() must be a plain document ID, but '${N}' contains a slash.`);const k=a.path.child(ee.fromString(N));if(!L.isDocumentKey(k))throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${d}() must result in a valid document path, but '${k}' is not because it contains an odd number of segments.`);const U=new L(k);R.push(ps(c,U))}else{const k=$l(l,d,N);R.push(k)}}return new An(R,m)}(n._query,n.firestore._databaseId,s,e,t,r)}}function Yl(n,e,t){if(typeof(t=X(t))=="string"){if(t==="")throw new O(P.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!so(e)&&t.indexOf("/")!==-1)throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${t}' contains a '/' character.`);const r=e.path.child(ee.fromString(t));if(!L.isDocumentKey(r))throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${r}' is not because it has an odd number of segments (${r.length}).`);return ps(n,new L(r))}if(t instanceof Ve)return ps(n,t._key);throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${xs(t)}.`)}function Jl(n,e){if(!Array.isArray(n)||n.length===0)throw new O(P.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${e.toString()}' filters.`)}function Zl(n,e){const t=function(s,i){for(const a of s)for(const c of a.getFlattenedFilters())if(i.indexOf(c.op)>=0)return c.op;return null}(n.filters,function(s){switch(s){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[]}}(e.op));if(t!==null)throw t===e.op?new O(P.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${e.op.toString()}' filter.`):new O(P.INVALID_ARGUMENT,`Invalid query. You cannot use '${e.op.toString()}' filters with '${t.toString()}' filters.`)}function eh(n,e){if(!(e instanceof Ir||e instanceof Vn))throw new O(P.INVALID_ARGUMENT,`Function ${n}() requires AppliableConstraints created with a call to 'where(...)', 'or(...)', or 'and(...)'.`)}class Qy{convertValue(e,t="none"){switch(Ot(e)){case 0:return null;case 1:return e.booleanValue;case 2:return oe(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(Dt(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 F()}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,t="none"){const r={};return kt(e,(s,i)=>{r[s]=this.convertValue(i,t)}),r}convertVectorValue(e){var t,r,s;const i=(s=(r=(t=e.fields)===null||t===void 0?void 0:t[ds].arrayValue)===null||r===void 0?void 0:r.values)===null||s===void 0?void 0:s.map(a=>oe(a.doubleValue));return new Ho(i)}convertGeoPoint(e){return new $o(oe(e.latitude),oe(e.longitude))}convertArray(e,t){return(e.values||[]).map(r=>this.convertValue(r,t))}convertServerTimestamp(e,t){switch(t){case"previous":const r=us(e);return r==null?null:this.convertValue(r,t);case"estimate":return this.convertTimestamp(ar(e));default:return null}}convertTimestamp(e){const t=Nt(e);return new ue(t.seconds,t.nanos)}convertDocumentKey(e,t){const r=ee.fromString(e);Y(Wu(r));const s=new cr(r.get(1),r.get(3)),i=new L(r.popFirst(5));return s.isEqual(t)||ft(`Document ${i} contains a document reference within a different database (${s.projectId}/${s.database}) which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),i}}/**
2017
2002
  * @license
2018
2003
  * Copyright 2020 Google LLC
2019
2004
  *
@@ -2028,7 +2013,7 @@ This typically indicates that your device does not have a healthy Internet conne
2028
2013
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2029
2014
  * See the License for the specific language governing permissions and
2030
2015
  * limitations under the License.
2031
- */function Qy(n,e,t){let r;return r=n?t&&(t.merge||t.mergeFields)?n.toFirestore(e,t):n.toFirestore(e):e,r}function Xy(){return new Oy("count")}/**
2016
+ */function Xy(n,e,t){let r;return r=n?t&&(t.merge||t.mergeFields)?n.toFirestore(e,t):n.toFirestore(e):e,r}function Yy(){return new Vy("count")}/**
2032
2017
  * @license
2033
2018
  * Copyright 2020 Google LLC
2034
2019
  *
@@ -2043,7 +2028,7 @@ This typically indicates that your device does not have a healthy Internet conne
2043
2028
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2044
2029
  * See the License for the specific language governing permissions and
2045
2030
  * limitations under the License.
2046
- */class Ir{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}class eh extends Xo{constructor(e,t,r,s,i,a){super(e,t,r,s,a),this._firestore=e,this._firestoreImpl=e,this.metadata=i}exists(){return super.exists()}data(e={}){if(this._document){if(this._converter){const t=new Ws(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){const r=this._document.data.field(Hs("DocumentSnapshot.get",e));if(r!==null)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}}class Ws extends eh{data(e={}){return super.data(e)}}class th{constructor(e,t,r,s){this._firestore=e,this._userDataWriter=t,this._snapshot=s,this.metadata=new Ir(s.hasPendingWrites,s.fromCache),this.query=r}get docs(){const e=[];return this.forEach(t=>e.push(t)),e}get size(){return this._snapshot.docs.size}get empty(){return this.size===0}forEach(e,t){this._snapshot.docs.forEach(r=>{e.call(t,new Ws(this._firestore,this._userDataWriter,r.key,r,new Ir(this._snapshot.mutatedKeys.has(r.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){const t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new O(P.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(s,i){if(s._snapshot.oldDocs.isEmpty()){let a=0;return s._snapshot.docChanges.map(c=>{const l=new Ws(s._firestore,s._userDataWriter,c.doc.key,c.doc,new Ir(s._snapshot.mutatedKeys.has(c.doc.key),s._snapshot.fromCache),s.query.converter);return c.doc,{type:"added",doc:l,oldIndex:-1,newIndex:a++}})}{let a=s._snapshot.oldDocs;return s._snapshot.docChanges.filter(c=>i||c.type!==3).map(c=>{const l=new Ws(s._firestore,s._userDataWriter,c.doc.key,c.doc,new Ir(s._snapshot.mutatedKeys.has(c.doc.key),s._snapshot.fromCache),s.query.converter);let d=-1,f=-1;return c.type!==0&&(d=a.indexOf(c.doc.key),a=a.delete(c.doc.key)),c.type!==1&&(a=a.add(c.doc),f=a.indexOf(c.doc.key)),{type:Yy(c.type),doc:l,oldIndex:d,newIndex:f}})}}(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}}function Yy(n){switch(n){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return F()}}/**
2031
+ */class Ar{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}class th extends Xo{constructor(e,t,r,s,i,a){super(e,t,r,s,a),this._firestore=e,this._firestoreImpl=e,this.metadata=i}exists(){return super.exists()}data(e={}){if(this._document){if(this._converter){const t=new Ws(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){const r=this._document.data.field(Hs("DocumentSnapshot.get",e));if(r!==null)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}}class Ws extends th{data(e={}){return super.data(e)}}class nh{constructor(e,t,r,s){this._firestore=e,this._userDataWriter=t,this._snapshot=s,this.metadata=new Ar(s.hasPendingWrites,s.fromCache),this.query=r}get docs(){const e=[];return this.forEach(t=>e.push(t)),e}get size(){return this._snapshot.docs.size}get empty(){return this.size===0}forEach(e,t){this._snapshot.docs.forEach(r=>{e.call(t,new Ws(this._firestore,this._userDataWriter,r.key,r,new Ar(this._snapshot.mutatedKeys.has(r.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){const t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new O(P.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(s,i){if(s._snapshot.oldDocs.isEmpty()){let a=0;return s._snapshot.docChanges.map(c=>{const l=new Ws(s._firestore,s._userDataWriter,c.doc.key,c.doc,new Ar(s._snapshot.mutatedKeys.has(c.doc.key),s._snapshot.fromCache),s.query.converter);return c.doc,{type:"added",doc:l,oldIndex:-1,newIndex:a++}})}{let a=s._snapshot.oldDocs;return s._snapshot.docChanges.filter(c=>i||c.type!==3).map(c=>{const l=new Ws(s._firestore,s._userDataWriter,c.doc.key,c.doc,new Ar(s._snapshot.mutatedKeys.has(c.doc.key),s._snapshot.fromCache),s.query.converter);let d=-1,f=-1;return c.type!==0&&(d=a.indexOf(c.doc.key),a=a.delete(c.doc.key)),c.type!==1&&(a=a.add(c.doc),f=a.indexOf(c.doc.key)),{type:Jy(c.type),doc:l,oldIndex:d,newIndex:f}})}}(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}}function Jy(n){switch(n){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return F()}}/**
2047
2032
  * @license
2048
2033
  * Copyright 2020 Google LLC
2049
2034
  *
@@ -2058,7 +2043,7 @@ This typically indicates that your device does not have a healthy Internet conne
2058
2043
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2059
2044
  * See the License for the specific language governing permissions and
2060
2045
  * limitations under the License.
2061
- */function Jy(n){n=Ge(n,Ve);const e=Ge(n.firestore,Bt);return by(Dn(e),n._key).then(t=>sh(e,n,t))}class Gs extends Ky{constructor(e){super(),this.firestore=e}convertBytes(e){return new On(e)}convertReference(e){const t=this.convertDocumentKey(e,this.firestore._databaseId);return new Ve(this.firestore,null,t)}}function Zy(n){n=Ge(n,st);const e=Ge(n.firestore,Bt),t=Dn(e),r=new Gs(e);return Wl(n._query),Py(t,n._query).then(s=>new th(e,r,n,s))}function ev(n){return rh(Ge(n.firestore,Bt),[new Rs(n._key,$e.none())])}function nh(n,...e){var t,r,s;n=X(n);let i={includeMetadataChanges:!1,source:"default"},a=0;typeof e[a]!="object"||Fl(e[a])||(i=e[a],a++);const c={includeMetadataChanges:i.includeMetadataChanges,source:i.source};if(Fl(e[a])){const m=e[a];e[a]=(t=m.next)===null||t===void 0?void 0:t.bind(m),e[a+1]=(r=m.error)===null||r===void 0?void 0:r.bind(m),e[a+2]=(s=m.complete)===null||s===void 0?void 0:s.bind(m)}let l,d,f;if(n instanceof Ve)d=Ge(n.firestore,Bt),f=gs(n._key.path),l={next:m=>{e[a]&&e[a](sh(d,n,m))},error:e[a+1],complete:e[a+2]};else{const m=Ge(n,st);d=Ge(m.firestore,Bt),f=m._query;const v=new Gs(d);l={next:R=>{e[a]&&e[a](new th(d,v,m,R))},error:e[a+1],complete:e[a+2]},Wl(n._query)}return function(v,R,S,N){const k=new Fo(N),U=new Vo(R,k,S);return v.asyncQueue.enqueueAndForget(async()=>ko(await Us(v),U)),()=>{k.su(),v.asyncQueue.enqueueAndForget(async()=>No(await Us(v),U))}}(Dn(d),f,c,l)}function rh(n,e){return function(r,s){const i=new Ze;return r.asyncQueue.enqueueAndForget(async()=>fy(await Ay(r),s,i)),i.promise}(Dn(n),e)}function sh(n,e,t){const r=t.docs.get(e._key),s=new Gs(n);return new eh(n,s,e._key,r,new Ir(t.hasPendingWrites,t.fromCache),e.converter)}/**
2046
+ */function Zy(n){n=Ge(n,Ve);const e=Ge(n.firestore,Bt);return Py(Dn(e),n._key).then(t=>ih(e,n,t))}class Gs extends Qy{constructor(e){super(),this.firestore=e}convertBytes(e){return new On(e)}convertReference(e){const t=this.convertDocumentKey(e,this.firestore._databaseId);return new Ve(this.firestore,null,t)}}function ev(n){n=Ge(n,st);const e=Ge(n.firestore,Bt),t=Dn(e),r=new Gs(e);return Gl(n._query),Sy(t,n._query).then(s=>new nh(e,r,n,s))}function tv(n){return sh(Ge(n.firestore,Bt),[new Rs(n._key,$e.none())])}function rh(n,...e){var t,r,s;n=X(n);let i={includeMetadataChanges:!1,source:"default"},a=0;typeof e[a]!="object"||Bl(e[a])||(i=e[a],a++);const c={includeMetadataChanges:i.includeMetadataChanges,source:i.source};if(Bl(e[a])){const m=e[a];e[a]=(t=m.next)===null||t===void 0?void 0:t.bind(m),e[a+1]=(r=m.error)===null||r===void 0?void 0:r.bind(m),e[a+2]=(s=m.complete)===null||s===void 0?void 0:s.bind(m)}let l,d,f;if(n instanceof Ve)d=Ge(n.firestore,Bt),f=gs(n._key.path),l={next:m=>{e[a]&&e[a](ih(d,n,m))},error:e[a+1],complete:e[a+2]};else{const m=Ge(n,st);d=Ge(m.firestore,Bt),f=m._query;const v=new Gs(d);l={next:R=>{e[a]&&e[a](new nh(d,v,m,R))},error:e[a+1],complete:e[a+2]},Gl(n._query)}return function(v,R,S,N){const k=new Fo(N),U=new Vo(R,k,S);return v.asyncQueue.enqueueAndForget(async()=>ko(await Us(v),U)),()=>{k.su(),v.asyncQueue.enqueueAndForget(async()=>No(await Us(v),U))}}(Dn(d),f,c,l)}function sh(n,e){return function(r,s){const i=new Ze;return r.asyncQueue.enqueueAndForget(async()=>py(await Ry(r),s,i)),i.promise}(Dn(n),e)}function ih(n,e,t){const r=t.docs.get(e._key),s=new Gs(n);return new th(n,s,e._key,r,new Ar(t.hasPendingWrites,t.fromCache),e.converter)}/**
2062
2047
  * @license
2063
2048
  * Copyright 2022 Google LLC
2064
2049
  *
@@ -2073,7 +2058,7 @@ This typically indicates that your device does not have a healthy Internet conne
2073
2058
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2074
2059
  * See the License for the specific language governing permissions and
2075
2060
  * limitations under the License.
2076
- */function tv(n){return nv(n,{count:Xy()})}function nv(n,e){const t=Ge(n.firestore,Bt),r=Dn(t),s=Xm(e,(i,a)=>new Ng(a,i.aggregateType,i._internalFieldPath));return Sy(r,n._query,s).then(i=>function(c,l,d){const f=new Gs(c);return new Vy(l,f,d)}(t,n,i))}/**
2061
+ */function nv(n){return rv(n,{count:Yy()})}function rv(n,e){const t=Ge(n.firestore,Bt),r=Dn(t),s=Ym(e,(i,a)=>new Dg(a,i.aggregateType,i._internalFieldPath));return Cy(r,n._query,s).then(i=>function(c,l,d){const f=new Gs(c);return new Ly(l,f,d)}(t,n,i))}/**
2077
2062
  * @license
2078
2063
  * Copyright 2020 Google LLC
2079
2064
  *
@@ -2088,7 +2073,7 @@ This typically indicates that your device does not have a healthy Internet conne
2088
2073
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2089
2074
  * See the License for the specific language governing permissions and
2090
2075
  * limitations under the License.
2091
- */class rv{constructor(e,t){this._firestore=e,this._commitHandler=t,this._mutations=[],this._committed=!1,this._dataReader=Wo(e)}set(e,t,r){this._verifyNotCommitted();const s=ta(e,this._firestore),i=Qy(s.converter,t,r),a=xy(this._dataReader,"WriteBatch.set",s._key,i,s.converter!==null,r);return this._mutations.push(a.toMutation(s._key,$e.none())),this}update(e,t,r,...s){this._verifyNotCommitted();const i=ta(e,this._firestore);let a;return a=typeof(t=X(t))=="string"||t instanceof js?By(this._dataReader,"WriteBatch.update",i._key,t,r,s):Fy(this._dataReader,"WriteBatch.update",i._key,t),this._mutations.push(a.toMutation(i._key,$e.exists(!0))),this}delete(e){this._verifyNotCommitted();const t=ta(e,this._firestore);return this._mutations=this._mutations.concat(new Rs(t._key,$e.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,this._mutations.length>0?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new O(P.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}}function ta(n,e){if((n=X(n)).firestore!==e)throw new O(P.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return n}/**
2076
+ */class sv{constructor(e,t){this._firestore=e,this._commitHandler=t,this._mutations=[],this._committed=!1,this._dataReader=Wo(e)}set(e,t,r){this._verifyNotCommitted();const s=ta(e,this._firestore),i=Xy(s.converter,t,r),a=Fy(this._dataReader,"WriteBatch.set",s._key,i,s.converter!==null,r);return this._mutations.push(a.toMutation(s._key,$e.none())),this}update(e,t,r,...s){this._verifyNotCommitted();const i=ta(e,this._firestore);let a;return a=typeof(t=X(t))=="string"||t instanceof js?jy(this._dataReader,"WriteBatch.update",i._key,t,r,s):By(this._dataReader,"WriteBatch.update",i._key,t),this._mutations.push(a.toMutation(i._key,$e.exists(!0))),this}delete(e){this._verifyNotCommitted();const t=ta(e,this._firestore);return this._mutations=this._mutations.concat(new Rs(t._key,$e.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,this._mutations.length>0?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new O(P.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}}function ta(n,e){if((n=X(n)).firestore!==e)throw new O(P.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return n}/**
2092
2077
  * @license
2093
2078
  * Copyright 2020 Google LLC
2094
2079
  *
@@ -2103,13 +2088,13 @@ This typically indicates that your device does not have a healthy Internet conne
2103
2088
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2104
2089
  * See the License for the specific language governing permissions and
2105
2090
  * limitations under the License.
2106
- */function sv(n){return Dn(n=Ge(n,Bt)),new rv(n,e=>rh(n,e))}(function(e,t=!0){(function(s){gn=s})(Xt),bt(new ht("firestore",(r,{instanceIdentifier:s,options:i})=>{const a=r.getProvider("app").getImmediate(),c=new Bt(new Lm(r.getProvider("auth-internal")),new xm(a,r.getProvider("app-check-internal")),function(d,f){if(!Object.prototype.hasOwnProperty.apply(d.options,["projectId"]))throw new O(P.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new ar(d.options.projectId,f)}(a,s),a);return i=Object.assign({useFetchStreams:t},i),c._setSettings(i),c},"PUBLIC").setMultipleInstances(!0)),qe(Dc,Oc,e),qe(Dc,Oc,"esm2017")})();class ih{constructor(){this.subscribers=new Set}subscribe(e){return this.subscribers.add(e),()=>this.unsubscribe(e)}unsubscribe(e){this.subscribers.delete(e)}notify(e){this.subscribers.forEach(t=>t(e))}get subscribersCount(){return this.subscribers.size}}const ye=[];for(let n=0;n<256;++n)ye.push((n+256).toString(16).slice(1));function iv(n,e=0){return(ye[n[e+0]]+ye[n[e+1]]+ye[n[e+2]]+ye[n[e+3]]+"-"+ye[n[e+4]]+ye[n[e+5]]+"-"+ye[n[e+6]]+ye[n[e+7]]+"-"+ye[n[e+8]]+ye[n[e+9]]+"-"+ye[n[e+10]]+ye[n[e+11]]+ye[n[e+12]]+ye[n[e+13]]+ye[n[e+14]]+ye[n[e+15]]).toLowerCase()}let na;const ov=new Uint8Array(16);function av(){if(!na){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");na=crypto.getRandomValues.bind(crypto)}return na(ov)}const cv=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),oh={randomUUID:cv};function uv(n,e,t){var r;if(oh.randomUUID&&!n)return oh.randomUUID();n=n||{};const s=n.random??((r=n.rng)==null?void 0:r.call(n))??av();if(s.length<16)throw new Error("Random bytes length must be >= 16");return s[6]=s[6]&15|64,s[8]=s[8]&63|128,iv(s)}var lv=Object.defineProperty,hv=(n,e,t,r)=>{for(var s=void 0,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=a(e,t,s)||s);return s&&lv(e,t,s),s},fe;const ah=(fe=class{static registerFactory(n,e,t){this._factoryMap[n]={factory:e,annotation:t}}static classFactory(n){if(!n)throw new Error("You should provide a class name.");if(!this._factoryMap[n])throw new Error(`You should register class ${n} prior to use.`);return this._factoryMap[n].factory}static registeredClasses(){return Object.keys(this._factoryMap)}static classesExtending(n){return Object.entries(this._factoryMap).filter(([,e])=>new e.factory instanceof n).map(([e])=>e)}static annotations(n){if(n instanceof fe?n=n.className:typeof n=="string"||(n=new n().className),!this._factoryMap[n])throw new Error(`You should register class ${n} prior to use.`);return this._factoryMap[n].annotation}constructor(n=uv()){this._id=n}get className(){return this.__className}setId(n){this._id=n}get id(){return this._id}afterDeserialize(){}beforeSerialize(){}getPersistentProperties(){return this._persistentProperties?this._persistentProperties.map(n=>({...n,name:n.name.slice(1)})):[]}getPropInfo(n){const e=this.getPersistentProperties().find(t=>t.name===n);if(!e)throw new Error(`Property "${n}" has not been registered.`);return e}isRequired(n){return this.getPropInfo(n).validator!=null}isPropValueValid(n){const e=this.getPropInfo(n);return e.validator?e.validator(this[e.name],e,this):!0}clone(n){const e=n.toObject();return delete e.id,this.fromObject(e)}fromObject(n){return this.fromObj(n),this.afterDeserialize(),this}fromObj(n){return this._persistentProperties?(this._persistentProperties.forEach(e=>{const t=this.removeUnderscore(e),r=n[t];r!=null&&(this[e.name]=this.fromDeepObject(r))}),this):this}toObject(){const n={},e=this.toObj(n);return this.pushDocument(n,this.className,e),{...e,__rootCollections:n}}toObj(n){if(!this._persistentProperties)return{};this.beforeSerialize();const e={};if(!this.className)throw new Error("You should register this class prior to streaming it.");return this._persistentProperties.forEach(t=>{const r=this[t.name],s=this.removeUnderscore(t);r!=null&&(t.isReference?e[s]=this.toReferenceObj(t,n):e[s]=this.toDeepObj(r,n),t.searchableArray&&(e[fe.searchableArrayNameFor(s)]=r.map(i=>i.id)))}),e.__className=this.className,e}static searchableArrayNameFor(n){return`__${n}_searchable`}fromDeepObject(n){if(n==null)return n;if(Array.isArray(n))return n.map(e=>this.fromDeepObject(e));if(n.__documentReference){const e=n,t=fe.createInstance(e);return t.__documentReference=n.__documentReference,t}if(n.__className)return fe.createInstance(n);if(typeof n=="object"){const e={};return Object.entries(n).forEach(([t,r])=>e[t]=this.fromDeepObject(r)),e}return n}toDeepObj(n,e){if(n!=null){if(Array.isArray(n))return n.map(t=>this.toDeepObj(t,e));if(n.__documentReference)return n;if(n instanceof fe)return n.toObj(e);if(typeof n=="object"){const t={};return Object.entries(n).forEach(([r,s])=>t[r]=this.toDeepObj(s,e)),t}return n}}static collectionPath(n,e){let t;return typeof e.storeInCollection=="function"?t=e.storeInCollection(n,e):t=e.storeInCollection??n.className,t}toReferenceObj(n,e){var t;const r=this[n.name];return Array.isArray(r)?r.map(s=>{var i;return n.isPureReference||this.pushDocument(e,fe.collectionPath(s,n),s),this.buildRefObject(s,fe.collectionPath(s,n),(i=n.cachedPropsConfig)==null?void 0:i.cachedProps)}):(n.isPureReference||this.pushDocument(e,fe.collectionPath(r,n),r),this.buildRefObject(r,fe.collectionPath(r,n),(t=n.cachedPropsConfig)==null?void 0:t.cachedProps))}buildRefObject(n,e,t){const r=t==null?void 0:t.reduce((s,i)=>(n[i]!==void 0&&(s[i]=n[i]),s),{});return{id:n.id,__className:n.className||n.__className,__documentReference:{storedInCollection:e},...r}}pushDocument(n,e,t){if("__documentReference"in t&&t.__documentReference)return;n[e]||(n[e]=[]);const r=this.toDeepObj(t,n);n[e].push(r)}removeUnderscore(n){return n.name.slice(1)}static createReference(n){const e=fe.createInstance(n);return e.__documentReference=n.__documentReference||{storedInCollection:e.className},e}static createInstance(n){if(typeof n=="string")return new(fe.classFactory(n));try{return new(fe.classFactory(n.__className))().fromObject(n)}catch(e){const t=Object.entries(n).filter(([r,s])=>s!=null&&typeof s!="function").map(([r,s])=>`${r}: ${s}`).join(`,
2091
+ */function iv(n){return Dn(n=Ge(n,Bt)),new sv(n,e=>sh(n,e))}(function(e,t=!0){(function(s){gn=s})(Yt),bt(new ht("firestore",(r,{instanceIdentifier:s,options:i})=>{const a=r.getProvider("app").getImmediate(),c=new Bt(new Mm(r.getProvider("auth-internal")),new Fm(a,r.getProvider("app-check-internal")),function(d,f){if(!Object.prototype.hasOwnProperty.apply(d.options,["projectId"]))throw new O(P.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new cr(d.options.projectId,f)}(a,s),a);return i=Object.assign({useFetchStreams:t},i),c._setSettings(i),c},"PUBLIC").setMultipleInstances(!0)),qe(Oc,Vc,e),qe(Oc,Vc,"esm2017")})();class oh{constructor(){this.subscribers=new Set}subscribe(e){return this.subscribers.add(e),()=>this.unsubscribe(e)}unsubscribe(e){this.subscribers.delete(e)}notify(e){this.subscribers.forEach(t=>t(e))}get subscribersCount(){return this.subscribers.size}}const ye=[];for(let n=0;n<256;++n)ye.push((n+256).toString(16).slice(1));function ov(n,e=0){return(ye[n[e+0]]+ye[n[e+1]]+ye[n[e+2]]+ye[n[e+3]]+"-"+ye[n[e+4]]+ye[n[e+5]]+"-"+ye[n[e+6]]+ye[n[e+7]]+"-"+ye[n[e+8]]+ye[n[e+9]]+"-"+ye[n[e+10]]+ye[n[e+11]]+ye[n[e+12]]+ye[n[e+13]]+ye[n[e+14]]+ye[n[e+15]]).toLowerCase()}let na;const av=new Uint8Array(16);function cv(){if(!na){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");na=crypto.getRandomValues.bind(crypto)}return na(av)}const uv=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ah={randomUUID:uv};function lv(n,e,t){var r;if(ah.randomUUID&&!n)return ah.randomUUID();n=n||{};const s=n.random??((r=n.rng)==null?void 0:r.call(n))??cv();if(s.length<16)throw new Error("Random bytes length must be >= 16");return s[6]=s[6]&15|64,s[8]=s[8]&63|128,ov(s)}var hv=Object.defineProperty,dv=(n,e,t,r)=>{for(var s=void 0,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=a(e,t,s)||s);return s&&hv(e,t,s),s},fe;const ch=(fe=class{static registerFactory(n,e,t){this._factoryMap[n]={factory:e,annotation:t}}static classFactory(n){if(!n)throw new Error("You should provide a class name.");if(!this._factoryMap[n])throw new Error(`You should register class ${n} prior to use.`);return this._factoryMap[n].factory}static registeredClasses(){return Object.keys(this._factoryMap)}static classesExtending(n){return Object.entries(this._factoryMap).filter(([,e])=>new e.factory instanceof n).map(([e])=>e)}static annotations(n){if(n instanceof fe?n=n.className:typeof n=="string"||(n=new n().className),!this._factoryMap[n])throw new Error(`You should register class ${n} prior to use.`);return this._factoryMap[n].annotation}constructor(n=lv()){this._id=n}get className(){return this.__className}setId(n){this._id=n}get id(){return this._id}afterDeserialize(){}beforeSerialize(){}getPersistentProperties(){return this._persistentProperties?this._persistentProperties.map(n=>({...n,name:n.name.slice(1)})):[]}getPropInfo(n){const e=this.getPersistentProperties().find(t=>t.name===n);if(!e)throw new Error(`Property "${n}" has not been registered.`);return e}isRequired(n){return this.getPropInfo(n).validator!=null}isPropValueValid(n){const e=this.getPropInfo(n);return e.validator?e.validator(this[e.name],e,this):!0}clone(n){const e=n.toObject();return delete e.id,this.fromObject(e)}fromObject(n){return this.fromObj(n),this.afterDeserialize(),this}fromObj(n){return this._persistentProperties?(this._persistentProperties.forEach(e=>{const t=this.removeUnderscore(e),r=n[t];r!=null&&(this[e.name]=this.fromDeepObject(r))}),this):this}toObject(){const n={},e=this.toObj(n);return this.pushDocument(n,this.className,e),{...e,__rootCollections:n}}toObj(n){if(!this._persistentProperties)return{};this.beforeSerialize();const e={};if(!this.className)throw new Error("You should register this class prior to streaming it.");return this._persistentProperties.forEach(t=>{const r=this[t.name],s=this.removeUnderscore(t);r!=null&&(t.isReference?e[s]=this.toReferenceObj(t,n):e[s]=this.toDeepObj(r,n),t.searchableArray&&(e[fe.searchableArrayNameFor(s)]=r.map(i=>i.id)))}),e.__className=this.className,e}static searchableArrayNameFor(n){return`__${n}_searchable`}fromDeepObject(n){if(n==null)return n;if(Array.isArray(n))return n.map(e=>this.fromDeepObject(e));if(n.__documentReference){const e=n,t=fe.createInstance(e);return t.__documentReference=n.__documentReference,t}if(n.__className)return fe.createInstance(n);if(typeof n=="object"){const e={};return Object.entries(n).forEach(([t,r])=>e[t]=this.fromDeepObject(r)),e}return n}toDeepObj(n,e){if(n!=null){if(Array.isArray(n))return n.map(t=>this.toDeepObj(t,e));if(n.__documentReference)return n;if(n instanceof fe)return n.toObj(e);if(typeof n=="object"){const t={};return Object.entries(n).forEach(([r,s])=>t[r]=this.toDeepObj(s,e)),t}return n}}static collectionPath(n,e){let t;return typeof e.storeInCollection=="function"?t=e.storeInCollection(n,e):t=e.storeInCollection??n.className,t}toReferenceObj(n,e){var t;const r=this[n.name];return Array.isArray(r)?r.map(s=>{var i;return n.isPureReference||this.pushDocument(e,fe.collectionPath(s,n),s),this.buildRefObject(s,fe.collectionPath(s,n),(i=n.cachedPropsConfig)==null?void 0:i.cachedProps)}):(n.isPureReference||this.pushDocument(e,fe.collectionPath(r,n),r),this.buildRefObject(r,fe.collectionPath(r,n),(t=n.cachedPropsConfig)==null?void 0:t.cachedProps))}buildRefObject(n,e,t){const r=t==null?void 0:t.reduce((s,i)=>(n[i]!==void 0&&(s[i]=n[i]),s),{});return{id:n.id,__className:n.className||n.__className,__documentReference:{storedInCollection:e},...r}}pushDocument(n,e,t){if("__documentReference"in t&&t.__documentReference)return;n[e]||(n[e]=[]);const r=this.toDeepObj(t,n);n[e].push(r)}removeUnderscore(n){return n.name.slice(1)}static createReference(n){const e=fe.createInstance(n);return e.__documentReference=n.__documentReference||{storedInCollection:e.className},e}static createInstance(n){if(typeof n=="string")return new(fe.classFactory(n));try{return new(fe.classFactory(n.__className))().fromObject(n)}catch(e){const t=Object.entries(n).filter(([r,s])=>s!=null&&typeof s!="function").map(([r,s])=>`${r}: ${s}`).join(`,
2107
2092
  `);throw new Error(`${e}
2108
2093
  -----> Class name not found in object:
2109
2094
  {
2110
2095
  ${t}
2111
2096
  }
2112
- `)}}static propInfo(n,e){return fe.createInstance(n).getPropInfo(e)}static getSystemRegisteredReferencesWithCachedProps(){return fe.registeredClasses().reduce((n,e)=>{const t=fe.createInstance(e).getPersistentProperties().filter(r=>{var s;return(s=r.cachedPropsConfig)==null?void 0:s.cachedProps});return t.length>0&&(n[e]=t),n},{})}},fe._factoryMap={},fe);hv([Ln],ah.prototype,"_id");let pe=ah;function Ln(n,e){return dv()(n,e)}function dv(n){return function(e,t){Object.getOwnPropertyDescriptor(e,"_persistentProperties")||(e._persistentProperties?e._persistentProperties=[...e._persistentProperties]:e._persistentProperties=[]);const r=e._persistentProperties.find(s=>s.name===t);r?Object.assign(r,n):e._persistentProperties.push({name:t,...n})}}function fv(n,e){return t=>{pe.registerFactory(n,t,e),t.prototype.__className=n}}const ch=class ep{constructor(e,t,r){if(r){if(!(t instanceof pe))throw new Error(ep.error.persistentNeedForSubCollection);this.collectionName=`${t.className}/${t.id}/${r}`}else this.collectionName=t instanceof pe?t.className:t;this._stream=e}findById(e,t){return new Promise((r,s)=>{this._stream.findById(e,this.collectionName).then(i=>{i?(t?t.fromObject(i):t=pe.createInstance(i),r(t)):r(void 0)}).catch(i=>s(i))})}save(e){const t=e.toObject();return this.collectionName!==t.__className&&(t.__rootCollections[this.collectionName]=t.__rootCollections[t.__className],delete t.__rootCollections[t.__className]),new Promise((r,s)=>{this._stream.save(t.__rootCollections).then(()=>r()).catch(i=>s(i))})}delete(e){return new Promise((t,r)=>{this._stream.delete(e,this.collectionName).then(()=>t()).catch(s=>r(s))})}find(){return new pv(this)}query(e={},t){if(t){const r=t instanceof pe?t.className:t;e.operations||(e.operations=[]),e.operations.push({property:"__className",operator:"==",value:r})}return this.mapToInstance(()=>this._stream.find(this.preprocessQueryObject(e),this.collectionName))}count(e){return this._stream.count(e,this.collectionName)}next(e){return this.mapToInstance(()=>this._stream.next(e))}onDocumentChange(e,t){return this._stream.onDocumentChange(this.collectionName,e,r=>t(this.toPersistentChangeObject(r)))}onCollectionChange(e,t){return this._stream.onCollectionChange(e.getQueryObject(),this.collectionName,r=>t(this.toPersistentChangeObject(r)))}toPersistentChangeObject(e){return{...e,before:e.before&&pe.createInstance(e.before),after:e.after&&pe.createInstance(e.after)}}mapToInstance(e){return new Promise((t,r)=>{e().then(s=>t(s.map(i=>pe.createInstance(i)))).catch(s=>r(s))})}preprocessQueryObject(e){var t;if(Object.values(e).length===0)return e;const r=((t=e.operations)==null?void 0:t.map(s=>{const i=s.value[0]??s.value;return rn.isArrayOperator(s.operator)&&i instanceof pe?{property:pe.searchableArrayNameFor(s.property),operator:s.operator,value:Array.isArray(s.value)?s.value.map(a=>a.id):i.id,aggregate:s.aggregate}:{property:s.property,operator:s.operator,value:s.value instanceof pe?{id:s.value.id}:s.value,aggregate:s.aggregate}}))??[];return{...e,operations:r}}};ch.error={persistentNeedForSubCollection:"The document parameter for a sub-collection should be a Persistent instace",invalidQueryOrder:"Cannot add where calls after or calls"};let Ks=ch;class pv{constructor(e){this.queryObject={operations:[]},this.model=e}where(e,t,r,s){var i,a,c;if((a=(i=this.queryObject.operations)==null?void 0:i.at(-1))!=null&&a.aggregate&&!s)throw new Error(Ks.error.invalidQueryOrder);return(c=this.queryObject.operations)==null||c.push({property:e,operator:t,value:r,aggregate:s}),this}whereDeepProp(e,t,r,s){var i,a,c;if((a=(i=this.queryObject.operations)==null?void 0:i.at(-1))!=null&&a.aggregate&&!s)throw new Error(Ks.error.invalidQueryOrder);const l=e.split(".");let d={},f=l.length>1?d:r;return l.slice(1).forEach((m,v)=>{d[m]=v<l.length-2?{}:r,d=d[m]}),(c=this.queryObject.operations)==null||c.push({property:l[0],operator:t,value:f,aggregate:s}),this}and(e,t,r){return this.where(e,t,r)}andDeepProp(e,t,r){return this.whereDeepProp(e,t,r)}or(e,t,r){return this.where(e,t,r,!0)}orDeepProp(e,t,r){return this.whereDeepProp(e,t,r,!0)}instanceOf(e){var t;const r=e instanceof pe?e.className:e;return(t=this.queryObject.operations)==null||t.push({property:"__className",operator:"==",value:r}),this}get(e){return e&&(this.queryObject.limit=e),this.model.query(this.queryObject)}limit(e){return this.queryObject.limit=e,this}orderBy(e,t="asc"){return this.queryObject.sort={propertyName:e,order:t},this}orderByDeepProp(e,t="asc"){return this.queryObject.sort={propertyName:e,order:t},this}count(){return this.model.count(this.queryObject)}getQueryObject(){return this.queryObject}}const uh=class Xn{constructor(){}static useDataSource(e){this._dataSource=e}static get dataSource(){return Xn._dataSource}static getModel(e){if(!Xn._dataSource)throw new Error(this.error.shouldBeRegistered);return new Ks(Xn._dataSource,e)}static getModelForSubCollection(e,t){if(!Xn._dataSource)throw new Error(this.error.shouldBeRegistered);return new Ks(Xn._dataSource,e,t)}static async populate(e){if(!e)return;const t=async r=>{const s=r;if(!s.__documentReference)return r;const i=await this.getModel(s.__documentReference.storedInCollection).findById(s.id,r);return i&&(i.__documentReference=void 0),i};return Array.isArray(e)?(await Promise.all(e.map(r=>t(r)))).filter(r=>r):t(e)}static isPopulated(e){return Array.isArray(e)?e.reduce((t,r)=>t&&r.__documentReference===void 0,!0):e.__documentReference===void 0}};uh.error={shouldBeRegistered:"You should register a data source before using the data Store."};let mv=uh;class rn{installCachedPropsUpdaters(e={}){rn.onUpdate=e.onUpdate;const t=pe.getSystemRegisteredReferencesWithCachedProps(),r={};Object.entries(t).forEach(([i,a])=>{a.forEach(c=>{const l=pe.collectionPath(pe.createInstance(i),c);r[l]||(r[l]=[]),r[l].push({prop:c,collectionPropOwner:i})})});const s=[];return Object.entries(r).forEach(([i,a])=>{const c=this.subscribeToDocumentChangeListerner(i,l=>rn.onDocumentChange(l,a));if(c)s.push(c);else if(e.noThrowOnNonImplementedListener)throw new Error("The method documentChangeListerner has not been implemented in the concrete data source")}),s}subscribeToDocumentChangeListerner(e,t){}static toPropertyPathOperations(e){return e?e.map(t=>{if(rn.isArrayOperator(t.operator)&&t.value[0]instanceof pe)return{property:pe.searchableArrayNameFor(t.property),operator:t.operator,value:t.value.map(i=>i.id),aggregate:t.aggregate};const[r,s]=this.toPropertyPathValue(t.value);return{property:`${String(t.property)}${r?"."+r:""}`,operator:t.operator,value:s,aggregate:t.aggregate}}):[]}static isArrayOperator(e){return e==="containsAny"||e==="contains"}static toPropertyPathValue(e){if(typeof e=="object"&&!Array.isArray(e)){const t=Object.keys(e)[0],[r,s]=this.toPropertyPathValue(e[t]);return[`${t}${r?"."+r:""}`,s]}else return[void 0,e]}static async onDocumentChange(e,t){if(e.before)return t.map(async r=>{var s,i;const a=mv.getModel(r.collectionPropOwner);let c=a.find();(i=(s=r.prop.cachedPropsConfig)==null?void 0:s.cachedProps)==null||i.forEach(d=>{var f,m;const v=(f=e.before)==null?void 0:f[d],R=(m=e.after)==null?void 0:m[d];v!==R&&(c=c.orDeepProp(`${r.prop.name}.${d}`,"==",v))});const l=await c.get();return Promise.all([l.map(async d=>{var f,m;(m=(f=r.prop.cachedPropsConfig)==null?void 0:f.cachedProps)==null||m.forEach(async v=>{var R,S,N;const k=(R=e.before)==null?void 0:R[v],U=(S=e.after)==null?void 0:S[v];k!==U&&(d[`_${r.prop.name}`][`_${v}`]=U,await a.save(d),(N=this.onUpdate)==null||N.call(this,d,r.prop))})})])})}}const lh=class Yn{static registerCloudStorage(e,t){Yn._cloudStorageFactoryMap[e]=t}static createInstance(e){const t=Yn._cloudStorageFactoryMap[e];if(!t)throw new Error(`You should register the ${e} cloud storage provider prior to use it`);return t()}get className(){return this.__className}static useCloudStorage(e){Yn._defaultCloudStorage=e}static get defaultCloudStorage(){if(!Yn._defaultCloudStorage)throw new Error("You should define a default cloud storage provider prior to use it");return Yn._defaultCloudStorage}};lh._cloudStorageFactoryMap={};let Mn=lh;function hh(n,e){return Mn.registerCloudStorage(n,e),t=>{t.prototype.__className=n}}var gv=(n,e,t,r)=>{for(var s=e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=a(s)||s);return s};let ra=class extends Mn{constructor(n=""){super(),this._simulateDelay=0,this._pendingPromises=[],this.mockFileSystem={},this._pathToMockFiles=n}simulateDelay(n){return this._simulateDelay=n,this}resolveWithDelay(n){if(this._simulateDelay<=0)return Promise.resolve(n);const e=new Promise(t=>{setTimeout(()=>t(n),this._simulateDelay)});return this._pendingPromises.push(e),e.finally(()=>this._pendingPromises=this._pendingPromises.filter(t=>t===e)),e}save(n,e){const t=n;this._onProgress&&this._onProgress(0,100),this.mockFileSystem[n]=JSON.stringify(e),this._onProgress&&this._onProgress(100,100);const r=e instanceof File?e.name:t;return this.resolveWithDelay(r)}uploadControl(){return{resume:()=>{},pause:()=>{},cancel:()=>{},onProgress:n=>this._onProgress=n}}getUrl(n){return Promise.resolve(this._pathToMockFiles+n)}delete(n){return delete this.mockFileSystem[n],this.resolveWithDelay()}};ra=gv([hh("MockCloudStorage",()=>new ra)],ra);var _v=Object.defineProperty,yv=Object.getOwnPropertyDescriptor,Un=(n,e,t,r)=>{for(var s=r>1?void 0:r?yv(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(r?a(e,t,s):a(s))||s);return r&&s&&_v(e,t,s),s};let sn=class extends pe{constructor(){super(...arguments),this._onChange=new ih}async save({data:n,fileName:e,progress:t,cloudStorageProvider:r}={}){const s=n||this._pendingData;s&&(this._reference&&await this.delete(),this.provider=r||Mn.defaultCloudStorage,this._originalFileName=e||(s instanceof File?s.name:void 0),this._reference=await this.provider.save(this.id,s,t),this._url=await this.provider.getUrl(this._reference),this._pendingData=void 0,this._onChange.notify({event:0,storedFile:this}))}uploadControl(){return this.provider.uploadControl()}async delete(){if(!this._reference)throw new Error("Cannot delete a not stored file");await this.provider.delete(this._reference),this._reference=void 0,this._url=void 0,this._onChange.notify({event:2,storedFile:this})}set provider(n){this._provider=n,this._cloudStorageProviderName=n.className}get provider(){if(!this._provider)try{this._provider=Mn.createInstance(this._cloudStorageProviderName)}catch{this._provider=Mn.defaultCloudStorage}return this._provider}get url(){return this._url}get mimeType(){return this._mimeType}setDataToStore(n){return this._pendingData=n,this._originalFileName=n instanceof File?n.name:void 0,this._mimeType=n instanceof Blob?n.type:void 0,this._onChange.notify({event:1,pendingData:n,storedFile:this}),this}get originalFileName(){return this._originalFileName}onChange(n){return this._onChange.subscribe(n)}};Un([Ln],sn.prototype,"_reference",2),Un([Ln],sn.prototype,"_url",2),Un([Ln],sn.prototype,"_cloudStorageProviderName",2),Un([Ln],sn.prototype,"_originalFileName",2),Un([Ln],sn.prototype,"_mimeType",2),sn=Un([fv("StoredFile")],sn);class dh{}const fh=class Ue extends dh{constructor(){if(super(),this._onAuthStateChange=new ih,!Ue._authService)throw new Error(Ue.error.shouldBeRegistered);Ue._authService.onAuthStateChange(e=>this.authStateChanged(e))}static useAuthService(e){Ue._authService!=e&&(Ue._authService=e,this._instance=void 0)}static get instance(){return this._instance||(this._instance=new this)}signUp(e){return Ue._authService.signUp(e)}login(e){return Ue._authService.login(e)}logout(){return Ue._authService.logout()}resetEmailPassword(e){return Ue._authService.resetEmailPassword(e)}resendVerificationEmail(e,t,r){return Ue._authService.resendVerificationEmail(e,t,r)}refreshToken(){return Ue._authService.refreshToken()}onAuthStateChange(e){return this._onAuthStateChange.subscribe(e)}removeAuthStateChange(e){this._onAuthStateChange.unsubscribe(e)}linkAdditionalProvider(e){return Ue._authService.linkAdditionalProvider(e)}unlinkProvider(e){return Ue._authService.unlinkProvider(e)}authStateChanged(e){this._onAuthStateChange.notify(e)}};fh.error={shouldBeRegistered:"You should register an auth service before using Auth."},fh._instance=void 0;function Qs(n){return n?n.replace(/([-_ ][\w])/g,e=>e.toUpperCase().replace("-","").replace("_","").replace(" ","")):""}var vv="firebase",Ev="11.3.1";/**
2097
+ `)}}static propInfo(n,e){return fe.createInstance(n).getPropInfo(e)}static getSystemRegisteredReferencesWithCachedProps(){return fe.registeredClasses().reduce((n,e)=>{const t=fe.createInstance(e).getPersistentProperties().filter(r=>{var s;return(s=r.cachedPropsConfig)==null?void 0:s.cachedProps});return t.length>0&&(n[e]=t),n},{})}},fe._factoryMap={},fe);dv([Ln],ch.prototype,"_id");let pe=ch;function Ln(n,e){return fv()(n,e)}function fv(n){return function(e,t){Object.getOwnPropertyDescriptor(e,"_persistentProperties")||(e._persistentProperties?e._persistentProperties=[...e._persistentProperties]:e._persistentProperties=[]);const r=e._persistentProperties.find(s=>s.name===t);r?Object.assign(r,n):e._persistentProperties.push({name:t,...n})}}function pv(n,e){return t=>{pe.registerFactory(n,t,e),t.prototype.__className=n}}const uh=class tp{constructor(e,t,r){if(r){if(!(t instanceof pe))throw new Error(tp.error.persistentNeedForSubCollection);this.collectionName=`${t.className}/${t.id}/${r}`}else this.collectionName=t instanceof pe?t.className:t;this._stream=e}findById(e,t){return new Promise((r,s)=>{this._stream.findById(e,this.collectionName).then(i=>{i?(t?t.fromObject(i):t=pe.createInstance(i),r(t)):r(void 0)}).catch(i=>s(i))})}save(e){const t=e.toObject();return this.collectionName!==t.__className&&(t.__rootCollections[this.collectionName]=t.__rootCollections[t.__className],delete t.__rootCollections[t.__className]),new Promise((r,s)=>{this._stream.save(t.__rootCollections).then(()=>r()).catch(i=>s(i))})}delete(e){return new Promise((t,r)=>{this._stream.delete(e,this.collectionName).then(()=>t()).catch(s=>r(s))})}find(){return new mv(this)}query(e={},t){if(t){const r=t instanceof pe?t.className:t;e.operations||(e.operations=[]),e.operations.push({property:"__className",operator:"==",value:r})}return this.mapToInstance(()=>this._stream.find(this.preprocessQueryObject(e),this.collectionName))}count(e){return this._stream.count(e,this.collectionName)}next(e){return this.mapToInstance(()=>this._stream.next(e))}onDocumentChange(e,t){return this._stream.onDocumentChange(this.collectionName,e,r=>t(this.toPersistentChangeObject(r)))}onCollectionChange(e,t){return this._stream.onCollectionChange(e.getQueryObject(),this.collectionName,r=>t(this.toPersistentChangeObject(r)))}toPersistentChangeObject(e){return{...e,before:e.before&&pe.createInstance(e.before),after:e.after&&pe.createInstance(e.after)}}mapToInstance(e){return new Promise((t,r)=>{e().then(s=>t(s.map(i=>pe.createInstance(i)))).catch(s=>r(s))})}preprocessQueryObject(e){var t;if(Object.values(e).length===0)return e;const r=((t=e.operations)==null?void 0:t.map(s=>{const i=s.value[0]??s.value;return sn.isArrayOperator(s.operator)&&i instanceof pe?{property:pe.searchableArrayNameFor(s.property),operator:s.operator,value:Array.isArray(s.value)?s.value.map(a=>a.id):i.id,aggregate:s.aggregate}:{property:s.property,operator:s.operator,value:s.value instanceof pe?{id:s.value.id}:s.value,aggregate:s.aggregate}}))??[];return{...e,operations:r}}};uh.error={persistentNeedForSubCollection:"The document parameter for a sub-collection should be a Persistent instace",invalidQueryOrder:"Cannot add where calls after or calls"};let Ks=uh;class mv{constructor(e){this.queryObject={operations:[]},this.model=e}where(e,t,r,s){var i,a,c;if((a=(i=this.queryObject.operations)==null?void 0:i.at(-1))!=null&&a.aggregate&&!s)throw new Error(Ks.error.invalidQueryOrder);return(c=this.queryObject.operations)==null||c.push({property:e,operator:t,value:r,aggregate:s}),this}whereDeepProp(e,t,r,s){var i,a,c;if((a=(i=this.queryObject.operations)==null?void 0:i.at(-1))!=null&&a.aggregate&&!s)throw new Error(Ks.error.invalidQueryOrder);const l=e.split(".");let d={},f=l.length>1?d:r;return l.slice(1).forEach((m,v)=>{d[m]=v<l.length-2?{}:r,d=d[m]}),(c=this.queryObject.operations)==null||c.push({property:l[0],operator:t,value:f,aggregate:s}),this}and(e,t,r){return this.where(e,t,r)}andDeepProp(e,t,r){return this.whereDeepProp(e,t,r)}or(e,t,r){return this.where(e,t,r,!0)}orDeepProp(e,t,r){return this.whereDeepProp(e,t,r,!0)}instanceOf(e){var t;const r=e instanceof pe?e.className:e;return(t=this.queryObject.operations)==null||t.push({property:"__className",operator:"==",value:r}),this}get(e){return e&&(this.queryObject.limit=e),this.model.query(this.queryObject)}limit(e){return this.queryObject.limit=e,this}orderBy(e,t="asc"){return this.queryObject.sort={propertyName:e,order:t},this}orderByDeepProp(e,t="asc"){return this.queryObject.sort={propertyName:e,order:t},this}count(){return this.model.count(this.queryObject)}getQueryObject(){return this.queryObject}}const lh=class Xn{constructor(){}static useDataSource(e){this._dataSource=e}static get dataSource(){return Xn._dataSource}static getModel(e){if(!Xn._dataSource)throw new Error(this.error.shouldBeRegistered);return new Ks(Xn._dataSource,e)}static getModelForSubCollection(e,t){if(!Xn._dataSource)throw new Error(this.error.shouldBeRegistered);return new Ks(Xn._dataSource,e,t)}static async populate(e){if(!e)return;const t=async r=>{const s=r;if(!s.__documentReference)return r;const i=await this.getModel(s.__documentReference.storedInCollection).findById(s.id,r);return i&&(i.__documentReference=void 0),i};return Array.isArray(e)?(await Promise.all(e.map(r=>t(r)))).filter(r=>r):t(e)}static isPopulated(e){return Array.isArray(e)?e.reduce((t,r)=>t&&r.__documentReference===void 0,!0):e.__documentReference===void 0}};lh.error={shouldBeRegistered:"You should register a data source before using the data Store."};let gv=lh;class sn{installCachedPropsUpdaters(e={}){sn.onUpdate=e.onUpdate;const t=pe.getSystemRegisteredReferencesWithCachedProps(),r={};Object.entries(t).forEach(([i,a])=>{a.forEach(c=>{const l=pe.collectionPath(pe.createInstance(i),c);r[l]||(r[l]=[]),r[l].push({prop:c,collectionPropOwner:i})})});const s=[];return Object.entries(r).forEach(([i,a])=>{const c=this.subscribeToDocumentChangeListerner(i,l=>sn.processDocumentChange(l,a));if(c)s.push(c);else if(e.noThrowOnNonImplementedListener)throw new Error("The method documentChangeListerner has not been implemented in the concrete data source")}),s}subscribeToDocumentChangeListerner(e,t){}static toPropertyPathOperations(e){return e?e.map(t=>{if(sn.isArrayOperator(t.operator)&&t.value[0]instanceof pe)return{property:pe.searchableArrayNameFor(t.property),operator:t.operator,value:t.value.map(i=>i.id),aggregate:t.aggregate};const[r,s]=this.toPropertyPathValue(t.value);return{property:`${String(t.property)}${r?"."+r:""}`,operator:t.operator,value:s,aggregate:t.aggregate}}):[]}static isArrayOperator(e){return e==="containsAny"||e==="contains"}static toPropertyPathValue(e){if(typeof e=="object"&&!Array.isArray(e)){const t=Object.keys(e)[0],[r,s]=this.toPropertyPathValue(e[t]);return[`${t}${r?"."+r:""}`,s]}else return[void 0,e]}static async processDocumentChange(e,t){if(e.before)return t.map(async r=>{var s,i;const a=gv.getModel(r.collectionPropOwner);let c=a.find();(i=(s=r.prop.cachedPropsConfig)==null?void 0:s.cachedProps)==null||i.forEach(d=>{var f,m;const v=(f=e.before)==null?void 0:f[d],R=(m=e.after)==null?void 0:m[d];v!==R&&(c=c.orDeepProp(`${r.prop.name}.${d}`,"==",v))});const l=await c.get();return Promise.all([l.map(async d=>{var f,m;(m=(f=r.prop.cachedPropsConfig)==null?void 0:f.cachedProps)==null||m.forEach(async v=>{var R,S,N;const k=(R=e.before)==null?void 0:R[v],U=(S=e.after)==null?void 0:S[v];k!==U&&(d[`_${r.prop.name}`][`_${v}`]=U,await a.save(d),(N=this.onUpdate)==null||N.call(this,d,r.prop))})})])})}}const hh=class Yn{static registerCloudStorage(e,t){Yn._cloudStorageFactoryMap[e]=t}static createInstance(e){const t=Yn._cloudStorageFactoryMap[e];if(!t)throw new Error(`You should register the ${e} cloud storage provider prior to use it`);return t()}get className(){return this.__className}static useCloudStorage(e){Yn._defaultCloudStorage=e}static get defaultCloudStorage(){if(!Yn._defaultCloudStorage)throw new Error("You should define a default cloud storage provider prior to use it");return Yn._defaultCloudStorage}};hh._cloudStorageFactoryMap={};let Mn=hh;function dh(n,e){return Mn.registerCloudStorage(n,e),t=>{t.prototype.__className=n}}var _v=(n,e,t,r)=>{for(var s=e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=a(s)||s);return s};let ra=class extends Mn{constructor(n=""){super(),this._simulateDelay=0,this._pendingPromises=[],this.mockFileSystem={},this._pathToMockFiles=n}simulateDelay(n){return this._simulateDelay=n,this}resolveWithDelay(n){if(this._simulateDelay<=0)return Promise.resolve(n);const e=new Promise(t=>{setTimeout(()=>t(n),this._simulateDelay)});return this._pendingPromises.push(e),e.finally(()=>this._pendingPromises=this._pendingPromises.filter(t=>t===e)),e}save(n,e){const t=n;this._onProgress&&this._onProgress(0,100),this.mockFileSystem[n]=JSON.stringify(e),this._onProgress&&this._onProgress(100,100);const r=e instanceof File?e.name:t;return this.resolveWithDelay(r)}uploadControl(){return{resume:()=>{},pause:()=>{},cancel:()=>{},onProgress:n=>this._onProgress=n}}getUrl(n){return Promise.resolve(this._pathToMockFiles+n)}delete(n){return delete this.mockFileSystem[n],this.resolveWithDelay()}};ra=_v([dh("MockCloudStorage",()=>new ra)],ra);var yv=Object.defineProperty,vv=Object.getOwnPropertyDescriptor,Un=(n,e,t,r)=>{for(var s=r>1?void 0:r?vv(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(r?a(e,t,s):a(s))||s);return r&&s&&yv(e,t,s),s};let on=class extends pe{constructor(){super(...arguments),this._onChange=new oh}async save({data:n,fileName:e,progress:t,cloudStorageProvider:r}={}){const s=n||this._pendingData;s&&(this._reference&&await this.delete(),this.provider=r||Mn.defaultCloudStorage,this._originalFileName=e||(s instanceof File?s.name:void 0),this._reference=await this.provider.save(this.id,s,t),this._url=await this.provider.getUrl(this._reference),this._pendingData=void 0,this._onChange.notify({event:0,storedFile:this}))}uploadControl(){return this.provider.uploadControl()}async delete(){if(!this._reference)throw new Error("Cannot delete a not stored file");await this.provider.delete(this._reference),this._reference=void 0,this._url=void 0,this._onChange.notify({event:2,storedFile:this})}set provider(n){this._provider=n,this._cloudStorageProviderName=n.className}get provider(){if(!this._provider)try{this._provider=Mn.createInstance(this._cloudStorageProviderName)}catch{this._provider=Mn.defaultCloudStorage}return this._provider}get url(){return this._url}get mimeType(){return this._mimeType}setDataToStore(n){return this._pendingData=n,this._originalFileName=n instanceof File?n.name:void 0,this._mimeType=n instanceof Blob?n.type:void 0,this._onChange.notify({event:1,pendingData:n,storedFile:this}),this}get originalFileName(){return this._originalFileName}onChange(n){return this._onChange.subscribe(n)}};Un([Ln],on.prototype,"_reference",2),Un([Ln],on.prototype,"_url",2),Un([Ln],on.prototype,"_cloudStorageProviderName",2),Un([Ln],on.prototype,"_originalFileName",2),Un([Ln],on.prototype,"_mimeType",2),on=Un([pv("StoredFile")],on);class fh{}const ph=class Ue extends fh{constructor(){if(super(),this._onAuthStateChange=new oh,!Ue._authService)throw new Error(Ue.error.shouldBeRegistered);Ue._authService.onAuthStateChange(e=>this.authStateChanged(e))}static useAuthService(e){Ue._authService!=e&&(Ue._authService=e,this._instance=void 0)}static get instance(){return this._instance||(this._instance=new this)}signUp(e){return Ue._authService.signUp(e)}login(e){return Ue._authService.login(e)}logout(){return Ue._authService.logout()}resetEmailPassword(e){return Ue._authService.resetEmailPassword(e)}resendVerificationEmail(e,t,r){return Ue._authService.resendVerificationEmail(e,t,r)}refreshToken(){return Ue._authService.refreshToken()}onAuthStateChange(e){return this._onAuthStateChange.subscribe(e)}removeAuthStateChange(e){this._onAuthStateChange.unsubscribe(e)}linkAdditionalProvider(e){return Ue._authService.linkAdditionalProvider(e)}unlinkProvider(e){return Ue._authService.unlinkProvider(e)}authStateChanged(e){this._onAuthStateChange.notify(e)}};ph.error={shouldBeRegistered:"You should register an auth service before using Auth."},ph._instance=void 0;function Qs(n){return n?n.replace(/([-_ ][\w])/g,e=>e.toUpperCase().replace("-","").replace("_","").replace(" ","")):""}var Ev="firebase",Tv="11.4.0";/**
2113
2098
  * @license
2114
2099
  * Copyright 2020 Google LLC
2115
2100
  *
@@ -2124,7 +2109,7 @@ This typically indicates that your device does not have a healthy Internet conne
2124
2109
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2125
2110
  * See the License for the specific language governing permissions and
2126
2111
  * limitations under the License.
2127
- */qe(vv,Ev,"app");function sa(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(n);s<r.length;s++)e.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(n,r[s])&&(t[r[s]]=n[r[s]]);return t}typeof SuppressedError=="function"&&SuppressedError;function ph(){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."}}const Tv=ph,mh=new Jn("auth","Firebase",ph());/**
2112
+ */qe(Ev,Tv,"app");function sa(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(n);s<r.length;s++)e.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(n,r[s])&&(t[r[s]]=n[r[s]]);return t}typeof SuppressedError=="function"&&SuppressedError;function mh(){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."}}const wv=mh,gh=new Zn("auth","Firebase",mh());/**
2128
2113
  * @license
2129
2114
  * Copyright 2020 Google LLC
2130
2115
  *
@@ -2139,7 +2124,7 @@ This typically indicates that your device does not have a healthy Internet conne
2139
2124
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2140
2125
  * See the License for the specific language governing permissions and
2141
2126
  * limitations under the License.
2142
- */const Xs=new Ui("@firebase/auth");function wv(n,...e){Xs.logLevel<=z.WARN&&Xs.warn(`Auth (${Xt}): ${n}`,...e)}function Ys(n,...e){Xs.logLevel<=z.ERROR&&Xs.error(`Auth (${Xt}): ${n}`,...e)}/**
2127
+ */const Xs=new Ui("@firebase/auth");function Iv(n,...e){Xs.logLevel<=z.WARN&&Xs.warn(`Auth (${Yt}): ${n}`,...e)}function Ys(n,...e){Xs.logLevel<=z.ERROR&&Xs.error(`Auth (${Yt}): ${n}`,...e)}/**
2143
2128
  * @license
2144
2129
  * Copyright 2020 Google LLC
2145
2130
  *
@@ -2154,7 +2139,7 @@ This typically indicates that your device does not have a healthy Internet conne
2154
2139
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2155
2140
  * See the License for the specific language governing permissions and
2156
2141
  * limitations under the License.
2157
- */function He(n,...e){throw oa(n,...e)}function Ke(n,...e){return oa(n,...e)}function ia(n,e,t){const r=Object.assign(Object.assign({},Tv()),{[e]:t});return new Jn("auth","Firebase",r).create(e,{appName:n.name})}function it(n){return ia(n,"operation-not-supported-in-this-environment","Operations that alter the current user are not supported in conjunction with FirebaseServerApp")}function gh(n,e,t){const r=t;if(!(e instanceof r))throw r.name!==e.constructor.name&&He(n,"argument-error"),ia(n,"argument-error",`Type of ${e.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`)}function oa(n,...e){if(typeof n!="string"){const t=e[0],r=[...e.slice(1)];return r[0]&&(r[0].appName=n.name),n._errorFactory.create(t,...r)}return mh.create(n,...e)}function M(n,e,...t){if(!n)throw oa(e,...t)}function mt(n){const e="INTERNAL ASSERTION FAILED: "+n;throw Ys(e),new Error(e)}function gt(n,e){n||mt(e)}/**
2142
+ */function He(n,...e){throw oa(n,...e)}function Ke(n,...e){return oa(n,...e)}function ia(n,e,t){const r=Object.assign(Object.assign({},wv()),{[e]:t});return new Zn("auth","Firebase",r).create(e,{appName:n.name})}function it(n){return ia(n,"operation-not-supported-in-this-environment","Operations that alter the current user are not supported in conjunction with FirebaseServerApp")}function _h(n,e,t){const r=t;if(!(e instanceof r))throw r.name!==e.constructor.name&&He(n,"argument-error"),ia(n,"argument-error",`Type of ${e.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`)}function oa(n,...e){if(typeof n!="string"){const t=e[0],r=[...e.slice(1)];return r[0]&&(r[0].appName=n.name),n._errorFactory.create(t,...r)}return gh.create(n,...e)}function M(n,e,...t){if(!n)throw oa(e,...t)}function mt(n){const e="INTERNAL ASSERTION FAILED: "+n;throw Ys(e),new Error(e)}function gt(n,e){n||mt(e)}/**
2158
2143
  * @license
2159
2144
  * Copyright 2020 Google LLC
2160
2145
  *
@@ -2169,7 +2154,7 @@ This typically indicates that your device does not have a healthy Internet conne
2169
2154
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2170
2155
  * See the License for the specific language governing permissions and
2171
2156
  * limitations under the License.
2172
- */function aa(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.href)||""}function Iv(){return _h()==="http:"||_h()==="https:"}function _h(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.protocol)||null}/**
2157
+ */function aa(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.href)||""}function Av(){return yh()==="http:"||yh()==="https:"}function yh(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.protocol)||null}/**
2173
2158
  * @license
2174
2159
  * Copyright 2020 Google LLC
2175
2160
  *
@@ -2184,7 +2169,7 @@ This typically indicates that your device does not have a healthy Internet conne
2184
2169
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2185
2170
  * See the License for the specific language governing permissions and
2186
2171
  * limitations under the License.
2187
- */function Av(){return typeof navigator<"u"&&navigator&&"onLine"in navigator&&typeof navigator.onLine=="boolean"&&(Iv()||dp()||"connection"in navigator)?navigator.onLine:!0}function Rv(){if(typeof navigator>"u")return null;const n=navigator;return n.languages&&n.languages[0]||n.language||null}/**
2172
+ */function Rv(){return typeof navigator<"u"&&navigator&&"onLine"in navigator&&typeof navigator.onLine=="boolean"&&(Av()||fp()||"connection"in navigator)?navigator.onLine:!0}function bv(){if(typeof navigator>"u")return null;const n=navigator;return n.languages&&n.languages[0]||n.language||null}/**
2188
2173
  * @license
2189
2174
  * Copyright 2020 Google LLC
2190
2175
  *
@@ -2199,7 +2184,7 @@ This typically indicates that your device does not have a healthy Internet conne
2199
2184
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2200
2185
  * See the License for the specific language governing permissions and
2201
2186
  * limitations under the License.
2202
- */class Ar{constructor(e,t){this.shortDelay=e,this.longDelay=t,gt(t>e,"Short delay should be less than long delay!"),this.isMobile=up()||fp()}get(){return Av()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}/**
2187
+ */class Rr{constructor(e,t){this.shortDelay=e,this.longDelay=t,gt(t>e,"Short delay should be less than long delay!"),this.isMobile=lp()||pp()}get(){return Rv()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}/**
2203
2188
  * @license
2204
2189
  * Copyright 2020 Google LLC
2205
2190
  *
@@ -2229,7 +2214,7 @@ This typically indicates that your device does not have a healthy Internet conne
2229
2214
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2230
2215
  * See the License for the specific language governing permissions and
2231
2216
  * limitations under the License.
2232
- */class yh{static initialize(e,t,r){this.fetchImpl=e,t&&(this.headersImpl=t),r&&(this.responseImpl=r)}static fetch(){if(this.fetchImpl)return this.fetchImpl;if(typeof self<"u"&&"fetch"in self)return self.fetch;if(typeof globalThis<"u"&&globalThis.fetch)return globalThis.fetch;if(typeof fetch<"u")return fetch;mt("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static headers(){if(this.headersImpl)return this.headersImpl;if(typeof self<"u"&&"Headers"in self)return self.Headers;if(typeof globalThis<"u"&&globalThis.Headers)return globalThis.Headers;if(typeof Headers<"u")return Headers;mt("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){if(this.responseImpl)return this.responseImpl;if(typeof self<"u"&&"Response"in self)return self.Response;if(typeof globalThis<"u"&&globalThis.Response)return globalThis.Response;if(typeof Response<"u")return Response;mt("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}/**
2217
+ */class vh{static initialize(e,t,r){this.fetchImpl=e,t&&(this.headersImpl=t),r&&(this.responseImpl=r)}static fetch(){if(this.fetchImpl)return this.fetchImpl;if(typeof self<"u"&&"fetch"in self)return self.fetch;if(typeof globalThis<"u"&&globalThis.fetch)return globalThis.fetch;if(typeof fetch<"u")return fetch;mt("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static headers(){if(this.headersImpl)return this.headersImpl;if(typeof self<"u"&&"Headers"in self)return self.Headers;if(typeof globalThis<"u"&&globalThis.Headers)return globalThis.Headers;if(typeof Headers<"u")return Headers;mt("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){if(this.responseImpl)return this.responseImpl;if(typeof self<"u"&&"Response"in self)return self.Response;if(typeof globalThis<"u"&&globalThis.Response)return globalThis.Response;if(typeof Response<"u")return Response;mt("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}/**
2233
2218
  * @license
2234
2219
  * Copyright 2020 Google LLC
2235
2220
  *
@@ -2244,7 +2229,7 @@ This typically indicates that your device does not have a healthy Internet conne
2244
2229
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2245
2230
  * See the License for the specific language governing permissions and
2246
2231
  * limitations under the License.
2247
- */const bv={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-recaptcha-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"};/**
2232
+ */const Pv={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-recaptcha-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"};/**
2248
2233
  * @license
2249
2234
  * Copyright 2020 Google LLC
2250
2235
  *
@@ -2259,7 +2244,7 @@ This typically indicates that your device does not have a healthy Internet conne
2259
2244
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2260
2245
  * See the License for the specific language governing permissions and
2261
2246
  * limitations under the License.
2262
- */const Pv=new Ar(3e4,6e4);function _t(n,e){return n.tenantId&&!e.tenantId?Object.assign(Object.assign({},e),{tenantId:n.tenantId}):e}async function Qe(n,e,t,r,s={}){return vh(n,s,async()=>{let i={},a={};r&&(e==="GET"?a=r:i={body:JSON.stringify(r)});const c=Zn(Object.assign({key:n.config.apiKey},a)).slice(1),l=await n._getAdditionalHeaders();l["Content-Type"]="application/json",n.languageCode&&(l["X-Firebase-Locale"]=n.languageCode);const d=Object.assign({method:e,headers:l},i);return hp()||(d.referrerPolicy="no-referrer"),yh.fetch()(Eh(n,n.config.apiHost,t,c),d)})}async function vh(n,e,t){n._canInitEmulator=!1;const r=Object.assign(Object.assign({},bv),e);try{const s=new Cv(n),i=await Promise.race([t(),s.promise]);s.clearNetworkTimeout();const a=await i.json();if("needConfirmation"in a)throw Js(n,"account-exists-with-different-credential",a);if(i.ok&&!("errorMessage"in a))return a;{const c=i.ok?a.errorMessage:a.error.message,[l,d]=c.split(" : ");if(l==="FEDERATED_USER_ID_ALREADY_LINKED")throw Js(n,"credential-already-in-use",a);if(l==="EMAIL_EXISTS")throw Js(n,"email-already-in-use",a);if(l==="USER_DISABLED")throw Js(n,"user-disabled",a);const f=r[l]||l.toLowerCase().replace(/[_\s]+/g,"-");if(d)throw ia(n,f,d);He(n,f)}}catch(s){if(s instanceof ze)throw s;He(n,"network-request-failed",{message:String(s)})}}async function Rr(n,e,t,r,s={}){const i=await Qe(n,e,t,r,s);return"mfaPendingCredential"in i&&He(n,"multi-factor-auth-required",{_serverResponse:i}),i}function Eh(n,e,t,r){const s=`${e}${t}?${r}`;return n.config.emulator?ca(n.config,s):`${n.config.apiScheme}://${s}`}function Sv(n){switch(n){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}}class Cv{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((t,r)=>{this.timer=setTimeout(()=>r(Ke(this.auth,"network-request-failed")),Pv.get())})}}function Js(n,e,t){const r={appName:n.name};t.email&&(r.email=t.email),t.phoneNumber&&(r.phoneNumber=t.phoneNumber);const s=Ke(n,e,r);return s.customData._tokenResponse=t,s}function Th(n){return n!==void 0&&n.enterprise!==void 0}class kv{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],e.recaptchaKey===void 0)throw new Error("recaptchaKey undefined");this.siteKey=e.recaptchaKey.split("/")[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||this.recaptchaEnforcementState.length===0)return null;for(const t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)return Sv(t.enforcementState);return null}isProviderEnabled(e){return this.getProviderEnforcementState(e)==="ENFORCE"||this.getProviderEnforcementState(e)==="AUDIT"}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function Nv(n,e){return Qe(n,"GET","/v2/recaptchaConfig",_t(n,e))}/**
2247
+ */const Sv=new Rr(3e4,6e4);function _t(n,e){return n.tenantId&&!e.tenantId?Object.assign(Object.assign({},e),{tenantId:n.tenantId}):e}async function Qe(n,e,t,r,s={}){return Eh(n,s,async()=>{let i={},a={};r&&(e==="GET"?a=r:i={body:JSON.stringify(r)});const c=er(Object.assign({key:n.config.apiKey},a)).slice(1),l=await n._getAdditionalHeaders();l["Content-Type"]="application/json",n.languageCode&&(l["X-Firebase-Locale"]=n.languageCode);const d=Object.assign({method:e,headers:l},i);return dp()||(d.referrerPolicy="no-referrer"),vh.fetch()(Th(n,n.config.apiHost,t,c),d)})}async function Eh(n,e,t){n._canInitEmulator=!1;const r=Object.assign(Object.assign({},Pv),e);try{const s=new kv(n),i=await Promise.race([t(),s.promise]);s.clearNetworkTimeout();const a=await i.json();if("needConfirmation"in a)throw Js(n,"account-exists-with-different-credential",a);if(i.ok&&!("errorMessage"in a))return a;{const c=i.ok?a.errorMessage:a.error.message,[l,d]=c.split(" : ");if(l==="FEDERATED_USER_ID_ALREADY_LINKED")throw Js(n,"credential-already-in-use",a);if(l==="EMAIL_EXISTS")throw Js(n,"email-already-in-use",a);if(l==="USER_DISABLED")throw Js(n,"user-disabled",a);const f=r[l]||l.toLowerCase().replace(/[_\s]+/g,"-");if(d)throw ia(n,f,d);He(n,f)}}catch(s){if(s instanceof ze)throw s;He(n,"network-request-failed",{message:String(s)})}}async function br(n,e,t,r,s={}){const i=await Qe(n,e,t,r,s);return"mfaPendingCredential"in i&&He(n,"multi-factor-auth-required",{_serverResponse:i}),i}function Th(n,e,t,r){const s=`${e}${t}?${r}`;return n.config.emulator?ca(n.config,s):`${n.config.apiScheme}://${s}`}function Cv(n){switch(n){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}}class kv{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((t,r)=>{this.timer=setTimeout(()=>r(Ke(this.auth,"network-request-failed")),Sv.get())})}}function Js(n,e,t){const r={appName:n.name};t.email&&(r.email=t.email),t.phoneNumber&&(r.phoneNumber=t.phoneNumber);const s=Ke(n,e,r);return s.customData._tokenResponse=t,s}function wh(n){return n!==void 0&&n.enterprise!==void 0}class Nv{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],e.recaptchaKey===void 0)throw new Error("recaptchaKey undefined");this.siteKey=e.recaptchaKey.split("/")[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||this.recaptchaEnforcementState.length===0)return null;for(const t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)return Cv(t.enforcementState);return null}isProviderEnabled(e){return this.getProviderEnforcementState(e)==="ENFORCE"||this.getProviderEnforcementState(e)==="AUDIT"}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function Dv(n,e){return Qe(n,"GET","/v2/recaptchaConfig",_t(n,e))}/**
2263
2248
  * @license
2264
2249
  * Copyright 2020 Google LLC
2265
2250
  *
@@ -2274,7 +2259,7 @@ This typically indicates that your device does not have a healthy Internet conne
2274
2259
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2275
2260
  * See the License for the specific language governing permissions and
2276
2261
  * limitations under the License.
2277
- */async function Dv(n,e){return Qe(n,"POST","/v1/accounts:delete",e)}async function Ov(n,e){return Qe(n,"POST","/v1/accounts:update",e)}async function wh(n,e){return Qe(n,"POST","/v1/accounts:lookup",e)}/**
2262
+ */async function Ov(n,e){return Qe(n,"POST","/v1/accounts:delete",e)}async function Vv(n,e){return Qe(n,"POST","/v1/accounts:update",e)}async function Ih(n,e){return Qe(n,"POST","/v1/accounts:lookup",e)}/**
2278
2263
  * @license
2279
2264
  * Copyright 2020 Google LLC
2280
2265
  *
@@ -2289,7 +2274,7 @@ This typically indicates that your device does not have a healthy Internet conne
2289
2274
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2290
2275
  * See the License for the specific language governing permissions and
2291
2276
  * limitations under the License.
2292
- */function br(n){if(n)try{const e=new Date(Number(n));if(!isNaN(e.getTime()))return e.toUTCString()}catch{}}async function Vv(n,e=!1){const t=X(n),r=await t.getIdToken(e),s=la(r);M(s&&s.exp&&s.auth_time&&s.iat,t.auth,"internal-error");const i=typeof s.firebase=="object"?s.firebase:void 0,a=i==null?void 0:i.sign_in_provider;return{claims:s,token:r,authTime:br(ua(s.auth_time)),issuedAtTime:br(ua(s.iat)),expirationTime:br(ua(s.exp)),signInProvider:a||null,signInSecondFactor:(i==null?void 0:i.sign_in_second_factor)||null}}function ua(n){return Number(n)*1e3}function la(n){const[e,t,r]=n.split(".");if(e===void 0||t===void 0||r===void 0)return Ys("JWT malformed, contained fewer than 3 sections"),null;try{const s=oc(t);return s?JSON.parse(s):(Ys("Failed to decode base64 JWT payload"),null)}catch(s){return Ys("Caught error parsing JWT payload as JSON",s==null?void 0:s.toString()),null}}function Ih(n){const e=la(n);return M(e,"internal-error"),M(typeof e.exp<"u","internal-error"),M(typeof e.iat<"u","internal-error"),Number(e.exp)-Number(e.iat)}/**
2277
+ */function Pr(n){if(n)try{const e=new Date(Number(n));if(!isNaN(e.getTime()))return e.toUTCString()}catch{}}async function Lv(n,e=!1){const t=X(n),r=await t.getIdToken(e),s=la(r);M(s&&s.exp&&s.auth_time&&s.iat,t.auth,"internal-error");const i=typeof s.firebase=="object"?s.firebase:void 0,a=i==null?void 0:i.sign_in_provider;return{claims:s,token:r,authTime:Pr(ua(s.auth_time)),issuedAtTime:Pr(ua(s.iat)),expirationTime:Pr(ua(s.exp)),signInProvider:a||null,signInSecondFactor:(i==null?void 0:i.sign_in_second_factor)||null}}function ua(n){return Number(n)*1e3}function la(n){const[e,t,r]=n.split(".");if(e===void 0||t===void 0||r===void 0)return Ys("JWT malformed, contained fewer than 3 sections"),null;try{const s=ac(t);return s?JSON.parse(s):(Ys("Failed to decode base64 JWT payload"),null)}catch(s){return Ys("Caught error parsing JWT payload as JSON",s==null?void 0:s.toString()),null}}function Ah(n){const e=la(n);return M(e,"internal-error"),M(typeof e.exp<"u","internal-error"),M(typeof e.iat<"u","internal-error"),Number(e.exp)-Number(e.iat)}/**
2293
2278
  * @license
2294
2279
  * Copyright 2020 Google LLC
2295
2280
  *
@@ -2304,7 +2289,7 @@ This typically indicates that your device does not have a healthy Internet conne
2304
2289
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2305
2290
  * See the License for the specific language governing permissions and
2306
2291
  * limitations under the License.
2307
- */async function xn(n,e,t=!1){if(t)return e;try{return await e}catch(r){throw r instanceof ze&&Lv(r)&&n.auth.currentUser===n&&await n.auth.signOut(),r}}function Lv({code:n}){return n==="auth/user-disabled"||n==="auth/user-token-expired"}/**
2292
+ */async function xn(n,e,t=!1){if(t)return e;try{return await e}catch(r){throw r instanceof ze&&Mv(r)&&n.auth.currentUser===n&&await n.auth.signOut(),r}}function Mv({code:n}){return n==="auth/user-disabled"||n==="auth/user-token-expired"}/**
2308
2293
  * @license
2309
2294
  * Copyright 2020 Google LLC
2310
2295
  *
@@ -2319,7 +2304,7 @@ This typically indicates that your device does not have a healthy Internet conne
2319
2304
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2320
2305
  * See the License for the specific language governing permissions and
2321
2306
  * limitations under the License.
2322
- */class Mv{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,this.timerId!==null&&clearTimeout(this.timerId))}getInterval(e){var t;if(e){const r=this.errorBackoff;return this.errorBackoff=Math.min(this.errorBackoff*2,96e4),r}else{this.errorBackoff=3e4;const s=((t=this.user.stsTokenManager.expirationTime)!==null&&t!==void 0?t:0)-Date.now()-3e5;return Math.max(0,s)}}schedule(e=!1){if(!this.isRunning)return;const t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){(e==null?void 0:e.code)==="auth/network-request-failed"&&this.schedule(!0);return}this.schedule()}}/**
2307
+ */class Uv{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,this.timerId!==null&&clearTimeout(this.timerId))}getInterval(e){var t;if(e){const r=this.errorBackoff;return this.errorBackoff=Math.min(this.errorBackoff*2,96e4),r}else{this.errorBackoff=3e4;const s=((t=this.user.stsTokenManager.expirationTime)!==null&&t!==void 0?t:0)-Date.now()-3e5;return Math.max(0,s)}}schedule(e=!1){if(!this.isRunning)return;const t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){(e==null?void 0:e.code)==="auth/network-request-failed"&&this.schedule(!0);return}this.schedule()}}/**
2323
2308
  * @license
2324
2309
  * Copyright 2020 Google LLC
2325
2310
  *
@@ -2334,7 +2319,7 @@ This typically indicates that your device does not have a healthy Internet conne
2334
2319
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2335
2320
  * See the License for the specific language governing permissions and
2336
2321
  * limitations under the License.
2337
- */class ha{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=br(this.lastLoginAt),this.creationTime=br(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}/**
2322
+ */class ha{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=Pr(this.lastLoginAt),this.creationTime=Pr(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}/**
2338
2323
  * @license
2339
2324
  * Copyright 2019 Google LLC
2340
2325
  *
@@ -2349,7 +2334,7 @@ This typically indicates that your device does not have a healthy Internet conne
2349
2334
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2350
2335
  * See the License for the specific language governing permissions and
2351
2336
  * limitations under the License.
2352
- */async function Pr(n){var e;const t=n.auth,r=await n.getIdToken(),s=await xn(n,wh(t,{idToken:r}));M(s==null?void 0:s.users.length,t,"internal-error");const i=s.users[0];n._notifyReloadListener(i);const a=!((e=i.providerUserInfo)===null||e===void 0)&&e.length?Ah(i.providerUserInfo):[],c=xv(n.providerData,a),l=n.isAnonymous,d=!(n.email&&i.passwordHash)&&!(c!=null&&c.length),f=l?d:!1,m={uid:i.localId,displayName:i.displayName||null,photoURL:i.photoUrl||null,email:i.email||null,emailVerified:i.emailVerified||!1,phoneNumber:i.phoneNumber||null,tenantId:i.tenantId||null,providerData:c,metadata:new ha(i.createdAt,i.lastLoginAt),isAnonymous:f};Object.assign(n,m)}async function Uv(n){const e=X(n);await Pr(e),await e.auth._persistUserIfCurrent(e),e.auth._notifyListenersIfCurrent(e)}function xv(n,e){return[...n.filter(r=>!e.some(s=>s.providerId===r.providerId)),...e]}function Ah(n){return n.map(e=>{var{providerId:t}=e,r=sa(e,["providerId"]);return{providerId:t,uid:r.rawId||"",displayName:r.displayName||null,email:r.email||null,phoneNumber:r.phoneNumber||null,photoURL:r.photoUrl||null}})}/**
2337
+ */async function Sr(n){var e;const t=n.auth,r=await n.getIdToken(),s=await xn(n,Ih(t,{idToken:r}));M(s==null?void 0:s.users.length,t,"internal-error");const i=s.users[0];n._notifyReloadListener(i);const a=!((e=i.providerUserInfo)===null||e===void 0)&&e.length?Rh(i.providerUserInfo):[],c=Fv(n.providerData,a),l=n.isAnonymous,d=!(n.email&&i.passwordHash)&&!(c!=null&&c.length),f=l?d:!1,m={uid:i.localId,displayName:i.displayName||null,photoURL:i.photoUrl||null,email:i.email||null,emailVerified:i.emailVerified||!1,phoneNumber:i.phoneNumber||null,tenantId:i.tenantId||null,providerData:c,metadata:new ha(i.createdAt,i.lastLoginAt),isAnonymous:f};Object.assign(n,m)}async function xv(n){const e=X(n);await Sr(e),await e.auth._persistUserIfCurrent(e),e.auth._notifyListenersIfCurrent(e)}function Fv(n,e){return[...n.filter(r=>!e.some(s=>s.providerId===r.providerId)),...e]}function Rh(n){return n.map(e=>{var{providerId:t}=e,r=sa(e,["providerId"]);return{providerId:t,uid:r.rawId||"",displayName:r.displayName||null,email:r.email||null,phoneNumber:r.phoneNumber||null,photoURL:r.photoUrl||null}})}/**
2353
2338
  * @license
2354
2339
  * Copyright 2020 Google LLC
2355
2340
  *
@@ -2364,7 +2349,7 @@ This typically indicates that your device does not have a healthy Internet conne
2364
2349
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2365
2350
  * See the License for the specific language governing permissions and
2366
2351
  * limitations under the License.
2367
- */async function Fv(n,e){const t=await vh(n,{},async()=>{const r=Zn({grant_type:"refresh_token",refresh_token:e}).slice(1),{tokenApiHost:s,apiKey:i}=n.config,a=Eh(n,s,"/v1/token",`key=${i}`),c=await n._getAdditionalHeaders();return c["Content-Type"]="application/x-www-form-urlencoded",yh.fetch()(a,{method:"POST",headers:c,body:r})});return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token}}async function Bv(n,e){return Qe(n,"POST","/v2/accounts:revokeToken",_t(n,e))}/**
2352
+ */async function Bv(n,e){const t=await Eh(n,{},async()=>{const r=er({grant_type:"refresh_token",refresh_token:e}).slice(1),{tokenApiHost:s,apiKey:i}=n.config,a=Th(n,s,"/v1/token",`key=${i}`),c=await n._getAdditionalHeaders();return c["Content-Type"]="application/x-www-form-urlencoded",vh.fetch()(a,{method:"POST",headers:c,body:r})});return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token}}async function jv(n,e){return Qe(n,"POST","/v2/accounts:revokeToken",_t(n,e))}/**
2368
2353
  * @license
2369
2354
  * Copyright 2020 Google LLC
2370
2355
  *
@@ -2379,7 +2364,7 @@ This typically indicates that your device does not have a healthy Internet conne
2379
2364
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2380
2365
  * See the License for the specific language governing permissions and
2381
2366
  * limitations under the License.
2382
- */class Fn{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){M(e.idToken,"internal-error"),M(typeof e.idToken<"u","internal-error"),M(typeof e.refreshToken<"u","internal-error");const t="expiresIn"in e&&typeof e.expiresIn<"u"?Number(e.expiresIn):Ih(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){M(e.length!==0,"internal-error");const t=Ih(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return!t&&this.accessToken&&!this.isExpired?this.accessToken:(M(this.refreshToken,e,"user-token-expired"),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null)}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){const{accessToken:r,refreshToken:s,expiresIn:i}=await Fv(e,t);this.updateTokensAndExpiration(r,s,Number(i))}updateTokensAndExpiration(e,t,r){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+r*1e3}static fromJSON(e,t){const{refreshToken:r,accessToken:s,expirationTime:i}=t,a=new Fn;return r&&(M(typeof r=="string","internal-error",{appName:e}),a.refreshToken=r),s&&(M(typeof s=="string","internal-error",{appName:e}),a.accessToken=s),i&&(M(typeof i=="number","internal-error",{appName:e}),a.expirationTime=i),a}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 Fn,this.toJSON())}_performRefresh(){return mt("not implemented")}}/**
2367
+ */class Fn{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){M(e.idToken,"internal-error"),M(typeof e.idToken<"u","internal-error"),M(typeof e.refreshToken<"u","internal-error");const t="expiresIn"in e&&typeof e.expiresIn<"u"?Number(e.expiresIn):Ah(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){M(e.length!==0,"internal-error");const t=Ah(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return!t&&this.accessToken&&!this.isExpired?this.accessToken:(M(this.refreshToken,e,"user-token-expired"),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null)}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){const{accessToken:r,refreshToken:s,expiresIn:i}=await Bv(e,t);this.updateTokensAndExpiration(r,s,Number(i))}updateTokensAndExpiration(e,t,r){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+r*1e3}static fromJSON(e,t){const{refreshToken:r,accessToken:s,expirationTime:i}=t,a=new Fn;return r&&(M(typeof r=="string","internal-error",{appName:e}),a.refreshToken=r),s&&(M(typeof s=="string","internal-error",{appName:e}),a.accessToken=s),i&&(M(typeof i=="number","internal-error",{appName:e}),a.expirationTime=i),a}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 Fn,this.toJSON())}_performRefresh(){return mt("not implemented")}}/**
2383
2368
  * @license
2384
2369
  * Copyright 2020 Google LLC
2385
2370
  *
@@ -2394,7 +2379,7 @@ This typically indicates that your device does not have a healthy Internet conne
2394
2379
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2395
2380
  * See the License for the specific language governing permissions and
2396
2381
  * limitations under the License.
2397
- */function jt(n,e){M(typeof n=="string"||typeof n>"u","internal-error",{appName:e})}class yt{constructor(e){var{uid:t,auth:r,stsTokenManager:s}=e,i=sa(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new Mv(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=r,this.stsTokenManager=s,this.accessToken=s.accessToken,this.displayName=i.displayName||null,this.email=i.email||null,this.emailVerified=i.emailVerified||!1,this.phoneNumber=i.phoneNumber||null,this.photoURL=i.photoURL||null,this.isAnonymous=i.isAnonymous||!1,this.tenantId=i.tenantId||null,this.providerData=i.providerData?[...i.providerData]:[],this.metadata=new ha(i.createdAt||void 0,i.lastLoginAt||void 0)}async getIdToken(e){const t=await xn(this,this.stsTokenManager.getToken(this.auth,e));return M(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return Vv(this,e)}reload(){return Uv(this)}_assign(e){this!==e&&(M(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(t=>Object.assign({},t)),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){const t=new yt(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}));return t.metadata._copy(this.metadata),t}_onReload(e){M(!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 Pr(this),await this.auth._persistUserIfCurrent(this),r&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(Te(this.auth.app))return Promise.reject(it(this.auth));const e=await this.getIdToken();return await xn(this,Dv(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return Object.assign(Object.assign({uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>Object.assign({},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){var r,s,i,a,c,l,d,f;const m=(r=t.displayName)!==null&&r!==void 0?r:void 0,v=(s=t.email)!==null&&s!==void 0?s:void 0,R=(i=t.phoneNumber)!==null&&i!==void 0?i:void 0,S=(a=t.photoURL)!==null&&a!==void 0?a:void 0,N=(c=t.tenantId)!==null&&c!==void 0?c:void 0,k=(l=t._redirectEventId)!==null&&l!==void 0?l:void 0,U=(d=t.createdAt)!==null&&d!==void 0?d:void 0,$=(f=t.lastLoginAt)!==null&&f!==void 0?f:void 0,{uid:x,emailVerified:H,isAnonymous:he,providerData:J,stsTokenManager:T}=t;M(x&&T,e,"internal-error");const g=Fn.fromJSON(this.name,T);M(typeof x=="string",e,"internal-error"),jt(m,e.name),jt(v,e.name),M(typeof H=="boolean",e,"internal-error"),M(typeof he=="boolean",e,"internal-error"),jt(R,e.name),jt(S,e.name),jt(N,e.name),jt(k,e.name),jt(U,e.name),jt($,e.name);const _=new yt({uid:x,auth:e,email:v,emailVerified:H,displayName:m,isAnonymous:he,photoURL:S,phoneNumber:R,tenantId:N,stsTokenManager:g,createdAt:U,lastLoginAt:$});return J&&Array.isArray(J)&&(_.providerData=J.map(E=>Object.assign({},E))),k&&(_._redirectEventId=k),_}static async _fromIdTokenResponse(e,t,r=!1){const s=new Fn;s.updateFromServerResponse(t);const i=new yt({uid:t.localId,auth:e,stsTokenManager:s,isAnonymous:r});return await Pr(i),i}static async _fromGetAccountInfoResponse(e,t,r){const s=t.users[0];M(s.localId!==void 0,"internal-error");const i=s.providerUserInfo!==void 0?Ah(s.providerUserInfo):[],a=!(s.email&&s.passwordHash)&&!(i!=null&&i.length),c=new Fn;c.updateFromIdToken(r);const l=new yt({uid:s.localId,auth:e,stsTokenManager:c,isAnonymous:a}),d={uid:s.localId,displayName:s.displayName||null,photoURL:s.photoUrl||null,email:s.email||null,emailVerified:s.emailVerified||!1,phoneNumber:s.phoneNumber||null,tenantId:s.tenantId||null,providerData:i,metadata:new ha(s.createdAt,s.lastLoginAt),isAnonymous:!(s.email&&s.passwordHash)&&!(i!=null&&i.length)};return Object.assign(l,d),l}}/**
2382
+ */function jt(n,e){M(typeof n=="string"||typeof n>"u","internal-error",{appName:e})}class yt{constructor(e){var{uid:t,auth:r,stsTokenManager:s}=e,i=sa(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new Uv(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=r,this.stsTokenManager=s,this.accessToken=s.accessToken,this.displayName=i.displayName||null,this.email=i.email||null,this.emailVerified=i.emailVerified||!1,this.phoneNumber=i.phoneNumber||null,this.photoURL=i.photoURL||null,this.isAnonymous=i.isAnonymous||!1,this.tenantId=i.tenantId||null,this.providerData=i.providerData?[...i.providerData]:[],this.metadata=new ha(i.createdAt||void 0,i.lastLoginAt||void 0)}async getIdToken(e){const t=await xn(this,this.stsTokenManager.getToken(this.auth,e));return M(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return Lv(this,e)}reload(){return xv(this)}_assign(e){this!==e&&(M(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(t=>Object.assign({},t)),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){const t=new yt(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}));return t.metadata._copy(this.metadata),t}_onReload(e){M(!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 Sr(this),await this.auth._persistUserIfCurrent(this),r&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(Te(this.auth.app))return Promise.reject(it(this.auth));const e=await this.getIdToken();return await xn(this,Ov(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return Object.assign(Object.assign({uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>Object.assign({},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){var r,s,i,a,c,l,d,f;const m=(r=t.displayName)!==null&&r!==void 0?r:void 0,v=(s=t.email)!==null&&s!==void 0?s:void 0,R=(i=t.phoneNumber)!==null&&i!==void 0?i:void 0,S=(a=t.photoURL)!==null&&a!==void 0?a:void 0,N=(c=t.tenantId)!==null&&c!==void 0?c:void 0,k=(l=t._redirectEventId)!==null&&l!==void 0?l:void 0,U=(d=t.createdAt)!==null&&d!==void 0?d:void 0,$=(f=t.lastLoginAt)!==null&&f!==void 0?f:void 0,{uid:x,emailVerified:H,isAnonymous:he,providerData:J,stsTokenManager:T}=t;M(x&&T,e,"internal-error");const g=Fn.fromJSON(this.name,T);M(typeof x=="string",e,"internal-error"),jt(m,e.name),jt(v,e.name),M(typeof H=="boolean",e,"internal-error"),M(typeof he=="boolean",e,"internal-error"),jt(R,e.name),jt(S,e.name),jt(N,e.name),jt(k,e.name),jt(U,e.name),jt($,e.name);const _=new yt({uid:x,auth:e,email:v,emailVerified:H,displayName:m,isAnonymous:he,photoURL:S,phoneNumber:R,tenantId:N,stsTokenManager:g,createdAt:U,lastLoginAt:$});return J&&Array.isArray(J)&&(_.providerData=J.map(E=>Object.assign({},E))),k&&(_._redirectEventId=k),_}static async _fromIdTokenResponse(e,t,r=!1){const s=new Fn;s.updateFromServerResponse(t);const i=new yt({uid:t.localId,auth:e,stsTokenManager:s,isAnonymous:r});return await Sr(i),i}static async _fromGetAccountInfoResponse(e,t,r){const s=t.users[0];M(s.localId!==void 0,"internal-error");const i=s.providerUserInfo!==void 0?Rh(s.providerUserInfo):[],a=!(s.email&&s.passwordHash)&&!(i!=null&&i.length),c=new Fn;c.updateFromIdToken(r);const l=new yt({uid:s.localId,auth:e,stsTokenManager:c,isAnonymous:a}),d={uid:s.localId,displayName:s.displayName||null,photoURL:s.photoUrl||null,email:s.email||null,emailVerified:s.emailVerified||!1,phoneNumber:s.phoneNumber||null,tenantId:s.tenantId||null,providerData:i,metadata:new ha(s.createdAt,s.lastLoginAt),isAnonymous:!(s.email&&s.passwordHash)&&!(i!=null&&i.length)};return Object.assign(l,d),l}}/**
2398
2383
  * @license
2399
2384
  * Copyright 2020 Google LLC
2400
2385
  *
@@ -2409,7 +2394,7 @@ This typically indicates that your device does not have a healthy Internet conne
2409
2394
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2410
2395
  * See the License for the specific language governing permissions and
2411
2396
  * limitations under the License.
2412
- */const Rh=new Map;function vt(n){gt(n instanceof Function,"Expected a class definition");let e=Rh.get(n);return e?(gt(e instanceof n,"Instance stored in cache mismatched with class"),e):(e=new n,Rh.set(n,e),e)}/**
2397
+ */const bh=new Map;function vt(n){gt(n instanceof Function,"Expected a class definition");let e=bh.get(n);return e?(gt(e instanceof n,"Instance stored in cache mismatched with class"),e):(e=new n,bh.set(n,e),e)}/**
2413
2398
  * @license
2414
2399
  * Copyright 2019 Google LLC
2415
2400
  *
@@ -2424,7 +2409,7 @@ This typically indicates that your device does not have a healthy Internet conne
2424
2409
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2425
2410
  * See the License for the specific language governing permissions and
2426
2411
  * limitations under the License.
2427
- */class bh{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){const t=this.storage[e];return t===void 0?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}bh.type="NONE";const Ph=bh;/**
2412
+ */class Ph{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){const t=this.storage[e];return t===void 0?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}Ph.type="NONE";const Sh=Ph;/**
2428
2413
  * @license
2429
2414
  * Copyright 2019 Google LLC
2430
2415
  *
@@ -2439,7 +2424,7 @@ This typically indicates that your device does not have a healthy Internet conne
2439
2424
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2440
2425
  * See the License for the specific language governing permissions and
2441
2426
  * limitations under the License.
2442
- */function Zs(n,e,t){return`firebase:${n}:${e}:${t}`}class Bn{constructor(e,t,r){this.persistence=e,this.auth=t,this.userKey=r;const{config:s,name:i}=this.auth;this.fullUserKey=Zs(this.userKey,s.apiKey,i),this.fullPersistenceKey=Zs("persistence",s.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(){const e=await this.persistence._get(this.fullUserKey);return e?yt._fromJSON(this.auth,e):null}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;const 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 Bn(vt(Ph),e,r);const s=(await Promise.all(t.map(async d=>{if(await d._isAvailable())return d}))).filter(d=>d);let i=s[0]||vt(Ph);const a=Zs(r,e.config.apiKey,e.name);let c=null;for(const d of t)try{const f=await d._get(a);if(f){const m=yt._fromJSON(e,f);d!==i&&(c=m),i=d;break}}catch{}const l=s.filter(d=>d._shouldAllowMigration);return!i._shouldAllowMigration||!l.length?new Bn(i,e,r):(i=l[0],c&&await i._set(a,c.toJSON()),await Promise.all(t.map(async d=>{if(d!==i)try{await d._remove(a)}catch{}})),new Bn(i,e,r))}}/**
2427
+ */function Zs(n,e,t){return`firebase:${n}:${e}:${t}`}class Bn{constructor(e,t,r){this.persistence=e,this.auth=t,this.userKey=r;const{config:s,name:i}=this.auth;this.fullUserKey=Zs(this.userKey,s.apiKey,i),this.fullPersistenceKey=Zs("persistence",s.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(){const e=await this.persistence._get(this.fullUserKey);return e?yt._fromJSON(this.auth,e):null}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;const 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 Bn(vt(Sh),e,r);const s=(await Promise.all(t.map(async d=>{if(await d._isAvailable())return d}))).filter(d=>d);let i=s[0]||vt(Sh);const a=Zs(r,e.config.apiKey,e.name);let c=null;for(const d of t)try{const f=await d._get(a);if(f){const m=yt._fromJSON(e,f);d!==i&&(c=m),i=d;break}}catch{}const l=s.filter(d=>d._shouldAllowMigration);return!i._shouldAllowMigration||!l.length?new Bn(i,e,r):(i=l[0],c&&await i._set(a,c.toJSON()),await Promise.all(t.map(async d=>{if(d!==i)try{await d._remove(a)}catch{}})),new Bn(i,e,r))}}/**
2443
2428
  * @license
2444
2429
  * Copyright 2020 Google LLC
2445
2430
  *
@@ -2454,7 +2439,7 @@ This typically indicates that your device does not have a healthy Internet conne
2454
2439
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2455
2440
  * See the License for the specific language governing permissions and
2456
2441
  * limitations under the License.
2457
- */function Sh(n){const e=n.toLowerCase();if(e.includes("opera/")||e.includes("opr/")||e.includes("opios/"))return"Opera";if(Dh(e))return"IEMobile";if(e.includes("msie")||e.includes("trident/"))return"IE";if(e.includes("edge/"))return"Edge";if(Ch(e))return"Firefox";if(e.includes("silk/"))return"Silk";if(Vh(e))return"Blackberry";if(Lh(e))return"Webos";if(kh(e))return"Safari";if((e.includes("chrome/")||Nh(e))&&!e.includes("edge/"))return"Chrome";if(Oh(e))return"Android";{const t=/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/,r=n.match(t);if((r==null?void 0:r.length)===2)return r[1]}return"Other"}function Ch(n=Ee()){return/firefox\//i.test(n)}function kh(n=Ee()){const e=n.toLowerCase();return e.includes("safari/")&&!e.includes("chrome/")&&!e.includes("crios/")&&!e.includes("android")}function Nh(n=Ee()){return/crios\//i.test(n)}function Dh(n=Ee()){return/iemobile/i.test(n)}function Oh(n=Ee()){return/android/i.test(n)}function Vh(n=Ee()){return/blackberry/i.test(n)}function Lh(n=Ee()){return/webos/i.test(n)}function da(n=Ee()){return/iphone|ipad|ipod/i.test(n)||/macintosh/i.test(n)&&/mobile/i.test(n)}function jv(n=Ee()){var e;return da(n)&&!!(!((e=window.navigator)===null||e===void 0)&&e.standalone)}function qv(){return pp()&&document.documentMode===10}function Mh(n=Ee()){return da(n)||Oh(n)||Lh(n)||Vh(n)||/windows phone/i.test(n)||Dh(n)}/**
2442
+ */function Ch(n){const e=n.toLowerCase();if(e.includes("opera/")||e.includes("opr/")||e.includes("opios/"))return"Opera";if(Oh(e))return"IEMobile";if(e.includes("msie")||e.includes("trident/"))return"IE";if(e.includes("edge/"))return"Edge";if(kh(e))return"Firefox";if(e.includes("silk/"))return"Silk";if(Lh(e))return"Blackberry";if(Mh(e))return"Webos";if(Nh(e))return"Safari";if((e.includes("chrome/")||Dh(e))&&!e.includes("edge/"))return"Chrome";if(Vh(e))return"Android";{const t=/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/,r=n.match(t);if((r==null?void 0:r.length)===2)return r[1]}return"Other"}function kh(n=Ee()){return/firefox\//i.test(n)}function Nh(n=Ee()){const e=n.toLowerCase();return e.includes("safari/")&&!e.includes("chrome/")&&!e.includes("crios/")&&!e.includes("android")}function Dh(n=Ee()){return/crios\//i.test(n)}function Oh(n=Ee()){return/iemobile/i.test(n)}function Vh(n=Ee()){return/android/i.test(n)}function Lh(n=Ee()){return/blackberry/i.test(n)}function Mh(n=Ee()){return/webos/i.test(n)}function da(n=Ee()){return/iphone|ipad|ipod/i.test(n)||/macintosh/i.test(n)&&/mobile/i.test(n)}function qv(n=Ee()){var e;return da(n)&&!!(!((e=window.navigator)===null||e===void 0)&&e.standalone)}function $v(){return mp()&&document.documentMode===10}function Uh(n=Ee()){return da(n)||Vh(n)||Mh(n)||Lh(n)||/windows phone/i.test(n)||Oh(n)}/**
2458
2443
  * @license
2459
2444
  * Copyright 2020 Google LLC
2460
2445
  *
@@ -2469,7 +2454,7 @@ This typically indicates that your device does not have a healthy Internet conne
2469
2454
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2470
2455
  * See the License for the specific language governing permissions and
2471
2456
  * limitations under the License.
2472
- */function Uh(n,e=[]){let t;switch(n){case"Browser":t=Sh(Ee());break;case"Worker":t=`${Sh(Ee())}-${n}`;break;default:t=n}const r=e.length?e.join(","):"FirebaseCore-web";return`${t}/JsCore/${Xt}/${r}`}/**
2457
+ */function xh(n,e=[]){let t;switch(n){case"Browser":t=Ch(Ee());break;case"Worker":t=`${Ch(Ee())}-${n}`;break;default:t=n}const r=e.length?e.join(","):"FirebaseCore-web";return`${t}/JsCore/${Yt}/${r}`}/**
2473
2458
  * @license
2474
2459
  * Copyright 2022 Google LLC
2475
2460
  *
@@ -2484,7 +2469,7 @@ This typically indicates that your device does not have a healthy Internet conne
2484
2469
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2485
2470
  * See the License for the specific language governing permissions and
2486
2471
  * limitations under the License.
2487
- */class $v{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){const r=i=>new Promise((a,c)=>{try{const l=e(i);a(l)}catch(l){c(l)}});r.onAbort=t,this.queue.push(r);const s=this.queue.length-1;return()=>{this.queue[s]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;const t=[];try{for(const r of this.queue)await r(e),r.onAbort&&t.push(r.onAbort)}catch(r){t.reverse();for(const s of t)try{s()}catch{}throw this.auth._errorFactory.create("login-blocked",{originalMessage:r==null?void 0:r.message})}}}/**
2472
+ */class Hv{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){const r=i=>new Promise((a,c)=>{try{const l=e(i);a(l)}catch(l){c(l)}});r.onAbort=t,this.queue.push(r);const s=this.queue.length-1;return()=>{this.queue[s]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;const t=[];try{for(const r of this.queue)await r(e),r.onAbort&&t.push(r.onAbort)}catch(r){t.reverse();for(const s of t)try{s()}catch{}throw this.auth._errorFactory.create("login-blocked",{originalMessage:r==null?void 0:r.message})}}}/**
2488
2473
  * @license
2489
2474
  * Copyright 2023 Google LLC
2490
2475
  *
@@ -2499,7 +2484,7 @@ This typically indicates that your device does not have a healthy Internet conne
2499
2484
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2500
2485
  * See the License for the specific language governing permissions and
2501
2486
  * limitations under the License.
2502
- */async function Hv(n,e={}){return Qe(n,"GET","/v2/passwordPolicy",_t(n,e))}/**
2487
+ */async function zv(n,e={}){return Qe(n,"GET","/v2/passwordPolicy",_t(n,e))}/**
2503
2488
  * @license
2504
2489
  * Copyright 2023 Google LLC
2505
2490
  *
@@ -2514,7 +2499,7 @@ This typically indicates that your device does not have a healthy Internet conne
2514
2499
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2515
2500
  * See the License for the specific language governing permissions and
2516
2501
  * limitations under the License.
2517
- */const zv=6;class Wv{constructor(e){var t,r,s,i;const a=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=(t=a.minPasswordLength)!==null&&t!==void 0?t:zv,a.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=a.maxPasswordLength),a.containsLowercaseCharacter!==void 0&&(this.customStrengthOptions.containsLowercaseLetter=a.containsLowercaseCharacter),a.containsUppercaseCharacter!==void 0&&(this.customStrengthOptions.containsUppercaseLetter=a.containsUppercaseCharacter),a.containsNumericCharacter!==void 0&&(this.customStrengthOptions.containsNumericCharacter=a.containsNumericCharacter),a.containsNonAlphanumericCharacter!==void 0&&(this.customStrengthOptions.containsNonAlphanumericCharacter=a.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,this.enforcementState==="ENFORCEMENT_STATE_UNSPECIFIED"&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=(s=(r=e.allowedNonAlphanumericCharacters)===null||r===void 0?void 0:r.join(""))!==null&&s!==void 0?s:"",this.forceUpgradeOnSignin=(i=e.forceUpgradeOnSignin)!==null&&i!==void 0?i:!1,this.schemaVersion=e.schemaVersion}validatePassword(e){var t,r,s,i,a,c;const l={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,l),this.validatePasswordCharacterOptions(e,l),l.isValid&&(l.isValid=(t=l.meetsMinPasswordLength)!==null&&t!==void 0?t:!0),l.isValid&&(l.isValid=(r=l.meetsMaxPasswordLength)!==null&&r!==void 0?r:!0),l.isValid&&(l.isValid=(s=l.containsLowercaseLetter)!==null&&s!==void 0?s:!0),l.isValid&&(l.isValid=(i=l.containsUppercaseLetter)!==null&&i!==void 0?i:!0),l.isValid&&(l.isValid=(a=l.containsNumericCharacter)!==null&&a!==void 0?a:!0),l.isValid&&(l.isValid=(c=l.containsNonAlphanumericCharacter)!==null&&c!==void 0?c:!0),l}validatePasswordLengthOptions(e,t){const r=this.customStrengthOptions.minPasswordLength,s=this.customStrengthOptions.maxPasswordLength;r&&(t.meetsMinPasswordLength=e.length>=r),s&&(t.meetsMaxPasswordLength=e.length<=s)}validatePasswordCharacterOptions(e,t){this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);let r;for(let s=0;s<e.length;s++)r=e.charAt(s),this.updatePasswordCharacterOptionsStatuses(t,r>="a"&&r<="z",r>="A"&&r<="Z",r>="0"&&r<="9",this.allowedNonAlphanumericCharacters.includes(r))}updatePasswordCharacterOptionsStatuses(e,t,r,s,i){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||(e.containsLowercaseLetter=t)),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||(e.containsUppercaseLetter=r)),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||(e.containsNumericCharacter=s)),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||(e.containsNonAlphanumericCharacter=i))}}/**
2502
+ */const Wv=6;class Gv{constructor(e){var t,r,s,i;const a=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=(t=a.minPasswordLength)!==null&&t!==void 0?t:Wv,a.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=a.maxPasswordLength),a.containsLowercaseCharacter!==void 0&&(this.customStrengthOptions.containsLowercaseLetter=a.containsLowercaseCharacter),a.containsUppercaseCharacter!==void 0&&(this.customStrengthOptions.containsUppercaseLetter=a.containsUppercaseCharacter),a.containsNumericCharacter!==void 0&&(this.customStrengthOptions.containsNumericCharacter=a.containsNumericCharacter),a.containsNonAlphanumericCharacter!==void 0&&(this.customStrengthOptions.containsNonAlphanumericCharacter=a.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,this.enforcementState==="ENFORCEMENT_STATE_UNSPECIFIED"&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=(s=(r=e.allowedNonAlphanumericCharacters)===null||r===void 0?void 0:r.join(""))!==null&&s!==void 0?s:"",this.forceUpgradeOnSignin=(i=e.forceUpgradeOnSignin)!==null&&i!==void 0?i:!1,this.schemaVersion=e.schemaVersion}validatePassword(e){var t,r,s,i,a,c;const l={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,l),this.validatePasswordCharacterOptions(e,l),l.isValid&&(l.isValid=(t=l.meetsMinPasswordLength)!==null&&t!==void 0?t:!0),l.isValid&&(l.isValid=(r=l.meetsMaxPasswordLength)!==null&&r!==void 0?r:!0),l.isValid&&(l.isValid=(s=l.containsLowercaseLetter)!==null&&s!==void 0?s:!0),l.isValid&&(l.isValid=(i=l.containsUppercaseLetter)!==null&&i!==void 0?i:!0),l.isValid&&(l.isValid=(a=l.containsNumericCharacter)!==null&&a!==void 0?a:!0),l.isValid&&(l.isValid=(c=l.containsNonAlphanumericCharacter)!==null&&c!==void 0?c:!0),l}validatePasswordLengthOptions(e,t){const r=this.customStrengthOptions.minPasswordLength,s=this.customStrengthOptions.maxPasswordLength;r&&(t.meetsMinPasswordLength=e.length>=r),s&&(t.meetsMaxPasswordLength=e.length<=s)}validatePasswordCharacterOptions(e,t){this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);let r;for(let s=0;s<e.length;s++)r=e.charAt(s),this.updatePasswordCharacterOptionsStatuses(t,r>="a"&&r<="z",r>="A"&&r<="Z",r>="0"&&r<="9",this.allowedNonAlphanumericCharacters.includes(r))}updatePasswordCharacterOptionsStatuses(e,t,r,s,i){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||(e.containsLowercaseLetter=t)),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||(e.containsUppercaseLetter=r)),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||(e.containsNumericCharacter=s)),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||(e.containsNonAlphanumericCharacter=i))}}/**
2518
2503
  * @license
2519
2504
  * Copyright 2020 Google LLC
2520
2505
  *
@@ -2529,7 +2514,7 @@ This typically indicates that your device does not have a healthy Internet conne
2529
2514
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2530
2515
  * See the License for the specific language governing permissions and
2531
2516
  * limitations under the License.
2532
- */class Gv{constructor(e,t,r,s){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=r,this.config=s,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new xh(this),this.idTokenSubscription=new xh(this),this.beforeStateQueue=new $v(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=mh,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=s.sdkClientVersion}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=vt(t)),this._initializationPromise=this.queue(async()=>{var r,s;if(!this._deleted&&(this.persistenceManager=await Bn.create(this,e),!this._deleted)){if(!((r=this._popupRedirectResolver)===null||r===void 0)&&r._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch{}await this.initializeCurrentUser(t),this.lastNotifiedUid=((s=this.currentUser)===null||s===void 0?void 0:s.uid)||null,!this._deleted&&(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;const 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{const t=await wh(this,{idToken:e}),r=await yt._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(r)}catch(t){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",t),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){var t;if(Te(this.app)){const a=this.app.settings.authIdToken;return a?new Promise(c=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(a).then(c,c))}):this.directlySetCurrentUser(null)}const r=await this.assertedPersistence.getCurrentUser();let s=r,i=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();const a=(t=this.redirectUser)===null||t===void 0?void 0:t._redirectEventId,c=s==null?void 0:s._redirectEventId,l=await this.tryRedirectSignIn(e);(!a||a===c)&&(l!=null&&l.user)&&(s=l.user,i=!0)}if(!s)return this.directlySetCurrentUser(null);if(!s._redirectEventId){if(i)try{await this.beforeStateQueue.runMiddleware(s)}catch(a){s=r,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(a))}return s?this.reloadAndSetCurrentUserOrClear(s):this.directlySetCurrentUser(null)}return M(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===s._redirectEventId?this.directlySetCurrentUser(s):this.reloadAndSetCurrentUserOrClear(s)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch{await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await Pr(e)}catch(t){if((t==null?void 0:t.code)!=="auth/network-request-failed")return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=Rv()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(Te(this.app))return Promise.reject(it(this));const t=e?X(e):null;return t&&M(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&&M(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 Te(this.app)?Promise.reject(it(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Te(this.app)?Promise.reject(it(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(vt(e))})}_getRecaptchaConfig(){return this.tenantId==null?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();const 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 this.tenantId===null?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){const e=await Hv(this),t=new Wv(e);this.tenantId===null?this._projectPasswordPolicy=t:this._tenantPasswordPolicies[this.tenantId]=t}_getPersistence(){return this.assertedPersistence.persistence.type}_updateErrorMap(e){this._errorFactory=new Jn("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{const r=this.onAuthStateChanged(()=>{r(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){const t=await this.currentUser.getIdToken(),r={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:t};this.tenantId!=null&&(r.tenantId=this.tenantId),await Bv(this,r)}}toJSON(){var e;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:(e=this._currentUser)===null||e===void 0?void 0:e.toJSON()}}async _setRedirectUser(e,t){const r=await this.getOrInitRedirectPersistenceManager(t);return e===null?r.removeCurrentUser():r.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){const t=e&&vt(e)||this._popupRedirectResolver;M(t,this,"argument-error"),this.redirectPersistenceManager=await Bn.create(this,[vt(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){var t,r;return this._isInitialized&&await this.queue(async()=>{}),((t=this._currentUser)===null||t===void 0?void 0:t._redirectEventId)===e?this._currentUser:((r=this.redirectUser)===null||r===void 0?void 0:r._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(){var e,t;if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);const r=(t=(e=this.currentUser)===null||e===void 0?void 0:e.uid)!==null&&t!==void 0?t:null;this.lastNotifiedUid!==r&&(this.lastNotifiedUid=r,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,r,s){if(this._deleted)return()=>{};const i=typeof t=="function"?t:t.next.bind(t);let a=!1;const c=this._isInitialized?Promise.resolve():this._initializationPromise;if(M(c,this,"internal-error"),c.then(()=>{a||i(this.currentUser)}),typeof t=="function"){const l=e.addObserver(t,r,s);return()=>{a=!0,l()}}else{const l=e.addObserver(t);return()=>{a=!0,l()}}}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 M(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=Uh(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){var e;const t={"X-Client-Version":this.clientVersion};this.app.options.appId&&(t["X-Firebase-gmpid"]=this.app.options.appId);const r=await((e=this.heartbeatServiceProvider.getImmediate({optional:!0}))===null||e===void 0?void 0:e.getHeartbeatsHeader());r&&(t["X-Firebase-Client"]=r);const s=await this._getAppCheckToken();return s&&(t["X-Firebase-AppCheck"]=s),t}async _getAppCheckToken(){var e;if(Te(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;const t=await((e=this.appCheckServiceProvider.getImmediate({optional:!0}))===null||e===void 0?void 0:e.getToken());return t!=null&&t.error&&wv(`Error while retrieving App Check token: ${t.error}`),t==null?void 0:t.token}}function ot(n){return X(n)}class xh{constructor(e){this.auth=e,this.observer=null,this.addObserver=wp(t=>this.observer=t)}get next(){return M(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}/**
2517
+ */class Kv{constructor(e,t,r,s){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=r,this.config=s,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new Fh(this),this.idTokenSubscription=new Fh(this),this.beforeStateQueue=new Hv(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=gh,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=s.sdkClientVersion}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=vt(t)),this._initializationPromise=this.queue(async()=>{var r,s;if(!this._deleted&&(this.persistenceManager=await Bn.create(this,e),!this._deleted)){if(!((r=this._popupRedirectResolver)===null||r===void 0)&&r._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch{}await this.initializeCurrentUser(t),this.lastNotifiedUid=((s=this.currentUser)===null||s===void 0?void 0:s.uid)||null,!this._deleted&&(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;const 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{const t=await Ih(this,{idToken:e}),r=await yt._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(r)}catch(t){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",t),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){var t;if(Te(this.app)){const a=this.app.settings.authIdToken;return a?new Promise(c=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(a).then(c,c))}):this.directlySetCurrentUser(null)}const r=await this.assertedPersistence.getCurrentUser();let s=r,i=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();const a=(t=this.redirectUser)===null||t===void 0?void 0:t._redirectEventId,c=s==null?void 0:s._redirectEventId,l=await this.tryRedirectSignIn(e);(!a||a===c)&&(l!=null&&l.user)&&(s=l.user,i=!0)}if(!s)return this.directlySetCurrentUser(null);if(!s._redirectEventId){if(i)try{await this.beforeStateQueue.runMiddleware(s)}catch(a){s=r,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(a))}return s?this.reloadAndSetCurrentUserOrClear(s):this.directlySetCurrentUser(null)}return M(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===s._redirectEventId?this.directlySetCurrentUser(s):this.reloadAndSetCurrentUserOrClear(s)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch{await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await Sr(e)}catch(t){if((t==null?void 0:t.code)!=="auth/network-request-failed")return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=bv()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(Te(this.app))return Promise.reject(it(this));const t=e?X(e):null;return t&&M(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&&M(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 Te(this.app)?Promise.reject(it(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Te(this.app)?Promise.reject(it(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(vt(e))})}_getRecaptchaConfig(){return this.tenantId==null?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();const 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 this.tenantId===null?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){const e=await zv(this),t=new Gv(e);this.tenantId===null?this._projectPasswordPolicy=t:this._tenantPasswordPolicies[this.tenantId]=t}_getPersistence(){return this.assertedPersistence.persistence.type}_updateErrorMap(e){this._errorFactory=new Zn("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{const r=this.onAuthStateChanged(()=>{r(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){const t=await this.currentUser.getIdToken(),r={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:t};this.tenantId!=null&&(r.tenantId=this.tenantId),await jv(this,r)}}toJSON(){var e;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:(e=this._currentUser)===null||e===void 0?void 0:e.toJSON()}}async _setRedirectUser(e,t){const r=await this.getOrInitRedirectPersistenceManager(t);return e===null?r.removeCurrentUser():r.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){const t=e&&vt(e)||this._popupRedirectResolver;M(t,this,"argument-error"),this.redirectPersistenceManager=await Bn.create(this,[vt(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){var t,r;return this._isInitialized&&await this.queue(async()=>{}),((t=this._currentUser)===null||t===void 0?void 0:t._redirectEventId)===e?this._currentUser:((r=this.redirectUser)===null||r===void 0?void 0:r._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(){var e,t;if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);const r=(t=(e=this.currentUser)===null||e===void 0?void 0:e.uid)!==null&&t!==void 0?t:null;this.lastNotifiedUid!==r&&(this.lastNotifiedUid=r,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,r,s){if(this._deleted)return()=>{};const i=typeof t=="function"?t:t.next.bind(t);let a=!1;const c=this._isInitialized?Promise.resolve():this._initializationPromise;if(M(c,this,"internal-error"),c.then(()=>{a||i(this.currentUser)}),typeof t=="function"){const l=e.addObserver(t,r,s);return()=>{a=!0,l()}}else{const l=e.addObserver(t);return()=>{a=!0,l()}}}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 M(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=xh(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){var e;const t={"X-Client-Version":this.clientVersion};this.app.options.appId&&(t["X-Firebase-gmpid"]=this.app.options.appId);const r=await((e=this.heartbeatServiceProvider.getImmediate({optional:!0}))===null||e===void 0?void 0:e.getHeartbeatsHeader());r&&(t["X-Firebase-Client"]=r);const s=await this._getAppCheckToken();return s&&(t["X-Firebase-AppCheck"]=s),t}async _getAppCheckToken(){var e;if(Te(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;const t=await((e=this.appCheckServiceProvider.getImmediate({optional:!0}))===null||e===void 0?void 0:e.getToken());return t!=null&&t.error&&Iv(`Error while retrieving App Check token: ${t.error}`),t==null?void 0:t.token}}function ot(n){return X(n)}class Fh{constructor(e){this.auth=e,this.observer=null,this.addObserver=Ip(t=>this.observer=t)}get next(){return M(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}/**
2533
2518
  * @license
2534
2519
  * Copyright 2020 Google LLC
2535
2520
  *
@@ -2544,7 +2529,7 @@ This typically indicates that your device does not have a healthy Internet conne
2544
2529
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2545
2530
  * See the License for the specific language governing permissions and
2546
2531
  * limitations under the License.
2547
- */let ei={async loadJS(){throw new Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function Kv(n){ei=n}function Fh(n){return ei.loadJS(n)}function Qv(){return ei.recaptchaEnterpriseScript}function Xv(){return ei.gapiScript}function Yv(n){return`__${n}${Math.floor(Math.random()*1e6)}`}class Jv{constructor(){this.enterprise=new Zv}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class Zv{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}const eE="recaptcha-enterprise",Bh="NO_RECAPTCHA";class tE{constructor(e){this.type=eE,this.auth=ot(e)}async verify(e="verify",t=!1){async function r(i){if(!t){if(i.tenantId==null&&i._agentRecaptchaConfig!=null)return i._agentRecaptchaConfig.siteKey;if(i.tenantId!=null&&i._tenantRecaptchaConfigs[i.tenantId]!==void 0)return i._tenantRecaptchaConfigs[i.tenantId].siteKey}return new Promise(async(a,c)=>{Nv(i,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(l=>{if(l.recaptchaKey===void 0)c(new Error("recaptcha Enterprise site key undefined"));else{const d=new kv(l);return i.tenantId==null?i._agentRecaptchaConfig=d:i._tenantRecaptchaConfigs[i.tenantId]=d,a(d.siteKey)}}).catch(l=>{c(l)})})}function s(i,a,c){const l=window.grecaptcha;Th(l)?l.enterprise.ready(()=>{l.enterprise.execute(i,{action:e}).then(d=>{a(d)}).catch(()=>{a(Bh)})}):c(Error("No reCAPTCHA enterprise script loaded."))}return this.auth.settings.appVerificationDisabledForTesting?new Jv().execute("siteKey",{action:"verify"}):new Promise((i,a)=>{r(this.auth).then(c=>{if(!t&&Th(window.grecaptcha))s(c,i,a);else{if(typeof window>"u"){a(new Error("RecaptchaVerifier is only supported in browser"));return}let l=Qv();l.length!==0&&(l+=c),Fh(l).then(()=>{s(c,i,a)}).catch(d=>{a(d)})}}).catch(c=>{a(c)})})}}async function jh(n,e,t,r=!1,s=!1){const i=new tE(n);let a;if(s)a=Bh;else try{a=await i.verify(t)}catch{a=await i.verify(t,!0)}const c=Object.assign({},e);if(t==="mfaSmsEnrollment"||t==="mfaSmsSignIn"){if("phoneEnrollmentInfo"in c){const l=c.phoneEnrollmentInfo.phoneNumber,d=c.phoneEnrollmentInfo.recaptchaToken;Object.assign(c,{phoneEnrollmentInfo:{phoneNumber:l,recaptchaToken:d,captchaResponse:a,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}else if("phoneSignInInfo"in c){const l=c.phoneSignInInfo.recaptchaToken;Object.assign(c,{phoneSignInInfo:{recaptchaToken:l,captchaResponse:a,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}return c}return r?Object.assign(c,{captchaResp:a}):Object.assign(c,{captchaResponse:a}),Object.assign(c,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(c,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"}),c}async function ti(n,e,t,r,s){var i;if(!((i=n._getRecaptchaConfig())===null||i===void 0)&&i.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")){const a=await jh(n,e,t,t==="getOobCode");return r(n,a)}else return r(n,e).catch(async a=>{if(a.code==="auth/missing-recaptcha-token"){console.log(`${t} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);const c=await jh(n,e,t,t==="getOobCode");return r(n,c)}else return Promise.reject(a)})}/**
2532
+ */let ei={async loadJS(){throw new Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function Qv(n){ei=n}function Bh(n){return ei.loadJS(n)}function Xv(){return ei.recaptchaEnterpriseScript}function Yv(){return ei.gapiScript}function Jv(n){return`__${n}${Math.floor(Math.random()*1e6)}`}class Zv{constructor(){this.enterprise=new eE}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class eE{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}const tE="recaptcha-enterprise",jh="NO_RECAPTCHA";class nE{constructor(e){this.type=tE,this.auth=ot(e)}async verify(e="verify",t=!1){async function r(i){if(!t){if(i.tenantId==null&&i._agentRecaptchaConfig!=null)return i._agentRecaptchaConfig.siteKey;if(i.tenantId!=null&&i._tenantRecaptchaConfigs[i.tenantId]!==void 0)return i._tenantRecaptchaConfigs[i.tenantId].siteKey}return new Promise(async(a,c)=>{Dv(i,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(l=>{if(l.recaptchaKey===void 0)c(new Error("recaptcha Enterprise site key undefined"));else{const d=new Nv(l);return i.tenantId==null?i._agentRecaptchaConfig=d:i._tenantRecaptchaConfigs[i.tenantId]=d,a(d.siteKey)}}).catch(l=>{c(l)})})}function s(i,a,c){const l=window.grecaptcha;wh(l)?l.enterprise.ready(()=>{l.enterprise.execute(i,{action:e}).then(d=>{a(d)}).catch(()=>{a(jh)})}):c(Error("No reCAPTCHA enterprise script loaded."))}return this.auth.settings.appVerificationDisabledForTesting?new Zv().execute("siteKey",{action:"verify"}):new Promise((i,a)=>{r(this.auth).then(c=>{if(!t&&wh(window.grecaptcha))s(c,i,a);else{if(typeof window>"u"){a(new Error("RecaptchaVerifier is only supported in browser"));return}let l=Xv();l.length!==0&&(l+=c),Bh(l).then(()=>{s(c,i,a)}).catch(d=>{a(d)})}}).catch(c=>{a(c)})})}}async function qh(n,e,t,r=!1,s=!1){const i=new nE(n);let a;if(s)a=jh;else try{a=await i.verify(t)}catch{a=await i.verify(t,!0)}const c=Object.assign({},e);if(t==="mfaSmsEnrollment"||t==="mfaSmsSignIn"){if("phoneEnrollmentInfo"in c){const l=c.phoneEnrollmentInfo.phoneNumber,d=c.phoneEnrollmentInfo.recaptchaToken;Object.assign(c,{phoneEnrollmentInfo:{phoneNumber:l,recaptchaToken:d,captchaResponse:a,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}else if("phoneSignInInfo"in c){const l=c.phoneSignInInfo.recaptchaToken;Object.assign(c,{phoneSignInInfo:{recaptchaToken:l,captchaResponse:a,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}return c}return r?Object.assign(c,{captchaResp:a}):Object.assign(c,{captchaResponse:a}),Object.assign(c,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(c,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"}),c}async function ti(n,e,t,r,s){var i;if(!((i=n._getRecaptchaConfig())===null||i===void 0)&&i.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")){const a=await qh(n,e,t,t==="getOobCode");return r(n,a)}else return r(n,e).catch(async a=>{if(a.code==="auth/missing-recaptcha-token"){console.log(`${t} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);const c=await qh(n,e,t,t==="getOobCode");return r(n,c)}else return Promise.reject(a)})}/**
2548
2533
  * @license
2549
2534
  * Copyright 2020 Google LLC
2550
2535
  *
@@ -2559,7 +2544,7 @@ This typically indicates that your device does not have a healthy Internet conne
2559
2544
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2560
2545
  * See the License for the specific language governing permissions and
2561
2546
  * limitations under the License.
2562
- */function nE(n,e){const t=nr(n,"auth");if(t.isInitialized()){const s=t.getImmediate(),i=t.getOptions();if(Zr(i,e??{}))return s;He(s,"already-initialized")}return t.initialize({options:e})}function rE(n,e){const t=(e==null?void 0:e.persistence)||[],r=(Array.isArray(t)?t:[t]).map(vt);e!=null&&e.errorMap&&n._updateErrorMap(e.errorMap),n._initializeWithPersistence(r,e==null?void 0:e.popupRedirectResolver)}function qh(n,e,t){const r=ot(n);M(r._canInitEmulator,r,"emulator-config-failed"),M(/^https?:\/\//.test(e),r,"invalid-emulator-scheme");const s=!1,i=$h(e),{host:a,port:c}=sE(e),l=c===null?"":`:${c}`;r.config.emulator={url:`${i}//${a}${l}/`},r.settings.appVerificationDisabledForTesting=!0,r.emulatorConfig=Object.freeze({host:a,port:c,protocol:i.replace(":",""),options:Object.freeze({disableWarnings:s})}),iE()}function $h(n){const e=n.indexOf(":");return e<0?"":n.substr(0,e+1)}function sE(n){const e=$h(n),t=/(\/\/)?([^?#/]+)/.exec(n.substr(e.length));if(!t)return{host:"",port:null};const r=t[2].split("@").pop()||"",s=/^(\[[^\]]+\])(:|$)/.exec(r);if(s){const i=s[1];return{host:i,port:Hh(r.substr(i.length+1))}}else{const[i,a]=r.split(":");return{host:i,port:Hh(a)}}}function Hh(n){if(!n)return null;const e=Number(n);return isNaN(e)?null:e}function iE(){function n(){const 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)}typeof console<"u"&&typeof console.info=="function"&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),typeof window<"u"&&typeof document<"u"&&(document.readyState==="loading"?window.addEventListener("DOMContentLoaded",n):n())}/**
2547
+ */function rE(n,e){const t=rr(n,"auth");if(t.isInitialized()){const s=t.getImmediate(),i=t.getOptions();if(Qt(i,e??{}))return s;He(s,"already-initialized")}return t.initialize({options:e})}function sE(n,e){const t=(e==null?void 0:e.persistence)||[],r=(Array.isArray(t)?t:[t]).map(vt);e!=null&&e.errorMap&&n._updateErrorMap(e.errorMap),n._initializeWithPersistence(r,e==null?void 0:e.popupRedirectResolver)}function $h(n,e,t){const r=ot(n);M(/^https?:\/\//.test(e),r,"invalid-emulator-scheme");const s=!1,i=Hh(e),{host:a,port:c}=iE(e),l=c===null?"":`:${c}`,d={url:`${i}//${a}${l}/`},f=Object.freeze({host:a,port:c,protocol:i.replace(":",""),options:Object.freeze({disableWarnings:s})});if(!r._canInitEmulator){M(r.config.emulator&&r.emulatorConfig,r,"emulator-config-failed"),M(Qt(d,r.config.emulator)&&Qt(f,r.emulatorConfig),r,"emulator-config-failed");return}r.config.emulator=d,r.emulatorConfig=f,r.settings.appVerificationDisabledForTesting=!0,oE()}function Hh(n){const e=n.indexOf(":");return e<0?"":n.substr(0,e+1)}function iE(n){const e=Hh(n),t=/(\/\/)?([^?#/]+)/.exec(n.substr(e.length));if(!t)return{host:"",port:null};const r=t[2].split("@").pop()||"",s=/^(\[[^\]]+\])(:|$)/.exec(r);if(s){const i=s[1];return{host:i,port:zh(r.substr(i.length+1))}}else{const[i,a]=r.split(":");return{host:i,port:zh(a)}}}function zh(n){if(!n)return null;const e=Number(n);return isNaN(e)?null:e}function oE(){function n(){const 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)}typeof console<"u"&&typeof console.info=="function"&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),typeof window<"u"&&typeof document<"u"&&(document.readyState==="loading"?window.addEventListener("DOMContentLoaded",n):n())}/**
2563
2548
  * @license
2564
2549
  * Copyright 2020 Google LLC
2565
2550
  *
@@ -2574,7 +2559,7 @@ This typically indicates that your device does not have a healthy Internet conne
2574
2559
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2575
2560
  * See the License for the specific language governing permissions and
2576
2561
  * limitations under the License.
2577
- */class fa{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return mt("not implemented")}_getIdTokenResponse(e){return mt("not implemented")}_linkToIdToken(e,t){return mt("not implemented")}_getReauthenticationResolver(e){return mt("not implemented")}}async function oE(n,e){return Qe(n,"POST","/v1/accounts:signUp",e)}/**
2562
+ */class fa{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return mt("not implemented")}_getIdTokenResponse(e){return mt("not implemented")}_linkToIdToken(e,t){return mt("not implemented")}_getReauthenticationResolver(e){return mt("not implemented")}}async function aE(n,e){return Qe(n,"POST","/v1/accounts:signUp",e)}/**
2578
2563
  * @license
2579
2564
  * Copyright 2020 Google LLC
2580
2565
  *
@@ -2589,7 +2574,7 @@ This typically indicates that your device does not have a healthy Internet conne
2589
2574
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2590
2575
  * See the License for the specific language governing permissions and
2591
2576
  * limitations under the License.
2592
- */async function aE(n,e){return Rr(n,"POST","/v1/accounts:signInWithPassword",_t(n,e))}async function zh(n,e){return Qe(n,"POST","/v1/accounts:sendOobCode",_t(n,e))}async function cE(n,e){return zh(n,e)}async function uE(n,e){return zh(n,e)}/**
2577
+ */async function cE(n,e){return br(n,"POST","/v1/accounts:signInWithPassword",_t(n,e))}async function Wh(n,e){return Qe(n,"POST","/v1/accounts:sendOobCode",_t(n,e))}async function uE(n,e){return Wh(n,e)}async function lE(n,e){return Wh(n,e)}/**
2593
2578
  * @license
2594
2579
  * Copyright 2020 Google LLC
2595
2580
  *
@@ -2604,7 +2589,7 @@ This typically indicates that your device does not have a healthy Internet conne
2604
2589
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2605
2590
  * See the License for the specific language governing permissions and
2606
2591
  * limitations under the License.
2607
- */async function lE(n,e){return Rr(n,"POST","/v1/accounts:signInWithEmailLink",_t(n,e))}async function hE(n,e){return Rr(n,"POST","/v1/accounts:signInWithEmailLink",_t(n,e))}/**
2592
+ */async function hE(n,e){return br(n,"POST","/v1/accounts:signInWithEmailLink",_t(n,e))}async function dE(n,e){return br(n,"POST","/v1/accounts:signInWithEmailLink",_t(n,e))}/**
2608
2593
  * @license
2609
2594
  * Copyright 2020 Google LLC
2610
2595
  *
@@ -2619,7 +2604,7 @@ This typically indicates that your device does not have a healthy Internet conne
2619
2604
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2620
2605
  * See the License for the specific language governing permissions and
2621
2606
  * limitations under the License.
2622
- */class Sr extends fa{constructor(e,t,r,s=null){super("password",r),this._email=e,this._password=t,this._tenantId=s}static _fromEmailAndPassword(e,t){return new Sr(e,t,"password")}static _fromEmailAndCode(e,t,r=null){return new Sr(e,t,"emailLink",r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){const t=typeof e=="string"?JSON.parse(e):e;if(t!=null&&t.email&&(t!=null&&t.password)){if(t.signInMethod==="password")return this._fromEmailAndPassword(t.email,t.password);if(t.signInMethod==="emailLink")return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":const t={returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"};return ti(e,t,"signInWithPassword",aE);case"emailLink":return lE(e,{email:this._email,oobCode:this._password});default:He(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":const r={idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"};return ti(e,r,"signUpPassword",oE);case"emailLink":return hE(e,{idToken:t,email:this._email,oobCode:this._password});default:He(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}/**
2607
+ */class Cr extends fa{constructor(e,t,r,s=null){super("password",r),this._email=e,this._password=t,this._tenantId=s}static _fromEmailAndPassword(e,t){return new Cr(e,t,"password")}static _fromEmailAndCode(e,t,r=null){return new Cr(e,t,"emailLink",r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){const t=typeof e=="string"?JSON.parse(e):e;if(t!=null&&t.email&&(t!=null&&t.password)){if(t.signInMethod==="password")return this._fromEmailAndPassword(t.email,t.password);if(t.signInMethod==="emailLink")return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":const t={returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"};return ti(e,t,"signInWithPassword",cE);case"emailLink":return hE(e,{email:this._email,oobCode:this._password});default:He(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":const r={idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"};return ti(e,r,"signUpPassword",aE);case"emailLink":return dE(e,{idToken:t,email:this._email,oobCode:this._password});default:He(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}/**
2623
2608
  * @license
2624
2609
  * Copyright 2020 Google LLC
2625
2610
  *
@@ -2634,7 +2619,7 @@ This typically indicates that your device does not have a healthy Internet conne
2634
2619
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2635
2620
  * See the License for the specific language governing permissions and
2636
2621
  * limitations under the License.
2637
- */async function jn(n,e){return Rr(n,"POST","/v1/accounts:signInWithIdp",_t(n,e))}/**
2622
+ */async function jn(n,e){return br(n,"POST","/v1/accounts:signInWithIdp",_t(n,e))}/**
2638
2623
  * @license
2639
2624
  * Copyright 2020 Google LLC
2640
2625
  *
@@ -2649,7 +2634,7 @@ This typically indicates that your device does not have a healthy Internet conne
2649
2634
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2650
2635
  * See the License for the specific language governing permissions and
2651
2636
  * limitations under the License.
2652
- */const dE="http://localhost";class on extends fa{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){const t=new on(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):He("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){const t=typeof e=="string"?JSON.parse(e):e,{providerId:r,signInMethod:s}=t,i=sa(t,["providerId","signInMethod"]);if(!r||!s)return null;const a=new on(r,s);return a.idToken=i.idToken||void 0,a.accessToken=i.accessToken||void 0,a.secret=i.secret,a.nonce=i.nonce,a.pendingToken=i.pendingToken||null,a}_getIdTokenResponse(e){const t=this.buildRequest();return jn(e,t)}_linkToIdToken(e,t){const r=this.buildRequest();return r.idToken=t,jn(e,r)}_getReauthenticationResolver(e){const t=this.buildRequest();return t.autoCreate=!1,jn(e,t)}buildRequest(){const e={requestUri:dE,returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{const 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=Zn(t)}return e}}/**
2637
+ */const fE="http://localhost";class an extends fa{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){const t=new an(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):He("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){const t=typeof e=="string"?JSON.parse(e):e,{providerId:r,signInMethod:s}=t,i=sa(t,["providerId","signInMethod"]);if(!r||!s)return null;const a=new an(r,s);return a.idToken=i.idToken||void 0,a.accessToken=i.accessToken||void 0,a.secret=i.secret,a.nonce=i.nonce,a.pendingToken=i.pendingToken||null,a}_getIdTokenResponse(e){const t=this.buildRequest();return jn(e,t)}_linkToIdToken(e,t){const r=this.buildRequest();return r.idToken=t,jn(e,r)}_getReauthenticationResolver(e){const t=this.buildRequest();return t.autoCreate=!1,jn(e,t)}buildRequest(){const e={requestUri:fE,returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{const 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=er(t)}return e}}/**
2653
2638
  * @license
2654
2639
  * Copyright 2020 Google LLC
2655
2640
  *
@@ -2664,7 +2649,7 @@ This typically indicates that your device does not have a healthy Internet conne
2664
2649
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2665
2650
  * See the License for the specific language governing permissions and
2666
2651
  * limitations under the License.
2667
- */function fE(n){switch(n){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}}function pE(n){const e=er(tr(n)).link,t=e?er(tr(e)).deep_link_id:null,r=er(tr(n)).deep_link_id;return(r?er(tr(r)).link:null)||r||t||e||n}class pa{constructor(e){var t,r,s,i,a,c;const l=er(tr(e)),d=(t=l.apiKey)!==null&&t!==void 0?t:null,f=(r=l.oobCode)!==null&&r!==void 0?r:null,m=fE((s=l.mode)!==null&&s!==void 0?s:null);M(d&&f&&m,"argument-error"),this.apiKey=d,this.operation=m,this.code=f,this.continueUrl=(i=l.continueUrl)!==null&&i!==void 0?i:null,this.languageCode=(a=l.languageCode)!==null&&a!==void 0?a:null,this.tenantId=(c=l.tenantId)!==null&&c!==void 0?c:null}static parseLink(e){const t=pE(e);try{return new pa(t)}catch{return null}}}/**
2652
+ */function pE(n){switch(n){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}}function mE(n){const e=tr(nr(n)).link,t=e?tr(nr(e)).deep_link_id:null,r=tr(nr(n)).deep_link_id;return(r?tr(nr(r)).link:null)||r||t||e||n}class pa{constructor(e){var t,r,s,i,a,c;const l=tr(nr(e)),d=(t=l.apiKey)!==null&&t!==void 0?t:null,f=(r=l.oobCode)!==null&&r!==void 0?r:null,m=pE((s=l.mode)!==null&&s!==void 0?s:null);M(d&&f&&m,"argument-error"),this.apiKey=d,this.operation=m,this.code=f,this.continueUrl=(i=l.continueUrl)!==null&&i!==void 0?i:null,this.languageCode=(a=l.languageCode)!==null&&a!==void 0?a:null,this.tenantId=(c=l.tenantId)!==null&&c!==void 0?c:null}static parseLink(e){const t=mE(e);try{return new pa(t)}catch{return null}}}/**
2668
2653
  * @license
2669
2654
  * Copyright 2020 Google LLC
2670
2655
  *
@@ -2679,7 +2664,7 @@ This typically indicates that your device does not have a healthy Internet conne
2679
2664
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2680
2665
  * See the License for the specific language governing permissions and
2681
2666
  * limitations under the License.
2682
- */class qn{constructor(){this.providerId=qn.PROVIDER_ID}static credential(e,t){return Sr._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){const r=pa.parseLink(t);return M(r,"argument-error"),Sr._fromEmailAndCode(e,r.code,r.tenantId)}}qn.PROVIDER_ID="password",qn.EMAIL_PASSWORD_SIGN_IN_METHOD="password",qn.EMAIL_LINK_SIGN_IN_METHOD="emailLink";/**
2667
+ */class qn{constructor(){this.providerId=qn.PROVIDER_ID}static credential(e,t){return Cr._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){const r=pa.parseLink(t);return M(r,"argument-error"),Cr._fromEmailAndCode(e,r.code,r.tenantId)}}qn.PROVIDER_ID="password",qn.EMAIL_PASSWORD_SIGN_IN_METHOD="password",qn.EMAIL_LINK_SIGN_IN_METHOD="emailLink";/**
2683
2668
  * @license
2684
2669
  * Copyright 2020 Google LLC
2685
2670
  *
@@ -2709,7 +2694,7 @@ This typically indicates that your device does not have a healthy Internet conne
2709
2694
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2710
2695
  * See the License for the specific language governing permissions and
2711
2696
  * limitations under the License.
2712
- */class Cr extends ni{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}/**
2697
+ */class kr extends ni{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}/**
2713
2698
  * @license
2714
2699
  * Copyright 2020 Google LLC
2715
2700
  *
@@ -2724,7 +2709,7 @@ This typically indicates that your device does not have a healthy Internet conne
2724
2709
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2725
2710
  * See the License for the specific language governing permissions and
2726
2711
  * limitations under the License.
2727
- */class at extends Cr{constructor(){super("facebook.com")}static credential(e){return on._fromParams({providerId:at.PROVIDER_ID,signInMethod:at.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return at.credentialFromTaggedObject(e)}static credentialFromError(e){return at.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return at.credential(e.oauthAccessToken)}catch{return null}}}at.FACEBOOK_SIGN_IN_METHOD="facebook.com",at.PROVIDER_ID="facebook.com";/**
2712
+ */class at extends kr{constructor(){super("facebook.com")}static credential(e){return an._fromParams({providerId:at.PROVIDER_ID,signInMethod:at.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return at.credentialFromTaggedObject(e)}static credentialFromError(e){return at.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return at.credential(e.oauthAccessToken)}catch{return null}}}at.FACEBOOK_SIGN_IN_METHOD="facebook.com",at.PROVIDER_ID="facebook.com";/**
2728
2713
  * @license
2729
2714
  * Copyright 2020 Google LLC
2730
2715
  *
@@ -2739,7 +2724,7 @@ This typically indicates that your device does not have a healthy Internet conne
2739
2724
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2740
2725
  * See the License for the specific language governing permissions and
2741
2726
  * limitations under the License.
2742
- */class ct extends Cr{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return on._fromParams({providerId:ct.PROVIDER_ID,signInMethod:ct.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return ct.credentialFromTaggedObject(e)}static credentialFromError(e){return ct.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;const{oauthIdToken:t,oauthAccessToken:r}=e;if(!t&&!r)return null;try{return ct.credential(t,r)}catch{return null}}}ct.GOOGLE_SIGN_IN_METHOD="google.com",ct.PROVIDER_ID="google.com";/**
2727
+ */class ct extends kr{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return an._fromParams({providerId:ct.PROVIDER_ID,signInMethod:ct.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return ct.credentialFromTaggedObject(e)}static credentialFromError(e){return ct.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;const{oauthIdToken:t,oauthAccessToken:r}=e;if(!t&&!r)return null;try{return ct.credential(t,r)}catch{return null}}}ct.GOOGLE_SIGN_IN_METHOD="google.com",ct.PROVIDER_ID="google.com";/**
2743
2728
  * @license
2744
2729
  * Copyright 2020 Google LLC
2745
2730
  *
@@ -2754,7 +2739,7 @@ This typically indicates that your device does not have a healthy Internet conne
2754
2739
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2755
2740
  * See the License for the specific language governing permissions and
2756
2741
  * limitations under the License.
2757
- */class qt extends Cr{constructor(){super("github.com")}static credential(e){return on._fromParams({providerId:qt.PROVIDER_ID,signInMethod:qt.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return qt.credentialFromTaggedObject(e)}static credentialFromError(e){return qt.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return qt.credential(e.oauthAccessToken)}catch{return null}}}qt.GITHUB_SIGN_IN_METHOD="github.com",qt.PROVIDER_ID="github.com";/**
2742
+ */class qt extends kr{constructor(){super("github.com")}static credential(e){return an._fromParams({providerId:qt.PROVIDER_ID,signInMethod:qt.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return qt.credentialFromTaggedObject(e)}static credentialFromError(e){return qt.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return qt.credential(e.oauthAccessToken)}catch{return null}}}qt.GITHUB_SIGN_IN_METHOD="github.com",qt.PROVIDER_ID="github.com";/**
2758
2743
  * @license
2759
2744
  * Copyright 2020 Google LLC
2760
2745
  *
@@ -2769,7 +2754,7 @@ This typically indicates that your device does not have a healthy Internet conne
2769
2754
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2770
2755
  * See the License for the specific language governing permissions and
2771
2756
  * limitations under the License.
2772
- */class Xe extends Cr{constructor(){super("twitter.com")}static credential(e,t){return on._fromParams({providerId:Xe.PROVIDER_ID,signInMethod:Xe.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return Xe.credentialFromTaggedObject(e)}static credentialFromError(e){return Xe.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;const{oauthAccessToken:t,oauthTokenSecret:r}=e;if(!t||!r)return null;try{return Xe.credential(t,r)}catch{return null}}}Xe.TWITTER_SIGN_IN_METHOD="twitter.com",Xe.PROVIDER_ID="twitter.com";/**
2757
+ */class Xe extends kr{constructor(){super("twitter.com")}static credential(e,t){return an._fromParams({providerId:Xe.PROVIDER_ID,signInMethod:Xe.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return Xe.credentialFromTaggedObject(e)}static credentialFromError(e){return Xe.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;const{oauthAccessToken:t,oauthTokenSecret:r}=e;if(!t||!r)return null;try{return Xe.credential(t,r)}catch{return null}}}Xe.TWITTER_SIGN_IN_METHOD="twitter.com",Xe.PROVIDER_ID="twitter.com";/**
2773
2758
  * @license
2774
2759
  * Copyright 2020 Google LLC
2775
2760
  *
@@ -2784,7 +2769,7 @@ This typically indicates that your device does not have a healthy Internet conne
2784
2769
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2785
2770
  * See the License for the specific language governing permissions and
2786
2771
  * limitations under the License.
2787
- */async function Wh(n,e){return Rr(n,"POST","/v1/accounts:signUp",_t(n,e))}/**
2772
+ */async function Gh(n,e){return br(n,"POST","/v1/accounts:signUp",_t(n,e))}/**
2788
2773
  * @license
2789
2774
  * Copyright 2020 Google LLC
2790
2775
  *
@@ -2799,7 +2784,7 @@ This typically indicates that your device does not have a healthy Internet conne
2799
2784
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2800
2785
  * See the License for the specific language governing permissions and
2801
2786
  * limitations under the License.
2802
- */class Et{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,s=!1){const i=await yt._fromIdTokenResponse(e,r,s),a=Gh(r);return new Et({user:i,providerId:a,_tokenResponse:r,operationType:t})}static async _forOperation(e,t,r){await e._updateTokensIfNecessary(r,!0);const s=Gh(r);return new Et({user:e,providerId:s,_tokenResponse:r,operationType:t})}}function Gh(n){return n.providerId?n.providerId:"phoneNumber"in n?"phone":null}/**
2787
+ */class Et{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,s=!1){const i=await yt._fromIdTokenResponse(e,r,s),a=Kh(r);return new Et({user:i,providerId:a,_tokenResponse:r,operationType:t})}static async _forOperation(e,t,r){await e._updateTokensIfNecessary(r,!0);const s=Kh(r);return new Et({user:e,providerId:s,_tokenResponse:r,operationType:t})}}function Kh(n){return n.providerId?n.providerId:"phoneNumber"in n?"phone":null}/**
2803
2788
  * @license
2804
2789
  * Copyright 2020 Google LLC
2805
2790
  *
@@ -2814,7 +2799,7 @@ This typically indicates that your device does not have a healthy Internet conne
2814
2799
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2815
2800
  * See the License for the specific language governing permissions and
2816
2801
  * limitations under the License.
2817
- */async function mE(n){var e;if(Te(n.app))return Promise.reject(it(n));const t=ot(n);if(await t._initializationPromise,!((e=t.currentUser)===null||e===void 0)&&e.isAnonymous)return new Et({user:t.currentUser,providerId:null,operationType:"signIn"});const r=await Wh(t,{returnSecureToken:!0}),s=await Et._fromIdTokenResponse(t,"signIn",r,!0);return await t._updateCurrentUser(s.user),s}/**
2802
+ */async function gE(n){var e;if(Te(n.app))return Promise.reject(it(n));const t=ot(n);if(await t._initializationPromise,!((e=t.currentUser)===null||e===void 0)&&e.isAnonymous)return new Et({user:t.currentUser,providerId:null,operationType:"signIn"});const r=await Gh(t,{returnSecureToken:!0}),s=await Et._fromIdTokenResponse(t,"signIn",r,!0);return await t._updateCurrentUser(s.user),s}/**
2818
2803
  * @license
2819
2804
  * Copyright 2020 Google LLC
2820
2805
  *
@@ -2829,7 +2814,7 @@ This typically indicates that your device does not have a healthy Internet conne
2829
2814
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2830
2815
  * See the License for the specific language governing permissions and
2831
2816
  * limitations under the License.
2832
- */class ri extends ze{constructor(e,t,r,s){var i;super(t.code,t.message),this.operationType=r,this.user=s,Object.setPrototypeOf(this,ri.prototype),this.customData={appName:e.name,tenantId:(i=e.tenantId)!==null&&i!==void 0?i:void 0,_serverResponse:t.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(e,t,r,s){return new ri(e,t,r,s)}}function Kh(n,e,t,r){return(e==="reauthenticate"?t._getReauthenticationResolver(n):t._getIdTokenResponse(n)).catch(i=>{throw i.code==="auth/multi-factor-auth-required"?ri._fromErrorAndOperation(n,i,e,r):i})}/**
2817
+ */class ri extends ze{constructor(e,t,r,s){var i;super(t.code,t.message),this.operationType=r,this.user=s,Object.setPrototypeOf(this,ri.prototype),this.customData={appName:e.name,tenantId:(i=e.tenantId)!==null&&i!==void 0?i:void 0,_serverResponse:t.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(e,t,r,s){return new ri(e,t,r,s)}}function Qh(n,e,t,r){return(e==="reauthenticate"?t._getReauthenticationResolver(n):t._getIdTokenResponse(n)).catch(i=>{throw i.code==="auth/multi-factor-auth-required"?ri._fromErrorAndOperation(n,i,e,r):i})}/**
2833
2818
  * @license
2834
2819
  * Copyright 2020 Google LLC
2835
2820
  *
@@ -2844,7 +2829,7 @@ This typically indicates that your device does not have a healthy Internet conne
2844
2829
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2845
2830
  * See the License for the specific language governing permissions and
2846
2831
  * limitations under the License.
2847
- */function Qh(n){return new Set(n.map(({providerId:e})=>e).filter(e=>!!e))}/**
2832
+ */function Xh(n){return new Set(n.map(({providerId:e})=>e).filter(e=>!!e))}/**
2848
2833
  * @license
2849
2834
  * Copyright 2019 Google LLC
2850
2835
  *
@@ -2859,7 +2844,7 @@ This typically indicates that your device does not have a healthy Internet conne
2859
2844
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2860
2845
  * See the License for the specific language governing permissions and
2861
2846
  * limitations under the License.
2862
- */async function gE(n,e){const t=X(n);await yE(!0,t,e);const{providerUserInfo:r}=await Ov(t.auth,{idToken:await t.getIdToken(),deleteProvider:[e]}),s=Qh(r||[]);return t.providerData=t.providerData.filter(i=>s.has(i.providerId)),s.has("phone")||(t.phoneNumber=null),await t.auth._persistUserIfCurrent(t),t}async function _E(n,e,t=!1){const r=await xn(n,e._linkToIdToken(n.auth,await n.getIdToken()),t);return Et._forOperation(n,"link",r)}async function yE(n,e,t){await Pr(e);const r=Qh(e.providerData);M(r.has(t)===n,e.auth,"no-such-provider")}/**
2847
+ */async function _E(n,e){const t=X(n);await vE(!0,t,e);const{providerUserInfo:r}=await Vv(t.auth,{idToken:await t.getIdToken(),deleteProvider:[e]}),s=Xh(r||[]);return t.providerData=t.providerData.filter(i=>s.has(i.providerId)),s.has("phone")||(t.phoneNumber=null),await t.auth._persistUserIfCurrent(t),t}async function yE(n,e,t=!1){const r=await xn(n,e._linkToIdToken(n.auth,await n.getIdToken()),t);return Et._forOperation(n,"link",r)}async function vE(n,e,t){await Sr(e);const r=Xh(e.providerData);M(r.has(t)===n,e.auth,"no-such-provider")}/**
2863
2848
  * @license
2864
2849
  * Copyright 2019 Google LLC
2865
2850
  *
@@ -2874,7 +2859,7 @@ This typically indicates that your device does not have a healthy Internet conne
2874
2859
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2875
2860
  * See the License for the specific language governing permissions and
2876
2861
  * limitations under the License.
2877
- */async function vE(n,e,t=!1){const{auth:r}=n;if(Te(r.app))return Promise.reject(it(r));const s="reauthenticate";try{const i=await xn(n,Kh(r,s,e,n),t);M(i.idToken,r,"internal-error");const a=la(i.idToken);M(a,r,"internal-error");const{sub:c}=a;return M(n.uid===c,r,"user-mismatch"),Et._forOperation(n,s,i)}catch(i){throw(i==null?void 0:i.code)==="auth/user-not-found"&&He(r,"user-mismatch"),i}}/**
2862
+ */async function EE(n,e,t=!1){const{auth:r}=n;if(Te(r.app))return Promise.reject(it(r));const s="reauthenticate";try{const i=await xn(n,Qh(r,s,e,n),t);M(i.idToken,r,"internal-error");const a=la(i.idToken);M(a,r,"internal-error");const{sub:c}=a;return M(n.uid===c,r,"user-mismatch"),Et._forOperation(n,s,i)}catch(i){throw(i==null?void 0:i.code)==="auth/user-not-found"&&He(r,"user-mismatch"),i}}/**
2878
2863
  * @license
2879
2864
  * Copyright 2020 Google LLC
2880
2865
  *
@@ -2889,7 +2874,7 @@ This typically indicates that your device does not have a healthy Internet conne
2889
2874
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2890
2875
  * See the License for the specific language governing permissions and
2891
2876
  * limitations under the License.
2892
- */async function Xh(n,e,t=!1){if(Te(n.app))return Promise.reject(it(n));const r="signIn",s=await Kh(n,r,e),i=await Et._fromIdTokenResponse(n,r,s);return t||await n._updateCurrentUser(i.user),i}async function EE(n,e){return Xh(ot(n),e)}/**
2877
+ */async function Yh(n,e,t=!1){if(Te(n.app))return Promise.reject(it(n));const r="signIn",s=await Qh(n,r,e),i=await Et._fromIdTokenResponse(n,r,s);return t||await n._updateCurrentUser(i.user),i}async function TE(n,e){return Yh(ot(n),e)}/**
2893
2878
  * @license
2894
2879
  * Copyright 2020 Google LLC
2895
2880
  *
@@ -2904,7 +2889,7 @@ This typically indicates that your device does not have a healthy Internet conne
2904
2889
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2905
2890
  * See the License for the specific language governing permissions and
2906
2891
  * limitations under the License.
2907
- */function TE(n,e,t){var r;M(((r=t.url)===null||r===void 0?void 0:r.length)>0,n,"invalid-continue-uri"),M(typeof t.dynamicLinkDomain>"u"||t.dynamicLinkDomain.length>0,n,"invalid-dynamic-link-domain"),M(typeof t.linkDomain>"u"||t.linkDomain.length>0,n,"invalid-hosting-link-domain"),e.continueUrl=t.url,e.dynamicLinkDomain=t.dynamicLinkDomain,e.linkDomain=t.linkDomain,e.canHandleCodeInApp=t.handleCodeInApp,t.iOS&&(M(t.iOS.bundleId.length>0,n,"missing-ios-bundle-id"),e.iOSBundleId=t.iOS.bundleId),t.android&&(M(t.android.packageName.length>0,n,"missing-android-pkg-name"),e.androidInstallApp=t.android.installApp,e.androidMinimumVersionCode=t.android.minimumVersion,e.androidPackageName=t.android.packageName)}/**
2892
+ */function wE(n,e,t){var r;M(((r=t.url)===null||r===void 0?void 0:r.length)>0,n,"invalid-continue-uri"),M(typeof t.dynamicLinkDomain>"u"||t.dynamicLinkDomain.length>0,n,"invalid-dynamic-link-domain"),M(typeof t.linkDomain>"u"||t.linkDomain.length>0,n,"invalid-hosting-link-domain"),e.continueUrl=t.url,e.dynamicLinkDomain=t.dynamicLinkDomain,e.linkDomain=t.linkDomain,e.canHandleCodeInApp=t.handleCodeInApp,t.iOS&&(M(t.iOS.bundleId.length>0,n,"missing-ios-bundle-id"),e.iOSBundleId=t.iOS.bundleId),t.android&&(M(t.android.packageName.length>0,n,"missing-android-pkg-name"),e.androidInstallApp=t.android.installApp,e.androidMinimumVersionCode=t.android.minimumVersion,e.androidPackageName=t.android.packageName)}/**
2908
2893
  * @license
2909
2894
  * Copyright 2020 Google LLC
2910
2895
  *
@@ -2919,7 +2904,7 @@ This typically indicates that your device does not have a healthy Internet conne
2919
2904
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2920
2905
  * See the License for the specific language governing permissions and
2921
2906
  * limitations under the License.
2922
- */async function Yh(n){const e=ot(n);e._getPasswordPolicyInternal()&&await e._updatePasswordPolicy()}async function wE(n,e,t){const r=ot(n);await ti(r,{requestType:"PASSWORD_RESET",email:e,clientType:"CLIENT_TYPE_WEB"},"getOobCode",uE)}async function IE(n,e,t){if(Te(n.app))return Promise.reject(it(n));const r=ot(n),a=await ti(r,{returnSecureToken:!0,email:e,password:t,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",Wh).catch(l=>{throw l.code==="auth/password-does-not-meet-requirements"&&Yh(n),l}),c=await Et._fromIdTokenResponse(r,"signIn",a);return await r._updateCurrentUser(c.user),c}function Jh(n,e,t){return Te(n.app)?Promise.reject(it(n)):EE(X(n),qn.credential(e,t)).catch(async r=>{throw r.code==="auth/password-does-not-meet-requirements"&&Yh(n),r})}async function Zh(n,e){const t=X(n),s={requestType:"VERIFY_EMAIL",idToken:await n.getIdToken()};e&&TE(t.auth,s,e);const{email:i}=await cE(t.auth,s);i!==n.email&&await n.reload()}/**
2907
+ */async function Jh(n){const e=ot(n);e._getPasswordPolicyInternal()&&await e._updatePasswordPolicy()}async function IE(n,e,t){const r=ot(n);await ti(r,{requestType:"PASSWORD_RESET",email:e,clientType:"CLIENT_TYPE_WEB"},"getOobCode",lE)}async function AE(n,e,t){if(Te(n.app))return Promise.reject(it(n));const r=ot(n),a=await ti(r,{returnSecureToken:!0,email:e,password:t,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",Gh).catch(l=>{throw l.code==="auth/password-does-not-meet-requirements"&&Jh(n),l}),c=await Et._fromIdTokenResponse(r,"signIn",a);return await r._updateCurrentUser(c.user),c}function Zh(n,e,t){return Te(n.app)?Promise.reject(it(n)):TE(X(n),qn.credential(e,t)).catch(async r=>{throw r.code==="auth/password-does-not-meet-requirements"&&Jh(n),r})}async function ed(n,e){const t=X(n),s={requestType:"VERIFY_EMAIL",idToken:await n.getIdToken()};e&&wE(t.auth,s,e);const{email:i}=await uE(t.auth,s);i!==n.email&&await n.reload()}/**
2923
2908
  * @license
2924
2909
  * Copyright 2020 Google LLC
2925
2910
  *
@@ -2934,7 +2919,7 @@ This typically indicates that your device does not have a healthy Internet conne
2934
2919
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2935
2920
  * See the License for the specific language governing permissions and
2936
2921
  * limitations under the License.
2937
- */async function AE(n,e){return Qe(n,"POST","/v1/accounts:update",e)}/**
2922
+ */async function RE(n,e){return Qe(n,"POST","/v1/accounts:update",e)}/**
2938
2923
  * @license
2939
2924
  * Copyright 2020 Google LLC
2940
2925
  *
@@ -2949,7 +2934,7 @@ This typically indicates that your device does not have a healthy Internet conne
2949
2934
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2950
2935
  * See the License for the specific language governing permissions and
2951
2936
  * limitations under the License.
2952
- */async function RE(n,{displayName:e,photoURL:t}){if(e===void 0&&t===void 0)return;const r=X(n),i={idToken:await r.getIdToken(),displayName:e,photoUrl:t,returnSecureToken:!0},a=await xn(r,AE(r.auth,i));r.displayName=a.displayName||null,r.photoURL=a.photoUrl||null;const c=r.providerData.find(({providerId:l})=>l==="password");c&&(c.displayName=r.displayName,c.photoURL=r.photoURL),await r._updateTokensIfNecessary(a)}function bE(n,e,t,r){return X(n).onIdTokenChanged(e,t,r)}function PE(n,e,t){return X(n).beforeAuthStateChanged(e,t)}const si="__sak";/**
2937
+ */async function bE(n,{displayName:e,photoURL:t}){if(e===void 0&&t===void 0)return;const r=X(n),i={idToken:await r.getIdToken(),displayName:e,photoUrl:t,returnSecureToken:!0},a=await xn(r,RE(r.auth,i));r.displayName=a.displayName||null,r.photoURL=a.photoUrl||null;const c=r.providerData.find(({providerId:l})=>l==="password");c&&(c.displayName=r.displayName,c.photoURL=r.photoURL),await r._updateTokensIfNecessary(a)}function PE(n,e,t,r){return X(n).onIdTokenChanged(e,t,r)}function SE(n,e,t){return X(n).beforeAuthStateChanged(e,t)}const si="__sak";/**
2953
2938
  * @license
2954
2939
  * Copyright 2019 Google LLC
2955
2940
  *
@@ -2964,7 +2949,7 @@ This typically indicates that your device does not have a healthy Internet conne
2964
2949
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2965
2950
  * See the License for the specific language governing permissions and
2966
2951
  * limitations under the License.
2967
- */class ed{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(si,"1"),this.storage.removeItem(si),Promise.resolve(!0)):Promise.resolve(!1)}catch{return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){const 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()}}/**
2952
+ */class td{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(si,"1"),this.storage.removeItem(si),Promise.resolve(!0)):Promise.resolve(!1)}catch{return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){const 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()}}/**
2968
2953
  * @license
2969
2954
  * Copyright 2020 Google LLC
2970
2955
  *
@@ -2979,7 +2964,7 @@ This typically indicates that your device does not have a healthy Internet conne
2979
2964
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2980
2965
  * See the License for the specific language governing permissions and
2981
2966
  * limitations under the License.
2982
- */const SE=1e3,CE=10;class td extends ed{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=Mh(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(const t of Object.keys(this.listeners)){const r=this.storage.getItem(t),s=this.localCache[t];r!==s&&e(t,s,r)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((a,c,l)=>{this.notifyListeners(a,l)});return}const r=e.key;t?this.detachListener():this.stopPolling();const s=()=>{const a=this.storage.getItem(r);!t&&this.localCache[r]===a||this.notifyListeners(r,a)},i=this.storage.getItem(r);qv()&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(s,CE):s()}notifyListeners(e,t){this.localCache[e]=t;const r=this.listeners[e];if(r)for(const s of Array.from(r))s(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,r)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:r}),!0)})},SE)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){Object.keys(this.listeners).length===0&&(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),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){const t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}td.type="LOCAL";const kE=td;/**
2967
+ */const CE=1e3,kE=10;class nd extends td{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=Uh(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(const t of Object.keys(this.listeners)){const r=this.storage.getItem(t),s=this.localCache[t];r!==s&&e(t,s,r)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((a,c,l)=>{this.notifyListeners(a,l)});return}const r=e.key;t?this.detachListener():this.stopPolling();const s=()=>{const a=this.storage.getItem(r);!t&&this.localCache[r]===a||this.notifyListeners(r,a)},i=this.storage.getItem(r);$v()&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(s,kE):s()}notifyListeners(e,t){this.localCache[e]=t;const r=this.listeners[e];if(r)for(const s of Array.from(r))s(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,r)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:r}),!0)})},CE)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){Object.keys(this.listeners).length===0&&(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),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){const t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}nd.type="LOCAL";const NE=nd;/**
2983
2968
  * @license
2984
2969
  * Copyright 2020 Google LLC
2985
2970
  *
@@ -2994,7 +2979,7 @@ This typically indicates that your device does not have a healthy Internet conne
2994
2979
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2995
2980
  * See the License for the specific language governing permissions and
2996
2981
  * limitations under the License.
2997
- */class nd extends ed{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}nd.type="SESSION";const rd=nd;/**
2982
+ */class rd extends td{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}rd.type="SESSION";const sd=rd;/**
2998
2983
  * @license
2999
2984
  * Copyright 2019 Google LLC
3000
2985
  *
@@ -3009,7 +2994,7 @@ This typically indicates that your device does not have a healthy Internet conne
3009
2994
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3010
2995
  * See the License for the specific language governing permissions and
3011
2996
  * limitations under the License.
3012
- */function NE(n){return Promise.all(n.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(t){return{fulfilled:!1,reason:t}}}))}/**
2997
+ */function DE(n){return Promise.all(n.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(t){return{fulfilled:!1,reason:t}}}))}/**
3013
2998
  * @license
3014
2999
  * Copyright 2019 Google LLC
3015
3000
  *
@@ -3024,7 +3009,7 @@ This typically indicates that your device does not have a healthy Internet conne
3024
3009
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3025
3010
  * See the License for the specific language governing permissions and
3026
3011
  * limitations under the License.
3027
- */class ii{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){const t=this.receivers.find(s=>s.isListeningto(e));if(t)return t;const r=new ii(e);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){const t=e,{eventId:r,eventType:s,data:i}=t.data,a=this.handlersMap[s];if(!(a!=null&&a.size))return;t.ports[0].postMessage({status:"ack",eventId:r,eventType:s});const c=Array.from(a).map(async d=>d(t.origin,i)),l=await NE(c);t.ports[0].postMessage({status:"done",eventId:r,eventType:s,response:l})}_subscribe(e,t){Object.keys(this.handlersMap).length===0&&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||this.handlersMap[e].size===0)&&delete this.handlersMap[e],Object.keys(this.handlersMap).length===0&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}ii.receivers=[];/**
3012
+ */class ii{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){const t=this.receivers.find(s=>s.isListeningto(e));if(t)return t;const r=new ii(e);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){const t=e,{eventId:r,eventType:s,data:i}=t.data,a=this.handlersMap[s];if(!(a!=null&&a.size))return;t.ports[0].postMessage({status:"ack",eventId:r,eventType:s});const c=Array.from(a).map(async d=>d(t.origin,i)),l=await DE(c);t.ports[0].postMessage({status:"done",eventId:r,eventType:s,response:l})}_subscribe(e,t){Object.keys(this.handlersMap).length===0&&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||this.handlersMap[e].size===0)&&delete this.handlersMap[e],Object.keys(this.handlersMap).length===0&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}ii.receivers=[];/**
3028
3013
  * @license
3029
3014
  * Copyright 2020 Google LLC
3030
3015
  *
@@ -3054,7 +3039,7 @@ This typically indicates that your device does not have a healthy Internet conne
3054
3039
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3055
3040
  * See the License for the specific language governing permissions and
3056
3041
  * limitations under the License.
3057
- */class DE{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){const s=typeof MessageChannel<"u"?new MessageChannel:null;if(!s)throw new Error("connection_unavailable");let i,a;return new Promise((c,l)=>{const d=ma("",20);s.port1.start();const f=setTimeout(()=>{l(new Error("unsupported_event"))},r);a={messageChannel:s,onMessage(m){const v=m;if(v.data.eventId===d)switch(v.data.status){case"ack":clearTimeout(f),i=setTimeout(()=>{l(new Error("timeout"))},3e3);break;case"done":clearTimeout(i),c(v.data.response);break;default:clearTimeout(f),clearTimeout(i),l(new Error("invalid_response"));break}}},this.handlers.add(a),s.port1.addEventListener("message",a.onMessage),this.target.postMessage({eventType:e,eventId:d,data:t},[s.port2])}).finally(()=>{a&&this.removeMessageHandler(a)})}}/**
3042
+ */class OE{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){const s=typeof MessageChannel<"u"?new MessageChannel:null;if(!s)throw new Error("connection_unavailable");let i,a;return new Promise((c,l)=>{const d=ma("",20);s.port1.start();const f=setTimeout(()=>{l(new Error("unsupported_event"))},r);a={messageChannel:s,onMessage(m){const v=m;if(v.data.eventId===d)switch(v.data.status){case"ack":clearTimeout(f),i=setTimeout(()=>{l(new Error("timeout"))},3e3);break;case"done":clearTimeout(i),c(v.data.response);break;default:clearTimeout(f),clearTimeout(i),l(new Error("invalid_response"));break}}},this.handlers.add(a),s.port1.addEventListener("message",a.onMessage),this.target.postMessage({eventType:e,eventId:d,data:t},[s.port2])}).finally(()=>{a&&this.removeMessageHandler(a)})}}/**
3058
3043
  * @license
3059
3044
  * Copyright 2020 Google LLC
3060
3045
  *
@@ -3069,7 +3054,7 @@ This typically indicates that your device does not have a healthy Internet conne
3069
3054
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3070
3055
  * See the License for the specific language governing permissions and
3071
3056
  * limitations under the License.
3072
- */function ut(){return window}function OE(n){ut().location.href=n}/**
3057
+ */function ut(){return window}function VE(n){ut().location.href=n}/**
3073
3058
  * @license
3074
3059
  * Copyright 2020 Google LLC.
3075
3060
  *
@@ -3084,7 +3069,7 @@ This typically indicates that your device does not have a healthy Internet conne
3084
3069
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3085
3070
  * See the License for the specific language governing permissions and
3086
3071
  * limitations under the License.
3087
- */function sd(){return typeof ut().WorkerGlobalScope<"u"&&typeof ut().importScripts=="function"}async function VE(){if(!(navigator!=null&&navigator.serviceWorker))return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}function LE(){var n;return((n=navigator==null?void 0:navigator.serviceWorker)===null||n===void 0?void 0:n.controller)||null}function ME(){return sd()?self:null}/**
3072
+ */function id(){return typeof ut().WorkerGlobalScope<"u"&&typeof ut().importScripts=="function"}async function LE(){if(!(navigator!=null&&navigator.serviceWorker))return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}function ME(){var n;return((n=navigator==null?void 0:navigator.serviceWorker)===null||n===void 0?void 0:n.controller)||null}function UE(){return id()?self:null}/**
3088
3073
  * @license
3089
3074
  * Copyright 2019 Google LLC
3090
3075
  *
@@ -3099,7 +3084,7 @@ This typically indicates that your device does not have a healthy Internet conne
3099
3084
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3100
3085
  * See the License for the specific language governing permissions and
3101
3086
  * limitations under the License.
3102
- */const id="firebaseLocalStorageDb",UE=1,oi="firebaseLocalStorage",od="fbase_key";class kr{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener("success",()=>{e(this.request.result)}),this.request.addEventListener("error",()=>{t(this.request.error)})})}}function ai(n,e){return n.transaction([oi],e?"readwrite":"readonly").objectStore(oi)}function xE(){const n=indexedDB.deleteDatabase(id);return new kr(n).toPromise()}function ga(){const n=indexedDB.open(id,UE);return new Promise((e,t)=>{n.addEventListener("error",()=>{t(n.error)}),n.addEventListener("upgradeneeded",()=>{const r=n.result;try{r.createObjectStore(oi,{keyPath:od})}catch(s){t(s)}}),n.addEventListener("success",async()=>{const r=n.result;r.objectStoreNames.contains(oi)?e(r):(r.close(),await xE(),e(await ga()))})})}async function ad(n,e,t){const r=ai(n,!0).put({[od]:e,value:t});return new kr(r).toPromise()}async function FE(n,e){const t=ai(n,!1).get(e),r=await new kr(t).toPromise();return r===void 0?null:r.value}function cd(n,e){const t=ai(n,!0).delete(e);return new kr(t).toPromise()}const BE=800,jE=3;class ud{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:(this.db=await ga(),this.db)}async _withRetries(e){let t=0;for(;;)try{const r=await this._openDb();return await e(r)}catch(r){if(t++>jE)throw r;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return sd()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=ii._getInstance(ME()),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){var e,t;if(this.activeServiceWorker=await VE(),!this.activeServiceWorker)return;this.sender=new DE(this.activeServiceWorker);const r=await this.sender._send("ping",{},800);r&&!((e=r[0])===null||e===void 0)&&e.fulfilled&&!((t=r[0])===null||t===void 0)&&t.value.includes("keyChanged")&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(!(!this.sender||!this.activeServiceWorker||LE()!==this.activeServiceWorker))try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch{}}async _isAvailable(){try{if(!indexedDB)return!1;const e=await ga();return await ad(e,si,"1"),await cd(e,si),!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=>ad(r,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){const t=await this._withRetries(r=>FE(r,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>cd(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){const e=await this._withRetries(s=>{const i=ai(s,!1).getAll();return new kr(i).toPromise()});if(!e)return[];if(this.pendingWrites!==0)return[];const t=[],r=new Set;if(e.length!==0)for(const{fbase_key:s,value:i}of e)r.add(s),JSON.stringify(this.localCache[s])!==JSON.stringify(i)&&(this.notifyListeners(s,i),t.push(s));for(const s of Object.keys(this.localCache))this.localCache[s]&&!r.has(s)&&(this.notifyListeners(s,null),t.push(s));return t}notifyListeners(e,t){this.localCache[e]=t;const r=this.listeners[e];if(r)for(const s of Array.from(r))s(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),BE)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){Object.keys(this.listeners).length===0&&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),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&this.stopPolling()}}ud.type="LOCAL";const qE=ud;new Ar(3e4,6e4);/**
3087
+ */const od="firebaseLocalStorageDb",xE=1,oi="firebaseLocalStorage",ad="fbase_key";class Nr{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener("success",()=>{e(this.request.result)}),this.request.addEventListener("error",()=>{t(this.request.error)})})}}function ai(n,e){return n.transaction([oi],e?"readwrite":"readonly").objectStore(oi)}function FE(){const n=indexedDB.deleteDatabase(od);return new Nr(n).toPromise()}function ga(){const n=indexedDB.open(od,xE);return new Promise((e,t)=>{n.addEventListener("error",()=>{t(n.error)}),n.addEventListener("upgradeneeded",()=>{const r=n.result;try{r.createObjectStore(oi,{keyPath:ad})}catch(s){t(s)}}),n.addEventListener("success",async()=>{const r=n.result;r.objectStoreNames.contains(oi)?e(r):(r.close(),await FE(),e(await ga()))})})}async function cd(n,e,t){const r=ai(n,!0).put({[ad]:e,value:t});return new Nr(r).toPromise()}async function BE(n,e){const t=ai(n,!1).get(e),r=await new Nr(t).toPromise();return r===void 0?null:r.value}function ud(n,e){const t=ai(n,!0).delete(e);return new Nr(t).toPromise()}const jE=800,qE=3;class ld{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:(this.db=await ga(),this.db)}async _withRetries(e){let t=0;for(;;)try{const r=await this._openDb();return await e(r)}catch(r){if(t++>qE)throw r;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return id()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=ii._getInstance(UE()),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){var e,t;if(this.activeServiceWorker=await LE(),!this.activeServiceWorker)return;this.sender=new OE(this.activeServiceWorker);const r=await this.sender._send("ping",{},800);r&&!((e=r[0])===null||e===void 0)&&e.fulfilled&&!((t=r[0])===null||t===void 0)&&t.value.includes("keyChanged")&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(!(!this.sender||!this.activeServiceWorker||ME()!==this.activeServiceWorker))try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch{}}async _isAvailable(){try{if(!indexedDB)return!1;const e=await ga();return await cd(e,si,"1"),await ud(e,si),!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=>cd(r,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){const t=await this._withRetries(r=>BE(r,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>ud(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){const e=await this._withRetries(s=>{const i=ai(s,!1).getAll();return new Nr(i).toPromise()});if(!e)return[];if(this.pendingWrites!==0)return[];const t=[],r=new Set;if(e.length!==0)for(const{fbase_key:s,value:i}of e)r.add(s),JSON.stringify(this.localCache[s])!==JSON.stringify(i)&&(this.notifyListeners(s,i),t.push(s));for(const s of Object.keys(this.localCache))this.localCache[s]&&!r.has(s)&&(this.notifyListeners(s,null),t.push(s));return t}notifyListeners(e,t){this.localCache[e]=t;const r=this.listeners[e];if(r)for(const s of Array.from(r))s(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),jE)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){Object.keys(this.listeners).length===0&&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),this.listeners[e].size===0&&delete this.listeners[e]),Object.keys(this.listeners).length===0&&this.stopPolling()}}ld.type="LOCAL";const $E=ld;new Rr(3e4,6e4);/**
3103
3088
  * @license
3104
3089
  * Copyright 2021 Google LLC
3105
3090
  *
@@ -3129,7 +3114,7 @@ This typically indicates that your device does not have a healthy Internet conne
3129
3114
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3130
3115
  * See the License for the specific language governing permissions and
3131
3116
  * limitations under the License.
3132
- */class ya extends fa{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return jn(e,this._buildIdpRequest())}_linkToIdToken(e,t){return jn(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return jn(e,this._buildIdpRequest())}_buildIdpRequest(e){const 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 $E(n){return Xh(n.auth,new ya(n),n.bypassAuthState)}function HE(n){const{auth:e,user:t}=n;return M(t,e,"internal-error"),vE(t,new ya(n),n.bypassAuthState)}async function zE(n){const{auth:e,user:t}=n;return M(t,e,"internal-error"),_E(t,new ya(n),n.bypassAuthState)}/**
3117
+ */class ya extends fa{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return jn(e,this._buildIdpRequest())}_linkToIdToken(e,t){return jn(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return jn(e,this._buildIdpRequest())}_buildIdpRequest(e){const 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 HE(n){return Yh(n.auth,new ya(n),n.bypassAuthState)}function zE(n){const{auth:e,user:t}=n;return M(t,e,"internal-error"),EE(t,new ya(n),n.bypassAuthState)}async function WE(n){const{auth:e,user:t}=n;return M(t,e,"internal-error"),yE(t,new ya(n),n.bypassAuthState)}/**
3133
3118
  * @license
3134
3119
  * Copyright 2020 Google LLC
3135
3120
  *
@@ -3144,7 +3129,7 @@ This typically indicates that your device does not have a healthy Internet conne
3144
3129
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3145
3130
  * See the License for the specific language governing permissions and
3146
3131
  * limitations under the License.
3147
- */class ld{constructor(e,t,r,s,i=!1){this.auth=e,this.resolver=r,this.user=s,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(r){this.reject(r)}})}async onAuthEvent(e){const{urlResponse:t,sessionId:r,postBody:s,tenantId:i,error:a,type:c}=e;if(a){this.reject(a);return}const l={auth:this.auth,requestUri:t,sessionId:r,tenantId:i||void 0,postBody:s||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(c)(l))}catch(d){this.reject(d)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return $E;case"linkViaPopup":case"linkViaRedirect":return zE;case"reauthViaPopup":case"reauthViaRedirect":return HE;default:He(this.auth,"internal-error")}}resolve(e){gt(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){gt(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}}/**
3132
+ */class hd{constructor(e,t,r,s,i=!1){this.auth=e,this.resolver=r,this.user=s,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(r){this.reject(r)}})}async onAuthEvent(e){const{urlResponse:t,sessionId:r,postBody:s,tenantId:i,error:a,type:c}=e;if(a){this.reject(a);return}const l={auth:this.auth,requestUri:t,sessionId:r,tenantId:i||void 0,postBody:s||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(c)(l))}catch(d){this.reject(d)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return HE;case"linkViaPopup":case"linkViaRedirect":return WE;case"reauthViaPopup":case"reauthViaRedirect":return zE;default:He(this.auth,"internal-error")}}resolve(e){gt(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){gt(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}}/**
3148
3133
  * @license
3149
3134
  * Copyright 2020 Google LLC
3150
3135
  *
@@ -3159,7 +3144,7 @@ This typically indicates that your device does not have a healthy Internet conne
3159
3144
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3160
3145
  * See the License for the specific language governing permissions and
3161
3146
  * limitations under the License.
3162
- */const WE=new Ar(2e3,1e4);async function va(n,e,t){if(Te(n.app))return Promise.reject(Ke(n,"operation-not-supported-in-this-environment"));const r=ot(n);gh(n,e,ni);const s=_a(r,t);return new $t(r,"signInViaPopup",e,s).executeNotNull()}async function hd(n,e,t){const r=X(n);gh(r.auth,e,ni);const s=_a(r.auth,t);return new $t(r.auth,"linkViaPopup",e,s,r).executeNotNull()}class $t extends ld{constructor(e,t,r,s,i){super(e,t,s,i),this.provider=r,this.authWindow=null,this.pollId=null,$t.currentPopupAction&&$t.currentPopupAction.cancel(),$t.currentPopupAction=this}async executeNotNull(){const e=await this.execute();return M(e,this.auth,"internal-error"),e}async onExecution(){gt(this.filter.length===1,"Popup operations only handle one event");const e=ma();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(t=>{this.reject(t)}),this.resolver._isIframeWebStorageSupported(this.auth,t=>{t||this.reject(Ke(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){var e;return((e=this.authWindow)===null||e===void 0?void 0:e.associatedEvent)||null}cancel(){this.reject(Ke(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,$t.currentPopupAction=null}pollUserCancellation(){const e=()=>{var t,r;if(!((r=(t=this.authWindow)===null||t===void 0?void 0:t.window)===null||r===void 0)&&r.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(Ke(this.auth,"popup-closed-by-user"))},8e3);return}this.pollId=window.setTimeout(e,WE.get())};e()}}$t.currentPopupAction=null;/**
3147
+ */const GE=new Rr(2e3,1e4);async function va(n,e,t){if(Te(n.app))return Promise.reject(Ke(n,"operation-not-supported-in-this-environment"));const r=ot(n);_h(n,e,ni);const s=_a(r,t);return new $t(r,"signInViaPopup",e,s).executeNotNull()}async function dd(n,e,t){const r=X(n);_h(r.auth,e,ni);const s=_a(r.auth,t);return new $t(r.auth,"linkViaPopup",e,s,r).executeNotNull()}class $t extends hd{constructor(e,t,r,s,i){super(e,t,s,i),this.provider=r,this.authWindow=null,this.pollId=null,$t.currentPopupAction&&$t.currentPopupAction.cancel(),$t.currentPopupAction=this}async executeNotNull(){const e=await this.execute();return M(e,this.auth,"internal-error"),e}async onExecution(){gt(this.filter.length===1,"Popup operations only handle one event");const e=ma();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(t=>{this.reject(t)}),this.resolver._isIframeWebStorageSupported(this.auth,t=>{t||this.reject(Ke(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){var e;return((e=this.authWindow)===null||e===void 0?void 0:e.associatedEvent)||null}cancel(){this.reject(Ke(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,$t.currentPopupAction=null}pollUserCancellation(){const e=()=>{var t,r;if(!((r=(t=this.authWindow)===null||t===void 0?void 0:t.window)===null||r===void 0)&&r.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(Ke(this.auth,"popup-closed-by-user"))},8e3);return}this.pollId=window.setTimeout(e,GE.get())};e()}}$t.currentPopupAction=null;/**
3163
3148
  * @license
3164
3149
  * Copyright 2020 Google LLC
3165
3150
  *
@@ -3174,7 +3159,7 @@ This typically indicates that your device does not have a healthy Internet conne
3174
3159
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3175
3160
  * See the License for the specific language governing permissions and
3176
3161
  * limitations under the License.
3177
- */const GE="pendingRedirect",ci=new Map;class KE extends ld{constructor(e,t,r=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,r),this.eventId=null}async execute(){let e=ci.get(this.auth._key());if(!e){try{const r=await QE(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(r)}catch(t){e=()=>Promise.reject(t)}ci.set(this.auth._key(),e)}return this.bypassAuthState||ci.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if(e.type==="signInViaRedirect")return super.onAuthEvent(e);if(e.type==="unknown"){this.resolve(null);return}if(e.eventId){const t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}}async function QE(n,e){const t=JE(e),r=YE(n);if(!await r._isAvailable())return!1;const s=await r._get(t)==="true";return await r._remove(t),s}function XE(n,e){ci.set(n._key(),e)}function YE(n){return vt(n._redirectPersistence)}function JE(n){return Zs(GE,n.config.apiKey,n.name)}async function ZE(n,e,t=!1){if(Te(n.app))return Promise.reject(it(n));const r=ot(n),s=_a(r,e),a=await new KE(r,s,t).execute();return a&&!t&&(delete a.user._redirectEventId,await r._persistUserIfCurrent(a.user),await r._setRedirectUser(null,e)),a}/**
3162
+ */const KE="pendingRedirect",ci=new Map;class QE extends hd{constructor(e,t,r=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,r),this.eventId=null}async execute(){let e=ci.get(this.auth._key());if(!e){try{const r=await XE(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(r)}catch(t){e=()=>Promise.reject(t)}ci.set(this.auth._key(),e)}return this.bypassAuthState||ci.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if(e.type==="signInViaRedirect")return super.onAuthEvent(e);if(e.type==="unknown"){this.resolve(null);return}if(e.eventId){const t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}}async function XE(n,e){const t=ZE(e),r=JE(n);if(!await r._isAvailable())return!1;const s=await r._get(t)==="true";return await r._remove(t),s}function YE(n,e){ci.set(n._key(),e)}function JE(n){return vt(n._redirectPersistence)}function ZE(n){return Zs(KE,n.config.apiKey,n.name)}async function eT(n,e,t=!1){if(Te(n.app))return Promise.reject(it(n));const r=ot(n),s=_a(r,e),a=await new QE(r,s,t).execute();return a&&!t&&(delete a.user._redirectEventId,await r._persistUserIfCurrent(a.user),await r._setRedirectUser(null,e)),a}/**
3178
3163
  * @license
3179
3164
  * Copyright 2020 Google LLC
3180
3165
  *
@@ -3189,7 +3174,7 @@ This typically indicates that your device does not have a healthy Internet conne
3189
3174
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3190
3175
  * See the License for the specific language governing permissions and
3191
3176
  * limitations under the License.
3192
- */const eT=10*60*1e3;class tT{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||!nT(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){var r;if(e.error&&!fd(e)){const s=((r=e.error.code)===null||r===void 0?void 0:r.split("auth/")[1])||"internal-error";t.onError(Ke(this.auth,s))}else t.onAuthEvent(e)}isEventForConsumer(e,t){const r=t.eventId===null||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&r}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=eT&&this.cachedEventUids.clear(),this.cachedEventUids.has(dd(e))}saveEventToCache(e){this.cachedEventUids.add(dd(e)),this.lastProcessedEventTime=Date.now()}}function dd(n){return[n.type,n.eventId,n.sessionId,n.tenantId].filter(e=>e).join("-")}function fd({type:n,error:e}){return n==="unknown"&&(e==null?void 0:e.code)==="auth/no-auth-event"}function nT(n){switch(n.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return fd(n);default:return!1}}/**
3177
+ */const tT=10*60*1e3;class nT{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||!rT(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){var r;if(e.error&&!pd(e)){const s=((r=e.error.code)===null||r===void 0?void 0:r.split("auth/")[1])||"internal-error";t.onError(Ke(this.auth,s))}else t.onAuthEvent(e)}isEventForConsumer(e,t){const r=t.eventId===null||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&r}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=tT&&this.cachedEventUids.clear(),this.cachedEventUids.has(fd(e))}saveEventToCache(e){this.cachedEventUids.add(fd(e)),this.lastProcessedEventTime=Date.now()}}function fd(n){return[n.type,n.eventId,n.sessionId,n.tenantId].filter(e=>e).join("-")}function pd({type:n,error:e}){return n==="unknown"&&(e==null?void 0:e.code)==="auth/no-auth-event"}function rT(n){switch(n.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return pd(n);default:return!1}}/**
3193
3178
  * @license
3194
3179
  * Copyright 2020 Google LLC
3195
3180
  *
@@ -3204,7 +3189,7 @@ This typically indicates that your device does not have a healthy Internet conne
3204
3189
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3205
3190
  * See the License for the specific language governing permissions and
3206
3191
  * limitations under the License.
3207
- */async function rT(n,e={}){return Qe(n,"GET","/v1/projects",e)}/**
3192
+ */async function sT(n,e={}){return Qe(n,"GET","/v1/projects",e)}/**
3208
3193
  * @license
3209
3194
  * Copyright 2020 Google LLC
3210
3195
  *
@@ -3219,7 +3204,7 @@ This typically indicates that your device does not have a healthy Internet conne
3219
3204
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3220
3205
  * See the License for the specific language governing permissions and
3221
3206
  * limitations under the License.
3222
- */const sT=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,iT=/^https?/;async function oT(n){if(n.config.emulator)return;const{authorizedDomains:e}=await rT(n);for(const t of e)try{if(aT(t))return}catch{}He(n,"unauthorized-domain")}function aT(n){const e=aa(),{protocol:t,hostname:r}=new URL(e);if(n.startsWith("chrome-extension://")){const a=new URL(n);return a.hostname===""&&r===""?t==="chrome-extension:"&&n.replace("chrome-extension://","")===e.replace("chrome-extension://",""):t==="chrome-extension:"&&a.hostname===r}if(!iT.test(t))return!1;if(sT.test(n))return r===n;const s=n.replace(/\./g,"\\.");return new RegExp("^(.+\\."+s+"|"+s+")$","i").test(r)}/**
3207
+ */const iT=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,oT=/^https?/;async function aT(n){if(n.config.emulator)return;const{authorizedDomains:e}=await sT(n);for(const t of e)try{if(cT(t))return}catch{}He(n,"unauthorized-domain")}function cT(n){const e=aa(),{protocol:t,hostname:r}=new URL(e);if(n.startsWith("chrome-extension://")){const a=new URL(n);return a.hostname===""&&r===""?t==="chrome-extension:"&&n.replace("chrome-extension://","")===e.replace("chrome-extension://",""):t==="chrome-extension:"&&a.hostname===r}if(!oT.test(t))return!1;if(iT.test(n))return r===n;const s=n.replace(/\./g,"\\.");return new RegExp("^(.+\\."+s+"|"+s+")$","i").test(r)}/**
3223
3208
  * @license
3224
3209
  * Copyright 2020 Google LLC.
3225
3210
  *
@@ -3234,7 +3219,7 @@ This typically indicates that your device does not have a healthy Internet conne
3234
3219
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3235
3220
  * See the License for the specific language governing permissions and
3236
3221
  * limitations under the License.
3237
- */const cT=new Ar(3e4,6e4);function pd(){const n=ut().___jsl;if(n!=null&&n.H){for(const e of Object.keys(n.H))if(n.H[e].r=n.H[e].r||[],n.H[e].L=n.H[e].L||[],n.H[e].r=[...n.H[e].L],n.CP)for(let t=0;t<n.CP.length;t++)n.CP[t]=null}}function uT(n){return new Promise((e,t)=>{var r,s,i;function a(){pd(),gapi.load("gapi.iframes",{callback:()=>{e(gapi.iframes.getContext())},ontimeout:()=>{pd(),t(Ke(n,"network-request-failed"))},timeout:cT.get()})}if(!((s=(r=ut().gapi)===null||r===void 0?void 0:r.iframes)===null||s===void 0)&&s.Iframe)e(gapi.iframes.getContext());else if(!((i=ut().gapi)===null||i===void 0)&&i.load)a();else{const c=Yv("iframefcb");return ut()[c]=()=>{gapi.load?a():t(Ke(n,"network-request-failed"))},Fh(`${Xv()}?onload=${c}`).catch(l=>t(l))}}).catch(e=>{throw ui=null,e})}let ui=null;function lT(n){return ui=ui||uT(n),ui}/**
3222
+ */const uT=new Rr(3e4,6e4);function md(){const n=ut().___jsl;if(n!=null&&n.H){for(const e of Object.keys(n.H))if(n.H[e].r=n.H[e].r||[],n.H[e].L=n.H[e].L||[],n.H[e].r=[...n.H[e].L],n.CP)for(let t=0;t<n.CP.length;t++)n.CP[t]=null}}function lT(n){return new Promise((e,t)=>{var r,s,i;function a(){md(),gapi.load("gapi.iframes",{callback:()=>{e(gapi.iframes.getContext())},ontimeout:()=>{md(),t(Ke(n,"network-request-failed"))},timeout:uT.get()})}if(!((s=(r=ut().gapi)===null||r===void 0?void 0:r.iframes)===null||s===void 0)&&s.Iframe)e(gapi.iframes.getContext());else if(!((i=ut().gapi)===null||i===void 0)&&i.load)a();else{const c=Jv("iframefcb");return ut()[c]=()=>{gapi.load?a():t(Ke(n,"network-request-failed"))},Bh(`${Yv()}?onload=${c}`).catch(l=>t(l))}}).catch(e=>{throw ui=null,e})}let ui=null;function hT(n){return ui=ui||lT(n),ui}/**
3238
3223
  * @license
3239
3224
  * Copyright 2020 Google LLC.
3240
3225
  *
@@ -3249,7 +3234,7 @@ This typically indicates that your device does not have a healthy Internet conne
3249
3234
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3250
3235
  * See the License for the specific language governing permissions and
3251
3236
  * limitations under the License.
3252
- */const hT=new Ar(5e3,15e3),dT="__/auth/iframe",fT="emulator/auth/iframe",pT={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},mT=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);function gT(n){const e=n.config;M(e.authDomain,n,"auth-domain-config-required");const t=e.emulator?ca(e,fT):`https://${n.config.authDomain}/${dT}`,r={apiKey:e.apiKey,appName:n.name,v:Xt},s=mT.get(n.config.apiHost);s&&(r.eid=s);const i=n._getFrameworks();return i.length&&(r.fw=i.join(",")),`${t}?${Zn(r).slice(1)}`}async function _T(n){const e=await lT(n),t=ut().gapi;return M(t,n,"internal-error"),e.open({where:document.body,url:gT(n),messageHandlersFilter:t.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:pT,dontclear:!0},r=>new Promise(async(s,i)=>{await r.restyle({setHideOnLeave:!1});const a=Ke(n,"network-request-failed"),c=ut().setTimeout(()=>{i(a)},hT.get());function l(){ut().clearTimeout(c),s(r)}r.ping(l).then(l,()=>{i(a)})}))}/**
3237
+ */const dT=new Rr(5e3,15e3),fT="__/auth/iframe",pT="emulator/auth/iframe",mT={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},gT=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);function _T(n){const e=n.config;M(e.authDomain,n,"auth-domain-config-required");const t=e.emulator?ca(e,pT):`https://${n.config.authDomain}/${fT}`,r={apiKey:e.apiKey,appName:n.name,v:Yt},s=gT.get(n.config.apiHost);s&&(r.eid=s);const i=n._getFrameworks();return i.length&&(r.fw=i.join(",")),`${t}?${er(r).slice(1)}`}async function yT(n){const e=await hT(n),t=ut().gapi;return M(t,n,"internal-error"),e.open({where:document.body,url:_T(n),messageHandlersFilter:t.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:mT,dontclear:!0},r=>new Promise(async(s,i)=>{await r.restyle({setHideOnLeave:!1});const a=Ke(n,"network-request-failed"),c=ut().setTimeout(()=>{i(a)},dT.get());function l(){ut().clearTimeout(c),s(r)}r.ping(l).then(l,()=>{i(a)})}))}/**
3253
3238
  * @license
3254
3239
  * Copyright 2020 Google LLC.
3255
3240
  *
@@ -3264,7 +3249,7 @@ This typically indicates that your device does not have a healthy Internet conne
3264
3249
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3265
3250
  * See the License for the specific language governing permissions and
3266
3251
  * limitations under the License.
3267
- */const yT={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"},vT=500,ET=600,TT="_blank",wT="http://localhost";class md{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}}function IT(n,e,t,r=vT,s=ET){const i=Math.max((window.screen.availHeight-s)/2,0).toString(),a=Math.max((window.screen.availWidth-r)/2,0).toString();let c="";const l=Object.assign(Object.assign({},yT),{width:r.toString(),height:s.toString(),top:i,left:a}),d=Ee().toLowerCase();t&&(c=Nh(d)?TT:t),Ch(d)&&(e=e||wT,l.scrollbars="yes");const f=Object.entries(l).reduce((v,[R,S])=>`${v}${R}=${S},`,"");if(jv(d)&&c!=="_self")return AT(e||"",c),new md(null);const m=window.open(e||"",c,f);M(m,n,"popup-blocked");try{m.focus()}catch{}return new md(m)}function AT(n,e){const t=document.createElement("a");t.href=n,t.target=e;const r=document.createEvent("MouseEvent");r.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),t.dispatchEvent(r)}/**
3252
+ */const vT={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"},ET=500,TT=600,wT="_blank",IT="http://localhost";class gd{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}}function AT(n,e,t,r=ET,s=TT){const i=Math.max((window.screen.availHeight-s)/2,0).toString(),a=Math.max((window.screen.availWidth-r)/2,0).toString();let c="";const l=Object.assign(Object.assign({},vT),{width:r.toString(),height:s.toString(),top:i,left:a}),d=Ee().toLowerCase();t&&(c=Dh(d)?wT:t),kh(d)&&(e=e||IT,l.scrollbars="yes");const f=Object.entries(l).reduce((v,[R,S])=>`${v}${R}=${S},`,"");if(qv(d)&&c!=="_self")return RT(e||"",c),new gd(null);const m=window.open(e||"",c,f);M(m,n,"popup-blocked");try{m.focus()}catch{}return new gd(m)}function RT(n,e){const t=document.createElement("a");t.href=n,t.target=e;const r=document.createEvent("MouseEvent");r.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),t.dispatchEvent(r)}/**
3268
3253
  * @license
3269
3254
  * Copyright 2021 Google LLC
3270
3255
  *
@@ -3279,7 +3264,7 @@ This typically indicates that your device does not have a healthy Internet conne
3279
3264
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3280
3265
  * See the License for the specific language governing permissions and
3281
3266
  * limitations under the License.
3282
- */const RT="__/auth/handler",bT="emulator/auth/handler",PT=encodeURIComponent("fac");async function gd(n,e,t,r,s,i){M(n.config.authDomain,n,"auth-domain-config-required"),M(n.config.apiKey,n,"invalid-api-key");const a={apiKey:n.config.apiKey,appName:n.name,authType:t,redirectUrl:r,v:Xt,eventId:s};if(e instanceof ni){e.setDefaultLanguage(n.languageCode),a.providerId=e.providerId||"",Tp(e.getCustomParameters())||(a.customParameters=JSON.stringify(e.getCustomParameters()));for(const[f,m]of Object.entries({}))a[f]=m}if(e instanceof Cr){const f=e.getScopes().filter(m=>m!=="");f.length>0&&(a.scopes=f.join(","))}n.tenantId&&(a.tid=n.tenantId);const c=a;for(const f of Object.keys(c))c[f]===void 0&&delete c[f];const l=await n._getAppCheckToken(),d=l?`#${PT}=${encodeURIComponent(l)}`:"";return`${ST(n)}?${Zn(c).slice(1)}${d}`}function ST({config:n}){return n.emulator?ca(n,bT):`https://${n.authDomain}/${RT}`}/**
3267
+ */const bT="__/auth/handler",PT="emulator/auth/handler",ST=encodeURIComponent("fac");async function _d(n,e,t,r,s,i){M(n.config.authDomain,n,"auth-domain-config-required"),M(n.config.apiKey,n,"invalid-api-key");const a={apiKey:n.config.apiKey,appName:n.name,authType:t,redirectUrl:r,v:Yt,eventId:s};if(e instanceof ni){e.setDefaultLanguage(n.languageCode),a.providerId=e.providerId||"",wp(e.getCustomParameters())||(a.customParameters=JSON.stringify(e.getCustomParameters()));for(const[f,m]of Object.entries({}))a[f]=m}if(e instanceof kr){const f=e.getScopes().filter(m=>m!=="");f.length>0&&(a.scopes=f.join(","))}n.tenantId&&(a.tid=n.tenantId);const c=a;for(const f of Object.keys(c))c[f]===void 0&&delete c[f];const l=await n._getAppCheckToken(),d=l?`#${ST}=${encodeURIComponent(l)}`:"";return`${CT(n)}?${er(c).slice(1)}${d}`}function CT({config:n}){return n.emulator?ca(n,PT):`https://${n.authDomain}/${bT}`}/**
3283
3268
  * @license
3284
3269
  * Copyright 2020 Google LLC
3285
3270
  *
@@ -3294,7 +3279,7 @@ This typically indicates that your device does not have a healthy Internet conne
3294
3279
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3295
3280
  * See the License for the specific language governing permissions and
3296
3281
  * limitations under the License.
3297
- */const Ea="webStorageSupport";class CT{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=rd,this._completeRedirectFn=ZE,this._overrideRedirectResult=XE}async _openPopup(e,t,r,s){var i;gt((i=this.eventManagers[e._key()])===null||i===void 0?void 0:i.manager,"_initialize() not called before _openPopup()");const a=await gd(e,t,r,aa(),s);return IT(e,a,ma())}async _openRedirect(e,t,r,s){await this._originValidation(e);const i=await gd(e,t,r,aa(),s);return OE(i),new Promise(()=>{})}_initialize(e){const t=e._key();if(this.eventManagers[t]){const{manager:s,promise:i}=this.eventManagers[t];return s?Promise.resolve(s):(gt(i,"If manager is not set, promise should be"),i)}const r=this.initAndGetManager(e);return this.eventManagers[t]={promise:r},r.catch(()=>{delete this.eventManagers[t]}),r}async initAndGetManager(e){const t=await _T(e),r=new tT(e);return t.register("authEvent",s=>(M(s==null?void 0:s.authEvent,e,"invalid-auth-event"),{status:r.onEvent(s.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(Ea,{type:Ea},s=>{var i;const a=(i=s==null?void 0:s[0])===null||i===void 0?void 0:i[Ea];a!==void 0&&t(!!a),He(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){const t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=oT(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Mh()||kh()||da()}}const kT=CT;var _d="@firebase/auth",yd="1.9.0";/**
3282
+ */const Ea="webStorageSupport";class kT{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=sd,this._completeRedirectFn=eT,this._overrideRedirectResult=YE}async _openPopup(e,t,r,s){var i;gt((i=this.eventManagers[e._key()])===null||i===void 0?void 0:i.manager,"_initialize() not called before _openPopup()");const a=await _d(e,t,r,aa(),s);return AT(e,a,ma())}async _openRedirect(e,t,r,s){await this._originValidation(e);const i=await _d(e,t,r,aa(),s);return VE(i),new Promise(()=>{})}_initialize(e){const t=e._key();if(this.eventManagers[t]){const{manager:s,promise:i}=this.eventManagers[t];return s?Promise.resolve(s):(gt(i,"If manager is not set, promise should be"),i)}const r=this.initAndGetManager(e);return this.eventManagers[t]={promise:r},r.catch(()=>{delete this.eventManagers[t]}),r}async initAndGetManager(e){const t=await yT(e),r=new nT(e);return t.register("authEvent",s=>(M(s==null?void 0:s.authEvent,e,"invalid-auth-event"),{status:r.onEvent(s.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(Ea,{type:Ea},s=>{var i;const a=(i=s==null?void 0:s[0])===null||i===void 0?void 0:i[Ea];a!==void 0&&t(!!a),He(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){const t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=aT(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Uh()||Nh()||da()}}const NT=kT;var yd="@firebase/auth",vd="1.9.1";/**
3298
3283
  * @license
3299
3284
  * Copyright 2020 Google LLC
3300
3285
  *
@@ -3309,7 +3294,7 @@ This typically indicates that your device does not have a healthy Internet conne
3309
3294
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3310
3295
  * See the License for the specific language governing permissions and
3311
3296
  * limitations under the License.
3312
- */class NT{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){var e;return this.assertAuthConfigured(),((e=this.auth.currentUser)===null||e===void 0?void 0:e.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;const t=this.auth.onIdTokenChanged(r=>{e((r==null?void 0:r.stsTokenManager.accessToken)||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();const t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){M(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}/**
3297
+ */class DT{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){var e;return this.assertAuthConfigured(),((e=this.auth.currentUser)===null||e===void 0?void 0:e.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;const t=this.auth.onIdTokenChanged(r=>{e((r==null?void 0:r.stsTokenManager.accessToken)||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();const t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){M(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}/**
3313
3298
  * @license
3314
3299
  * Copyright 2020 Google LLC
3315
3300
  *
@@ -3324,7 +3309,7 @@ This typically indicates that your device does not have a healthy Internet conne
3324
3309
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3325
3310
  * See the License for the specific language governing permissions and
3326
3311
  * limitations under the License.
3327
- */function DT(n){switch(n){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";case"WebExtension":return"web-extension";default:return}}function OT(n){bt(new ht("auth",(e,{options:t})=>{const r=e.getProvider("app").getImmediate(),s=e.getProvider("heartbeat"),i=e.getProvider("app-check-internal"),{apiKey:a,authDomain:c}=r.options;M(a&&!a.includes(":"),"invalid-api-key",{appName:r.name});const l={apiKey:a,authDomain:c,clientPlatform:n,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:Uh(n)},d=new Gv(r,s,i,l);return rE(d,t),d},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider("auth-internal").initialize()})),bt(new ht("auth-internal",e=>{const t=ot(e.getProvider("auth").getImmediate());return(r=>new NT(r))(t)},"PRIVATE").setInstantiationMode("EXPLICIT")),qe(_d,yd,DT(n)),qe(_d,yd,"esm2017")}/**
3312
+ */function OT(n){switch(n){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";case"WebExtension":return"web-extension";default:return}}function VT(n){bt(new ht("auth",(e,{options:t})=>{const r=e.getProvider("app").getImmediate(),s=e.getProvider("heartbeat"),i=e.getProvider("app-check-internal"),{apiKey:a,authDomain:c}=r.options;M(a&&!a.includes(":"),"invalid-api-key",{appName:r.name});const l={apiKey:a,authDomain:c,clientPlatform:n,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:xh(n)},d=new Kv(r,s,i,l);return sE(d,t),d},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider("auth-internal").initialize()})),bt(new ht("auth-internal",e=>{const t=ot(e.getProvider("auth").getImmediate());return(r=>new DT(r))(t)},"PRIVATE").setInstantiationMode("EXPLICIT")),qe(yd,vd,OT(n)),qe(yd,vd,"esm2017")}/**
3328
3313
  * @license
3329
3314
  * Copyright 2021 Google LLC
3330
3315
  *
@@ -3339,7 +3324,7 @@ This typically indicates that your device does not have a healthy Internet conne
3339
3324
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3340
3325
  * See the License for the specific language governing permissions and
3341
3326
  * limitations under the License.
3342
- */const VT=5*60,LT=uc("authIdTokenMaxAge")||VT;let vd=null;const MT=n=>async e=>{const t=e&&await e.getIdTokenResult(),r=t&&(new Date().getTime()-Date.parse(t.issuedAtTime))/1e3;if(r&&r>LT)return;const s=t==null?void 0:t.token;vd!==s&&(vd=s,await fetch(n,{method:s?"POST":"DELETE",headers:s?{Authorization:`Bearer ${s}`}:{}}))};function UT(n=ts()){const e=nr(n,"auth");if(e.isInitialized())return e.getImmediate();const t=nE(n,{popupRedirectResolver:kT,persistence:[qE,kE,rd]}),r=uc("authTokenSyncURL");if(r&&typeof isSecureContext=="boolean"&&isSecureContext){const i=new URL(r,location.origin);if(location.origin===i.origin){const a=MT(i.toString());PE(t,a,()=>a(t.currentUser)),bE(t,c=>a(c))}}const s=ac("auth");return s&&qh(t,`http://${s}`),t}function xT(){var n,e;return(e=(n=document.getElementsByTagName("head"))===null||n===void 0?void 0:n[0])!==null&&e!==void 0?e:document}Kv({loadJS(n){return new Promise((e,t)=>{const r=document.createElement("script");r.setAttribute("src",n),r.onload=e,r.onerror=s=>{const i=Ke("internal-error");i.customData=s,t(i)},r.type="text/javascript",r.charset="UTF-8",xT().appendChild(r)})},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="}),OT("Browser");/**
3327
+ */const LT=5*60,MT=lc("authIdTokenMaxAge")||LT;let Ed=null;const UT=n=>async e=>{const t=e&&await e.getIdTokenResult(),r=t&&(new Date().getTime()-Date.parse(t.issuedAtTime))/1e3;if(r&&r>MT)return;const s=t==null?void 0:t.token;Ed!==s&&(Ed=s,await fetch(n,{method:s?"POST":"DELETE",headers:s?{Authorization:`Bearer ${s}`}:{}}))};function xT(n=ts()){const e=rr(n,"auth");if(e.isInitialized())return e.getImmediate();const t=rE(n,{popupRedirectResolver:NT,persistence:[$E,NE,sd]}),r=lc("authTokenSyncURL");if(r&&typeof isSecureContext=="boolean"&&isSecureContext){const i=new URL(r,location.origin);if(location.origin===i.origin){const a=UT(i.toString());SE(t,a,()=>a(t.currentUser)),PE(t,c=>a(c))}}const s=cc("auth");return s&&$h(t,`http://${s}`),t}function FT(){var n,e;return(e=(n=document.getElementsByTagName("head"))===null||n===void 0?void 0:n[0])!==null&&e!==void 0?e:document}Qv({loadJS(n){return new Promise((e,t)=>{const r=document.createElement("script");r.setAttribute("src",n),r.onload=e,r.onerror=s=>{const i=Ke("internal-error");i.customData=s,t(i)},r.type="text/javascript",r.charset="UTF-8",FT().appendChild(r)})},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="}),VT("Browser");/**
3343
3328
  * @license
3344
3329
  * Copyright 2017 Google LLC
3345
3330
  *
@@ -3354,7 +3339,7 @@ This typically indicates that your device does not have a healthy Internet conne
3354
3339
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3355
3340
  * See the License for the specific language governing permissions and
3356
3341
  * limitations under the License.
3357
- */const Ed="firebasestorage.googleapis.com",Td="storageBucket",FT=2*60*1e3,BT=10*60*1e3,jT=1e3;/**
3342
+ */const Td="firebasestorage.googleapis.com",wd="storageBucket",BT=2*60*1e3,jT=10*60*1e3,qT=1e3;/**
3358
3343
  * @license
3359
3344
  * Copyright 2017 Google LLC
3360
3345
  *
@@ -3370,7 +3355,7 @@ This typically indicates that your device does not have a healthy Internet conne
3370
3355
  * See the License for the specific language governing permissions and
3371
3356
  * limitations under the License.
3372
3357
  */class se extends ze{constructor(e,t,r=0){super(Ta(e),`Firebase Storage: ${t} (${Ta(e)})`),this.status_=r,this.customData={serverResponse:null},this._baseMessage=this.message,Object.setPrototypeOf(this,se.prototype)}get status(){return this.status_}set status(e){this.status_=e}_codeEquals(e){return Ta(e)===this.code}get serverResponse(){return this.customData.serverResponse}set serverResponse(e){this.customData.serverResponse=e,this.customData.serverResponse?this.message=`${this._baseMessage}
3373
- ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(function(n){n.UNKNOWN="unknown",n.OBJECT_NOT_FOUND="object-not-found",n.BUCKET_NOT_FOUND="bucket-not-found",n.PROJECT_NOT_FOUND="project-not-found",n.QUOTA_EXCEEDED="quota-exceeded",n.UNAUTHENTICATED="unauthenticated",n.UNAUTHORIZED="unauthorized",n.UNAUTHORIZED_APP="unauthorized-app",n.RETRY_LIMIT_EXCEEDED="retry-limit-exceeded",n.INVALID_CHECKSUM="invalid-checksum",n.CANCELED="canceled",n.INVALID_EVENT_NAME="invalid-event-name",n.INVALID_URL="invalid-url",n.INVALID_DEFAULT_BUCKET="invalid-default-bucket",n.NO_DEFAULT_BUCKET="no-default-bucket",n.CANNOT_SLICE_BLOB="cannot-slice-blob",n.SERVER_FILE_WRONG_SIZE="server-file-wrong-size",n.NO_DOWNLOAD_URL="no-download-url",n.INVALID_ARGUMENT="invalid-argument",n.INVALID_ARGUMENT_COUNT="invalid-argument-count",n.APP_DELETED="app-deleted",n.INVALID_ROOT_OPERATION="invalid-root-operation",n.INVALID_FORMAT="invalid-format",n.INTERNAL_ERROR="internal-error",n.UNSUPPORTED_ENVIRONMENT="unsupported-environment"})(te||(te={}));function Ta(n){return"storage/"+n}function wa(){const n="An unknown error occurred, please check the error payload for server response.";return new se(te.UNKNOWN,n)}function qT(n){return new se(te.OBJECT_NOT_FOUND,"Object '"+n+"' does not exist.")}function $T(n){return new se(te.QUOTA_EXCEEDED,"Quota for bucket '"+n+"' exceeded, please view quota on https://firebase.google.com/pricing/.")}function HT(){const n="User is not authenticated, please authenticate using Firebase Authentication and try again.";return new se(te.UNAUTHENTICATED,n)}function zT(){return new se(te.UNAUTHORIZED_APP,"This app does not have permission to access Firebase Storage on this project.")}function WT(n){return new se(te.UNAUTHORIZED,"User does not have permission to access '"+n+"'.")}function wd(){return new se(te.RETRY_LIMIT_EXCEEDED,"Max retry time for operation exceeded, please try again.")}function Id(){return new se(te.CANCELED,"User canceled the upload/download.")}function GT(n){return new se(te.INVALID_URL,"Invalid URL '"+n+"'.")}function KT(n){return new se(te.INVALID_DEFAULT_BUCKET,"Invalid default bucket '"+n+"'.")}function QT(){return new se(te.NO_DEFAULT_BUCKET,"No default bucket found. Did you set the '"+Td+"' property when initializing the app?")}function Ad(){return new se(te.CANNOT_SLICE_BLOB,"Cannot slice blob for upload. Please retry the upload.")}function XT(){return new se(te.SERVER_FILE_WRONG_SIZE,"Server recorded incorrect upload file size, please retry the upload.")}function YT(){return new se(te.NO_DOWNLOAD_URL,"The given file does not have any download URLs.")}function JT(n){return new se(te.UNSUPPORTED_ENVIRONMENT,`${n} is missing. Make sure to install the required polyfills. See https://firebase.google.com/docs/web/environments-js-sdk#polyfills for more information.`)}function Ia(n){return new se(te.INVALID_ARGUMENT,n)}function Rd(){return new se(te.APP_DELETED,"The Firebase app was deleted.")}function ZT(n){return new se(te.INVALID_ROOT_OPERATION,"The operation '"+n+"' cannot be performed on a root reference, create a non-root reference using child, such as .child('file.png').")}function Nr(n,e){return new se(te.INVALID_FORMAT,"String does not match format '"+n+"': "+e)}function Dr(n){throw new se(te.INTERNAL_ERROR,"Internal error: "+n)}/**
3358
+ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(function(n){n.UNKNOWN="unknown",n.OBJECT_NOT_FOUND="object-not-found",n.BUCKET_NOT_FOUND="bucket-not-found",n.PROJECT_NOT_FOUND="project-not-found",n.QUOTA_EXCEEDED="quota-exceeded",n.UNAUTHENTICATED="unauthenticated",n.UNAUTHORIZED="unauthorized",n.UNAUTHORIZED_APP="unauthorized-app",n.RETRY_LIMIT_EXCEEDED="retry-limit-exceeded",n.INVALID_CHECKSUM="invalid-checksum",n.CANCELED="canceled",n.INVALID_EVENT_NAME="invalid-event-name",n.INVALID_URL="invalid-url",n.INVALID_DEFAULT_BUCKET="invalid-default-bucket",n.NO_DEFAULT_BUCKET="no-default-bucket",n.CANNOT_SLICE_BLOB="cannot-slice-blob",n.SERVER_FILE_WRONG_SIZE="server-file-wrong-size",n.NO_DOWNLOAD_URL="no-download-url",n.INVALID_ARGUMENT="invalid-argument",n.INVALID_ARGUMENT_COUNT="invalid-argument-count",n.APP_DELETED="app-deleted",n.INVALID_ROOT_OPERATION="invalid-root-operation",n.INVALID_FORMAT="invalid-format",n.INTERNAL_ERROR="internal-error",n.UNSUPPORTED_ENVIRONMENT="unsupported-environment"})(te||(te={}));function Ta(n){return"storage/"+n}function wa(){const n="An unknown error occurred, please check the error payload for server response.";return new se(te.UNKNOWN,n)}function $T(n){return new se(te.OBJECT_NOT_FOUND,"Object '"+n+"' does not exist.")}function HT(n){return new se(te.QUOTA_EXCEEDED,"Quota for bucket '"+n+"' exceeded, please view quota on https://firebase.google.com/pricing/.")}function zT(){const n="User is not authenticated, please authenticate using Firebase Authentication and try again.";return new se(te.UNAUTHENTICATED,n)}function WT(){return new se(te.UNAUTHORIZED_APP,"This app does not have permission to access Firebase Storage on this project.")}function GT(n){return new se(te.UNAUTHORIZED,"User does not have permission to access '"+n+"'.")}function Id(){return new se(te.RETRY_LIMIT_EXCEEDED,"Max retry time for operation exceeded, please try again.")}function Ad(){return new se(te.CANCELED,"User canceled the upload/download.")}function KT(n){return new se(te.INVALID_URL,"Invalid URL '"+n+"'.")}function QT(n){return new se(te.INVALID_DEFAULT_BUCKET,"Invalid default bucket '"+n+"'.")}function XT(){return new se(te.NO_DEFAULT_BUCKET,"No default bucket found. Did you set the '"+wd+"' property when initializing the app?")}function Rd(){return new se(te.CANNOT_SLICE_BLOB,"Cannot slice blob for upload. Please retry the upload.")}function YT(){return new se(te.SERVER_FILE_WRONG_SIZE,"Server recorded incorrect upload file size, please retry the upload.")}function JT(){return new se(te.NO_DOWNLOAD_URL,"The given file does not have any download URLs.")}function ZT(n){return new se(te.UNSUPPORTED_ENVIRONMENT,`${n} is missing. Make sure to install the required polyfills. See https://firebase.google.com/docs/web/environments-js-sdk#polyfills for more information.`)}function Ia(n){return new se(te.INVALID_ARGUMENT,n)}function bd(){return new se(te.APP_DELETED,"The Firebase app was deleted.")}function ew(n){return new se(te.INVALID_ROOT_OPERATION,"The operation '"+n+"' cannot be performed on a root reference, create a non-root reference using child, such as .child('file.png').")}function Dr(n,e){return new se(te.INVALID_FORMAT,"String does not match format '"+n+"': "+e)}function Or(n){throw new se(te.INTERNAL_ERROR,"Internal error: "+n)}/**
3374
3359
  * @license
3375
3360
  * Copyright 2017 Google LLC
3376
3361
  *
@@ -3385,7 +3370,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3385
3370
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3386
3371
  * See the License for the specific language governing permissions and
3387
3372
  * limitations under the License.
3388
- */class Be{constructor(e,t){this.bucket=e,this.path_=t}get path(){return this.path_}get isRoot(){return this.path.length===0}fullServerUrl(){const 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=Be.makeFromUrl(e,t)}catch{return new Be(e,"")}if(r.path==="")return r;throw KT(e)}static makeFromUrl(e,t){let r=null;const s="([A-Za-z0-9.\\-_]+)";function i(H){H.path.charAt(H.path.length-1)==="/"&&(H.path_=H.path_.slice(0,-1))}const a="(/(.*))?$",c=new RegExp("^gs://"+s+a,"i"),l={bucket:1,path:3};function d(H){H.path_=decodeURIComponent(H.path)}const f="v[A-Za-z0-9_]+",m=t.replace(/[.]/g,"\\."),v="(/([^?#]*).*)?$",R=new RegExp(`^https?://${m}/${f}/b/${s}/o${v}`,"i"),S={bucket:1,path:3},N=t===Ed?"(?:storage.googleapis.com|storage.cloud.google.com)":t,k="([^?#]*)",U=new RegExp(`^https?://${N}/${s}/${k}`,"i"),x=[{regex:c,indices:l,postModify:i},{regex:R,indices:S,postModify:d},{regex:U,indices:{bucket:1,path:2},postModify:d}];for(let H=0;H<x.length;H++){const he=x[H],J=he.regex.exec(e);if(J){const T=J[he.indices.bucket];let g=J[he.indices.path];g||(g=""),r=new Be(T,g),he.postModify(r);break}}if(r==null)throw GT(e);return r}}class ew{constructor(e){this.promise_=Promise.reject(e)}getPromise(){return this.promise_}cancel(e=!1){}}/**
3373
+ */class Be{constructor(e,t){this.bucket=e,this.path_=t}get path(){return this.path_}get isRoot(){return this.path.length===0}fullServerUrl(){const 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=Be.makeFromUrl(e,t)}catch{return new Be(e,"")}if(r.path==="")return r;throw QT(e)}static makeFromUrl(e,t){let r=null;const s="([A-Za-z0-9.\\-_]+)";function i(H){H.path.charAt(H.path.length-1)==="/"&&(H.path_=H.path_.slice(0,-1))}const a="(/(.*))?$",c=new RegExp("^gs://"+s+a,"i"),l={bucket:1,path:3};function d(H){H.path_=decodeURIComponent(H.path)}const f="v[A-Za-z0-9_]+",m=t.replace(/[.]/g,"\\."),v="(/([^?#]*).*)?$",R=new RegExp(`^https?://${m}/${f}/b/${s}/o${v}`,"i"),S={bucket:1,path:3},N=t===Td?"(?:storage.googleapis.com|storage.cloud.google.com)":t,k="([^?#]*)",U=new RegExp(`^https?://${N}/${s}/${k}`,"i"),x=[{regex:c,indices:l,postModify:i},{regex:R,indices:S,postModify:d},{regex:U,indices:{bucket:1,path:2},postModify:d}];for(let H=0;H<x.length;H++){const he=x[H],J=he.regex.exec(e);if(J){const T=J[he.indices.bucket];let g=J[he.indices.path];g||(g=""),r=new Be(T,g),he.postModify(r);break}}if(r==null)throw KT(e);return r}}class tw{constructor(e){this.promise_=Promise.reject(e)}getPromise(){return this.promise_}cancel(e=!1){}}/**
3389
3374
  * @license
3390
3375
  * Copyright 2017 Google LLC
3391
3376
  *
@@ -3400,7 +3385,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3400
3385
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3401
3386
  * See the License for the specific language governing permissions and
3402
3387
  * limitations under the License.
3403
- */function tw(n,e,t){let r=1,s=null,i=null,a=!1,c=0;function l(){return c===2}let d=!1;function f(...k){d||(d=!0,e.apply(null,k))}function m(k){s=setTimeout(()=>{s=null,n(R,l())},k)}function v(){i&&clearTimeout(i)}function R(k,...U){if(d){v();return}if(k){v(),f.call(null,k,...U);return}if(l()||a){v(),f.call(null,k,...U);return}r<64&&(r*=2);let x;c===1?(c=2,x=0):x=(r+Math.random())*1e3,m(x)}let S=!1;function N(k){S||(S=!0,v(),!d&&(s!==null?(k||(c=2),clearTimeout(s),m(0)):k||(c=1)))}return m(0),i=setTimeout(()=>{a=!0,N(!0)},t),N}function nw(n){n(!1)}/**
3388
+ */function nw(n,e,t){let r=1,s=null,i=null,a=!1,c=0;function l(){return c===2}let d=!1;function f(...k){d||(d=!0,e.apply(null,k))}function m(k){s=setTimeout(()=>{s=null,n(R,l())},k)}function v(){i&&clearTimeout(i)}function R(k,...U){if(d){v();return}if(k){v(),f.call(null,k,...U);return}if(l()||a){v(),f.call(null,k,...U);return}r<64&&(r*=2);let x;c===1?(c=2,x=0):x=(r+Math.random())*1e3,m(x)}let S=!1;function N(k){S||(S=!0,v(),!d&&(s!==null?(k||(c=2),clearTimeout(s),m(0)):k||(c=1)))}return m(0),i=setTimeout(()=>{a=!0,N(!0)},t),N}function rw(n){n(!1)}/**
3404
3389
  * @license
3405
3390
  * Copyright 2017 Google LLC
3406
3391
  *
@@ -3415,7 +3400,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3415
3400
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3416
3401
  * See the License for the specific language governing permissions and
3417
3402
  * limitations under the License.
3418
- */function rw(n){return n!==void 0}function sw(n){return typeof n=="function"}function iw(n){return typeof n=="object"&&!Array.isArray(n)}function li(n){return typeof n=="string"||n instanceof String}function bd(n){return Aa()&&n instanceof Blob}function Aa(){return typeof Blob<"u"}function Pd(n,e,t,r){if(r<e)throw Ia(`Invalid value for '${n}'. Expected ${e} or greater.`);if(r>t)throw Ia(`Invalid value for '${n}'. Expected ${t} or less.`)}/**
3403
+ */function sw(n){return n!==void 0}function iw(n){return typeof n=="function"}function ow(n){return typeof n=="object"&&!Array.isArray(n)}function li(n){return typeof n=="string"||n instanceof String}function Pd(n){return Aa()&&n instanceof Blob}function Aa(){return typeof Blob<"u"}function Sd(n,e,t,r){if(r<e)throw Ia(`Invalid value for '${n}'. Expected ${e} or greater.`);if(r>t)throw Ia(`Invalid value for '${n}'. Expected ${t} or less.`)}/**
3419
3404
  * @license
3420
3405
  * Copyright 2017 Google LLC
3421
3406
  *
@@ -3430,7 +3415,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3430
3415
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3431
3416
  * See the License for the specific language governing permissions and
3432
3417
  * limitations under the License.
3433
- */function $n(n,e,t){let r=e;return t==null&&(r=`https://${e}`),`${t}://${r}/v0${n}`}function Sd(n){const e=encodeURIComponent;let t="?";for(const r in n)if(n.hasOwnProperty(r)){const s=e(r)+"="+e(n[r]);t=t+s+"&"}return t=t.slice(0,-1),t}var an;(function(n){n[n.NO_ERROR=0]="NO_ERROR",n[n.NETWORK_ERROR=1]="NETWORK_ERROR",n[n.ABORT=2]="ABORT"})(an||(an={}));/**
3418
+ */function $n(n,e,t){let r=e;return t==null&&(r=`https://${e}`),`${t}://${r}/v0${n}`}function Cd(n){const e=encodeURIComponent;let t="?";for(const r in n)if(n.hasOwnProperty(r)){const s=e(r)+"="+e(n[r]);t=t+s+"&"}return t=t.slice(0,-1),t}var cn;(function(n){n[n.NO_ERROR=0]="NO_ERROR",n[n.NETWORK_ERROR=1]="NETWORK_ERROR",n[n.ABORT=2]="ABORT"})(cn||(cn={}));/**
3434
3419
  * @license
3435
3420
  * Copyright 2022 Google LLC
3436
3421
  *
@@ -3445,7 +3430,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3445
3430
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3446
3431
  * See the License for the specific language governing permissions and
3447
3432
  * limitations under the License.
3448
- */function Cd(n,e){const t=n>=500&&n<600,s=[408,429].indexOf(n)!==-1,i=e.indexOf(n)!==-1;return t||s||i}/**
3433
+ */function kd(n,e){const t=n>=500&&n<600,s=[408,429].indexOf(n)!==-1,i=e.indexOf(n)!==-1;return t||s||i}/**
3449
3434
  * @license
3450
3435
  * Copyright 2017 Google LLC
3451
3436
  *
@@ -3460,7 +3445,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3460
3445
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3461
3446
  * See the License for the specific language governing permissions and
3462
3447
  * limitations under the License.
3463
- */class ow{constructor(e,t,r,s,i,a,c,l,d,f,m,v=!0){this.url_=e,this.method_=t,this.headers_=r,this.body_=s,this.successCodes_=i,this.additionalRetryCodes_=a,this.callback_=c,this.errorCallback_=l,this.timeout_=d,this.progressCallback_=f,this.connectionFactory_=m,this.retry=v,this.pendingConnection_=null,this.backoffId_=null,this.canceled_=!1,this.appDelete_=!1,this.promise_=new Promise((R,S)=>{this.resolve_=R,this.reject_=S,this.start_()})}start_(){const e=(r,s)=>{if(s){r(!1,new hi(!1,null,!0));return}const i=this.connectionFactory_();this.pendingConnection_=i;const a=c=>{const l=c.loaded,d=c.lengthComputable?c.total:-1;this.progressCallback_!==null&&this.progressCallback_(l,d)};this.progressCallback_!==null&&i.addUploadProgressListener(a),i.send(this.url_,this.method_,this.body_,this.headers_).then(()=>{this.progressCallback_!==null&&i.removeUploadProgressListener(a),this.pendingConnection_=null;const c=i.getErrorCode()===an.NO_ERROR,l=i.getStatus();if(!c||Cd(l,this.additionalRetryCodes_)&&this.retry){const f=i.getErrorCode()===an.ABORT;r(!1,new hi(!1,null,f));return}const d=this.successCodes_.indexOf(l)!==-1;r(!0,new hi(d,i))})},t=(r,s)=>{const i=this.resolve_,a=this.reject_,c=s.connection;if(s.wasSuccessCode)try{const l=this.callback_(c,c.getResponse());rw(l)?i(l):i()}catch(l){a(l)}else if(c!==null){const l=wa();l.serverResponse=c.getErrorText(),this.errorCallback_?a(this.errorCallback_(c,l)):a(l)}else if(s.canceled){const l=this.appDelete_?Rd():Id();a(l)}else{const l=wd();a(l)}};this.canceled_?t(!1,new hi(!1,null,!0)):this.backoffId_=tw(e,t,this.timeout_)}getPromise(){return this.promise_}cancel(e){this.canceled_=!0,this.appDelete_=e||!1,this.backoffId_!==null&&nw(this.backoffId_),this.pendingConnection_!==null&&this.pendingConnection_.abort()}}class hi{constructor(e,t,r){this.wasSuccessCode=e,this.connection=t,this.canceled=!!r}}function aw(n,e){e!==null&&e.length>0&&(n.Authorization="Firebase "+e)}function cw(n,e){n["X-Firebase-Storage-Version"]="webjs/"+(e??"AppManager")}function uw(n,e){e&&(n["X-Firebase-GMPID"]=e)}function lw(n,e){e!==null&&(n["X-Firebase-AppCheck"]=e)}function hw(n,e,t,r,s,i,a=!0){const c=Sd(n.urlParams),l=n.url+c,d=Object.assign({},n.headers);return uw(d,e),aw(d,t),cw(d,i),lw(d,r),new ow(l,n.method,d,n.body,n.successCodes,n.additionalRetryCodes,n.handler,n.errorHandler,n.timeout,n.progressCallback,s,a)}/**
3448
+ */class aw{constructor(e,t,r,s,i,a,c,l,d,f,m,v=!0){this.url_=e,this.method_=t,this.headers_=r,this.body_=s,this.successCodes_=i,this.additionalRetryCodes_=a,this.callback_=c,this.errorCallback_=l,this.timeout_=d,this.progressCallback_=f,this.connectionFactory_=m,this.retry=v,this.pendingConnection_=null,this.backoffId_=null,this.canceled_=!1,this.appDelete_=!1,this.promise_=new Promise((R,S)=>{this.resolve_=R,this.reject_=S,this.start_()})}start_(){const e=(r,s)=>{if(s){r(!1,new hi(!1,null,!0));return}const i=this.connectionFactory_();this.pendingConnection_=i;const a=c=>{const l=c.loaded,d=c.lengthComputable?c.total:-1;this.progressCallback_!==null&&this.progressCallback_(l,d)};this.progressCallback_!==null&&i.addUploadProgressListener(a),i.send(this.url_,this.method_,this.body_,this.headers_).then(()=>{this.progressCallback_!==null&&i.removeUploadProgressListener(a),this.pendingConnection_=null;const c=i.getErrorCode()===cn.NO_ERROR,l=i.getStatus();if(!c||kd(l,this.additionalRetryCodes_)&&this.retry){const f=i.getErrorCode()===cn.ABORT;r(!1,new hi(!1,null,f));return}const d=this.successCodes_.indexOf(l)!==-1;r(!0,new hi(d,i))})},t=(r,s)=>{const i=this.resolve_,a=this.reject_,c=s.connection;if(s.wasSuccessCode)try{const l=this.callback_(c,c.getResponse());sw(l)?i(l):i()}catch(l){a(l)}else if(c!==null){const l=wa();l.serverResponse=c.getErrorText(),this.errorCallback_?a(this.errorCallback_(c,l)):a(l)}else if(s.canceled){const l=this.appDelete_?bd():Ad();a(l)}else{const l=Id();a(l)}};this.canceled_?t(!1,new hi(!1,null,!0)):this.backoffId_=nw(e,t,this.timeout_)}getPromise(){return this.promise_}cancel(e){this.canceled_=!0,this.appDelete_=e||!1,this.backoffId_!==null&&rw(this.backoffId_),this.pendingConnection_!==null&&this.pendingConnection_.abort()}}class hi{constructor(e,t,r){this.wasSuccessCode=e,this.connection=t,this.canceled=!!r}}function cw(n,e){e!==null&&e.length>0&&(n.Authorization="Firebase "+e)}function uw(n,e){n["X-Firebase-Storage-Version"]="webjs/"+(e??"AppManager")}function lw(n,e){e&&(n["X-Firebase-GMPID"]=e)}function hw(n,e){e!==null&&(n["X-Firebase-AppCheck"]=e)}function dw(n,e,t,r,s,i,a=!0){const c=Cd(n.urlParams),l=n.url+c,d=Object.assign({},n.headers);return lw(d,e),cw(d,t),uw(d,i),hw(d,r),new aw(l,n.method,d,n.body,n.successCodes,n.additionalRetryCodes,n.handler,n.errorHandler,n.timeout,n.progressCallback,s,a)}/**
3464
3449
  * @license
3465
3450
  * Copyright 2017 Google LLC
3466
3451
  *
@@ -3475,7 +3460,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3475
3460
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3476
3461
  * See the License for the specific language governing permissions and
3477
3462
  * limitations under the License.
3478
- */function dw(){return typeof BlobBuilder<"u"?BlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:void 0}function fw(...n){const e=dw();if(e!==void 0){const t=new e;for(let r=0;r<n.length;r++)t.append(n[r]);return t.getBlob()}else{if(Aa())return new Blob(n);throw new se(te.UNSUPPORTED_ENVIRONMENT,"This browser doesn't seem to support creating Blobs")}}function pw(n,e,t){return n.webkitSlice?n.webkitSlice(e,t):n.mozSlice?n.mozSlice(e,t):n.slice?n.slice(e,t):null}/**
3463
+ */function fw(){return typeof BlobBuilder<"u"?BlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:void 0}function pw(...n){const e=fw();if(e!==void 0){const t=new e;for(let r=0;r<n.length;r++)t.append(n[r]);return t.getBlob()}else{if(Aa())return new Blob(n);throw new se(te.UNSUPPORTED_ENVIRONMENT,"This browser doesn't seem to support creating Blobs")}}function mw(n,e,t){return n.webkitSlice?n.webkitSlice(e,t):n.mozSlice?n.mozSlice(e,t):n.slice?n.slice(e,t):null}/**
3479
3464
  * @license
3480
3465
  * Copyright 2021 Google LLC
3481
3466
  *
@@ -3490,7 +3475,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3490
3475
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3491
3476
  * See the License for the specific language governing permissions and
3492
3477
  * limitations under the License.
3493
- */function mw(n){if(typeof atob>"u")throw JT("base-64");return atob(n)}/**
3478
+ */function gw(n){if(typeof atob>"u")throw ZT("base-64");return atob(n)}/**
3494
3479
  * @license
3495
3480
  * Copyright 2017 Google LLC
3496
3481
  *
@@ -3505,7 +3490,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3505
3490
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3506
3491
  * See the License for the specific language governing permissions and
3507
3492
  * limitations under the License.
3508
- */const lt={RAW:"raw",BASE64:"base64",BASE64URL:"base64url",DATA_URL:"data_url"};class Ra{constructor(e,t){this.data=e,this.contentType=t||null}}function gw(n,e){switch(n){case lt.RAW:return new Ra(kd(e));case lt.BASE64:case lt.BASE64URL:return new Ra(Nd(n,e));case lt.DATA_URL:return new Ra(yw(e),vw(e))}throw wa()}function kd(n){const e=[];for(let t=0;t<n.length;t++){let r=n.charCodeAt(t);if(r<=127)e.push(r);else if(r<=2047)e.push(192|r>>6,128|r&63);else if((r&64512)===55296)if(!(t<n.length-1&&(n.charCodeAt(t+1)&64512)===56320))e.push(239,191,189);else{const i=r,a=n.charCodeAt(++t);r=65536|(i&1023)<<10|a&1023,e.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|r&63)}else(r&64512)===56320?e.push(239,191,189):e.push(224|r>>12,128|r>>6&63,128|r&63)}return new Uint8Array(e)}function _w(n){let e;try{e=decodeURIComponent(n)}catch{throw Nr(lt.DATA_URL,"Malformed data URL.")}return kd(e)}function Nd(n,e){switch(n){case lt.BASE64:{const s=e.indexOf("-")!==-1,i=e.indexOf("_")!==-1;if(s||i)throw Nr(n,"Invalid character '"+(s?"-":"_")+"' found: is it base64url encoded?");break}case lt.BASE64URL:{const s=e.indexOf("+")!==-1,i=e.indexOf("/")!==-1;if(s||i)throw Nr(n,"Invalid character '"+(s?"+":"/")+"' found: is it base64 encoded?");e=e.replace(/-/g,"+").replace(/_/g,"/");break}}let t;try{t=mw(e)}catch(s){throw s.message.includes("polyfill")?s:Nr(n,"Invalid character found")}const r=new Uint8Array(t.length);for(let s=0;s<t.length;s++)r[s]=t.charCodeAt(s);return r}class Dd{constructor(e){this.base64=!1,this.contentType=null;const t=e.match(/^data:([^,]+)?,/);if(t===null)throw Nr(lt.DATA_URL,"Must be formatted 'data:[<mediatype>][;base64],<data>");const r=t[1]||null;r!=null&&(this.base64=Ew(r,";base64"),this.contentType=this.base64?r.substring(0,r.length-7):r),this.rest=e.substring(e.indexOf(",")+1)}}function yw(n){const e=new Dd(n);return e.base64?Nd(lt.BASE64,e.rest):_w(e.rest)}function vw(n){return new Dd(n).contentType}function Ew(n,e){return n.length>=e.length?n.substring(n.length-e.length)===e:!1}/**
3493
+ */const lt={RAW:"raw",BASE64:"base64",BASE64URL:"base64url",DATA_URL:"data_url"};class Ra{constructor(e,t){this.data=e,this.contentType=t||null}}function _w(n,e){switch(n){case lt.RAW:return new Ra(Nd(e));case lt.BASE64:case lt.BASE64URL:return new Ra(Dd(n,e));case lt.DATA_URL:return new Ra(vw(e),Ew(e))}throw wa()}function Nd(n){const e=[];for(let t=0;t<n.length;t++){let r=n.charCodeAt(t);if(r<=127)e.push(r);else if(r<=2047)e.push(192|r>>6,128|r&63);else if((r&64512)===55296)if(!(t<n.length-1&&(n.charCodeAt(t+1)&64512)===56320))e.push(239,191,189);else{const i=r,a=n.charCodeAt(++t);r=65536|(i&1023)<<10|a&1023,e.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|r&63)}else(r&64512)===56320?e.push(239,191,189):e.push(224|r>>12,128|r>>6&63,128|r&63)}return new Uint8Array(e)}function yw(n){let e;try{e=decodeURIComponent(n)}catch{throw Dr(lt.DATA_URL,"Malformed data URL.")}return Nd(e)}function Dd(n,e){switch(n){case lt.BASE64:{const s=e.indexOf("-")!==-1,i=e.indexOf("_")!==-1;if(s||i)throw Dr(n,"Invalid character '"+(s?"-":"_")+"' found: is it base64url encoded?");break}case lt.BASE64URL:{const s=e.indexOf("+")!==-1,i=e.indexOf("/")!==-1;if(s||i)throw Dr(n,"Invalid character '"+(s?"+":"/")+"' found: is it base64 encoded?");e=e.replace(/-/g,"+").replace(/_/g,"/");break}}let t;try{t=gw(e)}catch(s){throw s.message.includes("polyfill")?s:Dr(n,"Invalid character found")}const r=new Uint8Array(t.length);for(let s=0;s<t.length;s++)r[s]=t.charCodeAt(s);return r}class Od{constructor(e){this.base64=!1,this.contentType=null;const t=e.match(/^data:([^,]+)?,/);if(t===null)throw Dr(lt.DATA_URL,"Must be formatted 'data:[<mediatype>][;base64],<data>");const r=t[1]||null;r!=null&&(this.base64=Tw(r,";base64"),this.contentType=this.base64?r.substring(0,r.length-7):r),this.rest=e.substring(e.indexOf(",")+1)}}function vw(n){const e=new Od(n);return e.base64?Dd(lt.BASE64,e.rest):yw(e.rest)}function Ew(n){return new Od(n).contentType}function Tw(n,e){return n.length>=e.length?n.substring(n.length-e.length)===e:!1}/**
3509
3494
  * @license
3510
3495
  * Copyright 2017 Google LLC
3511
3496
  *
@@ -3520,7 +3505,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3520
3505
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3521
3506
  * See the License for the specific language governing permissions and
3522
3507
  * limitations under the License.
3523
- */class Ht{constructor(e,t){let r=0,s="";bd(e)?(this.data_=e,r=e.size,s=e.type):e instanceof ArrayBuffer?(t?this.data_=new Uint8Array(e):(this.data_=new Uint8Array(e.byteLength),this.data_.set(new Uint8Array(e))),r=this.data_.length):e instanceof Uint8Array&&(t?this.data_=e:(this.data_=new Uint8Array(e.length),this.data_.set(e)),r=e.length),this.size_=r,this.type_=s}size(){return this.size_}type(){return this.type_}slice(e,t){if(bd(this.data_)){const r=this.data_,s=pw(r,e,t);return s===null?null:new Ht(s)}else{const r=new Uint8Array(this.data_.buffer,e,t-e);return new Ht(r,!0)}}static getBlob(...e){if(Aa()){const t=e.map(r=>r instanceof Ht?r.data_:r);return new Ht(fw.apply(null,t))}else{const t=e.map(a=>li(a)?gw(lt.RAW,a).data:a.data_);let r=0;t.forEach(a=>{r+=a.byteLength});const s=new Uint8Array(r);let i=0;return t.forEach(a=>{for(let c=0;c<a.length;c++)s[i++]=a[c]}),new Ht(s,!0)}}uploadData(){return this.data_}}/**
3508
+ */class Ht{constructor(e,t){let r=0,s="";Pd(e)?(this.data_=e,r=e.size,s=e.type):e instanceof ArrayBuffer?(t?this.data_=new Uint8Array(e):(this.data_=new Uint8Array(e.byteLength),this.data_.set(new Uint8Array(e))),r=this.data_.length):e instanceof Uint8Array&&(t?this.data_=e:(this.data_=new Uint8Array(e.length),this.data_.set(e)),r=e.length),this.size_=r,this.type_=s}size(){return this.size_}type(){return this.type_}slice(e,t){if(Pd(this.data_)){const r=this.data_,s=mw(r,e,t);return s===null?null:new Ht(s)}else{const r=new Uint8Array(this.data_.buffer,e,t-e);return new Ht(r,!0)}}static getBlob(...e){if(Aa()){const t=e.map(r=>r instanceof Ht?r.data_:r);return new Ht(pw.apply(null,t))}else{const t=e.map(a=>li(a)?_w(lt.RAW,a).data:a.data_);let r=0;t.forEach(a=>{r+=a.byteLength});const s=new Uint8Array(r);let i=0;return t.forEach(a=>{for(let c=0;c<a.length;c++)s[i++]=a[c]}),new Ht(s,!0)}}uploadData(){return this.data_}}/**
3524
3509
  * @license
3525
3510
  * Copyright 2017 Google LLC
3526
3511
  *
@@ -3535,7 +3520,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3535
3520
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3536
3521
  * See the License for the specific language governing permissions and
3537
3522
  * limitations under the License.
3538
- */function Od(n){let e;try{e=JSON.parse(n)}catch{return null}return iw(e)?e:null}/**
3523
+ */function Vd(n){let e;try{e=JSON.parse(n)}catch{return null}return ow(e)?e:null}/**
3539
3524
  * @license
3540
3525
  * Copyright 2017 Google LLC
3541
3526
  *
@@ -3550,7 +3535,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3550
3535
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3551
3536
  * See the License for the specific language governing permissions and
3552
3537
  * limitations under the License.
3553
- */function Tw(n){if(n.length===0)return null;const e=n.lastIndexOf("/");return e===-1?"":n.slice(0,e)}function ww(n,e){const t=e.split("/").filter(r=>r.length>0).join("/");return n.length===0?t:n+"/"+t}function Vd(n){const e=n.lastIndexOf("/",n.length-2);return e===-1?n:n.slice(e+1)}/**
3538
+ */function ww(n){if(n.length===0)return null;const e=n.lastIndexOf("/");return e===-1?"":n.slice(0,e)}function Iw(n,e){const t=e.split("/").filter(r=>r.length>0).join("/");return n.length===0?t:n+"/"+t}function Ld(n){const e=n.lastIndexOf("/",n.length-2);return e===-1?n:n.slice(e+1)}/**
3554
3539
  * @license
3555
3540
  * Copyright 2017 Google LLC
3556
3541
  *
@@ -3565,7 +3550,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3565
3550
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3566
3551
  * See the License for the specific language governing permissions and
3567
3552
  * limitations under the License.
3568
- */function Iw(n,e){return e}class Ce{constructor(e,t,r,s){this.server=e,this.local=t||e,this.writable=!!r,this.xform=s||Iw}}let di=null;function Aw(n){return!li(n)||n.length<2?n:Vd(n)}function Ld(){if(di)return di;const n=[];n.push(new Ce("bucket")),n.push(new Ce("generation")),n.push(new Ce("metageneration")),n.push(new Ce("name","fullPath",!0));function e(i,a){return Aw(a)}const t=new Ce("name");t.xform=e,n.push(t);function r(i,a){return a!==void 0?Number(a):a}const s=new Ce("size");return s.xform=r,n.push(s),n.push(new Ce("timeCreated")),n.push(new Ce("updated")),n.push(new Ce("md5Hash",null,!0)),n.push(new Ce("cacheControl",null,!0)),n.push(new Ce("contentDisposition",null,!0)),n.push(new Ce("contentEncoding",null,!0)),n.push(new Ce("contentLanguage",null,!0)),n.push(new Ce("contentType",null,!0)),n.push(new Ce("metadata","customMetadata",!0)),di=n,di}function Rw(n,e){function t(){const r=n.bucket,s=n.fullPath,i=new Be(r,s);return e._makeStorageReference(i)}Object.defineProperty(n,"ref",{get:t})}function bw(n,e,t){const r={};r.type="file";const s=t.length;for(let i=0;i<s;i++){const a=t[i];r[a.local]=a.xform(r,e[a.server])}return Rw(r,n),r}function Md(n,e,t){const r=Od(e);return r===null?null:bw(n,r,t)}function Pw(n,e,t,r){const s=Od(e);if(s===null||!li(s.downloadTokens))return null;const i=s.downloadTokens;if(i.length===0)return null;const a=encodeURIComponent;return i.split(",").map(d=>{const f=n.bucket,m=n.fullPath,v="/b/"+a(f)+"/o/"+a(m),R=$n(v,t,r),S=Sd({alt:"media",token:d});return R+S})[0]}function Ud(n,e){const t={},r=e.length;for(let s=0;s<r;s++){const i=e[s];i.writable&&(t[i.server]=n[i.local])}return JSON.stringify(t)}class cn{constructor(e,t,r,s){this.url=e,this.method=t,this.handler=r,this.timeout=s,this.urlParams={},this.headers={},this.body=null,this.errorHandler=null,this.progressCallback=null,this.successCodes=[200],this.additionalRetryCodes=[]}}/**
3553
+ */function Aw(n,e){return e}class Ce{constructor(e,t,r,s){this.server=e,this.local=t||e,this.writable=!!r,this.xform=s||Aw}}let di=null;function Rw(n){return!li(n)||n.length<2?n:Ld(n)}function Md(){if(di)return di;const n=[];n.push(new Ce("bucket")),n.push(new Ce("generation")),n.push(new Ce("metageneration")),n.push(new Ce("name","fullPath",!0));function e(i,a){return Rw(a)}const t=new Ce("name");t.xform=e,n.push(t);function r(i,a){return a!==void 0?Number(a):a}const s=new Ce("size");return s.xform=r,n.push(s),n.push(new Ce("timeCreated")),n.push(new Ce("updated")),n.push(new Ce("md5Hash",null,!0)),n.push(new Ce("cacheControl",null,!0)),n.push(new Ce("contentDisposition",null,!0)),n.push(new Ce("contentEncoding",null,!0)),n.push(new Ce("contentLanguage",null,!0)),n.push(new Ce("contentType",null,!0)),n.push(new Ce("metadata","customMetadata",!0)),di=n,di}function bw(n,e){function t(){const r=n.bucket,s=n.fullPath,i=new Be(r,s);return e._makeStorageReference(i)}Object.defineProperty(n,"ref",{get:t})}function Pw(n,e,t){const r={};r.type="file";const s=t.length;for(let i=0;i<s;i++){const a=t[i];r[a.local]=a.xform(r,e[a.server])}return bw(r,n),r}function Ud(n,e,t){const r=Vd(e);return r===null?null:Pw(n,r,t)}function Sw(n,e,t,r){const s=Vd(e);if(s===null||!li(s.downloadTokens))return null;const i=s.downloadTokens;if(i.length===0)return null;const a=encodeURIComponent;return i.split(",").map(d=>{const f=n.bucket,m=n.fullPath,v="/b/"+a(f)+"/o/"+a(m),R=$n(v,t,r),S=Cd({alt:"media",token:d});return R+S})[0]}function xd(n,e){const t={},r=e.length;for(let s=0;s<r;s++){const i=e[s];i.writable&&(t[i.server]=n[i.local])}return JSON.stringify(t)}class un{constructor(e,t,r,s){this.url=e,this.method=t,this.handler=r,this.timeout=s,this.urlParams={},this.headers={},this.body=null,this.errorHandler=null,this.progressCallback=null,this.successCodes=[200],this.additionalRetryCodes=[]}}/**
3569
3554
  * @license
3570
3555
  * Copyright 2017 Google LLC
3571
3556
  *
@@ -3580,7 +3565,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
3580
3565
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3581
3566
  * See the License for the specific language governing permissions and
3582
3567
  * limitations under the License.
3583
- */function Tt(n){if(!n)throw wa()}function ba(n,e){function t(r,s){const i=Md(n,s,e);return Tt(i!==null),i}return t}function Sw(n,e){function t(r,s){const i=Md(n,s,e);return Tt(i!==null),Pw(i,s,n.host,n._protocol)}return t}function Or(n){function e(t,r){let s;return t.getStatus()===401?t.getErrorText().includes("Firebase App Check token is invalid")?s=zT():s=HT():t.getStatus()===402?s=$T(n.bucket):t.getStatus()===403?s=WT(n.path):s=r,s.status=t.getStatus(),s.serverResponse=r.serverResponse,s}return e}function Pa(n){const e=Or(n);function t(r,s){let i=e(r,s);return r.getStatus()===404&&(i=qT(n.path)),i.serverResponse=s.serverResponse,i}return t}function Cw(n,e,t){const r=e.fullServerUrl(),s=$n(r,n.host,n._protocol),i="GET",a=n.maxOperationRetryTime,c=new cn(s,i,ba(n,t),a);return c.errorHandler=Pa(e),c}function kw(n,e,t){const r=e.fullServerUrl(),s=$n(r,n.host,n._protocol),i="GET",a=n.maxOperationRetryTime,c=new cn(s,i,Sw(n,t),a);return c.errorHandler=Pa(e),c}function Nw(n,e){const t=e.fullServerUrl(),r=$n(t,n.host,n._protocol),s="DELETE",i=n.maxOperationRetryTime;function a(l,d){}const c=new cn(r,s,a,i);return c.successCodes=[200,204],c.errorHandler=Pa(e),c}function Dw(n,e){return n&&n.contentType||e&&e.type()||"application/octet-stream"}function xd(n,e,t){const r=Object.assign({},t);return r.fullPath=n.path,r.size=e.size(),r.contentType||(r.contentType=Dw(null,e)),r}function Ow(n,e,t,r,s){const i=e.bucketOnlyServerUrl(),a={"X-Goog-Upload-Protocol":"multipart"};function c(){let x="";for(let H=0;H<2;H++)x=x+Math.random().toString().slice(2);return x}const l=c();a["Content-Type"]="multipart/related; boundary="+l;const d=xd(e,r,s),f=Ud(d,t),m="--"+l+`\r
3568
+ */function Tt(n){if(!n)throw wa()}function ba(n,e){function t(r,s){const i=Ud(n,s,e);return Tt(i!==null),i}return t}function Cw(n,e){function t(r,s){const i=Ud(n,s,e);return Tt(i!==null),Sw(i,s,n.host,n._protocol)}return t}function Vr(n){function e(t,r){let s;return t.getStatus()===401?t.getErrorText().includes("Firebase App Check token is invalid")?s=WT():s=zT():t.getStatus()===402?s=HT(n.bucket):t.getStatus()===403?s=GT(n.path):s=r,s.status=t.getStatus(),s.serverResponse=r.serverResponse,s}return e}function Pa(n){const e=Vr(n);function t(r,s){let i=e(r,s);return r.getStatus()===404&&(i=$T(n.path)),i.serverResponse=s.serverResponse,i}return t}function kw(n,e,t){const r=e.fullServerUrl(),s=$n(r,n.host,n._protocol),i="GET",a=n.maxOperationRetryTime,c=new un(s,i,ba(n,t),a);return c.errorHandler=Pa(e),c}function Nw(n,e,t){const r=e.fullServerUrl(),s=$n(r,n.host,n._protocol),i="GET",a=n.maxOperationRetryTime,c=new un(s,i,Cw(n,t),a);return c.errorHandler=Pa(e),c}function Dw(n,e){const t=e.fullServerUrl(),r=$n(t,n.host,n._protocol),s="DELETE",i=n.maxOperationRetryTime;function a(l,d){}const c=new un(r,s,a,i);return c.successCodes=[200,204],c.errorHandler=Pa(e),c}function Ow(n,e){return n&&n.contentType||e&&e.type()||"application/octet-stream"}function Fd(n,e,t){const r=Object.assign({},t);return r.fullPath=n.path,r.size=e.size(),r.contentType||(r.contentType=Ow(null,e)),r}function Vw(n,e,t,r,s){const i=e.bucketOnlyServerUrl(),a={"X-Goog-Upload-Protocol":"multipart"};function c(){let x="";for(let H=0;H<2;H++)x=x+Math.random().toString().slice(2);return x}const l=c();a["Content-Type"]="multipart/related; boundary="+l;const d=Fd(e,r,s),f=xd(d,t),m="--"+l+`\r
3584
3569
  Content-Type: application/json; charset=utf-8\r
3585
3570
  \r
3586
3571
  `+f+`\r
@@ -3588,7 +3573,7 @@ Content-Type: application/json; charset=utf-8\r
3588
3573
  Content-Type: `+d.contentType+`\r
3589
3574
  \r
3590
3575
  `,v=`\r
3591
- --`+l+"--",R=Ht.getBlob(m,r,v);if(R===null)throw Ad();const S={name:d.fullPath},N=$n(i,n.host,n._protocol),k="POST",U=n.maxUploadRetryTime,$=new cn(N,k,ba(n,t),U);return $.urlParams=S,$.headers=a,$.body=R.uploadData(),$.errorHandler=Or(e),$}class fi{constructor(e,t,r,s){this.current=e,this.total=t,this.finalized=!!r,this.metadata=s||null}}function Sa(n,e){let t=null;try{t=n.getResponseHeader("X-Goog-Upload-Status")}catch{Tt(!1)}return Tt(!!t&&(e||["active"]).indexOf(t)!==-1),t}function Vw(n,e,t,r,s){const i=e.bucketOnlyServerUrl(),a=xd(e,r,s),c={name:a.fullPath},l=$n(i,n.host,n._protocol),d="POST",f={"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":`${r.size()}`,"X-Goog-Upload-Header-Content-Type":a.contentType,"Content-Type":"application/json; charset=utf-8"},m=Ud(a,t),v=n.maxUploadRetryTime;function R(N){Sa(N);let k;try{k=N.getResponseHeader("X-Goog-Upload-URL")}catch{Tt(!1)}return Tt(li(k)),k}const S=new cn(l,d,R,v);return S.urlParams=c,S.headers=f,S.body=m,S.errorHandler=Or(e),S}function Lw(n,e,t,r){const s={"X-Goog-Upload-Command":"query"};function i(d){const f=Sa(d,["active","final"]);let m=null;try{m=d.getResponseHeader("X-Goog-Upload-Size-Received")}catch{Tt(!1)}m||Tt(!1);const v=Number(m);return Tt(!isNaN(v)),new fi(v,r.size(),f==="final")}const a="POST",c=n.maxUploadRetryTime,l=new cn(t,a,i,c);return l.headers=s,l.errorHandler=Or(e),l}const Fd=256*1024;function Mw(n,e,t,r,s,i,a,c){const l=new fi(0,0);if(a?(l.current=a.current,l.total=a.total):(l.current=0,l.total=r.size()),r.size()!==l.total)throw XT();const d=l.total-l.current;let f=d;s>0&&(f=Math.min(f,s));const m=l.current,v=m+f;let R="";f===0?R="finalize":d===f?R="upload, finalize":R="upload";const S={"X-Goog-Upload-Command":R,"X-Goog-Upload-Offset":`${l.current}`},N=r.slice(m,v);if(N===null)throw Ad();function k(H,he){const J=Sa(H,["active","final"]),T=l.current+f,g=r.size();let _;return J==="final"?_=ba(e,i)(H,he):_=null,new fi(T,g,J==="final",_)}const U="POST",$=e.maxUploadRetryTime,x=new cn(t,U,k,$);return x.headers=S,x.body=N.uploadData(),x.progressCallback=c||null,x.errorHandler=Or(n),x}const Le={RUNNING:"running",PAUSED:"paused",SUCCESS:"success",CANCELED:"canceled",ERROR:"error"};function Ca(n){switch(n){case"running":case"pausing":case"canceling":return Le.RUNNING;case"paused":return Le.PAUSED;case"success":return Le.SUCCESS;case"canceled":return Le.CANCELED;case"error":return Le.ERROR;default:return Le.ERROR}}/**
3576
+ --`+l+"--",R=Ht.getBlob(m,r,v);if(R===null)throw Rd();const S={name:d.fullPath},N=$n(i,n.host,n._protocol),k="POST",U=n.maxUploadRetryTime,$=new un(N,k,ba(n,t),U);return $.urlParams=S,$.headers=a,$.body=R.uploadData(),$.errorHandler=Vr(e),$}class fi{constructor(e,t,r,s){this.current=e,this.total=t,this.finalized=!!r,this.metadata=s||null}}function Sa(n,e){let t=null;try{t=n.getResponseHeader("X-Goog-Upload-Status")}catch{Tt(!1)}return Tt(!!t&&(e||["active"]).indexOf(t)!==-1),t}function Lw(n,e,t,r,s){const i=e.bucketOnlyServerUrl(),a=Fd(e,r,s),c={name:a.fullPath},l=$n(i,n.host,n._protocol),d="POST",f={"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":`${r.size()}`,"X-Goog-Upload-Header-Content-Type":a.contentType,"Content-Type":"application/json; charset=utf-8"},m=xd(a,t),v=n.maxUploadRetryTime;function R(N){Sa(N);let k;try{k=N.getResponseHeader("X-Goog-Upload-URL")}catch{Tt(!1)}return Tt(li(k)),k}const S=new un(l,d,R,v);return S.urlParams=c,S.headers=f,S.body=m,S.errorHandler=Vr(e),S}function Mw(n,e,t,r){const s={"X-Goog-Upload-Command":"query"};function i(d){const f=Sa(d,["active","final"]);let m=null;try{m=d.getResponseHeader("X-Goog-Upload-Size-Received")}catch{Tt(!1)}m||Tt(!1);const v=Number(m);return Tt(!isNaN(v)),new fi(v,r.size(),f==="final")}const a="POST",c=n.maxUploadRetryTime,l=new un(t,a,i,c);return l.headers=s,l.errorHandler=Vr(e),l}const Bd=256*1024;function Uw(n,e,t,r,s,i,a,c){const l=new fi(0,0);if(a?(l.current=a.current,l.total=a.total):(l.current=0,l.total=r.size()),r.size()!==l.total)throw YT();const d=l.total-l.current;let f=d;s>0&&(f=Math.min(f,s));const m=l.current,v=m+f;let R="";f===0?R="finalize":d===f?R="upload, finalize":R="upload";const S={"X-Goog-Upload-Command":R,"X-Goog-Upload-Offset":`${l.current}`},N=r.slice(m,v);if(N===null)throw Rd();function k(H,he){const J=Sa(H,["active","final"]),T=l.current+f,g=r.size();let _;return J==="final"?_=ba(e,i)(H,he):_=null,new fi(T,g,J==="final",_)}const U="POST",$=e.maxUploadRetryTime,x=new un(t,U,k,$);return x.headers=S,x.body=N.uploadData(),x.progressCallback=c||null,x.errorHandler=Vr(n),x}const Le={RUNNING:"running",PAUSED:"paused",SUCCESS:"success",CANCELED:"canceled",ERROR:"error"};function Ca(n){switch(n){case"running":case"pausing":case"canceling":return Le.RUNNING;case"paused":return Le.PAUSED;case"success":return Le.SUCCESS;case"canceled":return Le.CANCELED;case"error":return Le.ERROR;default:return Le.ERROR}}/**
3592
3577
  * @license
3593
3578
  * Copyright 2017 Google LLC
3594
3579
  *
@@ -3603,7 +3588,7 @@ Content-Type: `+d.contentType+`\r
3603
3588
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3604
3589
  * See the License for the specific language governing permissions and
3605
3590
  * limitations under the License.
3606
- */class Uw{constructor(e,t,r){if(sw(e)||t!=null||r!=null)this.next=e,this.error=t??void 0,this.complete=r??void 0;else{const i=e;this.next=i.next,this.error=i.error,this.complete=i.complete}}}/**
3591
+ */class xw{constructor(e,t,r){if(iw(e)||t!=null||r!=null)this.next=e,this.error=t??void 0,this.complete=r??void 0;else{const i=e;this.next=i.next,this.error=i.error,this.complete=i.complete}}}/**
3607
3592
  * @license
3608
3593
  * Copyright 2017 Google LLC
3609
3594
  *
@@ -3618,7 +3603,7 @@ Content-Type: `+d.contentType+`\r
3618
3603
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3619
3604
  * See the License for the specific language governing permissions and
3620
3605
  * limitations under the License.
3621
- */function Hn(n){return(...e)=>{Promise.resolve().then(()=>n(...e))}}class xw{constructor(){this.sent_=!1,this.xhr_=new XMLHttpRequest,this.initXhr(),this.errorCode_=an.NO_ERROR,this.sendPromise_=new Promise(e=>{this.xhr_.addEventListener("abort",()=>{this.errorCode_=an.ABORT,e()}),this.xhr_.addEventListener("error",()=>{this.errorCode_=an.NETWORK_ERROR,e()}),this.xhr_.addEventListener("load",()=>{e()})})}send(e,t,r,s){if(this.sent_)throw Dr("cannot .send() more than once");if(this.sent_=!0,this.xhr_.open(t,e,!0),s!==void 0)for(const i in s)s.hasOwnProperty(i)&&this.xhr_.setRequestHeader(i,s[i].toString());return r!==void 0?this.xhr_.send(r):this.xhr_.send(),this.sendPromise_}getErrorCode(){if(!this.sent_)throw Dr("cannot .getErrorCode() before sending");return this.errorCode_}getStatus(){if(!this.sent_)throw Dr("cannot .getStatus() before sending");try{return this.xhr_.status}catch{return-1}}getResponse(){if(!this.sent_)throw Dr("cannot .getResponse() before sending");return this.xhr_.response}getErrorText(){if(!this.sent_)throw Dr("cannot .getErrorText() before sending");return this.xhr_.statusText}abort(){this.xhr_.abort()}getResponseHeader(e){return this.xhr_.getResponseHeader(e)}addUploadProgressListener(e){this.xhr_.upload!=null&&this.xhr_.upload.addEventListener("progress",e)}removeUploadProgressListener(e){this.xhr_.upload!=null&&this.xhr_.upload.removeEventListener("progress",e)}}class Fw extends xw{initXhr(){this.xhr_.responseType="text"}}function un(){return new Fw}/**
3606
+ */function Hn(n){return(...e)=>{Promise.resolve().then(()=>n(...e))}}class Fw{constructor(){this.sent_=!1,this.xhr_=new XMLHttpRequest,this.initXhr(),this.errorCode_=cn.NO_ERROR,this.sendPromise_=new Promise(e=>{this.xhr_.addEventListener("abort",()=>{this.errorCode_=cn.ABORT,e()}),this.xhr_.addEventListener("error",()=>{this.errorCode_=cn.NETWORK_ERROR,e()}),this.xhr_.addEventListener("load",()=>{e()})})}send(e,t,r,s){if(this.sent_)throw Or("cannot .send() more than once");if(this.sent_=!0,this.xhr_.open(t,e,!0),s!==void 0)for(const i in s)s.hasOwnProperty(i)&&this.xhr_.setRequestHeader(i,s[i].toString());return r!==void 0?this.xhr_.send(r):this.xhr_.send(),this.sendPromise_}getErrorCode(){if(!this.sent_)throw Or("cannot .getErrorCode() before sending");return this.errorCode_}getStatus(){if(!this.sent_)throw Or("cannot .getStatus() before sending");try{return this.xhr_.status}catch{return-1}}getResponse(){if(!this.sent_)throw Or("cannot .getResponse() before sending");return this.xhr_.response}getErrorText(){if(!this.sent_)throw Or("cannot .getErrorText() before sending");return this.xhr_.statusText}abort(){this.xhr_.abort()}getResponseHeader(e){return this.xhr_.getResponseHeader(e)}addUploadProgressListener(e){this.xhr_.upload!=null&&this.xhr_.upload.addEventListener("progress",e)}removeUploadProgressListener(e){this.xhr_.upload!=null&&this.xhr_.upload.removeEventListener("progress",e)}}class Bw extends Fw{initXhr(){this.xhr_.responseType="text"}}function ln(){return new Bw}/**
3622
3607
  * @license
3623
3608
  * Copyright 2017 Google LLC
3624
3609
  *
@@ -3633,7 +3618,7 @@ Content-Type: `+d.contentType+`\r
3633
3618
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3634
3619
  * See the License for the specific language governing permissions and
3635
3620
  * limitations under the License.
3636
- */class Bw{isExponentialBackoffExpired(){return this.sleepTime>this.maxSleepTime}constructor(e,t,r=null){this._transferred=0,this._needToFetchStatus=!1,this._needToFetchMetadata=!1,this._observers=[],this._error=void 0,this._uploadUrl=void 0,this._request=void 0,this._chunkMultiplier=1,this._resolve=void 0,this._reject=void 0,this._ref=e,this._blob=t,this._metadata=r,this._mappings=Ld(),this._resumable=this._shouldDoResumable(this._blob),this._state="running",this._errorHandler=s=>{if(this._request=void 0,this._chunkMultiplier=1,s._codeEquals(te.CANCELED))this._needToFetchStatus=!0,this.completeTransitions_();else{const i=this.isExponentialBackoffExpired();if(Cd(s.status,[]))if(i)s=wd();else{this.sleepTime=Math.max(this.sleepTime*2,jT),this._needToFetchStatus=!0,this.completeTransitions_();return}this._error=s,this._transition("error")}},this._metadataErrorHandler=s=>{this._request=void 0,s._codeEquals(te.CANCELED)?this.completeTransitions_():(this._error=s,this._transition("error"))},this.sleepTime=0,this.maxSleepTime=this._ref.storage.maxUploadRetryTime,this._promise=new Promise((s,i)=>{this._resolve=s,this._reject=i,this._start()}),this._promise.then(null,()=>{})}_makeProgressCallback(){const e=this._transferred;return t=>this._updateProgress(e+t)}_shouldDoResumable(e){return e.size()>256*1024}_start(){this._state==="running"&&this._request===void 0&&(this._resumable?this._uploadUrl===void 0?this._createResumable():this._needToFetchStatus?this._fetchStatus():this._needToFetchMetadata?this._fetchMetadata():this.pendingTimeout=setTimeout(()=>{this.pendingTimeout=void 0,this._continueUpload()},this.sleepTime):this._oneShotUpload())}_resolveToken(e){Promise.all([this._ref.storage._getAuthToken(),this._ref.storage._getAppCheckToken()]).then(([t,r])=>{switch(this._state){case"running":e(t,r);break;case"canceling":this._transition("canceled");break;case"pausing":this._transition("paused");break}})}_createResumable(){this._resolveToken((e,t)=>{const r=Vw(this._ref.storage,this._ref._location,this._mappings,this._blob,this._metadata),s=this._ref.storage._makeRequest(r,un,e,t);this._request=s,s.getPromise().then(i=>{this._request=void 0,this._uploadUrl=i,this._needToFetchStatus=!1,this.completeTransitions_()},this._errorHandler)})}_fetchStatus(){const e=this._uploadUrl;this._resolveToken((t,r)=>{const s=Lw(this._ref.storage,this._ref._location,e,this._blob),i=this._ref.storage._makeRequest(s,un,t,r);this._request=i,i.getPromise().then(a=>{a=a,this._request=void 0,this._updateProgress(a.current),this._needToFetchStatus=!1,a.finalized&&(this._needToFetchMetadata=!0),this.completeTransitions_()},this._errorHandler)})}_continueUpload(){const e=Fd*this._chunkMultiplier,t=new fi(this._transferred,this._blob.size()),r=this._uploadUrl;this._resolveToken((s,i)=>{let a;try{a=Mw(this._ref._location,this._ref.storage,r,this._blob,e,this._mappings,t,this._makeProgressCallback())}catch(l){this._error=l,this._transition("error");return}const c=this._ref.storage._makeRequest(a,un,s,i,!1);this._request=c,c.getPromise().then(l=>{this._increaseMultiplier(),this._request=void 0,this._updateProgress(l.current),l.finalized?(this._metadata=l.metadata,this._transition("success")):this.completeTransitions_()},this._errorHandler)})}_increaseMultiplier(){Fd*this._chunkMultiplier*2<32*1024*1024&&(this._chunkMultiplier*=2)}_fetchMetadata(){this._resolveToken((e,t)=>{const r=Cw(this._ref.storage,this._ref._location,this._mappings),s=this._ref.storage._makeRequest(r,un,e,t);this._request=s,s.getPromise().then(i=>{this._request=void 0,this._metadata=i,this._transition("success")},this._metadataErrorHandler)})}_oneShotUpload(){this._resolveToken((e,t)=>{const r=Ow(this._ref.storage,this._ref._location,this._mappings,this._blob,this._metadata),s=this._ref.storage._makeRequest(r,un,e,t);this._request=s,s.getPromise().then(i=>{this._request=void 0,this._metadata=i,this._updateProgress(this._blob.size()),this._transition("success")},this._errorHandler)})}_updateProgress(e){const t=this._transferred;this._transferred=e,this._transferred!==t&&this._notifyObservers()}_transition(e){if(this._state!==e)switch(e){case"canceling":case"pausing":this._state=e,this._request!==void 0?this._request.cancel():this.pendingTimeout&&(clearTimeout(this.pendingTimeout),this.pendingTimeout=void 0,this.completeTransitions_());break;case"running":const t=this._state==="paused";this._state=e,t&&(this._notifyObservers(),this._start());break;case"paused":this._state=e,this._notifyObservers();break;case"canceled":this._error=Id(),this._state=e,this._notifyObservers();break;case"error":this._state=e,this._notifyObservers();break;case"success":this._state=e,this._notifyObservers();break}}completeTransitions_(){switch(this._state){case"pausing":this._transition("paused");break;case"canceling":this._transition("canceled");break;case"running":this._start();break}}get snapshot(){const e=Ca(this._state);return{bytesTransferred:this._transferred,totalBytes:this._blob.size(),state:e,metadata:this._metadata,task:this,ref:this._ref}}on(e,t,r,s){const i=new Uw(t||void 0,r||void 0,s||void 0);return this._addObserver(i),()=>{this._removeObserver(i)}}then(e,t){return this._promise.then(e,t)}catch(e){return this.then(null,e)}_addObserver(e){this._observers.push(e),this._notifyObserver(e)}_removeObserver(e){const t=this._observers.indexOf(e);t!==-1&&this._observers.splice(t,1)}_notifyObservers(){this._finishPromise(),this._observers.slice().forEach(t=>{this._notifyObserver(t)})}_finishPromise(){if(this._resolve!==void 0){let e=!0;switch(Ca(this._state)){case Le.SUCCESS:Hn(this._resolve.bind(null,this.snapshot))();break;case Le.CANCELED:case Le.ERROR:const t=this._reject;Hn(t.bind(null,this._error))();break;default:e=!1;break}e&&(this._resolve=void 0,this._reject=void 0)}}_notifyObserver(e){switch(Ca(this._state)){case Le.RUNNING:case Le.PAUSED:e.next&&Hn(e.next.bind(e,this.snapshot))();break;case Le.SUCCESS:e.complete&&Hn(e.complete.bind(e))();break;case Le.CANCELED:case Le.ERROR:e.error&&Hn(e.error.bind(e,this._error))();break;default:e.error&&Hn(e.error.bind(e,this._error))()}}resume(){const e=this._state==="paused"||this._state==="pausing";return e&&this._transition("running"),e}pause(){const e=this._state==="running";return e&&this._transition("pausing"),e}cancel(){const e=this._state==="running"||this._state==="pausing";return e&&this._transition("canceling"),e}}/**
3621
+ */class jw{isExponentialBackoffExpired(){return this.sleepTime>this.maxSleepTime}constructor(e,t,r=null){this._transferred=0,this._needToFetchStatus=!1,this._needToFetchMetadata=!1,this._observers=[],this._error=void 0,this._uploadUrl=void 0,this._request=void 0,this._chunkMultiplier=1,this._resolve=void 0,this._reject=void 0,this._ref=e,this._blob=t,this._metadata=r,this._mappings=Md(),this._resumable=this._shouldDoResumable(this._blob),this._state="running",this._errorHandler=s=>{if(this._request=void 0,this._chunkMultiplier=1,s._codeEquals(te.CANCELED))this._needToFetchStatus=!0,this.completeTransitions_();else{const i=this.isExponentialBackoffExpired();if(kd(s.status,[]))if(i)s=Id();else{this.sleepTime=Math.max(this.sleepTime*2,qT),this._needToFetchStatus=!0,this.completeTransitions_();return}this._error=s,this._transition("error")}},this._metadataErrorHandler=s=>{this._request=void 0,s._codeEquals(te.CANCELED)?this.completeTransitions_():(this._error=s,this._transition("error"))},this.sleepTime=0,this.maxSleepTime=this._ref.storage.maxUploadRetryTime,this._promise=new Promise((s,i)=>{this._resolve=s,this._reject=i,this._start()}),this._promise.then(null,()=>{})}_makeProgressCallback(){const e=this._transferred;return t=>this._updateProgress(e+t)}_shouldDoResumable(e){return e.size()>256*1024}_start(){this._state==="running"&&this._request===void 0&&(this._resumable?this._uploadUrl===void 0?this._createResumable():this._needToFetchStatus?this._fetchStatus():this._needToFetchMetadata?this._fetchMetadata():this.pendingTimeout=setTimeout(()=>{this.pendingTimeout=void 0,this._continueUpload()},this.sleepTime):this._oneShotUpload())}_resolveToken(e){Promise.all([this._ref.storage._getAuthToken(),this._ref.storage._getAppCheckToken()]).then(([t,r])=>{switch(this._state){case"running":e(t,r);break;case"canceling":this._transition("canceled");break;case"pausing":this._transition("paused");break}})}_createResumable(){this._resolveToken((e,t)=>{const r=Lw(this._ref.storage,this._ref._location,this._mappings,this._blob,this._metadata),s=this._ref.storage._makeRequest(r,ln,e,t);this._request=s,s.getPromise().then(i=>{this._request=void 0,this._uploadUrl=i,this._needToFetchStatus=!1,this.completeTransitions_()},this._errorHandler)})}_fetchStatus(){const e=this._uploadUrl;this._resolveToken((t,r)=>{const s=Mw(this._ref.storage,this._ref._location,e,this._blob),i=this._ref.storage._makeRequest(s,ln,t,r);this._request=i,i.getPromise().then(a=>{a=a,this._request=void 0,this._updateProgress(a.current),this._needToFetchStatus=!1,a.finalized&&(this._needToFetchMetadata=!0),this.completeTransitions_()},this._errorHandler)})}_continueUpload(){const e=Bd*this._chunkMultiplier,t=new fi(this._transferred,this._blob.size()),r=this._uploadUrl;this._resolveToken((s,i)=>{let a;try{a=Uw(this._ref._location,this._ref.storage,r,this._blob,e,this._mappings,t,this._makeProgressCallback())}catch(l){this._error=l,this._transition("error");return}const c=this._ref.storage._makeRequest(a,ln,s,i,!1);this._request=c,c.getPromise().then(l=>{this._increaseMultiplier(),this._request=void 0,this._updateProgress(l.current),l.finalized?(this._metadata=l.metadata,this._transition("success")):this.completeTransitions_()},this._errorHandler)})}_increaseMultiplier(){Bd*this._chunkMultiplier*2<32*1024*1024&&(this._chunkMultiplier*=2)}_fetchMetadata(){this._resolveToken((e,t)=>{const r=kw(this._ref.storage,this._ref._location,this._mappings),s=this._ref.storage._makeRequest(r,ln,e,t);this._request=s,s.getPromise().then(i=>{this._request=void 0,this._metadata=i,this._transition("success")},this._metadataErrorHandler)})}_oneShotUpload(){this._resolveToken((e,t)=>{const r=Vw(this._ref.storage,this._ref._location,this._mappings,this._blob,this._metadata),s=this._ref.storage._makeRequest(r,ln,e,t);this._request=s,s.getPromise().then(i=>{this._request=void 0,this._metadata=i,this._updateProgress(this._blob.size()),this._transition("success")},this._errorHandler)})}_updateProgress(e){const t=this._transferred;this._transferred=e,this._transferred!==t&&this._notifyObservers()}_transition(e){if(this._state!==e)switch(e){case"canceling":case"pausing":this._state=e,this._request!==void 0?this._request.cancel():this.pendingTimeout&&(clearTimeout(this.pendingTimeout),this.pendingTimeout=void 0,this.completeTransitions_());break;case"running":const t=this._state==="paused";this._state=e,t&&(this._notifyObservers(),this._start());break;case"paused":this._state=e,this._notifyObservers();break;case"canceled":this._error=Ad(),this._state=e,this._notifyObservers();break;case"error":this._state=e,this._notifyObservers();break;case"success":this._state=e,this._notifyObservers();break}}completeTransitions_(){switch(this._state){case"pausing":this._transition("paused");break;case"canceling":this._transition("canceled");break;case"running":this._start();break}}get snapshot(){const e=Ca(this._state);return{bytesTransferred:this._transferred,totalBytes:this._blob.size(),state:e,metadata:this._metadata,task:this,ref:this._ref}}on(e,t,r,s){const i=new xw(t||void 0,r||void 0,s||void 0);return this._addObserver(i),()=>{this._removeObserver(i)}}then(e,t){return this._promise.then(e,t)}catch(e){return this.then(null,e)}_addObserver(e){this._observers.push(e),this._notifyObserver(e)}_removeObserver(e){const t=this._observers.indexOf(e);t!==-1&&this._observers.splice(t,1)}_notifyObservers(){this._finishPromise(),this._observers.slice().forEach(t=>{this._notifyObserver(t)})}_finishPromise(){if(this._resolve!==void 0){let e=!0;switch(Ca(this._state)){case Le.SUCCESS:Hn(this._resolve.bind(null,this.snapshot))();break;case Le.CANCELED:case Le.ERROR:const t=this._reject;Hn(t.bind(null,this._error))();break;default:e=!1;break}e&&(this._resolve=void 0,this._reject=void 0)}}_notifyObserver(e){switch(Ca(this._state)){case Le.RUNNING:case Le.PAUSED:e.next&&Hn(e.next.bind(e,this.snapshot))();break;case Le.SUCCESS:e.complete&&Hn(e.complete.bind(e))();break;case Le.CANCELED:case Le.ERROR:e.error&&Hn(e.error.bind(e,this._error))();break;default:e.error&&Hn(e.error.bind(e,this._error))()}}resume(){const e=this._state==="paused"||this._state==="pausing";return e&&this._transition("running"),e}pause(){const e=this._state==="running";return e&&this._transition("pausing"),e}cancel(){const e=this._state==="running"||this._state==="pausing";return e&&this._transition("canceling"),e}}/**
3637
3622
  * @license
3638
3623
  * Copyright 2019 Google LLC
3639
3624
  *
@@ -3648,7 +3633,7 @@ Content-Type: `+d.contentType+`\r
3648
3633
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3649
3634
  * See the License for the specific language governing permissions and
3650
3635
  * limitations under the License.
3651
- */class ln{constructor(e,t){this._service=e,t instanceof Be?this._location=t:this._location=Be.makeFromUrl(t,e.host)}toString(){return"gs://"+this._location.bucket+"/"+this._location.path}_newRef(e,t){return new ln(e,t)}get root(){const e=new Be(this._location.bucket,"");return this._newRef(this._service,e)}get bucket(){return this._location.bucket}get fullPath(){return this._location.path}get name(){return Vd(this._location.path)}get storage(){return this._service}get parent(){const e=Tw(this._location.path);if(e===null)return null;const t=new Be(this._location.bucket,e);return new ln(this._service,t)}_throwIfRoot(e){if(this._location.path==="")throw ZT(e)}}function jw(n,e,t){return n._throwIfRoot("uploadBytesResumable"),new Bw(n,new Ht(e),t)}function qw(n){n._throwIfRoot("getDownloadURL");const e=kw(n.storage,n._location,Ld());return n.storage.makeRequestWithTokens(e,un).then(t=>{if(t===null)throw YT();return t})}function $w(n){n._throwIfRoot("deleteObject");const e=Nw(n.storage,n._location);return n.storage.makeRequestWithTokens(e,un)}function Hw(n,e){const t=ww(n._location.path,e),r=new Be(n._location.bucket,t);return new ln(n.storage,r)}/**
3636
+ */class hn{constructor(e,t){this._service=e,t instanceof Be?this._location=t:this._location=Be.makeFromUrl(t,e.host)}toString(){return"gs://"+this._location.bucket+"/"+this._location.path}_newRef(e,t){return new hn(e,t)}get root(){const e=new Be(this._location.bucket,"");return this._newRef(this._service,e)}get bucket(){return this._location.bucket}get fullPath(){return this._location.path}get name(){return Ld(this._location.path)}get storage(){return this._service}get parent(){const e=ww(this._location.path);if(e===null)return null;const t=new Be(this._location.bucket,e);return new hn(this._service,t)}_throwIfRoot(e){if(this._location.path==="")throw ew(e)}}function qw(n,e,t){return n._throwIfRoot("uploadBytesResumable"),new jw(n,new Ht(e),t)}function $w(n){n._throwIfRoot("getDownloadURL");const e=Nw(n.storage,n._location,Md());return n.storage.makeRequestWithTokens(e,ln).then(t=>{if(t===null)throw JT();return t})}function Hw(n){n._throwIfRoot("deleteObject");const e=Dw(n.storage,n._location);return n.storage.makeRequestWithTokens(e,ln)}function zw(n,e){const t=Iw(n._location.path,e),r=new Be(n._location.bucket,t);return new hn(n.storage,r)}/**
3652
3637
  * @license
3653
3638
  * Copyright 2017 Google LLC
3654
3639
  *
@@ -3663,7 +3648,7 @@ Content-Type: `+d.contentType+`\r
3663
3648
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3664
3649
  * See the License for the specific language governing permissions and
3665
3650
  * limitations under the License.
3666
- */function zw(n){return/^[A-Za-z]+:\/\//.test(n)}function Ww(n,e){return new ln(n,e)}function Bd(n,e){if(n instanceof ka){const t=n;if(t._bucket==null)throw QT();const r=new ln(t,t._bucket);return e!=null?Bd(r,e):r}else return e!==void 0?Hw(n,e):n}function Gw(n,e){if(e&&zw(e)){if(n instanceof ka)return Ww(n,e);throw Ia("To use ref(service, url), the first argument must be a Storage instance.")}else return Bd(n,e)}function jd(n,e){const t=e==null?void 0:e[Td];return t==null?null:Be.makeFromBucketSpec(t,n)}function Kw(n,e,t,r={}){n.host=`${e}:${t}`,n._protocol="http";const{mockUserToken:s}=r;s&&(n._overrideAuthToken=typeof s=="string"?s:lc(s,n.app.options.projectId))}class ka{constructor(e,t,r,s,i){this.app=e,this._authProvider=t,this._appCheckProvider=r,this._url=s,this._firebaseVersion=i,this._bucket=null,this._host=Ed,this._protocol="https",this._appId=null,this._deleted=!1,this._maxOperationRetryTime=FT,this._maxUploadRetryTime=BT,this._requests=new Set,s!=null?this._bucket=Be.makeFromBucketSpec(s,this._host):this._bucket=jd(this._host,this.app.options)}get host(){return this._host}set host(e){this._host=e,this._url!=null?this._bucket=Be.makeFromBucketSpec(this._url,e):this._bucket=jd(e,this.app.options)}get maxUploadRetryTime(){return this._maxUploadRetryTime}set maxUploadRetryTime(e){Pd("time",0,Number.POSITIVE_INFINITY,e),this._maxUploadRetryTime=e}get maxOperationRetryTime(){return this._maxOperationRetryTime}set maxOperationRetryTime(e){Pd("time",0,Number.POSITIVE_INFINITY,e),this._maxOperationRetryTime=e}async _getAuthToken(){if(this._overrideAuthToken)return this._overrideAuthToken;const e=this._authProvider.getImmediate({optional:!0});if(e){const t=await e.getToken();if(t!==null)return t.accessToken}return null}async _getAppCheckToken(){if(Te(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;const e=this._appCheckProvider.getImmediate({optional:!0});return 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 ln(this,e)}_makeRequest(e,t,r,s,i=!0){if(this._deleted)return new ew(Rd());{const a=hw(e,this._appId,r,s,t,this._firebaseVersion,i);return this._requests.add(a),a.getPromise().then(()=>this._requests.delete(a),()=>this._requests.delete(a)),a}}async makeRequestWithTokens(e,t){const[r,s]=await Promise.all([this._getAuthToken(),this._getAppCheckToken()]);return this._makeRequest(e,t,r,s).getPromise()}}const qd="@firebase/storage",$d="0.13.6";/**
3651
+ */function Ww(n){return/^[A-Za-z]+:\/\//.test(n)}function Gw(n,e){return new hn(n,e)}function jd(n,e){if(n instanceof ka){const t=n;if(t._bucket==null)throw XT();const r=new hn(t,t._bucket);return e!=null?jd(r,e):r}else return e!==void 0?zw(n,e):n}function Kw(n,e){if(e&&Ww(e)){if(n instanceof ka)return Gw(n,e);throw Ia("To use ref(service, url), the first argument must be a Storage instance.")}else return jd(n,e)}function qd(n,e){const t=e==null?void 0:e[wd];return t==null?null:Be.makeFromBucketSpec(t,n)}function Qw(n,e,t,r={}){n.host=`${e}:${t}`,n._protocol="http";const{mockUserToken:s}=r;s&&(n._overrideAuthToken=typeof s=="string"?s:hc(s,n.app.options.projectId))}class ka{constructor(e,t,r,s,i){this.app=e,this._authProvider=t,this._appCheckProvider=r,this._url=s,this._firebaseVersion=i,this._bucket=null,this._host=Td,this._protocol="https",this._appId=null,this._deleted=!1,this._maxOperationRetryTime=BT,this._maxUploadRetryTime=jT,this._requests=new Set,s!=null?this._bucket=Be.makeFromBucketSpec(s,this._host):this._bucket=qd(this._host,this.app.options)}get host(){return this._host}set host(e){this._host=e,this._url!=null?this._bucket=Be.makeFromBucketSpec(this._url,e):this._bucket=qd(e,this.app.options)}get maxUploadRetryTime(){return this._maxUploadRetryTime}set maxUploadRetryTime(e){Sd("time",0,Number.POSITIVE_INFINITY,e),this._maxUploadRetryTime=e}get maxOperationRetryTime(){return this._maxOperationRetryTime}set maxOperationRetryTime(e){Sd("time",0,Number.POSITIVE_INFINITY,e),this._maxOperationRetryTime=e}async _getAuthToken(){if(this._overrideAuthToken)return this._overrideAuthToken;const e=this._authProvider.getImmediate({optional:!0});if(e){const t=await e.getToken();if(t!==null)return t.accessToken}return null}async _getAppCheckToken(){if(Te(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;const e=this._appCheckProvider.getImmediate({optional:!0});return 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 hn(this,e)}_makeRequest(e,t,r,s,i=!0){if(this._deleted)return new tw(bd());{const a=dw(e,this._appId,r,s,t,this._firebaseVersion,i);return this._requests.add(a),a.getPromise().then(()=>this._requests.delete(a),()=>this._requests.delete(a)),a}}async makeRequestWithTokens(e,t){const[r,s]=await Promise.all([this._getAuthToken(),this._getAppCheckToken()]);return this._makeRequest(e,t,r,s).getPromise()}}const $d="@firebase/storage",Hd="0.13.7";/**
3667
3652
  * @license
3668
3653
  * Copyright 2020 Google LLC
3669
3654
  *
@@ -3678,7 +3663,7 @@ Content-Type: `+d.contentType+`\r
3678
3663
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3679
3664
  * See the License for the specific language governing permissions and
3680
3665
  * limitations under the License.
3681
- */const Hd="storage";function Qw(n,e,t){return n=X(n),jw(n,e,t)}function Xw(n){return n=X(n),qw(n)}function Yw(n){return n=X(n),$w(n)}function Na(n,e){return n=X(n),Gw(n,e)}function Jw(n=ts(),e){n=X(n);const r=nr(n,Hd).getImmediate({identifier:e}),s=Li("storage");return s&&zd(r,...s),r}function zd(n,e,t,r={}){Kw(n,e,t,r)}function Zw(n,{instanceIdentifier:e}){const t=n.getProvider("app").getImmediate(),r=n.getProvider("auth-internal"),s=n.getProvider("app-check-internal");return new ka(t,r,s,e,Xt)}function eI(){bt(new ht(Hd,Zw,"PUBLIC").setMultipleInstances(!0)),qe(qd,$d,""),qe(qd,$d,"esm2017")}eI();/**
3666
+ */const zd="storage";function Xw(n,e,t){return n=X(n),qw(n,e,t)}function Yw(n){return n=X(n),$w(n)}function Jw(n){return n=X(n),Hw(n)}function Na(n,e){return n=X(n),Kw(n,e)}function Zw(n=ts(),e){n=X(n);const r=rr(n,zd).getImmediate({identifier:e}),s=Li("storage");return s&&Wd(r,...s),r}function Wd(n,e,t,r={}){Qw(n,e,t,r)}function eI(n,{instanceIdentifier:e}){const t=n.getProvider("app").getImmediate(),r=n.getProvider("auth-internal"),s=n.getProvider("app-check-internal");return new ka(t,r,s,e,Yt)}function tI(){bt(new ht(zd,eI,"PUBLIC").setMultipleInstances(!0)),qe($d,Hd,""),qe($d,Hd,"esm2017")}tI();/**
3682
3667
  * @license
3683
3668
  * Copyright 2017 Google LLC
3684
3669
  *
@@ -3693,7 +3678,7 @@ Content-Type: `+d.contentType+`\r
3693
3678
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3694
3679
  * See the License for the specific language governing permissions and
3695
3680
  * limitations under the License.
3696
- */const tI="type.googleapis.com/google.protobuf.Int64Value",nI="type.googleapis.com/google.protobuf.UInt64Value";function Wd(n,e){const t={};for(const r in n)n.hasOwnProperty(r)&&(t[r]=e(n[r]));return t}function pi(n){if(n==null)return null;if(n instanceof Number&&(n=n.valueOf()),typeof n=="number"&&isFinite(n)||n===!0||n===!1||Object.prototype.toString.call(n)==="[object String]")return n;if(n instanceof Date)return n.toISOString();if(Array.isArray(n))return n.map(e=>pi(e));if(typeof n=="function"||typeof n=="object")return Wd(n,e=>pi(e));throw new Error("Data cannot be encoded in JSON: "+n)}function zn(n){if(n==null)return n;if(n["@type"])switch(n["@type"]){case tI:case nI:{const e=Number(n.value);if(isNaN(e))throw new Error("Data cannot be decoded from JSON: "+n);return e}default:throw new Error("Data cannot be decoded from JSON: "+n)}return Array.isArray(n)?n.map(e=>zn(e)):typeof n=="function"||typeof n=="object"?Wd(n,e=>zn(e)):n}/**
3681
+ */const nI="type.googleapis.com/google.protobuf.Int64Value",rI="type.googleapis.com/google.protobuf.UInt64Value";function Gd(n,e){const t={};for(const r in n)n.hasOwnProperty(r)&&(t[r]=e(n[r]));return t}function pi(n){if(n==null)return null;if(n instanceof Number&&(n=n.valueOf()),typeof n=="number"&&isFinite(n)||n===!0||n===!1||Object.prototype.toString.call(n)==="[object String]")return n;if(n instanceof Date)return n.toISOString();if(Array.isArray(n))return n.map(e=>pi(e));if(typeof n=="function"||typeof n=="object")return Gd(n,e=>pi(e));throw new Error("Data cannot be encoded in JSON: "+n)}function zn(n){if(n==null)return n;if(n["@type"])switch(n["@type"]){case nI:case rI:{const e=Number(n.value);if(isNaN(e))throw new Error("Data cannot be decoded from JSON: "+n);return e}default:throw new Error("Data cannot be decoded from JSON: "+n)}return Array.isArray(n)?n.map(e=>zn(e)):typeof n=="function"||typeof n=="object"?Gd(n,e=>zn(e)):n}/**
3697
3682
  * @license
3698
3683
  * Copyright 2020 Google LLC
3699
3684
  *
@@ -3723,7 +3708,7 @@ Content-Type: `+d.contentType+`\r
3723
3708
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3724
3709
  * See the License for the specific language governing permissions and
3725
3710
  * limitations under the License.
3726
- */const Gd={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",UNIMPLEMENTED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"};class Me extends ze{constructor(e,t,r){super(`${Da}/${e}`,t||""),this.details=r,Object.setPrototypeOf(this,Me.prototype)}}function rI(n){if(n>=200&&n<300)return"ok";switch(n){case 0:return"internal";case 400:return"invalid-argument";case 401:return"unauthenticated";case 403:return"permission-denied";case 404:return"not-found";case 409:return"aborted";case 429:return"resource-exhausted";case 499:return"cancelled";case 500:return"internal";case 501:return"unimplemented";case 503:return"unavailable";case 504:return"deadline-exceeded"}return"unknown"}function mi(n,e){let t=rI(n),r=t,s;try{const i=e&&e.error;if(i){const a=i.status;if(typeof a=="string"){if(!Gd[a])return new Me("internal","internal");t=Gd[a],r=a}const c=i.message;typeof c=="string"&&(r=c),s=i.details,s!==void 0&&(s=zn(s))}}catch{}return t==="ok"?null:new Me(t,r,s)}/**
3711
+ */const Kd={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",UNIMPLEMENTED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"};class Me extends ze{constructor(e,t,r){super(`${Da}/${e}`,t||""),this.details=r,Object.setPrototypeOf(this,Me.prototype)}}function sI(n){if(n>=200&&n<300)return"ok";switch(n){case 0:return"internal";case 400:return"invalid-argument";case 401:return"unauthenticated";case 403:return"permission-denied";case 404:return"not-found";case 409:return"aborted";case 429:return"resource-exhausted";case 499:return"cancelled";case 500:return"internal";case 501:return"unimplemented";case 503:return"unavailable";case 504:return"deadline-exceeded"}return"unknown"}function mi(n,e){let t=sI(n),r=t,s;try{const i=e&&e.error;if(i){const a=i.status;if(typeof a=="string"){if(!Kd[a])return new Me("internal","internal");t=Kd[a],r=a}const c=i.message;typeof c=="string"&&(r=c),s=i.details,s!==void 0&&(s=zn(s))}}catch{}return t==="ok"?null:new Me(t,r,s)}/**
3727
3712
  * @license
3728
3713
  * Copyright 2017 Google LLC
3729
3714
  *
@@ -3738,7 +3723,7 @@ Content-Type: `+d.contentType+`\r
3738
3723
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3739
3724
  * See the License for the specific language governing permissions and
3740
3725
  * limitations under the License.
3741
- */class sI{constructor(e,t,r,s){this.app=e,this.auth=null,this.messaging=null,this.appCheck=null,this.serverAppAppCheckToken=null,Te(e)&&e.settings.appCheckToken&&(this.serverAppAppCheckToken=e.settings.appCheckToken),this.auth=t.getImmediate({optional:!0}),this.messaging=r.getImmediate({optional:!0}),this.auth||t.get().then(i=>this.auth=i,()=>{}),this.messaging||r.get().then(i=>this.messaging=i,()=>{}),this.appCheck||s==null||s.get().then(i=>this.appCheck=i,()=>{})}async getAuthToken(){if(this.auth)try{const e=await this.auth.getToken();return e==null?void 0:e.accessToken}catch{return}}async getMessagingToken(){if(!(!this.messaging||!("Notification"in self)||Notification.permission!=="granted"))try{return await this.messaging.getToken()}catch{return}}async getAppCheckToken(e){if(this.serverAppAppCheckToken)return this.serverAppAppCheckToken;if(this.appCheck){const t=e?await this.appCheck.getLimitedUseToken():await this.appCheck.getToken();return t.error?null:t.token}return null}async getContext(e){const t=await this.getAuthToken(),r=await this.getMessagingToken(),s=await this.getAppCheckToken(e);return{authToken:t,messagingToken:r,appCheckToken:s}}}/**
3726
+ */class iI{constructor(e,t,r,s){this.app=e,this.auth=null,this.messaging=null,this.appCheck=null,this.serverAppAppCheckToken=null,Te(e)&&e.settings.appCheckToken&&(this.serverAppAppCheckToken=e.settings.appCheckToken),this.auth=t.getImmediate({optional:!0}),this.messaging=r.getImmediate({optional:!0}),this.auth||t.get().then(i=>this.auth=i,()=>{}),this.messaging||r.get().then(i=>this.messaging=i,()=>{}),this.appCheck||s==null||s.get().then(i=>this.appCheck=i,()=>{})}async getAuthToken(){if(this.auth)try{const e=await this.auth.getToken();return e==null?void 0:e.accessToken}catch{return}}async getMessagingToken(){if(!(!this.messaging||!("Notification"in self)||Notification.permission!=="granted"))try{return await this.messaging.getToken()}catch{return}}async getAppCheckToken(e){if(this.serverAppAppCheckToken)return this.serverAppAppCheckToken;if(this.appCheck){const t=e?await this.appCheck.getLimitedUseToken():await this.appCheck.getToken();return t.error?null:t.token}return null}async getContext(e){const t=await this.getAuthToken(),r=await this.getMessagingToken(),s=await this.getAppCheckToken(e);return{authToken:t,messagingToken:r,appCheckToken:s}}}/**
3742
3727
  * @license
3743
3728
  * Copyright 2017 Google LLC
3744
3729
  *
@@ -3753,8 +3738,8 @@ Content-Type: `+d.contentType+`\r
3753
3738
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3754
3739
  * See the License for the specific language governing permissions and
3755
3740
  * limitations under the License.
3756
- */const Oa="us-central1",iI=/^data: (.*?)(?:\n|$)/;function oI(n){let e=null;return{promise:new Promise((t,r)=>{e=setTimeout(()=>{r(new Me("deadline-exceeded","deadline-exceeded"))},n)}),cancel:()=>{e&&clearTimeout(e)}}}class aI{constructor(e,t,r,s,i=Oa,a=(...c)=>fetch(...c)){this.app=e,this.fetchImpl=a,this.emulatorOrigin=null,this.contextProvider=new sI(e,t,r,s),this.cancelAllRequests=new Promise(c=>{this.deleteService=()=>Promise.resolve(c())});try{const c=new URL(i);this.customDomain=c.origin+(c.pathname==="/"?"":c.pathname),this.region=Oa}catch{this.customDomain=null,this.region=i}}_delete(){return this.deleteService()}_url(e){const t=this.app.options.projectId;return this.emulatorOrigin!==null?`${this.emulatorOrigin}/${t}/${this.region}/${e}`:this.customDomain!==null?`${this.customDomain}/${e}`:`https://${this.region}-${t}.cloudfunctions.net/${e}`}}function cI(n,e,t){n.emulatorOrigin=`http://${e}:${t}`}function uI(n,e,t){const r=s=>hI(n,e,s,{});return r.stream=(s,i)=>fI(n,e,s,i),r}async function lI(n,e,t,r){t["Content-Type"]="application/json";let s;try{s=await r(n,{method:"POST",body:JSON.stringify(e),headers:t})}catch{return{status:0,json:null}}let i=null;try{i=await s.json()}catch{}return{status:s.status,json:i}}async function Kd(n,e){const t={},r=await n.contextProvider.getContext(e.limitedUseAppCheckTokens);return r.authToken&&(t.Authorization="Bearer "+r.authToken),r.messagingToken&&(t["Firebase-Instance-ID-Token"]=r.messagingToken),r.appCheckToken!==null&&(t["X-Firebase-AppCheck"]=r.appCheckToken),t}function hI(n,e,t,r){const s=n._url(e);return dI(n,s,t,r)}async function dI(n,e,t,r){t=pi(t);const s={data:t},i=await Kd(n,r),a=r.timeout||7e4,c=oI(a),l=await Promise.race([lI(e,s,i,n.fetchImpl),c.promise,n.cancelAllRequests]);if(c.cancel(),!l)throw new Me("cancelled","Firebase Functions instance was deleted.");const d=mi(l.status,l.json);if(d)throw d;if(!l.json)throw new Me("internal","Response is not valid JSON object.");let f=l.json.data;if(typeof f>"u"&&(f=l.json.result),typeof f>"u")throw new Me("internal","Response is missing data field.");return{data:zn(f)}}function fI(n,e,t,r){const s=n._url(e);return pI(n,s,t,r||{})}async function pI(n,e,t,r){var s;t=pi(t);const i={data:t},a=await Kd(n,r);a["Content-Type"]="application/json",a.Accept="text/event-stream";let c;try{c=await n.fetchImpl(e,{method:"POST",body:JSON.stringify(i),headers:a,signal:r==null?void 0:r.signal})}catch(R){if(R instanceof Error&&R.name==="AbortError"){const N=new Me("cancelled","Request was cancelled.");return{data:Promise.reject(N),stream:{[Symbol.asyncIterator](){return{next(){return Promise.reject(N)}}}}}}const S=mi(0,null);return{data:Promise.reject(S),stream:{[Symbol.asyncIterator](){return{next(){return Promise.reject(S)}}}}}}let l,d;const f=new Promise((R,S)=>{l=R,d=S});(s=r==null?void 0:r.signal)===null||s===void 0||s.addEventListener("abort",()=>{const R=new Me("cancelled","Request was cancelled.");d(R)});const m=c.body.getReader(),v=mI(m,l,d,r==null?void 0:r.signal);return{stream:{[Symbol.asyncIterator](){const R=v.getReader();return{async next(){const{value:S,done:N}=await R.read();return{value:S,done:N}},async return(){return await R.cancel(),{done:!0,value:void 0}}}}},data:f}}function mI(n,e,t,r){const s=(a,c)=>{const l=a.match(iI);if(!l)return;const d=l[1];try{const f=JSON.parse(d);if("result"in f){e(zn(f.result));return}if("message"in f){c.enqueue(zn(f.message));return}if("error"in f){const m=mi(0,f);c.error(m),t(m);return}}catch(f){if(f instanceof Me){c.error(f),t(f);return}}},i=new TextDecoder;return new ReadableStream({start(a){let c="";return l();async function l(){if(r!=null&&r.aborted){const d=new Me("cancelled","Request was cancelled");return a.error(d),t(d),Promise.resolve()}try{const{value:d,done:f}=await n.read();if(f){c.trim()&&s(c.trim(),a),a.close();return}if(r!=null&&r.aborted){const v=new Me("cancelled","Request was cancelled");a.error(v),t(v),await n.cancel();return}c+=i.decode(d,{stream:!0});const m=c.split(`
3757
- `);c=m.pop()||"";for(const v of m)v.trim()&&s(v.trim(),a);return l()}catch(d){const f=d instanceof Me?d:mi(0,null);a.error(f),t(f)}}},cancel(){return n.cancel()}})}const Qd="@firebase/functions",Xd="0.12.2";/**
3741
+ */const Oa="us-central1",oI=/^data: (.*?)(?:\n|$)/;function aI(n){let e=null;return{promise:new Promise((t,r)=>{e=setTimeout(()=>{r(new Me("deadline-exceeded","deadline-exceeded"))},n)}),cancel:()=>{e&&clearTimeout(e)}}}class cI{constructor(e,t,r,s,i=Oa,a=(...c)=>fetch(...c)){this.app=e,this.fetchImpl=a,this.emulatorOrigin=null,this.contextProvider=new iI(e,t,r,s),this.cancelAllRequests=new Promise(c=>{this.deleteService=()=>Promise.resolve(c())});try{const c=new URL(i);this.customDomain=c.origin+(c.pathname==="/"?"":c.pathname),this.region=Oa}catch{this.customDomain=null,this.region=i}}_delete(){return this.deleteService()}_url(e){const t=this.app.options.projectId;return this.emulatorOrigin!==null?`${this.emulatorOrigin}/${t}/${this.region}/${e}`:this.customDomain!==null?`${this.customDomain}/${e}`:`https://${this.region}-${t}.cloudfunctions.net/${e}`}}function uI(n,e,t){n.emulatorOrigin=`http://${e}:${t}`}function lI(n,e,t){const r=s=>dI(n,e,s,{});return r.stream=(s,i)=>pI(n,e,s,i),r}async function hI(n,e,t,r){t["Content-Type"]="application/json";let s;try{s=await r(n,{method:"POST",body:JSON.stringify(e),headers:t})}catch{return{status:0,json:null}}let i=null;try{i=await s.json()}catch{}return{status:s.status,json:i}}async function Qd(n,e){const t={},r=await n.contextProvider.getContext(e.limitedUseAppCheckTokens);return r.authToken&&(t.Authorization="Bearer "+r.authToken),r.messagingToken&&(t["Firebase-Instance-ID-Token"]=r.messagingToken),r.appCheckToken!==null&&(t["X-Firebase-AppCheck"]=r.appCheckToken),t}function dI(n,e,t,r){const s=n._url(e);return fI(n,s,t,r)}async function fI(n,e,t,r){t=pi(t);const s={data:t},i=await Qd(n,r),a=r.timeout||7e4,c=aI(a),l=await Promise.race([hI(e,s,i,n.fetchImpl),c.promise,n.cancelAllRequests]);if(c.cancel(),!l)throw new Me("cancelled","Firebase Functions instance was deleted.");const d=mi(l.status,l.json);if(d)throw d;if(!l.json)throw new Me("internal","Response is not valid JSON object.");let f=l.json.data;if(typeof f>"u"&&(f=l.json.result),typeof f>"u")throw new Me("internal","Response is missing data field.");return{data:zn(f)}}function pI(n,e,t,r){const s=n._url(e);return mI(n,s,t,r||{})}async function mI(n,e,t,r){var s;t=pi(t);const i={data:t},a=await Qd(n,r);a["Content-Type"]="application/json",a.Accept="text/event-stream";let c;try{c=await n.fetchImpl(e,{method:"POST",body:JSON.stringify(i),headers:a,signal:r==null?void 0:r.signal})}catch(R){if(R instanceof Error&&R.name==="AbortError"){const N=new Me("cancelled","Request was cancelled.");return{data:Promise.reject(N),stream:{[Symbol.asyncIterator](){return{next(){return Promise.reject(N)}}}}}}const S=mi(0,null);return{data:Promise.reject(S),stream:{[Symbol.asyncIterator](){return{next(){return Promise.reject(S)}}}}}}let l,d;const f=new Promise((R,S)=>{l=R,d=S});(s=r==null?void 0:r.signal)===null||s===void 0||s.addEventListener("abort",()=>{const R=new Me("cancelled","Request was cancelled.");d(R)});const m=c.body.getReader(),v=gI(m,l,d,r==null?void 0:r.signal);return{stream:{[Symbol.asyncIterator](){const R=v.getReader();return{async next(){const{value:S,done:N}=await R.read();return{value:S,done:N}},async return(){return await R.cancel(),{done:!0,value:void 0}}}}},data:f}}function gI(n,e,t,r){const s=(a,c)=>{const l=a.match(oI);if(!l)return;const d=l[1];try{const f=JSON.parse(d);if("result"in f){e(zn(f.result));return}if("message"in f){c.enqueue(zn(f.message));return}if("error"in f){const m=mi(0,f);c.error(m),t(m);return}}catch(f){if(f instanceof Me){c.error(f),t(f);return}}},i=new TextDecoder;return new ReadableStream({start(a){let c="";return l();async function l(){if(r!=null&&r.aborted){const d=new Me("cancelled","Request was cancelled");return a.error(d),t(d),Promise.resolve()}try{const{value:d,done:f}=await n.read();if(f){c.trim()&&s(c.trim(),a),a.close();return}if(r!=null&&r.aborted){const v=new Me("cancelled","Request was cancelled");a.error(v),t(v),await n.cancel();return}c+=i.decode(d,{stream:!0});const m=c.split(`
3742
+ `);c=m.pop()||"";for(const v of m)v.trim()&&s(v.trim(),a);return l()}catch(d){const f=d instanceof Me?d:mi(0,null);a.error(f),t(f)}}},cancel(){return n.cancel()}})}const Xd="@firebase/functions",Yd="0.12.3";/**
3758
3743
  * @license
3759
3744
  * Copyright 2019 Google LLC
3760
3745
  *
@@ -3769,7 +3754,7 @@ Content-Type: `+d.contentType+`\r
3769
3754
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3770
3755
  * See the License for the specific language governing permissions and
3771
3756
  * limitations under the License.
3772
- */const gI="auth-internal",_I="app-check-internal",yI="messaging-internal";function vI(n){const e=(t,{instanceIdentifier:r})=>{const s=t.getProvider("app").getImmediate(),i=t.getProvider(gI),a=t.getProvider(yI),c=t.getProvider(_I);return new aI(s,i,a,c,r)};bt(new ht(Da,e,"PUBLIC").setMultipleInstances(!0)),qe(Qd,Xd,n),qe(Qd,Xd,"esm2017")}/**
3757
+ */const _I="auth-internal",yI="app-check-internal",vI="messaging-internal";function EI(n){const e=(t,{instanceIdentifier:r})=>{const s=t.getProvider("app").getImmediate(),i=t.getProvider(_I),a=t.getProvider(vI),c=t.getProvider(yI);return new cI(s,i,a,c,r)};bt(new ht(Da,e,"PUBLIC").setMultipleInstances(!0)),qe(Xd,Yd,n),qe(Xd,Yd,"esm2017")}/**
3773
3758
  * @license
3774
3759
  * Copyright 2020 Google LLC
3775
3760
  *
@@ -3784,5 +3769,5 @@ Content-Type: `+d.contentType+`\r
3784
3769
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3785
3770
  * See the License for the specific language governing permissions and
3786
3771
  * limitations under the License.
3787
- */function EI(n=ts(),e=Oa){const r=nr(X(n),Da).getImmediate({identifier:e}),s=Li("functions");return s&&Yd(r,...s),r}function Yd(n,e,t){cI(X(n),e,t)}function TI(n,e,t){return uI(X(n),e)}vI();const Ye=class Ye{static setFirebaseConfig(e){Ye._firebaseConfig=e}static useEmulator(e){this._emulatorConfig={...Ye.defaultEmulatorConfig,emulate:!0,...e}}static get emulator(){return this._emulatorConfig}constructor(){if(!Ye._firebaseConfig)throw new Error("You should set a firebase config object before using Firebase");this._firebaseApp=vc(Ye._firebaseConfig)}static get instance(){return this._instance||(this._instance=new Ye)}firestore(){return Ny(this._firebaseApp)}storage(){return Jw(this._firebaseApp)}auth(){return UT(this._firebaseApp)}functions(){return EI(this._firebaseApp,Ye._region)}static setRegion(e){this._region=e}};Ye.defaultEmulatorConfig={host:"localhost",firestorePort:8080,storagePort:9199,authPort:9099,functionsPort:5001,emulate:!1},Ye._emulatorConfig=Ye.defaultEmulatorConfig;let q=Ye;class wI extends rn{constructor(e){var t;if(super(),this._lastLimit=0,e&&q.useEmulator(e),(t=q.emulator)!=null&&t.emulate){const{host:r,firestorePort:s}=q.emulator;Ll(q.instance.firestore(),r,s)}}findById(e,t){const r=q.instance.firestore();return new Promise(async s=>{try{const i=await Jy(Bs(r,t,e));s(i.data())}catch(i){return console.log(i),null}})}save(e){const t=q.instance.firestore(),r=sv(t);return Object.entries(e).forEach(([s,i])=>{i==null||i.forEach(a=>{const c=Bs(t,s,a.id);r.set(c,a)})}),r.commit()}find(e,t){const r=this.queryObjectToQueryConstraints(e,t);return this.getFromQuery(r)}async count(e,t){const r=this.queryObjectToQueryConstraints(e,t);return(await tv(r)).data().count}delete(e,t){const r=q.instance.firestore();return ev(Bs(r,t,e))}next(e){if(!this._lastConstraints||!this._lastCollectionName)throw new Error("You should perform a query prior to using method next");const t=q.instance.firestore();this._lastLimit=e||this._lastLimit;const r=this._lastConstraints.nonFilterConstraints.concat(Ql(this._lastLimit),Wy(this._lastDocRetrieved));return this.getFromQuery(Gl(Ml(t,this._lastCollectionName),...r))}onCollectionChange(e,t,r){const s=this.queryObjectToQueryConstraints(e,t);return nh(s,i=>{i.docChanges().forEach(a=>{r({type:a.type==="added"?"create":a.type==="modified"?"update":"delete",after:a.doc.data(),before:void 0,params:{}})})})}onDocumentChange(e,t,r){const s=q.instance.firestore();return nh(Bs(s,e,t),i=>{r({type:"update",before:void 0,after:i.data(),params:{}})})}queryObjectToQueryConstraints(e,t){var c;const r=q.instance.firestore(),s=[],i=[],a=[];return rn.toPropertyPathOperations(e.operations).forEach(l=>{const d=this.toFirebaseOperator(l.operator);l.aggregate?i.push(Kl(l.property,d,l.value)):s.push(Kl(l.property,d,l.value))}),(c=e.sort)!=null&&c.propertyName&&a.push(zy(e.sort.propertyName,e.sort.order)),this._lastConstraints={orConstraints:i,andConstraints:s,nonFilterConstraints:a},this._lastCollectionName=t,e.limit&&(this._lastLimit=e.limit,a.push(Ql(e.limit))),Gl(Ml(r,t),$y(...i,Hy(...s)),...a)}toFirebaseOperator(e){switch(e){case"==":case"!=":case"<":case"<=":case">":case">=":return e;case"contains":return"array-contains";case"containsAny":return"array-contains-any";default:return e}}getFromQuery(e){return new Promise(async t=>{const r=await Zy(e);this._lastDocRetrieved=r.docs[r.docs.length-1],t(r.docs.map(s=>s.data()))})}}var II=Object.getOwnPropertyDescriptor,AI=(n,e,t,r)=>{for(var s=r>1?void 0:r?II(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=a(s)||s);return s};xe.FirebaseCloudStorage=class extends Mn{constructor(e){var t;if(super(),e&&q.useEmulator(e),(t=q.emulator)!=null&&t.emulate){const{host:r,storagePort:s}=q.emulator;zd(q.instance.storage(),r,s)}}save(e,t,r){const s=q.instance.storage();return new Promise((i,a)=>{if(this._uploadTask=Qw(Na(s,e),t),r)var c=this._uploadTask.on("state_changed",l=>{r(l.bytesTransferred,l.totalBytes)},null,()=>c());this._uploadTask.then(()=>i(e)).catch(l=>a(l))})}getUrl(e){if(!e)return Promise.reject("needs a reference");const t=q.instance.storage();return Xw(Na(t,e))}uploadControl(){if(!this._uploadTask)throw new Error("You should call save() before uploadControl()");return{cancel:()=>{var e;return(e=this._uploadTask)==null?void 0:e.cancel()},pause:()=>{var e;return(e=this._uploadTask)==null?void 0:e.pause()},resume:()=>{var e;return(e=this._uploadTask)==null?void 0:e.resume()},onProgress:e=>{var t;return(t=this._uploadTask)==null?void 0:t.on("state_changed",r=>{e&&e(r.bytesTransferred,r.totalBytes)})}}}delete(e){const t=q.instance.storage();return Yw(Na(t,e))}},xe.FirebaseCloudStorage=AI([hh("FirebaseCloudStorage",()=>new xe.FirebaseCloudStorage)],xe.FirebaseCloudStorage);const Jd={twitter:()=>new Xe,facebook:()=>new at,google:()=>new ct};class Va extends dh{constructor(e){var t;if(super(),this.credentialProviders={},e&&q.useEmulator(e),(t=q.emulator)!=null&&t.emulate){const{host:r,authPort:s}=q.emulator;if(!r||!s)throw new Error("You should define a host and an auth emulator port to use the emulator");qh(q.instance.auth(),`http://${r}:${s}`)}this.registerCredentialProviders()}signUp(e){const{authProvider:t,verificationLink:r}=e;return t.slice(0,5)==="email"?new Promise(async(s,i)=>{try{const a=this.credentialProviders["email-sign-up"];if(!a)throw new Error(`The provider ${t} is not registered`);const c=await a(e);e.name&&await RE(c.user,{displayName:e.name}),r&&await Zh(c.user,{url:r}),s(await this.toUserCredentials(c.user))}catch(a){i({code:Qs(a.code.slice(5)),message:a.message})}}):this.login(e)}login(e){const{authProvider:t}=e;return new Promise(async(r,s)=>{try{const i=this.credentialProviders[t];if(!i)throw new Error(`The provider ${t} is not registered`);const a=await i(e);r(await this.toUserCredentials(a.user))}catch(i){s({code:i.code===400?"missingPassword":Qs(i.code.slice(5)),message:i.message})}})}logout(){return q.instance.auth().signOut()}resetEmailPassword(e){return new Promise(async(t,r)=>{try{await wE(q.instance.auth(),e),t()}catch(s){r({code:Qs(s.code.slice(5)),message:s.message})}})}resendVerificationEmail(e,t,r){return new Promise(async(s,i)=>{try{await Jh(q.instance.auth(),e,t);const a=q.instance.auth().currentUser;if(!a){i({code:"userNotFound",message:"There is no logged in user"});return}await Zh(a,{url:r}),s()}catch(a){i({code:Qs(a.code.slice(5)),message:r})}})}refreshToken(){var e;return(e=q.instance.auth().currentUser)==null?void 0:e.getIdToken(!0)}onAuthStateChange(e){q.instance.auth().onAuthStateChanged(async t=>{e(t?await this.toUserCredentials(t):void 0)})}linkAdditionalProvider(e){const t=Jd[e](),r=q.instance.auth().currentUser;if(!r)throw new Error("There is no logged in user");return hd(r,t)}unlinkProvider(e){const{currentUser:t}=q.instance.auth();if(!t)throw new Error("There is no logged in user");return t.providerData,gE(t,Jd[e]().providerId)}async toUserCredentials(e){if(!e)throw new Error("The user in user credentials is not defined");const t=(await e.getIdTokenResult()).claims;return Va.convertCredentials(e,t)}static convertCredentials(e,t){return{id:e.uid,email:e.email??"",name:e.displayName??void 0,pictureUrl:e.photoURL??void 0,phoneNumber:e.phoneNumber??void 0,emailVerified:e.emailVerified,customData:{...t},lastLogin:Date.now(),creationDate:e.metadata.creationTime?new Date(e.metadata.creationTime).getTime():void 0}}registerCredentialProvider(e,t){this.credentialProviders[e]=t}registerCredentialProviders(){this.registerCredentialProvider("email-sign-up",e=>{if(!e.email||!e.password)throw new Error("Email and password are required");return IE(q.instance.auth(),e.email,e.password)}),this.registerCredentialProvider("email",e=>{if(!e.email||!e.password)throw new Error("Email and password are required");return Jh(q.instance.auth(),e.email,e.password)}),this.registerCredentialProvider("google",()=>va(q.instance.auth(),new ct)),this.registerCredentialProvider("facebook",()=>va(q.instance.auth(),new at)),this.registerCredentialProvider("twitter",()=>va(q.instance.auth(),new Xe)),this.registerCredentialProvider("link-twitter",()=>{const e=q.instance.auth().currentUser;if(!e)throw new Error("There is no logged in user");return hd(e,new Xe)}),this.registerCredentialProvider("anonymous",()=>mE(q.instance.auth()))}}class RI{constructor(e,t){var r;if(e&&q.setRegion(e),t&&q.useEmulator(t),(r=q.emulator)!=null&&r.emulate){const{host:s,functionsPort:i}=q.emulator;Yd(q.instance.functions(),s,i)}}retrieveFunction(e){return TI(q.instance.functions(),e)}async callFunction(e,t){return(await e(t)).data}}xe.FirebaseAuth=Va,xe.FirebaseCloudFunctions=RI,xe.FirebaseDatasource=wI,xe.FirebaseHelper=q,Object.defineProperty(xe,Symbol.toStringTag,{value:"Module"})});
3772
+ */function TI(n=ts(),e=Oa){const r=rr(X(n),Da).getImmediate({identifier:e}),s=Li("functions");return s&&Jd(r,...s),r}function Jd(n,e,t){uI(X(n),e,t)}function wI(n,e,t){return lI(X(n),e)}EI();const Ye=class Ye{static setFirebaseConfig(e){Ye._firebaseConfig=e}static useEmulator(e){this._emulatorConfig={...Ye.defaultEmulatorConfig,emulate:!0,...e}}static get emulator(){return this._emulatorConfig}constructor(){if(!Ye._firebaseConfig)throw new Error("You should set a firebase config object before using Firebase");this._firebaseApp=Ec(Ye._firebaseConfig)}static get instance(){return this._instance||(this._instance=new Ye)}firestore(){return Dy(this._firebaseApp)}storage(){return Zw(this._firebaseApp)}auth(){return xT(this._firebaseApp)}functions(){return TI(this._firebaseApp,Ye._region)}static setRegion(e){this._region=e}};Ye.defaultEmulatorConfig={host:"localhost",firestorePort:8080,storagePort:9199,authPort:9099,functionsPort:5001,emulate:!1},Ye._emulatorConfig=Ye.defaultEmulatorConfig;let q=Ye;class II extends sn{constructor(e){var t;if(super(),this._lastLimit=0,e&&q.useEmulator(e),(t=q.emulator)!=null&&t.emulate){const{host:r,firestorePort:s}=q.emulator;Ml(q.instance.firestore(),r,s)}}findById(e,t){const r=q.instance.firestore();return new Promise(async s=>{try{const i=await Zy(Bs(r,t,e));s(i.data())}catch(i){return console.log(i),null}})}save(e){const t=q.instance.firestore(),r=iv(t);return Object.entries(e).forEach(([s,i])=>{i==null||i.forEach(a=>{const c=Bs(t,s,a.id);r.set(c,a)})}),r.commit()}find(e,t){const r=this.queryObjectToQueryConstraints(e,t);return this.getFromQuery(r)}async count(e,t){const r=this.queryObjectToQueryConstraints(e,t);return(await nv(r)).data().count}delete(e,t){const r=q.instance.firestore();return tv(Bs(r,t,e))}next(e){if(!this._lastConstraints||!this._lastCollectionName)throw new Error("You should perform a query prior to using method next");const t=q.instance.firestore();this._lastLimit=e||this._lastLimit;const r=this._lastConstraints.nonFilterConstraints.concat(Xl(this._lastLimit),Gy(this._lastDocRetrieved));return this.getFromQuery(Kl(Ul(t,this._lastCollectionName),...r))}onCollectionChange(e,t,r){const s=this.queryObjectToQueryConstraints(e,t);return rh(s,i=>{i.docChanges().forEach(a=>{r({type:a.type==="added"?"create":a.type==="modified"?"update":"delete",after:a.doc.data(),before:void 0,params:{}})})})}onDocumentChange(e,t,r){const s=q.instance.firestore();return rh(Bs(s,e,t),i=>{r({type:"update",before:void 0,after:i.data(),params:{}})})}queryObjectToQueryConstraints(e,t){var c;const r=q.instance.firestore(),s=[],i=[],a=[];return sn.toPropertyPathOperations(e.operations).forEach(l=>{const d=this.toFirebaseOperator(l.operator);l.aggregate?i.push(Ql(l.property,d,l.value)):s.push(Ql(l.property,d,l.value))}),(c=e.sort)!=null&&c.propertyName&&a.push(Wy(e.sort.propertyName,e.sort.order)),this._lastConstraints={orConstraints:i,andConstraints:s,nonFilterConstraints:a},this._lastCollectionName=t,e.limit&&(this._lastLimit=e.limit,a.push(Xl(e.limit))),Kl(Ul(r,t),Hy(...i,zy(...s)),...a)}toFirebaseOperator(e){switch(e){case"==":case"!=":case"<":case"<=":case">":case">=":return e;case"contains":return"array-contains";case"containsAny":return"array-contains-any";default:return e}}getFromQuery(e){return new Promise(async t=>{const r=await ev(e);this._lastDocRetrieved=r.docs[r.docs.length-1],t(r.docs.map(s=>s.data()))})}}var AI=Object.getOwnPropertyDescriptor,RI=(n,e,t,r)=>{for(var s=r>1?void 0:r?AI(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=a(s)||s);return s};xe.FirebaseCloudStorage=class extends Mn{constructor(e){var t;if(super(),e&&q.useEmulator(e),(t=q.emulator)!=null&&t.emulate){const{host:r,storagePort:s}=q.emulator;Wd(q.instance.storage(),r,s)}}save(e,t,r){const s=q.instance.storage();return new Promise((i,a)=>{if(this._uploadTask=Xw(Na(s,e),t),r)var c=this._uploadTask.on("state_changed",l=>{r(l.bytesTransferred,l.totalBytes)},null,()=>c());this._uploadTask.then(()=>i(e)).catch(l=>a(l))})}getUrl(e){if(!e)return Promise.reject("needs a reference");const t=q.instance.storage();return Yw(Na(t,e))}uploadControl(){if(!this._uploadTask)throw new Error("You should call save() before uploadControl()");return{cancel:()=>{var e;return(e=this._uploadTask)==null?void 0:e.cancel()},pause:()=>{var e;return(e=this._uploadTask)==null?void 0:e.pause()},resume:()=>{var e;return(e=this._uploadTask)==null?void 0:e.resume()},onProgress:e=>{var t;return(t=this._uploadTask)==null?void 0:t.on("state_changed",r=>{e&&e(r.bytesTransferred,r.totalBytes)})}}}delete(e){const t=q.instance.storage();return Jw(Na(t,e))}},xe.FirebaseCloudStorage=RI([dh("FirebaseCloudStorage",()=>new xe.FirebaseCloudStorage)],xe.FirebaseCloudStorage);const Zd={twitter:()=>new Xe,facebook:()=>new at,google:()=>new ct};class Va extends fh{constructor(e){var t;if(super(),this.credentialProviders={},e&&q.useEmulator(e),(t=q.emulator)!=null&&t.emulate){const{host:r,authPort:s}=q.emulator;if(!r||!s)throw new Error("You should define a host and an auth emulator port to use the emulator");$h(q.instance.auth(),`http://${r}:${s}`)}this.registerCredentialProviders()}signUp(e){const{authProvider:t,verificationLink:r}=e;return t.slice(0,5)==="email"?new Promise(async(s,i)=>{try{const a=this.credentialProviders["email-sign-up"];if(!a)throw new Error(`The provider ${t} is not registered`);const c=await a(e);e.name&&await bE(c.user,{displayName:e.name}),r&&await ed(c.user,{url:r}),s(await this.toUserCredentials(c.user))}catch(a){i({code:Qs(a.code.slice(5)),message:a.message})}}):this.login(e)}login(e){const{authProvider:t}=e;return new Promise(async(r,s)=>{try{const i=this.credentialProviders[t];if(!i)throw new Error(`The provider ${t} is not registered`);const a=await i(e);r(await this.toUserCredentials(a.user))}catch(i){s({code:i.code===400?"missingPassword":Qs(i.code.slice(5)),message:i.message})}})}logout(){return q.instance.auth().signOut()}resetEmailPassword(e){return new Promise(async(t,r)=>{try{await IE(q.instance.auth(),e),t()}catch(s){r({code:Qs(s.code.slice(5)),message:s.message})}})}resendVerificationEmail(e,t,r){return new Promise(async(s,i)=>{try{await Zh(q.instance.auth(),e,t);const a=q.instance.auth().currentUser;if(!a){i({code:"userNotFound",message:"There is no logged in user"});return}await ed(a,{url:r}),s()}catch(a){i({code:Qs(a.code.slice(5)),message:r})}})}refreshToken(){var e;return(e=q.instance.auth().currentUser)==null?void 0:e.getIdToken(!0)}onAuthStateChange(e){q.instance.auth().onAuthStateChanged(async t=>{e(t?await this.toUserCredentials(t):void 0)})}linkAdditionalProvider(e){const t=Zd[e](),r=q.instance.auth().currentUser;if(!r)throw new Error("There is no logged in user");return dd(r,t)}unlinkProvider(e){const{currentUser:t}=q.instance.auth();if(!t)throw new Error("There is no logged in user");return t.providerData,_E(t,Zd[e]().providerId)}async toUserCredentials(e){if(!e)throw new Error("The user in user credentials is not defined");const t=(await e.getIdTokenResult()).claims;return Va.convertCredentials(e,t)}static convertCredentials(e,t){return{id:e.uid,email:e.email??"",name:e.displayName??void 0,pictureUrl:e.photoURL??void 0,phoneNumber:e.phoneNumber??void 0,emailVerified:e.emailVerified,customData:{...t},lastLogin:Date.now(),creationDate:e.metadata.creationTime?new Date(e.metadata.creationTime).getTime():void 0}}registerCredentialProvider(e,t){this.credentialProviders[e]=t}registerCredentialProviders(){this.registerCredentialProvider("email-sign-up",e=>{if(!e.email||!e.password)throw new Error("Email and password are required");return AE(q.instance.auth(),e.email,e.password)}),this.registerCredentialProvider("email",e=>{if(!e.email||!e.password)throw new Error("Email and password are required");return Zh(q.instance.auth(),e.email,e.password)}),this.registerCredentialProvider("google",()=>va(q.instance.auth(),new ct)),this.registerCredentialProvider("facebook",()=>va(q.instance.auth(),new at)),this.registerCredentialProvider("twitter",()=>va(q.instance.auth(),new Xe)),this.registerCredentialProvider("link-twitter",()=>{const e=q.instance.auth().currentUser;if(!e)throw new Error("There is no logged in user");return dd(e,new Xe)}),this.registerCredentialProvider("anonymous",()=>gE(q.instance.auth()))}}class bI{constructor(e,t){var r;if(e&&q.setRegion(e),t&&q.useEmulator(t),(r=q.emulator)!=null&&r.emulate){const{host:s,functionsPort:i}=q.emulator;Jd(q.instance.functions(),s,i)}}retrieveFunction(e){return wI(q.instance.functions(),e)}async callFunction(e,t){return(await e(t)).data}}xe.FirebaseAuth=Va,xe.FirebaseCloudFunctions=bI,xe.FirebaseDatasource=II,xe.FirebaseHelper=q,Object.defineProperty(xe,Symbol.toStringTag,{value:"Module"})});
3788
3773
  //# sourceMappingURL=entropic-bond-firebase.umd.cjs.map