@thefittingroom/sdk 0.0.8 → 0.0.10
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.
- package/README.md +30 -10
- package/dist/esm/api/shop.d.ts +5 -1
- package/dist/esm/api/utils.d.ts +1 -1
- package/dist/esm/firebase/firebase-user.d.ts +1 -1
- package/dist/esm/index.js +20 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.min.js +180 -180
- package/dist/esm/index.min.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* thefittingroom v0.0.
|
|
2
|
+
* thefittingroom v0.0.10 (2023-07-31T23:26:47.153Z)
|
|
3
3
|
* Copyright 2022-present, TheFittingRoom, Inc. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
* See the License for the specific language governing permissions and
|
|
35
35
|
* limitations under the License.
|
|
36
36
|
*/
|
|
37
|
-
const
|
|
37
|
+
const e=function(e){const t=[];let n=0;for(let r=0;r<e.length;r++){let s=e.charCodeAt(r);s<128?t[n++]=s:s<2048?(t[n++]=s>>6|192,t[n++]=63&s|128):55296==(64512&s)&&r+1<e.length&&56320==(64512&e.charCodeAt(r+1))?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++r)),t[n++]=s>>18|240,t[n++]=s>>12&63|128,t[n++]=s>>6&63|128,t[n++]=63&s|128):(t[n++]=s>>12|224,t[n++]=s>>6&63|128,t[n++]=63&s|128)}return t},t={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let t=0;t<e.length;t+=3){const s=e[t],i=t+1<e.length,o=i?e[t+1]:0,a=t+2<e.length,c=a?e[t+2]:0,u=s>>2,h=(3&s)<<4|o>>4;let l=(15&o)<<2|c>>6,d=63&c;a||(d=64,i||(l=64)),r.push(n[u],n[h],n[l],n[d])}return r.join("")},encodeString(t,n){return this.HAS_NATIVE_SUPPORT&&!n?btoa(t):this.encodeByteArray(e(t),n)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):function(e){const t=[];let n=0,r=0;for(;n<e.length;){const s=e[n++];if(s<128)t[r++]=String.fromCharCode(s);else if(s>191&&s<224){const i=e[n++];t[r++]=String.fromCharCode((31&s)<<6|63&i)}else if(s>239&&s<365){const i=((7&s)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536;t[r++]=String.fromCharCode(55296+(i>>10)),t[r++]=String.fromCharCode(56320+(1023&i))}else{const i=e[n++],o=e[n++];t[r++]=String.fromCharCode((15&s)<<12|(63&i)<<6|63&o)}}return t.join("")}(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let t=0;t<e.length;){const s=n[e.charAt(t++)],i=t<e.length?n[e.charAt(t)]:0;++t;const o=t<e.length?n[e.charAt(t)]:64;++t;const a=t<e.length?n[e.charAt(t)]:64;if(++t,null==s||null==i||null==o||null==a)throw Error();const c=s<<2|i>>4;if(r.push(c),64!==o){const e=i<<4&240|o>>2;if(r.push(e),64!==a){const e=o<<6&192|a;r.push(e)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e,e>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}},n=function(n){return function(n){const r=e(n);return t.encodeByteArray(r,!0)}(n).replace(/\./g,"")},r=function(e){try{return t.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};
|
|
38
38
|
/**
|
|
39
39
|
* @license
|
|
40
40
|
* Copyright 2017 Google LLC
|
|
@@ -68,7 +68,7 @@ function s(){return"undefined"!=typeof navigator&&"string"==typeof navigator.use
|
|
|
68
68
|
* See the License for the specific language governing permissions and
|
|
69
69
|
* limitations under the License.
|
|
70
70
|
*/
|
|
71
|
-
const i=()=>function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("Unable to locate global object.")}().__FIREBASE_DEFAULTS__,o=()=>{try{return i()||(()=>{if("undefined"==typeof process||void 0===process.env)return;const
|
|
71
|
+
const i=()=>function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("Unable to locate global object.")}().__FIREBASE_DEFAULTS__,o=()=>{try{return i()||(()=>{if("undefined"==typeof process||void 0===process.env)return;const e=process.env.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0})()||(()=>{if("undefined"==typeof document)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}const t=e&&r(e[1]);return t&&JSON.parse(t)})()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},a=e=>{var t,n;return null===(n=null===(t=o())||void 0===t?void 0:t.emulatorHosts)||void 0===n?void 0:n[e]},c=e=>{var t;return null===(t=o())||void 0===t?void 0:t[`_${e}`]};
|
|
72
72
|
/**
|
|
73
73
|
* @license
|
|
74
74
|
* Copyright 2017 Google LLC
|
|
@@ -85,7 +85,7 @@ const i=()=>function(){if("undefined"!=typeof self)return self;if("undefined"!=t
|
|
|
85
85
|
* See the License for the specific language governing permissions and
|
|
86
86
|
* limitations under the License.
|
|
87
87
|
*/
|
|
88
|
-
class u{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((t
|
|
88
|
+
class u{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,n)=>{t?this.reject(t):this.resolve(n),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,n))}}}
|
|
89
89
|
/**
|
|
90
90
|
* @license
|
|
91
91
|
* Copyright 2021 Google LLC
|
|
@@ -101,7 +101,7 @@ class u{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Pr
|
|
|
101
101
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
102
102
|
* See the License for the specific language governing permissions and
|
|
103
103
|
* limitations under the License.
|
|
104
|
-
*/class h extends Error{constructor(t,
|
|
104
|
+
*/class h extends Error{constructor(e,t,n){super(t),this.code=e,this.customData=n,this.name="FirebaseError",Object.setPrototypeOf(this,h.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,l.prototype.create)}}class l{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){const n=t[0]||{},r=`${this.service}/${e}`,s=this.errors[e],i=s?function(e,t){return e.replace(d,((e,n)=>{const r=t[n];return null!=r?String(r):`<${n}?>`}))}(s,n):"Error",o=`${this.serviceName}: ${i} (${r}).`;return new h(r,o,n)}}const d=/\{\$([^}]+)}/g;function f(e,t){if(e===t)return!0;const n=Object.keys(e),r=Object.keys(t);for(const s of n){if(!r.includes(s))return!1;const n=e[s],i=t[s];if(p(n)&&p(i)){if(!f(n,i))return!1}else if(n!==i)return!1}for(const e of r)if(!n.includes(e))return!1;return!0}function p(e){return null!==e&&"object"==typeof e}
|
|
105
105
|
/**
|
|
106
106
|
* @license
|
|
107
107
|
* Copyright 2017 Google LLC
|
|
@@ -117,7 +117,7 @@ class u{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Pr
|
|
|
117
117
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
118
118
|
* See the License for the specific language governing permissions and
|
|
119
119
|
* limitations under the License.
|
|
120
|
-
*/function g(
|
|
120
|
+
*/function g(e){const t=[];for(const[n,r]of Object.entries(e))Array.isArray(r)?r.forEach((e=>{t.push(encodeURIComponent(n)+"="+encodeURIComponent(e))})):t.push(encodeURIComponent(n)+"="+encodeURIComponent(r));return t.length?"&"+t.join("&"):""}function m(e){const t={};return e.replace(/^\?/,"").split("&").forEach((e=>{if(e){const[n,r]=e.split("=");t[decodeURIComponent(n)]=decodeURIComponent(r)}})),t}function y(e){const t=e.indexOf("?");if(!t)return"";const n=e.indexOf("#",t);return e.substring(t,n>0?n:void 0)}class v{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then((()=>{e(this)})).catch((e=>{this.error(e)}))}next(e){this.forEachObserver((t=>{t.next(e)}))}error(e){this.forEachObserver((t=>{t.error(e)})),this.close(e)}complete(){this.forEachObserver((e=>{e.complete()})),this.close()}subscribe(e,t,n){let r;if(void 0===e&&void 0===t&&void 0===n)throw new Error("Missing Observer.");r=function(e,t){if("object"!=typeof e||null===e)return!1;for(const n of t)if(n in e&&"function"==typeof e[n])return!0;return!1}(e,["next","error","complete"])?e:{next:e,error:t,complete:n},void 0===r.next&&(r.next=w),void 0===r.error&&(r.error=w),void 0===r.complete&&(r.complete=w);const s=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then((()=>{try{this.finalError?r.error(this.finalError):r.complete()}catch(e){}})),this.observers.push(r),s}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t<this.observers.length;t++)this.sendOne(t,e)}sendOne(e,t){this.task.then((()=>{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"undefined"!=typeof console&&console.error&&console.error(e)}}))}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then((()=>{this.observers=void 0,this.onNoObservers=void 0})))}}function w(){}
|
|
121
121
|
/**
|
|
122
122
|
* @license
|
|
123
123
|
* Copyright 2021 Google LLC
|
|
@@ -133,7 +133,7 @@ class u{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Pr
|
|
|
133
133
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
134
134
|
* See the License for the specific language governing permissions and
|
|
135
135
|
* limitations under the License.
|
|
136
|
-
*/function I(
|
|
136
|
+
*/function I(e){return e&&e._delegate?e._delegate:e}class b{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}
|
|
137
137
|
/**
|
|
138
138
|
* @license
|
|
139
139
|
* Copyright 2019 Google LLC
|
|
@@ -165,7 +165,7 @@ class u{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Pr
|
|
|
165
165
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
166
166
|
* See the License for the specific language governing permissions and
|
|
167
167
|
* limitations under the License.
|
|
168
|
-
*/class E{constructor(t
|
|
168
|
+
*/class E{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 e=new u;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const n=this.getOrInitializeService({instanceIdentifier:t});n&&e.resolve(n)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const n=this.normalizeInstanceIdentifier(null==e?void 0:e.identifier),r=null!==(t=null==e?void 0:e.optional)&&void 0!==t&&t;if(!this.isInitialized(n)&&!this.shouldAutoInitialize()){if(r)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:n})}catch(e){if(r)return null;throw e}}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(function(e){return"EAGER"===e.instantiationMode}
|
|
169
169
|
/**
|
|
170
170
|
* @license
|
|
171
171
|
* Copyright 2019 Google LLC
|
|
@@ -181,7 +181,7 @@ class u{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Pr
|
|
|
181
181
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
182
182
|
* See the License for the specific language governing permissions and
|
|
183
183
|
* limitations under the License.
|
|
184
|
-
*/(
|
|
184
|
+
*/(e))try{this.getOrInitializeService({instanceIdentifier:T})}catch(e){}for(const[e,t]of this.instancesDeferred.entries()){const n=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:n});t.resolve(e)}catch(e){}}}}clearInstance(e=T){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((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=T){return this.instances.has(e)}getOptions(e=T){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,n=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(n))throw Error(`${this.name}(${n}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const r=this.getOrInitializeService({instanceIdentifier:n,options:t});for(const[e,t]of this.instancesDeferred.entries()){n===this.normalizeInstanceIdentifier(e)&&t.resolve(r)}return r}onInit(e,t){var n;const r=this.normalizeInstanceIdentifier(t),s=null!==(n=this.onInitCallbacks.get(r))&&void 0!==n?n:new Set;s.add(e),this.onInitCallbacks.set(r,s);const i=this.instances.get(r);return i&&e(i,r),()=>{s.delete(e)}}invokeOnInitCallbacks(e,t){const n=this.onInitCallbacks.get(t);if(n)for(const r of n)try{r(e,t)}catch(e){}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let n=this.instances.get(e);if(!n&&this.component&&(n=this.component.instanceFactory(this.container,{instanceIdentifier:(r=e,r===T?void 0:r),options:t}),this.instances.set(e,n),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(n,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,n)}catch(e){}var r;return n||null}normalizeInstanceIdentifier(e=T){return this.component?this.component.multipleInstances?e:T:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class _{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 E(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}
|
|
185
185
|
/**
|
|
186
186
|
* @license
|
|
187
187
|
* Copyright 2017 Google LLC
|
|
@@ -197,7 +197,7 @@ class u{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Pr
|
|
|
197
197
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
198
198
|
* See the License for the specific language governing permissions and
|
|
199
199
|
* limitations under the License.
|
|
200
|
-
*/var S;!function(
|
|
200
|
+
*/var S;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(S||(S={}));const C={debug:S.DEBUG,verbose:S.VERBOSE,info:S.INFO,warn:S.WARN,error:S.ERROR,silent:S.SILENT},k=S.INFO,A={[S.DEBUG]:"log",[S.VERBOSE]:"log",[S.INFO]:"info",[S.WARN]:"warn",[S.ERROR]:"error"},N=(e,t,...n)=>{if(t<e.logLevel)return;const r=(new Date).toISOString(),s=A[t];if(!s)throw new Error(`Attempted to log a message with an invalid logType (value: ${t})`);console[s](`[${r}] ${e.name}:`,...n)};class D{constructor(e){this.name=e,this._logLevel=k,this._logHandler=N,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in S))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?C[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)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,S.DEBUG,...e),this._logHandler(this,S.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,S.VERBOSE,...e),this._logHandler(this,S.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,S.INFO,...e),this._logHandler(this,S.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,S.WARN,...e),this._logHandler(this,S.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,S.ERROR,...e),this._logHandler(this,S.ERROR,...e)}}let R,O;const L=new WeakMap,P=new WeakMap,M=new WeakMap,x=new WeakMap,U=new WeakMap;let F={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return P.get(e);if("objectStoreNames"===t)return e.objectStoreNames||M.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return j(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function V(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(O||(O=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(B(this),t),j(L.get(this))}:function(...t){return j(e.apply(B(this),t))}:function(t,...n){const r=e.call(B(this),t,...n);return M.set(r,t.sort?t.sort():[t]),j(r)}}function q(e){return"function"==typeof e?V(e):(e instanceof IDBTransaction&&function(e){if(P.has(e))return;const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",i),e.removeEventListener("abort",i)},s=()=>{t(),r()},i=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",s),e.addEventListener("error",i),e.addEventListener("abort",i)}));P.set(e,t)}(e),t=e,(R||(R=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some((e=>t instanceof e))?new Proxy(e,F):e);var t}function j(e){if(e instanceof IDBRequest)return function(e){const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener("success",s),e.removeEventListener("error",i)},s=()=>{t(j(e.result)),r()},i=()=>{n(e.error),r()};e.addEventListener("success",s),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&L.set(t,e)})).catch((()=>{})),U.set(t,e),t}(e);if(x.has(e))return x.get(e);const t=q(e);return t!==e&&(x.set(e,t),U.set(t,e)),t}const B=e=>U.get(e);const z=["get","getKey","getAll","getAllKeys","count"],$=["put","add","delete","clear"],K=new Map;function H(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(K.get(t))return K.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,s=$.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!s&&!z.includes(n))return;const i=async function(e,...t){const i=this.transaction(e,s?"readwrite":"readonly");let o=i.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),s&&i.done]))[0]};return K.set(t,i),i}F=(e=>({...e,get:(t,n,r)=>H(t,n)||e.get(t,n,r),has:(t,n)=>!!H(t,n)||e.has(t,n)}))(F);
|
|
201
201
|
/**
|
|
202
202
|
* @license
|
|
203
203
|
* Copyright 2019 Google LLC
|
|
@@ -214,7 +214,7 @@ class u{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Pr
|
|
|
214
214
|
* See the License for the specific language governing permissions and
|
|
215
215
|
* limitations under the License.
|
|
216
216
|
*/
|
|
217
|
-
class G{constructor(
|
|
217
|
+
class G{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(function(e){const t=e.getComponent();return"VERSION"===(null==t?void 0:t.type)}(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}const W="@firebase/app",Q="0.9.0",Y=new D("@firebase/app"),X="[DEFAULT]",J={[W]:"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","fire-js":"fire-js",firebase:"fire-js-all"},Z=new Map,ee=new Map;function te(e,t){try{e.container.addComponent(t)}catch(n){Y.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function ne(e){const t=e.name;if(ee.has(t))return Y.debug(`There were multiple attempts to register component ${t}.`),!1;ee.set(t,e);for(const t of Z.values())te(t,e);return!0}function re(e,t){const n=e.container.getProvider("heartbeat").getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}
|
|
218
218
|
/**
|
|
219
219
|
* @license
|
|
220
220
|
* Copyright 2019 Google LLC
|
|
@@ -230,7 +230,7 @@ class G{constructor(t){this.container=t}getPlatformInfoString(){return this.cont
|
|
|
230
230
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
231
231
|
* See the License for the specific language governing permissions and
|
|
232
232
|
* limitations under the License.
|
|
233
|
-
*/const
|
|
233
|
+
*/const se=new l("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()","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","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}."});
|
|
234
234
|
/**
|
|
235
235
|
* @license
|
|
236
236
|
* Copyright 2019 Google LLC
|
|
@@ -247,7 +247,7 @@ class G{constructor(t){this.container=t}getPlatformInfoString(){return this.cont
|
|
|
247
247
|
* See the License for the specific language governing permissions and
|
|
248
248
|
* limitations under the License.
|
|
249
249
|
*/
|
|
250
|
-
class
|
|
250
|
+
class ie{constructor(e,t,n){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new b("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 se.create("app-deleted",{appName:this._name})}}
|
|
251
251
|
/**
|
|
252
252
|
* @license
|
|
253
253
|
* Copyright 2019 Google LLC
|
|
@@ -263,7 +263,7 @@ class it{constructor(t,e,n){this._isDeleted=!1,this._options=Object.assign({},t)
|
|
|
263
263
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
264
264
|
* See the License for the specific language governing permissions and
|
|
265
265
|
* limitations under the License.
|
|
266
|
-
*/const
|
|
266
|
+
*/const oe="9.15.0";function ae(e,t={}){let n=e;if("object"!=typeof t){t={name:t}}const r=Object.assign({name:X,automaticDataCollectionEnabled:!1},t),s=r.name;if("string"!=typeof s||!s)throw se.create("bad-app-name",{appName:String(s)});if(n||(n=(()=>{var e;return null===(e=o())||void 0===e?void 0:e.config})()),!n)throw se.create("no-options");const i=Z.get(s);if(i){if(f(n,i.options)&&f(r,i.config))return i;throw se.create("duplicate-app",{appName:s})}const a=new _(s);for(const e of ee.values())a.addComponent(e);const c=new ie(n,r,a);return Z.set(s,c),c}function ce(e=X){const t=Z.get(e);if(!t&&e===X)return ae();if(!t)throw se.create("no-app",{appName:e});return t}function ue(e,t,n){var r;let s=null!==(r=J[e])&&void 0!==r?r:e;n&&(s+=`-${n}`);const i=s.match(/\s|\//),o=t.match(/\s|\//);if(i||o){const e=[`Unable to register library "${s}" with version "${t}":`];return i&&e.push(`library name "${s}" contains illegal characters (whitespace or "/")`),i&&o&&e.push("and"),o&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void Y.warn(e.join(" "))}ne(new b(`${s}-version`,(()=>({library:s,version:t})),"VERSION"))}
|
|
267
267
|
/**
|
|
268
268
|
* @license
|
|
269
269
|
* Copyright 2021 Google LLC
|
|
@@ -279,7 +279,7 @@ class it{constructor(t,e,n){this._isDeleted=!1,this._options=Object.assign({},t)
|
|
|
279
279
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
280
280
|
* See the License for the specific language governing permissions and
|
|
281
281
|
* limitations under the License.
|
|
282
|
-
*/const
|
|
282
|
+
*/const he="firebase-heartbeat-store";let le=null;function de(){return le||(le=function(e,t,{blocked:n,upgrade:r,blocking:s,terminated:i}={}){const o=indexedDB.open(e,t),a=j(o);return r&&o.addEventListener("upgradeneeded",(e=>{r(j(o.result),e.oldVersion,e.newVersion,j(o.transaction))})),n&&o.addEventListener("blocked",(()=>n())),a.then((e=>{i&&e.addEventListener("close",(()=>i())),s&&e.addEventListener("versionchange",(()=>s()))})).catch((()=>{})),a}("firebase-heartbeat-database",1,{upgrade:(e,t)=>{if(0===t)e.createObjectStore(he)}}).catch((e=>{throw se.create("idb-open",{originalErrorMessage:e.message})}))),le}async function fe(e,t){try{const n=(await de()).transaction(he,"readwrite"),r=n.objectStore(he);return await r.put(t,pe(e)),n.done}catch(e){if(e instanceof h)Y.warn(e.message);else{const t=se.create("idb-set",{originalErrorMessage:null==e?void 0:e.message});Y.warn(t.message)}}}function pe(e){return`${e.name}!${e.options.appId}`}
|
|
283
283
|
/**
|
|
284
284
|
* @license
|
|
285
285
|
* Copyright 2021 Google LLC
|
|
@@ -295,7 +295,7 @@ class it{constructor(t,e,n){this._isDeleted=!1,this._options=Object.assign({},t)
|
|
|
295
295
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
296
296
|
* See the License for the specific language governing permissions and
|
|
297
297
|
* limitations under the License.
|
|
298
|
-
*/class
|
|
298
|
+
*/class ge{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new ye(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){const e=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),t=me();if(null===this._heartbeatsCache&&(this._heartbeatsCache=await this._heartbeatsCachePromise),this._heartbeatsCache.lastSentHeartbeatDate!==t&&!this._heartbeatsCache.heartbeats.some((e=>e.date===t)))return this._heartbeatsCache.heartbeats.push({date:t,agent:e}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=2592e6})),this._storage.overwrite(this._heartbeatsCache)}async getHeartbeatsHeader(){if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null===this._heartbeatsCache||0===this._heartbeatsCache.heartbeats.length)return"";const e=me(),{heartbeatsToSend:t,unsentEntries:r}=function(e,t=1024){const n=[];let r=e.slice();for(const s of e){const e=n.find((e=>e.agent===s.agent));if(e){if(e.dates.push(s.date),ve(n)>t){e.dates.pop();break}}else if(n.push({agent:s.agent,dates:[s.date]}),ve(n)>t){n.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}(this._heartbeatsCache.heartbeats),s=n(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,r.length>0?(this._heartbeatsCache.heartbeats=r,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),s}}function me(){return(new Date).toISOString().substring(0,10)}class ye{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!function(){try{return"object"==typeof indexedDB}catch(e){return!1}}()&&new Promise(((e,t)=>{try{let n=!0;const r="validate-browser-context-for-indexeddb-analytics-module",s=self.indexedDB.open(r);s.onsuccess=()=>{s.result.close(),n||self.indexedDB.deleteDatabase(r),e(!0)},s.onupgradeneeded=()=>{n=!1},s.onerror=()=>{var e;t((null===(e=s.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}})).then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){return await async function(e){try{return(await de()).transaction(he).objectStore(he).get(pe(e))}catch(e){if(e instanceof h)Y.warn(e.message);else{const t=se.create("idb-get",{originalErrorMessage:null==e?void 0:e.message});Y.warn(t.message)}}}(this.app)||{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const n=await this.read();return fe(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:n.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const n=await this.read();return fe(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:n.lastSentHeartbeatDate,heartbeats:[...n.heartbeats,...e.heartbeats]})}}}function ve(e){return n(JSON.stringify({version:2,heartbeats:e})).length}
|
|
299
299
|
/**
|
|
300
300
|
* @license
|
|
301
301
|
* Copyright 2019 Google LLC
|
|
@@ -311,7 +311,7 @@ class it{constructor(t,e,n){this._isDeleted=!1,this._options=Object.assign({},t)
|
|
|
311
311
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
312
312
|
* See the License for the specific language governing permissions and
|
|
313
313
|
* limitations under the License.
|
|
314
|
-
*/var wt;wt="",nt(new b("platform-logger",(t=>new G(t)),"PRIVATE")),nt(new b("heartbeat",(t=>new gt(t)),"PRIVATE")),ut(W,Q,wt),ut(W,Q,"esm2017"),ut("fire-js","");var It=function(t,e){return It=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},It(t,e)};function bt(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Tt(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,s,i=n.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(t){s={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(s)throw s.error}}return o}var Et,_t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},St=St||{},Ct=_t||self;function kt(){}function At(t){var e=typeof t;return"array"==(e="object"!=e?e:t?Array.isArray(t)?"array":e:"null")||"object"==e&&"number"==typeof t.length}function Nt(t){var e=typeof t;return"object"==e&&null!=t||"function"==e}var Dt="closure_uid_"+(1e9*Math.random()>>>0),Rt=0;function Ot(t,e,n){return t.call.apply(t.bind,arguments)}function Lt(t,e,n){if(!t)throw Error();if(2<arguments.length){var r=Array.prototype.slice.call(arguments,2);return function(){var n=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(n,r),t.apply(e,n)}}return function(){return t.apply(e,arguments)}}function Pt(t,e,n){return(Pt=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?Ot:Lt).apply(null,arguments)}function Mt(t,e){var n=Array.prototype.slice.call(arguments,1);return function(){var e=n.slice();return e.push.apply(e,arguments),t.apply(this,e)}}function xt(t,e){function n(){}n.prototype=e.prototype,t.X=e.prototype,t.prototype=new n,t.prototype.constructor=t,t.Wb=function(t,n,r){for(var s=Array(arguments.length-2),i=2;i<arguments.length;i++)s[i-2]=arguments[i];return e.prototype[n].apply(t,s)}}function Ut(){this.s=this.s,this.o=this.o}Ut.prototype.s=!1,Ut.prototype.na=function(){var t;!this.s&&(this.s=!0,this.M(),0)&&(t=this,Object.prototype.hasOwnProperty.call(t,Dt)&&t[Dt]||(t[Dt]=++Rt))},Ut.prototype.M=function(){if(this.o)for(;this.o.length;)this.o.shift()()};var Ft=Array.prototype.indexOf?function(t,e){return Array.prototype.indexOf.call(t,e,void 0)}:function(t,e){if("string"==typeof t)return"string"!=typeof e||1!=e.length?-1:t.indexOf(e,0);for(var n=0;n<t.length;n++)if(n in t&&t[n]===e)return n;return-1};function Vt(t){var e=t.length;if(0<e){for(var n=Array(e),r=0;r<e;r++)n[r]=t[r];return n}return[]}function qt(t,e){for(var n=1;n<arguments.length;n++){var r=arguments[n];if(At(r)){var s=t.length||0,i=r.length||0;t.length=s+i;for(var o=0;o<i;o++)t[s+o]=r[o]}else t.push(r)}}function jt(t,e){this.type=t,this.g=this.target=e,this.defaultPrevented=!1}jt.prototype.h=function(){this.defaultPrevented=!0};var Bt=function(){if(!Ct.addEventListener||!Object.defineProperty)return!1;var t=!1,e=Object.defineProperty({},"passive",{get:function(){t=!0}});try{Ct.addEventListener("test",kt,e),Ct.removeEventListener("test",kt,e)}catch(t){}return t}();function zt(t){return/^[\s\xa0]*$/.test(t)}var $t=String.prototype.trim?function(t){return t.trim()}:function(t){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(t)[1]};function Kt(t,e){return t<e?-1:t>e?1:0}function Ht(){var t=Ct.navigator;return t&&(t=t.userAgent)?t:""}function Gt(t){return-1!=Ht().indexOf(t)}function Wt(t){return Wt[" "](t),t}Wt[" "]=kt;var Qt,Yt,Xt=Gt("Opera"),Jt=Gt("Trident")||Gt("MSIE"),Zt=Gt("Edge"),te=Zt||Jt,ee=Gt("Gecko")&&!(-1!=Ht().toLowerCase().indexOf("webkit")&&!Gt("Edge"))&&!(Gt("Trident")||Gt("MSIE"))&&!Gt("Edge"),ne=-1!=Ht().toLowerCase().indexOf("webkit")&&!Gt("Edge");function re(){var t=Ct.document;return t?t.documentMode:void 0}t:{var se="",ie=(Yt=Ht(),ee?/rv:([^\);]+)(\)|;)/.exec(Yt):Zt?/Edge\/([\d\.]+)/.exec(Yt):Jt?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(Yt):ne?/WebKit\/(\S+)/.exec(Yt):Xt?/(?:Version)[ \/]?(\S+)/.exec(Yt):void 0);if(ie&&(se=ie?ie[1]:""),Jt){var oe=re();if(null!=oe&&oe>parseFloat(se)){Qt=String(oe);break t}}Qt=se}var ae,ce={};function ue(){return function(t){var e=ce;return Object.prototype.hasOwnProperty.call(e,9)?e[9]:e[9]=t(9)}((function(){for(var t=0,e=$t(String(Qt)).split("."),n=$t("9").split("."),r=Math.max(e.length,n.length),s=0;0==t&&s<r;s++){var i=e[s]||"",o=n[s]||"";do{if(i=/(\d*)(\D*)(.*)/.exec(i)||["","","",""],o=/(\d*)(\D*)(.*)/.exec(o)||["","","",""],0==i[0].length&&0==o[0].length)break;t=Kt(0==i[1].length?0:parseInt(i[1],10),0==o[1].length?0:parseInt(o[1],10))||Kt(0==i[2].length,0==o[2].length)||Kt(i[2],o[2]),i=i[3],o=o[3]}while(0==t)}return 0<=t}))}if(Ct.document&&Jt){var he=re();ae=he||(parseInt(Qt,10)||void 0)}else ae=void 0;var le=ae;function de(t,e){if(jt.call(this,t?t.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,t){var n=this.type=t.type,r=t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:null;if(this.target=t.target||t.srcElement,this.g=e,e=t.relatedTarget){if(ee){t:{try{Wt(e.nodeName);var s=!0;break t}catch(t){}s=!1}s||(e=null)}}else"mouseover"==n?e=t.fromElement:"mouseout"==n&&(e=t.toElement);this.relatedTarget=e,r?(this.clientX=void 0!==r.clientX?r.clientX:r.pageX,this.clientY=void 0!==r.clientY?r.clientY:r.pageY,this.screenX=r.screenX||0,this.screenY=r.screenY||0):(this.clientX=void 0!==t.clientX?t.clientX:t.pageX,this.clientY=void 0!==t.clientY?t.clientY:t.pageY,this.screenX=t.screenX||0,this.screenY=t.screenY||0),this.button=t.button,this.key=t.key||"",this.ctrlKey=t.ctrlKey,this.altKey=t.altKey,this.shiftKey=t.shiftKey,this.metaKey=t.metaKey,this.pointerId=t.pointerId||0,this.pointerType="string"==typeof t.pointerType?t.pointerType:fe[t.pointerType]||"",this.state=t.state,this.i=t,t.defaultPrevented&&de.X.h.call(this)}}xt(de,jt);var fe={2:"touch",3:"pen",4:"mouse"};de.prototype.h=function(){de.X.h.call(this);var t=this.i;t.preventDefault?t.preventDefault():t.returnValue=!1};var pe="closure_listenable_"+(1e6*Math.random()|0),ge=0;function me(t,e,n,r,s){this.listener=t,this.proxy=null,this.src=e,this.type=n,this.capture=!!r,this.ha=s,this.key=++ge,this.ba=this.ea=!1}function ye(t){t.ba=!0,t.listener=null,t.proxy=null,t.src=null,t.ha=null}function ve(t,e,n){for(var r in t)e.call(n,t[r],r,t)}function we(t){var e={};for(var n in t)e[n]=t[n];return e}var Ie="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function be(t,e){for(var n,r,s=1;s<arguments.length;s++){for(n in r=arguments[s])t[n]=r[n];for(var i=0;i<Ie.length;i++)n=Ie[i],Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}}function Te(t){this.src=t,this.g={},this.h=0}function Ee(t,e){var n=e.type;if(n in t.g){var r,s=t.g[n],i=Ft(s,e);(r=0<=i)&&Array.prototype.splice.call(s,i,1),r&&(ye(e),0==t.g[n].length&&(delete t.g[n],t.h--))}}function _e(t,e,n,r){for(var s=0;s<t.length;++s){var i=t[s];if(!i.ba&&i.listener==e&&i.capture==!!n&&i.ha==r)return s}return-1}Te.prototype.add=function(t,e,n,r,s){var i=t.toString();(t=this.g[i])||(t=this.g[i]=[],this.h++);var o=_e(t,e,r,s);return-1<o?(e=t[o],n||(e.ea=!1)):((e=new me(e,this.src,i,!!r,s)).ea=n,t.push(e)),e};var Se="closure_lm_"+(1e6*Math.random()|0),Ce={};function ke(t,e,n,r,s){if(r&&r.once)return Ne(t,e,n,r,s);if(Array.isArray(e)){for(var i=0;i<e.length;i++)ke(t,e[i],n,r,s);return null}return n=xe(n),t&&t[pe]?t.N(e,n,Nt(r)?!!r.capture:!!r,s):Ae(t,e,n,!1,r,s)}function Ae(t,e,n,r,s,i){if(!e)throw Error("Invalid event type");var o=Nt(s)?!!s.capture:!!s,a=Pe(t);if(a||(t[Se]=a=new Te(t)),(n=a.add(e,n,r,o,i)).proxy)return n;if(r=function(){function t(n){return e.call(t.src,t.listener,n)}var e=Le;return t}(),n.proxy=r,r.src=t,r.listener=n,t.addEventListener)Bt||(s=o),void 0===s&&(s=!1),t.addEventListener(e.toString(),r,s);else if(t.attachEvent)t.attachEvent(Oe(e.toString()),r);else{if(!t.addListener||!t.removeListener)throw Error("addEventListener and attachEvent are unavailable.");t.addListener(r)}return n}function Ne(t,e,n,r,s){if(Array.isArray(e)){for(var i=0;i<e.length;i++)Ne(t,e[i],n,r,s);return null}return n=xe(n),t&&t[pe]?t.O(e,n,Nt(r)?!!r.capture:!!r,s):Ae(t,e,n,!0,r,s)}function De(t,e,n,r,s){if(Array.isArray(e))for(var i=0;i<e.length;i++)De(t,e[i],n,r,s);else r=Nt(r)?!!r.capture:!!r,n=xe(n),t&&t[pe]?(t=t.i,(e=String(e).toString())in t.g&&(-1<(n=_e(i=t.g[e],n,r,s))&&(ye(i[n]),Array.prototype.splice.call(i,n,1),0==i.length&&(delete t.g[e],t.h--)))):t&&(t=Pe(t))&&(e=t.g[e.toString()],t=-1,e&&(t=_e(e,n,r,s)),(n=-1<t?e[t]:null)&&Re(n))}function Re(t){if("number"!=typeof t&&t&&!t.ba){var e=t.src;if(e&&e[pe])Ee(e.i,t);else{var n=t.type,r=t.proxy;e.removeEventListener?e.removeEventListener(n,r,t.capture):e.detachEvent?e.detachEvent(Oe(n),r):e.addListener&&e.removeListener&&e.removeListener(r),(n=Pe(e))?(Ee(n,t),0==n.h&&(n.src=null,e[Se]=null)):ye(t)}}}function Oe(t){return t in Ce?Ce[t]:Ce[t]="on"+t}function Le(t,e){if(t.ba)t=!0;else{e=new de(e,this);var n=t.listener,r=t.ha||t.src;t.ea&&Re(t),t=n.call(r,e)}return t}function Pe(t){return(t=t[Se])instanceof Te?t:null}var Me="__closure_events_fn_"+(1e9*Math.random()>>>0);function xe(t){return"function"==typeof t?t:(t[Me]||(t[Me]=function(e){return t.handleEvent(e)}),t[Me])}function Ue(){Ut.call(this),this.i=new Te(this),this.P=this,this.I=null}function Fe(t,e){var n,r=t.I;if(r)for(n=[];r;r=r.I)n.push(r);if(t=t.P,r=e.type||e,"string"==typeof e)e=new jt(e,t);else if(e instanceof jt)e.target=e.target||t;else{var s=e;be(e=new jt(r,t),s)}if(s=!0,n)for(var i=n.length-1;0<=i;i--){var o=e.g=n[i];s=Ve(o,r,!0,e)&&s}if(s=Ve(o=e.g=t,r,!0,e)&&s,s=Ve(o,r,!1,e)&&s,n)for(i=0;i<n.length;i++)s=Ve(o=e.g=n[i],r,!1,e)&&s}function Ve(t,e,n,r){if(!(e=t.i.g[String(e)]))return!0;e=e.concat();for(var s=!0,i=0;i<e.length;++i){var o=e[i];if(o&&!o.ba&&o.capture==n){var a=o.listener,c=o.ha||o.src;o.ea&&Ee(t.i,o),s=!1!==a.call(c,r)&&s}}return s&&!r.defaultPrevented}xt(Ue,Ut),Ue.prototype[pe]=!0,Ue.prototype.removeEventListener=function(t,e,n,r){De(this,t,e,n,r)},Ue.prototype.M=function(){if(Ue.X.M.call(this),this.i){var t,e=this.i;for(t in e.g){for(var n=e.g[t],r=0;r<n.length;r++)ye(n[r]);delete e.g[t],e.h--}}this.I=null},Ue.prototype.N=function(t,e,n,r){return this.i.add(String(t),e,!1,n,r)},Ue.prototype.O=function(t,e,n,r){return this.i.add(String(t),e,!0,n,r)};var qe=Ct.JSON.stringify;function je(){var t=Qe,e=null;return t.g&&(e=t.g,t.g=t.g.next,t.g||(t.h=null),e.next=null),e}var Be,ze=function(){function t(){this.h=this.g=null}return t.prototype.add=function(t,e){var n=$e.get();n.set(t,e),this.h?this.h.next=n:this.g=n,this.h=n},t}(),$e=new(function(){function t(t,e){this.i=t,this.j=e,this.h=0,this.g=null}return t.prototype.get=function(){var t;return 0<this.h?(this.h--,t=this.g,this.g=t.next,t.next=null):t=this.i(),t},t}())((function(){return new Ke}),(function(t){return t.reset()})),Ke=function(){function t(){this.next=this.g=this.h=null}return t.prototype.set=function(t,e){this.h=t,this.g=e,this.next=null},t.prototype.reset=function(){this.next=this.g=this.h=null},t}();function He(t){Ct.setTimeout((function(){throw t}),0)}function Ge(t,e){Be||function(){var t=Ct.Promise.resolve(void 0);Be=function(){t.then(Ye)}}(),We||(Be(),We=!0),Qe.add(t,e)}var We=!1,Qe=new ze;function Ye(){for(var t;t=je();){try{t.h.call(t.g)}catch(t){He(t)}var e=$e;e.j(t),100>e.h&&(e.h++,t.next=e.g,e.g=t)}We=!1}function Xe(t,e){Ue.call(this),this.h=t||1,this.g=e||Ct,this.j=Pt(this.lb,this),this.l=Date.now()}function Je(t){t.ca=!1,t.R&&(t.g.clearTimeout(t.R),t.R=null)}function Ze(t,e,n){if("function"==typeof t)n&&(t=Pt(t,n));else{if(!t||"function"!=typeof t.handleEvent)throw Error("Invalid listener argument");t=Pt(t.handleEvent,t)}return 2147483647<Number(e)?-1:Ct.setTimeout(t,e||0)}function tn(t){t.g=Ze((function(){t.g=null,t.i&&(t.i=!1,tn(t))}),t.j);var e=t.h;t.h=null,t.m.apply(null,e)}xt(Xe,Ue),(Et=Xe.prototype).ca=!1,Et.R=null,Et.lb=function(){if(this.ca){var t=Date.now()-this.l;0<t&&t<.8*this.h?this.R=this.g.setTimeout(this.j,this.h-t):(this.R&&(this.g.clearTimeout(this.R),this.R=null),Fe(this,"tick"),this.ca&&(Je(this),this.start()))}},Et.start=function(){this.ca=!0,this.R||(this.R=this.g.setTimeout(this.j,this.h),this.l=Date.now())},Et.M=function(){Xe.X.M.call(this),Je(this),delete this.g};var en=function(t){function e(e,n){var r=t.call(this)||this;return r.m=e,r.j=n,r.h=null,r.i=!1,r.g=null,r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}It(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(e,t),e.prototype.l=function(t){this.h=arguments,this.g?this.i=!0:tn(this)},e.prototype.M=function(){t.prototype.M.call(this),this.g&&(Ct.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)},e}(Ut);function nn(t){Ut.call(this),this.h=t,this.g={}}xt(nn,Ut);var rn=[];function sn(t,e,n,r){Array.isArray(n)||(n&&(rn[0]=n.toString()),n=rn);for(var s=0;s<n.length;s++){var i=ke(e,n[s],r||t.handleEvent,!1,t.h||t);if(!i)break;t.g[i.key]=i}}function on(t){ve(t.g,(function(t,e){this.g.hasOwnProperty(e)&&Re(t)}),t),t.g={}}function an(){this.g=!0}function cn(t,e,n,r){t.info((function(){return"XMLHTTP TEXT ("+e+"): "+function(t,e){if(!t.g)return e;if(!e)return null;try{var n=JSON.parse(e);if(n)for(t=0;t<n.length;t++)if(Array.isArray(n[t])){var r=n[t];if(!(2>r.length)){var s=r[1];if(Array.isArray(s)&&!(1>s.length)){var i=s[0];if("noop"!=i&&"stop"!=i&&"close"!=i)for(var o=1;o<s.length;o++)s[o]=""}}}return qe(n)}catch(t){return e}}(t,n)+(r?" "+r:"")}))}nn.prototype.M=function(){nn.X.M.call(this),on(this)},nn.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")},an.prototype.Aa=function(){this.g=!1},an.prototype.info=function(){};var un={},hn=null;function ln(){return hn=hn||new Ue}function dn(t){jt.call(this,un.Pa,t)}function fn(t){var e=ln();Fe(e,new dn(e))}function pn(t,e){jt.call(this,un.STAT_EVENT,t),this.stat=e}function gn(t){var e=ln();Fe(e,new pn(e,t))}function mn(t,e){jt.call(this,un.Qa,t),this.size=e}function yn(t,e){if("function"!=typeof t)throw Error("Fn must not be null and must be a function");return Ct.setTimeout((function(){t()}),e)}un.Pa="serverreachability",xt(dn,jt),un.STAT_EVENT="statevent",xt(pn,jt),un.Qa="timingevent",xt(mn,jt);var vn={NO_ERROR:0,mb:1,zb:2,yb:3,tb:4,xb:5,Ab:6,Ma:7,TIMEOUT:8,Db:9},wn={rb:"complete",Nb:"success",Na:"error",Ma:"abort",Fb:"ready",Gb:"readystatechange",TIMEOUT:"timeout",Bb:"incrementaldata",Eb:"progress",ub:"downloadprogress",Vb:"uploadprogress"};function In(){}function bn(t){return t.h||(t.h=t.i())}function Tn(){}In.prototype.h=null;var En,_n={OPEN:"a",qb:"b",Na:"c",Cb:"d"};function Sn(){jt.call(this,"d")}function Cn(){jt.call(this,"c")}function kn(){}function An(t,e,n,r){this.l=t,this.j=e,this.m=n,this.U=r||1,this.S=new nn(this),this.O=Dn,t=te?125:void 0,this.T=new Xe(t),this.H=null,this.i=!1,this.s=this.A=this.v=this.K=this.F=this.V=this.B=null,this.D=[],this.g=null,this.C=0,this.o=this.u=null,this.Y=-1,this.I=!1,this.N=0,this.L=null,this.$=this.J=this.Z=this.P=!1,this.h=new Nn}function Nn(){this.i=null,this.g="",this.h=!1}xt(Sn,jt),xt(Cn,jt),xt(kn,In),kn.prototype.g=function(){return new XMLHttpRequest},kn.prototype.i=function(){return{}},En=new kn;var Dn=45e3,Rn={},On={};function Ln(t,e,n){t.K=1,t.v=Jn(Gn(e)),t.s=n,t.P=!0,Pn(t,null)}function Pn(t,e){t.F=Date.now(),Fn(t),t.A=Gn(t.v);var n=t.A,r=t.U;Array.isArray(r)||(r=[String(r)]),lr(n.i,"t",r),t.C=0,n=t.l.H,t.h=new Nn,t.g=ls(t.l,n?e:null,!t.s),0<t.N&&(t.L=new en(Pt(t.La,t,t.g),t.N)),sn(t.S,t.g,"readystatechange",t.ib),e=t.H?we(t.H):{},t.s?(t.u||(t.u="POST"),e["Content-Type"]="application/x-www-form-urlencoded",t.g.da(t.A,t.u,t.s,e)):(t.u="GET",t.g.da(t.A,t.u,null,e)),fn(),function(t,e,n,r,s,i){t.info((function(){if(t.g)if(i)for(var o="",a=i.split("&"),c=0;c<a.length;c++){var u=a[c].split("=");if(1<u.length){var h=u[0];u=u[1];var l=h.split("_");o=2<=l.length&&"type"==l[1]?o+(h+"=")+u+"&":o+(h+"=redacted&")}}else o=null;else o=i;return"XMLHTTP REQ ("+r+") [attempt "+s+"]: "+e+"\n"+n+"\n"+o}))}(t.j,t.u,t.A,t.m,t.U,t.s)}function Mn(t){return!!t.g&&("GET"==t.u&&2!=t.K&&t.l.Da)}function xn(t,e,n){for(var r,s=!0;!t.I&&t.C<n.length;){if((r=Un(t,n))==On){4==e&&(t.o=4,gn(14),s=!1),cn(t.j,t.m,null,"[Incomplete Response]");break}if(r==Rn){t.o=4,gn(15),cn(t.j,t.m,n,"[Invalid Chunk]"),s=!1;break}cn(t.j,t.m,r,null),zn(t,r)}Mn(t)&&r!=On&&r!=Rn&&(t.h.g="",t.C=0),4!=e||0!=n.length||t.h.h||(t.o=1,gn(16),s=!1),t.i=t.i&&s,s?0<n.length&&!t.$&&(t.$=!0,(e=t.l).g==t&&e.$&&!e.K&&(e.j.info("Great, no buffering proxy detected. Bytes received: "+n.length),rs(e),e.K=!0,gn(11))):(cn(t.j,t.m,n,"[Invalid Chunked Response]"),Bn(t),jn(t))}function Un(t,e){var n=t.C,r=e.indexOf("\n",n);return-1==r?On:(n=Number(e.substring(n,r)),isNaN(n)?Rn:(r+=1)+n>e.length?On:(e=e.substr(r,n),t.C=r+n,e))}function Fn(t){t.V=Date.now()+t.O,Vn(t,t.O)}function Vn(t,e){if(null!=t.B)throw Error("WatchDog timer not null");t.B=yn(Pt(t.gb,t),e)}function qn(t){t.B&&(Ct.clearTimeout(t.B),t.B=null)}function jn(t){0==t.l.G||t.I||os(t.l,t)}function Bn(t){qn(t);var e=t.L;e&&"function"==typeof e.na&&e.na(),t.L=null,Je(t.T),on(t.S),t.g&&(e=t.g,t.g=null,e.abort(),e.na())}function zn(t,e){try{var n=t.l;if(0!=n.G&&(n.g==t||vr(n.h,t)))if(!t.J&&vr(n.h,t)&&3==n.G){try{var r=n.Fa.g.parse(e)}catch(i){r=null}if(Array.isArray(r)&&3==r.length){var s=r;if(0==s[0]){t:if(!n.u){if(n.g){if(!(n.g.F+3e3<t.F))break t;is(n),Qr(n)}ns(n),gn(18)}}else n.Ba=s[1],0<n.Ba-n.T&&37500>s[2]&&n.L&&0==n.A&&!n.v&&(n.v=yn(Pt(n.cb,n),6e3));if(1>=yr(n.h)&&n.ja){try{n.ja()}catch(i){}n.ja=void 0}}else cs(n,11)}else if((t.J||n.g==t)&&is(n),!zt(e))for(s=n.Fa.g.parse(e),e=0;e<s.length;e++){var i=s[e];if(n.T=i[0],i=i[1],2==n.G)if("c"==i[0]){n.I=i[1],n.ka=i[2];var o=i[3];null!=o&&(n.ma=o,n.j.info("VER="+n.ma));var a=i[4];null!=a&&(n.Ca=a,n.j.info("SVER="+n.Ca));var c=i[5];null!=c&&"number"==typeof c&&0<c&&(r=1.5*c,n.J=r,n.j.info("backChannelRequestTimeoutMs_="+r)),r=n;var u=t.g;if(u){var h=u.g?u.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(h){var l=r.h;l.g||-1==h.indexOf("spdy")&&-1==h.indexOf("quic")&&-1==h.indexOf("h2")||(l.j=l.l,l.g=new Set,l.h&&(wr(l,l.h),l.h=null))}if(r.D){var d=u.g?u.g.getResponseHeader("X-HTTP-Session-Id"):null;d&&(r.za=d,Xn(r.F,r.D,d))}}n.G=3,n.l&&n.l.xa(),n.$&&(n.P=Date.now()-t.F,n.j.info("Handshake RTT: "+n.P+"ms"));var f=t;if((r=n).sa=hs(r,r.H?r.ka:null,r.V),f.J){Ir(r.h,f);var p=f,g=r.J;g&&p.setTimeout(g),p.B&&(qn(p),Fn(p)),r.g=f}else es(r);0<n.i.length&&Xr(n)}else"stop"!=i[0]&&"close"!=i[0]||cs(n,7);else 3==n.G&&("stop"==i[0]||"close"==i[0]?"stop"==i[0]?cs(n,7):Wr(n):"noop"!=i[0]&&n.l&&n.l.wa(i),n.A=0)}fn()}catch(i){}}function $n(t,e){if(t.forEach&&"function"==typeof t.forEach)t.forEach(e,void 0);else if(At(t)||"string"==typeof t)Array.prototype.forEach.call(t,e,void 0);else for(var n=function(t){if(t.oa&&"function"==typeof t.oa)return t.oa();if(!t.W||"function"!=typeof t.W){if("undefined"!=typeof Map&&t instanceof Map)return Array.from(t.keys());if(!("undefined"!=typeof Set&&t instanceof Set)){if(At(t)||"string"==typeof t){var e=[];t=t.length;for(var n=0;n<t;n++)e.push(n);return e}for(var r in e=[],n=0,t)e[n++]=r;return e}}}(t),r=function(t){if(t.W&&"function"==typeof t.W)return t.W();if("undefined"!=typeof Map&&t instanceof Map||"undefined"!=typeof Set&&t instanceof Set)return Array.from(t.values());if("string"==typeof t)return t.split("");if(At(t)){for(var e=[],n=t.length,r=0;r<n;r++)e.push(t[r]);return e}for(r in e=[],n=0,t)e[n++]=t[r];return e}(t),s=r.length,i=0;i<s;i++)e.call(void 0,r[i],n&&n[i],t)}(Et=An.prototype).setTimeout=function(t){this.O=t},Et.ib=function(t){t=t.target;var e=this.L;e&&3==Br(t)?e.l():this.La(t)},Et.La=function(t){try{if(t==this.g)t:{var e=Br(this.g),n=this.g.Ea();this.g.aa();if(!(3>e)&&(3!=e||te||this.g&&(this.h.h||this.g.fa()||zr(this.g)))){this.I||4!=e||7==n||fn(),qn(this);var r=this.g.aa();this.Y=r;e:if(Mn(this)){var s=zr(this.g);t="";var i=s.length,o=4==Br(this.g);if(!this.h.i){if("undefined"==typeof TextDecoder){Bn(this),jn(this);var a="";break e}this.h.i=new Ct.TextDecoder}for(n=0;n<i;n++)this.h.h=!0,t+=this.h.i.decode(s[n],{stream:o&&n==i-1});s.splice(0,i),this.h.g+=t,this.C=0,a=this.h.g}else a=this.g.fa();if(this.i=200==r,function(t,e,n,r,s,i,o){t.info((function(){return"XMLHTTP RESP ("+r+") [ attempt "+s+"]: "+e+"\n"+n+"\n"+i+" "+o}))}(this.j,this.u,this.A,this.m,this.U,e,r),this.i){if(this.Z&&!this.J){e:{if(this.g){var c,u=this.g;if((c=u.g?u.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!zt(c)){var h=c;break e}}h=null}if(!(r=h)){this.i=!1,this.o=3,gn(12),Bn(this),jn(this);break t}cn(this.j,this.m,r,"Initial handshake response via X-HTTP-Initial-Response"),this.J=!0,zn(this,r)}this.P?(xn(this,e,a),te&&this.i&&3==e&&(sn(this.S,this.T,"tick",this.hb),this.T.start())):(cn(this.j,this.m,a,null),zn(this,a)),4==e&&Bn(this),this.i&&!this.I&&(4==e?os(this.l,this):(this.i=!1,Fn(this)))}else 400==r&&0<a.indexOf("Unknown SID")?(this.o=3,gn(12)):(this.o=0,gn(13)),Bn(this),jn(this)}}}catch(e){}},Et.hb=function(){if(this.g){var t=Br(this.g),e=this.g.fa();this.C<e.length&&(qn(this),xn(this,t,e),this.i&&4!=t&&Fn(this))}},Et.cancel=function(){this.I=!0,Bn(this)},Et.gb=function(){this.B=null;var t=Date.now();0<=t-this.V?(function(t,e){t.info((function(){return"TIMEOUT: "+e}))}(this.j,this.A),2!=this.K&&(fn(),gn(17)),Bn(this),this.o=2,jn(this)):Vn(this,this.V-t)};var Kn=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function Hn(t,e){if(this.g=this.s=this.j="",this.m=null,this.o=this.l="",this.h=!1,t instanceof Hn){this.h=void 0!==e?e:t.h,Wn(this,t.j),this.s=t.s,this.g=t.g,Qn(this,t.m),this.l=t.l,e=t.i;var n=new ar;n.i=e.i,e.g&&(n.g=new Map(e.g),n.h=e.h),Yn(this,n),this.o=t.o}else t&&(n=String(t).match(Kn))?(this.h=!!e,Wn(this,n[1]||"",!0),this.s=Zn(n[2]||""),this.g=Zn(n[3]||"",!0),Qn(this,n[4]),this.l=Zn(n[5]||"",!0),Yn(this,n[6]||"",!0),this.o=Zn(n[7]||"")):(this.h=!!e,this.i=new ar(null,this.h))}function Gn(t){return new Hn(t)}function Wn(t,e,n){t.j=n?Zn(e,!0):e,t.j&&(t.j=t.j.replace(/:$/,""))}function Qn(t,e){if(e){if(e=Number(e),isNaN(e)||0>e)throw Error("Bad port number "+e);t.m=e}else t.m=null}function Yn(t,e,n){e instanceof ar?(t.i=e,function(t,e){e&&!t.j&&(cr(t),t.i=null,t.g.forEach((function(t,e){var n=e.toLowerCase();e!=n&&(ur(this,e),lr(this,n,t))}),t)),t.j=e}(t.i,t.h)):(n||(e=tr(e,ir)),t.i=new ar(e,t.h))}function Xn(t,e,n){t.i.set(e,n)}function Jn(t){return Xn(t,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),t}function Zn(t,e){return t?e?decodeURI(t.replace(/%25/g,"%2525")):decodeURIComponent(t):""}function tr(t,e,n){return"string"==typeof t?(t=encodeURI(t).replace(e,er),n&&(t=t.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),t):null}function er(t){return"%"+((t=t.charCodeAt(0))>>4&15).toString(16)+(15&t).toString(16)}Hn.prototype.toString=function(){var t=[],e=this.j;e&&t.push(tr(e,nr,!0),":");var n=this.g;return(n||"file"==e)&&(t.push("//"),(e=this.s)&&t.push(tr(e,nr,!0),"@"),t.push(encodeURIComponent(String(n)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null!=(n=this.m)&&t.push(":",String(n))),(n=this.l)&&(this.g&&"/"!=n.charAt(0)&&t.push("/"),t.push(tr(n,"/"==n.charAt(0)?sr:rr,!0))),(n=this.i.toString())&&t.push("?",n),(n=this.o)&&t.push("#",tr(n,or)),t.join("")};var nr=/[#\/\?@]/g,rr=/[#\?:]/g,sr=/[#\?]/g,ir=/[#\?@]/g,or=/#/g;function ar(t,e){this.h=this.g=null,this.i=t||null,this.j=!!e}function cr(t){t.g||(t.g=new Map,t.h=0,t.i&&function(t,e){if(t){t=t.split("&");for(var n=0;n<t.length;n++){var r=t[n].indexOf("="),s=null;if(0<=r){var i=t[n].substring(0,r);s=t[n].substring(r+1)}else i=t[n];e(i,s?decodeURIComponent(s.replace(/\+/g," ")):"")}}}(t.i,(function(e,n){t.add(decodeURIComponent(e.replace(/\+/g," ")),n)})))}function ur(t,e){cr(t),e=dr(t,e),t.g.has(e)&&(t.i=null,t.h-=t.g.get(e).length,t.g.delete(e))}function hr(t,e){return cr(t),e=dr(t,e),t.g.has(e)}function lr(t,e,n){ur(t,e),0<n.length&&(t.i=null,t.g.set(dr(t,e),Vt(n)),t.h+=n.length)}function dr(t,e){return e=String(e),t.j&&(e=e.toLowerCase()),e}(Et=ar.prototype).add=function(t,e){cr(this),this.i=null,t=dr(this,t);var n=this.g.get(t);return n||this.g.set(t,n=[]),n.push(e),this.h+=1,this},Et.forEach=function(t,e){cr(this),this.g.forEach((function(n,r){n.forEach((function(n){t.call(e,n,r,this)}),this)}),this)},Et.oa=function(){cr(this);for(var t=Array.from(this.g.values()),e=Array.from(this.g.keys()),n=[],r=0;r<e.length;r++)for(var s=t[r],i=0;i<s.length;i++)n.push(e[r]);return n},Et.W=function(t){cr(this);var e=[];if("string"==typeof t)hr(this,t)&&(e=e.concat(this.g.get(dr(this,t))));else{t=Array.from(this.g.values());for(var n=0;n<t.length;n++)e=e.concat(t[n])}return e},Et.set=function(t,e){return cr(this),this.i=null,hr(this,t=dr(this,t))&&(this.h-=this.g.get(t).length),this.g.set(t,[e]),this.h+=1,this},Et.get=function(t,e){return t&&0<(t=this.W(t)).length?String(t[0]):e},Et.toString=function(){if(this.i)return this.i;if(!this.g)return"";for(var t=[],e=Array.from(this.g.keys()),n=0;n<e.length;n++){var r=e[n],s=encodeURIComponent(String(r)),i=this.W(r);for(r=0;r<i.length;r++){var o=s;""!==i[r]&&(o+="="+encodeURIComponent(String(i[r]))),t.push(o)}}return this.i=t.join("&")};var fr=function(t,e){this.h=t,this.g=e};function pr(t){this.l=t||gr,Ct.PerformanceNavigationTiming?t=0<(t=Ct.performance.getEntriesByType("navigation")).length&&("hq"==t[0].nextHopProtocol||"h2"==t[0].nextHopProtocol):t=!!(Ct.g&&Ct.g.Ga&&Ct.g.Ga()&&Ct.g.Ga().$b),this.j=t?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}var gr=10;function mr(t){return!!t.h||!!t.g&&t.g.size>=t.j}function yr(t){return t.h?1:t.g?t.g.size:0}function vr(t,e){return t.h?t.h==e:!!t.g&&t.g.has(e)}function wr(t,e){t.g?t.g.add(e):t.h=e}function Ir(t,e){t.h&&t.h==e?t.h=null:t.g&&t.g.has(e)&&t.g.delete(e)}function br(t){var e,n;if(null!=t.h)return t.i.concat(t.h.D);if(null!=t.g&&0!==t.g.size){var r=t.i;try{for(var s=bt(t.g.values()),i=s.next();!i.done;i=s.next()){var o=i.value;r=r.concat(o.D)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}return r}return Vt(t.i)}function Tr(){}function Er(){this.g=new Tr}function _r(t,e,n){var r=n||"";try{$n(t,(function(t,n){var s=t;Nt(t)&&(s=qe(t)),e.push(r+n+"="+encodeURIComponent(s))}))}catch(t){throw e.push(r+"type="+encodeURIComponent("_badmap")),t}}function Sr(t,e,n,r,s){try{e.onload=null,e.onerror=null,e.onabort=null,e.ontimeout=null,s(r)}catch(t){}}function Cr(t){this.l=t.ac||null,this.j=t.jb||!1}function kr(t,e){Ue.call(this),this.D=t,this.u=e,this.m=void 0,this.readyState=Ar,this.status=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.v=new Headers,this.h=null,this.C="GET",this.B="",this.g=!1,this.A=this.j=this.l=null}pr.prototype.cancel=function(){var t,e;if(this.i=br(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){try{for(var n=bt(this.g.values()),r=n.next();!r.done;r=n.next()){r.value.cancel()}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}this.g.clear()}},Tr.prototype.stringify=function(t){return Ct.JSON.stringify(t,void 0)},Tr.prototype.parse=function(t){return Ct.JSON.parse(t,void 0)},xt(Cr,In),Cr.prototype.g=function(){return new kr(this.l,this.j)},Cr.prototype.i=function(t){return function(){return t}}({}),xt(kr,Ue);var Ar=0;function Nr(t){t.j.read().then(t.Ta.bind(t)).catch(t.ga.bind(t))}function Dr(t){t.readyState=4,t.l=null,t.j=null,t.A=null,Rr(t)}function Rr(t){t.onreadystatechange&&t.onreadystatechange.call(t)}(Et=kr.prototype).open=function(t,e){if(this.readyState!=Ar)throw this.abort(),Error("Error reopening a connection");this.C=t,this.B=e,this.readyState=1,Rr(this)},Et.send=function(t){if(1!=this.readyState)throw this.abort(),Error("need to call open() first. ");this.g=!0;var e={headers:this.v,method:this.C,credentials:this.m,cache:void 0};t&&(e.body=t),(this.D||Ct).fetch(new Request(this.B,e)).then(this.Wa.bind(this),this.ga.bind(this))},Et.abort=function(){this.response=this.responseText="",this.v=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted.").catch((function(){})),1<=this.readyState&&this.g&&4!=this.readyState&&(this.g=!1,Dr(this)),this.readyState=Ar},Et.Wa=function(t){if(this.g&&(this.l=t,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=t.headers,this.readyState=2,Rr(this)),this.g&&(this.readyState=3,Rr(this),this.g)))if("arraybuffer"===this.responseType)t.arrayBuffer().then(this.Ua.bind(this),this.ga.bind(this));else if(void 0!==Ct.ReadableStream&&"body"in t){if(this.j=t.body.getReader(),this.u){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.A=new TextDecoder;Nr(this)}else t.text().then(this.Va.bind(this),this.ga.bind(this))},Et.Ta=function(t){if(this.g){if(this.u&&t.value)this.response.push(t.value);else if(!this.u){var e=t.value?t.value:new Uint8Array(0);(e=this.A.decode(e,{stream:!t.done}))&&(this.response=this.responseText+=e)}t.done?Dr(this):Rr(this),3==this.readyState&&Nr(this)}},Et.Va=function(t){this.g&&(this.response=this.responseText=t,Dr(this))},Et.Ua=function(t){this.g&&(this.response=t,Dr(this))},Et.ga=function(){this.g&&Dr(this)},Et.setRequestHeader=function(t,e){this.v.append(t,e)},Et.getResponseHeader=function(t){return this.h&&this.h.get(t.toLowerCase())||""},Et.getAllResponseHeaders=function(){if(!this.h)return"";for(var t=[],e=this.h.entries(),n=e.next();!n.done;)n=n.value,t.push(n[0]+": "+n[1]),n=e.next();return t.join("\r\n")},Object.defineProperty(kr.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(t){this.m=t?"include":"same-origin"}});var Or=Ct.JSON.parse;function Lr(t){Ue.call(this),this.headers=new Map,this.u=t||null,this.h=!1,this.C=this.g=null,this.H="",this.m=0,this.j="",this.l=this.F=this.v=this.D=!1,this.B=0,this.A=null,this.J=Pr,this.K=this.L=!1}xt(Lr,Ue);var Pr="",Mr=/^https?$/i,xr=["POST","PUT"];function Ur(t,e){t.h=!1,t.g&&(t.l=!0,t.g.abort(),t.l=!1),t.j=e,t.m=5,Fr(t),qr(t)}function Fr(t){t.D||(t.D=!0,Fe(t,"complete"),Fe(t,"error"))}function Vr(t){if(t.h&&void 0!==St&&(!t.C[1]||4!=Br(t)||2!=t.aa()))if(t.v&&4==Br(t))Ze(t.Ha,0,t);else if(Fe(t,"readystatechange"),4==Br(t)){t.h=!1;try{var e,n=t.aa();t:switch(n){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var r=!0;break t;default:r=!1}if(!(e=r)){var s;if(s=0===n){var i=String(t.H).match(Kn)[1]||null;if(!i&&Ct.self&&Ct.self.location){var o=Ct.self.location.protocol;i=o.substr(0,o.length-1)}s=!Mr.test(i?i.toLowerCase():"")}e=s}if(e)Fe(t,"complete"),Fe(t,"success");else{t.m=6;try{var a=2<Br(t)?t.g.statusText:""}catch(t){a=""}t.j=a+" ["+t.aa()+"]",Fr(t)}}finally{qr(t)}}}function qr(t,e){if(t.g){jr(t);var n=t.g,r=t.C[0]?kt:null;t.g=null,t.C=null,e||Fe(t,"ready");try{n.onreadystatechange=r}catch(t){}}}function jr(t){t.g&&t.K&&(t.g.ontimeout=null),t.A&&(Ct.clearTimeout(t.A),t.A=null)}function Br(t){return t.g?t.g.readyState:0}function zr(t){try{if(!t.g)return null;if("response"in t.g)return t.g.response;switch(t.J){case Pr:case"text":return t.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in t.g)return t.g.mozResponseArrayBuffer}return null}catch(t){return null}}function $r(t){var e="";return ve(t,(function(t,n){e+=n,e+=":",e+=t,e+="\r\n"})),e}function Kr(t,e,n){t:{for(r in n){var r=!1;break t}r=!0}r||(n=$r(n),"string"==typeof t?null!=n&&encodeURIComponent(String(n)):Xn(t,e,n))}function Hr(t,e,n){return n&&n.internalChannelParams&&n.internalChannelParams[t]||e}function Gr(t){this.Ca=0,this.i=[],this.j=new an,this.ka=this.sa=this.F=this.V=this.g=this.za=this.D=this.ia=this.o=this.S=this.s=null,this.ab=this.U=0,this.Za=Hr("failFast",!1,t),this.L=this.v=this.u=this.m=this.l=null,this.Y=!0,this.pa=this.Ba=this.T=-1,this.Z=this.A=this.C=0,this.Xa=Hr("baseRetryDelayMs",5e3,t),this.bb=Hr("retryDelaySeedMs",1e4,t),this.$a=Hr("forwardChannelMaxRetries",2,t),this.ta=Hr("forwardChannelRequestTimeoutMs",2e4,t),this.ra=t&&t.xmlHttpFactory||void 0,this.Da=t&&t.Zb||!1,this.J=void 0,this.H=t&&t.supportsCrossDomainXhr||!1,this.I="",this.h=new pr(t&&t.concurrentRequestLimit),this.Fa=new Er,this.O=t&&t.fastHandshake||!1,this.N=t&&t.encodeInitMessageHeaders||!1,this.O&&this.N&&(this.N=!1),this.Ya=t&&t.Xb||!1,t&&t.Aa&&this.j.Aa(),t&&t.forceLongPolling&&(this.Y=!1),this.$=!this.O&&this.Y&&t&&t.detectBufferingProxy||!1,this.ja=void 0,this.P=0,this.K=!1,this.la=this.B=null}function Wr(t){if(Yr(t),3==t.G){var e=t.U++,n=Gn(t.F);Xn(n,"SID",t.I),Xn(n,"RID",e),Xn(n,"TYPE","terminate"),Zr(t,n),(e=new An(t,t.j,e,void 0)).K=2,e.v=Jn(Gn(n)),n=!1,Ct.navigator&&Ct.navigator.sendBeacon&&(n=Ct.navigator.sendBeacon(e.v.toString(),"")),!n&&Ct.Image&&((new Image).src=e.v,n=!0),n||(e.g=ls(e.l,null),e.g.da(e.v)),e.F=Date.now(),Fn(e)}us(t)}function Qr(t){t.g&&(rs(t),t.g.cancel(),t.g=null)}function Yr(t){Qr(t),t.u&&(Ct.clearTimeout(t.u),t.u=null),is(t),t.h.cancel(),t.m&&("number"==typeof t.m&&Ct.clearTimeout(t.m),t.m=null)}function Xr(t){mr(t.h)||t.m||(t.m=!0,Ge(t.Ja,t),t.C=0)}function Jr(t,e){var n;n=e?e.m:t.U++;var r=Gn(t.F);Xn(r,"SID",t.I),Xn(r,"RID",n),Xn(r,"AID",t.T),Zr(t,r),t.o&&t.s&&Kr(r,t.o,t.s),n=new An(t,t.j,n,t.C+1),null===t.o&&(n.H=t.s),e&&(t.i=e.D.concat(t.i)),e=ts(t,n,1e3),n.setTimeout(Math.round(.5*t.ta)+Math.round(.5*t.ta*Math.random())),wr(t.h,n),Ln(n,r,e)}function Zr(t,e){t.ia&&ve(t.ia,(function(t,n){Xn(e,n,t)})),t.l&&$n({},(function(t,n){Xn(e,n,t)}))}function ts(t,e,n){n=Math.min(t.i.length,n);var r=t.l?Pt(t.l.Ra,t.l,t):null;t:for(var s=t.i,i=-1;;){var o=["count="+n];-1==i?0<n?(i=s[0].h,o.push("ofs="+i)):i=0:o.push("ofs="+i);for(var a=!0,c=0;c<n;c++){var u=s[c].h,h=s[c].g;if(0>(u-=i))i=Math.max(0,s[c].h-100),a=!1;else try{_r(h,o,"req"+u+"_")}catch(t){r&&r(h)}}if(a){r=o.join("&");break t}}return t=t.i.splice(0,n),e.D=t,r}function es(t){t.g||t.u||(t.Z=1,Ge(t.Ia,t),t.A=0)}function ns(t){return!(t.g||t.u||3<=t.A)&&(t.Z++,t.u=yn(Pt(t.Ia,t),as(t,t.A)),t.A++,!0)}function rs(t){null!=t.B&&(Ct.clearTimeout(t.B),t.B=null)}function ss(t){t.g=new An(t,t.j,"rpc",t.Z),null===t.o&&(t.g.H=t.s),t.g.N=0;var e=Gn(t.sa);Xn(e,"RID","rpc"),Xn(e,"SID",t.I),Xn(e,"CI",t.L?"0":"1"),Xn(e,"AID",t.T),Xn(e,"TYPE","xmlhttp"),Zr(t,e),t.o&&t.s&&Kr(e,t.o,t.s),t.J&&t.g.setTimeout(t.J);var n=t.g;t=t.ka,n.K=1,n.v=Jn(Gn(e)),n.s=null,n.P=!0,Pn(n,t)}function is(t){null!=t.v&&(Ct.clearTimeout(t.v),t.v=null)}function os(t,e){var n=null;if(t.g==e){is(t),rs(t),t.g=null;var r=2}else{if(!vr(t.h,e))return;n=e.D,Ir(t.h,e),r=1}if(0!=t.G)if(t.pa=e.Y,e.i)if(1==r){n=e.s?e.s.length:0,e=Date.now()-e.F;var s=t.C;Fe(r=ln(),new mn(r,n)),Xr(t)}else es(t);else if(3==(s=e.o)||0==s&&0<t.pa||!(1==r&&function(t,e){return!(yr(t.h)>=t.h.j-(t.m?1:0)||(t.m?(t.i=e.D.concat(t.i),0):1==t.G||2==t.G||t.C>=(t.Za?0:t.$a)||(t.m=yn(Pt(t.Ja,t,e),as(t,t.C)),t.C++,0)))}(t,e)||2==r&&ns(t)))switch(n&&0<n.length&&(e=t.h,e.i=e.i.concat(n)),s){case 1:cs(t,5);break;case 4:cs(t,10);break;case 3:cs(t,6);break;default:cs(t,2)}}function as(t,e){var n=t.Xa+Math.floor(Math.random()*t.bb);return t.l||(n*=2),n*e}function cs(t,e){if(t.j.info("Error code "+e),2==e){var n=null;t.l&&(n=null);var r=Pt(t.kb,t);n||(n=new Hn("//www.google.com/images/cleardot.gif"),Ct.location&&"http"==Ct.location.protocol||Wn(n,"https"),Jn(n)),function(t,e){var n=new an;if(Ct.Image){var r=new Image;r.onload=Mt(Sr,n,r,"TestLoadImage: loaded",!0,e),r.onerror=Mt(Sr,n,r,"TestLoadImage: error",!1,e),r.onabort=Mt(Sr,n,r,"TestLoadImage: abort",!1,e),r.ontimeout=Mt(Sr,n,r,"TestLoadImage: timeout",!1,e),Ct.setTimeout((function(){r.ontimeout&&r.ontimeout()}),1e4),r.src=t}else e(!1)}(n.toString(),r)}else gn(2);t.G=0,t.l&&t.l.va(e),us(t),Yr(t)}function us(t){if(t.G=0,t.la=[],t.l){var e=br(t.h);0==e.length&&0==t.i.length||(qt(t.la,e),qt(t.la,t.i),t.h.i.length=0,Vt(t.i),t.i.length=0),t.l.ua()}}function hs(t,e,n){var r=n instanceof Hn?Gn(n):new Hn(n,void 0);if(""!=r.g)e&&(r.g=e+"."+r.g),Qn(r,r.m);else{var s=Ct.location;r=s.protocol,e=e?e+"."+s.hostname:s.hostname,s=+s.port;var i=new Hn(null,void 0);r&&Wn(i,r),e&&(i.g=e),s&&Qn(i,s),n&&(i.l=n),r=i}return n=t.D,e=t.za,n&&e&&Xn(r,n,e),Xn(r,"VER",t.ma),Zr(t,r),r}function ls(t,e,n){if(e&&!t.H)throw Error("Can't create secondary domain capable XhrIo object.");return(e=n&&t.Da&&!t.ra?new Lr(new Cr({jb:!0})):new Lr(t.ra)).Ka(t.H),e}function ds(){}function fs(){if(Jt&&!(10<=Number(le)))throw Error("Environmental error: no available transport.")}function ps(t,e){Ue.call(this),this.g=new Gr(e),this.l=t,this.h=e&&e.messageUrlParams||null,t=e&&e.messageHeaders||null,e&&e.clientProtocolHeaderRequired&&(t?t["X-Client-Protocol"]="webchannel":t={"X-Client-Protocol":"webchannel"}),this.g.s=t,t=e&&e.initMessageHeaders||null,e&&e.messageContentType&&(t?t["X-WebChannel-Content-Type"]=e.messageContentType:t={"X-WebChannel-Content-Type":e.messageContentType}),e&&e.ya&&(t?t["X-WebChannel-Client-Profile"]=e.ya:t={"X-WebChannel-Client-Profile":e.ya}),this.g.S=t,(t=e&&e.Yb)&&!zt(t)&&(this.g.o=t),this.A=e&&e.supportsCrossDomainXhr||!1,this.v=e&&e.sendRawJson||!1,(e=e&&e.httpSessionIdParam)&&!zt(e)&&(this.g.D=e,null!==(t=this.h)&&e in t&&(e in(t=this.h)&&delete t[e])),this.j=new ys(this)}function gs(t){Sn.call(this);var e=t.__sm__;if(e){t:{for(var n in e){t=n;break t}t=void 0}(this.i=t)&&(t=this.i,e=null!==e&&t in e?e[t]:void 0),this.data=e}else this.data=t}function ms(){Cn.call(this),this.status=1}function ys(t){this.g=t}(Et=Lr.prototype).Ka=function(t){this.L=t},Et.da=function(t,e,n,r){var s,i,o,a;if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.H+"; newUri="+t);e=e?e.toUpperCase():"GET",this.H=t,this.j="",this.m=0,this.D=!1,this.h=!0,this.g=this.u?this.u.g():En.g(),this.C=this.u?bn(this.u):bn(En),this.g.onreadystatechange=Pt(this.Ha,this);try{this.F=!0,this.g.open(e,String(t),!0),this.F=!1}catch(l){return void Ur(this,l)}if(t=n||"",n=new Map(this.headers),r)if(Object.getPrototypeOf(r)===Object.prototype)for(var c in r)n.set(c,r[c]);else{if("function"!=typeof r.keys||"function"!=typeof r.get)throw Error("Unknown input type for opt_headers: "+String(r));try{for(var u=bt(r.keys()),h=u.next();!h.done;h=u.next()){var l=h.value;n.set(l,r.get(l))}}catch(t){s={error:t}}finally{try{h&&!h.done&&(i=u.return)&&i.call(u)}finally{if(s)throw s.error}}}r=Array.from(n.keys()).find((function(t){return"content-type"==t.toLowerCase()})),c=Ct.FormData&&t instanceof Ct.FormData,!(0<=Ft(xr,e))||r||c||n.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");try{for(var d=bt(n),f=d.next();!f.done;f=d.next()){var p=Tt(f.value,2),g=(l=p[0],p[1]);this.g.setRequestHeader(l,g)}}catch(t){o={error:t}}finally{try{f&&!f.done&&(a=d.return)&&a.call(d)}finally{if(o)throw o.error}}this.J&&(this.g.responseType=this.J),"withCredentials"in this.g&&this.g.withCredentials!==this.L&&(this.g.withCredentials=this.L);try{jr(this),0<this.B&&((this.K=function(t){return Jt&&ue()&&"number"==typeof t.timeout&&void 0!==t.ontimeout}(this.g))?(this.g.timeout=this.B,this.g.ontimeout=Pt(this.qa,this)):this.A=Ze(this.qa,this.B,this)),this.v=!0,this.g.send(t),this.v=!1}catch(l){Ur(this,l)}},Et.qa=function(){void 0!==St&&this.g&&(this.j="Timed out after "+this.B+"ms, aborting",this.m=8,Fe(this,"timeout"),this.abort(8))},Et.abort=function(t){this.g&&this.h&&(this.h=!1,this.l=!0,this.g.abort(),this.l=!1,this.m=t||7,Fe(this,"complete"),Fe(this,"abort"),qr(this))},Et.M=function(){this.g&&(this.h&&(this.h=!1,this.l=!0,this.g.abort(),this.l=!1),qr(this,!0)),Lr.X.M.call(this)},Et.Ha=function(){this.s||(this.F||this.v||this.l?Vr(this):this.fb())},Et.fb=function(){Vr(this)},Et.aa=function(){try{return 2<Br(this)?this.g.status:-1}catch(t){return-1}},Et.fa=function(){try{return this.g?this.g.responseText:""}catch(t){return""}},Et.Sa=function(t){if(this.g){var e=this.g.responseText;return t&&0==e.indexOf(t)&&(e=e.substring(t.length)),Or(e)}},Et.Ea=function(){return this.m},Et.Oa=function(){return"string"==typeof this.j?this.j:String(this.j)},(Et=Gr.prototype).ma=8,Et.G=1,Et.Ja=function(t){if(this.m)if(this.m=null,1==this.G){if(!t){this.U=Math.floor(1e5*Math.random()),t=this.U++;var e=new An(this,this.j,t,void 0),n=this.s;if(this.S&&(n?be(n=we(n),this.S):n=this.S),null!==this.o||this.N||(e.H=n,n=null),this.O)t:{for(var r=0,s=0;s<this.i.length;s++){var i=this.i[s];if(void 0===(i="__data__"in i.g&&"string"==typeof(i=i.g.__data__)?i.length:void 0))break;if(4096<(r+=i)){r=s;break t}if(4096===r||s===this.i.length-1){r=s+1;break t}}r=1e3}else r=1e3;r=ts(this,e,r),Xn(s=Gn(this.F),"RID",t),Xn(s,"CVER",22),this.D&&Xn(s,"X-HTTP-Session-Id",this.D),Zr(this,s),n&&(this.N?r="headers="+encodeURIComponent(String($r(n)))+"&"+r:this.o&&Kr(s,this.o,n)),wr(this.h,e),this.Ya&&Xn(s,"TYPE","init"),this.O?(Xn(s,"$req",r),Xn(s,"SID","null"),e.Z=!0,Ln(e,s,null)):Ln(e,s,r),this.G=2}}else 3==this.G&&(t?Jr(this,t):0==this.i.length||mr(this.h)||Jr(this))},Et.Ia=function(){if(this.u=null,ss(this),this.$&&!(this.K||null==this.g||0>=this.P)){var t=2*this.P;this.j.info("BP detection timer enabled: "+t),this.B=yn(Pt(this.eb,this),t)}},Et.eb=function(){this.B&&(this.B=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.L=!1,this.K=!0,gn(10),Qr(this),ss(this))},Et.cb=function(){null!=this.v&&(this.v=null,Qr(this),ns(this),gn(19))},Et.kb=function(t){t?(this.j.info("Successfully pinged google.com"),gn(2)):(this.j.info("Failed to ping google.com"),gn(1))},(Et=ds.prototype).xa=function(){},Et.wa=function(){},Et.va=function(){},Et.ua=function(){},Et.Ra=function(){},fs.prototype.g=function(t,e){return new ps(t,e)},xt(ps,Ue),ps.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.H=!0);var t=this.g,e=this.l,n=this.h||void 0;gn(0),t.V=e,t.ia=n||{},t.L=t.Y,t.F=hs(t,null,t.V),Xr(t)},ps.prototype.close=function(){Wr(this.g)},ps.prototype.u=function(t){var e=this.g;if("string"==typeof t){var n={};n.__data__=t,t=n}else this.v&&((n={}).__data__=qe(t),t=n);e.i.push(new fr(e.ab++,t)),3==e.G&&Xr(e)},ps.prototype.M=function(){this.g.l=null,delete this.j,Wr(this.g),delete this.g,ps.X.M.call(this)},xt(gs,Sn),xt(ms,Cn),xt(ys,ds),ys.prototype.xa=function(){Fe(this.g,"a")},ys.prototype.wa=function(t){Fe(this.g,new gs(t))},ys.prototype.va=function(t){Fe(this.g,new ms)},ys.prototype.ua=function(){Fe(this.g,"b")},fs.prototype.createWebChannel=fs.prototype.g,ps.prototype.send=ps.prototype.u,ps.prototype.open=ps.prototype.m,ps.prototype.close=ps.prototype.close,vn.NO_ERROR=0,vn.TIMEOUT=8,vn.HTTP_ERROR=6,wn.COMPLETE="complete",Tn.EventType=_n,_n.OPEN="a",_n.CLOSE="b",_n.ERROR="c",_n.MESSAGE="d",Ue.prototype.listen=Ue.prototype.N,Lr.prototype.listenOnce=Lr.prototype.O,Lr.prototype.getLastError=Lr.prototype.Oa,Lr.prototype.getLastErrorCode=Lr.prototype.Ea,Lr.prototype.getStatus=Lr.prototype.aa,Lr.prototype.getResponseJson=Lr.prototype.Sa,Lr.prototype.getResponseText=Lr.prototype.fa,Lr.prototype.send=Lr.prototype.da,Lr.prototype.setWithCredentials=Lr.prototype.Ka;var vs=vn,ws=wn,Is=un,bs=10,Ts=11,Es=Cr,_s=Tn,Ss=Lr;const Cs="@firebase/firestore";
|
|
314
|
+
*/var we;we="",ne(new b("platform-logger",(e=>new G(e)),"PRIVATE")),ne(new b("heartbeat",(e=>new ge(e)),"PRIVATE")),ue(W,Q,we),ue(W,Q,"esm2017"),ue("fire-js","");var Ie=function(e,t){return Ie=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Ie(e,t)};function be(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Te(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,s,i=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(e){s={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(s)throw s.error}}return o}var Ee,_e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Se=Se||{},Ce=_e||self;function ke(){}function Ae(e){var t=typeof e;return"array"==(t="object"!=t?t:e?Array.isArray(e)?"array":t:"null")||"object"==t&&"number"==typeof e.length}function Ne(e){var t=typeof e;return"object"==t&&null!=e||"function"==t}var De="closure_uid_"+(1e9*Math.random()>>>0),Re=0;function Oe(e,t,n){return e.call.apply(e.bind,arguments)}function Le(e,t,n){if(!e)throw Error();if(2<arguments.length){var r=Array.prototype.slice.call(arguments,2);return function(){var n=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(n,r),e.apply(t,n)}}return function(){return e.apply(t,arguments)}}function Pe(e,t,n){return(Pe=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?Oe:Le).apply(null,arguments)}function Me(e,t){var n=Array.prototype.slice.call(arguments,1);return function(){var t=n.slice();return t.push.apply(t,arguments),e.apply(this,t)}}function xe(e,t){function n(){}n.prototype=t.prototype,e.X=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.Wb=function(e,n,r){for(var s=Array(arguments.length-2),i=2;i<arguments.length;i++)s[i-2]=arguments[i];return t.prototype[n].apply(e,s)}}function Ue(){this.s=this.s,this.o=this.o}Ue.prototype.s=!1,Ue.prototype.na=function(){var e;!this.s&&(this.s=!0,this.M(),0)&&(e=this,Object.prototype.hasOwnProperty.call(e,De)&&e[De]||(e[De]=++Re))},Ue.prototype.M=function(){if(this.o)for(;this.o.length;)this.o.shift()()};var Fe=Array.prototype.indexOf?function(e,t){return Array.prototype.indexOf.call(e,t,void 0)}:function(e,t){if("string"==typeof e)return"string"!=typeof t||1!=t.length?-1:e.indexOf(t,0);for(var n=0;n<e.length;n++)if(n in e&&e[n]===t)return n;return-1};function Ve(e){var t=e.length;if(0<t){for(var n=Array(t),r=0;r<t;r++)n[r]=e[r];return n}return[]}function qe(e,t){for(var n=1;n<arguments.length;n++){var r=arguments[n];if(Ae(r)){var s=e.length||0,i=r.length||0;e.length=s+i;for(var o=0;o<i;o++)e[s+o]=r[o]}else e.push(r)}}function je(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}je.prototype.h=function(){this.defaultPrevented=!0};var Be=function(){if(!Ce.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{Ce.addEventListener("test",ke,t),Ce.removeEventListener("test",ke,t)}catch(e){}return e}();function ze(e){return/^[\s\xa0]*$/.test(e)}var $e=String.prototype.trim?function(e){return e.trim()}:function(e){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(e)[1]};function Ke(e,t){return e<t?-1:e>t?1:0}function He(){var e=Ce.navigator;return e&&(e=e.userAgent)?e:""}function Ge(e){return-1!=He().indexOf(e)}function We(e){return We[" "](e),e}We[" "]=ke;var Qe,Ye,Xe=Ge("Opera"),Je=Ge("Trident")||Ge("MSIE"),Ze=Ge("Edge"),et=Ze||Je,tt=Ge("Gecko")&&!(-1!=He().toLowerCase().indexOf("webkit")&&!Ge("Edge"))&&!(Ge("Trident")||Ge("MSIE"))&&!Ge("Edge"),nt=-1!=He().toLowerCase().indexOf("webkit")&&!Ge("Edge");function rt(){var e=Ce.document;return e?e.documentMode:void 0}e:{var st="",it=(Ye=He(),tt?/rv:([^\);]+)(\)|;)/.exec(Ye):Ze?/Edge\/([\d\.]+)/.exec(Ye):Je?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(Ye):nt?/WebKit\/(\S+)/.exec(Ye):Xe?/(?:Version)[ \/]?(\S+)/.exec(Ye):void 0);if(it&&(st=it?it[1]:""),Je){var ot=rt();if(null!=ot&&ot>parseFloat(st)){Qe=String(ot);break e}}Qe=st}var at,ct={};function ut(){return function(e){var t=ct;return Object.prototype.hasOwnProperty.call(t,9)?t[9]:t[9]=e(9)}((function(){for(var e=0,t=$e(String(Qe)).split("."),n=$e("9").split("."),r=Math.max(t.length,n.length),s=0;0==e&&s<r;s++){var i=t[s]||"",o=n[s]||"";do{if(i=/(\d*)(\D*)(.*)/.exec(i)||["","","",""],o=/(\d*)(\D*)(.*)/.exec(o)||["","","",""],0==i[0].length&&0==o[0].length)break;e=Ke(0==i[1].length?0:parseInt(i[1],10),0==o[1].length?0:parseInt(o[1],10))||Ke(0==i[2].length,0==o[2].length)||Ke(i[2],o[2]),i=i[3],o=o[3]}while(0==e)}return 0<=e}))}if(Ce.document&&Je){var ht=rt();at=ht||(parseInt(Qe,10)||void 0)}else at=void 0;var lt=at;function dt(e,t){if(je.call(this,e?e.type:""),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.i=null,e){var n=this.type=e.type,r=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;if(this.target=e.target||e.srcElement,this.g=t,t=e.relatedTarget){if(tt){e:{try{We(t.nodeName);var s=!0;break e}catch(e){}s=!1}s||(t=null)}}else"mouseover"==n?t=e.fromElement:"mouseout"==n&&(t=e.toElement);this.relatedTarget=t,r?(this.clientX=void 0!==r.clientX?r.clientX:r.pageX,this.clientY=void 0!==r.clientY?r.clientY:r.pageY,this.screenX=r.screenX||0,this.screenY=r.screenY||0):(this.clientX=void 0!==e.clientX?e.clientX:e.pageX,this.clientY=void 0!==e.clientY?e.clientY:e.pageY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.key=e.key||"",this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.pointerId=e.pointerId||0,this.pointerType="string"==typeof e.pointerType?e.pointerType:ft[e.pointerType]||"",this.state=e.state,this.i=e,e.defaultPrevented&&dt.X.h.call(this)}}xe(dt,je);var ft={2:"touch",3:"pen",4:"mouse"};dt.prototype.h=function(){dt.X.h.call(this);var e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var pt="closure_listenable_"+(1e6*Math.random()|0),gt=0;function mt(e,t,n,r,s){this.listener=e,this.proxy=null,this.src=t,this.type=n,this.capture=!!r,this.ha=s,this.key=++gt,this.ba=this.ea=!1}function yt(e){e.ba=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function vt(e,t,n){for(var r in e)t.call(n,e[r],r,e)}function wt(e){var t={};for(var n in e)t[n]=e[n];return t}var It="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function bt(e,t){for(var n,r,s=1;s<arguments.length;s++){for(n in r=arguments[s])e[n]=r[n];for(var i=0;i<It.length;i++)n=It[i],Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}}function Tt(e){this.src=e,this.g={},this.h=0}function Et(e,t){var n=t.type;if(n in e.g){var r,s=e.g[n],i=Fe(s,t);(r=0<=i)&&Array.prototype.splice.call(s,i,1),r&&(yt(t),0==e.g[n].length&&(delete e.g[n],e.h--))}}function _t(e,t,n,r){for(var s=0;s<e.length;++s){var i=e[s];if(!i.ba&&i.listener==t&&i.capture==!!n&&i.ha==r)return s}return-1}Tt.prototype.add=function(e,t,n,r,s){var i=e.toString();(e=this.g[i])||(e=this.g[i]=[],this.h++);var o=_t(e,t,r,s);return-1<o?(t=e[o],n||(t.ea=!1)):((t=new mt(t,this.src,i,!!r,s)).ea=n,e.push(t)),t};var St="closure_lm_"+(1e6*Math.random()|0),Ct={};function kt(e,t,n,r,s){if(r&&r.once)return Nt(e,t,n,r,s);if(Array.isArray(t)){for(var i=0;i<t.length;i++)kt(e,t[i],n,r,s);return null}return n=xt(n),e&&e[pt]?e.N(t,n,Ne(r)?!!r.capture:!!r,s):At(e,t,n,!1,r,s)}function At(e,t,n,r,s,i){if(!t)throw Error("Invalid event type");var o=Ne(s)?!!s.capture:!!s,a=Pt(e);if(a||(e[St]=a=new Tt(e)),(n=a.add(t,n,r,o,i)).proxy)return n;if(r=function(){function e(n){return t.call(e.src,e.listener,n)}var t=Lt;return e}(),n.proxy=r,r.src=e,r.listener=n,e.addEventListener)Be||(s=o),void 0===s&&(s=!1),e.addEventListener(t.toString(),r,s);else if(e.attachEvent)e.attachEvent(Ot(t.toString()),r);else{if(!e.addListener||!e.removeListener)throw Error("addEventListener and attachEvent are unavailable.");e.addListener(r)}return n}function Nt(e,t,n,r,s){if(Array.isArray(t)){for(var i=0;i<t.length;i++)Nt(e,t[i],n,r,s);return null}return n=xt(n),e&&e[pt]?e.O(t,n,Ne(r)?!!r.capture:!!r,s):At(e,t,n,!0,r,s)}function Dt(e,t,n,r,s){if(Array.isArray(t))for(var i=0;i<t.length;i++)Dt(e,t[i],n,r,s);else r=Ne(r)?!!r.capture:!!r,n=xt(n),e&&e[pt]?(e=e.i,(t=String(t).toString())in e.g&&(-1<(n=_t(i=e.g[t],n,r,s))&&(yt(i[n]),Array.prototype.splice.call(i,n,1),0==i.length&&(delete e.g[t],e.h--)))):e&&(e=Pt(e))&&(t=e.g[t.toString()],e=-1,t&&(e=_t(t,n,r,s)),(n=-1<e?t[e]:null)&&Rt(n))}function Rt(e){if("number"!=typeof e&&e&&!e.ba){var t=e.src;if(t&&t[pt])Et(t.i,e);else{var n=e.type,r=e.proxy;t.removeEventListener?t.removeEventListener(n,r,e.capture):t.detachEvent?t.detachEvent(Ot(n),r):t.addListener&&t.removeListener&&t.removeListener(r),(n=Pt(t))?(Et(n,e),0==n.h&&(n.src=null,t[St]=null)):yt(e)}}}function Ot(e){return e in Ct?Ct[e]:Ct[e]="on"+e}function Lt(e,t){if(e.ba)e=!0;else{t=new dt(t,this);var n=e.listener,r=e.ha||e.src;e.ea&&Rt(e),e=n.call(r,t)}return e}function Pt(e){return(e=e[St])instanceof Tt?e:null}var Mt="__closure_events_fn_"+(1e9*Math.random()>>>0);function xt(e){return"function"==typeof e?e:(e[Mt]||(e[Mt]=function(t){return e.handleEvent(t)}),e[Mt])}function Ut(){Ue.call(this),this.i=new Tt(this),this.P=this,this.I=null}function Ft(e,t){var n,r=e.I;if(r)for(n=[];r;r=r.I)n.push(r);if(e=e.P,r=t.type||t,"string"==typeof t)t=new je(t,e);else if(t instanceof je)t.target=t.target||e;else{var s=t;bt(t=new je(r,e),s)}if(s=!0,n)for(var i=n.length-1;0<=i;i--){var o=t.g=n[i];s=Vt(o,r,!0,t)&&s}if(s=Vt(o=t.g=e,r,!0,t)&&s,s=Vt(o,r,!1,t)&&s,n)for(i=0;i<n.length;i++)s=Vt(o=t.g=n[i],r,!1,t)&&s}function Vt(e,t,n,r){if(!(t=e.i.g[String(t)]))return!0;t=t.concat();for(var s=!0,i=0;i<t.length;++i){var o=t[i];if(o&&!o.ba&&o.capture==n){var a=o.listener,c=o.ha||o.src;o.ea&&Et(e.i,o),s=!1!==a.call(c,r)&&s}}return s&&!r.defaultPrevented}xe(Ut,Ue),Ut.prototype[pt]=!0,Ut.prototype.removeEventListener=function(e,t,n,r){Dt(this,e,t,n,r)},Ut.prototype.M=function(){if(Ut.X.M.call(this),this.i){var e,t=this.i;for(e in t.g){for(var n=t.g[e],r=0;r<n.length;r++)yt(n[r]);delete t.g[e],t.h--}}this.I=null},Ut.prototype.N=function(e,t,n,r){return this.i.add(String(e),t,!1,n,r)},Ut.prototype.O=function(e,t,n,r){return this.i.add(String(e),t,!0,n,r)};var qt=Ce.JSON.stringify;function jt(){var e=Qt,t=null;return e.g&&(t=e.g,e.g=e.g.next,e.g||(e.h=null),t.next=null),t}var Bt,zt=function(){function e(){this.h=this.g=null}return e.prototype.add=function(e,t){var n=$t.get();n.set(e,t),this.h?this.h.next=n:this.g=n,this.h=n},e}(),$t=new(function(){function e(e,t){this.i=e,this.j=t,this.h=0,this.g=null}return e.prototype.get=function(){var e;return 0<this.h?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e},e}())((function(){return new Kt}),(function(e){return e.reset()})),Kt=function(){function e(){this.next=this.g=this.h=null}return e.prototype.set=function(e,t){this.h=e,this.g=t,this.next=null},e.prototype.reset=function(){this.next=this.g=this.h=null},e}();function Ht(e){Ce.setTimeout((function(){throw e}),0)}function Gt(e,t){Bt||function(){var e=Ce.Promise.resolve(void 0);Bt=function(){e.then(Yt)}}(),Wt||(Bt(),Wt=!0),Qt.add(e,t)}var Wt=!1,Qt=new zt;function Yt(){for(var e;e=jt();){try{e.h.call(e.g)}catch(e){Ht(e)}var t=$t;t.j(e),100>t.h&&(t.h++,e.next=t.g,t.g=e)}Wt=!1}function Xt(e,t){Ut.call(this),this.h=e||1,this.g=t||Ce,this.j=Pe(this.lb,this),this.l=Date.now()}function Jt(e){e.ca=!1,e.R&&(e.g.clearTimeout(e.R),e.R=null)}function Zt(e,t,n){if("function"==typeof e)n&&(e=Pe(e,n));else{if(!e||"function"!=typeof e.handleEvent)throw Error("Invalid listener argument");e=Pe(e.handleEvent,e)}return 2147483647<Number(t)?-1:Ce.setTimeout(e,t||0)}function en(e){e.g=Zt((function(){e.g=null,e.i&&(e.i=!1,en(e))}),e.j);var t=e.h;e.h=null,e.m.apply(null,t)}xe(Xt,Ut),(Ee=Xt.prototype).ca=!1,Ee.R=null,Ee.lb=function(){if(this.ca){var e=Date.now()-this.l;0<e&&e<.8*this.h?this.R=this.g.setTimeout(this.j,this.h-e):(this.R&&(this.g.clearTimeout(this.R),this.R=null),Ft(this,"tick"),this.ca&&(Jt(this),this.start()))}},Ee.start=function(){this.ca=!0,this.R||(this.R=this.g.setTimeout(this.j,this.h),this.l=Date.now())},Ee.M=function(){Xt.X.M.call(this),Jt(this),delete this.g};var tn=function(e){function t(t,n){var r=e.call(this)||this;return r.m=t,r.j=n,r.h=null,r.i=!1,r.g=null,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}Ie(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t.prototype.l=function(e){this.h=arguments,this.g?this.i=!0:en(this)},t.prototype.M=function(){e.prototype.M.call(this),this.g&&(Ce.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)},t}(Ue);function nn(e){Ue.call(this),this.h=e,this.g={}}xe(nn,Ue);var rn=[];function sn(e,t,n,r){Array.isArray(n)||(n&&(rn[0]=n.toString()),n=rn);for(var s=0;s<n.length;s++){var i=kt(t,n[s],r||e.handleEvent,!1,e.h||e);if(!i)break;e.g[i.key]=i}}function on(e){vt(e.g,(function(e,t){this.g.hasOwnProperty(t)&&Rt(e)}),e),e.g={}}function an(){this.g=!0}function cn(e,t,n,r){e.info((function(){return"XMLHTTP TEXT ("+t+"): "+function(e,t){if(!e.g)return t;if(!t)return null;try{var n=JSON.parse(t);if(n)for(e=0;e<n.length;e++)if(Array.isArray(n[e])){var r=n[e];if(!(2>r.length)){var s=r[1];if(Array.isArray(s)&&!(1>s.length)){var i=s[0];if("noop"!=i&&"stop"!=i&&"close"!=i)for(var o=1;o<s.length;o++)s[o]=""}}}return qt(n)}catch(e){return t}}(e,n)+(r?" "+r:"")}))}nn.prototype.M=function(){nn.X.M.call(this),on(this)},nn.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")},an.prototype.Aa=function(){this.g=!1},an.prototype.info=function(){};var un={},hn=null;function ln(){return hn=hn||new Ut}function dn(e){je.call(this,un.Pa,e)}function fn(e){var t=ln();Ft(t,new dn(t))}function pn(e,t){je.call(this,un.STAT_EVENT,e),this.stat=t}function gn(e){var t=ln();Ft(t,new pn(t,e))}function mn(e,t){je.call(this,un.Qa,e),this.size=t}function yn(e,t){if("function"!=typeof e)throw Error("Fn must not be null and must be a function");return Ce.setTimeout((function(){e()}),t)}un.Pa="serverreachability",xe(dn,je),un.STAT_EVENT="statevent",xe(pn,je),un.Qa="timingevent",xe(mn,je);var vn={NO_ERROR:0,mb:1,zb:2,yb:3,tb:4,xb:5,Ab:6,Ma:7,TIMEOUT:8,Db:9},wn={rb:"complete",Nb:"success",Na:"error",Ma:"abort",Fb:"ready",Gb:"readystatechange",TIMEOUT:"timeout",Bb:"incrementaldata",Eb:"progress",ub:"downloadprogress",Vb:"uploadprogress"};function In(){}function bn(e){return e.h||(e.h=e.i())}function Tn(){}In.prototype.h=null;var En,_n={OPEN:"a",qb:"b",Na:"c",Cb:"d"};function Sn(){je.call(this,"d")}function Cn(){je.call(this,"c")}function kn(){}function An(e,t,n,r){this.l=e,this.j=t,this.m=n,this.U=r||1,this.S=new nn(this),this.O=Dn,e=et?125:void 0,this.T=new Xt(e),this.H=null,this.i=!1,this.s=this.A=this.v=this.K=this.F=this.V=this.B=null,this.D=[],this.g=null,this.C=0,this.o=this.u=null,this.Y=-1,this.I=!1,this.N=0,this.L=null,this.$=this.J=this.Z=this.P=!1,this.h=new Nn}function Nn(){this.i=null,this.g="",this.h=!1}xe(Sn,je),xe(Cn,je),xe(kn,In),kn.prototype.g=function(){return new XMLHttpRequest},kn.prototype.i=function(){return{}},En=new kn;var Dn=45e3,Rn={},On={};function Ln(e,t,n){e.K=1,e.v=Jn(Gn(t)),e.s=n,e.P=!0,Pn(e,null)}function Pn(e,t){e.F=Date.now(),Fn(e),e.A=Gn(e.v);var n=e.A,r=e.U;Array.isArray(r)||(r=[String(r)]),lr(n.i,"t",r),e.C=0,n=e.l.H,e.h=new Nn,e.g=ls(e.l,n?t:null,!e.s),0<e.N&&(e.L=new tn(Pe(e.La,e,e.g),e.N)),sn(e.S,e.g,"readystatechange",e.ib),t=e.H?wt(e.H):{},e.s?(e.u||(e.u="POST"),t["Content-Type"]="application/x-www-form-urlencoded",e.g.da(e.A,e.u,e.s,t)):(e.u="GET",e.g.da(e.A,e.u,null,t)),fn(),function(e,t,n,r,s,i){e.info((function(){if(e.g)if(i)for(var o="",a=i.split("&"),c=0;c<a.length;c++){var u=a[c].split("=");if(1<u.length){var h=u[0];u=u[1];var l=h.split("_");o=2<=l.length&&"type"==l[1]?o+(h+"=")+u+"&":o+(h+"=redacted&")}}else o=null;else o=i;return"XMLHTTP REQ ("+r+") [attempt "+s+"]: "+t+"\n"+n+"\n"+o}))}(e.j,e.u,e.A,e.m,e.U,e.s)}function Mn(e){return!!e.g&&("GET"==e.u&&2!=e.K&&e.l.Da)}function xn(e,t,n){for(var r,s=!0;!e.I&&e.C<n.length;){if((r=Un(e,n))==On){4==t&&(e.o=4,gn(14),s=!1),cn(e.j,e.m,null,"[Incomplete Response]");break}if(r==Rn){e.o=4,gn(15),cn(e.j,e.m,n,"[Invalid Chunk]"),s=!1;break}cn(e.j,e.m,r,null),zn(e,r)}Mn(e)&&r!=On&&r!=Rn&&(e.h.g="",e.C=0),4!=t||0!=n.length||e.h.h||(e.o=1,gn(16),s=!1),e.i=e.i&&s,s?0<n.length&&!e.$&&(e.$=!0,(t=e.l).g==e&&t.$&&!t.K&&(t.j.info("Great, no buffering proxy detected. Bytes received: "+n.length),rs(t),t.K=!0,gn(11))):(cn(e.j,e.m,n,"[Invalid Chunked Response]"),Bn(e),jn(e))}function Un(e,t){var n=e.C,r=t.indexOf("\n",n);return-1==r?On:(n=Number(t.substring(n,r)),isNaN(n)?Rn:(r+=1)+n>t.length?On:(t=t.substr(r,n),e.C=r+n,t))}function Fn(e){e.V=Date.now()+e.O,Vn(e,e.O)}function Vn(e,t){if(null!=e.B)throw Error("WatchDog timer not null");e.B=yn(Pe(e.gb,e),t)}function qn(e){e.B&&(Ce.clearTimeout(e.B),e.B=null)}function jn(e){0==e.l.G||e.I||os(e.l,e)}function Bn(e){qn(e);var t=e.L;t&&"function"==typeof t.na&&t.na(),e.L=null,Jt(e.T),on(e.S),e.g&&(t=e.g,e.g=null,t.abort(),t.na())}function zn(e,t){try{var n=e.l;if(0!=n.G&&(n.g==e||vr(n.h,e)))if(!e.J&&vr(n.h,e)&&3==n.G){try{var r=n.Fa.g.parse(t)}catch(i){r=null}if(Array.isArray(r)&&3==r.length){var s=r;if(0==s[0]){e:if(!n.u){if(n.g){if(!(n.g.F+3e3<e.F))break e;is(n),Qr(n)}ns(n),gn(18)}}else n.Ba=s[1],0<n.Ba-n.T&&37500>s[2]&&n.L&&0==n.A&&!n.v&&(n.v=yn(Pe(n.cb,n),6e3));if(1>=yr(n.h)&&n.ja){try{n.ja()}catch(i){}n.ja=void 0}}else cs(n,11)}else if((e.J||n.g==e)&&is(n),!ze(t))for(s=n.Fa.g.parse(t),t=0;t<s.length;t++){var i=s[t];if(n.T=i[0],i=i[1],2==n.G)if("c"==i[0]){n.I=i[1],n.ka=i[2];var o=i[3];null!=o&&(n.ma=o,n.j.info("VER="+n.ma));var a=i[4];null!=a&&(n.Ca=a,n.j.info("SVER="+n.Ca));var c=i[5];null!=c&&"number"==typeof c&&0<c&&(r=1.5*c,n.J=r,n.j.info("backChannelRequestTimeoutMs_="+r)),r=n;var u=e.g;if(u){var h=u.g?u.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(h){var l=r.h;l.g||-1==h.indexOf("spdy")&&-1==h.indexOf("quic")&&-1==h.indexOf("h2")||(l.j=l.l,l.g=new Set,l.h&&(wr(l,l.h),l.h=null))}if(r.D){var d=u.g?u.g.getResponseHeader("X-HTTP-Session-Id"):null;d&&(r.za=d,Xn(r.F,r.D,d))}}n.G=3,n.l&&n.l.xa(),n.$&&(n.P=Date.now()-e.F,n.j.info("Handshake RTT: "+n.P+"ms"));var f=e;if((r=n).sa=hs(r,r.H?r.ka:null,r.V),f.J){Ir(r.h,f);var p=f,g=r.J;g&&p.setTimeout(g),p.B&&(qn(p),Fn(p)),r.g=f}else ts(r);0<n.i.length&&Xr(n)}else"stop"!=i[0]&&"close"!=i[0]||cs(n,7);else 3==n.G&&("stop"==i[0]||"close"==i[0]?"stop"==i[0]?cs(n,7):Wr(n):"noop"!=i[0]&&n.l&&n.l.wa(i),n.A=0)}fn()}catch(i){}}function $n(e,t){if(e.forEach&&"function"==typeof e.forEach)e.forEach(t,void 0);else if(Ae(e)||"string"==typeof e)Array.prototype.forEach.call(e,t,void 0);else for(var n=function(e){if(e.oa&&"function"==typeof e.oa)return e.oa();if(!e.W||"function"!=typeof e.W){if("undefined"!=typeof Map&&e instanceof Map)return Array.from(e.keys());if(!("undefined"!=typeof Set&&e instanceof Set)){if(Ae(e)||"string"==typeof e){var t=[];e=e.length;for(var n=0;n<e;n++)t.push(n);return t}for(var r in t=[],n=0,e)t[n++]=r;return t}}}(e),r=function(e){if(e.W&&"function"==typeof e.W)return e.W();if("undefined"!=typeof Map&&e instanceof Map||"undefined"!=typeof Set&&e instanceof Set)return Array.from(e.values());if("string"==typeof e)return e.split("");if(Ae(e)){for(var t=[],n=e.length,r=0;r<n;r++)t.push(e[r]);return t}for(r in t=[],n=0,e)t[n++]=e[r];return t}(e),s=r.length,i=0;i<s;i++)t.call(void 0,r[i],n&&n[i],e)}(Ee=An.prototype).setTimeout=function(e){this.O=e},Ee.ib=function(e){e=e.target;var t=this.L;t&&3==Br(e)?t.l():this.La(e)},Ee.La=function(e){try{if(e==this.g)e:{var t=Br(this.g),n=this.g.Ea();this.g.aa();if(!(3>t)&&(3!=t||et||this.g&&(this.h.h||this.g.fa()||zr(this.g)))){this.I||4!=t||7==n||fn(),qn(this);var r=this.g.aa();this.Y=r;t:if(Mn(this)){var s=zr(this.g);e="";var i=s.length,o=4==Br(this.g);if(!this.h.i){if("undefined"==typeof TextDecoder){Bn(this),jn(this);var a="";break t}this.h.i=new Ce.TextDecoder}for(n=0;n<i;n++)this.h.h=!0,e+=this.h.i.decode(s[n],{stream:o&&n==i-1});s.splice(0,i),this.h.g+=e,this.C=0,a=this.h.g}else a=this.g.fa();if(this.i=200==r,function(e,t,n,r,s,i,o){e.info((function(){return"XMLHTTP RESP ("+r+") [ attempt "+s+"]: "+t+"\n"+n+"\n"+i+" "+o}))}(this.j,this.u,this.A,this.m,this.U,t,r),this.i){if(this.Z&&!this.J){t:{if(this.g){var c,u=this.g;if((c=u.g?u.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!ze(c)){var h=c;break t}}h=null}if(!(r=h)){this.i=!1,this.o=3,gn(12),Bn(this),jn(this);break e}cn(this.j,this.m,r,"Initial handshake response via X-HTTP-Initial-Response"),this.J=!0,zn(this,r)}this.P?(xn(this,t,a),et&&this.i&&3==t&&(sn(this.S,this.T,"tick",this.hb),this.T.start())):(cn(this.j,this.m,a,null),zn(this,a)),4==t&&Bn(this),this.i&&!this.I&&(4==t?os(this.l,this):(this.i=!1,Fn(this)))}else 400==r&&0<a.indexOf("Unknown SID")?(this.o=3,gn(12)):(this.o=0,gn(13)),Bn(this),jn(this)}}}catch(t){}},Ee.hb=function(){if(this.g){var e=Br(this.g),t=this.g.fa();this.C<t.length&&(qn(this),xn(this,e,t),this.i&&4!=e&&Fn(this))}},Ee.cancel=function(){this.I=!0,Bn(this)},Ee.gb=function(){this.B=null;var e=Date.now();0<=e-this.V?(function(e,t){e.info((function(){return"TIMEOUT: "+t}))}(this.j,this.A),2!=this.K&&(fn(),gn(17)),Bn(this),this.o=2,jn(this)):Vn(this,this.V-e)};var Kn=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function Hn(e,t){if(this.g=this.s=this.j="",this.m=null,this.o=this.l="",this.h=!1,e instanceof Hn){this.h=void 0!==t?t:e.h,Wn(this,e.j),this.s=e.s,this.g=e.g,Qn(this,e.m),this.l=e.l,t=e.i;var n=new ar;n.i=t.i,t.g&&(n.g=new Map(t.g),n.h=t.h),Yn(this,n),this.o=e.o}else e&&(n=String(e).match(Kn))?(this.h=!!t,Wn(this,n[1]||"",!0),this.s=Zn(n[2]||""),this.g=Zn(n[3]||"",!0),Qn(this,n[4]),this.l=Zn(n[5]||"",!0),Yn(this,n[6]||"",!0),this.o=Zn(n[7]||"")):(this.h=!!t,this.i=new ar(null,this.h))}function Gn(e){return new Hn(e)}function Wn(e,t,n){e.j=n?Zn(t,!0):t,e.j&&(e.j=e.j.replace(/:$/,""))}function Qn(e,t){if(t){if(t=Number(t),isNaN(t)||0>t)throw Error("Bad port number "+t);e.m=t}else e.m=null}function Yn(e,t,n){t instanceof ar?(e.i=t,function(e,t){t&&!e.j&&(cr(e),e.i=null,e.g.forEach((function(e,t){var n=t.toLowerCase();t!=n&&(ur(this,t),lr(this,n,e))}),e)),e.j=t}(e.i,e.h)):(n||(t=er(t,ir)),e.i=new ar(t,e.h))}function Xn(e,t,n){e.i.set(t,n)}function Jn(e){return Xn(e,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),e}function Zn(e,t){return e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):""}function er(e,t,n){return"string"==typeof e?(e=encodeURI(e).replace(t,tr),n&&(e=e.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),e):null}function tr(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)}Hn.prototype.toString=function(){var e=[],t=this.j;t&&e.push(er(t,nr,!0),":");var n=this.g;return(n||"file"==t)&&(e.push("//"),(t=this.s)&&e.push(er(t,nr,!0),"@"),e.push(encodeURIComponent(String(n)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null!=(n=this.m)&&e.push(":",String(n))),(n=this.l)&&(this.g&&"/"!=n.charAt(0)&&e.push("/"),e.push(er(n,"/"==n.charAt(0)?sr:rr,!0))),(n=this.i.toString())&&e.push("?",n),(n=this.o)&&e.push("#",er(n,or)),e.join("")};var nr=/[#\/\?@]/g,rr=/[#\?:]/g,sr=/[#\?]/g,ir=/[#\?@]/g,or=/#/g;function ar(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function cr(e){e.g||(e.g=new Map,e.h=0,e.i&&function(e,t){if(e){e=e.split("&");for(var n=0;n<e.length;n++){var r=e[n].indexOf("="),s=null;if(0<=r){var i=e[n].substring(0,r);s=e[n].substring(r+1)}else i=e[n];t(i,s?decodeURIComponent(s.replace(/\+/g," ")):"")}}}(e.i,(function(t,n){e.add(decodeURIComponent(t.replace(/\+/g," ")),n)})))}function ur(e,t){cr(e),t=dr(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function hr(e,t){return cr(e),t=dr(e,t),e.g.has(t)}function lr(e,t,n){ur(e,t),0<n.length&&(e.i=null,e.g.set(dr(e,t),Ve(n)),e.h+=n.length)}function dr(e,t){return t=String(t),e.j&&(t=t.toLowerCase()),t}(Ee=ar.prototype).add=function(e,t){cr(this),this.i=null,e=dr(this,e);var n=this.g.get(e);return n||this.g.set(e,n=[]),n.push(t),this.h+=1,this},Ee.forEach=function(e,t){cr(this),this.g.forEach((function(n,r){n.forEach((function(n){e.call(t,n,r,this)}),this)}),this)},Ee.oa=function(){cr(this);for(var e=Array.from(this.g.values()),t=Array.from(this.g.keys()),n=[],r=0;r<t.length;r++)for(var s=e[r],i=0;i<s.length;i++)n.push(t[r]);return n},Ee.W=function(e){cr(this);var t=[];if("string"==typeof e)hr(this,e)&&(t=t.concat(this.g.get(dr(this,e))));else{e=Array.from(this.g.values());for(var n=0;n<e.length;n++)t=t.concat(e[n])}return t},Ee.set=function(e,t){return cr(this),this.i=null,hr(this,e=dr(this,e))&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},Ee.get=function(e,t){return e&&0<(e=this.W(e)).length?String(e[0]):t},Ee.toString=function(){if(this.i)return this.i;if(!this.g)return"";for(var e=[],t=Array.from(this.g.keys()),n=0;n<t.length;n++){var r=t[n],s=encodeURIComponent(String(r)),i=this.W(r);for(r=0;r<i.length;r++){var o=s;""!==i[r]&&(o+="="+encodeURIComponent(String(i[r]))),e.push(o)}}return this.i=e.join("&")};var fr=function(e,t){this.h=e,this.g=t};function pr(e){this.l=e||gr,Ce.PerformanceNavigationTiming?e=0<(e=Ce.performance.getEntriesByType("navigation")).length&&("hq"==e[0].nextHopProtocol||"h2"==e[0].nextHopProtocol):e=!!(Ce.g&&Ce.g.Ga&&Ce.g.Ga()&&Ce.g.Ga().$b),this.j=e?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}var gr=10;function mr(e){return!!e.h||!!e.g&&e.g.size>=e.j}function yr(e){return e.h?1:e.g?e.g.size:0}function vr(e,t){return e.h?e.h==t:!!e.g&&e.g.has(t)}function wr(e,t){e.g?e.g.add(t):e.h=t}function Ir(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}function br(e){var t,n;if(null!=e.h)return e.i.concat(e.h.D);if(null!=e.g&&0!==e.g.size){var r=e.i;try{for(var s=be(e.g.values()),i=s.next();!i.done;i=s.next()){var o=i.value;r=r.concat(o.D)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}return r}return Ve(e.i)}function Tr(){}function Er(){this.g=new Tr}function _r(e,t,n){var r=n||"";try{$n(e,(function(e,n){var s=e;Ne(e)&&(s=qt(e)),t.push(r+n+"="+encodeURIComponent(s))}))}catch(e){throw t.push(r+"type="+encodeURIComponent("_badmap")),e}}function Sr(e,t,n,r,s){try{t.onload=null,t.onerror=null,t.onabort=null,t.ontimeout=null,s(r)}catch(e){}}function Cr(e){this.l=e.ac||null,this.j=e.jb||!1}function kr(e,t){Ut.call(this),this.D=e,this.u=t,this.m=void 0,this.readyState=Ar,this.status=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.v=new Headers,this.h=null,this.C="GET",this.B="",this.g=!1,this.A=this.j=this.l=null}pr.prototype.cancel=function(){var e,t;if(this.i=br(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){try{for(var n=be(this.g.values()),r=n.next();!r.done;r=n.next()){r.value.cancel()}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this.g.clear()}},Tr.prototype.stringify=function(e){return Ce.JSON.stringify(e,void 0)},Tr.prototype.parse=function(e){return Ce.JSON.parse(e,void 0)},xe(Cr,In),Cr.prototype.g=function(){return new kr(this.l,this.j)},Cr.prototype.i=function(e){return function(){return e}}({}),xe(kr,Ut);var Ar=0;function Nr(e){e.j.read().then(e.Ta.bind(e)).catch(e.ga.bind(e))}function Dr(e){e.readyState=4,e.l=null,e.j=null,e.A=null,Rr(e)}function Rr(e){e.onreadystatechange&&e.onreadystatechange.call(e)}(Ee=kr.prototype).open=function(e,t){if(this.readyState!=Ar)throw this.abort(),Error("Error reopening a connection");this.C=e,this.B=t,this.readyState=1,Rr(this)},Ee.send=function(e){if(1!=this.readyState)throw this.abort(),Error("need to call open() first. ");this.g=!0;var t={headers:this.v,method:this.C,credentials:this.m,cache:void 0};e&&(t.body=e),(this.D||Ce).fetch(new Request(this.B,t)).then(this.Wa.bind(this),this.ga.bind(this))},Ee.abort=function(){this.response=this.responseText="",this.v=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted.").catch((function(){})),1<=this.readyState&&this.g&&4!=this.readyState&&(this.g=!1,Dr(this)),this.readyState=Ar},Ee.Wa=function(e){if(this.g&&(this.l=e,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=e.headers,this.readyState=2,Rr(this)),this.g&&(this.readyState=3,Rr(this),this.g)))if("arraybuffer"===this.responseType)e.arrayBuffer().then(this.Ua.bind(this),this.ga.bind(this));else if(void 0!==Ce.ReadableStream&&"body"in e){if(this.j=e.body.getReader(),this.u){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.A=new TextDecoder;Nr(this)}else e.text().then(this.Va.bind(this),this.ga.bind(this))},Ee.Ta=function(e){if(this.g){if(this.u&&e.value)this.response.push(e.value);else if(!this.u){var t=e.value?e.value:new Uint8Array(0);(t=this.A.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t)}e.done?Dr(this):Rr(this),3==this.readyState&&Nr(this)}},Ee.Va=function(e){this.g&&(this.response=this.responseText=e,Dr(this))},Ee.Ua=function(e){this.g&&(this.response=e,Dr(this))},Ee.ga=function(){this.g&&Dr(this)},Ee.setRequestHeader=function(e,t){this.v.append(e,t)},Ee.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||""},Ee.getAllResponseHeaders=function(){if(!this.h)return"";for(var e=[],t=this.h.entries(),n=t.next();!n.done;)n=n.value,e.push(n[0]+": "+n[1]),n=t.next();return e.join("\r\n")},Object.defineProperty(kr.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(e){this.m=e?"include":"same-origin"}});var Or=Ce.JSON.parse;function Lr(e){Ut.call(this),this.headers=new Map,this.u=e||null,this.h=!1,this.C=this.g=null,this.H="",this.m=0,this.j="",this.l=this.F=this.v=this.D=!1,this.B=0,this.A=null,this.J=Pr,this.K=this.L=!1}xe(Lr,Ut);var Pr="",Mr=/^https?$/i,xr=["POST","PUT"];function Ur(e,t){e.h=!1,e.g&&(e.l=!0,e.g.abort(),e.l=!1),e.j=t,e.m=5,Fr(e),qr(e)}function Fr(e){e.D||(e.D=!0,Ft(e,"complete"),Ft(e,"error"))}function Vr(e){if(e.h&&void 0!==Se&&(!e.C[1]||4!=Br(e)||2!=e.aa()))if(e.v&&4==Br(e))Zt(e.Ha,0,e);else if(Ft(e,"readystatechange"),4==Br(e)){e.h=!1;try{var t,n=e.aa();e:switch(n){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var r=!0;break e;default:r=!1}if(!(t=r)){var s;if(s=0===n){var i=String(e.H).match(Kn)[1]||null;if(!i&&Ce.self&&Ce.self.location){var o=Ce.self.location.protocol;i=o.substr(0,o.length-1)}s=!Mr.test(i?i.toLowerCase():"")}t=s}if(t)Ft(e,"complete"),Ft(e,"success");else{e.m=6;try{var a=2<Br(e)?e.g.statusText:""}catch(e){a=""}e.j=a+" ["+e.aa()+"]",Fr(e)}}finally{qr(e)}}}function qr(e,t){if(e.g){jr(e);var n=e.g,r=e.C[0]?ke:null;e.g=null,e.C=null,t||Ft(e,"ready");try{n.onreadystatechange=r}catch(e){}}}function jr(e){e.g&&e.K&&(e.g.ontimeout=null),e.A&&(Ce.clearTimeout(e.A),e.A=null)}function Br(e){return e.g?e.g.readyState:0}function zr(e){try{if(!e.g)return null;if("response"in e.g)return e.g.response;switch(e.J){case Pr:case"text":return e.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in e.g)return e.g.mozResponseArrayBuffer}return null}catch(e){return null}}function $r(e){var t="";return vt(e,(function(e,n){t+=n,t+=":",t+=e,t+="\r\n"})),t}function Kr(e,t,n){e:{for(r in n){var r=!1;break e}r=!0}r||(n=$r(n),"string"==typeof e?null!=n&&encodeURIComponent(String(n)):Xn(e,t,n))}function Hr(e,t,n){return n&&n.internalChannelParams&&n.internalChannelParams[e]||t}function Gr(e){this.Ca=0,this.i=[],this.j=new an,this.ka=this.sa=this.F=this.V=this.g=this.za=this.D=this.ia=this.o=this.S=this.s=null,this.ab=this.U=0,this.Za=Hr("failFast",!1,e),this.L=this.v=this.u=this.m=this.l=null,this.Y=!0,this.pa=this.Ba=this.T=-1,this.Z=this.A=this.C=0,this.Xa=Hr("baseRetryDelayMs",5e3,e),this.bb=Hr("retryDelaySeedMs",1e4,e),this.$a=Hr("forwardChannelMaxRetries",2,e),this.ta=Hr("forwardChannelRequestTimeoutMs",2e4,e),this.ra=e&&e.xmlHttpFactory||void 0,this.Da=e&&e.Zb||!1,this.J=void 0,this.H=e&&e.supportsCrossDomainXhr||!1,this.I="",this.h=new pr(e&&e.concurrentRequestLimit),this.Fa=new Er,this.O=e&&e.fastHandshake||!1,this.N=e&&e.encodeInitMessageHeaders||!1,this.O&&this.N&&(this.N=!1),this.Ya=e&&e.Xb||!1,e&&e.Aa&&this.j.Aa(),e&&e.forceLongPolling&&(this.Y=!1),this.$=!this.O&&this.Y&&e&&e.detectBufferingProxy||!1,this.ja=void 0,this.P=0,this.K=!1,this.la=this.B=null}function Wr(e){if(Yr(e),3==e.G){var t=e.U++,n=Gn(e.F);Xn(n,"SID",e.I),Xn(n,"RID",t),Xn(n,"TYPE","terminate"),Zr(e,n),(t=new An(e,e.j,t,void 0)).K=2,t.v=Jn(Gn(n)),n=!1,Ce.navigator&&Ce.navigator.sendBeacon&&(n=Ce.navigator.sendBeacon(t.v.toString(),"")),!n&&Ce.Image&&((new Image).src=t.v,n=!0),n||(t.g=ls(t.l,null),t.g.da(t.v)),t.F=Date.now(),Fn(t)}us(e)}function Qr(e){e.g&&(rs(e),e.g.cancel(),e.g=null)}function Yr(e){Qr(e),e.u&&(Ce.clearTimeout(e.u),e.u=null),is(e),e.h.cancel(),e.m&&("number"==typeof e.m&&Ce.clearTimeout(e.m),e.m=null)}function Xr(e){mr(e.h)||e.m||(e.m=!0,Gt(e.Ja,e),e.C=0)}function Jr(e,t){var n;n=t?t.m:e.U++;var r=Gn(e.F);Xn(r,"SID",e.I),Xn(r,"RID",n),Xn(r,"AID",e.T),Zr(e,r),e.o&&e.s&&Kr(r,e.o,e.s),n=new An(e,e.j,n,e.C+1),null===e.o&&(n.H=e.s),t&&(e.i=t.D.concat(e.i)),t=es(e,n,1e3),n.setTimeout(Math.round(.5*e.ta)+Math.round(.5*e.ta*Math.random())),wr(e.h,n),Ln(n,r,t)}function Zr(e,t){e.ia&&vt(e.ia,(function(e,n){Xn(t,n,e)})),e.l&&$n({},(function(e,n){Xn(t,n,e)}))}function es(e,t,n){n=Math.min(e.i.length,n);var r=e.l?Pe(e.l.Ra,e.l,e):null;e:for(var s=e.i,i=-1;;){var o=["count="+n];-1==i?0<n?(i=s[0].h,o.push("ofs="+i)):i=0:o.push("ofs="+i);for(var a=!0,c=0;c<n;c++){var u=s[c].h,h=s[c].g;if(0>(u-=i))i=Math.max(0,s[c].h-100),a=!1;else try{_r(h,o,"req"+u+"_")}catch(e){r&&r(h)}}if(a){r=o.join("&");break e}}return e=e.i.splice(0,n),t.D=e,r}function ts(e){e.g||e.u||(e.Z=1,Gt(e.Ia,e),e.A=0)}function ns(e){return!(e.g||e.u||3<=e.A)&&(e.Z++,e.u=yn(Pe(e.Ia,e),as(e,e.A)),e.A++,!0)}function rs(e){null!=e.B&&(Ce.clearTimeout(e.B),e.B=null)}function ss(e){e.g=new An(e,e.j,"rpc",e.Z),null===e.o&&(e.g.H=e.s),e.g.N=0;var t=Gn(e.sa);Xn(t,"RID","rpc"),Xn(t,"SID",e.I),Xn(t,"CI",e.L?"0":"1"),Xn(t,"AID",e.T),Xn(t,"TYPE","xmlhttp"),Zr(e,t),e.o&&e.s&&Kr(t,e.o,e.s),e.J&&e.g.setTimeout(e.J);var n=e.g;e=e.ka,n.K=1,n.v=Jn(Gn(t)),n.s=null,n.P=!0,Pn(n,e)}function is(e){null!=e.v&&(Ce.clearTimeout(e.v),e.v=null)}function os(e,t){var n=null;if(e.g==t){is(e),rs(e),e.g=null;var r=2}else{if(!vr(e.h,t))return;n=t.D,Ir(e.h,t),r=1}if(0!=e.G)if(e.pa=t.Y,t.i)if(1==r){n=t.s?t.s.length:0,t=Date.now()-t.F;var s=e.C;Ft(r=ln(),new mn(r,n)),Xr(e)}else ts(e);else if(3==(s=t.o)||0==s&&0<e.pa||!(1==r&&function(e,t){return!(yr(e.h)>=e.h.j-(e.m?1:0)||(e.m?(e.i=t.D.concat(e.i),0):1==e.G||2==e.G||e.C>=(e.Za?0:e.$a)||(e.m=yn(Pe(e.Ja,e,t),as(e,e.C)),e.C++,0)))}(e,t)||2==r&&ns(e)))switch(n&&0<n.length&&(t=e.h,t.i=t.i.concat(n)),s){case 1:cs(e,5);break;case 4:cs(e,10);break;case 3:cs(e,6);break;default:cs(e,2)}}function as(e,t){var n=e.Xa+Math.floor(Math.random()*e.bb);return e.l||(n*=2),n*t}function cs(e,t){if(e.j.info("Error code "+t),2==t){var n=null;e.l&&(n=null);var r=Pe(e.kb,e);n||(n=new Hn("//www.google.com/images/cleardot.gif"),Ce.location&&"http"==Ce.location.protocol||Wn(n,"https"),Jn(n)),function(e,t){var n=new an;if(Ce.Image){var r=new Image;r.onload=Me(Sr,n,r,"TestLoadImage: loaded",!0,t),r.onerror=Me(Sr,n,r,"TestLoadImage: error",!1,t),r.onabort=Me(Sr,n,r,"TestLoadImage: abort",!1,t),r.ontimeout=Me(Sr,n,r,"TestLoadImage: timeout",!1,t),Ce.setTimeout((function(){r.ontimeout&&r.ontimeout()}),1e4),r.src=e}else t(!1)}(n.toString(),r)}else gn(2);e.G=0,e.l&&e.l.va(t),us(e),Yr(e)}function us(e){if(e.G=0,e.la=[],e.l){var t=br(e.h);0==t.length&&0==e.i.length||(qe(e.la,t),qe(e.la,e.i),e.h.i.length=0,Ve(e.i),e.i.length=0),e.l.ua()}}function hs(e,t,n){var r=n instanceof Hn?Gn(n):new Hn(n,void 0);if(""!=r.g)t&&(r.g=t+"."+r.g),Qn(r,r.m);else{var s=Ce.location;r=s.protocol,t=t?t+"."+s.hostname:s.hostname,s=+s.port;var i=new Hn(null,void 0);r&&Wn(i,r),t&&(i.g=t),s&&Qn(i,s),n&&(i.l=n),r=i}return n=e.D,t=e.za,n&&t&&Xn(r,n,t),Xn(r,"VER",e.ma),Zr(e,r),r}function ls(e,t,n){if(t&&!e.H)throw Error("Can't create secondary domain capable XhrIo object.");return(t=n&&e.Da&&!e.ra?new Lr(new Cr({jb:!0})):new Lr(e.ra)).Ka(e.H),t}function ds(){}function fs(){if(Je&&!(10<=Number(lt)))throw Error("Environmental error: no available transport.")}function ps(e,t){Ut.call(this),this.g=new Gr(t),this.l=e,this.h=t&&t.messageUrlParams||null,e=t&&t.messageHeaders||null,t&&t.clientProtocolHeaderRequired&&(e?e["X-Client-Protocol"]="webchannel":e={"X-Client-Protocol":"webchannel"}),this.g.s=e,e=t&&t.initMessageHeaders||null,t&&t.messageContentType&&(e?e["X-WebChannel-Content-Type"]=t.messageContentType:e={"X-WebChannel-Content-Type":t.messageContentType}),t&&t.ya&&(e?e["X-WebChannel-Client-Profile"]=t.ya:e={"X-WebChannel-Client-Profile":t.ya}),this.g.S=e,(e=t&&t.Yb)&&!ze(e)&&(this.g.o=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t=t&&t.httpSessionIdParam)&&!ze(t)&&(this.g.D=t,null!==(e=this.h)&&t in e&&(t in(e=this.h)&&delete e[t])),this.j=new ys(this)}function gs(e){Sn.call(this);var t=e.__sm__;if(t){e:{for(var n in t){e=n;break e}e=void 0}(this.i=e)&&(e=this.i,t=null!==t&&e in t?t[e]:void 0),this.data=t}else this.data=e}function ms(){Cn.call(this),this.status=1}function ys(e){this.g=e}(Ee=Lr.prototype).Ka=function(e){this.L=e},Ee.da=function(e,t,n,r){var s,i,o,a;if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.H+"; newUri="+e);t=t?t.toUpperCase():"GET",this.H=e,this.j="",this.m=0,this.D=!1,this.h=!0,this.g=this.u?this.u.g():En.g(),this.C=this.u?bn(this.u):bn(En),this.g.onreadystatechange=Pe(this.Ha,this);try{this.F=!0,this.g.open(t,String(e),!0),this.F=!1}catch(l){return void Ur(this,l)}if(e=n||"",n=new Map(this.headers),r)if(Object.getPrototypeOf(r)===Object.prototype)for(var c in r)n.set(c,r[c]);else{if("function"!=typeof r.keys||"function"!=typeof r.get)throw Error("Unknown input type for opt_headers: "+String(r));try{for(var u=be(r.keys()),h=u.next();!h.done;h=u.next()){var l=h.value;n.set(l,r.get(l))}}catch(e){s={error:e}}finally{try{h&&!h.done&&(i=u.return)&&i.call(u)}finally{if(s)throw s.error}}}r=Array.from(n.keys()).find((function(e){return"content-type"==e.toLowerCase()})),c=Ce.FormData&&e instanceof Ce.FormData,!(0<=Fe(xr,t))||r||c||n.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");try{for(var d=be(n),f=d.next();!f.done;f=d.next()){var p=Te(f.value,2),g=(l=p[0],p[1]);this.g.setRequestHeader(l,g)}}catch(e){o={error:e}}finally{try{f&&!f.done&&(a=d.return)&&a.call(d)}finally{if(o)throw o.error}}this.J&&(this.g.responseType=this.J),"withCredentials"in this.g&&this.g.withCredentials!==this.L&&(this.g.withCredentials=this.L);try{jr(this),0<this.B&&((this.K=function(e){return Je&&ut()&&"number"==typeof e.timeout&&void 0!==e.ontimeout}(this.g))?(this.g.timeout=this.B,this.g.ontimeout=Pe(this.qa,this)):this.A=Zt(this.qa,this.B,this)),this.v=!0,this.g.send(e),this.v=!1}catch(l){Ur(this,l)}},Ee.qa=function(){void 0!==Se&&this.g&&(this.j="Timed out after "+this.B+"ms, aborting",this.m=8,Ft(this,"timeout"),this.abort(8))},Ee.abort=function(e){this.g&&this.h&&(this.h=!1,this.l=!0,this.g.abort(),this.l=!1,this.m=e||7,Ft(this,"complete"),Ft(this,"abort"),qr(this))},Ee.M=function(){this.g&&(this.h&&(this.h=!1,this.l=!0,this.g.abort(),this.l=!1),qr(this,!0)),Lr.X.M.call(this)},Ee.Ha=function(){this.s||(this.F||this.v||this.l?Vr(this):this.fb())},Ee.fb=function(){Vr(this)},Ee.aa=function(){try{return 2<Br(this)?this.g.status:-1}catch(e){return-1}},Ee.fa=function(){try{return this.g?this.g.responseText:""}catch(e){return""}},Ee.Sa=function(e){if(this.g){var t=this.g.responseText;return e&&0==t.indexOf(e)&&(t=t.substring(e.length)),Or(t)}},Ee.Ea=function(){return this.m},Ee.Oa=function(){return"string"==typeof this.j?this.j:String(this.j)},(Ee=Gr.prototype).ma=8,Ee.G=1,Ee.Ja=function(e){if(this.m)if(this.m=null,1==this.G){if(!e){this.U=Math.floor(1e5*Math.random()),e=this.U++;var t=new An(this,this.j,e,void 0),n=this.s;if(this.S&&(n?bt(n=wt(n),this.S):n=this.S),null!==this.o||this.N||(t.H=n,n=null),this.O)e:{for(var r=0,s=0;s<this.i.length;s++){var i=this.i[s];if(void 0===(i="__data__"in i.g&&"string"==typeof(i=i.g.__data__)?i.length:void 0))break;if(4096<(r+=i)){r=s;break e}if(4096===r||s===this.i.length-1){r=s+1;break e}}r=1e3}else r=1e3;r=es(this,t,r),Xn(s=Gn(this.F),"RID",e),Xn(s,"CVER",22),this.D&&Xn(s,"X-HTTP-Session-Id",this.D),Zr(this,s),n&&(this.N?r="headers="+encodeURIComponent(String($r(n)))+"&"+r:this.o&&Kr(s,this.o,n)),wr(this.h,t),this.Ya&&Xn(s,"TYPE","init"),this.O?(Xn(s,"$req",r),Xn(s,"SID","null"),t.Z=!0,Ln(t,s,null)):Ln(t,s,r),this.G=2}}else 3==this.G&&(e?Jr(this,e):0==this.i.length||mr(this.h)||Jr(this))},Ee.Ia=function(){if(this.u=null,ss(this),this.$&&!(this.K||null==this.g||0>=this.P)){var e=2*this.P;this.j.info("BP detection timer enabled: "+e),this.B=yn(Pe(this.eb,this),e)}},Ee.eb=function(){this.B&&(this.B=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.L=!1,this.K=!0,gn(10),Qr(this),ss(this))},Ee.cb=function(){null!=this.v&&(this.v=null,Qr(this),ns(this),gn(19))},Ee.kb=function(e){e?(this.j.info("Successfully pinged google.com"),gn(2)):(this.j.info("Failed to ping google.com"),gn(1))},(Ee=ds.prototype).xa=function(){},Ee.wa=function(){},Ee.va=function(){},Ee.ua=function(){},Ee.Ra=function(){},fs.prototype.g=function(e,t){return new ps(e,t)},xe(ps,Ut),ps.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.H=!0);var e=this.g,t=this.l,n=this.h||void 0;gn(0),e.V=t,e.ia=n||{},e.L=e.Y,e.F=hs(e,null,e.V),Xr(e)},ps.prototype.close=function(){Wr(this.g)},ps.prototype.u=function(e){var t=this.g;if("string"==typeof e){var n={};n.__data__=e,e=n}else this.v&&((n={}).__data__=qt(e),e=n);t.i.push(new fr(t.ab++,e)),3==t.G&&Xr(t)},ps.prototype.M=function(){this.g.l=null,delete this.j,Wr(this.g),delete this.g,ps.X.M.call(this)},xe(gs,Sn),xe(ms,Cn),xe(ys,ds),ys.prototype.xa=function(){Ft(this.g,"a")},ys.prototype.wa=function(e){Ft(this.g,new gs(e))},ys.prototype.va=function(e){Ft(this.g,new ms)},ys.prototype.ua=function(){Ft(this.g,"b")},fs.prototype.createWebChannel=fs.prototype.g,ps.prototype.send=ps.prototype.u,ps.prototype.open=ps.prototype.m,ps.prototype.close=ps.prototype.close,vn.NO_ERROR=0,vn.TIMEOUT=8,vn.HTTP_ERROR=6,wn.COMPLETE="complete",Tn.EventType=_n,_n.OPEN="a",_n.CLOSE="b",_n.ERROR="c",_n.MESSAGE="d",Ut.prototype.listen=Ut.prototype.N,Lr.prototype.listenOnce=Lr.prototype.O,Lr.prototype.getLastError=Lr.prototype.Oa,Lr.prototype.getLastErrorCode=Lr.prototype.Ea,Lr.prototype.getStatus=Lr.prototype.aa,Lr.prototype.getResponseJson=Lr.prototype.Sa,Lr.prototype.getResponseText=Lr.prototype.fa,Lr.prototype.send=Lr.prototype.da,Lr.prototype.setWithCredentials=Lr.prototype.Ka;var vs=vn,ws=wn,Is=un,bs=10,Ts=11,Es=Cr,_s=Tn,Ss=Lr;const Cs="@firebase/firestore";
|
|
315
315
|
/**
|
|
316
316
|
* @license
|
|
317
317
|
* Copyright 2017 Google LLC
|
|
@@ -327,7 +327,7 @@ class it{constructor(t,e,n){this._isDeleted=!1,this._options=Object.assign({},t)
|
|
|
327
327
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
328
328
|
* See the License for the specific language governing permissions and
|
|
329
329
|
* limitations under the License.
|
|
330
|
-
*/class ks{constructor(
|
|
330
|
+
*/class ks{constructor(e){this.uid=e}isAuthenticated(){return null!=this.uid}toKey(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"}isEqual(e){return e.uid===this.uid}}ks.UNAUTHENTICATED=new ks(null),ks.GOOGLE_CREDENTIALS=new ks("google-credentials-uid"),ks.FIRST_PARTY=new ks("first-party-uid"),ks.MOCK_USER=new ks("mock-user");
|
|
331
331
|
/**
|
|
332
332
|
* @license
|
|
333
333
|
* Copyright 2017 Google LLC
|
|
@@ -360,7 +360,7 @@ let As="9.15.0";
|
|
|
360
360
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
361
361
|
* See the License for the specific language governing permissions and
|
|
362
362
|
* limitations under the License.
|
|
363
|
-
*/const Ns=new D("@firebase/firestore");function Ds(){return Ns.logLevel}function Rs(t
|
|
363
|
+
*/const Ns=new D("@firebase/firestore");function Ds(){return Ns.logLevel}function Rs(e,...t){if(Ns.logLevel<=S.DEBUG){const n=t.map(Ps);Ns.debug(`Firestore (${As}): ${e}`,...n)}}function Os(e,...t){if(Ns.logLevel<=S.ERROR){const n=t.map(Ps);Ns.error(`Firestore (${As}): ${e}`,...n)}}function Ls(e,...t){if(Ns.logLevel<=S.WARN){const n=t.map(Ps);Ns.warn(`Firestore (${As}): ${e}`,...n)}}function Ps(e){if("string"==typeof e)return e;try{return t=e,JSON.stringify(t)}catch(t){return e}
|
|
364
364
|
/**
|
|
365
365
|
* @license
|
|
366
366
|
* Copyright 2020 Google LLC
|
|
@@ -376,7 +376,7 @@ let As="9.15.0";
|
|
|
376
376
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
377
377
|
* See the License for the specific language governing permissions and
|
|
378
378
|
* limitations under the License.
|
|
379
|
-
*/var
|
|
379
|
+
*/var t}
|
|
380
380
|
/**
|
|
381
381
|
* @license
|
|
382
382
|
* Copyright 2017 Google LLC
|
|
@@ -392,7 +392,7 @@ let As="9.15.0";
|
|
|
392
392
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
393
393
|
* See the License for the specific language governing permissions and
|
|
394
394
|
* limitations under the License.
|
|
395
|
-
*/function Ms(
|
|
395
|
+
*/function Ms(e="Unexpected state"){const t=`FIRESTORE (${As}) INTERNAL ASSERTION FAILED: `+e;throw Os(t),new Error(t)}function xs(e,t){e||Ms()}function Us(e,t){return e}
|
|
396
396
|
/**
|
|
397
397
|
* @license
|
|
398
398
|
* Copyright 2017 Google LLC
|
|
@@ -408,7 +408,7 @@ let As="9.15.0";
|
|
|
408
408
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
409
409
|
* See the License for the specific language governing permissions and
|
|
410
410
|
* limitations under the License.
|
|
411
|
-
*/const Fs={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 Vs extends h{constructor(t
|
|
411
|
+
*/const Fs={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 Vs extends h{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: ${this.message}`}}
|
|
412
412
|
/**
|
|
413
413
|
* @license
|
|
414
414
|
* Copyright 2017 Google LLC
|
|
@@ -424,7 +424,7 @@ let As="9.15.0";
|
|
|
424
424
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
425
425
|
* See the License for the specific language governing permissions and
|
|
426
426
|
* limitations under the License.
|
|
427
|
-
*/class qs{constructor(){this.promise=new Promise(((t
|
|
427
|
+
*/class qs{constructor(){this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}
|
|
428
428
|
/**
|
|
429
429
|
* @license
|
|
430
430
|
* Copyright 2017 Google LLC
|
|
@@ -440,7 +440,7 @@ let As="9.15.0";
|
|
|
440
440
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
441
441
|
* See the License for the specific language governing permissions and
|
|
442
442
|
* limitations under the License.
|
|
443
|
-
*/class js{constructor(t
|
|
443
|
+
*/class js{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${e}`)}}class Bs{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable((()=>t(ks.UNAUTHENTICATED)))}shutdown(){}}class zs{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 $s{constructor(e){this.t=e,this.currentUser=ks.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(e,t){let n=this.i;const r=e=>this.i!==n?(n=this.i,t(e)):Promise.resolve();let s=new qs;this.o=()=>{this.i++,this.currentUser=this.u(),s.resolve(),s=new qs,e.enqueueRetryable((()=>r(this.currentUser)))};const i=()=>{const t=s;e.enqueueRetryable((async()=>{await t.promise,await r(this.currentUser)}))},o=e=>{Rs("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=e,this.auth.addAuthTokenListener(this.o),i()};this.t.onInit((e=>o(e))),setTimeout((()=>{if(!this.auth){const e=this.t.getImmediate({optional:!0});e?o(e):(Rs("FirebaseAuthCredentialsProvider","Auth not yet detected"),s.resolve(),s=new qs)}}),0),i()}getToken(){const e=this.i,t=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(t).then((t=>this.i!==e?(Rs("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):t?(xs("string"==typeof t.accessToken),new js(t.accessToken,this.currentUser)):null)):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.auth.removeAuthTokenListener(this.o)}u(){const e=this.auth&&this.auth.getUid();return xs(null===e||"string"==typeof e),new ks(e)}}class Ks{constructor(e,t,n,r){this.h=e,this.l=t,this.m=n,this.g=r,this.type="FirstParty",this.user=ks.FIRST_PARTY,this.p=new Map}I(){return this.g?this.g():(xs(!("object"!=typeof this.h||null===this.h||!this.h.auth||!this.h.auth.getAuthHeaderValueForFirstParty)),this.h.auth.getAuthHeaderValueForFirstParty([]))}get headers(){this.p.set("X-Goog-AuthUser",this.l);const e=this.I();return e&&this.p.set("Authorization",e),this.m&&this.p.set("X-Goog-Iam-Authorization-Token",this.m),this.p}}class Hs{constructor(e,t,n,r){this.h=e,this.l=t,this.m=n,this.g=r}getToken(){return Promise.resolve(new Ks(this.h,this.l,this.m,this.g))}start(e,t){e.enqueueRetryable((()=>t(ks.FIRST_PARTY)))}shutdown(){}invalidateToken(){}}class Gs{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 Ws{constructor(e){this.T=e,this.forceRefresh=!1,this.appCheck=null,this.A=null}start(e,t){const n=e=>{null!=e.error&&Rs("FirebaseAppCheckTokenProvider",`Error getting App Check token; using placeholder token instead. Error: ${e.error.message}`);const n=e.token!==this.A;return this.A=e.token,Rs("FirebaseAppCheckTokenProvider",`Received ${n?"new":"existing"} token.`),n?t(e.token):Promise.resolve()};this.o=t=>{e.enqueueRetryable((()=>n(t)))};const r=e=>{Rs("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=e,this.appCheck.addTokenListener(this.o)};this.T.onInit((e=>r(e))),setTimeout((()=>{if(!this.appCheck){const e=this.T.getImmediate({optional:!0});e?r(e):Rs("FirebaseAppCheckTokenProvider","AppCheck not yet detected")}}),0)}getToken(){const e=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then((e=>e?(xs("string"==typeof e.token),this.A=e.token,new Gs(e.token)):null)):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.appCheck.removeTokenListener(this.o)}}
|
|
444
444
|
/**
|
|
445
445
|
* @license
|
|
446
446
|
* Copyright 2020 Google LLC
|
|
@@ -456,7 +456,7 @@ let As="9.15.0";
|
|
|
456
456
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
457
457
|
* See the License for the specific language governing permissions and
|
|
458
458
|
* limitations under the License.
|
|
459
|
-
*/function Qs(
|
|
459
|
+
*/function Qs(e){const t="undefined"!=typeof self&&(self.crypto||self.msCrypto),n=new Uint8Array(e);if(t&&"function"==typeof t.getRandomValues)t.getRandomValues(n);else for(let t=0;t<e;t++)n[t]=Math.floor(256*Math.random());return n}
|
|
460
460
|
/**
|
|
461
461
|
* @license
|
|
462
462
|
* Copyright 2017 Google LLC
|
|
@@ -472,7 +472,7 @@ let As="9.15.0";
|
|
|
472
472
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
473
473
|
* See the License for the specific language governing permissions and
|
|
474
474
|
* limitations under the License.
|
|
475
|
-
*/class Ys{static R(){const
|
|
475
|
+
*/class Ys{static R(){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=Math.floor(256/e.length)*e.length;let n="";for(;n.length<20;){const r=Qs(40);for(let s=0;s<r.length;++s)n.length<20&&r[s]<t&&(n+=e.charAt(r[s]%e.length))}return n}}function Xs(e,t){return e<t?-1:e>t?1:0}function Js(e,t,n){return e.length===t.length&&e.every(((e,r)=>n(e,t[r])))}
|
|
476
476
|
/**
|
|
477
477
|
* @license
|
|
478
478
|
* Copyright 2017 Google LLC
|
|
@@ -488,7 +488,7 @@ let As="9.15.0";
|
|
|
488
488
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
489
489
|
* See the License for the specific language governing permissions and
|
|
490
490
|
* limitations under the License.
|
|
491
|
-
*/class Zs{constructor(t
|
|
491
|
+
*/class Zs{constructor(e,t){if(this.seconds=e,this.nanoseconds=t,t<0)throw new Vs(Fs.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(t>=1e9)throw new Vs(Fs.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<-62135596800)throw new Vs(Fs.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e);if(e>=253402300800)throw new Vs(Fs.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}static now(){return Zs.fromMillis(Date.now())}static fromDate(e){return Zs.fromMillis(e.getTime())}static fromMillis(e){const t=Math.floor(e/1e3),n=Math.floor(1e6*(e-1e3*t));return new Zs(t,n)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/1e6}_compareTo(e){return this.seconds===e.seconds?Xs(this.nanoseconds,e.nanoseconds):Xs(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- -62135596800;return String(e).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}
|
|
492
492
|
/**
|
|
493
493
|
* @license
|
|
494
494
|
* Copyright 2017 Google LLC
|
|
@@ -504,7 +504,7 @@ let As="9.15.0";
|
|
|
504
504
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
505
505
|
* See the License for the specific language governing permissions and
|
|
506
506
|
* limitations under the License.
|
|
507
|
-
*/class
|
|
507
|
+
*/class ei{constructor(e){this.timestamp=e}static fromTimestamp(e){return new ei(e)}static min(){return new ei(new Zs(0,0))}static max(){return new ei(new Zs(253402300799,999999999))}compareTo(e){return this.timestamp._compareTo(e.timestamp)}isEqual(e){return this.timestamp.isEqual(e.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}}
|
|
508
508
|
/**
|
|
509
509
|
* @license
|
|
510
510
|
* Copyright 2017 Google LLC
|
|
@@ -520,7 +520,7 @@ let As="9.15.0";
|
|
|
520
520
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
521
521
|
* See the License for the specific language governing permissions and
|
|
522
522
|
* limitations under the License.
|
|
523
|
-
*/class
|
|
523
|
+
*/class ti{constructor(e,t,n){void 0===t?t=0:t>e.length&&Ms(),void 0===n?n=e.length-t:n>e.length-t&&Ms(),this.segments=e,this.offset=t,this.len=n}get length(){return this.len}isEqual(e){return 0===ti.comparator(this,e)}child(e){const t=this.segments.slice(this.offset,this.limit());return e instanceof ti?e.forEach((e=>{t.push(e)})):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return e=void 0===e?1:e,this.construct(this.segments,this.offset+e,this.length-e)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(e){return this.segments[this.offset+e]}isEmpty(){return 0===this.length}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,n=this.limit();t<n;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(e,t){const n=Math.min(e.length,t.length);for(let r=0;r<n;r++){const n=e.get(r),s=t.get(r);if(n<s)return-1;if(n>s)return 1}return e.length<t.length?-1:e.length>t.length?1:0}}class ni extends ti{construct(e,t,n){return new ni(e,t,n)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}static fromString(...e){const t=[];for(const n of e){if(n.indexOf("//")>=0)throw new Vs(Fs.INVALID_ARGUMENT,`Invalid segment (${n}). Paths must not contain // in them.`);t.push(...n.split("/").filter((e=>e.length>0)))}return new ni(t)}static emptyPath(){return new ni([])}}const ri=/^[_a-zA-Z][_a-zA-Z0-9]*$/;class si extends ti{construct(e,t,n){return new si(e,t,n)}static isValidIdentifier(e){return ri.test(e)}canonicalString(){return this.toArray().map((e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),si.isValidIdentifier(e)||(e="`"+e+"`"),e))).join(".")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&"__name__"===this.get(0)}static keyField(){return new si(["__name__"])}static fromServerFormat(e){const t=[];let n="",r=0;const s=()=>{if(0===n.length)throw new Vs(Fs.INVALID_ARGUMENT,`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);t.push(n),n=""};let i=!1;for(;r<e.length;){const t=e[r];if("\\"===t){if(r+1===e.length)throw new Vs(Fs.INVALID_ARGUMENT,"Path has trailing escape character: "+e);const t=e[r+1];if("\\"!==t&&"."!==t&&"`"!==t)throw new Vs(Fs.INVALID_ARGUMENT,"Path has invalid escape sequence: "+e);n+=t,r+=2}else"`"===t?(i=!i,r++):"."!==t||i?(n+=t,r++):(s(),r++)}if(s(),i)throw new Vs(Fs.INVALID_ARGUMENT,"Unterminated ` in path: "+e);return new si(t)}static emptyPath(){return new si([])}}
|
|
524
524
|
/**
|
|
525
525
|
* @license
|
|
526
526
|
* Copyright 2017 Google LLC
|
|
@@ -536,7 +536,7 @@ let As="9.15.0";
|
|
|
536
536
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
537
537
|
* See the License for the specific language governing permissions and
|
|
538
538
|
* limitations under the License.
|
|
539
|
-
*/class ii{constructor(
|
|
539
|
+
*/class ii{constructor(e){this.path=e}static fromPath(e){return new ii(ni.fromString(e))}static fromName(e){return new ii(ni.fromString(e).popFirst(5))}static empty(){return new ii(ni.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return this.path.length>=2&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return null!==e&&0===ni.comparator(this.path,e.path)}toString(){return this.path.toString()}static comparator(e,t){return ni.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new ii(new ni(e.slice()))}}function oi(e){return new ai(e.readTime,e.key,-1)}class ai{constructor(e,t,n){this.readTime=e,this.documentKey=t,this.largestBatchId=n}static min(){return new ai(ei.min(),ii.empty(),-1)}static max(){return new ai(ei.max(),ii.empty(),-1)}}function ci(e,t){let n=e.readTime.compareTo(t.readTime);return 0!==n?n:(n=ii.comparator(e.documentKey,t.documentKey),0!==n?n:Xs(e.largestBatchId,t.largestBatchId))}
|
|
540
540
|
/**
|
|
541
541
|
* @license
|
|
542
542
|
* Copyright 2020 Google LLC
|
|
@@ -552,7 +552,7 @@ let As="9.15.0";
|
|
|
552
552
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
553
553
|
* See the License for the specific language governing permissions and
|
|
554
554
|
* limitations under the License.
|
|
555
|
-
*/class ui{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(
|
|
555
|
+
*/class ui{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach((e=>e()))}}
|
|
556
556
|
/**
|
|
557
557
|
* @license
|
|
558
558
|
* Copyright 2017 Google LLC
|
|
@@ -568,7 +568,7 @@ let As="9.15.0";
|
|
|
568
568
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
569
569
|
* See the License for the specific language governing permissions and
|
|
570
570
|
* limitations under the License.
|
|
571
|
-
*/async function hi(
|
|
571
|
+
*/async function hi(e){if(e.code!==Fs.FAILED_PRECONDITION||"The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab."!==e.message)throw e;Rs("LocalStore","Unexpectedly lost primary lease")}
|
|
572
572
|
/**
|
|
573
573
|
* @license
|
|
574
574
|
* Copyright 2017 Google LLC
|
|
@@ -584,7 +584,7 @@ let As="9.15.0";
|
|
|
584
584
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
585
585
|
* See the License for the specific language governing permissions and
|
|
586
586
|
* limitations under the License.
|
|
587
|
-
*/class li{constructor(
|
|
587
|
+
*/class li{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e((e=>{this.isDone=!0,this.result=e,this.nextCallback&&this.nextCallback(e)}),(e=>{this.isDone=!0,this.error=e,this.catchCallback&&this.catchCallback(e)}))}catch(e){return this.next(void 0,e)}next(e,t){return this.callbackAttached&&Ms(),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(t,this.error):this.wrapSuccess(e,this.result):new li(((n,r)=>{this.nextCallback=t=>{this.wrapSuccess(e,t).next(n,r)},this.catchCallback=e=>{this.wrapFailure(t,e).next(n,r)}}))}toPromise(){return new Promise(((e,t)=>{this.next(e,t)}))}wrapUserFunction(e){try{const t=e();return t instanceof li?t:li.resolve(t)}catch(e){return li.reject(e)}}wrapSuccess(e,t){return e?this.wrapUserFunction((()=>e(t))):li.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction((()=>e(t))):li.reject(t)}static resolve(e){return new li(((t,n)=>{t(e)}))}static reject(e){return new li(((t,n)=>{n(e)}))}static waitFor(e){return new li(((t,n)=>{let r=0,s=0,i=!1;e.forEach((e=>{++r,e.next((()=>{++s,i&&s===r&&t()}),(e=>n(e)))})),i=!0,s===r&&t()}))}static or(e){let t=li.resolve(!1);for(const n of e)t=t.next((e=>e?li.resolve(e):n()));return t}static forEach(e,t){const n=[];return e.forEach(((e,r)=>{n.push(t.call(this,e,r))})),this.waitFor(n)}static mapArray(e,t){return new li(((n,r)=>{const s=e.length,i=new Array(s);let o=0;for(let a=0;a<s;a++){const c=a;t(e[c]).next((e=>{i[c]=e,++o,o===s&&n(i)}),(e=>r(e)))}}))}static doWhile(e,t){return new li(((n,r)=>{const s=()=>{!0===e()?t().next((()=>{s()}),r):n()};s()}))}}function di(e){return"IndexedDbTransactionError"===e.name}
|
|
588
588
|
/**
|
|
589
589
|
* @license
|
|
590
590
|
* Copyright 2018 Google LLC
|
|
@@ -600,7 +600,7 @@ let As="9.15.0";
|
|
|
600
600
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
601
601
|
* See the License for the specific language governing permissions and
|
|
602
602
|
* limitations under the License.
|
|
603
|
-
*/class fi{constructor(t
|
|
603
|
+
*/class fi{constructor(e,t){this.previousValue=e,t&&(t.sequenceNumberHandler=e=>this.ut(e),this.ct=e=>t.writeSequenceNumber(e))}ut(e){return this.previousValue=Math.max(e,this.previousValue),this.previousValue}next(){const e=++this.previousValue;return this.ct&&this.ct(e),e}}fi.at=-1;
|
|
604
604
|
/**
|
|
605
605
|
* @license
|
|
606
606
|
* Copyright 2017 Google LLC
|
|
@@ -617,7 +617,7 @@ let As="9.15.0";
|
|
|
617
617
|
* See the License for the specific language governing permissions and
|
|
618
618
|
* limitations under the License.
|
|
619
619
|
*/
|
|
620
|
-
class pi{constructor(t,
|
|
620
|
+
class pi{constructor(e,t,n,r,s,i,o,a){this.databaseId=e,this.appId=t,this.persistenceKey=n,this.host=r,this.ssl=s,this.forceLongPolling=i,this.autoDetectLongPolling=o,this.useFetchStreams=a}}class gi{constructor(e,t){this.projectId=e,this.database=t||"(default)"}static empty(){return new gi("","")}get isDefaultDatabase(){return"(default)"===this.database}isEqual(e){return e instanceof gi&&e.projectId===this.projectId&&e.database===this.database}}
|
|
621
621
|
/**
|
|
622
622
|
* @license
|
|
623
623
|
* Copyright 2017 Google LLC
|
|
@@ -633,7 +633,7 @@ class pi{constructor(t,e,n,r,s,i,o,a){this.databaseId=t,this.appId=e,this.persis
|
|
|
633
633
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
634
634
|
* See the License for the specific language governing permissions and
|
|
635
635
|
* limitations under the License.
|
|
636
|
-
*/function mi(
|
|
636
|
+
*/function mi(e){let t=0;for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}function yi(e,t){for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&t(n,e[n])}function vi(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}
|
|
637
637
|
/**
|
|
638
638
|
* @license
|
|
639
639
|
* Copyright 2017 Google LLC
|
|
@@ -649,7 +649,7 @@ class pi{constructor(t,e,n,r,s,i,o,a){this.databaseId=t,this.appId=e,this.persis
|
|
|
649
649
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
650
650
|
* See the License for the specific language governing permissions and
|
|
651
651
|
* limitations under the License.
|
|
652
|
-
*/function wi(
|
|
652
|
+
*/function wi(e){return null==e}function Ii(e){return 0===e&&1/e==-1/0}
|
|
653
653
|
/**
|
|
654
654
|
* @license
|
|
655
655
|
* Copyright 2020 Google LLC
|
|
@@ -666,7 +666,7 @@ class pi{constructor(t,e,n,r,s,i,o,a){this.databaseId=t,this.appId=e,this.persis
|
|
|
666
666
|
* See the License for the specific language governing permissions and
|
|
667
667
|
* limitations under the License.
|
|
668
668
|
*/
|
|
669
|
-
class bi{constructor(
|
|
669
|
+
class bi{constructor(e){this.binaryString=e}static fromBase64String(e){const t=atob(e);return new bi(t)}static fromUint8Array(e){const t=function(e){let t="";for(let n=0;n<e.length;++n)t+=String.fromCharCode(e[n]);return t}(e);return new bi(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 e=this.binaryString,btoa(e);var e}toUint8Array(){return function(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}
|
|
670
670
|
/**
|
|
671
671
|
* @license
|
|
672
672
|
* Copyright 2020 Google LLC
|
|
@@ -682,7 +682,7 @@ class bi{constructor(t){this.binaryString=t}static fromBase64String(t){const e=a
|
|
|
682
682
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
683
683
|
* See the License for the specific language governing permissions and
|
|
684
684
|
* limitations under the License.
|
|
685
|
-
*/(this.binaryString)}approximateByteSize(){return 2*this.binaryString.length}compareTo(
|
|
685
|
+
*/(this.binaryString)}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return Xs(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}bi.EMPTY_BYTE_STRING=new bi("");const Ti=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function Ei(e){if(xs(!!e),"string"==typeof e){let t=0;const n=Ti.exec(e);if(xs(!!n),n[1]){let e=n[1];e=(e+"000000000").substr(0,9),t=Number(e)}const r=new Date(e);return{seconds:Math.floor(r.getTime()/1e3),nanos:t}}return{seconds:_i(e.seconds),nanos:_i(e.nanos)}}function _i(e){return"number"==typeof e?e:"string"==typeof e?Number(e):0}function Si(e){return"string"==typeof e?bi.fromBase64String(e):bi.fromUint8Array(e)}
|
|
686
686
|
/**
|
|
687
687
|
* @license
|
|
688
688
|
* Copyright 2020 Google LLC
|
|
@@ -698,7 +698,7 @@ class bi{constructor(t){this.binaryString=t}static fromBase64String(t){const e=a
|
|
|
698
698
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
699
699
|
* See the License for the specific language governing permissions and
|
|
700
700
|
* limitations under the License.
|
|
701
|
-
*/function Ci(
|
|
701
|
+
*/function Ci(e){var t,n;return"server_timestamp"===(null===(n=((null===(t=null==e?void 0:e.mapValue)||void 0===t?void 0:t.fields)||{}).__type__)||void 0===n?void 0:n.stringValue)}function ki(e){const t=e.mapValue.fields.__previous_value__;return Ci(t)?ki(t):t}function Ai(e){const t=Ei(e.mapValue.fields.__local_write_time__.timestampValue);return new Zs(t.seconds,t.nanos)}
|
|
702
702
|
/**
|
|
703
703
|
* @license
|
|
704
704
|
* Copyright 2020 Google LLC
|
|
@@ -714,7 +714,7 @@ class bi{constructor(t){this.binaryString=t}static fromBase64String(t){const e=a
|
|
|
714
714
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
715
715
|
* See the License for the specific language governing permissions and
|
|
716
716
|
* limitations under the License.
|
|
717
|
-
*/const Ni={fields:{__type__:{stringValue:"__max__"}}};function Di(
|
|
717
|
+
*/const Ni={fields:{__type__:{stringValue:"__max__"}}};function Di(e){return"nullValue"in e?0:"booleanValue"in e?1:"integerValue"in e||"doubleValue"in e?2:"timestampValue"in e?3:"stringValue"in e?5:"bytesValue"in e?6:"referenceValue"in e?7:"geoPointValue"in e?8:"arrayValue"in e?9:"mapValue"in e?Ci(e)?4:function(e){return"__max__"===(((e.mapValue||{}).fields||{}).__type__||{}).stringValue}
|
|
718
718
|
/**
|
|
719
719
|
* @license
|
|
720
720
|
* Copyright 2022 Google LLC
|
|
@@ -730,7 +730,7 @@ class bi{constructor(t){this.binaryString=t}static fromBase64String(t){const e=a
|
|
|
730
730
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
731
731
|
* See the License for the specific language governing permissions and
|
|
732
732
|
* limitations under the License.
|
|
733
|
-
*/(
|
|
733
|
+
*/(e)?9007199254740991:10:Ms()}function Ri(e,t){if(e===t)return!0;const n=Di(e);if(n!==Di(t))return!1;switch(n){case 0:case 9007199254740991:return!0;case 1:return e.booleanValue===t.booleanValue;case 4:return Ai(e).isEqual(Ai(t));case 3:return function(e,t){if("string"==typeof e.timestampValue&&"string"==typeof t.timestampValue&&e.timestampValue.length===t.timestampValue.length)return e.timestampValue===t.timestampValue;const n=Ei(e.timestampValue),r=Ei(t.timestampValue);return n.seconds===r.seconds&&n.nanos===r.nanos}(e,t);case 5:return e.stringValue===t.stringValue;case 6:return function(e,t){return Si(e.bytesValue).isEqual(Si(t.bytesValue))}(e,t);case 7:return e.referenceValue===t.referenceValue;case 8:return function(e,t){return _i(e.geoPointValue.latitude)===_i(t.geoPointValue.latitude)&&_i(e.geoPointValue.longitude)===_i(t.geoPointValue.longitude)}(e,t);case 2:return function(e,t){if("integerValue"in e&&"integerValue"in t)return _i(e.integerValue)===_i(t.integerValue);if("doubleValue"in e&&"doubleValue"in t){const n=_i(e.doubleValue),r=_i(t.doubleValue);return n===r?Ii(n)===Ii(r):isNaN(n)&&isNaN(r)}return!1}(e,t);case 9:return Js(e.arrayValue.values||[],t.arrayValue.values||[],Ri);case 10:return function(e,t){const n=e.mapValue.fields||{},r=t.mapValue.fields||{};if(mi(n)!==mi(r))return!1;for(const e in n)if(n.hasOwnProperty(e)&&(void 0===r[e]||!Ri(n[e],r[e])))return!1;return!0}(e,t);default:return Ms()}}function Oi(e,t){return void 0!==(e.values||[]).find((e=>Ri(e,t)))}function Li(e,t){if(e===t)return 0;const n=Di(e),r=Di(t);if(n!==r)return Xs(n,r);switch(n){case 0:case 9007199254740991:return 0;case 1:return Xs(e.booleanValue,t.booleanValue);case 2:return function(e,t){const n=_i(e.integerValue||e.doubleValue),r=_i(t.integerValue||t.doubleValue);return n<r?-1:n>r?1:n===r?0:isNaN(n)?isNaN(r)?0:-1:1}(e,t);case 3:return Pi(e.timestampValue,t.timestampValue);case 4:return Pi(Ai(e),Ai(t));case 5:return Xs(e.stringValue,t.stringValue);case 6:return function(e,t){const n=Si(e),r=Si(t);return n.compareTo(r)}(e.bytesValue,t.bytesValue);case 7:return function(e,t){const n=e.split("/"),r=t.split("/");for(let e=0;e<n.length&&e<r.length;e++){const t=Xs(n[e],r[e]);if(0!==t)return t}return Xs(n.length,r.length)}(e.referenceValue,t.referenceValue);case 8:return function(e,t){const n=Xs(_i(e.latitude),_i(t.latitude));return 0!==n?n:Xs(_i(e.longitude),_i(t.longitude))}(e.geoPointValue,t.geoPointValue);case 9:return function(e,t){const n=e.values||[],r=t.values||[];for(let e=0;e<n.length&&e<r.length;++e){const t=Li(n[e],r[e]);if(t)return t}return Xs(n.length,r.length)}(e.arrayValue,t.arrayValue);case 10:return function(e,t){if(e===Ni&&t===Ni)return 0;if(e===Ni)return 1;if(t===Ni)return-1;const n=e.fields||{},r=Object.keys(n),s=t.fields||{},i=Object.keys(s);r.sort(),i.sort();for(let e=0;e<r.length&&e<i.length;++e){const t=Xs(r[e],i[e]);if(0!==t)return t;const o=Li(n[r[e]],s[i[e]]);if(0!==o)return o}return Xs(r.length,i.length)}(e.mapValue,t.mapValue);default:throw Ms()}}function Pi(e,t){if("string"==typeof e&&"string"==typeof t&&e.length===t.length)return Xs(e,t);const n=Ei(e),r=Ei(t),s=Xs(n.seconds,r.seconds);return 0!==s?s:Xs(n.nanos,r.nanos)}function Mi(e){return xi(e)}function xi(e){return"nullValue"in e?"null":"booleanValue"in e?""+e.booleanValue:"integerValue"in e?""+e.integerValue:"doubleValue"in e?""+e.doubleValue:"timestampValue"in e?function(e){const t=Ei(e);return`time(${t.seconds},${t.nanos})`}(e.timestampValue):"stringValue"in e?e.stringValue:"bytesValue"in e?Si(e.bytesValue).toBase64():"referenceValue"in e?(n=e.referenceValue,ii.fromName(n).toString()):"geoPointValue"in e?`geo(${(t=e.geoPointValue).latitude},${t.longitude})`:"arrayValue"in e?function(e){let t="[",n=!0;for(const r of e.values||[])n?n=!1:t+=",",t+=xi(r);return t+"]"}(e.arrayValue):"mapValue"in e?function(e){const t=Object.keys(e.fields||{}).sort();let n="{",r=!0;for(const s of t)r?r=!1:n+=",",n+=`${s}:${xi(e.fields[s])}`;return n+"}"}(e.mapValue):Ms();var t,n}function Ui(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/${t.path.canonicalString()}`}}function Fi(e){return!!e&&"integerValue"in e}function Vi(e){return!!e&&"arrayValue"in e}function qi(e){return!!e&&"nullValue"in e}function ji(e){return!!e&&"doubleValue"in e&&isNaN(Number(e.doubleValue))}function Bi(e){return!!e&&"mapValue"in e}function zi(e){if(e.geoPointValue)return{geoPointValue:Object.assign({},e.geoPointValue)};if(e.timestampValue&&"object"==typeof e.timestampValue)return{timestampValue:Object.assign({},e.timestampValue)};if(e.mapValue){const t={mapValue:{fields:{}}};return yi(e.mapValue.fields,((e,n)=>t.mapValue.fields[e]=zi(n))),t}if(e.arrayValue){const t={arrayValue:{values:[]}};for(let n=0;n<(e.arrayValue.values||[]).length;++n)t.arrayValue.values[n]=zi(e.arrayValue.values[n]);return t}return Object.assign({},e)}class $i{constructor(e,t){this.position=e,this.inclusive=t}}function Ki(e,t,n){let r=0;for(let s=0;s<e.position.length;s++){const i=t[s],o=e.position[s];if(r=i.field.isKeyField()?ii.comparator(ii.fromName(o.referenceValue),n.key):Li(o,n.data.field(i.field)),"desc"===i.dir&&(r*=-1),0!==r)break}return r}function Hi(e,t){if(null===e)return null===t;if(null===t)return!1;if(e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let n=0;n<e.position.length;n++)if(!Ri(e.position[n],t.position[n]))return!1;return!0}
|
|
734
734
|
/**
|
|
735
735
|
* @license
|
|
736
736
|
* Copyright 2022 Google LLC
|
|
@@ -746,7 +746,7 @@ class bi{constructor(t){this.binaryString=t}static fromBase64String(t){const e=a
|
|
|
746
746
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
747
747
|
* See the License for the specific language governing permissions and
|
|
748
748
|
* limitations under the License.
|
|
749
|
-
*/class Gi{}class Wi extends Gi{constructor(t,
|
|
749
|
+
*/class Gi{}class Wi extends Gi{constructor(e,t,n){super(),this.field=e,this.op=t,this.value=n}static create(e,t,n){return e.isKeyField()?"in"===t||"not-in"===t?this.createKeyFieldInFilter(e,t,n):new to(e,t,n):"array-contains"===t?new io(e,n):"in"===t?new oo(e,n):"not-in"===t?new ao(e,n):"array-contains-any"===t?new co(e,n):new Wi(e,t,n)}static createKeyFieldInFilter(e,t,n){return"in"===t?new no(e,n):new ro(e,n)}matches(e){const t=e.data.field(this.field);return"!="===this.op?null!==t&&this.matchesComparison(Li(t,this.value)):null!==t&&Di(this.value)===Di(t)&&this.matchesComparison(Li(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return 0===e;case"!=":return 0!==e;case">":return e>0;case">=":return e>=0;default:return Ms()}}isInequality(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}getFirstInequalityField(){return this.isInequality()?this.field:null}}class Qi extends Gi{constructor(e,t){super(),this.filters=e,this.op=t,this.ht=null}static create(e,t){return new Qi(e,t)}matches(e){return Yi(this)?void 0===this.filters.find((t=>!t.matches(e))):void 0!==this.filters.find((t=>t.matches(e)))}getFlattenedFilters(){return null!==this.ht||(this.ht=this.filters.reduce(((e,t)=>e.concat(t.getFlattenedFilters())),[])),this.ht}getFilters(){return Object.assign([],this.filters)}getFirstInequalityField(){const e=this.lt((e=>e.isInequality()));return null!==e?e.field:null}lt(e){for(const t of this.getFlattenedFilters())if(e(t))return t;return null}}function Yi(e){return"and"===e.op}function Xi(e){return function(e){for(const t of e.filters)if(t instanceof Qi)return!1;return!0}(e)&&Yi(e)}function Ji(e){if(e instanceof Wi)return e.field.canonicalString()+e.op.toString()+Mi(e.value);{const t=e.filters.map((e=>Ji(e))).join(",");return`${e.op}(${t})`}}function Zi(e,t){return e instanceof Wi?function(e,t){return t instanceof Wi&&e.op===t.op&&e.field.isEqual(t.field)&&Ri(e.value,t.value)}(e,t):e instanceof Qi?function(e,t){return t instanceof Qi&&e.op===t.op&&e.filters.length===t.filters.length&&e.filters.reduce(((e,n,r)=>e&&Zi(n,t.filters[r])),!0)}(e,t):void Ms()}function eo(e){return e instanceof Wi?function(e){return`${e.field.canonicalString()} ${e.op} ${Mi(e.value)}`}(e):e instanceof Qi?function(e){return e.op.toString()+" {"+e.getFilters().map(eo).join(" ,")+"}"}(e):"Filter"}class to extends Wi{constructor(e,t,n){super(e,t,n),this.key=ii.fromName(n.referenceValue)}matches(e){const t=ii.comparator(e.key,this.key);return this.matchesComparison(t)}}class no extends Wi{constructor(e,t){super(e,"in",t),this.keys=so("in",t)}matches(e){return this.keys.some((t=>t.isEqual(e.key)))}}class ro extends Wi{constructor(e,t){super(e,"not-in",t),this.keys=so("not-in",t)}matches(e){return!this.keys.some((t=>t.isEqual(e.key)))}}function so(e,t){var n;return((null===(n=t.arrayValue)||void 0===n?void 0:n.values)||[]).map((e=>ii.fromName(e.referenceValue)))}class io extends Wi{constructor(e,t){super(e,"array-contains",t)}matches(e){const t=e.data.field(this.field);return Vi(t)&&Oi(t.arrayValue,this.value)}}class oo extends Wi{constructor(e,t){super(e,"in",t)}matches(e){const t=e.data.field(this.field);return null!==t&&Oi(this.value.arrayValue,t)}}class ao extends Wi{constructor(e,t){super(e,"not-in",t)}matches(e){if(Oi(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;const t=e.data.field(this.field);return null!==t&&!Oi(this.value.arrayValue,t)}}class co extends Wi{constructor(e,t){super(e,"array-contains-any",t)}matches(e){const t=e.data.field(this.field);return!(!Vi(t)||!t.arrayValue.values)&&t.arrayValue.values.some((e=>Oi(this.value.arrayValue,e)))}}
|
|
750
750
|
/**
|
|
751
751
|
* @license
|
|
752
752
|
* Copyright 2022 Google LLC
|
|
@@ -762,7 +762,7 @@ class bi{constructor(t){this.binaryString=t}static fromBase64String(t){const e=a
|
|
|
762
762
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
763
763
|
* See the License for the specific language governing permissions and
|
|
764
764
|
* limitations under the License.
|
|
765
|
-
*/class uo{constructor(t
|
|
765
|
+
*/class uo{constructor(e,t="asc"){this.field=e,this.dir=t}}function ho(e,t){return e.dir===t.dir&&e.field.isEqual(t.field)}
|
|
766
766
|
/**
|
|
767
767
|
* @license
|
|
768
768
|
* Copyright 2017 Google LLC
|
|
@@ -778,7 +778,7 @@ class bi{constructor(t){this.binaryString=t}static fromBase64String(t){const e=a
|
|
|
778
778
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
779
779
|
* See the License for the specific language governing permissions and
|
|
780
780
|
* limitations under the License.
|
|
781
|
-
*/class lo{constructor(t
|
|
781
|
+
*/class lo{constructor(e,t){this.comparator=e,this.root=t||po.EMPTY}insert(e,t){return new lo(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,po.BLACK,null,null))}remove(e){return new lo(this.comparator,this.root.remove(e,this.comparator).copy(null,null,po.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){const n=this.comparator(e,t.key);if(0===n)return t.value;n<0?t=t.left:n>0&&(t=t.right)}return null}indexOf(e){let t=0,n=this.root;for(;!n.isEmpty();){const r=this.comparator(e,n.key);if(0===r)return t+n.left.size;r<0?n=n.left:(t+=n.left.size+1,n=n.right)}return-1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(e){return this.root.inorderTraversal(e)}forEach(e){this.inorderTraversal(((t,n)=>(e(t,n),!1)))}toString(){const e=[];return this.inorderTraversal(((t,n)=>(e.push(`${t}:${n}`),!1))),`{${e.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new fo(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new fo(this.root,e,this.comparator,!1)}getReverseIterator(){return new fo(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new fo(this.root,e,this.comparator,!0)}}class fo{constructor(e,t,n,r){this.isReverse=r,this.nodeStack=[];let s=1;for(;!e.isEmpty();)if(s=t?n(e.key,t):1,t&&r&&(s*=-1),s<0)e=this.isReverse?e.left:e.right;else{if(0===s){this.nodeStack.push(e);break}this.nodeStack.push(e),e=this.isReverse?e.right:e.left}}getNext(){let e=this.nodeStack.pop();const t={key:e.key,value:e.value};if(this.isReverse)for(e=e.left;!e.isEmpty();)this.nodeStack.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack.push(e),e=e.left;return t}hasNext(){return this.nodeStack.length>0}peek(){if(0===this.nodeStack.length)return null;const e=this.nodeStack[this.nodeStack.length-1];return{key:e.key,value:e.value}}}class po{constructor(e,t,n,r,s){this.key=e,this.value=t,this.color=null!=n?n:po.RED,this.left=null!=r?r:po.EMPTY,this.right=null!=s?s:po.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,n,r,s){return new po(null!=e?e:this.key,null!=t?t:this.value,null!=n?n:this.color,null!=r?r:this.left,null!=s?s:this.right)}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min(){return this.left.isEmpty()?this:this.left.min()}minKey(){return this.min().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,n){let r=this;const s=n(e,r.key);return r=s<0?r.copy(null,null,null,r.left.insert(e,t,n),null):0===s?r.copy(null,t,null,null,null):r.copy(null,null,null,null,r.right.insert(e,t,n)),r.fixUp()}removeMin(){if(this.left.isEmpty())return po.EMPTY;let e=this;return e.left.isRed()||e.left.left.isRed()||(e=e.moveRedLeft()),e=e.copy(null,null,null,e.left.removeMin(),null),e.fixUp()}remove(e,t){let n,r=this;if(t(e,r.key)<0)r.left.isEmpty()||r.left.isRed()||r.left.left.isRed()||(r=r.moveRedLeft()),r=r.copy(null,null,null,r.left.remove(e,t),null);else{if(r.left.isRed()&&(r=r.rotateRight()),r.right.isEmpty()||r.right.isRed()||r.right.left.isRed()||(r=r.moveRedRight()),0===t(e,r.key)){if(r.right.isEmpty())return po.EMPTY;n=r.right.min(),r=r.copy(n.key,n.value,null,null,r.right.removeMin())}r=r.copy(null,null,null,null,r.right.remove(e,t))}return r.fixUp()}isRed(){return this.color}fixUp(){let e=this;return e.right.isRed()&&!e.left.isRed()&&(e=e.rotateLeft()),e.left.isRed()&&e.left.left.isRed()&&(e=e.rotateRight()),e.left.isRed()&&e.right.isRed()&&(e=e.colorFlip()),e}moveRedLeft(){let e=this.colorFlip();return e.right.left.isRed()&&(e=e.copy(null,null,null,null,e.right.rotateRight()),e=e.rotateLeft(),e=e.colorFlip()),e}moveRedRight(){let e=this.colorFlip();return e.left.left.isRed()&&(e=e.rotateRight(),e=e.colorFlip()),e}rotateLeft(){const e=this.copy(null,null,po.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){const e=this.copy(null,null,po.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){const e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth(){const e=this.check();return Math.pow(2,e)<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw Ms();if(this.right.isRed())throw Ms();const e=this.left.check();if(e!==this.right.check())throw Ms();return e+(this.isRed()?0:1)}}po.EMPTY=null,po.RED=!0,po.BLACK=!1,po.EMPTY=new class{constructor(){this.size=0}get key(){throw Ms()}get value(){throw Ms()}get color(){throw Ms()}get left(){throw Ms()}get right(){throw Ms()}copy(e,t,n,r,s){return this}insert(e,t,n){return new po(e,t)}remove(e,t){return this}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};
|
|
782
782
|
/**
|
|
783
783
|
* @license
|
|
784
784
|
* Copyright 2017 Google LLC
|
|
@@ -795,7 +795,7 @@ class bi{constructor(t){this.binaryString=t}static fromBase64String(t){const e=a
|
|
|
795
795
|
* See the License for the specific language governing permissions and
|
|
796
796
|
* limitations under the License.
|
|
797
797
|
*/
|
|
798
|
-
class go{constructor(
|
|
798
|
+
class go{constructor(e){this.comparator=e,this.data=new lo(this.comparator)}has(e){return null!==this.data.get(e)}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(e){return this.data.indexOf(e)}forEach(e){this.data.inorderTraversal(((t,n)=>(e(t),!1)))}forEachInRange(e,t){const n=this.data.getIteratorFrom(e[0]);for(;n.hasNext();){const r=n.getNext();if(this.comparator(r.key,e[1])>=0)return;t(r.key)}}forEachWhile(e,t){let n;for(n=void 0!==t?this.data.getIteratorFrom(t):this.data.getIterator();n.hasNext();)if(!e(n.getNext().key))return}firstAfterOrEqual(e){const t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new mo(this.data.getIterator())}getIteratorFrom(e){return new mo(this.data.getIteratorFrom(e))}add(e){return this.copy(this.data.remove(e).insert(e,!0))}delete(e){return this.has(e)?this.copy(this.data.remove(e)):this}isEmpty(){return this.data.isEmpty()}unionWith(e){let t=this;return t.size<e.size&&(t=e,e=this),e.forEach((e=>{t=t.add(e)})),t}isEqual(e){if(!(e instanceof go))return!1;if(this.size!==e.size)return!1;const t=this.data.getIterator(),n=e.data.getIterator();for(;t.hasNext();){const e=t.getNext().key,r=n.getNext().key;if(0!==this.comparator(e,r))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 go(this.comparator);return t.data=e,t}}class mo{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}
|
|
799
799
|
/**
|
|
800
800
|
* @license
|
|
801
801
|
* Copyright 2020 Google LLC
|
|
@@ -811,7 +811,7 @@ class go{constructor(t){this.comparator=t,this.data=new lo(this.comparator)}has(
|
|
|
811
811
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
812
812
|
* See the License for the specific language governing permissions and
|
|
813
813
|
* limitations under the License.
|
|
814
|
-
*/class yo{constructor(
|
|
814
|
+
*/class yo{constructor(e){this.fields=e,e.sort(si.comparator)}static empty(){return new yo([])}unionWith(e){let t=new go(si.comparator);for(const e of this.fields)t=t.add(e);for(const n of e)t=t.add(n);return new yo(t.toArray())}covers(e){for(const t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return Js(this.fields,e.fields,((e,t)=>e.isEqual(t)))}}
|
|
815
815
|
/**
|
|
816
816
|
* @license
|
|
817
817
|
* Copyright 2017 Google LLC
|
|
@@ -827,7 +827,7 @@ class go{constructor(t){this.comparator=t,this.data=new lo(this.comparator)}has(
|
|
|
827
827
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
828
828
|
* See the License for the specific language governing permissions and
|
|
829
829
|
* limitations under the License.
|
|
830
|
-
*/class vo{constructor(
|
|
830
|
+
*/class vo{constructor(e){this.value=e}static empty(){return new vo({mapValue:{}})}field(e){if(e.isEmpty())return this.value;{let t=this.value;for(let n=0;n<e.length-1;++n)if(t=(t.mapValue.fields||{})[e.get(n)],!Bi(t))return null;return t=(t.mapValue.fields||{})[e.lastSegment()],t||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=zi(t)}setAll(e){let t=si.emptyPath(),n={},r=[];e.forEach(((e,s)=>{if(!t.isImmediateParentOf(s)){const e=this.getFieldsMap(t);this.applyChanges(e,n,r),n={},r=[],t=s.popLast()}e?n[s.lastSegment()]=zi(e):r.push(s.lastSegment())}));const s=this.getFieldsMap(t);this.applyChanges(s,n,r)}delete(e){const t=this.field(e.popLast());Bi(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return Ri(this.value,e.value)}getFieldsMap(e){let t=this.value;t.mapValue.fields||(t.mapValue={fields:{}});for(let n=0;n<e.length;++n){let r=t.mapValue.fields[e.get(n)];Bi(r)&&r.mapValue.fields||(r={mapValue:{fields:{}}},t.mapValue.fields[e.get(n)]=r),t=r}return t.mapValue.fields}applyChanges(e,t,n){yi(t,((t,n)=>e[t]=n));for(const t of n)delete e[t]}clone(){return new vo(zi(this.value))}}
|
|
831
831
|
/**
|
|
832
832
|
* @license
|
|
833
833
|
* Copyright 2017 Google LLC
|
|
@@ -843,7 +843,7 @@ class go{constructor(t){this.comparator=t,this.data=new lo(this.comparator)}has(
|
|
|
843
843
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
844
844
|
* See the License for the specific language governing permissions and
|
|
845
845
|
* limitations under the License.
|
|
846
|
-
*/class wo{constructor(t,
|
|
846
|
+
*/class wo{constructor(e,t,n,r,s,i,o){this.key=e,this.documentType=t,this.version=n,this.readTime=r,this.createTime=s,this.data=i,this.documentState=o}static newInvalidDocument(e){return new wo(e,0,ei.min(),ei.min(),ei.min(),vo.empty(),0)}static newFoundDocument(e,t,n,r){return new wo(e,1,t,ei.min(),n,r,0)}static newNoDocument(e,t){return new wo(e,2,t,ei.min(),ei.min(),vo.empty(),0)}static newUnknownDocument(e,t){return new wo(e,3,t,ei.min(),ei.min(),vo.empty(),2)}convertToFoundDocument(e,t){return!this.createTime.isEqual(ei.min())||2!==this.documentType&&0!==this.documentType||(this.createTime=e),this.version=e,this.documentType=1,this.data=t,this.documentState=0,this}convertToNoDocument(e){return this.version=e,this.documentType=2,this.data=vo.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=vo.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=ei.min(),this}setReadTime(e){return this.readTime=e,this}get hasLocalMutations(){return 1===this.documentState}get hasCommittedMutations(){return 2===this.documentState}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return 0!==this.documentType}isFoundDocument(){return 1===this.documentType}isNoDocument(){return 2===this.documentType}isUnknownDocument(){return 3===this.documentType}isEqual(e){return e instanceof wo&&this.key.isEqual(e.key)&&this.version.isEqual(e.version)&&this.documentType===e.documentType&&this.documentState===e.documentState&&this.data.isEqual(e.data)}mutableCopy(){return new wo(this.key,this.documentType,this.version,this.readTime,this.createTime,this.data.clone(),this.documentState)}toString(){return`Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, {createTime: ${this.createTime}}), {documentType: ${this.documentType}}), {documentState: ${this.documentState}})`}}
|
|
847
847
|
/**
|
|
848
848
|
* @license
|
|
849
849
|
* Copyright 2019 Google LLC
|
|
@@ -859,7 +859,7 @@ class go{constructor(t){this.comparator=t,this.data=new lo(this.comparator)}has(
|
|
|
859
859
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
860
860
|
* See the License for the specific language governing permissions and
|
|
861
861
|
* limitations under the License.
|
|
862
|
-
*/class Io{constructor(t
|
|
862
|
+
*/class Io{constructor(e,t=null,n=[],r=[],s=null,i=null,o=null){this.path=e,this.collectionGroup=t,this.orderBy=n,this.filters=r,this.limit=s,this.startAt=i,this.endAt=o,this.ft=null}}function bo(e,t=null,n=[],r=[],s=null,i=null,o=null){return new Io(e,t,n,r,s,i,o)}function To(e){const t=Us(e);if(null===t.ft){let e=t.path.canonicalString();null!==t.collectionGroup&&(e+="|cg:"+t.collectionGroup),e+="|f:",e+=t.filters.map((e=>Ji(e))).join(","),e+="|ob:",e+=t.orderBy.map((e=>function(e){return e.field.canonicalString()+e.dir}(e))).join(","),wi(t.limit)||(e+="|l:",e+=t.limit),t.startAt&&(e+="|lb:",e+=t.startAt.inclusive?"b:":"a:",e+=t.startAt.position.map((e=>Mi(e))).join(",")),t.endAt&&(e+="|ub:",e+=t.endAt.inclusive?"a:":"b:",e+=t.endAt.position.map((e=>Mi(e))).join(",")),t.ft=e}return t.ft}function Eo(e,t){if(e.limit!==t.limit)return!1;if(e.orderBy.length!==t.orderBy.length)return!1;for(let n=0;n<e.orderBy.length;n++)if(!ho(e.orderBy[n],t.orderBy[n]))return!1;if(e.filters.length!==t.filters.length)return!1;for(let n=0;n<e.filters.length;n++)if(!Zi(e.filters[n],t.filters[n]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!Hi(e.startAt,t.startAt)&&Hi(e.endAt,t.endAt)}function _o(e){return ii.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}
|
|
863
863
|
/**
|
|
864
864
|
* @license
|
|
865
865
|
* Copyright 2017 Google LLC
|
|
@@ -875,7 +875,7 @@ class go{constructor(t){this.comparator=t,this.data=new lo(this.comparator)}has(
|
|
|
875
875
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
876
876
|
* See the License for the specific language governing permissions and
|
|
877
877
|
* limitations under the License.
|
|
878
|
-
*/class So{constructor(t
|
|
878
|
+
*/class So{constructor(e,t=null,n=[],r=[],s=null,i="F",o=null,a=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=n,this.filters=r,this.limit=s,this.limitType=i,this.startAt=o,this.endAt=a,this.dt=null,this._t=null,this.startAt,this.endAt}}function Co(e){return new So(e)}function ko(e){return 0===e.filters.length&&null===e.limit&&null==e.startAt&&null==e.endAt&&(0===e.explicitOrderBy.length||1===e.explicitOrderBy.length&&e.explicitOrderBy[0].field.isKeyField())}function Ao(e){return e.explicitOrderBy.length>0?e.explicitOrderBy[0].field:null}function No(e){for(const t of e.filters){const e=t.getFirstInequalityField();if(null!==e)return e}return null}function Do(e){return null!==e.collectionGroup}function Ro(e){const t=Us(e);if(null===t.dt){t.dt=[];const e=No(t),n=Ao(t);if(null!==e&&null===n)e.isKeyField()||t.dt.push(new uo(e)),t.dt.push(new uo(si.keyField(),"asc"));else{let e=!1;for(const n of t.explicitOrderBy)t.dt.push(n),n.field.isKeyField()&&(e=!0);if(!e){const e=t.explicitOrderBy.length>0?t.explicitOrderBy[t.explicitOrderBy.length-1].dir:"asc";t.dt.push(new uo(si.keyField(),e))}}}return t.dt}function Oo(e){const t=Us(e);if(!t._t)if("F"===t.limitType)t._t=bo(t.path,t.collectionGroup,Ro(t),t.filters,t.limit,t.startAt,t.endAt);else{const e=[];for(const n of Ro(t)){const t="desc"===n.dir?"asc":"desc";e.push(new uo(n.field,t))}const n=t.endAt?new $i(t.endAt.position,t.endAt.inclusive):null,r=t.startAt?new $i(t.startAt.position,t.startAt.inclusive):null;t._t=bo(t.path,t.collectionGroup,e,t.filters,t.limit,n,r)}return t._t}function Lo(e,t){t.getFirstInequalityField(),No(e);const n=e.filters.concat([t]);return new So(e.path,e.collectionGroup,e.explicitOrderBy.slice(),n,e.limit,e.limitType,e.startAt,e.endAt)}function Po(e,t,n){return new So(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,n,e.startAt,e.endAt)}function Mo(e,t){return Eo(Oo(e),Oo(t))&&e.limitType===t.limitType}function xo(e){return`${To(Oo(e))}|lt:${e.limitType}`}function Uo(e){return`Query(target=${function(e){let t=e.path.canonicalString();return null!==e.collectionGroup&&(t+=" collectionGroup="+e.collectionGroup),e.filters.length>0&&(t+=`, filters: [${e.filters.map((e=>eo(e))).join(", ")}]`),wi(e.limit)||(t+=", limit: "+e.limit),e.orderBy.length>0&&(t+=`, orderBy: [${e.orderBy.map((e=>function(e){return`${e.field.canonicalString()} (${e.dir})`}(e))).join(", ")}]`),e.startAt&&(t+=", startAt: ",t+=e.startAt.inclusive?"b:":"a:",t+=e.startAt.position.map((e=>Mi(e))).join(",")),e.endAt&&(t+=", endAt: ",t+=e.endAt.inclusive?"a:":"b:",t+=e.endAt.position.map((e=>Mi(e))).join(",")),`Target(${t})`}(Oo(e))}; limitType=${e.limitType})`}function Fo(e,t){return t.isFoundDocument()&&function(e,t){const n=t.key.path;return null!==e.collectionGroup?t.key.hasCollectionId(e.collectionGroup)&&e.path.isPrefixOf(n):ii.isDocumentKey(e.path)?e.path.isEqual(n):e.path.isImmediateParentOf(n)}(e,t)&&function(e,t){for(const n of Ro(e))if(!n.field.isKeyField()&&null===t.data.field(n.field))return!1;return!0}(e,t)&&function(e,t){for(const n of e.filters)if(!n.matches(t))return!1;return!0}(e,t)&&function(e,t){return!(e.startAt&&!function(e,t,n){const r=Ki(e,t,n);return e.inclusive?r<=0:r<0}(e.startAt,Ro(e),t))&&!(e.endAt&&!function(e,t,n){const r=Ki(e,t,n);return e.inclusive?r>=0:r>0}(e.endAt,Ro(e),t))}(e,t)}function Vo(e){return(t,n)=>{let r=!1;for(const s of Ro(e)){const e=qo(s,t,n);if(0!==e)return e;r=r||s.field.isKeyField()}return 0}}function qo(e,t,n){const r=e.field.isKeyField()?ii.comparator(t.key,n.key):function(e,t,n){const r=t.data.field(e),s=n.data.field(e);return null!==r&&null!==s?Li(r,s):Ms()}(e.field,t,n);switch(e.dir){case"asc":return r;case"desc":return-1*r;default:return Ms()}}
|
|
879
879
|
/**
|
|
880
880
|
* @license
|
|
881
881
|
* Copyright 2020 Google LLC
|
|
@@ -891,7 +891,7 @@ class go{constructor(t){this.comparator=t,this.data=new lo(this.comparator)}has(
|
|
|
891
891
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
892
892
|
* See the License for the specific language governing permissions and
|
|
893
893
|
* limitations under the License.
|
|
894
|
-
*/function jo(t
|
|
894
|
+
*/function jo(e,t){if(e.wt){if(isNaN(t))return{doubleValue:"NaN"};if(t===1/0)return{doubleValue:"Infinity"};if(t===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:Ii(t)?"-0":t}}function Bo(e){return{integerValue:""+e}}function zo(e,t){return function(e){return"number"==typeof e&&Number.isInteger(e)&&!Ii(e)&&e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER}(t)?Bo(t):jo(e,t)}
|
|
895
895
|
/**
|
|
896
896
|
* @license
|
|
897
897
|
* Copyright 2018 Google LLC
|
|
@@ -907,7 +907,7 @@ class go{constructor(t){this.comparator=t,this.data=new lo(this.comparator)}has(
|
|
|
907
907
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
908
908
|
* See the License for the specific language governing permissions and
|
|
909
909
|
* limitations under the License.
|
|
910
|
-
*/class $o{constructor(){this._=void 0}}function Ko(t,
|
|
910
|
+
*/class $o{constructor(){this._=void 0}}function Ko(e,t,n){return e instanceof Go?function(e,t){const n={fields:{__type__:{stringValue:"server_timestamp"},__local_write_time__:{timestampValue:{seconds:e.seconds,nanos:e.nanoseconds}}}};return t&&(n.fields.__previous_value__=t),{mapValue:n}}(n,t):e instanceof Wo?Qo(e,t):e instanceof Yo?Xo(e,t):function(e,t){const n=function(e,t){return e instanceof Jo?Fi(n=t)||function(e){return!!e&&"doubleValue"in e}(n)?t:{integerValue:0}:null;var n}(e,t),r=Zo(n)+Zo(e.gt);return Fi(n)&&Fi(e.gt)?Bo(r):jo(e.yt,r)}(e,t)}function Ho(e,t,n){return e instanceof Wo?Qo(e,t):e instanceof Yo?Xo(e,t):n}class Go extends $o{}class Wo extends $o{constructor(e){super(),this.elements=e}}function Qo(e,t){const n=ea(t);for(const t of e.elements)n.some((e=>Ri(e,t)))||n.push(t);return{arrayValue:{values:n}}}class Yo extends $o{constructor(e){super(),this.elements=e}}function Xo(e,t){let n=ea(t);for(const t of e.elements)n=n.filter((e=>!Ri(e,t)));return{arrayValue:{values:n}}}class Jo extends $o{constructor(e,t){super(),this.yt=e,this.gt=t}}function Zo(e){return _i(e.integerValue||e.doubleValue)}function ea(e){return Vi(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}class ta{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new ta}static exists(e){return new ta(void 0,e)}static updateTime(e){return new ta(e)}get isNone(){return void 0===this.updateTime&&void 0===this.exists}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function na(e,t){return void 0!==e.updateTime?t.isFoundDocument()&&t.version.isEqual(e.updateTime):void 0===e.exists||e.exists===t.isFoundDocument()}class ra{}function sa(e,t){if(!e.hasLocalMutations||t&&0===t.fields.length)return null;if(null===t)return e.isNoDocument()?new fa(e.key,ta.none()):new ca(e.key,e.data,ta.none());{const n=e.data,r=vo.empty();let s=new go(si.comparator);for(let e of t.fields)if(!s.has(e)){let t=n.field(e);null===t&&e.length>1&&(e=e.popLast(),t=n.field(e)),null===t?r.delete(e):r.set(e,t),s=s.add(e)}return new ua(e.key,r,new yo(s.toArray()),ta.none())}}function ia(e,t,n){e instanceof ca?function(e,t,n){const r=e.value.clone(),s=la(e.fieldTransforms,t,n.transformResults);r.setAll(s),t.convertToFoundDocument(n.version,r).setHasCommittedMutations()}(e,t,n):e instanceof ua?function(e,t,n){if(!na(e.precondition,t))return void t.convertToUnknownDocument(n.version);const r=la(e.fieldTransforms,t,n.transformResults),s=t.data;s.setAll(ha(e)),s.setAll(r),t.convertToFoundDocument(n.version,s).setHasCommittedMutations()}(e,t,n):function(e,t,n){t.convertToNoDocument(n.version).setHasCommittedMutations()}(0,t,n)}function oa(e,t,n,r){return e instanceof ca?function(e,t,n,r){if(!na(e.precondition,t))return n;const s=e.value.clone(),i=da(e.fieldTransforms,r,t);return s.setAll(i),t.convertToFoundDocument(t.version,s).setHasLocalMutations(),null}(e,t,n,r):e instanceof ua?function(e,t,n,r){if(!na(e.precondition,t))return n;const s=da(e.fieldTransforms,r,t),i=t.data;return i.setAll(ha(e)),i.setAll(s),t.convertToFoundDocument(t.version,i).setHasLocalMutations(),null===n?null:n.unionWith(e.fieldMask.fields).unionWith(e.fieldTransforms.map((e=>e.field)))}(e,t,n,r):function(e,t,n){return na(e.precondition,t)?(t.convertToNoDocument(t.version).setHasLocalMutations(),null):n}(e,t,n)}function aa(e,t){return e.type===t.type&&!!e.key.isEqual(t.key)&&!!e.precondition.isEqual(t.precondition)&&!!function(e,t){return void 0===e&&void 0===t||!(!e||!t)&&Js(e,t,((e,t)=>function(e,t){return e.field.isEqual(t.field)&&function(e,t){return e instanceof Wo&&t instanceof Wo||e instanceof Yo&&t instanceof Yo?Js(e.elements,t.elements,Ri):e instanceof Jo&&t instanceof Jo?Ri(e.gt,t.gt):e instanceof Go&&t instanceof Go}(e.transform,t.transform)}(e,t)))}(e.fieldTransforms,t.fieldTransforms)&&(0===e.type?e.value.isEqual(t.value):1!==e.type||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask))}class ca extends ra{constructor(e,t,n,r=[]){super(),this.key=e,this.value=t,this.precondition=n,this.fieldTransforms=r,this.type=0}getFieldMask(){return null}}class ua extends ra{constructor(e,t,n,r,s=[]){super(),this.key=e,this.data=t,this.fieldMask=n,this.precondition=r,this.fieldTransforms=s,this.type=1}getFieldMask(){return this.fieldMask}}function ha(e){const t=new Map;return e.fieldMask.fields.forEach((n=>{if(!n.isEmpty()){const r=e.data.field(n);t.set(n,r)}})),t}function la(e,t,n){const r=new Map;xs(e.length===n.length);for(let s=0;s<n.length;s++){const i=e[s],o=i.transform,a=t.data.field(i.field);r.set(i.field,Ho(o,a,n[s]))}return r}function da(e,t,n){const r=new Map;for(const s of e){const e=s.transform,i=n.data.field(s.field);r.set(s.field,Ko(e,i,t))}return r}class fa extends ra{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}
|
|
911
911
|
/**
|
|
912
912
|
* @license
|
|
913
913
|
* Copyright 2017 Google LLC
|
|
@@ -923,7 +923,7 @@ class go{constructor(t){this.comparator=t,this.data=new lo(this.comparator)}has(
|
|
|
923
923
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
924
924
|
* See the License for the specific language governing permissions and
|
|
925
925
|
* limitations under the License.
|
|
926
|
-
*/class pa{constructor(
|
|
926
|
+
*/class pa{constructor(e){this.count=e}}
|
|
927
927
|
/**
|
|
928
928
|
* @license
|
|
929
929
|
* Copyright 2017 Google LLC
|
|
@@ -939,7 +939,7 @@ class go{constructor(t){this.comparator=t,this.data=new lo(this.comparator)}has(
|
|
|
939
939
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
940
940
|
* See the License for the specific language governing permissions and
|
|
941
941
|
* limitations under the License.
|
|
942
|
-
*/var ga,ma;function ya(
|
|
942
|
+
*/var ga,ma;function ya(e){if(void 0===e)return Os("GRPC error has no .code"),Fs.UNKNOWN;switch(e){case ga.OK:return Fs.OK;case ga.CANCELLED:return Fs.CANCELLED;case ga.UNKNOWN:return Fs.UNKNOWN;case ga.DEADLINE_EXCEEDED:return Fs.DEADLINE_EXCEEDED;case ga.RESOURCE_EXHAUSTED:return Fs.RESOURCE_EXHAUSTED;case ga.INTERNAL:return Fs.INTERNAL;case ga.UNAVAILABLE:return Fs.UNAVAILABLE;case ga.UNAUTHENTICATED:return Fs.UNAUTHENTICATED;case ga.INVALID_ARGUMENT:return Fs.INVALID_ARGUMENT;case ga.NOT_FOUND:return Fs.NOT_FOUND;case ga.ALREADY_EXISTS:return Fs.ALREADY_EXISTS;case ga.PERMISSION_DENIED:return Fs.PERMISSION_DENIED;case ga.FAILED_PRECONDITION:return Fs.FAILED_PRECONDITION;case ga.ABORTED:return Fs.ABORTED;case ga.OUT_OF_RANGE:return Fs.OUT_OF_RANGE;case ga.UNIMPLEMENTED:return Fs.UNIMPLEMENTED;case ga.DATA_LOSS:return Fs.DATA_LOSS;default:return Ms()}}(ma=ga||(ga={}))[ma.OK=0]="OK",ma[ma.CANCELLED=1]="CANCELLED",ma[ma.UNKNOWN=2]="UNKNOWN",ma[ma.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",ma[ma.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",ma[ma.NOT_FOUND=5]="NOT_FOUND",ma[ma.ALREADY_EXISTS=6]="ALREADY_EXISTS",ma[ma.PERMISSION_DENIED=7]="PERMISSION_DENIED",ma[ma.UNAUTHENTICATED=16]="UNAUTHENTICATED",ma[ma.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",ma[ma.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",ma[ma.ABORTED=10]="ABORTED",ma[ma.OUT_OF_RANGE=11]="OUT_OF_RANGE",ma[ma.UNIMPLEMENTED=12]="UNIMPLEMENTED",ma[ma.INTERNAL=13]="INTERNAL",ma[ma.UNAVAILABLE=14]="UNAVAILABLE",ma[ma.DATA_LOSS=15]="DATA_LOSS";
|
|
943
943
|
/**
|
|
944
944
|
* @license
|
|
945
945
|
* Copyright 2017 Google LLC
|
|
@@ -956,7 +956,7 @@ class go{constructor(t){this.comparator=t,this.data=new lo(this.comparator)}has(
|
|
|
956
956
|
* See the License for the specific language governing permissions and
|
|
957
957
|
* limitations under the License.
|
|
958
958
|
*/
|
|
959
|
-
class va{constructor(t
|
|
959
|
+
class va{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(e){const t=this.mapKeyFn(e),n=this.inner[t];if(void 0!==n)for(const[t,r]of n)if(this.equalsFn(t,e))return r}has(e){return void 0!==this.get(e)}set(e,t){const n=this.mapKeyFn(e),r=this.inner[n];if(void 0===r)return this.inner[n]=[[e,t]],void this.innerSize++;for(let n=0;n<r.length;n++)if(this.equalsFn(r[n][0],e))return void(r[n]=[e,t]);r.push([e,t]),this.innerSize++}delete(e){const t=this.mapKeyFn(e),n=this.inner[t];if(void 0===n)return!1;for(let r=0;r<n.length;r++)if(this.equalsFn(n[r][0],e))return 1===n.length?delete this.inner[t]:n.splice(r,1),this.innerSize--,!0;return!1}forEach(e){yi(this.inner,((t,n)=>{for(const[t,r]of n)e(t,r)}))}isEmpty(){return vi(this.inner)}size(){return this.innerSize}}
|
|
960
960
|
/**
|
|
961
961
|
* @license
|
|
962
962
|
* Copyright 2017 Google LLC
|
|
@@ -972,7 +972,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
972
972
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
973
973
|
* See the License for the specific language governing permissions and
|
|
974
974
|
* limitations under the License.
|
|
975
|
-
*/const wa=new lo(ii.comparator);function Ia(){return wa}const ba=new lo(ii.comparator);function Ta(...
|
|
975
|
+
*/const wa=new lo(ii.comparator);function Ia(){return wa}const ba=new lo(ii.comparator);function Ta(...e){let t=ba;for(const n of e)t=t.insert(n.key,n);return t}function Ea(e){let t=ba;return e.forEach(((e,n)=>t=t.insert(e,n.overlayedDocument))),t}function _a(){return Ca()}function Sa(){return Ca()}function Ca(){return new va((e=>e.toString()),((e,t)=>e.isEqual(t)))}new lo(ii.comparator);const ka=new go(ii.comparator);function Aa(...e){let t=ka;for(const n of e)t=t.add(n);return t}const Na=new go(Xs);function Da(){return Na}
|
|
976
976
|
/**
|
|
977
977
|
* @license
|
|
978
978
|
* Copyright 2017 Google LLC
|
|
@@ -988,7 +988,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
988
988
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
989
989
|
* See the License for the specific language governing permissions and
|
|
990
990
|
* limitations under the License.
|
|
991
|
-
*/class Ra{constructor(t,
|
|
991
|
+
*/class Ra{constructor(e,t,n,r,s){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=n,this.documentUpdates=r,this.resolvedLimboDocuments=s}static createSynthesizedRemoteEventForCurrentChange(e,t,n){const r=new Map;return r.set(e,Oa.createSynthesizedTargetChangeForCurrentChange(e,t,n)),new Ra(ei.min(),r,Da(),Ia(),Aa())}}class Oa{constructor(e,t,n,r,s){this.resumeToken=e,this.current=t,this.addedDocuments=n,this.modifiedDocuments=r,this.removedDocuments=s}static createSynthesizedTargetChangeForCurrentChange(e,t,n){return new Oa(n,t,Aa(),Aa(),Aa())}}
|
|
992
992
|
/**
|
|
993
993
|
* @license
|
|
994
994
|
* Copyright 2017 Google LLC
|
|
@@ -1004,7 +1004,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1004
1004
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1005
1005
|
* See the License for the specific language governing permissions and
|
|
1006
1006
|
* limitations under the License.
|
|
1007
|
-
*/class La{constructor(t,
|
|
1007
|
+
*/class La{constructor(e,t,n,r){this.It=e,this.removedTargetIds=t,this.key=n,this.Tt=r}}class Pa{constructor(e,t){this.targetId=e,this.Et=t}}class Ma{constructor(e,t,n=bi.EMPTY_BYTE_STRING,r=null){this.state=e,this.targetIds=t,this.resumeToken=n,this.cause=r}}class xa{constructor(){this.At=0,this.Rt=Va(),this.bt=bi.EMPTY_BYTE_STRING,this.Pt=!1,this.vt=!0}get current(){return this.Pt}get resumeToken(){return this.bt}get Vt(){return 0!==this.At}get St(){return this.vt}Dt(e){e.approximateByteSize()>0&&(this.vt=!0,this.bt=e)}Ct(){let e=Aa(),t=Aa(),n=Aa();return this.Rt.forEach(((r,s)=>{switch(s){case 0:e=e.add(r);break;case 2:t=t.add(r);break;case 1:n=n.add(r);break;default:Ms()}})),new Oa(this.bt,this.Pt,e,t,n)}xt(){this.vt=!1,this.Rt=Va()}Nt(e,t){this.vt=!0,this.Rt=this.Rt.insert(e,t)}kt(e){this.vt=!0,this.Rt=this.Rt.remove(e)}Ot(){this.At+=1}Mt(){this.At-=1}Ft(){this.vt=!0,this.Pt=!0}}class Ua{constructor(e){this.$t=e,this.Bt=new Map,this.Lt=Ia(),this.qt=Fa(),this.Ut=new go(Xs)}Kt(e){for(const t of e.It)e.Tt&&e.Tt.isFoundDocument()?this.Gt(t,e.Tt):this.Qt(t,e.key,e.Tt);for(const t of e.removedTargetIds)this.Qt(t,e.key,e.Tt)}jt(e){this.forEachTarget(e,(t=>{const n=this.Wt(t);switch(e.state){case 0:this.zt(t)&&n.Dt(e.resumeToken);break;case 1:n.Mt(),n.Vt||n.xt(),n.Dt(e.resumeToken);break;case 2:n.Mt(),n.Vt||this.removeTarget(t);break;case 3:this.zt(t)&&(n.Ft(),n.Dt(e.resumeToken));break;case 4:this.zt(t)&&(this.Ht(t),n.Dt(e.resumeToken));break;default:Ms()}}))}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.Bt.forEach(((e,n)=>{this.zt(n)&&t(n)}))}Jt(e){const t=e.targetId,n=e.Et.count,r=this.Yt(t);if(r){const e=r.target;if(_o(e))if(0===n){const n=new ii(e.path);this.Qt(t,n,wo.newNoDocument(n,ei.min()))}else xs(1===n);else this.Xt(t)!==n&&(this.Ht(t),this.Ut=this.Ut.add(t))}}Zt(e){const t=new Map;this.Bt.forEach(((n,r)=>{const s=this.Yt(r);if(s){if(n.current&&_o(s.target)){const t=new ii(s.target.path);null!==this.Lt.get(t)||this.te(r,t)||this.Qt(r,t,wo.newNoDocument(t,e))}n.St&&(t.set(r,n.Ct()),n.xt())}}));let n=Aa();this.qt.forEach(((e,t)=>{let r=!0;t.forEachWhile((e=>{const t=this.Yt(e);return!t||2===t.purpose||(r=!1,!1)})),r&&(n=n.add(e))})),this.Lt.forEach(((t,n)=>n.setReadTime(e)));const r=new Ra(e,t,this.Ut,this.Lt,n);return this.Lt=Ia(),this.qt=Fa(),this.Ut=new go(Xs),r}Gt(e,t){if(!this.zt(e))return;const n=this.te(e,t.key)?2:0;this.Wt(e).Nt(t.key,n),this.Lt=this.Lt.insert(t.key,t),this.qt=this.qt.insert(t.key,this.ee(t.key).add(e))}Qt(e,t,n){if(!this.zt(e))return;const r=this.Wt(e);this.te(e,t)?r.Nt(t,1):r.kt(t),this.qt=this.qt.insert(t,this.ee(t).delete(e)),n&&(this.Lt=this.Lt.insert(t,n))}removeTarget(e){this.Bt.delete(e)}Xt(e){const t=this.Wt(e).Ct();return this.$t.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size}Ot(e){this.Wt(e).Ot()}Wt(e){let t=this.Bt.get(e);return t||(t=new xa,this.Bt.set(e,t)),t}ee(e){let t=this.qt.get(e);return t||(t=new go(Xs),this.qt=this.qt.insert(e,t)),t}zt(e){const t=null!==this.Yt(e);return t||Rs("WatchChangeAggregator","Detected inactive target",e),t}Yt(e){const t=this.Bt.get(e);return t&&t.Vt?null:this.$t.ne(e)}Ht(e){this.Bt.set(e,new xa),this.$t.getRemoteKeysForTarget(e).forEach((t=>{this.Qt(e,t,null)}))}te(e,t){return this.$t.getRemoteKeysForTarget(e).has(t)}}function Fa(){return new lo(ii.comparator)}function Va(){return new lo(ii.comparator)}
|
|
1008
1008
|
/**
|
|
1009
1009
|
* @license
|
|
1010
1010
|
* Copyright 2017 Google LLC
|
|
@@ -1020,7 +1020,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1020
1020
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1021
1021
|
* See the License for the specific language governing permissions and
|
|
1022
1022
|
* limitations under the License.
|
|
1023
|
-
*/const qa={asc:"ASCENDING",desc:"DESCENDING"},ja={"<":"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"},Ba={and:"AND",or:"OR"};class za{constructor(t
|
|
1023
|
+
*/const qa={asc:"ASCENDING",desc:"DESCENDING"},ja={"<":"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"},Ba={and:"AND",or:"OR"};class za{constructor(e,t){this.databaseId=e,this.wt=t}}function $a(e,t){return e.wt?`${new Date(1e3*t.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+t.nanoseconds).slice(-9)}Z`:{seconds:""+t.seconds,nanos:t.nanoseconds}}function Ka(e,t){return e.wt?t.toBase64():t.toUint8Array()}function Ha(e){return xs(!!e),ei.fromTimestamp(function(e){const t=Ei(e);return new Zs(t.seconds,t.nanos)}(e))}function Ga(e,t){return function(e){return new ni(["projects",e.projectId,"databases",e.database])}(e).child("documents").child(t).canonicalString()}function Wa(e){const t=ni.fromString(e);return xs(uc(t)),t}function Qa(e,t){const n=Wa(t);if(n.get(1)!==e.databaseId.projectId)throw new Vs(Fs.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+n.get(1)+" vs "+e.databaseId.projectId);if(n.get(3)!==e.databaseId.database)throw new Vs(Fs.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+n.get(3)+" vs "+e.databaseId.database);return new ii(Ja(n))}function Ya(e,t){return Ga(e.databaseId,t)}function Xa(e){return new ni(["projects",e.databaseId.projectId,"databases",e.databaseId.database]).canonicalString()}function Ja(e){return xs(e.length>4&&"documents"===e.get(4)),e.popFirst(5)}function Za(e,t){return{documents:[Ya(e,t.path)]}}function ec(e,t){const n={structuredQuery:{}},r=t.path;null!==t.collectionGroup?(n.parent=Ya(e,r),n.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(n.parent=Ya(e,r.popLast()),n.structuredQuery.from=[{collectionId:r.lastSegment()}]);const s=function(e){if(0!==e.length)return cc(Qi.create(e,"and"))}(t.filters);s&&(n.structuredQuery.where=s);const i=function(e){if(0!==e.length)return e.map((e=>function(e){return{field:oc(e.field),direction:rc(e.dir)}}(e)))}(t.orderBy);i&&(n.structuredQuery.orderBy=i);const o=function(e,t){return e.wt||wi(t)?t:{value:t}}(e,t.limit);var a;return null!==o&&(n.structuredQuery.limit=o),t.startAt&&(n.structuredQuery.startAt={before:(a=t.startAt).inclusive,values:a.position}),t.endAt&&(n.structuredQuery.endAt=function(e){return{before:!e.inclusive,values:e.position}}(t.endAt)),n}function tc(e){let t=function(e){const t=Wa(e);return 4===t.length?ni.emptyPath():Ja(t)}(e.parent);const n=e.structuredQuery,r=n.from?n.from.length:0;let s=null;if(r>0){xs(1===r);const e=n.from[0];e.allDescendants?s=e.collectionId:t=t.child(e.collectionId)}let i=[];n.where&&(i=function(e){const t=nc(e);return t instanceof Qi&&Xi(t)?t.getFilters():[t]}(n.where));let o=[];n.orderBy&&(o=n.orderBy.map((e=>function(e){return new uo(ac(e.field),function(e){switch(e){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(e.direction))}(e))));let a=null;n.limit&&(a=function(e){let t;return t="object"==typeof e?e.value:e,wi(t)?null:t}(n.limit));let c=null;n.startAt&&(c=function(e){const t=!!e.before,n=e.values||[];return new $i(n,t)}(n.startAt));let u=null;return n.endAt&&(u=function(e){const t=!e.before,n=e.values||[];return new $i(n,t)}(n.endAt)),function(e,t,n,r,s,i,o,a){return new So(e,t,n,r,s,i,o,a)}(t,s,o,i,a,"F",c,u)}function nc(e){return void 0!==e.unaryFilter?function(e){switch(e.unaryFilter.op){case"IS_NAN":const t=ac(e.unaryFilter.field);return Wi.create(t,"==",{doubleValue:NaN});case"IS_NULL":const n=ac(e.unaryFilter.field);return Wi.create(n,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":const r=ac(e.unaryFilter.field);return Wi.create(r,"!=",{doubleValue:NaN});case"IS_NOT_NULL":const s=ac(e.unaryFilter.field);return Wi.create(s,"!=",{nullValue:"NULL_VALUE"});default:return Ms()}}(e):void 0!==e.fieldFilter?function(e){return Wi.create(ac(e.fieldFilter.field),function(e){switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";default:return Ms()}}(e.fieldFilter.op),e.fieldFilter.value)}(e):void 0!==e.compositeFilter?function(e){return Qi.create(e.compositeFilter.filters.map((e=>nc(e))),function(e){switch(e){case"AND":return"and";case"OR":return"or";default:return Ms()}}(e.compositeFilter.op))}(e):Ms()}function rc(e){return qa[e]}function sc(e){return ja[e]}function ic(e){return Ba[e]}function oc(e){return{fieldPath:e.canonicalString()}}function ac(e){return si.fromServerFormat(e.fieldPath)}function cc(e){return e instanceof Wi?function(e){if("=="===e.op){if(ji(e.value))return{unaryFilter:{field:oc(e.field),op:"IS_NAN"}};if(qi(e.value))return{unaryFilter:{field:oc(e.field),op:"IS_NULL"}}}else if("!="===e.op){if(ji(e.value))return{unaryFilter:{field:oc(e.field),op:"IS_NOT_NAN"}};if(qi(e.value))return{unaryFilter:{field:oc(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:oc(e.field),op:sc(e.op),value:e.value}}}(e):e instanceof Qi?function(e){const t=e.getFilters().map((e=>cc(e)));return 1===t.length?t[0]:{compositeFilter:{op:ic(e.op),filters:t}}}(e):Ms()}function uc(e){return e.length>=4&&"projects"===e.get(0)&&"databases"===e.get(2)}
|
|
1024
1024
|
/**
|
|
1025
1025
|
* @license
|
|
1026
1026
|
* Copyright 2017 Google LLC
|
|
@@ -1036,7 +1036,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1036
1036
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1037
1037
|
* See the License for the specific language governing permissions and
|
|
1038
1038
|
* limitations under the License.
|
|
1039
|
-
*/class hc{constructor(t,
|
|
1039
|
+
*/class hc{constructor(e,t,n,r){this.batchId=e,this.localWriteTime=t,this.baseMutations=n,this.mutations=r}applyToRemoteDocument(e,t){const n=t.mutationResults;for(let t=0;t<this.mutations.length;t++){const r=this.mutations[t];r.key.isEqual(e.key)&&ia(r,e,n[t])}}applyToLocalView(e,t){for(const n of this.baseMutations)n.key.isEqual(e.key)&&(t=oa(n,e,t,this.localWriteTime));for(const n of this.mutations)n.key.isEqual(e.key)&&(t=oa(n,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(e,t){const n=Sa();return this.mutations.forEach((r=>{const s=e.get(r.key),i=s.overlayedDocument;let o=this.applyToLocalView(i,s.mutatedFields);o=t.has(r.key)?null:o;const a=sa(i,o);null!==a&&n.set(r.key,a),i.isValidDocument()||i.convertToNoDocument(ei.min())})),n}keys(){return this.mutations.reduce(((e,t)=>e.add(t.key)),Aa())}isEqual(e){return this.batchId===e.batchId&&Js(this.mutations,e.mutations,((e,t)=>aa(e,t)))&&Js(this.baseMutations,e.baseMutations,((e,t)=>aa(e,t)))}}
|
|
1040
1040
|
/**
|
|
1041
1041
|
* @license
|
|
1042
1042
|
* Copyright 2022 Google LLC
|
|
@@ -1052,7 +1052,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1052
1052
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1053
1053
|
* See the License for the specific language governing permissions and
|
|
1054
1054
|
* limitations under the License.
|
|
1055
|
-
*/class lc{constructor(t
|
|
1055
|
+
*/class lc{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return null!==e&&this.mutation===e.mutation}toString(){return`Overlay{\n largestBatchId: ${this.largestBatchId},\n mutation: ${this.mutation.toString()}\n }`}}
|
|
1056
1056
|
/**
|
|
1057
1057
|
* @license
|
|
1058
1058
|
* Copyright 2017 Google LLC
|
|
@@ -1068,7 +1068,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1068
1068
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1069
1069
|
* See the License for the specific language governing permissions and
|
|
1070
1070
|
* limitations under the License.
|
|
1071
|
-
*/class dc{constructor(t,
|
|
1071
|
+
*/class dc{constructor(e,t,n,r,s=ei.min(),i=ei.min(),o=bi.EMPTY_BYTE_STRING){this.target=e,this.targetId=t,this.purpose=n,this.sequenceNumber=r,this.snapshotVersion=s,this.lastLimboFreeSnapshotVersion=i,this.resumeToken=o}withSequenceNumber(e){return new dc(this.target,this.targetId,this.purpose,e,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken)}withResumeToken(e,t){return new dc(this.target,this.targetId,this.purpose,this.sequenceNumber,t,this.lastLimboFreeSnapshotVersion,e)}withLastLimboFreeSnapshotVersion(e){return new dc(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,e,this.resumeToken)}}
|
|
1072
1072
|
/**
|
|
1073
1073
|
* @license
|
|
1074
1074
|
* Copyright 2017 Google LLC
|
|
@@ -1084,7 +1084,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1084
1084
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1085
1085
|
* See the License for the specific language governing permissions and
|
|
1086
1086
|
* limitations under the License.
|
|
1087
|
-
*/class fc{constructor(
|
|
1087
|
+
*/class fc{constructor(e){this.ie=e}}function pc(e){const t=tc({parent:e.parent,structuredQuery:e.structuredQuery});return"LAST"===e.limitType?Po(t,t.limit,"L"):t}
|
|
1088
1088
|
/**
|
|
1089
1089
|
* @license
|
|
1090
1090
|
* Copyright 2019 Google LLC
|
|
@@ -1100,7 +1100,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1100
1100
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1101
1101
|
* See the License for the specific language governing permissions and
|
|
1102
1102
|
* limitations under the License.
|
|
1103
|
-
*/class gc{constructor(){this.Je=new mc}addToCollectionParentIndex(t
|
|
1103
|
+
*/class gc{constructor(){this.Je=new mc}addToCollectionParentIndex(e,t){return this.Je.add(t),li.resolve()}getCollectionParents(e,t){return li.resolve(this.Je.getEntries(t))}addFieldIndex(e,t){return li.resolve()}deleteFieldIndex(e,t){return li.resolve()}getDocumentsMatchingTarget(e,t){return li.resolve(null)}getIndexType(e,t){return li.resolve(0)}getFieldIndexes(e,t){return li.resolve([])}getNextCollectionGroupToUpdate(e){return li.resolve(null)}getMinOffset(e,t){return li.resolve(ai.min())}getMinOffsetFromCollectionGroup(e,t){return li.resolve(ai.min())}updateCollectionGroup(e,t,n){return li.resolve()}updateIndexEntries(e,t){return li.resolve()}}class mc{constructor(){this.index={}}add(e){const t=e.lastSegment(),n=e.popLast(),r=this.index[t]||new go(ni.comparator),s=!r.has(n);return this.index[t]=r.add(n),s}has(e){const t=e.lastSegment(),n=e.popLast(),r=this.index[t];return r&&r.has(n)}getEntries(e){return(this.index[e]||new go(ni.comparator)).toArray()}}
|
|
1104
1104
|
/**
|
|
1105
1105
|
* @license
|
|
1106
1106
|
* Copyright 2017 Google LLC
|
|
@@ -1116,7 +1116,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1116
1116
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1117
1117
|
* See the License for the specific language governing permissions and
|
|
1118
1118
|
* limitations under the License.
|
|
1119
|
-
*/class yc{constructor(
|
|
1119
|
+
*/class yc{constructor(e){this.bn=e}next(){return this.bn+=2,this.bn}static Pn(){return new yc(0)}static vn(){return new yc(-1)}}
|
|
1120
1120
|
/**
|
|
1121
1121
|
* @license
|
|
1122
1122
|
* Copyright 2017 Google LLC
|
|
@@ -1132,7 +1132,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1132
1132
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1133
1133
|
* See the License for the specific language governing permissions and
|
|
1134
1134
|
* limitations under the License.
|
|
1135
|
-
*/class vc{constructor(){this.changes=new va((
|
|
1135
|
+
*/class vc{constructor(){this.changes=new va((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,wo.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();const n=this.changes.get(t);return void 0!==n?li.resolve(n):this.getFromCache(e,t)}getEntries(e,t){return this.getAllFromCache(e,t)}apply(e){return this.assertNotApplied(),this.changesApplied=!0,this.applyChanges(e)}assertNotApplied(){}}
|
|
1136
1136
|
/**
|
|
1137
1137
|
* @license
|
|
1138
1138
|
* Copyright 2017 Google LLC
|
|
@@ -1164,7 +1164,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1164
1164
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1165
1165
|
* See the License for the specific language governing permissions and
|
|
1166
1166
|
* limitations under the License.
|
|
1167
|
-
*/class wc{constructor(t
|
|
1167
|
+
*/class wc{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}
|
|
1168
1168
|
/**
|
|
1169
1169
|
* @license
|
|
1170
1170
|
* Copyright 2017 Google LLC
|
|
@@ -1180,7 +1180,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1180
1180
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1181
1181
|
* See the License for the specific language governing permissions and
|
|
1182
1182
|
* limitations under the License.
|
|
1183
|
-
*/class Ic{constructor(t,
|
|
1183
|
+
*/class Ic{constructor(e,t,n,r){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=n,this.indexManager=r}getDocument(e,t){let n=null;return this.documentOverlayCache.getOverlay(e,t).next((r=>(n=r,this.remoteDocumentCache.getEntry(e,t)))).next((e=>(null!==n&&oa(n.mutation,e,yo.empty(),Zs.now()),e)))}getDocuments(e,t){return this.remoteDocumentCache.getEntries(e,t).next((t=>this.getLocalViewOfDocuments(e,t,Aa()).next((()=>t))))}getLocalViewOfDocuments(e,t,n=Aa()){const r=_a();return this.populateOverlays(e,r,t).next((()=>this.computeViews(e,t,r,n).next((e=>{let t=Ta();return e.forEach(((e,n)=>{t=t.insert(e,n.overlayedDocument)})),t}))))}getOverlayedDocuments(e,t){const n=_a();return this.populateOverlays(e,n,t).next((()=>this.computeViews(e,t,n,Aa())))}populateOverlays(e,t,n){const r=[];return n.forEach((e=>{t.has(e)||r.push(e)})),this.documentOverlayCache.getOverlays(e,r).next((e=>{e.forEach(((e,n)=>{t.set(e,n)}))}))}computeViews(e,t,n,r){let s=Ia();const i=Ca(),o=Ca();return t.forEach(((e,t)=>{const o=n.get(t.key);r.has(t.key)&&(void 0===o||o.mutation instanceof ua)?s=s.insert(t.key,t):void 0!==o&&(i.set(t.key,o.mutation.getFieldMask()),oa(o.mutation,t,o.mutation.getFieldMask(),Zs.now()))})),this.recalculateAndSaveOverlays(e,s).next((e=>(e.forEach(((e,t)=>i.set(e,t))),t.forEach(((e,t)=>{var n;return o.set(e,new wc(t,null!==(n=i.get(e))&&void 0!==n?n:null))})),o)))}recalculateAndSaveOverlays(e,t){const n=Ca();let r=new lo(((e,t)=>e-t)),s=Aa();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(e,t).next((e=>{for(const s of e)s.keys().forEach((e=>{const i=t.get(e);if(null===i)return;let o=n.get(e)||yo.empty();o=s.applyToLocalView(i,o),n.set(e,o);const a=(r.get(s.batchId)||Aa()).add(e);r=r.insert(s.batchId,a)}))})).next((()=>{const i=[],o=r.getReverseIterator();for(;o.hasNext();){const r=o.getNext(),a=r.key,c=r.value,u=Sa();c.forEach((e=>{if(!s.has(e)){const r=sa(t.get(e),n.get(e));null!==r&&u.set(e,r),s=s.add(e)}})),i.push(this.documentOverlayCache.saveOverlays(e,a,u))}return li.waitFor(i)})).next((()=>n))}recalculateAndSaveOverlaysForDocumentKeys(e,t){return this.remoteDocumentCache.getEntries(e,t).next((t=>this.recalculateAndSaveOverlays(e,t)))}getDocumentsMatchingQuery(e,t,n){return function(e){return ii.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}(t)?this.getDocumentsMatchingDocumentQuery(e,t.path):Do(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,n):this.getDocumentsMatchingCollectionQuery(e,t,n)}getNextDocuments(e,t,n,r){return this.remoteDocumentCache.getAllFromCollectionGroup(e,t,n,r).next((s=>{const i=r-s.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(e,t,n.largestBatchId,r-s.size):li.resolve(_a());let o=-1,a=s;return i.next((t=>li.forEach(t,((t,n)=>(o<n.largestBatchId&&(o=n.largestBatchId),s.get(t)?li.resolve():this.remoteDocumentCache.getEntry(e,t).next((e=>{a=a.insert(t,e)}))))).next((()=>this.populateOverlays(e,t,s))).next((()=>this.computeViews(e,a,t,Aa()))).next((e=>({batchId:o,changes:Ea(e)})))))}))}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new ii(t)).next((e=>{let t=Ta();return e.isFoundDocument()&&(t=t.insert(e.key,e)),t}))}getDocumentsMatchingCollectionGroupQuery(e,t,n){const r=t.collectionGroup;let s=Ta();return this.indexManager.getCollectionParents(e,r).next((i=>li.forEach(i,(i=>{const o=function(e,t){return new So(t,null,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,e.startAt,e.endAt)}(t,i.child(r));return this.getDocumentsMatchingCollectionQuery(e,o,n).next((e=>{e.forEach(((e,t)=>{s=s.insert(e,t)}))}))})).next((()=>s))))}getDocumentsMatchingCollectionQuery(e,t,n){let r;return this.remoteDocumentCache.getAllFromCollection(e,t.path,n).next((s=>(r=s,this.documentOverlayCache.getOverlaysForCollection(e,t.path,n.largestBatchId)))).next((e=>{e.forEach(((e,t)=>{const n=t.getKey();null===r.get(n)&&(r=r.insert(n,wo.newInvalidDocument(n)))}));let n=Ta();return r.forEach(((r,s)=>{const i=e.get(r);void 0!==i&&oa(i.mutation,s,yo.empty(),Zs.now()),Fo(t,s)&&(n=n.insert(r,s))})),n}))}}
|
|
1184
1184
|
/**
|
|
1185
1185
|
* @license
|
|
1186
1186
|
* Copyright 2020 Google LLC
|
|
@@ -1196,7 +1196,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1196
1196
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1197
1197
|
* See the License for the specific language governing permissions and
|
|
1198
1198
|
* limitations under the License.
|
|
1199
|
-
*/class bc{constructor(
|
|
1199
|
+
*/class bc{constructor(e){this.yt=e,this.Zn=new Map,this.ts=new Map}getBundleMetadata(e,t){return li.resolve(this.Zn.get(t))}saveBundleMetadata(e,t){var n;return this.Zn.set(t.id,{id:(n=t).id,version:n.version,createTime:Ha(n.createTime)}),li.resolve()}getNamedQuery(e,t){return li.resolve(this.ts.get(t))}saveNamedQuery(e,t){return this.ts.set(t.name,function(e){return{name:e.name,query:pc(e.bundledQuery),readTime:Ha(e.readTime)}}(t)),li.resolve()}}
|
|
1200
1200
|
/**
|
|
1201
1201
|
* @license
|
|
1202
1202
|
* Copyright 2022 Google LLC
|
|
@@ -1212,7 +1212,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1212
1212
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1213
1213
|
* See the License for the specific language governing permissions and
|
|
1214
1214
|
* limitations under the License.
|
|
1215
|
-
*/class Tc{constructor(){this.overlays=new lo(ii.comparator),this.es=new Map}getOverlay(t
|
|
1215
|
+
*/class Tc{constructor(){this.overlays=new lo(ii.comparator),this.es=new Map}getOverlay(e,t){return li.resolve(this.overlays.get(t))}getOverlays(e,t){const n=_a();return li.forEach(t,(t=>this.getOverlay(e,t).next((e=>{null!==e&&n.set(t,e)})))).next((()=>n))}saveOverlays(e,t,n){return n.forEach(((n,r)=>{this.oe(e,t,r)})),li.resolve()}removeOverlaysForBatchId(e,t,n){const r=this.es.get(n);return void 0!==r&&(r.forEach((e=>this.overlays=this.overlays.remove(e))),this.es.delete(n)),li.resolve()}getOverlaysForCollection(e,t,n){const r=_a(),s=t.length+1,i=new ii(t.child("")),o=this.overlays.getIteratorFrom(i);for(;o.hasNext();){const e=o.getNext().value,i=e.getKey();if(!t.isPrefixOf(i.path))break;i.path.length===s&&e.largestBatchId>n&&r.set(e.getKey(),e)}return li.resolve(r)}getOverlaysForCollectionGroup(e,t,n,r){let s=new lo(((e,t)=>e-t));const i=this.overlays.getIterator();for(;i.hasNext();){const e=i.getNext().value;if(e.getKey().getCollectionGroup()===t&&e.largestBatchId>n){let t=s.get(e.largestBatchId);null===t&&(t=_a(),s=s.insert(e.largestBatchId,t)),t.set(e.getKey(),e)}}const o=_a(),a=s.getIterator();for(;a.hasNext()&&(a.getNext().value.forEach(((e,t)=>o.set(e,t))),!(o.size()>=r)););return li.resolve(o)}oe(e,t,n){const r=this.overlays.get(n.key);if(null!==r){const e=this.es.get(r.largestBatchId).delete(n.key);this.es.set(r.largestBatchId,e)}this.overlays=this.overlays.insert(n.key,new lc(t,n));let s=this.es.get(t);void 0===s&&(s=Aa(),this.es.set(t,s)),this.es.set(t,s.add(n.key))}}
|
|
1216
1216
|
/**
|
|
1217
1217
|
* @license
|
|
1218
1218
|
* Copyright 2017 Google LLC
|
|
@@ -1228,7 +1228,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1228
1228
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1229
1229
|
* See the License for the specific language governing permissions and
|
|
1230
1230
|
* limitations under the License.
|
|
1231
|
-
*/class Ec{constructor(){this.ns=new go(_c.ss),this.rs=new go(_c.os)}isEmpty(){return this.ns.isEmpty()}addReference(t
|
|
1231
|
+
*/class Ec{constructor(){this.ns=new go(_c.ss),this.rs=new go(_c.os)}isEmpty(){return this.ns.isEmpty()}addReference(e,t){const n=new _c(e,t);this.ns=this.ns.add(n),this.rs=this.rs.add(n)}us(e,t){e.forEach((e=>this.addReference(e,t)))}removeReference(e,t){this.cs(new _c(e,t))}hs(e,t){e.forEach((e=>this.removeReference(e,t)))}ls(e){const t=new ii(new ni([])),n=new _c(t,e),r=new _c(t,e+1),s=[];return this.rs.forEachInRange([n,r],(e=>{this.cs(e),s.push(e.key)})),s}fs(){this.ns.forEach((e=>this.cs(e)))}cs(e){this.ns=this.ns.delete(e),this.rs=this.rs.delete(e)}ds(e){const t=new ii(new ni([])),n=new _c(t,e),r=new _c(t,e+1);let s=Aa();return this.rs.forEachInRange([n,r],(e=>{s=s.add(e.key)})),s}containsKey(e){const t=new _c(e,0),n=this.ns.firstAfterOrEqual(t);return null!==n&&e.isEqual(n.key)}}class _c{constructor(e,t){this.key=e,this._s=t}static ss(e,t){return ii.comparator(e.key,t.key)||Xs(e._s,t._s)}static os(e,t){return Xs(e._s,t._s)||ii.comparator(e.key,t.key)}}
|
|
1232
1232
|
/**
|
|
1233
1233
|
* @license
|
|
1234
1234
|
* Copyright 2017 Google LLC
|
|
@@ -1244,7 +1244,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1244
1244
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1245
1245
|
* See the License for the specific language governing permissions and
|
|
1246
1246
|
* limitations under the License.
|
|
1247
|
-
*/class Sc{constructor(t
|
|
1247
|
+
*/class Sc{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.ws=1,this.gs=new go(_c.ss)}checkEmpty(e){return li.resolve(0===this.mutationQueue.length)}addMutationBatch(e,t,n,r){const s=this.ws;this.ws++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];const i=new hc(s,t,n,r);this.mutationQueue.push(i);for(const t of r)this.gs=this.gs.add(new _c(t.key,s)),this.indexManager.addToCollectionParentIndex(e,t.key.path.popLast());return li.resolve(i)}lookupMutationBatch(e,t){return li.resolve(this.ys(t))}getNextMutationBatchAfterBatchId(e,t){const n=t+1,r=this.ps(n),s=r<0?0:r;return li.resolve(this.mutationQueue.length>s?this.mutationQueue[s]:null)}getHighestUnacknowledgedBatchId(){return li.resolve(0===this.mutationQueue.length?-1:this.ws-1)}getAllMutationBatches(e){return li.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){const n=new _c(t,0),r=new _c(t,Number.POSITIVE_INFINITY),s=[];return this.gs.forEachInRange([n,r],(e=>{const t=this.ys(e._s);s.push(t)})),li.resolve(s)}getAllMutationBatchesAffectingDocumentKeys(e,t){let n=new go(Xs);return t.forEach((e=>{const t=new _c(e,0),r=new _c(e,Number.POSITIVE_INFINITY);this.gs.forEachInRange([t,r],(e=>{n=n.add(e._s)}))})),li.resolve(this.Is(n))}getAllMutationBatchesAffectingQuery(e,t){const n=t.path,r=n.length+1;let s=n;ii.isDocumentKey(s)||(s=s.child(""));const i=new _c(new ii(s),0);let o=new go(Xs);return this.gs.forEachWhile((e=>{const t=e.key.path;return!!n.isPrefixOf(t)&&(t.length===r&&(o=o.add(e._s)),!0)}),i),li.resolve(this.Is(o))}Is(e){const t=[];return e.forEach((e=>{const n=this.ys(e);null!==n&&t.push(n)})),t}removeMutationBatch(e,t){xs(0===this.Ts(t.batchId,"removed")),this.mutationQueue.shift();let n=this.gs;return li.forEach(t.mutations,(r=>{const s=new _c(r.key,t.batchId);return n=n.delete(s),this.referenceDelegate.markPotentiallyOrphaned(e,r.key)})).next((()=>{this.gs=n}))}An(e){}containsKey(e,t){const n=new _c(t,0),r=this.gs.firstAfterOrEqual(n);return li.resolve(t.isEqual(r&&r.key))}performConsistencyCheck(e){return this.mutationQueue.length,li.resolve()}Ts(e,t){return this.ps(e)}ps(e){return 0===this.mutationQueue.length?0:e-this.mutationQueue[0].batchId}ys(e){const t=this.ps(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}
|
|
1248
1248
|
/**
|
|
1249
1249
|
* @license
|
|
1250
1250
|
* Copyright 2017 Google LLC
|
|
@@ -1260,7 +1260,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1260
1260
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1261
1261
|
* See the License for the specific language governing permissions and
|
|
1262
1262
|
* limitations under the License.
|
|
1263
|
-
*/class Cc{constructor(
|
|
1263
|
+
*/class Cc{constructor(e){this.Es=e,this.docs=new lo(ii.comparator),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){const n=t.key,r=this.docs.get(n),s=r?r.size:0,i=this.Es(t);return this.docs=this.docs.insert(n,{document:t.mutableCopy(),size:i}),this.size+=i-s,this.indexManager.addToCollectionParentIndex(e,n.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 n=this.docs.get(t);return li.resolve(n?n.document.mutableCopy():wo.newInvalidDocument(t))}getEntries(e,t){let n=Ia();return t.forEach((e=>{const t=this.docs.get(e);n=n.insert(e,t?t.document.mutableCopy():wo.newInvalidDocument(e))})),li.resolve(n)}getAllFromCollection(e,t,n){let r=Ia();const s=new ii(t.child("")),i=this.docs.getIteratorFrom(s);for(;i.hasNext();){const{key:e,value:{document:s}}=i.getNext();if(!t.isPrefixOf(e.path))break;e.path.length>t.length+1||ci(oi(s),n)<=0||(r=r.insert(s.key,s.mutableCopy()))}return li.resolve(r)}getAllFromCollectionGroup(e,t,n,r){Ms()}As(e,t){return li.forEach(this.docs,(e=>t(e)))}newChangeBuffer(e){return new kc(this)}getSize(e){return li.resolve(this.size)}}class kc extends vc{constructor(e){super(),this.Yn=e}applyChanges(e){const t=[];return this.changes.forEach(((n,r)=>{r.isValidDocument()?t.push(this.Yn.addEntry(e,r)):this.Yn.removeEntry(n)})),li.waitFor(t)}getFromCache(e,t){return this.Yn.getEntry(e,t)}getAllFromCache(e,t){return this.Yn.getEntries(e,t)}}
|
|
1264
1264
|
/**
|
|
1265
1265
|
* @license
|
|
1266
1266
|
* Copyright 2017 Google LLC
|
|
@@ -1276,7 +1276,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1276
1276
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1277
1277
|
* See the License for the specific language governing permissions and
|
|
1278
1278
|
* limitations under the License.
|
|
1279
|
-
*/class Ac{constructor(
|
|
1279
|
+
*/class Ac{constructor(e){this.persistence=e,this.Rs=new va((e=>To(e)),Eo),this.lastRemoteSnapshotVersion=ei.min(),this.highestTargetId=0,this.bs=0,this.Ps=new Ec,this.targetCount=0,this.vs=yc.Pn()}forEachTarget(e,t){return this.Rs.forEach(((e,n)=>t(n))),li.resolve()}getLastRemoteSnapshotVersion(e){return li.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return li.resolve(this.bs)}allocateTargetId(e){return this.highestTargetId=this.vs.next(),li.resolve(this.highestTargetId)}setTargetsMetadata(e,t,n){return n&&(this.lastRemoteSnapshotVersion=n),t>this.bs&&(this.bs=t),li.resolve()}Dn(e){this.Rs.set(e.target,e);const t=e.targetId;t>this.highestTargetId&&(this.vs=new yc(t),this.highestTargetId=t),e.sequenceNumber>this.bs&&(this.bs=e.sequenceNumber)}addTargetData(e,t){return this.Dn(t),this.targetCount+=1,li.resolve()}updateTargetData(e,t){return this.Dn(t),li.resolve()}removeTargetData(e,t){return this.Rs.delete(t.target),this.Ps.ls(t.targetId),this.targetCount-=1,li.resolve()}removeTargets(e,t,n){let r=0;const s=[];return this.Rs.forEach(((i,o)=>{o.sequenceNumber<=t&&null===n.get(o.targetId)&&(this.Rs.delete(i),s.push(this.removeMatchingKeysForTargetId(e,o.targetId)),r++)})),li.waitFor(s).next((()=>r))}getTargetCount(e){return li.resolve(this.targetCount)}getTargetData(e,t){const n=this.Rs.get(t)||null;return li.resolve(n)}addMatchingKeys(e,t,n){return this.Ps.us(t,n),li.resolve()}removeMatchingKeys(e,t,n){this.Ps.hs(t,n);const r=this.persistence.referenceDelegate,s=[];return r&&t.forEach((t=>{s.push(r.markPotentiallyOrphaned(e,t))})),li.waitFor(s)}removeMatchingKeysForTargetId(e,t){return this.Ps.ls(t),li.resolve()}getMatchingKeysForTargetId(e,t){const n=this.Ps.ds(t);return li.resolve(n)}containsKey(e,t){return li.resolve(this.Ps.containsKey(t))}}
|
|
1280
1280
|
/**
|
|
1281
1281
|
* @license
|
|
1282
1282
|
* Copyright 2017 Google LLC
|
|
@@ -1292,7 +1292,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1292
1292
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1293
1293
|
* See the License for the specific language governing permissions and
|
|
1294
1294
|
* limitations under the License.
|
|
1295
|
-
*/class Nc{constructor(t
|
|
1295
|
+
*/class Nc{constructor(e,t){this.Vs={},this.overlays={},this.Ss=new fi(0),this.Ds=!1,this.Ds=!0,this.referenceDelegate=e(this),this.Cs=new Ac(this),this.indexManager=new gc,this.remoteDocumentCache=function(e){return new Cc(e)}((e=>this.referenceDelegate.xs(e))),this.yt=new fc(t),this.Ns=new bc(this.yt)}start(){return Promise.resolve()}shutdown(){return this.Ds=!1,Promise.resolve()}get started(){return this.Ds}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(e){return this.indexManager}getDocumentOverlayCache(e){let t=this.overlays[e.toKey()];return t||(t=new Tc,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let n=this.Vs[e.toKey()];return n||(n=new Sc(t,this.referenceDelegate),this.Vs[e.toKey()]=n),n}getTargetCache(){return this.Cs}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.Ns}runTransaction(e,t,n){Rs("MemoryPersistence","Starting transaction:",e);const r=new Dc(this.Ss.next());return this.referenceDelegate.ks(),n(r).next((e=>this.referenceDelegate.Os(r).next((()=>e)))).toPromise().then((e=>(r.raiseOnCommittedEvent(),e)))}Ms(e,t){return li.or(Object.values(this.Vs).map((n=>()=>n.containsKey(e,t))))}}class Dc extends ui{constructor(e){super(),this.currentSequenceNumber=e}}class Rc{constructor(e){this.persistence=e,this.Fs=new Ec,this.$s=null}static Bs(e){return new Rc(e)}get Ls(){if(this.$s)return this.$s;throw Ms()}addReference(e,t,n){return this.Fs.addReference(n,t),this.Ls.delete(n.toString()),li.resolve()}removeReference(e,t,n){return this.Fs.removeReference(n,t),this.Ls.add(n.toString()),li.resolve()}markPotentiallyOrphaned(e,t){return this.Ls.add(t.toString()),li.resolve()}removeTarget(e,t){this.Fs.ls(t.targetId).forEach((e=>this.Ls.add(e.toString())));const n=this.persistence.getTargetCache();return n.getMatchingKeysForTargetId(e,t.targetId).next((e=>{e.forEach((e=>this.Ls.add(e.toString())))})).next((()=>n.removeTargetData(e,t)))}ks(){this.$s=new Set}Os(e){const t=this.persistence.getRemoteDocumentCache().newChangeBuffer();return li.forEach(this.Ls,(n=>{const r=ii.fromPath(n);return this.qs(e,r).next((e=>{e||t.removeEntry(r,ei.min())}))})).next((()=>(this.$s=null,t.apply(e))))}updateLimboDocument(e,t){return this.qs(e,t).next((e=>{e?this.Ls.delete(t.toString()):this.Ls.add(t.toString())}))}xs(e){return 0}qs(e,t){return li.or([()=>li.resolve(this.Fs.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.Ms(e,t)])}}
|
|
1296
1296
|
/**
|
|
1297
1297
|
* @license
|
|
1298
1298
|
* Copyright 2017 Google LLC
|
|
@@ -1308,7 +1308,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1308
1308
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1309
1309
|
* See the License for the specific language governing permissions and
|
|
1310
1310
|
* limitations under the License.
|
|
1311
|
-
*/class Oc{constructor(t,
|
|
1311
|
+
*/class Oc{constructor(e,t,n,r){this.targetId=e,this.fromCache=t,this.Si=n,this.Di=r}static Ci(e,t){let n=Aa(),r=Aa();for(const e of t.docChanges)switch(e.type){case 0:n=n.add(e.doc.key);break;case 1:r=r.add(e.doc.key)}return new Oc(e,t.fromCache,n,r)}}
|
|
1312
1312
|
/**
|
|
1313
1313
|
* @license
|
|
1314
1314
|
* Copyright 2019 Google LLC
|
|
@@ -1324,7 +1324,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1324
1324
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1325
1325
|
* See the License for the specific language governing permissions and
|
|
1326
1326
|
* limitations under the License.
|
|
1327
|
-
*/class Lc{constructor(){this.xi=!1}initialize(t
|
|
1327
|
+
*/class Lc{constructor(){this.xi=!1}initialize(e,t){this.Ni=e,this.indexManager=t,this.xi=!0}getDocumentsMatchingQuery(e,t,n,r){return this.ki(e,t).next((s=>s||this.Oi(e,t,r,n))).next((n=>n||this.Mi(e,t)))}ki(e,t){if(ko(t))return li.resolve(null);let n=Oo(t);return this.indexManager.getIndexType(e,n).next((r=>0===r?null:(null!==t.limit&&1===r&&(t=Po(t,null,"F"),n=Oo(t)),this.indexManager.getDocumentsMatchingTarget(e,n).next((r=>{const s=Aa(...r);return this.Ni.getDocuments(e,s).next((r=>this.indexManager.getMinOffset(e,n).next((n=>{const i=this.Fi(t,r);return this.$i(t,i,s,n.readTime)?this.ki(e,Po(t,null,"F")):this.Bi(e,i,t,n)}))))})))))}Oi(e,t,n,r){return ko(t)||r.isEqual(ei.min())?this.Mi(e,t):this.Ni.getDocuments(e,n).next((s=>{const i=this.Fi(t,s);return this.$i(t,i,n,r)?this.Mi(e,t):(Ds()<=S.DEBUG&&Rs("QueryEngine","Re-using previous result from %s to execute query: %s",r.toString(),Uo(t)),this.Bi(e,i,t,function(e,t){const n=e.toTimestamp().seconds,r=e.toTimestamp().nanoseconds+1,s=ei.fromTimestamp(1e9===r?new Zs(n+1,0):new Zs(n,r));return new ai(s,ii.empty(),t)}(r,-1)))}))}Fi(e,t){let n=new go(Vo(e));return t.forEach(((t,r)=>{Fo(e,r)&&(n=n.add(r))})),n}$i(e,t,n,r){if(null===e.limit)return!1;if(n.size!==t.size)return!0;const s="F"===e.limitType?t.last():t.first();return!!s&&(s.hasPendingWrites||s.version.compareTo(r)>0)}Mi(e,t){return Ds()<=S.DEBUG&&Rs("QueryEngine","Using full collection scan to execute query:",Uo(t)),this.Ni.getDocumentsMatchingQuery(e,t,ai.min())}Bi(e,t,n,r){return this.Ni.getDocumentsMatchingQuery(e,n,r).next((e=>(t.forEach((t=>{e=e.insert(t.key,t)})),e)))}}
|
|
1328
1328
|
/**
|
|
1329
1329
|
* @license
|
|
1330
1330
|
* Copyright 2020 Google LLC
|
|
@@ -1340,7 +1340,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1340
1340
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1341
1341
|
* See the License for the specific language governing permissions and
|
|
1342
1342
|
* limitations under the License.
|
|
1343
|
-
*/class Pc{constructor(t,
|
|
1343
|
+
*/class Pc{constructor(e,t,n,r){this.persistence=e,this.Li=t,this.yt=r,this.qi=new lo(Xs),this.Ui=new va((e=>To(e)),Eo),this.Ki=new Map,this.Gi=e.getRemoteDocumentCache(),this.Cs=e.getTargetCache(),this.Ns=e.getBundleCache(),this.Qi(n)}Qi(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new Ic(this.Gi,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.Gi.setIndexManager(this.indexManager),this.Li.initialize(this.localDocuments,this.indexManager)}collectGarbage(e){return this.persistence.runTransaction("Collect garbage","readwrite-primary",(t=>e.collect(t,this.qi)))}}async function Mc(e,t){const n=Us(e);return await n.persistence.runTransaction("Handle user change","readonly",(e=>{let r;return n.mutationQueue.getAllMutationBatches(e).next((s=>(r=s,n.Qi(t),n.mutationQueue.getAllMutationBatches(e)))).next((t=>{const s=[],i=[];let o=Aa();for(const e of r){s.push(e.batchId);for(const t of e.mutations)o=o.add(t.key)}for(const e of t){i.push(e.batchId);for(const t of e.mutations)o=o.add(t.key)}return n.localDocuments.getDocuments(e,o).next((e=>({ji:e,removedBatchIds:s,addedBatchIds:i})))}))}))}function xc(e){const t=Us(e);return t.persistence.runTransaction("Get last remote snapshot version","readonly",(e=>t.Cs.getLastRemoteSnapshotVersion(e)))}function Uc(e,t){const n=Us(e),r=t.snapshotVersion;let s=n.qi;return n.persistence.runTransaction("Apply remote event","readwrite-primary",(e=>{const i=n.Gi.newChangeBuffer({trackRemovals:!0});s=n.qi;const o=[];t.targetChanges.forEach(((i,a)=>{const c=s.get(a);if(!c)return;o.push(n.Cs.removeMatchingKeys(e,i.removedDocuments,a).next((()=>n.Cs.addMatchingKeys(e,i.addedDocuments,a))));let u=c.withSequenceNumber(e.currentSequenceNumber);t.targetMismatches.has(a)?u=u.withResumeToken(bi.EMPTY_BYTE_STRING,ei.min()).withLastLimboFreeSnapshotVersion(ei.min()):i.resumeToken.approximateByteSize()>0&&(u=u.withResumeToken(i.resumeToken,r)),s=s.insert(a,u),function(e,t,n){return 0===e.resumeToken.approximateByteSize()||(t.snapshotVersion.toMicroseconds()-e.snapshotVersion.toMicroseconds()>=3e8||n.addedDocuments.size+n.modifiedDocuments.size+n.removedDocuments.size>0)}(c,u,i)&&o.push(n.Cs.updateTargetData(e,u))}));let a=Ia(),c=Aa();if(t.documentUpdates.forEach((r=>{t.resolvedLimboDocuments.has(r)&&o.push(n.persistence.referenceDelegate.updateLimboDocument(e,r))})),o.push(function(e,t,n){let r=Aa(),s=Aa();return n.forEach((e=>r=r.add(e))),t.getEntries(e,r).next((e=>{let r=Ia();return n.forEach(((n,i)=>{const o=e.get(n);i.isFoundDocument()!==o.isFoundDocument()&&(s=s.add(n)),i.isNoDocument()&&i.version.isEqual(ei.min())?(t.removeEntry(n,i.readTime),r=r.insert(n,i)):!o.isValidDocument()||i.version.compareTo(o.version)>0||0===i.version.compareTo(o.version)&&o.hasPendingWrites?(t.addEntry(i),r=r.insert(n,i)):Rs("LocalStore","Ignoring outdated watch update for ",n,". Current version:",o.version," Watch version:",i.version)})),{Wi:r,zi:s}}))}(e,i,t.documentUpdates).next((e=>{a=e.Wi,c=e.zi}))),!r.isEqual(ei.min())){const t=n.Cs.getLastRemoteSnapshotVersion(e).next((t=>n.Cs.setTargetsMetadata(e,e.currentSequenceNumber,r)));o.push(t)}return li.waitFor(o).next((()=>i.apply(e))).next((()=>n.localDocuments.getLocalViewOfDocuments(e,a,c))).next((()=>a))})).then((e=>(n.qi=s,e)))}async function Fc(e,t,n){const r=Us(e),s=r.qi.get(t),i=n?"readwrite":"readwrite-primary";try{n||await r.persistence.runTransaction("Release target",i,(e=>r.persistence.referenceDelegate.removeTarget(e,s)))}catch(e){if(!di(e))throw e;Rs("LocalStore",`Failed to update sequence numbers for target ${t}: ${e}`)}r.qi=r.qi.remove(t),r.Ui.delete(s.target)}function Vc(e,t,n){const r=Us(e);let s=ei.min(),i=Aa();return r.persistence.runTransaction("Execute query","readonly",(e=>function(e,t,n){const r=Us(e),s=r.Ui.get(n);return void 0!==s?li.resolve(r.qi.get(s)):r.Cs.getTargetData(t,n)}(r,e,Oo(t)).next((t=>{if(t)return s=t.lastLimboFreeSnapshotVersion,r.Cs.getMatchingKeysForTargetId(e,t.targetId).next((e=>{i=e}))})).next((()=>r.Li.getDocumentsMatchingQuery(e,t,n?s:ei.min(),n?i:Aa()))).next((e=>(function(e,t,n){let r=e.Ki.get(t)||ei.min();n.forEach(((e,t)=>{t.readTime.compareTo(r)>0&&(r=t.readTime)})),e.Ki.set(t,r)}(r,function(e){return e.collectionGroup||(e.path.length%2==1?e.path.lastSegment():e.path.get(e.path.length-2))}(t),e),{documents:e,Hi:i})))))}class qc{constructor(){this.activeTargetIds=Da()}er(e){this.activeTargetIds=this.activeTargetIds.add(e)}nr(e){this.activeTargetIds=this.activeTargetIds.delete(e)}tr(){const e={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(e)}}class jc{constructor(){this.Lr=new qc,this.qr={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,n){}addLocalQueryTarget(e){return this.Lr.er(e),this.qr[e]||"not-current"}updateQueryState(e,t,n){this.qr[e]=t}removeLocalQueryTarget(e){this.Lr.nr(e)}isLocalQueryTarget(e){return this.Lr.activeTargetIds.has(e)}clearQueryState(e){delete this.qr[e]}getAllActiveQueryTargets(){return this.Lr.activeTargetIds}isActiveQueryTarget(e){return this.Lr.activeTargetIds.has(e)}start(){return this.Lr=new qc,Promise.resolve()}handleUserChange(e,t,n){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}
|
|
1344
1344
|
/**
|
|
1345
1345
|
* @license
|
|
1346
1346
|
* Copyright 2019 Google LLC
|
|
@@ -1356,7 +1356,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1356
1356
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1357
1357
|
* See the License for the specific language governing permissions and
|
|
1358
1358
|
* limitations under the License.
|
|
1359
|
-
*/class Bc{Ur(
|
|
1359
|
+
*/class Bc{Ur(e){}shutdown(){}}
|
|
1360
1360
|
/**
|
|
1361
1361
|
* @license
|
|
1362
1362
|
* Copyright 2019 Google LLC
|
|
@@ -1372,7 +1372,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1372
1372
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1373
1373
|
* See the License for the specific language governing permissions and
|
|
1374
1374
|
* limitations under the License.
|
|
1375
|
-
*/class zc{constructor(){this.Kr=()=>this.Gr(),this.Qr=()=>this.jr(),this.Wr=[],this.zr()}Ur(
|
|
1375
|
+
*/class zc{constructor(){this.Kr=()=>this.Gr(),this.Qr=()=>this.jr(),this.Wr=[],this.zr()}Ur(e){this.Wr.push(e)}shutdown(){window.removeEventListener("online",this.Kr),window.removeEventListener("offline",this.Qr)}zr(){window.addEventListener("online",this.Kr),window.addEventListener("offline",this.Qr)}Gr(){Rs("ConnectivityMonitor","Network connectivity changed: AVAILABLE");for(const e of this.Wr)e(0)}jr(){Rs("ConnectivityMonitor","Network connectivity changed: UNAVAILABLE");for(const e of this.Wr)e(1)}static C(){return"undefined"!=typeof window&&void 0!==window.addEventListener&&void 0!==window.removeEventListener}}
|
|
1376
1376
|
/**
|
|
1377
1377
|
* @license
|
|
1378
1378
|
* Copyright 2020 Google LLC
|
|
@@ -1404,7 +1404,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1404
1404
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1405
1405
|
* See the License for the specific language governing permissions and
|
|
1406
1406
|
* limitations under the License.
|
|
1407
|
-
*/class Kc{constructor(
|
|
1407
|
+
*/class Kc{constructor(e){this.Hr=e.Hr,this.Jr=e.Jr}Yr(e){this.Xr=e}Zr(e){this.eo=e}onMessage(e){this.no=e}close(){this.Jr()}send(e){this.Hr(e)}so(){this.Xr()}io(e){this.eo(e)}ro(e){this.no(e)}}
|
|
1408
1408
|
/**
|
|
1409
1409
|
* @license
|
|
1410
1410
|
* Copyright 2017 Google LLC
|
|
@@ -1420,7 +1420,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1420
1420
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1421
1421
|
* See the License for the specific language governing permissions and
|
|
1422
1422
|
* limitations under the License.
|
|
1423
|
-
*/class Hc extends class{constructor(
|
|
1423
|
+
*/class Hc extends class{constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;const t=e.ssl?"https":"http";this.oo=t+"://"+e.host,this.uo="projects/"+this.databaseId.projectId+"/databases/"+this.databaseId.database+"/documents"}get co(){return!1}ao(e,t,n,r,s){const i=this.ho(e,t);Rs("RestConnection","Sending: ",i,n);const o={};return this.lo(o,r,s),this.fo(e,i,o,n).then((e=>(Rs("RestConnection","Received: ",e),e)),(t=>{throw Ls("RestConnection",`${e} failed with error: `,t,"url: ",i,"request:",n),t}))}_o(e,t,n,r,s,i){return this.ao(e,t,n,r,s)}lo(e,t,n){e["X-Goog-Api-Client"]="gl-js/ fire/"+As,e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach(((t,n)=>e[n]=t)),n&&n.headers.forEach(((t,n)=>e[n]=t))}ho(e,t){const n=$c[e];return`${this.oo}/v1/${t}:${n}`}}{constructor(e){super(e),this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams}fo(e,t,n,r){return new Promise(((s,i)=>{const o=new Ss;o.setWithCredentials(!0),o.listenOnce(ws.COMPLETE,(()=>{try{switch(o.getLastErrorCode()){case vs.NO_ERROR:const t=o.getResponseJson();Rs("Connection","XHR received:",JSON.stringify(t)),s(t);break;case vs.TIMEOUT:Rs("Connection",'RPC "'+e+'" timed out'),i(new Vs(Fs.DEADLINE_EXCEEDED,"Request time out"));break;case vs.HTTP_ERROR:const n=o.getStatus();if(Rs("Connection",'RPC "'+e+'" failed with status:',n,"response text:",o.getResponseText()),n>0){let e=o.getResponseJson();Array.isArray(e)&&(e=e[0]);const t=null==e?void 0:e.error;if(t&&t.status&&t.message){const e=function(e){const t=e.toLowerCase().replace(/_/g,"-");return Object.values(Fs).indexOf(t)>=0?t:Fs.UNKNOWN}(t.status);i(new Vs(e,t.message))}else i(new Vs(Fs.UNKNOWN,"Server responded with status "+o.getStatus()))}else i(new Vs(Fs.UNAVAILABLE,"Connection failed."));break;default:Ms()}}finally{Rs("Connection",'RPC "'+e+'" completed.')}}));const a=JSON.stringify(r);o.send(t,"POST",a,n,15)}))}wo(e,t,n){const r=[this.oo,"/","google.firestore.v1.Firestore","/",e,"/channel"],s=new fs,i=ln(),o={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:`projects/${this.databaseId.projectId}/databases/${this.databaseId.database}`},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling};this.useFetchStreams&&(o.xmlHttpFactory=new Es({})),this.lo(o.initMessageHeaders,t,n),o.encodeInitMessageHeaders=!0;const a=r.join("");Rs("Connection","Creating WebChannel: "+a,o);const c=s.createWebChannel(a,o);let u=!1,h=!1;const l=new Kc({Hr:e=>{h?Rs("Connection","Not sending because WebChannel is closed:",e):(u||(Rs("Connection","Opening WebChannel transport."),c.open(),u=!0),Rs("Connection","WebChannel sending:",e),c.send(e))},Jr:()=>c.close()}),d=(e,t,n)=>{e.listen(t,(e=>{try{n(e)}catch(e){setTimeout((()=>{throw e}),0)}}))};return d(c,_s.EventType.OPEN,(()=>{h||Rs("Connection","WebChannel transport opened.")})),d(c,_s.EventType.CLOSE,(()=>{h||(h=!0,Rs("Connection","WebChannel transport closed"),l.io())})),d(c,_s.EventType.ERROR,(e=>{h||(h=!0,Ls("Connection","WebChannel transport errored:",e),l.io(new Vs(Fs.UNAVAILABLE,"The operation could not be completed")))})),d(c,_s.EventType.MESSAGE,(e=>{var t;if(!h){const n=e.data[0];xs(!!n);const r=n,s=r.error||(null===(t=r[0])||void 0===t?void 0:t.error);if(s){Rs("Connection","WebChannel received error:",s);const e=s.status;let t=function(e){const t=ga[e];if(void 0!==t)return ya(t)}(e),n=s.message;void 0===t&&(t=Fs.INTERNAL,n="Unknown error status: "+e+" with message "+s.message),h=!0,l.io(new Vs(t,n)),c.close()}else Rs("Connection","WebChannel received:",n),l.ro(n)}})),d(i,Is.STAT_EVENT,(e=>{e.stat===bs?Rs("Connection","Detected buffering proxy"):e.stat===Ts&&Rs("Connection","Detected no buffering proxy")})),setTimeout((()=>{l.so()}),0),l}}function Gc(){return"undefined"!=typeof document?document:null}
|
|
1424
1424
|
/**
|
|
1425
1425
|
* @license
|
|
1426
1426
|
* Copyright 2020 Google LLC
|
|
@@ -1436,7 +1436,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1436
1436
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1437
1437
|
* See the License for the specific language governing permissions and
|
|
1438
1438
|
* limitations under the License.
|
|
1439
|
-
*/function Wc(
|
|
1439
|
+
*/function Wc(e){return new za(e,!0)}class Qc{constructor(e,t,n=1e3,r=1.5,s=6e4){this.Hs=e,this.timerId=t,this.mo=n,this.yo=r,this.po=s,this.Io=0,this.To=null,this.Eo=Date.now(),this.reset()}reset(){this.Io=0}Ao(){this.Io=this.po}Ro(e){this.cancel();const t=Math.floor(this.Io+this.bo()),n=Math.max(0,Date.now()-this.Eo),r=Math.max(0,t-n);r>0&&Rs("ExponentialBackoff",`Backing off for ${r} ms (base delay: ${this.Io} ms, delay with jitter: ${t} ms, last attempt: ${n} ms ago)`),this.To=this.Hs.enqueueAfterDelay(this.timerId,r,(()=>(this.Eo=Date.now(),e()))),this.Io*=this.yo,this.Io<this.mo&&(this.Io=this.mo),this.Io>this.po&&(this.Io=this.po)}Po(){null!==this.To&&(this.To.skipDelay(),this.To=null)}cancel(){null!==this.To&&(this.To.cancel(),this.To=null)}bo(){return(Math.random()-.5)*this.Io}}
|
|
1440
1440
|
/**
|
|
1441
1441
|
* @license
|
|
1442
1442
|
* Copyright 2017 Google LLC
|
|
@@ -1452,7 +1452,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1452
1452
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1453
1453
|
* See the License for the specific language governing permissions and
|
|
1454
1454
|
* limitations under the License.
|
|
1455
|
-
*/class Yc{constructor(t,
|
|
1455
|
+
*/class Yc{constructor(e,t,n,r,s,i,o,a){this.Hs=e,this.vo=n,this.Vo=r,this.connection=s,this.authCredentialsProvider=i,this.appCheckCredentialsProvider=o,this.listener=a,this.state=0,this.So=0,this.Do=null,this.Co=null,this.stream=null,this.xo=new Qc(e,t)}No(){return 1===this.state||5===this.state||this.ko()}ko(){return 2===this.state||3===this.state}start(){4!==this.state?this.auth():this.Oo()}async stop(){this.No()&&await this.close(0)}Mo(){this.state=0,this.xo.reset()}Fo(){this.ko()&&null===this.Do&&(this.Do=this.Hs.enqueueAfterDelay(this.vo,6e4,(()=>this.$o())))}Bo(e){this.Lo(),this.stream.send(e)}async $o(){if(this.ko())return this.close(0)}Lo(){this.Do&&(this.Do.cancel(),this.Do=null)}qo(){this.Co&&(this.Co.cancel(),this.Co=null)}async close(e,t){this.Lo(),this.qo(),this.xo.cancel(),this.So++,4!==e?this.xo.reset():t&&t.code===Fs.RESOURCE_EXHAUSTED?(Os(t.toString()),Os("Using maximum backoff delay to prevent overloading the backend."),this.xo.Ao()):t&&t.code===Fs.UNAUTHENTICATED&&3!==this.state&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),null!==this.stream&&(this.Uo(),this.stream.close(),this.stream=null),this.state=e,await this.listener.Zr(t)}Uo(){}auth(){this.state=1;const e=this.Ko(this.So),t=this.So;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then((([e,n])=>{this.So===t&&this.Go(e,n)}),(t=>{e((()=>{const e=new Vs(Fs.UNKNOWN,"Fetching auth token failed: "+t.message);return this.Qo(e)}))}))}Go(e,t){const n=this.Ko(this.So);this.stream=this.jo(e,t),this.stream.Yr((()=>{n((()=>(this.state=2,this.Co=this.Hs.enqueueAfterDelay(this.Vo,1e4,(()=>(this.ko()&&(this.state=3),Promise.resolve()))),this.listener.Yr())))})),this.stream.Zr((e=>{n((()=>this.Qo(e)))})),this.stream.onMessage((e=>{n((()=>this.onMessage(e)))}))}Oo(){this.state=5,this.xo.Ro((async()=>{this.state=0,this.start()}))}Qo(e){return Rs("PersistentStream",`close with error: ${e}`),this.stream=null,this.close(4,e)}Ko(e){return t=>{this.Hs.enqueueAndForget((()=>this.So===e?t():(Rs("PersistentStream","stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve())))}}}class Xc extends Yc{constructor(e,t,n,r,s,i){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,n,r,i),this.yt=s}jo(e,t){return this.connection.wo("Listen",e,t)}onMessage(e){this.xo.reset();const t=function(e,t){let n;if("targetChange"in t){t.targetChange;const r=function(e){return"NO_CHANGE"===e?0:"ADD"===e?1:"REMOVE"===e?2:"CURRENT"===e?3:"RESET"===e?4:Ms()}(t.targetChange.targetChangeType||"NO_CHANGE"),s=t.targetChange.targetIds||[],i=function(e,t){return e.wt?(xs(void 0===t||"string"==typeof t),bi.fromBase64String(t||"")):(xs(void 0===t||t instanceof Uint8Array),bi.fromUint8Array(t||new Uint8Array))}(e,t.targetChange.resumeToken),o=t.targetChange.cause,a=o&&function(e){const t=void 0===e.code?Fs.UNKNOWN:ya(e.code);return new Vs(t,e.message||"")}(o);n=new Ma(r,s,i,a||null)}else if("documentChange"in t){t.documentChange;const r=t.documentChange;r.document,r.document.name,r.document.updateTime;const s=Qa(e,r.document.name),i=Ha(r.document.updateTime),o=r.document.createTime?Ha(r.document.createTime):ei.min(),a=new vo({mapValue:{fields:r.document.fields}}),c=wo.newFoundDocument(s,i,o,a),u=r.targetIds||[],h=r.removedTargetIds||[];n=new La(u,h,c.key,c)}else if("documentDelete"in t){t.documentDelete;const r=t.documentDelete;r.document;const s=Qa(e,r.document),i=r.readTime?Ha(r.readTime):ei.min(),o=wo.newNoDocument(s,i),a=r.removedTargetIds||[];n=new La([],a,o.key,o)}else if("documentRemove"in t){t.documentRemove;const r=t.documentRemove;r.document;const s=Qa(e,r.document),i=r.removedTargetIds||[];n=new La([],i,s,null)}else{if(!("filter"in t))return Ms();{t.filter;const e=t.filter;e.targetId;const r=e.count||0,s=new pa(r),i=e.targetId;n=new Pa(i,s)}}return n}(this.yt,e),n=function(e){if(!("targetChange"in e))return ei.min();const t=e.targetChange;return t.targetIds&&t.targetIds.length?ei.min():t.readTime?Ha(t.readTime):ei.min()}(e);return this.listener.Wo(t,n)}zo(e){const t={};t.database=Xa(this.yt),t.addTarget=function(e,t){let n;const r=t.target;return n=_o(r)?{documents:Za(e,r)}:{query:ec(e,r)},n.targetId=t.targetId,t.resumeToken.approximateByteSize()>0?n.resumeToken=Ka(e,t.resumeToken):t.snapshotVersion.compareTo(ei.min())>0&&(n.readTime=$a(e,t.snapshotVersion.toTimestamp())),n}(this.yt,e);const n=function(e,t){const n=function(e,t){switch(t){case 0:return null;case 1:return"existence-filter-mismatch";case 2:return"limbo-document";default:return Ms()}}(0,t.purpose);return null==n?null:{"goog-listen-tags":n}}(this.yt,e);n&&(t.labels=n),this.Bo(t)}Ho(e){const t={};t.database=Xa(this.yt),t.removeTarget=e,this.Bo(t)}}
|
|
1456
1456
|
/**
|
|
1457
1457
|
* @license
|
|
1458
1458
|
* Copyright 2017 Google LLC
|
|
@@ -1468,7 +1468,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1468
1468
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1469
1469
|
* See the License for the specific language governing permissions and
|
|
1470
1470
|
* limitations under the License.
|
|
1471
|
-
*/class Jc extends class{}{constructor(t,
|
|
1471
|
+
*/class Jc extends class{}{constructor(e,t,n,r){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=n,this.yt=r,this.nu=!1}su(){if(this.nu)throw new Vs(Fs.FAILED_PRECONDITION,"The client has already been terminated.")}ao(e,t,n){return this.su(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then((([r,s])=>this.connection.ao(e,t,n,r,s))).catch((e=>{throw"FirebaseError"===e.name?(e.code===Fs.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new Vs(Fs.UNKNOWN,e.toString())}))}_o(e,t,n,r){return this.su(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then((([s,i])=>this.connection._o(e,t,n,s,i,r))).catch((e=>{throw"FirebaseError"===e.name?(e.code===Fs.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new Vs(Fs.UNKNOWN,e.toString())}))}terminate(){this.nu=!0}}class Zc{constructor(e,t){this.asyncQueue=e,this.onlineStateHandler=t,this.state="Unknown",this.iu=0,this.ru=null,this.ou=!0}uu(){0===this.iu&&(this.cu("Unknown"),this.ru=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,(()=>(this.ru=null,this.au("Backend didn't respond within 10 seconds."),this.cu("Offline"),Promise.resolve()))))}hu(e){"Online"===this.state?this.cu("Unknown"):(this.iu++,this.iu>=1&&(this.lu(),this.au(`Connection failed 1 times. Most recent error: ${e.toString()}`),this.cu("Offline")))}set(e){this.lu(),this.iu=0,"Online"===e&&(this.ou=!1),this.cu(e)}cu(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))}au(e){const t=`Could not reach Cloud Firestore backend. ${e}\nThis 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.ou?(Os(t),this.ou=!1):Rs("OnlineStateTracker",t)}lu(){null!==this.ru&&(this.ru.cancel(),this.ru=null)}}
|
|
1472
1472
|
/**
|
|
1473
1473
|
* @license
|
|
1474
1474
|
* Copyright 2017 Google LLC
|
|
@@ -1484,7 +1484,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1484
1484
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1485
1485
|
* See the License for the specific language governing permissions and
|
|
1486
1486
|
* limitations under the License.
|
|
1487
|
-
*/class
|
|
1487
|
+
*/class eu{constructor(e,t,n,r,s){this.localStore=e,this.datastore=t,this.asyncQueue=n,this.remoteSyncer={},this.fu=[],this.du=new Map,this._u=new Set,this.wu=[],this.mu=s,this.mu.Ur((e=>{n.enqueueAndForget((async()=>{uu(this)&&(Rs("RemoteStore","Restarting streams for network reachability change."),await async function(e){const t=Us(e);t._u.add(4),await nu(t),t.gu.set("Unknown"),t._u.delete(4),await tu(t)}(this))}))})),this.gu=new Zc(n,r)}}async function tu(e){if(uu(e))for(const t of e.wu)await t(!0)}async function nu(e){for(const t of e.wu)await t(!1)}function ru(e,t){const n=Us(e);n.du.has(t.targetId)||(n.du.set(t.targetId,t),cu(n)?au(n):mu(n).ko()&&iu(n,t))}function su(e,t){const n=Us(e),r=mu(n);n.du.delete(t),r.ko()&&ou(n,t),0===n.du.size&&(r.ko()?r.Fo():uu(n)&&n.gu.set("Unknown"))}function iu(e,t){e.yu.Ot(t.targetId),mu(e).zo(t)}function ou(e,t){e.yu.Ot(t),mu(e).Ho(t)}function au(e){e.yu=new Ua({getRemoteKeysForTarget:t=>e.remoteSyncer.getRemoteKeysForTarget(t),ne:t=>e.du.get(t)||null}),mu(e).start(),e.gu.uu()}function cu(e){return uu(e)&&!mu(e).No()&&e.du.size>0}function uu(e){return 0===Us(e)._u.size}function hu(e){e.yu=void 0}async function lu(e){e.du.forEach(((t,n)=>{iu(e,t)}))}async function du(e,t){hu(e),cu(e)?(e.gu.hu(t),au(e)):e.gu.set("Unknown")}async function fu(e,t,n){if(e.gu.set("Online"),t instanceof Ma&&2===t.state&&t.cause)try{await async function(e,t){const n=t.cause;for(const r of t.targetIds)e.du.has(r)&&(await e.remoteSyncer.rejectListen(r,n),e.du.delete(r),e.yu.removeTarget(r))}(e,t)}catch(n){Rs("RemoteStore","Failed to remove targets %s: %s ",t.targetIds.join(","),n),await pu(e,n)}else if(t instanceof La?e.yu.Kt(t):t instanceof Pa?e.yu.Jt(t):e.yu.jt(t),!n.isEqual(ei.min()))try{const t=await xc(e.localStore);n.compareTo(t)>=0&&await function(e,t){const n=e.yu.Zt(t);return n.targetChanges.forEach(((n,r)=>{if(n.resumeToken.approximateByteSize()>0){const s=e.du.get(r);s&&e.du.set(r,s.withResumeToken(n.resumeToken,t))}})),n.targetMismatches.forEach((t=>{const n=e.du.get(t);if(!n)return;e.du.set(t,n.withResumeToken(bi.EMPTY_BYTE_STRING,n.snapshotVersion)),ou(e,t);const r=new dc(n.target,t,1,n.sequenceNumber);iu(e,r)})),e.remoteSyncer.applyRemoteEvent(n)}(e,n)}catch(t){Rs("RemoteStore","Failed to raise snapshot:",t),await pu(e,t)}}async function pu(e,t,n){if(!di(t))throw t;e._u.add(1),await nu(e),e.gu.set("Offline"),n||(n=()=>xc(e.localStore)),e.asyncQueue.enqueueRetryable((async()=>{Rs("RemoteStore","Retrying IndexedDB access"),await n(),e._u.delete(1),await tu(e)}))}async function gu(e,t){const n=Us(e);n.asyncQueue.verifyOperationInProgress(),Rs("RemoteStore","RemoteStore received new credentials");const r=uu(n);n._u.add(3),await nu(n),r&&n.gu.set("Unknown"),await n.remoteSyncer.handleCredentialChange(t),n._u.delete(3),await tu(n)}function mu(e){return e.pu||(e.pu=function(e,t,n){const r=Us(e);return r.su(),new Xc(t,r.connection,r.authCredentials,r.appCheckCredentials,r.yt,n)
|
|
1488
1488
|
/**
|
|
1489
1489
|
* @license
|
|
1490
1490
|
* Copyright 2018 Google LLC
|
|
@@ -1500,7 +1500,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1500
1500
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1501
1501
|
* See the License for the specific language governing permissions and
|
|
1502
1502
|
* limitations under the License.
|
|
1503
|
-
*/}(
|
|
1503
|
+
*/}(e.datastore,e.asyncQueue,{Yr:lu.bind(null,e),Zr:du.bind(null,e),Wo:fu.bind(null,e)}),e.wu.push((async t=>{t?(e.pu.Mo(),cu(e)?au(e):e.gu.set("Unknown")):(await e.pu.stop(),hu(e))}))),e.pu
|
|
1504
1504
|
/**
|
|
1505
1505
|
* @license
|
|
1506
1506
|
* Copyright 2017 Google LLC
|
|
@@ -1516,7 +1516,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1516
1516
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1517
1517
|
* See the License for the specific language governing permissions and
|
|
1518
1518
|
* limitations under the License.
|
|
1519
|
-
*/}class yu{constructor(t,
|
|
1519
|
+
*/}class yu{constructor(e,t,n,r,s){this.asyncQueue=e,this.timerId=t,this.targetTimeMs=n,this.op=r,this.removalCallback=s,this.deferred=new qs,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch((e=>{}))}static createAndSchedule(e,t,n,r,s){const i=Date.now()+n,o=new yu(e,t,i,r,s);return o.start(n),o}start(e){this.timerHandle=setTimeout((()=>this.handleDelayElapsed()),e)}skipDelay(){return this.handleDelayElapsed()}cancel(e){null!==this.timerHandle&&(this.clearTimeout(),this.deferred.reject(new Vs(Fs.CANCELLED,"Operation cancelled"+(e?": "+e:""))))}handleDelayElapsed(){this.asyncQueue.enqueueAndForget((()=>null!==this.timerHandle?(this.clearTimeout(),this.op().then((e=>this.deferred.resolve(e)))):Promise.resolve()))}clearTimeout(){null!==this.timerHandle&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)}}function vu(e,t){if(Os("AsyncQueue",`${t}: ${e}`),di(e))return new Vs(Fs.UNAVAILABLE,`${t}: ${e}`);throw e}
|
|
1520
1520
|
/**
|
|
1521
1521
|
* @license
|
|
1522
1522
|
* Copyright 2017 Google LLC
|
|
@@ -1532,7 +1532,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1532
1532
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1533
1533
|
* See the License for the specific language governing permissions and
|
|
1534
1534
|
* limitations under the License.
|
|
1535
|
-
*/class wu{constructor(
|
|
1535
|
+
*/class wu{constructor(e){this.comparator=e?(t,n)=>e(t,n)||ii.comparator(t.key,n.key):(e,t)=>ii.comparator(e.key,t.key),this.keyedMap=Ta(),this.sortedSet=new lo(this.comparator)}static emptySet(e){return new wu(e.comparator)}has(e){return null!=this.keyedMap.get(e)}get(e){return this.keyedMap.get(e)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(e){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,n)=>(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 wu))return!1;if(this.size!==e.size)return!1;const t=this.sortedSet.getIterator(),n=e.sortedSet.getIterator();for(;t.hasNext();){const e=t.getNext().key,r=n.getNext().key;if(!e.isEqual(r))return!1}return!0}toString(){const e=[];return this.forEach((t=>{e.push(t.toString())})),0===e.length?"DocumentSet ()":"DocumentSet (\n "+e.join(" \n")+"\n)"}copy(e,t){const n=new wu;return n.comparator=this.comparator,n.keyedMap=e,n.sortedSet=t,n}}
|
|
1536
1536
|
/**
|
|
1537
1537
|
* @license
|
|
1538
1538
|
* Copyright 2017 Google LLC
|
|
@@ -1548,7 +1548,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1548
1548
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1549
1549
|
* See the License for the specific language governing permissions and
|
|
1550
1550
|
* limitations under the License.
|
|
1551
|
-
*/class Iu{constructor(){this.Tu=new lo(ii.comparator)}track(
|
|
1551
|
+
*/class Iu{constructor(){this.Tu=new lo(ii.comparator)}track(e){const t=e.doc.key,n=this.Tu.get(t);n?0!==e.type&&3===n.type?this.Tu=this.Tu.insert(t,e):3===e.type&&1!==n.type?this.Tu=this.Tu.insert(t,{type:n.type,doc:e.doc}):2===e.type&&2===n.type?this.Tu=this.Tu.insert(t,{type:2,doc:e.doc}):2===e.type&&0===n.type?this.Tu=this.Tu.insert(t,{type:0,doc:e.doc}):1===e.type&&0===n.type?this.Tu=this.Tu.remove(t):1===e.type&&2===n.type?this.Tu=this.Tu.insert(t,{type:1,doc:n.doc}):0===e.type&&1===n.type?this.Tu=this.Tu.insert(t,{type:2,doc:e.doc}):Ms():this.Tu=this.Tu.insert(t,e)}Eu(){const e=[];return this.Tu.inorderTraversal(((t,n)=>{e.push(n)})),e}}class bu{constructor(e,t,n,r,s,i,o,a,c){this.query=e,this.docs=t,this.oldDocs=n,this.docChanges=r,this.mutatedKeys=s,this.fromCache=i,this.syncStateChanged=o,this.excludesMetadataChanges=a,this.hasCachedResults=c}static fromInitialDocuments(e,t,n,r,s){const i=[];return t.forEach((e=>{i.push({type:0,doc:e})})),new bu(e,t,wu.emptySet(t),i,n,r,!0,!1,s)}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)&&Mo(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;const t=this.docChanges,n=e.docChanges;if(t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e].type!==n[e].type||!t[e].doc.isEqual(n[e].doc))return!1;return!0}}
|
|
1552
1552
|
/**
|
|
1553
1553
|
* @license
|
|
1554
1554
|
* Copyright 2017 Google LLC
|
|
@@ -1564,7 +1564,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1564
1564
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1565
1565
|
* See the License for the specific language governing permissions and
|
|
1566
1566
|
* limitations under the License.
|
|
1567
|
-
*/class Tu{constructor(){this.Au=void 0,this.listeners=[]}}class Eu{constructor(){this.queries=new va((
|
|
1567
|
+
*/class Tu{constructor(){this.Au=void 0,this.listeners=[]}}class Eu{constructor(){this.queries=new va((e=>xo(e)),Mo),this.onlineState="Unknown",this.Ru=new Set}}async function _u(e,t){const n=Us(e),r=t.query;let s=!1,i=n.queries.get(r);if(i||(s=!0,i=new Tu),s)try{i.Au=await n.onListen(r)}catch(e){const n=vu(e,`Initialization of query '${Uo(t.query)}' failed`);return void t.onError(n)}n.queries.set(r,i),i.listeners.push(t),t.bu(n.onlineState),i.Au&&t.Pu(i.Au)&&Au(n)}async function Su(e,t){const n=Us(e),r=t.query;let s=!1;const i=n.queries.get(r);if(i){const e=i.listeners.indexOf(t);e>=0&&(i.listeners.splice(e,1),s=0===i.listeners.length)}if(s)return n.queries.delete(r),n.onUnlisten(r)}function Cu(e,t){const n=Us(e);let r=!1;for(const e of t){const t=e.query,s=n.queries.get(t);if(s){for(const t of s.listeners)t.Pu(e)&&(r=!0);s.Au=e}}r&&Au(n)}function ku(e,t,n){const r=Us(e),s=r.queries.get(t);if(s)for(const e of s.listeners)e.onError(n);r.queries.delete(t)}function Au(e){e.Ru.forEach((e=>{e.next()}))}class Nu{constructor(e,t,n){this.query=e,this.vu=t,this.Vu=!1,this.Su=null,this.onlineState="Unknown",this.options=n||{}}Pu(e){if(!this.options.includeMetadataChanges){const t=[];for(const n of e.docChanges)3!==n.type&&t.push(n);e=new bu(e.query,e.docs,e.oldDocs,t,e.mutatedKeys,e.fromCache,e.syncStateChanged,!0,e.hasCachedResults)}let t=!1;return this.Vu?this.Du(e)&&(this.vu.next(e),t=!0):this.Cu(e,this.onlineState)&&(this.xu(e),t=!0),this.Su=e,t}onError(e){this.vu.error(e)}bu(e){this.onlineState=e;let t=!1;return this.Su&&!this.Vu&&this.Cu(this.Su,e)&&(this.xu(this.Su),t=!0),t}Cu(e,t){if(!e.fromCache)return!0;const n="Offline"!==t;return(!this.options.Nu||!n)&&(!e.docs.isEmpty()||e.hasCachedResults||"Offline"===t)}Du(e){if(e.docChanges.length>0)return!0;const t=this.Su&&this.Su.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!t)&&!0===this.options.includeMetadataChanges}xu(e){e=bu.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.Vu=!0,this.vu.next(e)}}
|
|
1568
1568
|
/**
|
|
1569
1569
|
* @license
|
|
1570
1570
|
* Copyright 2017 Google LLC
|
|
@@ -1580,7 +1580,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1580
1580
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1581
1581
|
* See the License for the specific language governing permissions and
|
|
1582
1582
|
* limitations under the License.
|
|
1583
|
-
*/class Du{constructor(
|
|
1583
|
+
*/class Du{constructor(e){this.key=e}}class Ru{constructor(e){this.key=e}}class Ou{constructor(e,t){this.query=e,this.qu=t,this.Uu=null,this.hasCachedResults=!1,this.current=!1,this.Ku=Aa(),this.mutatedKeys=Aa(),this.Gu=Vo(e),this.Qu=new wu(this.Gu)}get ju(){return this.qu}Wu(e,t){const n=t?t.zu:new Iu,r=t?t.Qu:this.Qu;let s=t?t.mutatedKeys:this.mutatedKeys,i=r,o=!1;const a="F"===this.query.limitType&&r.size===this.query.limit?r.last():null,c="L"===this.query.limitType&&r.size===this.query.limit?r.first():null;if(e.inorderTraversal(((e,t)=>{const u=r.get(e),h=Fo(this.query,t)?t:null,l=!!u&&this.mutatedKeys.has(u.key),d=!!h&&(h.hasLocalMutations||this.mutatedKeys.has(h.key)&&h.hasCommittedMutations);let f=!1;u&&h?u.data.isEqual(h.data)?l!==d&&(n.track({type:3,doc:h}),f=!0):this.Hu(u,h)||(n.track({type:2,doc:h}),f=!0,(a&&this.Gu(h,a)>0||c&&this.Gu(h,c)<0)&&(o=!0)):!u&&h?(n.track({type:0,doc:h}),f=!0):u&&!h&&(n.track({type:1,doc:u}),f=!0,(a||c)&&(o=!0)),f&&(h?(i=i.add(h),s=d?s.add(e):s.delete(e)):(i=i.delete(e),s=s.delete(e)))})),null!==this.query.limit)for(;i.size>this.query.limit;){const e="F"===this.query.limitType?i.last():i.first();i=i.delete(e.key),s=s.delete(e.key),n.track({type:1,doc:e})}return{Qu:i,zu:n,$i:o,mutatedKeys:s}}Hu(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,n){const r=this.Qu;this.Qu=e.Qu,this.mutatedKeys=e.mutatedKeys;const s=e.zu.Eu();s.sort(((e,t)=>function(e,t){const n=e=>{switch(e){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return Ms()}};return n(e)-n(t)}
|
|
1584
1584
|
/**
|
|
1585
1585
|
* @license
|
|
1586
1586
|
* Copyright 2020 Google LLC
|
|
@@ -1596,7 +1596,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1596
1596
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1597
1597
|
* See the License for the specific language governing permissions and
|
|
1598
1598
|
* limitations under the License.
|
|
1599
|
-
*/(
|
|
1599
|
+
*/(e.type,t.type)||this.Gu(e.doc,t.doc))),this.Ju(n);const i=t?this.Yu():[],o=0===this.Ku.size&&this.current?1:0,a=o!==this.Uu;return this.Uu=o,0!==s.length||a?{snapshot:new bu(this.query,e.Qu,r,s,e.mutatedKeys,0===o,a,!1,!!n&&n.resumeToken.approximateByteSize()>0),Xu:i}:{Xu:i}}bu(e){return this.current&&"Offline"===e?(this.current=!1,this.applyChanges({Qu:this.Qu,zu:new Iu,mutatedKeys:this.mutatedKeys,$i:!1},!1)):{Xu:[]}}Zu(e){return!this.qu.has(e)&&!!this.Qu.has(e)&&!this.Qu.get(e).hasLocalMutations}Ju(e){e&&(e.addedDocuments.forEach((e=>this.qu=this.qu.add(e))),e.modifiedDocuments.forEach((e=>{})),e.removedDocuments.forEach((e=>this.qu=this.qu.delete(e))),this.current=e.current)}Yu(){if(!this.current)return[];const e=this.Ku;this.Ku=Aa(),this.Qu.forEach((e=>{this.Zu(e.key)&&(this.Ku=this.Ku.add(e.key))}));const t=[];return e.forEach((e=>{this.Ku.has(e)||t.push(new Ru(e))})),this.Ku.forEach((n=>{e.has(n)||t.push(new Du(n))})),t}tc(e){this.qu=e.Hi,this.Ku=Aa();const t=this.Wu(e.documents);return this.applyChanges(t,!0)}ec(){return bu.fromInitialDocuments(this.query,this.Qu,this.mutatedKeys,0===this.Uu,this.hasCachedResults)}}class Lu{constructor(e,t,n){this.query=e,this.targetId=t,this.view=n}}class Pu{constructor(e){this.key=e,this.nc=!1}}class Mu{constructor(e,t,n,r,s,i){this.localStore=e,this.remoteStore=t,this.eventManager=n,this.sharedClientState=r,this.currentUser=s,this.maxConcurrentLimboResolutions=i,this.sc={},this.ic=new va((e=>xo(e)),Mo),this.rc=new Map,this.oc=new Set,this.uc=new lo(ii.comparator),this.cc=new Map,this.ac=new Ec,this.hc={},this.lc=new Map,this.fc=yc.vn(),this.onlineState="Unknown",this.dc=void 0}get isPrimaryClient(){return!0===this.dc}}async function xu(e,t){const n=function(e){const t=Us(e);return t.remoteStore.remoteSyncer.applyRemoteEvent=Fu.bind(null,t),t.remoteStore.remoteSyncer.getRemoteKeysForTarget=Wu.bind(null,t),t.remoteStore.remoteSyncer.rejectListen=qu.bind(null,t),t.sc.Wo=Cu.bind(null,t.eventManager),t.sc.wc=ku.bind(null,t.eventManager),t}(e);let r,s;const i=n.ic.get(t);if(i)r=i.targetId,n.sharedClientState.addLocalQueryTarget(r),s=i.view.ec();else{const e=await function(e,t){const n=Us(e);return n.persistence.runTransaction("Allocate target","readwrite",(e=>{let r;return n.Cs.getTargetData(e,t).next((s=>s?(r=s,li.resolve(r)):n.Cs.allocateTargetId(e).next((s=>(r=new dc(t,s,0,e.currentSequenceNumber),n.Cs.addTargetData(e,r).next((()=>r)))))))})).then((e=>{const r=n.qi.get(e.targetId);return(null===r||e.snapshotVersion.compareTo(r.snapshotVersion)>0)&&(n.qi=n.qi.insert(e.targetId,e),n.Ui.set(t,e.targetId)),e}))}(n.localStore,Oo(t));n.isPrimaryClient&&ru(n.remoteStore,e);const i=n.sharedClientState.addLocalQueryTarget(e.targetId);r=e.targetId,s=await async function(e,t,n,r,s){e._c=(t,n,r)=>async function(e,t,n,r){let s=t.view.Wu(n);s.$i&&(s=await Vc(e.localStore,t.query,!1).then((({documents:e})=>t.view.Wu(e,s))));const i=r&&r.targetChanges.get(t.targetId),o=t.view.applyChanges(s,e.isPrimaryClient,i);return zu(e,t.targetId,o.Xu),o.snapshot}(e,t,n,r);const i=await Vc(e.localStore,t,!0),o=new Ou(t,i.Hi),a=o.Wu(i.documents),c=Oa.createSynthesizedTargetChangeForCurrentChange(n,r&&"Offline"!==e.onlineState,s),u=o.applyChanges(a,e.isPrimaryClient,c);zu(e,n,u.Xu);const h=new Lu(t,n,o);return e.ic.set(t,h),e.rc.has(n)?e.rc.get(n).push(t):e.rc.set(n,[t]),u.snapshot}(n,t,r,"current"===i,e.resumeToken)}return s}async function Uu(e,t){const n=Us(e),r=n.ic.get(t),s=n.rc.get(r.targetId);if(s.length>1)return n.rc.set(r.targetId,s.filter((e=>!Mo(e,t)))),void n.ic.delete(t);n.isPrimaryClient?(n.sharedClientState.removeLocalQueryTarget(r.targetId),n.sharedClientState.isActiveQueryTarget(r.targetId)||await Fc(n.localStore,r.targetId,!1).then((()=>{n.sharedClientState.clearQueryState(r.targetId),su(n.remoteStore,r.targetId),ju(n,r.targetId)})).catch(hi)):(ju(n,r.targetId),await Fc(n.localStore,r.targetId,!0))}async function Fu(e,t){const n=Us(e);try{const e=await Uc(n.localStore,t);t.targetChanges.forEach(((e,t)=>{const r=n.cc.get(t);r&&(xs(e.addedDocuments.size+e.modifiedDocuments.size+e.removedDocuments.size<=1),e.addedDocuments.size>0?r.nc=!0:e.modifiedDocuments.size>0?xs(r.nc):e.removedDocuments.size>0&&(xs(r.nc),r.nc=!1))})),await Hu(n,e,t)}catch(e){await hi(e)}}function Vu(e,t,n){const r=Us(e);if(r.isPrimaryClient&&0===n||!r.isPrimaryClient&&1===n){const e=[];r.ic.forEach(((n,r)=>{const s=r.view.bu(t);s.snapshot&&e.push(s.snapshot)})),function(e,t){const n=Us(e);n.onlineState=t;let r=!1;n.queries.forEach(((e,n)=>{for(const e of n.listeners)e.bu(t)&&(r=!0)})),r&&Au(n)}(r.eventManager,t),e.length&&r.sc.Wo(e),r.onlineState=t,r.isPrimaryClient&&r.sharedClientState.setOnlineState(t)}}async function qu(e,t,n){const r=Us(e);r.sharedClientState.updateQueryState(t,"rejected",n);const s=r.cc.get(t),i=s&&s.key;if(i){let e=new lo(ii.comparator);e=e.insert(i,wo.newNoDocument(i,ei.min()));const n=Aa().add(i),s=new Ra(ei.min(),new Map,new go(Xs),e,n);await Fu(r,s),r.uc=r.uc.remove(i),r.cc.delete(t),Ku(r)}else await Fc(r.localStore,t,!1).then((()=>ju(r,t,n))).catch(hi)}function ju(e,t,n=null){e.sharedClientState.removeLocalQueryTarget(t);for(const r of e.rc.get(t))e.ic.delete(r),n&&e.sc.wc(r,n);e.rc.delete(t),e.isPrimaryClient&&e.ac.ls(t).forEach((t=>{e.ac.containsKey(t)||Bu(e,t)}))}function Bu(e,t){e.oc.delete(t.path.canonicalString());const n=e.uc.get(t);null!==n&&(su(e.remoteStore,n),e.uc=e.uc.remove(t),e.cc.delete(n),Ku(e))}function zu(e,t,n){for(const r of n)r instanceof Du?(e.ac.addReference(r.key,t),$u(e,r)):r instanceof Ru?(Rs("SyncEngine","Document no longer in limbo: "+r.key),e.ac.removeReference(r.key,t),e.ac.containsKey(r.key)||Bu(e,r.key)):Ms()}function $u(e,t){const n=t.key,r=n.path.canonicalString();e.uc.get(n)||e.oc.has(r)||(Rs("SyncEngine","New document in limbo: "+n),e.oc.add(r),Ku(e))}function Ku(e){for(;e.oc.size>0&&e.uc.size<e.maxConcurrentLimboResolutions;){const t=e.oc.values().next().value;e.oc.delete(t);const n=new ii(ni.fromString(t)),r=e.fc.next();e.cc.set(r,new Pu(n)),e.uc=e.uc.insert(n,r),ru(e.remoteStore,new dc(Oo(Co(n.path)),r,2,fi.at))}}async function Hu(e,t,n){const r=Us(e),s=[],i=[],o=[];r.ic.isEmpty()||(r.ic.forEach(((e,a)=>{o.push(r._c(a,t,n).then((e=>{if((e||n)&&r.isPrimaryClient&&r.sharedClientState.updateQueryState(a.targetId,(null==e?void 0:e.fromCache)?"not-current":"current"),e){s.push(e);const t=Oc.Ci(a.targetId,e);i.push(t)}})))})),await Promise.all(o),r.sc.Wo(s),await async function(e,t){const n=Us(e);try{await n.persistence.runTransaction("notifyLocalViewChanges","readwrite",(e=>li.forEach(t,(t=>li.forEach(t.Si,(r=>n.persistence.referenceDelegate.addReference(e,t.targetId,r))).next((()=>li.forEach(t.Di,(r=>n.persistence.referenceDelegate.removeReference(e,t.targetId,r)))))))))}catch(e){if(!di(e))throw e;Rs("LocalStore","Failed to update sequence numbers: "+e)}for(const e of t){const t=e.targetId;if(!e.fromCache){const e=n.qi.get(t),r=e.snapshotVersion,s=e.withLastLimboFreeSnapshotVersion(r);n.qi=n.qi.insert(t,s)}}}(r.localStore,i))}async function Gu(e,t){const n=Us(e);if(!n.currentUser.isEqual(t)){Rs("SyncEngine","User change. New user:",t.toKey());const e=await Mc(n.localStore,t);n.currentUser=t,function(e,t){e.lc.forEach((e=>{e.forEach((e=>{e.reject(new Vs(Fs.CANCELLED,"'waitForPendingWrites' promise is rejected due to a user change."))}))})),e.lc.clear()}(n),n.sharedClientState.handleUserChange(t,e.removedBatchIds,e.addedBatchIds),await Hu(n,e.ji)}}function Wu(e,t){const n=Us(e),r=n.cc.get(t);if(r&&r.nc)return Aa().add(r.key);{let e=Aa();const r=n.rc.get(t);if(!r)return e;for(const t of r){const r=n.ic.get(t);e=e.unionWith(r.view.ju)}return e}}class Qu{constructor(){this.synchronizeTabs=!1}async initialize(e){this.yt=Wc(e.databaseInfo.databaseId),this.sharedClientState=this.gc(e),this.persistence=this.yc(e),await this.persistence.start(),this.localStore=this.Ic(e),this.gcScheduler=this.Tc(e,this.localStore),this.indexBackfillerScheduler=this.Ec(e,this.localStore)}Tc(e,t){return null}Ec(e,t){return null}Ic(e){return function(e,t,n,r){return new Pc(e,t,n,r)}(this.persistence,new Lc,e.initialUser,this.yt)}yc(e){return new Nc(Rc.Bs,this.yt)}gc(e){return new jc}async terminate(){this.gcScheduler&&this.gcScheduler.stop(),await this.sharedClientState.shutdown(),await this.persistence.shutdown()}}class Yu{async initialize(e,t){this.localStore||(this.localStore=e.localStore,this.sharedClientState=e.sharedClientState,this.datastore=this.createDatastore(t),this.remoteStore=this.createRemoteStore(t),this.eventManager=this.createEventManager(t),this.syncEngine=this.createSyncEngine(t,!e.synchronizeTabs),this.sharedClientState.onlineStateHandler=e=>Vu(this.syncEngine,e,1),this.remoteStore.remoteSyncer.handleCredentialChange=Gu.bind(null,this.syncEngine),await async function(e,t){const n=Us(e);t?(n._u.delete(2),await tu(n)):t||(n._u.add(2),await nu(n),n.gu.set("Unknown"))}(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return new Eu}createDatastore(e){const t=Wc(e.databaseInfo.databaseId),n=(r=e.databaseInfo,new Hc(r));var r;return function(e,t,n,r){return new Jc(e,t,n,r)}(e.authCredentials,e.appCheckCredentials,n,t)}createRemoteStore(e){return t=this.localStore,n=this.datastore,r=e.asyncQueue,s=e=>Vu(this.syncEngine,e,0),i=zc.C()?new zc:new Bc,new eu(t,n,r,s,i);var t,n,r,s,i}createSyncEngine(e,t){return function(e,t,n,r,s,i,o){const a=new Mu(e,t,n,r,s,i);return o&&(a.dc=!0),a}(this.localStore,this.remoteStore,this.eventManager,this.sharedClientState,e.initialUser,e.maxConcurrentLimboResolutions,t)}terminate(){return async function(e){const t=Us(e);Rs("RemoteStore","RemoteStore shutting down."),t._u.add(5),await nu(t),t.mu.shutdown(),t.gu.set("Unknown")}(this.remoteStore)}}
|
|
1600
1600
|
/**
|
|
1601
1601
|
* @license
|
|
1602
1602
|
* Copyright 2017 Google LLC
|
|
@@ -1612,7 +1612,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1612
1612
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1613
1613
|
* See the License for the specific language governing permissions and
|
|
1614
1614
|
* limitations under the License.
|
|
1615
|
-
*/function Xu(t,
|
|
1615
|
+
*/function Xu(e,t,n){if(!n)throw new Vs(Fs.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function Ju(e){if(!ii.isDocumentKey(e))throw new Vs(Fs.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function Zu(e){if(ii.isDocumentKey(e))throw new Vs(Fs.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function eh(e){if(void 0===e)return"undefined";if(null===e)return"null";if("string"==typeof e)return e.length>20&&(e=`${e.substring(0,20)}...`),JSON.stringify(e);if("number"==typeof e||"boolean"==typeof e)return""+e;if("object"==typeof e){if(e instanceof Array)return"an array";{const t=function(e){return e.constructor?e.constructor.name:null}(e);return t?`a custom ${t} object`:"an object"}}return"function"==typeof e?"a function":Ms()}function th(e,t){if("_delegate"in e&&(e=e._delegate),!(e instanceof t)){if(t.name===e.constructor.name)throw new Vs(Fs.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");{const n=eh(e);throw new Vs(Fs.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: ${n}`)}}return e}
|
|
1616
1616
|
/**
|
|
1617
1617
|
* @license
|
|
1618
1618
|
* Copyright 2020 Google LLC
|
|
@@ -1628,7 +1628,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1628
1628
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1629
1629
|
* See the License for the specific language governing permissions and
|
|
1630
1630
|
* limitations under the License.
|
|
1631
|
-
*/const nh=new Map;class rh{constructor(
|
|
1631
|
+
*/const nh=new Map;class rh{constructor(e){var t;if(void 0===e.host){if(void 0!==e.ssl)throw new Vs(Fs.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host="firestore.googleapis.com",this.ssl=!0}else this.host=e.host,this.ssl=null===(t=e.ssl)||void 0===t||t;if(this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,void 0===e.cacheSizeBytes)this.cacheSizeBytes=41943040;else{if(-1!==e.cacheSizeBytes&&e.cacheSizeBytes<1048576)throw new Vs(Fs.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.useFetchStreams=!!e.useFetchStreams,function(e,t,n,r){if(!0===t&&!0===r)throw new Vs(Fs.INVALID_ARGUMENT,`${e} and ${n} cannot be used together.`)}("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling)}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&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams}}
|
|
1632
1632
|
/**
|
|
1633
1633
|
* @license
|
|
1634
1634
|
* Copyright 2020 Google LLC
|
|
@@ -1644,7 +1644,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1644
1644
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1645
1645
|
* See the License for the specific language governing permissions and
|
|
1646
1646
|
* limitations under the License.
|
|
1647
|
-
*/class sh{constructor(t,
|
|
1647
|
+
*/class sh{constructor(e,t,n,r){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=n,this._app=r,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new rh({}),this._settingsFrozen=!1}get app(){if(!this._app)throw new Vs(Fs.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 void 0!==this._terminateTask}_setSettings(e){if(this._settingsFrozen)throw new Vs(Fs.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 rh(e),void 0!==e.credentials&&(this._authCredentials=function(e){if(!e)return new Bs;switch(e.type){case"gapi":const t=e.client;return new Hs(t,e.sessionIndex||"0",e.iamToken||null,e.authTokenFactory||null);case"provider":return e.client;default:throw new Vs(Fs.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||(this._terminateTask=this._terminate()),this._terminateTask}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return function(e){const t=nh.get(e);t&&(Rs("ComponentProvider","Removing Datastore"),nh.delete(e),t.terminate())}(this),Promise.resolve()}}function ih(e,t,r,s={}){var i;const o=(e=th(e,sh))._getSettings();if("firestore.googleapis.com"!==o.host&&o.host!==t&&Ls("Host has been set in both settings() and useEmulator(), emulator host will be used"),e._setSettings(Object.assign(Object.assign({},o),{host:`${t}:${r}`,ssl:!1})),s.mockUserToken){let t,r;if("string"==typeof s.mockUserToken)t=s.mockUserToken,r=ks.MOCK_USER;else{t=function(e,t){if(e.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');const r=t||"demo-project",s=e.iat||0,i=e.sub||e.user_id;if(!i)throw new Error("mockUserToken must contain 'sub' or 'user_id' field!");const o=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:{}}},e);return[n(JSON.stringify({alg:"none",type:"JWT"})),n(JSON.stringify(o)),""].join(".")}
|
|
1648
1648
|
/**
|
|
1649
1649
|
* @license
|
|
1650
1650
|
* Copyright 2017 Google LLC
|
|
@@ -1660,7 +1660,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1660
1660
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1661
1661
|
* See the License for the specific language governing permissions and
|
|
1662
1662
|
* limitations under the License.
|
|
1663
|
-
*/(s.mockUserToken,null===(i=
|
|
1663
|
+
*/(s.mockUserToken,null===(i=e._app)||void 0===i?void 0:i.options.projectId);const o=s.mockUserToken.sub||s.mockUserToken.user_id;if(!o)throw new Vs(Fs.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");r=new ks(o)}e._authCredentials=new zs(new js(t,r))}}
|
|
1664
1664
|
/**
|
|
1665
1665
|
* @license
|
|
1666
1666
|
* Copyright 2020 Google LLC
|
|
@@ -1676,7 +1676,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1676
1676
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1677
1677
|
* See the License for the specific language governing permissions and
|
|
1678
1678
|
* limitations under the License.
|
|
1679
|
-
*/class oh{constructor(t,
|
|
1679
|
+
*/class oh{constructor(e,t,n){this.converter=t,this._key=n,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 ch(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new oh(this.firestore,e,this._key)}}class ah{constructor(e,t,n){this.converter=t,this._query=n,this.type="query",this.firestore=e}withConverter(e){return new ah(this.firestore,e,this._query)}}class ch extends ah{constructor(e,t,n){super(e,t,Co(n)),this._path=n,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 oh(this.firestore,null,new ii(e))}withConverter(e){return new ch(this.firestore,e,this._path)}}function uh(e,t,...n){if(e=I(e),Xu("collection","path",t),e instanceof sh){const r=ni.fromString(t,...n);return Zu(r),new ch(e,null,r)}{if(!(e instanceof oh||e instanceof ch))throw new Vs(Fs.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");const r=e._path.child(ni.fromString(t,...n));return Zu(r),new ch(e.firestore,null,r)}}
|
|
1680
1680
|
/**
|
|
1681
1681
|
* @license
|
|
1682
1682
|
* Copyright 2020 Google LLC
|
|
@@ -1709,7 +1709,7 @@ class va{constructor(t,e){this.mapKeyFn=t,this.equalsFn=e,this.inner={},this.inn
|
|
|
1709
1709
|
* See the License for the specific language governing permissions and
|
|
1710
1710
|
* limitations under the License.
|
|
1711
1711
|
*/
|
|
1712
|
-
class hh{constructor(
|
|
1712
|
+
class hh{constructor(e){this.observer=e,this.muted=!1}next(e){this.observer.next&&this.Rc(this.observer.next,e)}error(e){this.observer.error?this.Rc(this.observer.error,e):Os("Uncaught Error in snapshot listener:",e.toString())}bc(){this.muted=!0}Rc(e,t){this.muted||setTimeout((()=>{this.muted||e(t)}),0)}}
|
|
1713
1713
|
/**
|
|
1714
1714
|
* @license
|
|
1715
1715
|
* Copyright 2017 Google LLC
|
|
@@ -1725,7 +1725,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1725
1725
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1726
1726
|
* See the License for the specific language governing permissions and
|
|
1727
1727
|
* limitations under the License.
|
|
1728
|
-
*/class lh{constructor(t,
|
|
1728
|
+
*/class lh{constructor(e,t,n,r){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=n,this.databaseInfo=r,this.user=ks.UNAUTHENTICATED,this.clientId=Ys.R(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this.authCredentials.start(n,(async e=>{Rs("FirestoreClient","Received user=",e.uid),await this.authCredentialListener(e),this.user=e})),this.appCheckCredentials.start(n,(e=>(Rs("FirestoreClient","Received new app check token=",e),this.appCheckCredentialListener(e,this.user))))}async getConfiguration(){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}verifyNotTerminated(){if(this.asyncQueue.isShuttingDown)throw new Vs(Fs.FAILED_PRECONDITION,"The client has already been terminated.")}terminate(){this.asyncQueue.enterRestrictedMode();const e=new qs;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 n=vu(t,"Failed to shutdown persistence");e.reject(n)}})),e.promise}}async function dh(e,t){e.asyncQueue.verifyOperationInProgress();const n=await async function(e){return e.offlineComponents||(Rs("FirestoreClient","Using default OfflineComponentProvider"),await async function(e,t){e.asyncQueue.verifyOperationInProgress(),Rs("FirestoreClient","Initializing OfflineComponentProvider");const n=await e.getConfiguration();await t.initialize(n);let r=n.initialUser;e.setCredentialChangeListener((async e=>{r.isEqual(e)||(await Mc(t.localStore,e),r=e)})),t.persistence.setDatabaseDeletedListener((()=>e.terminate())),e.offlineComponents=t}(e,new Qu)),e.offlineComponents}(e);Rs("FirestoreClient","Initializing OnlineComponentProvider");const r=await e.getConfiguration();await t.initialize(n,r),e.setCredentialChangeListener((e=>gu(t.remoteStore,e))),e.setAppCheckTokenChangeListener(((e,n)=>gu(t.remoteStore,n))),e.onlineComponents=t}async function fh(e){const t=await async function(e){return e.onlineComponents||(Rs("FirestoreClient","Using default OnlineComponentProvider"),await dh(e,new Yu)),e.onlineComponents}(e),n=t.eventManager;return n.onListen=xu.bind(null,t.syncEngine),n.onUnlisten=Uu.bind(null,t.syncEngine),n}class ph{constructor(){this.Bc=Promise.resolve(),this.Lc=[],this.qc=!1,this.Uc=[],this.Kc=null,this.Gc=!1,this.Qc=!1,this.jc=[],this.xo=new Qc(this,"async_queue_retry"),this.Wc=()=>{const e=Gc();e&&Rs("AsyncQueue","Visibility state changed to "+e.visibilityState),this.xo.Po()};const e=Gc();e&&"function"==typeof e.addEventListener&&e.addEventListener("visibilitychange",this.Wc)}get isShuttingDown(){return this.qc}enqueueAndForget(e){this.enqueue(e)}enqueueAndForgetEvenWhileRestricted(e){this.zc(),this.Hc(e)}enterRestrictedMode(e){if(!this.qc){this.qc=!0,this.Qc=e||!1;const t=Gc();t&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",this.Wc)}}enqueue(e){if(this.zc(),this.qc)return new Promise((()=>{}));const t=new qs;return this.Hc((()=>this.qc&&this.Qc?Promise.resolve():(e().then(t.resolve,t.reject),t.promise))).then((()=>t.promise))}enqueueRetryable(e){this.enqueueAndForget((()=>(this.Lc.push(e),this.Jc())))}async Jc(){if(0!==this.Lc.length){try{await this.Lc[0](),this.Lc.shift(),this.xo.reset()}catch(e){if(!di(e))throw e;Rs("AsyncQueue","Operation failed with retryable error: "+e)}this.Lc.length>0&&this.xo.Ro((()=>this.Jc()))}}Hc(e){const t=this.Bc.then((()=>(this.Gc=!0,e().catch((e=>{this.Kc=e,this.Gc=!1;const t=function(e){let t=e.message||"";return e.stack&&(t=e.stack.includes(e.message)?e.stack:e.message+"\n"+e.stack),t}
|
|
1729
1729
|
/**
|
|
1730
1730
|
* @license
|
|
1731
1731
|
* Copyright 2017 Google LLC
|
|
@@ -1741,7 +1741,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1741
1741
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1742
1742
|
* See the License for the specific language governing permissions and
|
|
1743
1743
|
* limitations under the License.
|
|
1744
|
-
*/(
|
|
1744
|
+
*/(e);throw Os("INTERNAL UNHANDLED ERROR: ",t),e})).then((e=>(this.Gc=!1,e))))));return this.Bc=t,t}enqueueAfterDelay(e,t,n){this.zc(),this.jc.indexOf(e)>-1&&(t=0);const r=yu.createAndSchedule(this,e,t,n,(e=>this.Yc(e)));return this.Uc.push(r),r}zc(){this.Kc&&Ms()}verifyOperationInProgress(){}async Xc(){let e;do{e=this.Bc,await e}while(e!==this.Bc)}Zc(e){for(const t of this.Uc)if(t.timerId===e)return!0;return!1}ta(e){return this.Xc().then((()=>{this.Uc.sort(((e,t)=>e.targetTimeMs-t.targetTimeMs));for(const t of this.Uc)if(t.skipDelay(),"all"!==e&&t.timerId===e)break;return this.Xc()}))}ea(e){this.jc.push(e)}Yc(e){const t=this.Uc.indexOf(e);this.Uc.splice(t,1)}}function gh(e){return function(e,t){if("object"!=typeof e||null===e)return!1;const n=e;for(const e of["next","error","complete"])if(e in n&&"function"==typeof n[e])return!0;return!1}
|
|
1745
1745
|
/**
|
|
1746
1746
|
* @license
|
|
1747
1747
|
* Copyright 2020 Google LLC
|
|
@@ -1757,7 +1757,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1757
1757
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1758
1758
|
* See the License for the specific language governing permissions and
|
|
1759
1759
|
* limitations under the License.
|
|
1760
|
-
*/(
|
|
1760
|
+
*/(e)}class mh extends sh{constructor(e,t,n,r){super(e,t,n,r),this.type="firestore",this._queue=new ph,this._persistenceKey=(null==r?void 0:r.name)||"[DEFAULT]"}_terminate(){return this._firestoreClient||wh(this),this._firestoreClient.terminate()}}function yh(e,t){const n="string"==typeof e?e:t||"(default)",r=re("object"==typeof e?e:ce(),"firestore").getImmediate({identifier:n});if(!r._initialized){const e=(e=>{const t=a(e);if(!t)return;const n=t.lastIndexOf(":");if(n<=0||n+1===t.length)throw new Error(`Invalid host ${t} with no separate hostname and port!`);const r=parseInt(t.substring(n+1),10);return"["===t[0]?[t.substring(1,n-1),r]:[t.substring(0,n),r]})("firestore");e&&ih(r,...e)}return r}function vh(e){return e._firestoreClient||wh(e),e._firestoreClient.verifyNotTerminated(),e._firestoreClient}function wh(e){var t;const n=e._freezeSettings(),r=function(e,t,n,r){return new pi(e,t,n,r.host,r.ssl,r.experimentalForceLongPolling,r.experimentalAutoDetectLongPolling,r.useFetchStreams)}
|
|
1761
1761
|
/**
|
|
1762
1762
|
* @license
|
|
1763
1763
|
* Copyright 2020 Google LLC
|
|
@@ -1773,7 +1773,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1773
1773
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1774
1774
|
* See the License for the specific language governing permissions and
|
|
1775
1775
|
* limitations under the License.
|
|
1776
|
-
*/(
|
|
1776
|
+
*/(e._databaseId,(null===(t=e._app)||void 0===t?void 0:t.options.appId)||"",e._persistenceKey,n);e._firestoreClient=new lh(e._authCredentials,e._appCheckCredentials,e._queue,r)}
|
|
1777
1777
|
/**
|
|
1778
1778
|
* @license
|
|
1779
1779
|
* Copyright 2020 Google LLC
|
|
@@ -1805,7 +1805,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1805
1805
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1806
1806
|
* See the License for the specific language governing permissions and
|
|
1807
1807
|
* limitations under the License.
|
|
1808
|
-
*/class Ih{constructor(
|
|
1808
|
+
*/class Ih{constructor(e){this._byteString=e}static fromBase64String(e){try{return new Ih(bi.fromBase64String(e))}catch(e){throw new Vs(Fs.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(e){return new Ih(bi.fromUint8Array(e))}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}toString(){return"Bytes(base64: "+this.toBase64()+")"}isEqual(e){return this._byteString.isEqual(e._byteString)}}
|
|
1809
1809
|
/**
|
|
1810
1810
|
* @license
|
|
1811
1811
|
* Copyright 2020 Google LLC
|
|
@@ -1821,7 +1821,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1821
1821
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1822
1822
|
* See the License for the specific language governing permissions and
|
|
1823
1823
|
* limitations under the License.
|
|
1824
|
-
*/class bh{constructor(...
|
|
1824
|
+
*/class bh{constructor(...e){for(let t=0;t<e.length;++t)if(0===e[t].length)throw new Vs(Fs.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new si(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}}function Th(){return new bh("__name__")}
|
|
1825
1825
|
/**
|
|
1826
1826
|
* @license
|
|
1827
1827
|
* Copyright 2020 Google LLC
|
|
@@ -1837,7 +1837,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1837
1837
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1838
1838
|
* See the License for the specific language governing permissions and
|
|
1839
1839
|
* limitations under the License.
|
|
1840
|
-
*/class Eh{constructor(
|
|
1840
|
+
*/class Eh{constructor(e){this._methodName=e}}
|
|
1841
1841
|
/**
|
|
1842
1842
|
* @license
|
|
1843
1843
|
* Copyright 2017 Google LLC
|
|
@@ -1853,7 +1853,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1853
1853
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1854
1854
|
* See the License for the specific language governing permissions and
|
|
1855
1855
|
* limitations under the License.
|
|
1856
|
-
*/class _h{constructor(t
|
|
1856
|
+
*/class _h{constructor(e,t){if(!isFinite(e)||e<-90||e>90)throw new Vs(Fs.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||t>180)throw new Vs(Fs.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+t);this._lat=e,this._long=t}get latitude(){return this._lat}get longitude(){return this._long}isEqual(e){return this._lat===e._lat&&this._long===e._long}toJSON(){return{latitude:this._lat,longitude:this._long}}_compareTo(e){return Xs(this._lat,e._lat)||Xs(this._long,e._long)}}
|
|
1857
1857
|
/**
|
|
1858
1858
|
* @license
|
|
1859
1859
|
* Copyright 2017 Google LLC
|
|
@@ -1869,7 +1869,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1869
1869
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1870
1870
|
* See the License for the specific language governing permissions and
|
|
1871
1871
|
* limitations under the License.
|
|
1872
|
-
*/const Sh=/^__.*__$/;function Ch(
|
|
1872
|
+
*/const Sh=/^__.*__$/;function Ch(e){switch(e){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw Ms()}}class kh{constructor(e,t,n,r,s,i){this.settings=e,this.databaseId=t,this.yt=n,this.ignoreUndefinedProperties=r,void 0===s&&this.na(),this.fieldTransforms=s||[],this.fieldMask=i||[]}get path(){return this.settings.path}get sa(){return this.settings.sa}ia(e){return new kh(Object.assign(Object.assign({},this.settings),e),this.databaseId,this.yt,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}ra(e){var t;const n=null===(t=this.path)||void 0===t?void 0:t.child(e),r=this.ia({path:n,oa:!1});return r.ua(e),r}ca(e){var t;const n=null===(t=this.path)||void 0===t?void 0:t.child(e),r=this.ia({path:n,oa:!1});return r.na(),r}aa(e){return this.ia({path:void 0,oa:!0})}ha(e){return Oh(e,this.settings.methodName,this.settings.la||!1,this.path,this.settings.fa)}contains(e){return void 0!==this.fieldMask.find((t=>e.isPrefixOf(t)))||void 0!==this.fieldTransforms.find((t=>e.isPrefixOf(t.field)))}na(){if(this.path)for(let e=0;e<this.path.length;e++)this.ua(this.path.get(e))}ua(e){if(0===e.length)throw this.ha("Document fields must not be empty");if(Ch(this.sa)&&Sh.test(e))throw this.ha('Document fields cannot begin and end with "__"')}}class Ah{constructor(e,t,n){this.databaseId=e,this.ignoreUndefinedProperties=t,this.yt=n||Wc(e)}da(e,t,n,r=!1){return new kh({sa:e,methodName:t,fa:n,path:si.emptyPath(),oa:!1,la:r},this.databaseId,this.yt,this.ignoreUndefinedProperties)}}function Nh(e,t){if(Dh(e=I(e)))return function(e,t,n){if(!Dh(n)||!function(e){return"object"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e))}(n)){const r=eh(n);throw"an object"===r?t.ha(e+" a custom object"):t.ha(e+" "+r)}}("Unsupported field value:",t,e),function(e,t){const n={};return vi(e)?t.path&&t.path.length>0&&t.fieldMask.push(t.path):yi(e,((e,r)=>{const s=Nh(r,t.ra(e));null!=s&&(n[e]=s)})),{mapValue:{fields:n}}}(e,t);if(e instanceof Eh)return function(e,t){if(!Ch(t.sa))throw t.ha(`${e._methodName}() can only be used with update() and set()`);if(!t.path)throw t.ha(`${e._methodName}() is not currently supported inside arrays`);const n=e._toFieldTransform(t);n&&t.fieldTransforms.push(n)}(e,t),null;if(void 0===e&&t.ignoreUndefinedProperties)return null;if(t.path&&t.fieldMask.push(t.path),e instanceof Array){if(t.settings.oa&&4!==t.sa)throw t.ha("Nested arrays are not supported");return function(e,t){const n=[];let r=0;for(const s of e){let e=Nh(s,t.aa(r));null==e&&(e={nullValue:"NULL_VALUE"}),n.push(e),r++}return{arrayValue:{values:n}}}(e,t)}return function(e,t){if(null===(e=I(e)))return{nullValue:"NULL_VALUE"};if("number"==typeof e)return zo(t.yt,e);if("boolean"==typeof e)return{booleanValue:e};if("string"==typeof e)return{stringValue:e};if(e instanceof Date){const n=Zs.fromDate(e);return{timestampValue:$a(t.yt,n)}}if(e instanceof Zs){const n=new Zs(e.seconds,1e3*Math.floor(e.nanoseconds/1e3));return{timestampValue:$a(t.yt,n)}}if(e instanceof _h)return{geoPointValue:{latitude:e.latitude,longitude:e.longitude}};if(e instanceof Ih)return{bytesValue:Ka(t.yt,e._byteString)};if(e instanceof oh){const n=t.databaseId,r=e.firestore._databaseId;if(!r.isEqual(n))throw t.ha(`Document reference is for database ${r.projectId}/${r.database} but should be for database ${n.projectId}/${n.database}`);return{referenceValue:Ga(e.firestore._databaseId||t.databaseId,e._key.path)}}throw t.ha(`Unsupported field value: ${eh(e)}`)}(e,t)}function Dh(e){return!("object"!=typeof e||null===e||e instanceof Array||e instanceof Date||e instanceof Zs||e instanceof _h||e instanceof Ih||e instanceof oh||e instanceof Eh)}const Rh=new RegExp("[~\\*/\\[\\]]");function Oh(e,t,n,r,s){const i=r&&!r.isEmpty(),o=void 0!==s;let a=`Function ${t}() called with invalid data`;n&&(a+=" (via `toFirestore()`)"),a+=". ";let c="";return(i||o)&&(c+=" (found",i&&(c+=` in field ${r}`),o&&(c+=` in document ${s}`),c+=")"),new Vs(Fs.INVALID_ARGUMENT,a+e+c)
|
|
1873
1873
|
/**
|
|
1874
1874
|
* @license
|
|
1875
1875
|
* Copyright 2020 Google LLC
|
|
@@ -1885,7 +1885,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1885
1885
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1886
1886
|
* See the License for the specific language governing permissions and
|
|
1887
1887
|
* limitations under the License.
|
|
1888
|
-
*/}class Lh{constructor(t,
|
|
1888
|
+
*/}class Lh{constructor(e,t,n,r,s){this._firestore=e,this._userDataWriter=t,this._key=n,this._document=r,this._converter=s}get id(){return this._key.path.lastSegment()}get ref(){return new oh(this._firestore,this._converter,this._key)}exists(){return null!==this._document}data(){if(this._document){if(this._converter){const e=new Ph(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(Mh("DocumentSnapshot.get",e));if(null!==t)return this._userDataWriter.convertValue(t)}}}class Ph extends Lh{data(){return super.data()}}function Mh(e,t){return"string"==typeof t?function(e,t,n){if(t.search(Rh)>=0)throw Oh(`Invalid field path (${t}). Paths must not contain '~', '*', '/', '[', or ']'`,e,!1,void 0,n);try{return new bh(...t.split("."))._internalPath}catch(r){throw Oh(`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,e,!1,void 0,n)}}(e,t):t instanceof bh?t._internalPath:t._delegate._internalPath}
|
|
1889
1889
|
/**
|
|
1890
1890
|
* @license
|
|
1891
1891
|
* Copyright 2020 Google LLC
|
|
@@ -1901,7 +1901,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1901
1901
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1902
1902
|
* See the License for the specific language governing permissions and
|
|
1903
1903
|
* limitations under the License.
|
|
1904
|
-
*/function xh(
|
|
1904
|
+
*/function xh(e){if("L"===e.limitType&&0===e.explicitOrderBy.length)throw new Vs(Fs.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}class Uh{}class Fh extends Uh{}function Vh(e,t,...n){let r=[];t instanceof Uh&&r.push(t),r=r.concat(n),function(e){const t=e.filter((e=>e instanceof Bh)).length,n=e.filter((e=>e instanceof qh)).length;if(t>1||t>0&&n>0)throw new Vs(Fs.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(...)))`.")}
|
|
1905
1905
|
/**
|
|
1906
1906
|
* @license
|
|
1907
1907
|
* Copyright 2020 Google LLC
|
|
@@ -1917,7 +1917,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1917
1917
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1918
1918
|
* See the License for the specific language governing permissions and
|
|
1919
1919
|
* limitations under the License.
|
|
1920
|
-
*/(r);for(const
|
|
1920
|
+
*/(r);for(const t of r)e=t._apply(e);return e}class qh extends Fh{constructor(e,t,n){super(),this._field=e,this._op=t,this._value=n,this.type="where"}static _create(e,t,n){return new qh(e,t,n)}_apply(e){const t=this._parse(e);return Kh(e._query,t),new ah(e.firestore,e.converter,Lo(e._query,t))}_parse(e){const t=function(e){const t=e._freezeSettings(),n=Wc(e._databaseId);return new Ah(e._databaseId,!!t.ignoreUndefinedProperties,n)}(e.firestore),n=function(e,t,n,r,s,i,o){let a;if(s.isKeyField()){if("array-contains"===i||"array-contains-any"===i)throw new Vs(Fs.INVALID_ARGUMENT,`Invalid Query. You can't perform '${i}' queries on documentId().`);if("in"===i||"not-in"===i){$h(o,i);const t=[];for(const n of o)t.push(zh(r,e,n));a={arrayValue:{values:t}}}else a=zh(r,e,o)}else"in"!==i&&"not-in"!==i&&"array-contains-any"!==i||$h(o,i),a=function(e,t,n,r=!1){return Nh(n,e.da(r?4:3,t))}(n,"where",o,"in"===i||"not-in"===i);return Wi.create(s,i,a)}(e._query,0,t,e.firestore._databaseId,this._field,this._op,this._value);return n}}function jh(e,t,n){const r=t,s=Mh("where",e);return qh._create(s,r,n)}class Bh extends Uh{constructor(e,t){super(),this.type=e,this._queryConstraints=t}static _create(e,t){return new Bh(e,t)}_parse(e){const t=this._queryConstraints.map((t=>t._parse(e))).filter((e=>e.getFilters().length>0));return 1===t.length?t[0]:Qi.create(t,this._getOperator())}_apply(e){const t=this._parse(e);return 0===t.getFilters().length?e:(function(e,t){let n=e;const r=t.getFlattenedFilters();for(const e of r)Kh(n,e),n=Lo(n,e)}(e._query,t),new ah(e.firestore,e.converter,Lo(e._query,t)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return"and"===this.type?"and":"or"}}function zh(e,t,n){if("string"==typeof(n=I(n))){if(""===n)throw new Vs(Fs.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!Do(t)&&-1!==n.indexOf("/"))throw new Vs(Fs.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${n}' contains a '/' character.`);const r=t.path.child(ni.fromString(n));if(!ii.isDocumentKey(r))throw new Vs(Fs.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 Ui(e,new ii(r))}if(n instanceof oh)return Ui(e,n._key);throw new Vs(Fs.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${eh(n)}.`)}function $h(e,t){if(!Array.isArray(e)||0===e.length)throw new Vs(Fs.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`);if(e.length>10)throw new Vs(Fs.INVALID_ARGUMENT,`Invalid Query. '${t.toString()}' filters support a maximum of 10 elements in the value array.`)}function Kh(e,t){if(t.isInequality()){const n=No(e),r=t.field;if(null!==n&&!n.isEqual(r))throw new Vs(Fs.INVALID_ARGUMENT,`Invalid query. All where filters with an inequality (<, <=, !=, not-in, >, or >=) must be on the same field. But you have inequality filters on '${n.toString()}' and '${r.toString()}'`);const s=Ao(e);null!==s&&function(e,t,n){if(!n.isEqual(t))throw new Vs(Fs.INVALID_ARGUMENT,`Invalid query. You have a where filter with an inequality (<, <=, !=, not-in, >, or >=) on field '${t.toString()}' and so you must also use '${t.toString()}' as your first argument to orderBy(), but your first orderBy() is on field '${n.toString()}' instead.`)}(0,r,s)}const n=function(e,t){for(const n of e)for(const e of n.getFlattenedFilters())if(t.indexOf(e.op)>=0)return e.op;return null}(e.filters,function(e){switch(e){case"!=":return["!=","not-in"];case"array-contains":return["array-contains","array-contains-any","not-in"];case"in":return["array-contains-any","in","not-in"];case"array-contains-any":return["array-contains","array-contains-any","in","not-in"];case"not-in":return["array-contains","array-contains-any","in","not-in","!="];default:return[]}}(t.op));if(null!==n)throw n===t.op?new Vs(Fs.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new Vs(Fs.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${n.toString()}' filters.`)}class Hh{convertValue(e,t="none"){switch(Di(e)){case 0:return null;case 1:return e.booleanValue;case 2:return _i(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(Si(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 10:return this.convertObject(e.mapValue,t);default:throw Ms()}}convertObject(e,t){const n={};return yi(e.fields,((e,r)=>{n[e]=this.convertValue(r,t)})),n}convertGeoPoint(e){return new _h(_i(e.latitude),_i(e.longitude))}convertArray(e,t){return(e.values||[]).map((e=>this.convertValue(e,t)))}convertServerTimestamp(e,t){switch(t){case"previous":const n=ki(e);return null==n?null:this.convertValue(n,t);case"estimate":return this.convertTimestamp(Ai(e));default:return null}}convertTimestamp(e){const t=Ei(e);return new Zs(t.seconds,t.nanos)}convertDocumentKey(e,t){const n=ni.fromString(e);xs(uc(n));const r=new gi(n.get(1),n.get(3)),s=new ii(n.popFirst(5));return r.isEqual(t)||Os(`Document ${s} contains a document reference within a different database (${r.projectId}/${r.database}) which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),s}}
|
|
1921
1921
|
/**
|
|
1922
1922
|
* @license
|
|
1923
1923
|
* Copyright 2020 Google LLC
|
|
@@ -1933,7 +1933,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1933
1933
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1934
1934
|
* See the License for the specific language governing permissions and
|
|
1935
1935
|
* limitations under the License.
|
|
1936
|
-
*/class Gh{constructor(t
|
|
1936
|
+
*/class Gh{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}class Wh extends Lh{constructor(e,t,n,r,s,i){super(e,t,n,r,i),this._firestore=e,this._firestoreImpl=e,this.metadata=s}exists(){return super.exists()}data(e={}){if(this._document){if(this._converter){const t=new Qh(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 n=this._document.data.field(Mh("DocumentSnapshot.get",e));if(null!==n)return this._userDataWriter.convertValue(n,t.serverTimestamps)}}}class Qh extends Wh{data(e={}){return super.data(e)}}class Yh{constructor(e,t,n,r){this._firestore=e,this._userDataWriter=t,this._snapshot=r,this.metadata=new Gh(r.hasPendingWrites,r.fromCache),this.query=n}get docs(){const e=[];return this.forEach((t=>e.push(t))),e}get size(){return this._snapshot.docs.size}get empty(){return 0===this.size}forEach(e,t){this._snapshot.docs.forEach((n=>{e.call(t,new Qh(this._firestore,this._userDataWriter,n.key,n,new Gh(this._snapshot.mutatedKeys.has(n.key),this._snapshot.fromCache),this.query.converter))}))}docChanges(e={}){const t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new Vs(Fs.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===t||(this._cachedChanges=function(e,t){if(e._snapshot.oldDocs.isEmpty()){let t=0;return e._snapshot.docChanges.map((n=>{const r=new Qh(e._firestore,e._userDataWriter,n.doc.key,n.doc,new Gh(e._snapshot.mutatedKeys.has(n.doc.key),e._snapshot.fromCache),e.query.converter);return n.doc,{type:"added",doc:r,oldIndex:-1,newIndex:t++}}))}{let n=e._snapshot.oldDocs;return e._snapshot.docChanges.filter((e=>t||3!==e.type)).map((t=>{const r=new Qh(e._firestore,e._userDataWriter,t.doc.key,t.doc,new Gh(e._snapshot.mutatedKeys.has(t.doc.key),e._snapshot.fromCache),e.query.converter);let s=-1,i=-1;return 0!==t.type&&(s=n.indexOf(t.doc.key),n=n.delete(t.doc.key)),1!==t.type&&(n=n.add(t.doc),i=n.indexOf(t.doc.key)),{type:Xh(t.type),doc:r,oldIndex:s,newIndex:i}}))}}(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}}function Xh(e){switch(e){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return Ms()}}
|
|
1937
1937
|
/**
|
|
1938
1938
|
* @license
|
|
1939
1939
|
* Copyright 2020 Google LLC
|
|
@@ -1949,7 +1949,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1949
1949
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1950
1950
|
* See the License for the specific language governing permissions and
|
|
1951
1951
|
* limitations under the License.
|
|
1952
|
-
*/function Jh(
|
|
1952
|
+
*/function Jh(e){e=th(e,oh);const t=th(e.firestore,mh);return function(e,t,n={}){const r=new qs;return e.asyncQueue.enqueueAndForget((async()=>function(e,t,n,r,s){const i=new hh({next:i=>{t.enqueueAndForget((()=>Su(e,o)));const a=i.docs.has(n);!a&&i.fromCache?s.reject(new Vs(Fs.UNAVAILABLE,"Failed to get document because the client is offline.")):a&&i.fromCache&&r&&"server"===r.source?s.reject(new Vs(Fs.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.)')):s.resolve(i)},error:e=>s.reject(e)}),o=new Nu(Co(n.path),i,{includeMetadataChanges:!0,Nu:!0});return _u(e,o)}(await fh(e),e.asyncQueue,t,n,r))),r.promise}(vh(t),e._key).then((n=>nl(t,e,n)))}class Zh extends Hh{constructor(e){super(),this.firestore=e}convertBytes(e){return new Ih(e)}convertReference(e){const t=this.convertDocumentKey(e,this.firestore._databaseId);return new oh(this.firestore,null,t)}}function el(e){e=th(e,ah);const t=th(e.firestore,mh),n=vh(t),r=new Zh(t);return xh(e._query),function(e,t,n={}){const r=new qs;return e.asyncQueue.enqueueAndForget((async()=>function(e,t,n,r,s){const i=new hh({next:n=>{t.enqueueAndForget((()=>Su(e,o))),n.fromCache&&"server"===r.source?s.reject(new Vs(Fs.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.)')):s.resolve(n)},error:e=>s.reject(e)}),o=new Nu(n,i,{includeMetadataChanges:!0,Nu:!0});return _u(e,o)}(await fh(e),e.asyncQueue,t,n,r))),r.promise}(n,e._query).then((n=>new Yh(t,r,e,n)))}function tl(e,...t){var n,r,s;e=I(e);let i={includeMetadataChanges:!1},o=0;"object"!=typeof t[o]||gh(t[o])||(i=t[o],o++);const a={includeMetadataChanges:i.includeMetadataChanges};if(gh(t[o])){const e=t[o];t[o]=null===(n=e.next)||void 0===n?void 0:n.bind(e),t[o+1]=null===(r=e.error)||void 0===r?void 0:r.bind(e),t[o+2]=null===(s=e.complete)||void 0===s?void 0:s.bind(e)}let c,u,h;if(e instanceof oh)u=th(e.firestore,mh),h=Co(e._key.path),c={next:n=>{t[o]&&t[o](nl(u,e,n))},error:t[o+1],complete:t[o+2]};else{const n=th(e,ah);u=th(n.firestore,mh),h=n._query;const r=new Zh(u);c={next:e=>{t[o]&&t[o](new Yh(u,r,n,e))},error:t[o+1],complete:t[o+2]},xh(e._query)}return function(e,t,n,r){const s=new hh(r),i=new Nu(t,s,n);return e.asyncQueue.enqueueAndForget((async()=>_u(await fh(e),i))),()=>{s.bc(),e.asyncQueue.enqueueAndForget((async()=>Su(await fh(e),i)))}}(vh(u),h,a,c)}function nl(e,t,n){const r=n.docs.get(t._key),s=new Zh(e);return new Wh(e,s,t._key,r,new Gh(n.hasPendingWrites,n.fromCache),t.converter)}!function(e,t=!0){As=oe,ne(new b("firestore",((e,{instanceIdentifier:n,options:r})=>{const s=e.getProvider("app").getImmediate(),i=new mh(new $s(e.getProvider("auth-internal")),new Ws(e.getProvider("app-check-internal")),function(e,t){if(!Object.prototype.hasOwnProperty.apply(e.options,["projectId"]))throw new Vs(Fs.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new gi(e.options.projectId,t)}(s,n),s);return r=Object.assign({useFetchStreams:t},r),i._setSettings(r),i}),"PUBLIC").setMultipleInstances(!0)),ue(Cs,"3.8.0",e),ue(Cs,"3.8.0","esm2017")}();
|
|
1953
1953
|
/**
|
|
1954
1954
|
* @license
|
|
1955
1955
|
* Copyright 2020 Google LLC
|
|
@@ -1966,7 +1966,7 @@ class hh{constructor(t){this.observer=t,this.muted=!1}next(t){this.observer.next
|
|
|
1966
1966
|
* See the License for the specific language governing permissions and
|
|
1967
1967
|
* limitations under the License.
|
|
1968
1968
|
*/
|
|
1969
|
-
|
|
1969
|
+
ue("firebase","9.15.0","app");class rl{constructor(){}static getInstance(){return rl.instance||(rl.instance=new rl),rl.instance}setEnv(e){switch(e){case"production":case"prod":this.env="prod";break;default:this.env="dev"}}get firebase(){return"prod"===this.env?il.firebase:sl.firebase}get api(){return"prod"===this.env?il.api:sl.api}get config(){return"prod"===this.env?il.config:sl.config}}const sl={firebase:{apiKey:"AIzaSyDfjBWzpmzb-mhGN8VSURxzLg6nkzmKUD8",authDomain:"fittingroom-dev-5d248.firebaseapp.com",projectId:"fittingroom-dev-5d248",storageBucket:"fittingroom-dev-5d248.appspot.com",messagingSenderId:"2298664147",appId:"1:2298664147:web:340bda75cd5d25f3997026"},api:{url:"https://tfr.dev.thefittingroom.xyz"},config:{avatarTimeout:Number("120000"),vtoTimeout:Number("120000")}},il={firebase:{apiKey:"AIzaSyA3kQ6w1vkA9l9lgY0nNACVPXe-QmP5T1Y",authDomain:"fittingroom-prod.firebaseapp.com",projectId:"fittingroom-prod",storageBucket:"fittingroom-prod.appspot.com",messagingSenderId:"965656825574",appId:"1:965656825574:web:933493cddc73213bd43527"},api:{url:"https://tfr.p.thefittingroom.xyz"},config:{avatarTimeout:Number("120000"),vtoTimeout:Number("120000")}};function ol(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(n[r[s]]=e[r[s]])}return n}function al(){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 cl=al,ul=new l("auth","Firebase",{"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."}),hl="auth/user-disabled",ll=new D("@firebase/auth");function dl(e,...t){ll.logLevel<=S.ERROR&&ll.error(`Auth (${oe}): ${e}`,...t)}
|
|
1970
1970
|
/**
|
|
1971
1971
|
* @license
|
|
1972
1972
|
* Copyright 2020 Google LLC
|
|
@@ -1982,7 +1982,7 @@ ut("firebase","9.15.0","app");class rl{constructor(){}static getInstance(){retur
|
|
|
1982
1982
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1983
1983
|
* See the License for the specific language governing permissions and
|
|
1984
1984
|
* limitations under the License.
|
|
1985
|
-
*/function fl(t
|
|
1985
|
+
*/function fl(e,...t){throw gl(e,...t)}function pl(e,...t){return gl(e,...t)}function gl(e,...t){if("string"!=typeof e){const n=t[0],r=[...t.slice(1)];return r[0]&&(r[0].appName=e.name),e._errorFactory.create(n,...r)}return ul.create(e,...t)}function ml(e,t,...n){if(!e)throw gl(t,...n)}function yl(e){const t="INTERNAL ASSERTION FAILED: "+e;throw dl(t),new Error(t)}function vl(e,t){e||yl(t)}
|
|
1986
1986
|
/**
|
|
1987
1987
|
* @license
|
|
1988
1988
|
* Copyright 2020 Google LLC
|
|
@@ -1998,7 +1998,7 @@ ut("firebase","9.15.0","app");class rl{constructor(){}static getInstance(){retur
|
|
|
1998
1998
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1999
1999
|
* See the License for the specific language governing permissions and
|
|
2000
2000
|
* limitations under the License.
|
|
2001
|
-
*/const wl=new Map;function Il(
|
|
2001
|
+
*/const wl=new Map;function Il(e){vl(e instanceof Function,"Expected a class definition");let t=wl.get(e);return t?(vl(t instanceof e,"Instance stored in cache mismatched with class"),t):(t=new e,wl.set(e,t),t)}
|
|
2002
2002
|
/**
|
|
2003
2003
|
* @license
|
|
2004
2004
|
* Copyright 2020 Google LLC
|
|
@@ -2031,7 +2031,7 @@ ut("firebase","9.15.0","app");class rl{constructor(){}static getInstance(){retur
|
|
|
2031
2031
|
* See the License for the specific language governing permissions and
|
|
2032
2032
|
* limitations under the License.
|
|
2033
2033
|
*/
|
|
2034
|
-
function bl(){var
|
|
2034
|
+
function bl(){var e;return"undefined"!=typeof self&&(null===(e=self.location)||void 0===e?void 0:e.href)||""}function Tl(){var e;return"undefined"!=typeof self&&(null===(e=self.location)||void 0===e?void 0:e.protocol)||null}
|
|
2035
2035
|
/**
|
|
2036
2036
|
* @license
|
|
2037
2037
|
* Copyright 2020 Google LLC
|
|
@@ -2047,7 +2047,7 @@ function bl(){var t;return"undefined"!=typeof self&&(null===(t=self.location)||v
|
|
|
2047
2047
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2048
2048
|
* See the License for the specific language governing permissions and
|
|
2049
2049
|
* limitations under the License.
|
|
2050
|
-
*/function El(){return"undefined"==typeof navigator||!navigator||!("onLine"in navigator)||"boolean"!=typeof navigator.onLine||"http:"!==Tl()&&"https:"!==Tl()&&!function(){const
|
|
2050
|
+
*/function El(){return"undefined"==typeof navigator||!navigator||!("onLine"in navigator)||"boolean"!=typeof navigator.onLine||"http:"!==Tl()&&"https:"!==Tl()&&!function(){const e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof e&&void 0!==e.id}()&&!("connection"in navigator)||navigator.onLine}
|
|
2051
2051
|
/**
|
|
2052
2052
|
* @license
|
|
2053
2053
|
* Copyright 2020 Google LLC
|
|
@@ -2064,7 +2064,7 @@ function bl(){var t;return"undefined"!=typeof self&&(null===(t=self.location)||v
|
|
|
2064
2064
|
* See the License for the specific language governing permissions and
|
|
2065
2065
|
* limitations under the License.
|
|
2066
2066
|
*/
|
|
2067
|
-
class _l{constructor(t
|
|
2067
|
+
class _l{constructor(e,t){this.shortDelay=e,this.longDelay=t,vl(t>e,"Short delay should be less than long delay!"),this.isMobile="undefined"!=typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(s())||"object"==typeof navigator&&"ReactNative"===navigator.product}get(){return El()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}
|
|
2068
2068
|
/**
|
|
2069
2069
|
* @license
|
|
2070
2070
|
* Copyright 2020 Google LLC
|
|
@@ -2080,7 +2080,7 @@ class _l{constructor(t,e){this.shortDelay=t,this.longDelay=e,vl(e>t,"Short delay
|
|
|
2080
2080
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2081
2081
|
* See the License for the specific language governing permissions and
|
|
2082
2082
|
* limitations under the License.
|
|
2083
|
-
*/function Sl(t
|
|
2083
|
+
*/function Sl(e,t){vl(e.emulator,"Emulator should always be set here");const{url:n}=e.emulator;return t?`${n}${t.startsWith("/")?t.slice(1):t}`:n}
|
|
2084
2084
|
/**
|
|
2085
2085
|
* @license
|
|
2086
2086
|
* Copyright 2020 Google LLC
|
|
@@ -2096,7 +2096,7 @@ class _l{constructor(t,e){this.shortDelay=t,this.longDelay=e,vl(e>t,"Short delay
|
|
|
2096
2096
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2097
2097
|
* See the License for the specific language governing permissions and
|
|
2098
2098
|
* limitations under the License.
|
|
2099
|
-
*/class Cl{static initialize(t,
|
|
2099
|
+
*/class Cl{static initialize(e,t,n){this.fetchImpl=e,t&&(this.headersImpl=t),n&&(this.responseImpl=n)}static fetch(){return this.fetchImpl?this.fetchImpl:"undefined"!=typeof self&&"fetch"in self?self.fetch:void yl("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static headers(){return this.headersImpl?this.headersImpl:"undefined"!=typeof self&&"Headers"in self?self.Headers:void yl("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){return this.responseImpl?this.responseImpl:"undefined"!=typeof self&&"Response"in self?self.Response:void yl("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}
|
|
2100
2100
|
/**
|
|
2101
2101
|
* @license
|
|
2102
2102
|
* Copyright 2020 Google LLC
|
|
@@ -2128,7 +2128,7 @@ class _l{constructor(t,e){this.shortDelay=t,this.longDelay=e,vl(e>t,"Short delay
|
|
|
2128
2128
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2129
2129
|
* See the License for the specific language governing permissions and
|
|
2130
2130
|
* limitations under the License.
|
|
2131
|
-
*/function Nl(t
|
|
2131
|
+
*/function Nl(e,t){return e.tenantId&&!t.tenantId?Object.assign(Object.assign({},t),{tenantId:e.tenantId}):t}async function Dl(e,t,n,r,s={}){return Rl(e,s,(async()=>{let s={},i={};r&&("GET"===t?i=r:s={body:JSON.stringify(r)});const o=g(Object.assign({key:e.config.apiKey},i)).slice(1),a=await e._getAdditionalHeaders();return a["Content-Type"]="application/json",e.languageCode&&(a["X-Firebase-Locale"]=e.languageCode),Cl.fetch()(Ll(e,e.config.apiHost,n,o),Object.assign({method:t,headers:a,referrerPolicy:"no-referrer"},s))}))}async function Rl(e,t,n){e._canInitEmulator=!1;const r=Object.assign(Object.assign({},kl),t);try{const t=new Pl(e),s=await Promise.race([n(),t.promise]);t.clearNetworkTimeout();const i=await s.json();if("needConfirmation"in i)throw Ml(e,"account-exists-with-different-credential",i);if(s.ok&&!("errorMessage"in i))return i;{const t=s.ok?i.errorMessage:i.error.message,[n,o]=t.split(" : ");if("FEDERATED_USER_ID_ALREADY_LINKED"===n)throw Ml(e,"credential-already-in-use",i);if("EMAIL_EXISTS"===n)throw Ml(e,"email-already-in-use",i);if("USER_DISABLED"===n)throw Ml(e,"user-disabled",i);const a=r[n]||n.toLowerCase().replace(/[_\s]+/g,"-");if(o)throw function(e,t,n){const r=Object.assign(Object.assign({},cl()),{[t]:n});return new l("auth","Firebase",r).create(t,{appName:e.name})}(e,a,o);fl(e,a)}}catch(t){if(t instanceof h)throw t;fl(e,"network-request-failed")}}async function Ol(e,t,n,r,s={}){const i=await Dl(e,t,n,r,s);return"mfaPendingCredential"in i&&fl(e,"multi-factor-auth-required",{_serverResponse:i}),i}function Ll(e,t,n,r){const s=`${t}${n}?${r}`;return e.config.emulator?Sl(e.config,s):`${e.config.apiScheme}://${s}`}class Pl{constructor(e){this.auth=e,this.timer=null,this.promise=new Promise(((e,t)=>{this.timer=setTimeout((()=>t(pl(this.auth,"network-request-failed"))),Al.get())}))}clearNetworkTimeout(){clearTimeout(this.timer)}}function Ml(e,t,n){const r={appName:e.name};n.email&&(r.email=n.email),n.phoneNumber&&(r.phoneNumber=n.phoneNumber);const s=pl(e,t,r);return s.customData._tokenResponse=n,s}
|
|
2132
2132
|
/**
|
|
2133
2133
|
* @license
|
|
2134
2134
|
* Copyright 2020 Google LLC
|
|
@@ -2161,7 +2161,7 @@ class _l{constructor(t,e){this.shortDelay=t,this.longDelay=e,vl(e>t,"Short delay
|
|
|
2161
2161
|
* See the License for the specific language governing permissions and
|
|
2162
2162
|
* limitations under the License.
|
|
2163
2163
|
*/
|
|
2164
|
-
function xl(
|
|
2164
|
+
function xl(e){if(e)try{const t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch(e){}}function Ul(e){return 1e3*Number(e)}function Fl(e){const[t,n,s]=e.split(".");if(void 0===t||void 0===n||void 0===s)return dl("JWT malformed, contained fewer than 3 sections"),null;try{const e=r(n);return e?JSON.parse(e):(dl("Failed to decode base64 JWT payload"),null)}catch(e){return dl("Caught error parsing JWT payload as JSON",null==e?void 0:e.toString()),null}}
|
|
2165
2165
|
/**
|
|
2166
2166
|
* @license
|
|
2167
2167
|
* Copyright 2020 Google LLC
|
|
@@ -2178,7 +2178,7 @@ function xl(t){if(t)try{const e=new Date(Number(t));if(!isNaN(e.getTime()))retur
|
|
|
2178
2178
|
* See the License for the specific language governing permissions and
|
|
2179
2179
|
* limitations under the License.
|
|
2180
2180
|
*/
|
|
2181
|
-
async function Vl(t,
|
|
2181
|
+
async function Vl(e,t,n=!1){if(n)return t;try{return await t}catch(t){throw t instanceof h&&function({code:e}){return"auth/user-disabled"===e||"auth/user-token-expired"===e}
|
|
2182
2182
|
/**
|
|
2183
2183
|
* @license
|
|
2184
2184
|
* Copyright 2020 Google LLC
|
|
@@ -2194,7 +2194,7 @@ async function Vl(t,e,n=!1){if(n)return e;try{return await e}catch(e){throw e in
|
|
|
2194
2194
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2195
2195
|
* See the License for the specific language governing permissions and
|
|
2196
2196
|
* limitations under the License.
|
|
2197
|
-
*/(
|
|
2197
|
+
*/(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}class ql{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,null!==this.timerId&&clearTimeout(this.timerId))}getInterval(e){var t;if(e){const e=this.errorBackoff;return this.errorBackoff=Math.min(2*this.errorBackoff,96e4),e}{this.errorBackoff=3e4;const e=(null!==(t=this.user.stsTokenManager.expirationTime)&&void 0!==t?t:0)-Date.now()-3e5;return Math.max(0,e)}}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){return void("auth/network-request-failed"===(null==e?void 0:e.code)&&this.schedule(!0))}this.schedule()}}
|
|
2198
2198
|
/**
|
|
2199
2199
|
* @license
|
|
2200
2200
|
* Copyright 2020 Google LLC
|
|
@@ -2210,7 +2210,7 @@ async function Vl(t,e,n=!1){if(n)return e;try{return await e}catch(e){throw e in
|
|
|
2210
2210
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2211
2211
|
* See the License for the specific language governing permissions and
|
|
2212
2212
|
* limitations under the License.
|
|
2213
|
-
*/class jl{constructor(t
|
|
2213
|
+
*/class jl{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=xl(this.lastLoginAt),this.creationTime=xl(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}
|
|
2214
2214
|
/**
|
|
2215
2215
|
* @license
|
|
2216
2216
|
* Copyright 2019 Google LLC
|
|
@@ -2226,7 +2226,7 @@ async function Vl(t,e,n=!1){if(n)return e;try{return await e}catch(e){throw e in
|
|
|
2226
2226
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2227
2227
|
* See the License for the specific language governing permissions and
|
|
2228
2228
|
* limitations under the License.
|
|
2229
|
-
*/async function Bl(
|
|
2229
|
+
*/async function Bl(e){var t;const n=e.auth,r=await e.getIdToken(),s=await Vl(e,async function(e,t){return Dl(e,"POST","/v1/accounts:lookup",t)}(n,{idToken:r}));ml(null==s?void 0:s.users.length,n,"internal-error");const i=s.users[0];e._notifyReloadListener(i);const o=(null===(t=i.providerUserInfo)||void 0===t?void 0:t.length)?i.providerUserInfo.map((e=>{var{providerId:t}=e,n=ol(e,["providerId"]);return{providerId:t,uid:n.rawId||"",displayName:n.displayName||null,email:n.email||null,phoneNumber:n.phoneNumber||null,photoURL:n.photoUrl||null}})):[];const a=(c=e.providerData,u=o,[...c.filter((e=>!u.some((t=>t.providerId===e.providerId)))),...u]);var c,u;const h=e.isAnonymous,l=!(e.email&&i.passwordHash||(null==a?void 0:a.length)),d=!!h&&l,f={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:a,metadata:new jl(i.createdAt,i.lastLoginAt),isAnonymous:d};Object.assign(e,f)}
|
|
2230
2230
|
/**
|
|
2231
2231
|
* @license
|
|
2232
2232
|
* Copyright 2020 Google LLC
|
|
@@ -2243,7 +2243,7 @@ async function Vl(t,e,n=!1){if(n)return e;try{return await e}catch(e){throw e in
|
|
|
2243
2243
|
* See the License for the specific language governing permissions and
|
|
2244
2244
|
* limitations under the License.
|
|
2245
2245
|
*/
|
|
2246
|
-
class zl{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(
|
|
2246
|
+
class zl{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){ml(e.idToken,"internal-error"),ml(void 0!==e.idToken,"internal-error"),ml(void 0!==e.refreshToken,"internal-error");const t="expiresIn"in e&&void 0!==e.expiresIn?Number(e.expiresIn):function(e){const t=Fl(e);return ml(t,"internal-error"),ml(void 0!==t.exp,"internal-error"),ml(void 0!==t.iat,"internal-error"),Number(t.exp)-Number(t.iat)}(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}async getToken(e,t=!1){return ml(!this.accessToken||this.refreshToken,e,"user-token-expired"),t||!this.accessToken||this.isExpired?this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null:this.accessToken}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){const{accessToken:n,refreshToken:r,expiresIn:s}=await
|
|
2247
2247
|
/**
|
|
2248
2248
|
* @license
|
|
2249
2249
|
* Copyright 2020 Google LLC
|
|
@@ -2260,7 +2260,7 @@ class zl{constructor(){this.refreshToken=null,this.accessToken=null,this.expirat
|
|
|
2260
2260
|
* See the License for the specific language governing permissions and
|
|
2261
2261
|
* limitations under the License.
|
|
2262
2262
|
*/
|
|
2263
|
-
async function(t
|
|
2263
|
+
async function(e,t){const n=await Rl(e,{},(async()=>{const n=g({grant_type:"refresh_token",refresh_token:t}).slice(1),{tokenApiHost:r,apiKey:s}=e.config,i=Ll(e,r,"/v1/token",`key=${s}`),o=await e._getAdditionalHeaders();return o["Content-Type"]="application/x-www-form-urlencoded",Cl.fetch()(i,{method:"POST",headers:o,body:n})}));return{accessToken:n.access_token,expiresIn:n.expires_in,refreshToken:n.refresh_token}}(e,t);this.updateTokensAndExpiration(n,r,Number(s))}updateTokensAndExpiration(e,t,n){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+1e3*n}static fromJSON(e,t){const{refreshToken:n,accessToken:r,expirationTime:s}=t,i=new zl;return n&&(ml("string"==typeof n,"internal-error",{appName:e}),i.refreshToken=n),r&&(ml("string"==typeof r,"internal-error",{appName:e}),i.accessToken=r),s&&(ml("number"==typeof s,"internal-error",{appName:e}),i.expirationTime=s),i}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 zl,this.toJSON())}_performRefresh(){return yl("not implemented")}}
|
|
2264
2264
|
/**
|
|
2265
2265
|
* @license
|
|
2266
2266
|
* Copyright 2020 Google LLC
|
|
@@ -2276,7 +2276,7 @@ async function(t,e){const n=await Rl(t,{},(async()=>{const n=g({grant_type:"refr
|
|
|
2276
2276
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2277
2277
|
* See the License for the specific language governing permissions and
|
|
2278
2278
|
* limitations under the License.
|
|
2279
|
-
*/function $l(t
|
|
2279
|
+
*/function $l(e,t){ml("string"==typeof e||void 0===e,"internal-error",{appName:t})}class Kl{constructor(e){var{uid:t,auth:n,stsTokenManager:r}=e,s=ol(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new ql(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=n,this.stsTokenManager=r,this.accessToken=r.accessToken,this.displayName=s.displayName||null,this.email=s.email||null,this.emailVerified=s.emailVerified||!1,this.phoneNumber=s.phoneNumber||null,this.photoURL=s.photoURL||null,this.isAnonymous=s.isAnonymous||!1,this.tenantId=s.tenantId||null,this.providerData=s.providerData?[...s.providerData]:[],this.metadata=new jl(s.createdAt||void 0,s.lastLoginAt||void 0)}async getIdToken(e){const t=await Vl(this,this.stsTokenManager.getToken(this.auth,e));return ml(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return async function(e,t=!1){const n=I(e),r=await n.getIdToken(t),s=Fl(r);ml(s&&s.exp&&s.auth_time&&s.iat,n.auth,"internal-error");const i="object"==typeof s.firebase?s.firebase:void 0,o=null==i?void 0:i.sign_in_provider;return{claims:s,token:r,authTime:xl(Ul(s.auth_time)),issuedAtTime:xl(Ul(s.iat)),expirationTime:xl(Ul(s.exp)),signInProvider:o||null,signInSecondFactor:(null==i?void 0:i.sign_in_second_factor)||null}}(this,e)}reload(){return async function(e){const t=I(e);await Bl(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}(this)}_assign(e){this!==e&&(ml(this.uid===e.uid,this.auth,"internal-error"),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map((e=>Object.assign({},e))),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){return new Kl(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}))}_onReload(e){ml(!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 n=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),n=!0),t&&await Bl(this),await this.auth._persistUserIfCurrent(this),n&&this.auth._notifyListenersIfCurrent(this)}async delete(){const e=await this.getIdToken();return await Vl(this,async function(e,t){return Dl(e,"POST","/v1/accounts:delete",t)}(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 n,r,s,i,o,a,c,u;const h=null!==(n=t.displayName)&&void 0!==n?n:void 0,l=null!==(r=t.email)&&void 0!==r?r:void 0,d=null!==(s=t.phoneNumber)&&void 0!==s?s:void 0,f=null!==(i=t.photoURL)&&void 0!==i?i:void 0,p=null!==(o=t.tenantId)&&void 0!==o?o:void 0,g=null!==(a=t._redirectEventId)&&void 0!==a?a:void 0,m=null!==(c=t.createdAt)&&void 0!==c?c:void 0,y=null!==(u=t.lastLoginAt)&&void 0!==u?u:void 0,{uid:v,emailVerified:w,isAnonymous:I,providerData:b,stsTokenManager:T}=t;ml(v&&T,e,"internal-error");const E=zl.fromJSON(this.name,T);ml("string"==typeof v,e,"internal-error"),$l(h,e.name),$l(l,e.name),ml("boolean"==typeof w,e,"internal-error"),ml("boolean"==typeof I,e,"internal-error"),$l(d,e.name),$l(f,e.name),$l(p,e.name),$l(g,e.name),$l(m,e.name),$l(y,e.name);const _=new Kl({uid:v,auth:e,email:l,emailVerified:w,displayName:h,isAnonymous:I,photoURL:f,phoneNumber:d,tenantId:p,stsTokenManager:E,createdAt:m,lastLoginAt:y});return b&&Array.isArray(b)&&(_.providerData=b.map((e=>Object.assign({},e)))),g&&(_._redirectEventId=g),_}static async _fromIdTokenResponse(e,t,n=!1){const r=new zl;r.updateFromServerResponse(t);const s=new Kl({uid:t.localId,auth:e,stsTokenManager:r,isAnonymous:n});return await Bl(s),s}}
|
|
2280
2280
|
/**
|
|
2281
2281
|
* @license
|
|
2282
2282
|
* Copyright 2019 Google LLC
|
|
@@ -2292,7 +2292,7 @@ async function(t,e){const n=await Rl(t,{},(async()=>{const n=g({grant_type:"refr
|
|
|
2292
2292
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2293
2293
|
* See the License for the specific language governing permissions and
|
|
2294
2294
|
* limitations under the License.
|
|
2295
|
-
*/class Hl{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(t
|
|
2295
|
+
*/class Hl{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 void 0===t?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}Hl.type="NONE";const Gl=Hl;
|
|
2296
2296
|
/**
|
|
2297
2297
|
* @license
|
|
2298
2298
|
* Copyright 2019 Google LLC
|
|
@@ -2308,7 +2308,7 @@ async function(t,e){const n=await Rl(t,{},(async()=>{const n=g({grant_type:"refr
|
|
|
2308
2308
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2309
2309
|
* See the License for the specific language governing permissions and
|
|
2310
2310
|
* limitations under the License.
|
|
2311
|
-
*/function Wl(t,
|
|
2311
|
+
*/function Wl(e,t,n){return`firebase:${e}:${t}:${n}`}class Ql{constructor(e,t,n){this.persistence=e,this.auth=t,this.userKey=n;const{config:r,name:s}=this.auth;this.fullUserKey=Wl(this.userKey,r.apiKey,s),this.fullPersistenceKey=Wl("persistence",r.apiKey,s),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?Kl._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();return await this.removeCurrentUser(),this.persistence=e,t?this.setCurrentUser(t):void 0}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(e,t,n="authUser"){if(!t.length)return new Ql(Il(Gl),e,n);const r=(await Promise.all(t.map((async e=>{if(await e._isAvailable())return e})))).filter((e=>e));let s=r[0]||Il(Gl);const i=Wl(n,e.config.apiKey,e.name);let o=null;for(const n of t)try{const t=await n._get(i);if(t){const r=Kl._fromJSON(e,t);n!==s&&(o=r),s=n;break}}catch(e){}const a=r.filter((e=>e._shouldAllowMigration));return s._shouldAllowMigration&&a.length?(s=a[0],o&&await s._set(i,o.toJSON()),await Promise.all(t.map((async e=>{if(e!==s)try{await e._remove(i)}catch(e){}}))),new Ql(s,e,n)):new Ql(s,e,n)}}
|
|
2312
2312
|
/**
|
|
2313
2313
|
* @license
|
|
2314
2314
|
* Copyright 2020 Google LLC
|
|
@@ -2324,7 +2324,7 @@ async function(t,e){const n=await Rl(t,{},(async()=>{const n=g({grant_type:"refr
|
|
|
2324
2324
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2325
2325
|
* See the License for the specific language governing permissions and
|
|
2326
2326
|
* limitations under the License.
|
|
2327
|
-
*/function Yl(
|
|
2327
|
+
*/function Yl(e){const t=e.toLowerCase();if(t.includes("opera/")||t.includes("opr/")||t.includes("opios/"))return"Opera";if(ed(t))return"IEMobile";if(t.includes("msie")||t.includes("trident/"))return"IE";if(t.includes("edge/"))return"Edge";if(Xl(t))return"Firefox";if(t.includes("silk/"))return"Silk";if(nd(t))return"Blackberry";if(rd(t))return"Webos";if(Jl(t))return"Safari";if((t.includes("chrome/")||Zl(t))&&!t.includes("edge/"))return"Chrome";if(td(t))return"Android";{const t=/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/,n=e.match(t);if(2===(null==n?void 0:n.length))return n[1]}return"Other"}function Xl(e=s()){return/firefox\//i.test(e)}function Jl(e=s()){const t=e.toLowerCase();return t.includes("safari/")&&!t.includes("chrome/")&&!t.includes("crios/")&&!t.includes("android")}function Zl(e=s()){return/crios\//i.test(e)}function ed(e=s()){return/iemobile/i.test(e)}function td(e=s()){return/android/i.test(e)}function nd(e=s()){return/blackberry/i.test(e)}function rd(e=s()){return/webos/i.test(e)}function sd(e=s()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function id(){return function(){const e=s();return e.indexOf("MSIE ")>=0||e.indexOf("Trident/")>=0}()&&10===document.documentMode}function od(e=s()){return sd(e)||td(e)||rd(e)||nd(e)||/windows phone/i.test(e)||ed(e)}
|
|
2328
2328
|
/**
|
|
2329
2329
|
* @license
|
|
2330
2330
|
* Copyright 2020 Google LLC
|
|
@@ -2341,7 +2341,7 @@ async function(t,e){const n=await Rl(t,{},(async()=>{const n=g({grant_type:"refr
|
|
|
2341
2341
|
* See the License for the specific language governing permissions and
|
|
2342
2342
|
* limitations under the License.
|
|
2343
2343
|
*/
|
|
2344
|
-
function ad(t
|
|
2344
|
+
function ad(e,t=[]){let n;switch(e){case"Browser":n=Yl(s());break;case"Worker":n=`${Yl(s())}-${e}`;break;default:n=e}const r=t.length?t.join(","):"FirebaseCore-web";return`${n}/JsCore/${oe}/${r}`}
|
|
2345
2345
|
/**
|
|
2346
2346
|
* @license
|
|
2347
2347
|
* Copyright 2022 Google LLC
|
|
@@ -2357,7 +2357,7 @@ function ad(t,e=[]){let n;switch(t){case"Browser":n=Yl(s());break;case"Worker":n
|
|
|
2357
2357
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2358
2358
|
* See the License for the specific language governing permissions and
|
|
2359
2359
|
* limitations under the License.
|
|
2360
|
-
*/class cd{constructor(
|
|
2360
|
+
*/class cd{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){const n=t=>new Promise(((n,r)=>{try{n(e(t))}catch(e){r(e)}}));n.onAbort=t,this.queue.push(n);const r=this.queue.length-1;return()=>{this.queue[r]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;const t=[];try{for(const n of this.queue)await n(e),n.onAbort&&t.push(n.onAbort)}catch(e){t.reverse();for(const e of t)try{e()}catch(e){}throw this.auth._errorFactory.create("login-blocked",{originalMessage:null==e?void 0:e.message})}}}
|
|
2361
2361
|
/**
|
|
2362
2362
|
* @license
|
|
2363
2363
|
* Copyright 2020 Google LLC
|
|
@@ -2373,7 +2373,7 @@ function ad(t,e=[]){let n;switch(t){case"Browser":n=Yl(s());break;case"Worker":n
|
|
|
2373
2373
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2374
2374
|
* See the License for the specific language governing permissions and
|
|
2375
2375
|
* limitations under the License.
|
|
2376
|
-
*/class ud{constructor(t,
|
|
2376
|
+
*/class ud{constructor(e,t,n){this.app=e,this.heartbeatServiceProvider=t,this.config=n,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new ld(this),this.idTokenSubscription=new ld(this),this.beforeStateQueue=new cd(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=ul,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=n.sdkClientVersion}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=Il(t)),this._initializationPromise=this.queue((async()=>{var n,r;if(!this._deleted&&(this.persistenceManager=await Ql.create(this,e),!this._deleted)){if(null===(n=this._popupRedirectResolver)||void 0===n?void 0:n._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch(e){}await this.initializeCurrentUser(t),this.lastNotifiedUid=(null===(r=this.currentUser)||void 0===r?void 0:r.uid)||null,this._deleted||(this._isInitialized=!0)}})),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;const e=await this.assertedPersistence.getCurrentUser();return this.currentUser||e?this.currentUser&&e&&this.currentUser.uid===e.uid?(this._currentUser._assign(e),void await this.currentUser.getIdToken()):void await this._updateCurrentUser(e,!0):void 0}async initializeCurrentUser(e){var t;const n=await this.assertedPersistence.getCurrentUser();let r=n,s=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();const n=null===(t=this.redirectUser)||void 0===t?void 0:t._redirectEventId,i=null==r?void 0:r._redirectEventId,o=await this.tryRedirectSignIn(e);n&&n!==i||!(null==o?void 0:o.user)||(r=o.user,s=!0)}if(!r)return this.directlySetCurrentUser(null);if(!r._redirectEventId){if(s)try{await this.beforeStateQueue.runMiddleware(r)}catch(e){r=n,this._popupRedirectResolver._overrideRedirectResult(this,(()=>Promise.reject(e)))}return r?this.reloadAndSetCurrentUserOrClear(r):this.directlySetCurrentUser(null)}return ml(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===r._redirectEventId?this.directlySetCurrentUser(r):this.reloadAndSetCurrentUserOrClear(r)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch(e){await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await Bl(e)}catch(e){if("auth/network-request-failed"!==(null==e?void 0:e.code))return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=function(){if("undefined"==typeof navigator)return null;const e=navigator;return e.languages&&e.languages[0]||e.language||null}()}async _delete(){this._deleted=!0}async updateCurrentUser(e){const t=e?I(e):null;return t&&ml(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&&ml(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 await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0)}setPersistence(e){return this.queue((async()=>{await this.assertedPersistence.setPersistence(Il(e))}))}_getPersistence(){return this.assertedPersistence.persistence.type}_updateErrorMap(e){this._errorFactory=new l("auth","Firebase",e())}onAuthStateChanged(e,t,n){return this.registerStateListener(this.authStateSubscription,e,t,n)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,n){return this.registerStateListener(this.idTokenSubscription,e,t,n)}toJSON(){var e;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:null===(e=this._currentUser)||void 0===e?void 0:e.toJSON()}}async _setRedirectUser(e,t){const n=await this.getOrInitRedirectPersistenceManager(t);return null===e?n.removeCurrentUser():n.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){const t=e&&Il(e)||this._popupRedirectResolver;ml(t,this,"argument-error"),this.redirectPersistenceManager=await Ql.create(this,[Il(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){var t,n;return this._isInitialized&&await this.queue((async()=>{})),(null===(t=this._currentUser)||void 0===t?void 0:t._redirectEventId)===e?this._currentUser:(null===(n=this.redirectUser)||void 0===n?void 0:n._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 n=null!==(t=null===(e=this.currentUser)||void 0===e?void 0:e.uid)&&void 0!==t?t:null;this.lastNotifiedUid!==n&&(this.lastNotifiedUid=n,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,n,r){if(this._deleted)return()=>{};const s="function"==typeof t?t:t.next.bind(t),i=this._isInitialized?Promise.resolve():this._initializationPromise;return ml(i,this,"internal-error"),i.then((()=>s(this.currentUser))),"function"==typeof t?e.addObserver(t,n,r):e.addObserver(t)}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 ml(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){e&&!this.frameworks.includes(e)&&(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=ad(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 n=await(null===(e=this.heartbeatServiceProvider.getImmediate({optional:!0}))||void 0===e?void 0:e.getHeartbeatsHeader());return n&&(t["X-Firebase-Client"]=n),t}}function hd(e){return I(e)}class ld{constructor(e){this.auth=e,this.observer=null,this.addObserver=function(e,t){const n=new v(e,t);return n.subscribe.bind(n)}((e=>this.observer=e))}get next(){return ml(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}function dd(e,t,n){const r=hd(e);ml(r._canInitEmulator,r,"emulator-config-failed"),ml(/^https?:\/\//.test(t),r,"invalid-emulator-scheme");const s=!!(null==n?void 0:n.disableWarnings),i=fd(t),{host:o,port:a}=function(e){const t=fd(e),n=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!n)return{host:"",port:null};const r=n[2].split("@").pop()||"",s=/^(\[[^\]]+\])(:|$)/.exec(r);if(s){const e=s[1];return{host:e,port:pd(r.substr(e.length+1))}}{const[e,t]=r.split(":");return{host:e,port:pd(t)}}}(t),c=null===a?"":`:${a}`;r.config.emulator={url:`${i}//${o}${c}/`},r.settings.appVerificationDisabledForTesting=!0,r.emulatorConfig=Object.freeze({host:o,port:a,protocol:i.replace(":",""),options:Object.freeze({disableWarnings:s})}),s||function(){function e(){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)}"undefined"!=typeof console&&"function"==typeof console.info&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials.");"undefined"!=typeof window&&"undefined"!=typeof document&&("loading"===document.readyState?window.addEventListener("DOMContentLoaded",e):e())}
|
|
2377
2377
|
/**
|
|
2378
2378
|
* @license
|
|
2379
2379
|
* Copyright 2020 Google LLC
|
|
@@ -2389,7 +2389,7 @@ function ad(t,e=[]){let n;switch(t){case"Browser":n=Yl(s());break;case"Worker":n
|
|
|
2389
2389
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2390
2390
|
* See the License for the specific language governing permissions and
|
|
2391
2391
|
* limitations under the License.
|
|
2392
|
-
*/()}function fd(
|
|
2392
|
+
*/()}function fd(e){const t=e.indexOf(":");return t<0?"":e.substr(0,t+1)}function pd(e){if(!e)return null;const t=Number(e);return isNaN(t)?null:t}class gd{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return yl("not implemented")}_getIdTokenResponse(e){return yl("not implemented")}_linkToIdToken(e,t){return yl("not implemented")}_getReauthenticationResolver(e){return yl("not implemented")}}
|
|
2393
2393
|
/**
|
|
2394
2394
|
* @license
|
|
2395
2395
|
* Copyright 2020 Google LLC
|
|
@@ -2405,7 +2405,7 @@ function ad(t,e=[]){let n;switch(t){case"Browser":n=Yl(s());break;case"Worker":n
|
|
|
2405
2405
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2406
2406
|
* See the License for the specific language governing permissions and
|
|
2407
2407
|
* limitations under the License.
|
|
2408
|
-
*/async function md(t
|
|
2408
|
+
*/async function md(e,t){return async function(e,t){return Dl(e,"POST","/v1/accounts:sendOobCode",Nl(e,t))}(e,t)}
|
|
2409
2409
|
/**
|
|
2410
2410
|
* @license
|
|
2411
2411
|
* Copyright 2020 Google LLC
|
|
@@ -2438,7 +2438,7 @@ function ad(t,e=[]){let n;switch(t){case"Browser":n=Yl(s());break;case"Worker":n
|
|
|
2438
2438
|
* See the License for the specific language governing permissions and
|
|
2439
2439
|
* limitations under the License.
|
|
2440
2440
|
*/
|
|
2441
|
-
class yd extends gd{constructor(t,
|
|
2441
|
+
class yd extends gd{constructor(e,t,n,r=null){super("password",n),this._email=e,this._password=t,this._tenantId=r}static _fromEmailAndPassword(e,t){return new yd(e,t,"password")}static _fromEmailAndCode(e,t,n=null){return new yd(e,t,"emailLink",n)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){const t="string"==typeof e?JSON.parse(e):e;if((null==t?void 0:t.email)&&(null==t?void 0:t.password)){if("password"===t.signInMethod)return this._fromEmailAndPassword(t.email,t.password);if("emailLink"===t.signInMethod)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":
|
|
2442
2442
|
/**
|
|
2443
2443
|
* @license
|
|
2444
2444
|
* Copyright 2020 Google LLC
|
|
@@ -2455,7 +2455,7 @@ class yd extends gd{constructor(t,e,n,r=null){super("password",n),this._email=t,
|
|
|
2455
2455
|
* See the License for the specific language governing permissions and
|
|
2456
2456
|
* limitations under the License.
|
|
2457
2457
|
*/
|
|
2458
|
-
return async function(t
|
|
2458
|
+
return async function(e,t){return Ol(e,"POST","/v1/accounts:signInWithPassword",Nl(e,t))}(e,{returnSecureToken:!0,email:this._email,password:this._password});case"emailLink":return async function(e,t){return Ol(e,"POST","/v1/accounts:signInWithEmailLink",Nl(e,t))}(e,{email:this._email,oobCode:this._password});default:fl(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return async function(e,t){return Dl(e,"POST","/v1/accounts:update",t)}(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password});case"emailLink":return async function(e,t){return Ol(e,"POST","/v1/accounts:signInWithEmailLink",Nl(e,t))}(e,{idToken:t,email:this._email,oobCode:this._password});default:fl(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}
|
|
2459
2459
|
/**
|
|
2460
2460
|
* @license
|
|
2461
2461
|
* Copyright 2020 Google LLC
|
|
@@ -2471,7 +2471,7 @@ return async function(t,e){return Ol(t,"POST","/v1/accounts:signInWithPassword",
|
|
|
2471
2471
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2472
2472
|
* See the License for the specific language governing permissions and
|
|
2473
2473
|
* limitations under the License.
|
|
2474
|
-
*/async function vd(t
|
|
2474
|
+
*/async function vd(e,t){return Ol(e,"POST","/v1/accounts:signInWithIdp",Nl(e,t))}
|
|
2475
2475
|
/**
|
|
2476
2476
|
* @license
|
|
2477
2477
|
* Copyright 2020 Google LLC
|
|
@@ -2487,7 +2487,7 @@ return async function(t,e){return Ol(t,"POST","/v1/accounts:signInWithPassword",
|
|
|
2487
2487
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2488
2488
|
* See the License for the specific language governing permissions and
|
|
2489
2489
|
* limitations under the License.
|
|
2490
|
-
*/class wd extends gd{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(
|
|
2490
|
+
*/class wd extends gd{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){const t=new wd(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):fl("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="string"==typeof e?JSON.parse(e):e,{providerId:n,signInMethod:r}=t,s=ol(t,["providerId","signInMethod"]);if(!n||!r)return null;const i=new wd(n,r);return i.idToken=s.idToken||void 0,i.accessToken=s.accessToken||void 0,i.secret=s.secret,i.nonce=s.nonce,i.pendingToken=s.pendingToken||null,i}_getIdTokenResponse(e){return vd(e,this.buildRequest())}_linkToIdToken(e,t){const n=this.buildRequest();return n.idToken=t,vd(e,n)}_getReauthenticationResolver(e){const t=this.buildRequest();return t.autoCreate=!1,vd(e,t)}buildRequest(){const e={requestUri:"http://localhost",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=g(t)}return e}}
|
|
2491
2491
|
/**
|
|
2492
2492
|
* @license
|
|
2493
2493
|
* Copyright 2020 Google LLC
|
|
@@ -2503,7 +2503,7 @@ return async function(t,e){return Ol(t,"POST","/v1/accounts:signInWithPassword",
|
|
|
2503
2503
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2504
2504
|
* See the License for the specific language governing permissions and
|
|
2505
2505
|
* limitations under the License.
|
|
2506
|
-
*/class Id{constructor(
|
|
2506
|
+
*/class Id{constructor(e){var t,n,r,s,i,o;const a=m(y(e)),c=null!==(t=a.apiKey)&&void 0!==t?t:null,u=null!==(n=a.oobCode)&&void 0!==n?n:null,h=function(e){switch(e){case"recoverEmail":return"RECOVER_EMAIL";case"resetPassword":return"PASSWORD_RESET";case"signIn":return"EMAIL_SIGNIN";case"verifyEmail":return"VERIFY_EMAIL";case"verifyAndChangeEmail":return"VERIFY_AND_CHANGE_EMAIL";case"revertSecondFactorAddition":return"REVERT_SECOND_FACTOR_ADDITION";default:return null}}(null!==(r=a.mode)&&void 0!==r?r:null);ml(c&&u&&h,"argument-error"),this.apiKey=c,this.operation=h,this.code=u,this.continueUrl=null!==(s=a.continueUrl)&&void 0!==s?s:null,this.languageCode=null!==(i=a.languageCode)&&void 0!==i?i:null,this.tenantId=null!==(o=a.tenantId)&&void 0!==o?o:null}static parseLink(e){const t=function(e){const t=m(y(e)).link,n=t?m(y(t)).deep_link_id:null,r=m(y(e)).deep_link_id;return(r?m(y(r)).link:null)||r||n||t||e}(e);try{return new Id(t)}catch(e){return null}}}
|
|
2507
2507
|
/**
|
|
2508
2508
|
* @license
|
|
2509
2509
|
* Copyright 2020 Google LLC
|
|
@@ -2519,7 +2519,7 @@ return async function(t,e){return Ol(t,"POST","/v1/accounts:signInWithPassword",
|
|
|
2519
2519
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2520
2520
|
* See the License for the specific language governing permissions and
|
|
2521
2521
|
* limitations under the License.
|
|
2522
|
-
*/class bd{constructor(){this.providerId=bd.PROVIDER_ID}static credential(t
|
|
2522
|
+
*/class bd{constructor(){this.providerId=bd.PROVIDER_ID}static credential(e,t){return yd._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){const n=Id.parseLink(t);return ml(n,"argument-error"),yd._fromEmailAndCode(e,n.code,n.tenantId)}}bd.PROVIDER_ID="password",bd.EMAIL_PASSWORD_SIGN_IN_METHOD="password",bd.EMAIL_LINK_SIGN_IN_METHOD="emailLink";
|
|
2523
2523
|
/**
|
|
2524
2524
|
* @license
|
|
2525
2525
|
* Copyright 2020 Google LLC
|
|
@@ -2536,7 +2536,7 @@ return async function(t,e){return Ol(t,"POST","/v1/accounts:signInWithPassword",
|
|
|
2536
2536
|
* See the License for the specific language governing permissions and
|
|
2537
2537
|
* limitations under the License.
|
|
2538
2538
|
*/
|
|
2539
|
-
class Td{constructor(
|
|
2539
|
+
class Td{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}}
|
|
2540
2540
|
/**
|
|
2541
2541
|
* @license
|
|
2542
2542
|
* Copyright 2019 Google LLC
|
|
@@ -2552,7 +2552,7 @@ class Td{constructor(t){this.providerId=t,this.defaultLanguageCode=null,this.cus
|
|
|
2552
2552
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2553
2553
|
* See the License for the specific language governing permissions and
|
|
2554
2554
|
* limitations under the License.
|
|
2555
|
-
*/class Ed extends Td{constructor(){super(...arguments),this.scopes=[]}addScope(
|
|
2555
|
+
*/class Ed extends Td{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}
|
|
2556
2556
|
/**
|
|
2557
2557
|
* @license
|
|
2558
2558
|
* Copyright 2020 Google LLC
|
|
@@ -2568,7 +2568,7 @@ class Td{constructor(t){this.providerId=t,this.defaultLanguageCode=null,this.cus
|
|
|
2568
2568
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2569
2569
|
* See the License for the specific language governing permissions and
|
|
2570
2570
|
* limitations under the License.
|
|
2571
|
-
*/class _d extends Ed{constructor(){super("facebook.com")}static credential(
|
|
2571
|
+
*/class _d extends Ed{constructor(){super("facebook.com")}static credential(e){return wd._fromParams({providerId:_d.PROVIDER_ID,signInMethod:_d.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return _d.credentialFromTaggedObject(e)}static credentialFromError(e){return _d.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e))return null;if(!e.oauthAccessToken)return null;try{return _d.credential(e.oauthAccessToken)}catch(e){return null}}}_d.FACEBOOK_SIGN_IN_METHOD="facebook.com",_d.PROVIDER_ID="facebook.com";
|
|
2572
2572
|
/**
|
|
2573
2573
|
* @license
|
|
2574
2574
|
* Copyright 2020 Google LLC
|
|
@@ -2585,7 +2585,7 @@ class Td{constructor(t){this.providerId=t,this.defaultLanguageCode=null,this.cus
|
|
|
2585
2585
|
* See the License for the specific language governing permissions and
|
|
2586
2586
|
* limitations under the License.
|
|
2587
2587
|
*/
|
|
2588
|
-
class Sd extends Ed{constructor(){super("google.com"),this.addScope("profile")}static credential(t
|
|
2588
|
+
class Sd extends Ed{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return wd._fromParams({providerId:Sd.PROVIDER_ID,signInMethod:Sd.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return Sd.credentialFromTaggedObject(e)}static credentialFromError(e){return Sd.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;const{oauthIdToken:t,oauthAccessToken:n}=e;if(!t&&!n)return null;try{return Sd.credential(t,n)}catch(e){return null}}}Sd.GOOGLE_SIGN_IN_METHOD="google.com",Sd.PROVIDER_ID="google.com";
|
|
2589
2589
|
/**
|
|
2590
2590
|
* @license
|
|
2591
2591
|
* Copyright 2020 Google LLC
|
|
@@ -2602,7 +2602,7 @@ class Sd extends Ed{constructor(){super("google.com"),this.addScope("profile")}s
|
|
|
2602
2602
|
* See the License for the specific language governing permissions and
|
|
2603
2603
|
* limitations under the License.
|
|
2604
2604
|
*/
|
|
2605
|
-
class Cd extends Ed{constructor(){super("github.com")}static credential(
|
|
2605
|
+
class Cd extends Ed{constructor(){super("github.com")}static credential(e){return wd._fromParams({providerId:Cd.PROVIDER_ID,signInMethod:Cd.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return Cd.credentialFromTaggedObject(e)}static credentialFromError(e){return Cd.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e))return null;if(!e.oauthAccessToken)return null;try{return Cd.credential(e.oauthAccessToken)}catch(e){return null}}}Cd.GITHUB_SIGN_IN_METHOD="github.com",Cd.PROVIDER_ID="github.com";
|
|
2606
2606
|
/**
|
|
2607
2607
|
* @license
|
|
2608
2608
|
* Copyright 2020 Google LLC
|
|
@@ -2619,7 +2619,7 @@ class Cd extends Ed{constructor(){super("github.com")}static credential(t){retur
|
|
|
2619
2619
|
* See the License for the specific language governing permissions and
|
|
2620
2620
|
* limitations under the License.
|
|
2621
2621
|
*/
|
|
2622
|
-
class kd extends Ed{constructor(){super("twitter.com")}static credential(t
|
|
2622
|
+
class kd extends Ed{constructor(){super("twitter.com")}static credential(e,t){return wd._fromParams({providerId:kd.PROVIDER_ID,signInMethod:kd.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return kd.credentialFromTaggedObject(e)}static credentialFromError(e){return kd.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;const{oauthAccessToken:t,oauthTokenSecret:n}=e;if(!t||!n)return null;try{return kd.credential(t,n)}catch(e){return null}}}kd.TWITTER_SIGN_IN_METHOD="twitter.com",kd.PROVIDER_ID="twitter.com";
|
|
2623
2623
|
/**
|
|
2624
2624
|
* @license
|
|
2625
2625
|
* Copyright 2020 Google LLC
|
|
@@ -2636,7 +2636,7 @@ class kd extends Ed{constructor(){super("twitter.com")}static credential(t,e){re
|
|
|
2636
2636
|
* See the License for the specific language governing permissions and
|
|
2637
2637
|
* limitations under the License.
|
|
2638
2638
|
*/
|
|
2639
|
-
class Ad{constructor(
|
|
2639
|
+
class Ad{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,n,r=!1){const s=await Kl._fromIdTokenResponse(e,n,r),i=Nd(n);return new Ad({user:s,providerId:i,_tokenResponse:n,operationType:t})}static async _forOperation(e,t,n){await e._updateTokensIfNecessary(n,!0);const r=Nd(n);return new Ad({user:e,providerId:r,_tokenResponse:n,operationType:t})}}function Nd(e){return e.providerId?e.providerId:"phoneNumber"in e?"phone":null}
|
|
2640
2640
|
/**
|
|
2641
2641
|
* @license
|
|
2642
2642
|
* Copyright 2020 Google LLC
|
|
@@ -2652,7 +2652,7 @@ class Ad{constructor(t){this.user=t.user,this.providerId=t.providerId,this._toke
|
|
|
2652
2652
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2653
2653
|
* See the License for the specific language governing permissions and
|
|
2654
2654
|
* limitations under the License.
|
|
2655
|
-
*/class Dd extends h{constructor(t,
|
|
2655
|
+
*/class Dd extends h{constructor(e,t,n,r){var s;super(t.code,t.message),this.operationType=n,this.user=r,Object.setPrototypeOf(this,Dd.prototype),this.customData={appName:e.name,tenantId:null!==(s=e.tenantId)&&void 0!==s?s:void 0,_serverResponse:t.customData._serverResponse,operationType:n}}static _fromErrorAndOperation(e,t,n,r){return new Dd(e,t,n,r)}}function Rd(e,t,n,r){return("reauthenticate"===t?n._getReauthenticationResolver(e):n._getIdTokenResponse(e)).catch((n=>{if("auth/multi-factor-auth-required"===n.code)throw Dd._fromErrorAndOperation(e,n,t,r);throw n}))}
|
|
2656
2656
|
/**
|
|
2657
2657
|
* @license
|
|
2658
2658
|
* Copyright 2020 Google LLC
|
|
@@ -2669,7 +2669,7 @@ class Ad{constructor(t){this.user=t.user,this.providerId=t.providerId,this._toke
|
|
|
2669
2669
|
* See the License for the specific language governing permissions and
|
|
2670
2670
|
* limitations under the License.
|
|
2671
2671
|
*/
|
|
2672
|
-
async function Od(t,
|
|
2672
|
+
async function Od(e,t,n=!1){const r="signIn",s=await Rd(e,r,t),i=await Ad._fromIdTokenResponse(e,r,s);return n||await e._updateCurrentUser(i.user),i}
|
|
2673
2673
|
/**
|
|
2674
2674
|
* @license
|
|
2675
2675
|
* Copyright 2020 Google LLC
|
|
@@ -2686,7 +2686,7 @@ async function Od(t,e,n=!1){const r="signIn",s=await Rd(t,r,e),i=await Ad._fromI
|
|
|
2686
2686
|
* See the License for the specific language governing permissions and
|
|
2687
2687
|
* limitations under the License.
|
|
2688
2688
|
*/
|
|
2689
|
-
async function Ld(t,
|
|
2689
|
+
async function Ld(e,t,n){const r=I(e),s={requestType:"PASSWORD_RESET",email:t};n&&
|
|
2690
2690
|
/**
|
|
2691
2691
|
* @license
|
|
2692
2692
|
* Copyright 2020 Google LLC
|
|
@@ -2703,7 +2703,7 @@ async function Ld(t,e,n){const r=I(t),s={requestType:"PASSWORD_RESET",email:e};n
|
|
|
2703
2703
|
* See the License for the specific language governing permissions and
|
|
2704
2704
|
* limitations under the License.
|
|
2705
2705
|
*/
|
|
2706
|
-
function(t,
|
|
2706
|
+
function(e,t,n){var r;ml((null===(r=n.url)||void 0===r?void 0:r.length)>0,e,"invalid-continue-uri"),ml(void 0===n.dynamicLinkDomain||n.dynamicLinkDomain.length>0,e,"invalid-dynamic-link-domain"),t.continueUrl=n.url,t.dynamicLinkDomain=n.dynamicLinkDomain,t.canHandleCodeInApp=n.handleCodeInApp,n.iOS&&(ml(n.iOS.bundleId.length>0,e,"missing-ios-bundle-id"),t.iOSBundleId=n.iOS.bundleId),n.android&&(ml(n.android.packageName.length>0,e,"missing-android-pkg-name"),t.androidInstallApp=n.android.installApp,t.androidMinimumVersionCode=n.android.minimumVersion,t.androidPackageName=n.android.packageName)}(r,s,n),await md(r,s)}async function Pd(e,t,n){await async function(e,t){return Dl(e,"POST","/v1/accounts:resetPassword",Nl(e,t))}(I(e),{oobCode:t,newPassword:n})}function Md(e,t,n){return async function(e,t){return Od(hd(e),t)}(I(e),bd.credential(t,n))}const xd="__sak";
|
|
2707
2707
|
/**
|
|
2708
2708
|
* @license
|
|
2709
2709
|
* Copyright 2019 Google LLC
|
|
@@ -2719,7 +2719,7 @@ function(t,e,n){var r;ml((null===(r=n.url)||void 0===r?void 0:r.length)>0,t,"inv
|
|
|
2719
2719
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2720
2720
|
* See the License for the specific language governing permissions and
|
|
2721
2721
|
* limitations under the License.
|
|
2722
|
-
*/class Ud{constructor(t
|
|
2722
|
+
*/class Ud{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(xd,"1"),this.storage.removeItem(xd),Promise.resolve(!0)):Promise.resolve(!1)}catch(e){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()}}
|
|
2723
2723
|
/**
|
|
2724
2724
|
* @license
|
|
2725
2725
|
* Copyright 2020 Google LLC
|
|
@@ -2735,7 +2735,7 @@ function(t,e,n){var r;ml((null===(r=n.url)||void 0===r?void 0:r.length)>0,t,"inv
|
|
|
2735
2735
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2736
2736
|
* See the License for the specific language governing permissions and
|
|
2737
2737
|
* limitations under the License.
|
|
2738
|
-
*/class Fd extends Ud{constructor(){super((()=>window.localStorage),"LOCAL"),this.boundEventHandler=(t
|
|
2738
|
+
*/class Fd extends Ud{constructor(){super((()=>window.localStorage),"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.safariLocalStorageNotSynced=function(){const e=s();return Jl(e)||sd(e)}()&&function(){try{return!(!window||window===window.top)}catch(e){return!1}}(),this.fallbackToPolling=od(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(const t of Object.keys(this.listeners)){const n=this.storage.getItem(t),r=this.localCache[t];n!==r&&e(t,r,n)}}onStorageEvent(e,t=!1){if(!e.key)return void this.forAllChangedKeys(((e,t,n)=>{this.notifyListeners(e,n)}));const n=e.key;if(t?this.detachListener():this.stopPolling(),this.safariLocalStorageNotSynced){const r=this.storage.getItem(n);if(e.newValue!==r)null!==e.newValue?this.storage.setItem(n,e.newValue):this.storage.removeItem(n);else if(this.localCache[n]===e.newValue&&!t)return}const r=()=>{const e=this.storage.getItem(n);(t||this.localCache[n]!==e)&&this.notifyListeners(n,e)},s=this.storage.getItem(n);id()&&s!==e.newValue&&e.newValue!==e.oldValue?setTimeout(r,10):r()}notifyListeners(e,t){this.localCache[e]=t;const n=this.listeners[e];if(n)for(const e of Array.from(n))e(t?JSON.parse(t):t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval((()=>{this.forAllChangedKeys(((e,t,n)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:n}),!0)}))}),1e3)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){0===Object.keys(this.listeners).length&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){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]}}Fd.type="LOCAL";const Vd=Fd;
|
|
2739
2739
|
/**
|
|
2740
2740
|
* @license
|
|
2741
2741
|
* Copyright 2020 Google LLC
|
|
@@ -2751,7 +2751,7 @@ function(t,e,n){var r;ml((null===(r=n.url)||void 0===r?void 0:r.length)>0,t,"inv
|
|
|
2751
2751
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2752
2752
|
* See the License for the specific language governing permissions and
|
|
2753
2753
|
* limitations under the License.
|
|
2754
|
-
*/class qd extends Ud{constructor(){super((()=>window.sessionStorage),"SESSION")}_addListener(t
|
|
2754
|
+
*/class qd extends Ud{constructor(){super((()=>window.sessionStorage),"SESSION")}_addListener(e,t){}_removeListener(e,t){}}qd.type="SESSION";const jd=qd;
|
|
2755
2755
|
/**
|
|
2756
2756
|
* @license
|
|
2757
2757
|
* Copyright 2019 Google LLC
|
|
@@ -2784,7 +2784,7 @@ function(t,e,n){var r;ml((null===(r=n.url)||void 0===r?void 0:r.length)>0,t,"inv
|
|
|
2784
2784
|
* See the License for the specific language governing permissions and
|
|
2785
2785
|
* limitations under the License.
|
|
2786
2786
|
*/
|
|
2787
|
-
class Bd{constructor(
|
|
2787
|
+
class Bd{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){const t=this.receivers.find((t=>t.isListeningto(e)));if(t)return t;const n=new Bd(e);return this.receivers.push(n),n}isListeningto(e){return this.eventTarget===e}async handleEvent(e){const t=e,{eventId:n,eventType:r,data:s}=t.data,i=this.handlersMap[r];if(!(null==i?void 0:i.size))return;t.ports[0].postMessage({status:"ack",eventId:n,eventType:r});const o=Array.from(i).map((async e=>e(t.origin,s))),a=await function(e){return Promise.all(e.map((async e=>{try{return{fulfilled:!0,value:await e}}catch(e){return{fulfilled:!1,reason:e}}})))}(o);t.ports[0].postMessage({status:"done",eventId:n,eventType:r,response:a})}_subscribe(e,t){0===Object.keys(this.handlersMap).length&&this.eventTarget.addEventListener("message",this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),t&&0!==this.handlersMap[e].size||delete this.handlersMap[e],0===Object.keys(this.handlersMap).length&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}
|
|
2788
2788
|
/**
|
|
2789
2789
|
* @license
|
|
2790
2790
|
* Copyright 2020 Google LLC
|
|
@@ -2801,7 +2801,7 @@ class Bd{constructor(t){this.eventTarget=t,this.handlersMap={},this.boundEventHa
|
|
|
2801
2801
|
* See the License for the specific language governing permissions and
|
|
2802
2802
|
* limitations under the License.
|
|
2803
2803
|
*/
|
|
2804
|
-
function zd(
|
|
2804
|
+
function zd(e="",t=10){let n="";for(let e=0;e<t;e++)n+=Math.floor(10*Math.random());return e+n}
|
|
2805
2805
|
/**
|
|
2806
2806
|
* @license
|
|
2807
2807
|
* Copyright 2019 Google LLC
|
|
@@ -2817,7 +2817,7 @@ function zd(t="",e=10){let n="";for(let t=0;t<e;t++)n+=Math.floor(10*Math.random
|
|
|
2817
2817
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2818
2818
|
* See the License for the specific language governing permissions and
|
|
2819
2819
|
* limitations under the License.
|
|
2820
|
-
*/Bd.receivers=[];class $d{constructor(
|
|
2820
|
+
*/Bd.receivers=[];class $d{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,n=50){const r="undefined"!=typeof MessageChannel?new MessageChannel:null;if(!r)throw new Error("connection_unavailable");let s,i;return new Promise(((o,a)=>{const c=zd("",20);r.port1.start();const u=setTimeout((()=>{a(new Error("unsupported_event"))}),n);i={messageChannel:r,onMessage(e){const t=e;if(t.data.eventId===c)switch(t.data.status){case"ack":clearTimeout(u),s=setTimeout((()=>{a(new Error("timeout"))}),3e3);break;case"done":clearTimeout(s),o(t.data.response);break;default:clearTimeout(u),clearTimeout(s),a(new Error("invalid_response"))}}},this.handlers.add(i),r.port1.addEventListener("message",i.onMessage),this.target.postMessage({eventType:e,eventId:c,data:t},[r.port2])})).finally((()=>{i&&this.removeMessageHandler(i)}))}}
|
|
2821
2821
|
/**
|
|
2822
2822
|
* @license
|
|
2823
2823
|
* Copyright 2020 Google LLC
|
|
@@ -2867,7 +2867,7 @@ function Hd(){return void 0!==Kd().WorkerGlobalScope&&"function"==typeof Kd().im
|
|
|
2867
2867
|
* See the License for the specific language governing permissions and
|
|
2868
2868
|
* limitations under the License.
|
|
2869
2869
|
*/
|
|
2870
|
-
const Gd="firebaseLocalStorageDb",Wd="firebaseLocalStorage",Qd="fbase_key";class Yd{constructor(
|
|
2870
|
+
const Gd="firebaseLocalStorageDb",Wd="firebaseLocalStorage",Qd="fbase_key";class Yd{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 Xd(e,t){return e.transaction([Wd],t?"readwrite":"readonly").objectStore(Wd)}function Jd(){const e=indexedDB.open(Gd,1);return new Promise(((t,n)=>{e.addEventListener("error",(()=>{n(e.error)})),e.addEventListener("upgradeneeded",(()=>{const t=e.result;try{t.createObjectStore(Wd,{keyPath:Qd})}catch(e){n(e)}})),e.addEventListener("success",(async()=>{const n=e.result;n.objectStoreNames.contains(Wd)?t(n):(n.close(),await function(){const e=indexedDB.deleteDatabase(Gd);return new Yd(e).toPromise()}(),t(await Jd()))}))}))}async function Zd(e,t,n){const r=Xd(e,!0).put({[Qd]:t,value:n});return new Yd(r).toPromise()}function ef(e,t){const n=Xd(e,!0).delete(t);return new Yd(n).toPromise()}class tf{constructor(){this.type="LOCAL",this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then((()=>{}),(()=>{}))}async _openDb(){return this.db||(this.db=await Jd()),this.db}async _withRetries(e){let t=0;for(;;)try{const t=await this._openDb();return await e(t)}catch(e){if(t++>3)throw e;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return Hd()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=Bd._getInstance(Hd()?self:null),this.receiver._subscribe("keyChanged",(async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)}))),this.receiver._subscribe("ping",(async(e,t)=>["keyChanged"]))}async initializeSender(){var e,t;if(this.activeServiceWorker=await async function(){if(!(null===navigator||void 0===navigator?void 0:navigator.serviceWorker))return null;try{return(await navigator.serviceWorker.ready).active}catch(e){return null}}(),!this.activeServiceWorker)return;this.sender=new $d(this.activeServiceWorker);const n=await this.sender._send("ping",{},800);n&&(null===(e=n[0])||void 0===e?void 0:e.fulfilled)&&(null===(t=n[0])||void 0===t?void 0:t.value.includes("keyChanged"))&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(this.sender&&this.activeServiceWorker&&function(){var e;return(null===(e=null===navigator||void 0===navigator?void 0:navigator.serviceWorker)||void 0===e?void 0:e.controller)||null}()===this.activeServiceWorker)try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch(e){}}async _isAvailable(){try{if(!indexedDB)return!1;const e=await Jd();return await Zd(e,xd,"1"),await ef(e,xd),!0}catch(e){}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite((async()=>(await this._withRetries((n=>Zd(n,e,t))),this.localCache[e]=t,this.notifyServiceWorker(e))))}async _get(e){const t=await this._withRetries((t=>async function(e,t){const n=Xd(e,!1).get(t),r=await new Yd(n).toPromise();return void 0===r?null:r.value}(t,e)));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite((async()=>(await this._withRetries((t=>ef(t,e))),delete this.localCache[e],this.notifyServiceWorker(e))))}async _poll(){const e=await this._withRetries((e=>{const t=Xd(e,!1).getAll();return new Yd(t).toPromise()}));if(!e)return[];if(0!==this.pendingWrites)return[];const t=[],n=new Set;for(const{fbase_key:r,value:s}of e)n.add(r),JSON.stringify(this.localCache[r])!==JSON.stringify(s)&&(this.notifyListeners(r,s),t.push(r));for(const e of Object.keys(this.localCache))this.localCache[e]&&!n.has(e)&&(this.notifyListeners(e,null),t.push(e));return t}notifyListeners(e,t){this.localCache[e]=t;const n=this.listeners[e];if(n)for(const e of Array.from(n))e(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval((async()=>this._poll()),800)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){0===Object.keys(this.listeners).length&&this.startPolling(),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&this.stopPolling()}}tf.type="LOCAL";const nf=tf;
|
|
2871
2871
|
/**
|
|
2872
2872
|
* @license
|
|
2873
2873
|
* Copyright 2020 Google LLC
|
|
@@ -2883,7 +2883,7 @@ const Gd="firebaseLocalStorageDb",Wd="firebaseLocalStorage",Qd="fbase_key";class
|
|
|
2883
2883
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2884
2884
|
* See the License for the specific language governing permissions and
|
|
2885
2885
|
* limitations under the License.
|
|
2886
|
-
*/function rf(
|
|
2886
|
+
*/function rf(e){return new Promise(((t,n)=>{const r=document.createElement("script");r.setAttribute("src",e),r.onload=t,r.onerror=e=>{const t=pl("internal-error");t.customData=e,n(t)},r.type="text/javascript",r.charset="UTF-8",function(){var e,t;return null!==(t=null===(e=document.getElementsByTagName("head"))||void 0===e?void 0:e[0])&&void 0!==t?t:document}().appendChild(r)}))}new _l(3e4,6e4);
|
|
2887
2887
|
/**
|
|
2888
2888
|
* @license
|
|
2889
2889
|
* Copyright 2019 Google LLC
|
|
@@ -2900,7 +2900,7 @@ const Gd="firebaseLocalStorageDb",Wd="firebaseLocalStorage",Qd="fbase_key";class
|
|
|
2900
2900
|
* See the License for the specific language governing permissions and
|
|
2901
2901
|
* limitations under the License.
|
|
2902
2902
|
*/
|
|
2903
|
-
class sf extends gd{constructor(
|
|
2903
|
+
class sf extends gd{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return vd(e,this._buildIdpRequest())}_linkToIdToken(e,t){return vd(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return vd(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 of(e){return Od(e.auth,new sf(e),e.bypassAuthState)}function af(e){const{auth:t,user:n}=e;return ml(n,t,"internal-error"),
|
|
2904
2904
|
/**
|
|
2905
2905
|
* @license
|
|
2906
2906
|
* Copyright 2019 Google LLC
|
|
@@ -2917,7 +2917,7 @@ class sf extends gd{constructor(t){super("custom","custom"),this.params=t}_getId
|
|
|
2917
2917
|
* See the License for the specific language governing permissions and
|
|
2918
2918
|
* limitations under the License.
|
|
2919
2919
|
*/
|
|
2920
|
-
async function(t,
|
|
2920
|
+
async function(e,t,n=!1){const{auth:r}=e,s="reauthenticate";try{const i=await Vl(e,Rd(r,s,t,e),n);ml(i.idToken,r,"internal-error");const o=Fl(i.idToken);ml(o,r,"internal-error");const{sub:a}=o;return ml(e.uid===a,r,"user-mismatch"),Ad._forOperation(e,s,i)}catch(e){throw"auth/user-not-found"===(null==e?void 0:e.code)&&fl(r,"user-mismatch"),e}}(n,new sf(e),e.bypassAuthState)}async function cf(e){const{auth:t,user:n}=e;return ml(n,t,"internal-error"),async function(e,t,n=!1){const r=await Vl(e,t._linkToIdToken(e.auth,await e.getIdToken()),n);return Ad._forOperation(e,"link",r)}(n,new sf(e),e.bypassAuthState)}
|
|
2921
2921
|
/**
|
|
2922
2922
|
* @license
|
|
2923
2923
|
* Copyright 2020 Google LLC
|
|
@@ -2933,7 +2933,7 @@ async function(t,e,n=!1){const{auth:r}=t,s="reauthenticate";try{const i=await Vl
|
|
|
2933
2933
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2934
2934
|
* See the License for the specific language governing permissions and
|
|
2935
2935
|
* limitations under the License.
|
|
2936
|
-
*/class uf{constructor(t,
|
|
2936
|
+
*/class uf{constructor(e,t,n,r,s=!1){this.auth=e,this.resolver=n,this.user=r,this.bypassAuthState=s,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise((async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}}))}async onAuthEvent(e){const{urlResponse:t,sessionId:n,postBody:r,tenantId:s,error:i,type:o}=e;if(i)return void this.reject(i);const a={auth:this.auth,requestUri:t,sessionId:n,tenantId:s||void 0,postBody:r||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(o)(a))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return of;case"linkViaPopup":case"linkViaRedirect":return cf;case"reauthViaPopup":case"reauthViaRedirect":return af;default:fl(this.auth,"internal-error")}}resolve(e){vl(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){vl(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()}}
|
|
2937
2937
|
/**
|
|
2938
2938
|
* @license
|
|
2939
2939
|
* Copyright 2020 Google LLC
|
|
@@ -2949,7 +2949,7 @@ async function(t,e,n=!1){const{auth:r}=t,s="reauthenticate";try{const i=await Vl
|
|
|
2949
2949
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2950
2950
|
* See the License for the specific language governing permissions and
|
|
2951
2951
|
* limitations under the License.
|
|
2952
|
-
*/const hf=new _l(2e3,1e4);class lf extends uf{constructor(t,
|
|
2952
|
+
*/const hf=new _l(2e3,1e4);class lf extends uf{constructor(e,t,n,r,s){super(e,t,r,s),this.provider=n,this.authWindow=null,this.pollId=null,lf.currentPopupAction&&lf.currentPopupAction.cancel(),lf.currentPopupAction=this}async executeNotNull(){const e=await this.execute();return ml(e,this.auth,"internal-error"),e}async onExecution(){vl(1===this.filter.length,"Popup operations only handle one event");const e=zd();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch((e=>{this.reject(e)})),this.resolver._isIframeWebStorageSupported(this.auth,(e=>{e||this.reject(pl(this.auth,"web-storage-unsupported"))})),this.pollUserCancellation()}get eventId(){var e;return(null===(e=this.authWindow)||void 0===e?void 0:e.associatedEvent)||null}cancel(){this.reject(pl(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,lf.currentPopupAction=null}pollUserCancellation(){const e=()=>{var t,n;(null===(n=null===(t=this.authWindow)||void 0===t?void 0:t.window)||void 0===n?void 0:n.closed)?this.pollId=window.setTimeout((()=>{this.pollId=null,this.reject(pl(this.auth,"popup-closed-by-user"))}),2e3):this.pollId=window.setTimeout(e,hf.get())};e()}}lf.currentPopupAction=null;
|
|
2953
2953
|
/**
|
|
2954
2954
|
* @license
|
|
2955
2955
|
* Copyright 2020 Google LLC
|
|
@@ -2966,7 +2966,7 @@ async function(t,e,n=!1){const{auth:r}=t,s="reauthenticate";try{const i=await Vl
|
|
|
2966
2966
|
* See the License for the specific language governing permissions and
|
|
2967
2967
|
* limitations under the License.
|
|
2968
2968
|
*/
|
|
2969
|
-
const df="pendingRedirect",ff=new Map;class pf extends uf{constructor(t,
|
|
2969
|
+
const df="pendingRedirect",ff=new Map;class pf extends uf{constructor(e,t,n=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,n),this.eventId=null}async execute(){let e=ff.get(this.auth._key());if(!e){try{const t=await async function(e,t){const n=function(e){return Wl(df,e.config.apiKey,e.name)}(t),r=function(e){return Il(e._redirectPersistence)}(e);if(!await r._isAvailable())return!1;const s="true"===await r._get(n);return await r._remove(n),s}(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}ff.set(this.auth._key(),e)}return this.bypassAuthState||ff.set(this.auth._key(),(()=>Promise.resolve(null))),e()}async onAuthEvent(e){if("signInViaRedirect"===e.type)return super.onAuthEvent(e);if("unknown"!==e.type){if(e.eventId){const t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}else this.resolve(null)}async onExecution(){}cleanUp(){}}function gf(e,t){ff.set(e._key(),t)}async function mf(e,t,n=!1){const r=hd(e),s=
|
|
2970
2970
|
/**
|
|
2971
2971
|
* @license
|
|
2972
2972
|
* Copyright 2021 Google LLC
|
|
@@ -2983,7 +2983,7 @@ const df="pendingRedirect",ff=new Map;class pf extends uf{constructor(t,e,n=!1){
|
|
|
2983
2983
|
* See the License for the specific language governing permissions and
|
|
2984
2984
|
* limitations under the License.
|
|
2985
2985
|
*/
|
|
2986
|
-
function(t
|
|
2986
|
+
function(e,t){return t?Il(t):(ml(e._popupRedirectResolver,e,"argument-error"),e._popupRedirectResolver)}(r,t),i=new pf(r,s,n),o=await i.execute();return o&&!n&&(delete o.user._redirectEventId,await r._persistUserIfCurrent(o.user),await r._setRedirectUser(null,t)),o}
|
|
2987
2987
|
/**
|
|
2988
2988
|
* @license
|
|
2989
2989
|
* Copyright 2020 Google LLC
|
|
@@ -2999,7 +2999,7 @@ function(t,e){return e?Il(e):(ml(t._popupRedirectResolver,t,"argument-error"),t.
|
|
|
2999
2999
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3000
3000
|
* See the License for the specific language governing permissions and
|
|
3001
3001
|
* limitations under the License.
|
|
3002
|
-
*/class yf{constructor(
|
|
3002
|
+
*/class yf{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((n=>{this.isEventForConsumer(e,n)&&(t=!0,this.sendToConsumer(e,n),this.saveEventToCache(e))})),this.hasHandledPotentialRedirect||!function(e){switch(e.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return wf(e);default:return!1}}
|
|
3003
3003
|
/**
|
|
3004
3004
|
* @license
|
|
3005
3005
|
* Copyright 2020 Google LLC
|
|
@@ -3015,7 +3015,7 @@ function(t,e){return e?Il(e):(ml(t._popupRedirectResolver,t,"argument-error"),t.
|
|
|
3015
3015
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3016
3016
|
* See the License for the specific language governing permissions and
|
|
3017
3017
|
* limitations under the License.
|
|
3018
|
-
*/(
|
|
3018
|
+
*/(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){var n;if(e.error&&!wf(e)){const r=(null===(n=e.error.code)||void 0===n?void 0:n.split("auth/")[1])||"internal-error";t.onError(pl(this.auth,r))}else t.onAuthEvent(e)}isEventForConsumer(e,t){const n=null===t.eventId||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&n}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=6e5&&this.cachedEventUids.clear(),this.cachedEventUids.has(vf(e))}saveEventToCache(e){this.cachedEventUids.add(vf(e)),this.lastProcessedEventTime=Date.now()}}function vf(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter((e=>e)).join("-")}function wf({type:e,error:t}){return"unknown"===e&&"auth/no-auth-event"===(null==t?void 0:t.code)}
|
|
3019
3019
|
/**
|
|
3020
3020
|
* @license
|
|
3021
3021
|
* Copyright 2020 Google LLC
|
|
@@ -3032,7 +3032,7 @@ function(t,e){return e?Il(e):(ml(t._popupRedirectResolver,t,"argument-error"),t.
|
|
|
3032
3032
|
* See the License for the specific language governing permissions and
|
|
3033
3033
|
* limitations under the License.
|
|
3034
3034
|
*/
|
|
3035
|
-
const If=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,bf=/^https?/;async function Tf(
|
|
3035
|
+
const If=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,bf=/^https?/;async function Tf(e){if(e.config.emulator)return;const{authorizedDomains:t}=await async function(e,t={}){return Dl(e,"GET","/v1/projects",t)}(e);for(const e of t)try{if(Ef(e))return}catch(e){}fl(e,"unauthorized-domain")}function Ef(e){const t=bl(),{protocol:n,hostname:r}=new URL(t);if(e.startsWith("chrome-extension://")){const s=new URL(e);return""===s.hostname&&""===r?"chrome-extension:"===n&&e.replace("chrome-extension://","")===t.replace("chrome-extension://",""):"chrome-extension:"===n&&s.hostname===r}if(!bf.test(n))return!1;if(If.test(e))return r===e;const s=e.replace(/\./g,"\\.");return new RegExp("^(.+\\."+s+"|"+s+")$","i").test(r)}
|
|
3036
3036
|
/**
|
|
3037
3037
|
* @license
|
|
3038
3038
|
* Copyright 2020 Google LLC.
|
|
@@ -3048,7 +3048,7 @@ const If=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,bf=/^https?/;async function Tf(t
|
|
|
3048
3048
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3049
3049
|
* See the License for the specific language governing permissions and
|
|
3050
3050
|
* limitations under the License.
|
|
3051
|
-
*/const _f=new _l(3e4,6e4);function Sf(){const
|
|
3051
|
+
*/const _f=new _l(3e4,6e4);function Sf(){const e=Kd().___jsl;if(null==e?void 0:e.H)for(const t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let t=0;t<e.CP.length;t++)e.CP[t]=null}function Cf(e){return new Promise(((t,n)=>{var r,s,i;function o(){Sf(),gapi.load("gapi.iframes",{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{Sf(),n(pl(e,"network-request-failed"))},timeout:_f.get()})}if(null===(s=null===(r=Kd().gapi)||void 0===r?void 0:r.iframes)||void 0===s?void 0:s.Iframe)t(gapi.iframes.getContext());else{if(!(null===(i=Kd().gapi)||void 0===i?void 0:i.load)){const t=`__${"iframefcb"}${Math.floor(1e6*Math.random())}`;return Kd()[t]=()=>{gapi.load?o():n(pl(e,"network-request-failed"))},rf(`https://apis.google.com/js/api.js?onload=${t}`).catch((e=>n(e)))}o()}})).catch((e=>{throw kf=null,e}))}let kf=null;
|
|
3052
3052
|
/**
|
|
3053
3053
|
* @license
|
|
3054
3054
|
* Copyright 2020 Google LLC.
|
|
@@ -3065,7 +3065,7 @@ const If=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,bf=/^https?/;async function Tf(t
|
|
|
3065
3065
|
* See the License for the specific language governing permissions and
|
|
3066
3066
|
* limitations under the License.
|
|
3067
3067
|
*/
|
|
3068
|
-
const Af=new _l(5e3,15e3),Nf={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},Df=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);function Rf(
|
|
3068
|
+
const Af=new _l(5e3,15e3),Nf={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},Df=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);function Rf(e){const t=e.config;ml(t.authDomain,e,"auth-domain-config-required");const n=t.emulator?Sl(t,"emulator/auth/iframe"):`https://${e.config.authDomain}/__/auth/iframe`,r={apiKey:t.apiKey,appName:e.name,v:oe},s=Df.get(e.config.apiHost);s&&(r.eid=s);const i=e._getFrameworks();return i.length&&(r.fw=i.join(",")),`${n}?${g(r).slice(1)}`}async function Of(e){const t=await function(e){return kf=kf||Cf(e),kf}(e),n=Kd().gapi;return ml(n,e,"internal-error"),t.open({where:document.body,url:Rf(e),messageHandlersFilter:n.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:Nf,dontclear:!0},(t=>new Promise((async(n,r)=>{await t.restyle({setHideOnLeave:!1});const s=pl(e,"network-request-failed"),i=Kd().setTimeout((()=>{r(s)}),Af.get());function o(){Kd().clearTimeout(i),n(t)}t.ping(o).then(o,(()=>{r(s)}))}))))}
|
|
3069
3069
|
/**
|
|
3070
3070
|
* @license
|
|
3071
3071
|
* Copyright 2020 Google LLC.
|
|
@@ -3081,7 +3081,7 @@ const Af=new _l(5e3,15e3),Nf={style:{position:"absolute",top:"-100px",width:"1px
|
|
|
3081
3081
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3082
3082
|
* See the License for the specific language governing permissions and
|
|
3083
3083
|
* limitations under the License.
|
|
3084
|
-
*/const Lf={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"};class Pf{constructor(
|
|
3084
|
+
*/const Lf={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"};class Pf{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch(e){}}}function Mf(e,t,n,r=500,i=600){const o=Math.max((window.screen.availHeight-i)/2,0).toString(),a=Math.max((window.screen.availWidth-r)/2,0).toString();let c="";const u=Object.assign(Object.assign({},Lf),{width:r.toString(),height:i.toString(),top:o,left:a}),h=s().toLowerCase();n&&(c=Zl(h)?"_blank":n),Xl(h)&&(t=t||"http://localhost",u.scrollbars="yes");const l=Object.entries(u).reduce(((e,[t,n])=>`${e}${t}=${n},`),"");if(function(e=s()){var t;return sd(e)&&!!(null===(t=window.navigator)||void 0===t?void 0:t.standalone)}(h)&&"_self"!==c)return function(e,t){const n=document.createElement("a");n.href=e,n.target=t;const r=document.createEvent("MouseEvent");r.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),n.dispatchEvent(r)}
|
|
3085
3085
|
/**
|
|
3086
3086
|
* @license
|
|
3087
3087
|
* Copyright 2021 Google LLC
|
|
@@ -3097,7 +3097,7 @@ const Af=new _l(5e3,15e3),Nf={style:{position:"absolute",top:"-100px",width:"1px
|
|
|
3097
3097
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3098
3098
|
* See the License for the specific language governing permissions and
|
|
3099
3099
|
* limitations under the License.
|
|
3100
|
-
*/(
|
|
3100
|
+
*/(t||"",c),new Pf(null);const d=window.open(t||"",c,l);ml(d,e,"popup-blocked");try{d.focus()}catch(e){}return new Pf(d)}const xf="__/auth/handler",Uf="emulator/auth/handler";function Ff(e,t,n,r,s,i){ml(e.config.authDomain,e,"auth-domain-config-required"),ml(e.config.apiKey,e,"invalid-api-key");const o={apiKey:e.config.apiKey,appName:e.name,authType:n,redirectUrl:r,v:oe,eventId:s};if(t instanceof Td){t.setDefaultLanguage(e.languageCode),o.providerId=t.providerId||"",function(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}(t.getCustomParameters())||(o.customParameters=JSON.stringify(t.getCustomParameters()));for(const[e,t]of Object.entries(i||{}))o[e]=t}if(t instanceof Ed){const e=t.getScopes().filter((e=>""!==e));e.length>0&&(o.scopes=e.join(","))}e.tenantId&&(o.tid=e.tenantId);const a=o;for(const e of Object.keys(a))void 0===a[e]&&delete a[e];return`${function({config:e}){if(!e.emulator)return`https://${e.authDomain}/${xf}`;return Sl(e,Uf)}
|
|
3101
3101
|
/**
|
|
3102
3102
|
* @license
|
|
3103
3103
|
* Copyright 2020 Google LLC
|
|
@@ -3113,7 +3113,7 @@ const Af=new _l(5e3,15e3),Nf={style:{position:"absolute",top:"-100px",width:"1px
|
|
|
3113
3113
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3114
3114
|
* See the License for the specific language governing permissions and
|
|
3115
3115
|
* limitations under the License.
|
|
3116
|
-
*/(
|
|
3116
|
+
*/(e)}?${g(a).slice(1)}`}const Vf="webStorageSupport";const qf=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=jd,this._completeRedirectFn=mf,this._overrideRedirectResult=gf}async _openPopup(e,t,n,r){var s;vl(null===(s=this.eventManagers[e._key()])||void 0===s?void 0:s.manager,"_initialize() not called before _openPopup()");return Mf(e,Ff(e,t,n,bl(),r),zd())}async _openRedirect(e,t,n,r){var s;return await this._originValidation(e),s=Ff(e,t,n,bl(),r),Kd().location.href=s,new Promise((()=>{}))}_initialize(e){const t=e._key();if(this.eventManagers[t]){const{manager:e,promise:n}=this.eventManagers[t];return e?Promise.resolve(e):(vl(n,"If manager is not set, promise should be"),n)}const n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch((()=>{delete this.eventManagers[t]})),n}async initAndGetManager(e){const t=await Of(e),n=new yf(e);return t.register("authEvent",(t=>{ml(null==t?void 0:t.authEvent,e,"invalid-auth-event");return{status:n.onEvent(t.authEvent)?"ACK":"ERROR"}}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:n},this.iframes[e._key()]=t,n}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(Vf,{type:Vf},(n=>{var r;const s=null===(r=null==n?void 0:n[0])||void 0===r?void 0:r[Vf];void 0!==s&&t(!!s),fl(e,"internal-error")}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){const t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=Tf(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return od()||Jl()||sd()}};var jf="@firebase/auth",Bf="0.21.0";
|
|
3117
3117
|
/**
|
|
3118
3118
|
* @license
|
|
3119
3119
|
* Copyright 2020 Google LLC
|
|
@@ -3130,7 +3130,7 @@ const Af=new _l(5e3,15e3),Nf={style:{position:"absolute",top:"-100px",width:"1px
|
|
|
3130
3130
|
* See the License for the specific language governing permissions and
|
|
3131
3131
|
* limitations under the License.
|
|
3132
3132
|
*/
|
|
3133
|
-
class zf{constructor(
|
|
3133
|
+
class zf{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){var e;return this.assertAuthConfigured(),(null===(e=this.auth.currentUser)||void 0===e?void 0:e.uid)||null}async getToken(e){if(this.assertAuthConfigured(),await this.auth._initializationPromise,!this.auth.currentUser)return null;return{accessToken:await this.auth.currentUser.getIdToken(e)}}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;const t=this.auth.onIdTokenChanged((t=>{e((null==t?void 0:t.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(){ml(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}
|
|
3134
3134
|
/**
|
|
3135
3135
|
* @license
|
|
3136
3136
|
* Copyright 2020 Google LLC
|
|
@@ -3163,5 +3163,5 @@ class zf{constructor(t){this.auth=t,this.internalListeners=new Map}getUid(){var
|
|
|
3163
3163
|
* See the License for the specific language governing permissions and
|
|
3164
3164
|
* limitations under the License.
|
|
3165
3165
|
*/
|
|
3166
|
-
const $f=c("authIdTokenMaxAge")||300;let Kf=null;function Hf(t=ct()){const e=rt(t,"auth");if(e.isInitialized())return e.getImmediate();const n=function(t,e){const n=rt(t,"auth");if(n.isInitialized()){const t=n.getImmediate();if(f(n.getOptions(),null!=e?e:{}))return t;fl(t,"already-initialized")}return n.initialize({options:e})}(t,{popupRedirectResolver:qf,persistence:[nf,Vd,jd]}),r=c("authTokenSyncURL");if(r){const t=(s=r,async t=>{const e=t&&await t.getIdTokenResult(),n=e&&((new Date).getTime()-Date.parse(e.issuedAtTime))/1e3;if(n&&n>$f)return;const r=null==e?void 0:e.token;Kf!==r&&(Kf=r,await fetch(s,{method:r?"POST":"DELETE",headers:r?{Authorization:`Bearer ${r}`}:{}}))});!function(t,e,n){I(t).beforeAuthStateChanged(e,n)}(n,t,(()=>t(n.currentUser))),function(t,e,n,r){I(t).onIdTokenChanged(e,n,r)}(n,(e=>t(e)))}var s;const i=a("auth");return i&&dd(n,`http://${i}`),n}var Gf;Gf="Browser",nt(new b("auth",((t,{options:e})=>{const n=t.getProvider("app").getImmediate(),r=t.getProvider("heartbeat"),{apiKey:s,authDomain:i}=n.options;return((t,n)=>{ml(s&&!s.includes(":"),"invalid-api-key",{appName:t.name}),ml(!(null==i?void 0:i.includes(":")),"argument-error",{appName:t.name});const r={apiKey:s,authDomain:i,clientPlatform:Gf,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:ad(Gf)},o=new ud(t,n,r);return function(t,e){const n=(null==e?void 0:e.persistence)||[],r=(Array.isArray(n)?n:[n]).map(Il);(null==e?void 0:e.errorMap)&&t._updateErrorMap(e.errorMap),t._initializeWithPersistence(r,null==e?void 0:e.popupRedirectResolver)}(o,e),o})(n,r)}),"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback(((t,e,n)=>{t.getProvider("auth-internal").initialize()}))),nt(new b("auth-internal",(t=>(t=>new zf(t))(hd(t.getProvider("auth").getImmediate()))),"PRIVATE").setInstantiationMode("EXPLICIT")),ut(jf,Bf,function(t){switch(t){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";default:return}}(Gf)),ut(jf,Bf,"esm2017");class Wf extends Error{constructor(){super("Avatar not created"),this.name="AvatarNotCreatedError"}}class Qf extends Error{constructor(){super("no frames found"),this.name="NoFramesFoundError"}}class Yf extends Error{constructor(){super("request timeout"),this.name="RequestTimeoutError"}}class Xf extends Error{constructor(){super("user not logged in"),this.name="UserNotLoggedInError"}}class Jf extends Error{constructor(){super("no colorway size assets found"),this.name="NoColorwaySizeAssetsFoundError"}}class Zf extends Error{constructor(){super("no styles found"),this.name="NoStylesFoundError"}}class tp extends Error{constructor(t,e){super("recommended available sizes error"),this.name="RecommendedAvailableSizesError",this.recommended_size=t,this.available_sizes=e}}const ep="avatar not created";var np=Object.freeze({__proto__:null,AvatarNotCreatedError:Wf,NoFramesFoundError:Qf,RequestTimeoutError:Yf,UserNotLoggedInError:Xf,NoColorwaySizeAssetsFoundError:Jf,NoStylesFoundError:Zf,RecommendedAvailableSizesError:tp,AvatarNotCreated:ep});class rp{constructor(t,e){this.firestore=t,this.auth=Hf(e),this.auth.setPersistence(Vd)}get id(){var t;return null===(t=this.user)||void 0===t?void 0:t.uid}onInit(){return new Promise((t=>{const e=this.auth.onAuthStateChanged((n=>{this.setUser(n),t(Boolean(n)),e()}))}))}setUser(t){this.user=t}async getToken(){var t;if(!(null===(t=this.user)||void 0===t?void 0:t.uid))throw new Xf;return await this.user.getIdToken()}async getUserProfile(){var t;if(!(null===(t=this.user)||void 0===t?void 0:t.uid))throw new Xf;const e=await Jh(function(t,e,...n){if(t=I(t),1===arguments.length&&(e=Ys.R()),Xu("doc","path",e),t instanceof sh){const r=ni.fromString(e,...n);return Ju(r),new oh(t,null,new ii(r))}{if(!(t instanceof oh||t instanceof ch))throw new Vs(Fs.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");const r=t._path.child(ni.fromString(e,...n));return Ju(r),new oh(t.firestore,t instanceof ch?t.converter:null,new ii(r))}}(this.firestore,"users",this.id));return e.data()}watchUserProfileForChanges(t,e){let n;const r=Vh(uh(this.firestore,"users"),jh(Th(),"==",this.id)),s=setTimeout((()=>n()),e);return new Promise((e=>{n=el(r,(r=>{t(r)&&(clearTimeout(s),n(),e(r.docs[0].data()))}))}))}async login(t,e){this.auth.currentUser&&await this.auth.signOut();const n=await Md(this.auth,t,e);this.setUser(n.user)}async logout(){await this.auth.signOut(),this.setUser(null)}async sendPasswordResetEmail(t){await Ld(this.auth,t)}async confirmPasswordReset(t,e){await Pd(this.auth,t,e)}}class sp{constructor(){this.promisefyOnSnapshot=(t,e)=>{let n;return{promise:new Promise((r=>{n=el(t,(t=>{r(t),e&&n()}))})),unsubscribe:()=>n()}};const t=at(rl.getInstance().firebase);this.firestore=yh(t),this.user=new rp(this.firestore,t)}onInit(){return this.user.onInit()}query(t,e,n=!0){const r=Vh(uh(this.firestore,t),e);return this.promisefyOnSnapshot(r,n)}getDocs(t,e){return tl(Vh(uh(this.firestore,t),...e))}}const ip=t=>{if(t.code===hl)throw new Error("account has been disabled");throw new Error(t.message)};class op{static get endpoint(){return rl.getInstance().api.url}static async Fetch({user:t,endpointPath:e,method:n,body:r,useToken:s=!0}){const i=this.getUrl(e,s),o={method:n,headers:await this.getHeaders(t,s),credentials:"include"};r&&(o.body=JSON.stringify(r));const a=await fetch(i,o);if(a.ok)return a;if(500===a.status)throw new Error(a.statusText);const c=await a.json();return Promise.reject(c)}static getUrl(t,e){return e?`${this.endpoint}/v1${t}`:this.endpoint+t}static async getHeaders(t,e){if(!e)return{"Content-Type":"application/json"};return{"Content-Type":"application/json",Authorization:`Bearer ${await t.getToken()}`}}static Get(t,e,n){return this.Fetch({user:t,endpointPath:e,method:"GET",body:null,useToken:n})}static Post(t,e,n=null,r){return this.Fetch({user:t,endpointPath:e,method:"POST",body:n,useToken:r})}static Put(t,e,n,r){return this.Fetch({user:t,endpointPath:e,method:"PUT",body:n,useToken:r})}static Patch(t,e,n,r){return this.Fetch({user:t,endpointPath:e,method:"PATCH",body:n,useToken:r})}static Delete(t,e,n,r){return this.Fetch({user:t,endpointPath:e,method:"DELETE",body:n,useToken:r})}}class ap{constructor(t,e){this.brandId=t,this.firebase=e;const n=rl.getInstance().config;ap.avatarTimeout=n.avatarTimeout?Number(n.avatarTimeout):12e4,ap.vtoTimeout=n.vtoTimeout?Number(n.vtoTimeout):12e4}get user(){return this.firebase.user}get isLoggedIn(){return!this.firebase||Boolean(this.user.id)}onInit(){return this.firebase.onInit()}async tryOn(t){if(!this.isLoggedIn)throw new Xf;try{return await this.getColorwaySizeAssetFrames(t)}catch(e){if(!(e instanceof Qf))throw e;return this.requestThenGetColorwaySizeAssetFrames(t)}}async awaitAvatarCreated(){if(!this.isLoggedIn)throw new Xf;const{promise:t,unsubscribe:e}=this.firebase.query("users",jh(Th(),"==",this.user.id)),n=setTimeout((()=>{throw e(),new Yf}),ap.avatarTimeout),r=await t;clearTimeout(n);return"CREATED"===r.docs[0].data().avatar_status}async getRecommendedSizes(t){if(!this.isLoggedIn)throw new Xf;try{const e=await op.Get(this.user,`/styles/${t}/recommendation`);return await e.json()}catch(t){if((null==t?void 0:t.error)===ep)throw new Wf;throw t}}async getStyles(t,e){const n=[jh("brand_id","==",this.brandId)];(null==t?void 0:t.length)>0&&n.push(jh("id","in",t)),(null==e?void 0:e.length)>0&&n.push(jh("brand_style_id","in",e));try{const t=await this.firebase.getDocs("styles",n),e=new Map;return t.forEach((t=>{const n=t.data();e.set(n.id,n)})),e}catch(t){return ip(t)}}async submitTelephoneNumber(t){const e=t.replace(/[^\+0-9]/g,""),n=await op.Post(this.user,"/ios-app-link",{phone_number:e},!1);console.log(n)}async awaitColorwaySizeAssetFrames(t){var e,n,r,s;if(!this.isLoggedIn)throw new Xf;const i=await this.user.watchUserProfileForChanges((e=>{var n,r,s;return Boolean(null===(s=null===(r=null===(n=e.docs[0].data())||void 0===n?void 0:n.vto)||void 0===r?void 0:r[this.brandId])||void 0===s?void 0:s[t])}),ap.vtoTimeout);if(!(null===(s=null===(r=null===(n=null===(e=null==i?void 0:i.vto)||void 0===e?void 0:e[this.brandId])||void 0===n?void 0:n[t])||void 0===r?void 0:r.frames)||void 0===s?void 0:s.length))throw new Qf;return i.vto[this.brandId][t].frames}async requestThenGetColorwaySizeAssetFrames(t){var e,n;const[r,s]=await(i=this.getColorwaySizeAssetFromSku(t),i.then((t=>[null,t])).catch((t=>[t])));var i;if(r)throw r;try{return await this.requestColorwaySizeAssetFrames(s.id),this.awaitColorwaySizeAssetFrames(t)}catch(r){if((null==r?void 0:r.error)===ep)throw new Wf;if(!r.recommended_size_id)throw new Error(r);const t=r,i=(await this.getStyles([s.style_id],null)).get(s.style_id);if(!(null==i?void 0:i.sizes))throw new Zf;const o=(null===(e=i.sizes[t.recommended_size_id])||void 0===e?void 0:e.label)||(null===(n=i.sizes[t.recommended_size_id])||void 0===n?void 0:n.size),a=t.available_size_ids.filter((t=>{var e;return(null===(e=i.sizes[t])||void 0===e?void 0:e.size)!==o})).map((t=>{var e,n;return(null===(e=i.sizes[t])||void 0===e?void 0:e.label)||(null===(n=i.sizes[t])||void 0===n?void 0:n.size)}));throw new tp(o,a)}}async getColorwaySizeAssetFromSku(t){const e=await this.getColorwaySizeAssets(null,[t]);if(!(null==e?void 0:e.size))throw new Jf;return Array.from(e.values())[0]}async getColorwaySizeAssets(t,e){const n=[jh("brand_id","==",this.brandId)];t&&n.push(jh("style_id","==",t)),(null==e?void 0:e.length)>0&&n.push(jh("sku","in",e));try{const t=await this.firebase.getDocs("colorway_size_assets",n),e=new Map;return t.forEach((t=>{const n=t.data();e.set(n.id,n)})),e}catch(t){return ip(t)}}async requestColorwaySizeAssetFrames(t){if(!this.isLoggedIn)throw new Xf;await op.Post(this.user,`/colorway-size-assets/${t}/frames`)}async getColorwaySizeAssetFrames(t){var e,n,r;const s=await this.user.getUserProfile(),i=(null===(r=null===(n=null===(e=null==s?void 0:s.vto)||void 0===e?void 0:e[this.brandId])||void 0===n?void 0:n[t])||void 0===r?void 0:r.frames)||[];if(!i.length)throw new Qf;if(!await(t=>{const e=new Image;return e.src=t,new Promise((t=>{e.onerror=()=>t(!1),e.onload=()=>t(!0)}))})(i[0]))throw new Qf;return i}}ap.avatarTimeout=12e4,ap.vtoTimeout=12e4;const cp=(t,e="dev")=>("dev"!==e&&"development"!==e||console.warn("TfrShop is in development mode"),rl.getInstance().setEnv(e),new ap(t,new sp));var up,hp=Object.freeze({__proto__:null}),lp=Object.freeze({__proto__:null});!function(t){t.NOT_CREATED="NOT_CREATED",t.CREATED="CREATED",t.PENDING="PENDING"}(up||(up={}));var dp=Object.freeze({__proto__:null,get AvatarState(){return up}});const fp=ap.vtoTimeout;export{np as Errors,fp as VTO_TIMEOUT_MS,cp as initShop,hp as requests,lp as responses,dp as types};
|
|
3166
|
+
const $f=c("authIdTokenMaxAge")||300;let Kf=null;function Hf(e=ce()){const t=re(e,"auth");if(t.isInitialized())return t.getImmediate();const n=function(e,t){const n=re(e,"auth");if(n.isInitialized()){const e=n.getImmediate();if(f(n.getOptions(),null!=t?t:{}))return e;fl(e,"already-initialized")}return n.initialize({options:t})}(e,{popupRedirectResolver:qf,persistence:[nf,Vd,jd]}),r=c("authTokenSyncURL");if(r){const e=(s=r,async e=>{const t=e&&await e.getIdTokenResult(),n=t&&((new Date).getTime()-Date.parse(t.issuedAtTime))/1e3;if(n&&n>$f)return;const r=null==t?void 0:t.token;Kf!==r&&(Kf=r,await fetch(s,{method:r?"POST":"DELETE",headers:r?{Authorization:`Bearer ${r}`}:{}}))});!function(e,t,n){I(e).beforeAuthStateChanged(t,n)}(n,e,(()=>e(n.currentUser))),function(e,t,n,r){I(e).onIdTokenChanged(t,n,r)}(n,(t=>e(t)))}var s;const i=a("auth");return i&&dd(n,`http://${i}`),n}var Gf;Gf="Browser",ne(new b("auth",((e,{options:t})=>{const n=e.getProvider("app").getImmediate(),r=e.getProvider("heartbeat"),{apiKey:s,authDomain:i}=n.options;return((e,n)=>{ml(s&&!s.includes(":"),"invalid-api-key",{appName:e.name}),ml(!(null==i?void 0:i.includes(":")),"argument-error",{appName:e.name});const r={apiKey:s,authDomain:i,clientPlatform:Gf,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:ad(Gf)},o=new ud(e,n,r);return function(e,t){const n=(null==t?void 0:t.persistence)||[],r=(Array.isArray(n)?n:[n]).map(Il);(null==t?void 0:t.errorMap)&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(r,null==t?void 0:t.popupRedirectResolver)}(o,t),o})(n,r)}),"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback(((e,t,n)=>{e.getProvider("auth-internal").initialize()}))),ne(new b("auth-internal",(e=>(e=>new zf(e))(hd(e.getProvider("auth").getImmediate()))),"PRIVATE").setInstantiationMode("EXPLICIT")),ue(jf,Bf,function(e){switch(e){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";default:return}}(Gf)),ue(jf,Bf,"esm2017");class Wf extends Error{constructor(){super("Avatar not created"),this.name="AvatarNotCreatedError"}}class Qf extends Error{constructor(){super("no frames found"),this.name="NoFramesFoundError"}}class Yf extends Error{constructor(){super("request timeout"),this.name="RequestTimeoutError"}}class Xf extends Error{constructor(){super("user not logged in"),this.name="UserNotLoggedInError"}}class Jf extends Error{constructor(){super("no colorway size assets found"),this.name="NoColorwaySizeAssetsFoundError"}}class Zf extends Error{constructor(){super("no styles found"),this.name="NoStylesFoundError"}}class ep extends Error{constructor(e,t){super("recommended available sizes error"),this.name="RecommendedAvailableSizesError",this.recommended_size=e,this.available_sizes=t}}const tp="avatar not created";var np=Object.freeze({__proto__:null,AvatarNotCreatedError:Wf,NoFramesFoundError:Qf,RequestTimeoutError:Yf,UserNotLoggedInError:Xf,NoColorwaySizeAssetsFoundError:Jf,NoStylesFoundError:Zf,RecommendedAvailableSizesError:ep,AvatarNotCreated:tp});class rp{constructor(e,t){this.firestore=e,this.auth=Hf(t),this.auth.setPersistence(Vd)}get id(){var e;return null===(e=this.user)||void 0===e?void 0:e.uid}onInit(){return new Promise((e=>{const t=this.auth.onAuthStateChanged((n=>{this.setUser(n),e(Boolean(n)),t()}))}))}setUser(e){this.user=e}async getToken(){var e;if(!(null===(e=this.user)||void 0===e?void 0:e.uid))throw new Xf;return await this.user.getIdToken()}async getUserProfile(){var e;if(!(null===(e=this.user)||void 0===e?void 0:e.uid))throw new Xf;const t=await Jh(function(e,t,...n){if(e=I(e),1===arguments.length&&(t=Ys.R()),Xu("doc","path",t),e instanceof sh){const r=ni.fromString(t,...n);return Ju(r),new oh(e,null,new ii(r))}{if(!(e instanceof oh||e instanceof ch))throw new Vs(Fs.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");const r=e._path.child(ni.fromString(t,...n));return Ju(r),new oh(e.firestore,e instanceof ch?e.converter:null,new ii(r))}}(this.firestore,"users",this.id));return t.data()}watchUserProfileForChanges(e,t){let n;const r=Vh(uh(this.firestore,"users"),jh(Th(),"==",this.id)),s=setTimeout((()=>n()),t);return new Promise((t=>{n=tl(r,(async r=>{await e(r)&&(clearTimeout(s),n(),t(r.docs[0].data()))}))}))}async login(e,t){this.auth.currentUser&&await this.auth.signOut();const n=await Md(this.auth,e,t);this.setUser(n.user)}async logout(){await this.auth.signOut(),this.setUser(null)}async sendPasswordResetEmail(e){await Ld(this.auth,e)}async confirmPasswordReset(e,t){await Pd(this.auth,e,t)}}class sp{constructor(){this.promisefyOnSnapshot=(e,t)=>{let n;return{promise:new Promise((r=>{n=tl(e,(e=>{r(e),t&&n()}))})),unsubscribe:()=>n()}};const e=ae(rl.getInstance().firebase);this.firestore=yh(e),this.user=new rp(this.firestore,e)}onInit(){return this.user.onInit()}query(e,t,n=!0){const r=Vh(uh(this.firestore,e),t);return this.promisefyOnSnapshot(r,n)}getDocs(e,t){return el(Vh(uh(this.firestore,e),...t))}}const ip=e=>{if(e.code===hl)throw new Error("account has been disabled");throw new Error(e.message)};class op{static get endpoint(){return rl.getInstance().api.url}static async Fetch({user:e,endpointPath:t,method:n,body:r,useToken:s=!0}){const i=this.getUrl(t,s),o={method:n,headers:await this.getHeaders(e,s),credentials:"include"};r&&(o.body=JSON.stringify(r));const a=await fetch(i,o);if(a.ok)return a;if(500===a.status)throw new Error(a.statusText);const c=await a.json();return Promise.reject(c)}static getUrl(e,t){return t?`${this.endpoint}/v1${e}`:this.endpoint+e}static async getHeaders(e,t){if(!t)return{"Content-Type":"application/json"};return{"Content-Type":"application/json",Authorization:`Bearer ${await e.getToken()}`}}static Get(e,t,n){return this.Fetch({user:e,endpointPath:t,method:"GET",body:null,useToken:n})}static Post(e,t,n=null,r){return this.Fetch({user:e,endpointPath:t,method:"POST",body:n,useToken:r})}static Put(e,t,n,r){return this.Fetch({user:e,endpointPath:t,method:"PUT",body:n,useToken:r})}static Patch(e,t,n,r){return this.Fetch({user:e,endpointPath:t,method:"PATCH",body:n,useToken:r})}static Delete(e,t,n,r){return this.Fetch({user:e,endpointPath:t,method:"DELETE",body:n,useToken:r})}}const ap=e=>{const t=new Image;return t.src=e,new Promise((e=>{t.onerror=()=>e(!1),t.onload=()=>e(!0)}))};class cp{constructor(e,t){this.brandId=e,this.firebase=t;const n=rl.getInstance().config;cp.avatarTimeout=n.avatarTimeout?Number(n.avatarTimeout):12e4,cp.vtoTimeout=n.vtoTimeout?Number(n.vtoTimeout):12e4}get user(){return this.firebase.user}get isLoggedIn(){return!this.firebase||Boolean(this.user.id)}onInit(){return this.firebase.onInit()}async tryOn(e){if(!this.isLoggedIn)throw new Xf;try{return await this.getColorwaySizeAssetFrames(e)}catch(t){if(!(t instanceof Qf))throw t;return this.requestThenGetColorwaySizeAssetFrames(e)}}async awaitAvatarCreated(){if(!this.isLoggedIn)throw new Xf;const{promise:e,unsubscribe:t}=this.firebase.query("users",jh(Th(),"==",this.user.id)),n=setTimeout((()=>{throw t(),new Yf}),cp.avatarTimeout),r=await e;clearTimeout(n);return"CREATED"===r.docs[0].data().avatar_status}async getRecommendedSizes(e){if(!this.isLoggedIn)throw new Xf;try{const t=await op.Get(this.user,`/styles/${e}/recommendation`);return await t.json()}catch(e){if((null==e?void 0:e.error)===tp)throw new Wf;throw e}}async getRecommendedSizesLabels(e){const t=await this.getRecommendedSizes(e);return{recommendedSizeLabel:t.recommended_sizes.label||t.recommended_sizes.size_value.size,availableSizeLabels:t.available_sizes.map((e=>e.label||e.size_value.size))}}async getStyles(e,t){const n=[jh("brand_id","==",this.brandId)];(null==e?void 0:e.length)>0&&n.push(jh("id","in",e)),(null==t?void 0:t.length)>0&&n.push(jh("brand_style_id","in",t));try{const e=await this.firebase.getDocs("styles",n),t=new Map;return e.forEach((e=>{const n=e.data();t.set(n.id,n)})),t}catch(e){return ip(e)}}async submitTelephoneNumber(e){const t=e.replace(/[^\+0-9]/g,""),n=await op.Post(this.user,"/ios-app-link",{phone_number:t},!1);console.log(n)}async awaitColorwaySizeAssetFrames(e){var t,n,r,s;if(!this.isLoggedIn)throw new Xf;const i=await this.user.watchUserProfileForChanges((async t=>{var n,r,s,i;const o=null===(i=null===(s=null===(r=null===(n=t.docs[0].data())||void 0===n?void 0:n.vto)||void 0===r?void 0:r[this.brandId])||void 0===s?void 0:s[e])||void 0===i?void 0:i.frames;return!!(null==o?void 0:o.length)&&ap(o[0])}),cp.vtoTimeout);if(!(null===(s=null===(r=null===(n=null===(t=null==i?void 0:i.vto)||void 0===t?void 0:t[this.brandId])||void 0===n?void 0:n[e])||void 0===r?void 0:r.frames)||void 0===s?void 0:s.length))throw new Qf;return i.vto[this.brandId][e].frames}async requestThenGetColorwaySizeAssetFrames(e){var t,n;const[r,s]=await(i=this.getColorwaySizeAssetFromSku(e),i.then((e=>[null,e])).catch((e=>[e])));var i;if(r)throw r;try{return await this.requestColorwaySizeAssetFrames(s.id),this.awaitColorwaySizeAssetFrames(e)}catch(r){if((null==r?void 0:r.error)===tp)throw new Wf;if(!r.recommended_size_id)throw new Error(r);const e=r,i=(await this.getStyles([s.style_id],null)).get(s.style_id);if(!(null==i?void 0:i.sizes))throw new Zf;const o=(null===(t=i.sizes[e.recommended_size_id])||void 0===t?void 0:t.label)||(null===(n=i.sizes[e.recommended_size_id])||void 0===n?void 0:n.size),a=e.available_size_ids.filter((e=>{var t;return(null===(t=i.sizes[e])||void 0===t?void 0:t.size)!==o})).map((e=>{var t,n;return(null===(t=i.sizes[e])||void 0===t?void 0:t.label)||(null===(n=i.sizes[e])||void 0===n?void 0:n.size)}));throw new ep(o,a)}}async getColorwaySizeAssetFromSku(e){const t=await this.getColorwaySizeAssets(null,[e]);if(!(null==t?void 0:t.size))throw new Jf;return Array.from(t.values())[0]}async getColorwaySizeAssets(e,t){const n=[jh("brand_id","==",this.brandId)];e&&n.push(jh("style_id","==",e)),(null==t?void 0:t.length)>0&&n.push(jh("sku","in",t));try{const e=await this.firebase.getDocs("colorway_size_assets",n),t=new Map;return e.forEach((e=>{const n=e.data();t.set(n.id,n)})),t}catch(e){return ip(e)}}async requestColorwaySizeAssetFrames(e){if(!this.isLoggedIn)throw new Xf;await op.Post(this.user,`/colorway-size-assets/${e}/frames`)}async getColorwaySizeAssetFrames(e){var t,n,r;const s=await this.user.getUserProfile(),i=(null===(r=null===(n=null===(t=null==s?void 0:s.vto)||void 0===t?void 0:t[this.brandId])||void 0===n?void 0:n[e])||void 0===r?void 0:r.frames)||[];if(!i.length)throw new Qf;if(!await ap(i[0]))throw new Qf;return i}}cp.avatarTimeout=12e4,cp.vtoTimeout=12e4;const up=(e,t="dev")=>("dev"!==t&&"development"!==t||console.warn("TfrShop is in development mode"),rl.getInstance().setEnv(t),new cp(e,new sp));var hp,lp=Object.freeze({__proto__:null}),dp=Object.freeze({__proto__:null});!function(e){e.NOT_CREATED="NOT_CREATED",e.CREATED="CREATED",e.PENDING="PENDING"}(hp||(hp={}));var fp=Object.freeze({__proto__:null,get AvatarState(){return hp}});const pp=cp.vtoTimeout;export{np as Errors,pp as VTO_TIMEOUT_MS,up as initShop,lp as requests,dp as responses,fp as types};
|
|
3167
3167
|
//# sourceMappingURL=index.min.js.map
|