PageSourceSearch

https://crowdbunker.com/js/vendor-firebase-6bc75065.22f1071e.js

js crowdbunker.com collected 2026-09-25 02:29:54 UTC 61,899 bytes, 699 lines download raw bytes

1"use strict";(self["webpackChunkcrowdbunker"]=self["webpackChunkcrowdbunker"]||[]).push([[2656],{78461:function(t,e,n){n.d(e,{KO:function(){return W},Sx:function(){return G},Wp:function(){return V},j6:function(){return x},om:function(){return B}});var i=n(5125),a=n(63424),s=n(36743),r=n(4297);
2/**
3 * @license
4 * Copyright 2019 Google LLC
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *   http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18class o{constructor(t){this.container=t}getPlatformInfoString(){const t=this.container.getProviders();return t.map(t=>{if(c(t)){const e=t.getImmediate();return`${e.library}/${e.version}`}return null}).filter(t=>t).join(" ")}}function c(t){const e=t.getComponent();return"VERSION"===(null===e||void 0===e?void 0:e.type)}const l="@firebase/app",h="0.9.29",u=new a.Vy("@firebase/app"),f="@firebase/app-compat",g="@firebase/analytics-compat",d="@firebase/analytics",p="@firebase/app-check-compat",m="@firebase/app-check",w="@firebase/auth",b="@firebase/auth-compat",v="@firebase/database",C="@firebase/database-compat",I="@firebase/functions",_="@firebase/functions-compat",y="@firebase/installations",S="@firebase/installations-compat",E="@firebase/messaging",T="@firebase/messaging-compat",D="@firebase/performance",O="@firebase/performance-compat",k="@firebase/remote-config",M="@firebase/remote-config-compat",P="@firebase/storage",F="@firebase/storage-compat",A="@firebase/firestore",L="@firebase/firestore-compat",$="firebase",N="[DEFAULT]",j={[l]:"fire-core",[f]:"fire-core-compat",[d]:"fire-analytics",[g]:"fire-analytics-compat",[m]:"fire-app-check",[p]:"fire-app-check-compat",[w]:"fire-auth",[b]:"fire-auth-compat",[v]:"fire-rtdb",[C]:"fire-rtdb-compat",[I]:"fire-fn",[_]:"fire-fn-compat",[y]:"fire-iid",[S]:"fire-iid-compat",[E]:"fire-fcm",[T]:"fire-fcm-compat",[D]:"fire-perf",[O]:"fire-perf-compat",[k]:"fire-rc",[M]:"fire-rc-compat",[P]:"fire-gcs",[F]:"fire-gcs-compat",[A]:"fire-fst",[L]:"fire-fst-compat","fire-js":"fire-js",[$]:"fire-js-all"},R=new Map,H=new Map;function z(t,e){try{t.container.addComponent(e)}catch(n){u.debug(`Component ${e.name} failed to register with FirebaseApp ${t.name}`,n)}}function B(t){const e=t.name;if(H.has(e))return u.debug(`There were multiple attempts to register component ${e}.`),!1;H.set(e,t);for(const n of R.values())z(n,t);return!0}function x(t,e){const n=t.container.getProvider("heartbeat").getImmediate({optional:!0});return n&&n.triggerHeartbeat(),t.container.getProvider(e)}
19/**
20 * @license
21 * Copyright 2019 Google LLC
22 *
23 * Licensed under the Apache License, Version 2.0 (the "License");
24 * you may not use this file except in compliance with the License.
25 * You may obtain a copy of the License at
26 *
27 *   http://www.apache.org/licenses/LICENSE-2.0
28 *
29 * Unless required by applicable law or agreed to in writing, software
30 * distributed under the License is distributed on an "AS IS" BASIS,
31 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32 * See the License for the specific language governing permissions and
33 * limitations under the License.
34 */
35const K={["no-app"]:"No Firebase App '{$appName}' has been created - call initializeApp() first",["bad-app-name"]:"Illegal App name: '{$appName}",["duplicate-app"]:"Firebase App named '{$appName}' already exists with different options or config",["app-deleted"]:"Firebase App named '{$appName}' already deleted",["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}."}
35,U=new s.FA("app","Firebase",K);
36/**
37 * @license
38 * Copyright 2019 Google LLC
39 *
40 * Licensed under the Apache License, Version 2.0 (the "License");
41 * you may not use this file except in compliance with the License.
42 * You may obtain a copy of the License at
43 *
44 *   http://www.apache.org/licenses/LICENSE-2.0
45 *
46 * Unless required by applicable law or agreed to in writing, software
47 * distributed under the License is distributed on an "AS IS" BASIS,
48 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
49 * See the License for the specific language governing permissions and
50 * limitations under the License.
51 */
52class q{constructor(t,e,n){this._isDeleted=!1,this._options=Object.assign({},t),this._config=Object.assign({},e),this._name=e.name,this._automaticDataCollectionEnabled=e.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new i.uA("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(t){this.checkDestroyed(),this._automaticDataCollectionEnabled=t}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(t){this._isDeleted=t}checkDestroyed(){if(this.isDeleted)throw U.create("app-deleted",{appName:this._name})}}
53/**
54 * @license
55 * Copyright 2019 Google LLC
56 *
57 * Licensed under the Apache License, Version 2.0 (the "License");
58 * you may not use this file except in compliance with the License.
59 * You may obtain a copy of the License at
60 *
61 *   http://www.apache.org/licenses/LICENSE-2.0
62 *
63 * Unless required by applicable law or agreed to in writing, software
64 * distributed under the License is distributed on an "AS IS" BASIS,
65 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
66 * See the License for the specific language governing permissions and
67 * limitations under the License.
68 */function V(t,e={}){let n=t;if("object"!==typeof e){const t=e;e={name:t}}const a=Object.assign({name:N,automaticDataCollectionEnabled:!1},e),r=a.name;if("string"!==typeof r||!r)throw U.create("bad-app-name",{appName:String(r)});if(n||(n=(0,s.T9)()),!n)throw U.create("no-options");const o=R.get(r);if(o){if((0,s.bD)(n,o.options)&&(0,s.bD)(a,o.config))return o;throw U.create("duplicate-app",{appName:r})}const c=new i.h1(r);for(const i of H.values())c.addComponent(i);const l=new q(n,a,c);return R.set(r,l),l}function G(t=N){const e=R.get(t);if(!e&&t===N&&(0,s.T9)())return V();if(!e)throw U.create("no-app",{appName:t});return e}function W(t,e,n){var a;let s=null!==(a=j[t])&&void 0!==a?a:t;n&&(s+=`-${n}`);const r=s.match(/\s|\//),o=e.match(/\s|\//);if(r||o){const t=[`Unable to register library "${s}" with version "${e}":`];return r&&t.push(`library name "${s}" contains illegal characters (whitespace or "/")`),r&&o&&t.push("and"),o&&t.push(`version name "${e}" contains illegal characters (whitespace or "/")`),void u.warn(t.join(" "))}B(new i.uA(`${s}-version`,()=>({library:s,version:e}),"VERSION"))}
69/**
70 * @license
71 * Copyright 2021 Google LLC
72 *
73 * Licensed under the Apache License, Version 2.0 (the "License");
74 * you may not use this file except in compliance with the License.
75 * You may obtain a copy of the License at
76 *
77 *   http://www.apache.org/licenses/LICENSE-2.0
78 *
79 * Unless required by applicable law or agreed to in writing, software
80 * distributed under the License is distributed on an "AS IS" BASIS,
81 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
82 * See the License for the specific language governing permissions and
83 * limitations under the License.
84 */
85const J="firebase-heartbeat-database",Y=1,X="firebase-heartbeat-store";let Q=null;function Z(){return Q||(Q=(0,r.P2)(J,Y,{upgrade:(t,e)=>{switch(e){case 0:try{t.createObjectStore(X)}catch(n){console.warn(n)}}}}).catch(t=>{throw U.create("idb-open",{originalErrorMessage:t.message})})),Q}async function tt(t){try{const e=await Z(),n=e.transaction(X),i=await n.objectStore(X).get(nt(t));return await n.done,i}catch(e){if(e instanceof s.g)u.warn(e.message);else{const t=U.create("idb-get",{originalErrorMessage:null===e||void 0===e?void 0:e.message});u.warn(t.message)}}}async function et(t,e){try{const n=await Z(),i=n.transaction(X,"readwrite"),a=i.objectStore(X);await a.put(e,nt(t)),await i.done}catch(n){if(n instanceof s.g)u.warn(n.message);else{const t=U.create("idb-set",{originalErrorMessage:null===n||void 0===n?void 0:n.message});u.warn(t.message)}}}function nt(t){return`${t.name}!${t.options.appId}`}
86/**
87 * @license
88 * Copyright 2021 Google LLC
89 *
90 * Licensed under the Apache License, Version 2.0 (the "License");
91 * you may not use this file except in compliance with the License.
92 * You may obtain a copy of the License at
93 *
94 *   http://www.apache.org/licenses/LICENSE-2.0
95 *
96 * Unless required by applicable law or agreed to in writing, software
97 * distributed under the License is distributed on an "AS IS" BASIS,
98 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
99 * See the License for the specific language governing permissions and
100 * limitations under the License.
101 */const it=1024,at=2592e6;class st{constructor(t){this.container=t,this._heartbeatsCache=null;const e=this.container.getProvider("app").getImmediate();this._storage=new ct(e),this._heartbeatsCachePromise=this._storage.read().then(t=>(this._heartbeatsCache=t,t))}async triggerHeartbeat(){var t,e;const n=this.container.getProvider("platform-logger").getImmediate(),i=n.getPlatformInfoString(),a=rt();if((null!=(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)||(this._heartbeatsCache=await this._heartbeatsCachePromise,null!=(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)))&&this._heartbeatsCache.lastSentHeartbeatDate!==a&&!this._heartbeatsCache.heartbeats.some(t=>t.date===a))return this._heartbeatsCache.heartbeats.push({date:a,agent:i}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter(t=>{const e=new Date(t.date).valueOf(),n=Date.now();return n-e<=at}),this._storage.overwrite(this._heartbeatsCache)}async getHeartbeatsHeader(){var t;if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const e=rt(),{heartbeatsToSend:n,unsentEntries:i}=ot(this._heartbeatsCache.heartbeats),a=(0,s.Uj)(JSON.stringify({version:2,heartbeats:n}));return this._heartbeatsCache.lastSentHeartbeatDate=e,i.length>0?(this._heartbeatsCache.heartbeats=i,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}}function rt(){const t=new Date;return t.toISOString().substring(0,10)}function ot(t,e=it){const n=[];let i=t.slice();for(const a of t){const t=n.find(t=>t.agent===a.agent);if(t){if(t.dates.push(a.date),lt(n)>e){t.dates.pop();break}}else if(n.push({agent:a.agent,dates:[a.date]}),lt(n)>e){n.pop();break}i=i.slice(1)}return{heartbeatsToSend:n,unsentEntries:i}}class ct{constructor(t){this.app=t,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!(0,s.zW)()&&(0,s.eX)().then(()=>!0).catch(()=>!1)}async read(){const t=await this._canUseIndexedDBPromise;if(t){const t=await tt(this.app);return(null===t||void 0===t?void 0:t.heartbeats)?t:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(t){var e;const n=await this._canUseIndexedDBPromise;if(n){const n=await this.read();return et(this.app,{lastSentHeartbeatDate:null!==(e=t.lastSentHeartbeatDate)&&void 0!==e?e:n.lastSentHeartbeatDate,heartbeats:t.heartbeats})}}async add(t){var e;const n=await this._canUseIndexedDBPromise;if(n){const n=await this.read();return et(this.app,{lastSentHeartbeatDate:null!==(e=t.lastSentHeartbeatDate)&&void 0!==e?e:n.lastSentHeartbeatDate,heartbeats:[...n.heartbeats,...t.heartbeats]})}}}function lt(t){return(0,s.Uj)(JSON.stringify({version:2,heartbeats:t})).length}
102/**
103 * @license
104 * Copyright 2019 Google LLC
105 *
106 * Licensed under the Apache License, Version 2.0 (the "License");
107 * you may not use this file except in compliance with the License.
108 * You may obtain a copy of the License at
109 *
110 *   http://www.apache.org/licenses/LICENSE-2.0
111 *
112 * Unless required by applicable law or agreed to in writing, software
113 * distributed under the License is distributed on an "AS IS" BASIS,
114 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
115 * See the License for the specific language governing permissions and
116 * limitations under the License.
117 */function ht(t){B(new i.uA("platform-logger",t=>new o(t),"PRIVATE")),B(new i.uA("heartbeat",t=>new st(t),"PRIVATE")),W(l,h,t),W(l,h,"esm2017"),W("fire-js","")}ht("")},5125:function(t,e,n){n.d(e,{h1:function(){return l},uA:function(){return a}});var i=n(36743);class a{constructor(t,e,n){this.name=t,this.instanceFactory=e,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(t){return this.instantiationMode=t,this}setMultipleInstances(t){return this.multipleInstances=t,this}setServiceProps(t){return this.serviceProps=t,this}setInstanceCreatedCallback(t){return this.onInstanceCreated=t,this}}
118/**
119 * @license
120 * Copyright 2019 Google LLC
121 *
122 * Licensed under the Apache License, Version 2.0 (the "License");
123 * you may not use this file except in compliance with the License.
124 * You may obtain a copy of the License at
125 *
126 *   http://www.apache.org/licenses/LICENSE-2.0
127 *
128 * Unless required by applicable law or agreed to in writing, software
129 * distributed under the License is distributed on an "AS IS" BASIS,
130 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
131 * See the License for the specific language governing permissions and
132 * limitations under the License.
133 */const s="[DEFAULT]";
134/**
135 * @license
136 * Copyright 2019 Google LLC
137 *
138 * Licensed under the Apache License, Version 2.0 (the "License");
139 * you may not use this file except in compliance with the License.
140 * You may obtain a copy of the License at
141 *
142 *   http://www.apache.org/licenses/LICENSE-2.0
143 *
144 * Unless required by applicable law or agreed to in writing, software
145 * distributed under the License is distributed on an "AS IS" BASIS,
146 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
147 * See the License for the specific language governing permissions and
148 * limitations under the License.
149 */class r{constructor(t,e){this.name=t,this.container=e,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(t){const e=this.normalizeInstanceIdentifier(t);if(!this.instancesDeferred.has(e)){const t=new i.cY;if(this.instancesDeferred.set(e,t),this.isInitialized(e)||this.shouldAutoInitialize())try{const n=this.getOrInitializeService({instanceIdentifier:e});n&&t.resolve(n)}catch(n){}}return this.instancesDeferred.get(e).promise}getImmediate(t){var e;const n=this.normalizeInstanceIdentifier(null===t||void 0===t?void 0:t.identifier),i=null!==(e=null===t||void 0===t?void 0:t.optional)&&void 0!==e&&e;if(!this.isInitialized(n)&&!this.shouldAutoInitialize()){if(i)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:n})}catch(a){if(i)return null;throw a}}getComponent(){return this.component}setComponent(t){if(t.name!==this.name)throw Error(`Mismatching Component ${t.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=t,this.shouldAutoInitialize()){if(c(t))try{this.getOrInitializeService({instanceIdentifier:s})}catch(e){}for(const[t,n]of this.instancesDeferred.entries()){const i=this.normalizeInstanceIdentifier(t);try{const t=this.getOrInitializeService({instanceIdentifier:i});n.resolve(t)}catch(e){}}}}clearInstance(t=s){this.instancesDeferred.delete(t),this.instancesOptions.delete(t),this.instances.delete(t)}async delete(){const t=Array.from(this.instances.values());await Promise.all([...t.filter(t=>"INTERNAL"in t).map(t=>t.INTERNAL.delete()),...t.filter(t=>"_delete"in t).map(t=>t._delete())])}isComponentSet(){return null!=this.component}isInitialized(t=s){return this.instances.has(t)}getOptions(t=s){return this.instancesOptions.get(t)||{}}initialize(t={}){const{options:e={}}=t,n=this.normalizeInstanceIdentifier(t.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 i=this.getOrInitializeService({instanceIdentifier:n,options:e});for(const[a,s]of this.instancesDeferred.entries()){const t=this.normalizeInstanceIdentifier(a);n===t&&s.resolve(i)}return i}onInit(t,e){var n;const i=this.normalizeInstanceIdentifier(e),a=null!==(n=this.onInitCallbacks.get(i))&&void 0!==n?n:new Set;a.add(t),this.onInitCallbacks.set(i,a);const s=this.instances.get(i);return s&&t(s,i),()=>{a.delete(t)}}invokeOnInitCallbacks(t,e){const n=this.onInitCallbacks.get(e);if(n)for(const a of n)try{a(t,e)}catch(i){}}getOrInitializeService({instanceIdentifier:t,options:e={}}){let n=this.instances.get(t);if(!n&&this.component&&(n=this.component.instanceFactory(this.container,{instanceIdentifier:o(t),options:e}),this.instances.set(t,n),this.instancesOptions.set(t,e),this.invokeOnInitCallbacks(n,t),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,t,n)}catch(i){}return n||null}normalizeInstanceIdentifier(t=s){return this.component?this.component.multipleInstances?t:s:t}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function o(t){return t===s?void 0:t}function c(t){return"EAGER"===t.instantiationMode}
150/**
151 * @license
152 * Copyright 2019 Google LLC
153 *
154 * Licensed under the Apache License, Version 2.0 (the "License");
155 * you may not use this file except in compliance with the License.
156 * You may obtain a copy of the License at
157 *
158 *   http://www.apache.org/licenses/LICENSE-2.0
159 *
160 * Unless required by applicable law or agreed to in writing, software
161 * distributed under the License is distributed on an "AS IS" BASIS,
162 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
163 * See the License for the specific language governing permissions and
164 * limitations under the License.
165 */class l{constructor(t){this.name=t,this.providers=new Map}addComponent(t){const e=this.getProvider(t.name);if(e.isComponentSet())throw new Error(`Component ${t.name} has already been registered with ${this.name}`);e.setComponent(t)}addOrOverwriteComponent(t){const e=this.getProvider(t.name);e.isComponentSet()&&this.providers.delete(t.name),this.addComponent(t)}getProvider(t){if(this.providers.has(t))return this.providers.get(t);const e=new r(t,this);return this.providers.set(t,e),e}getProviders(){return Array.from(this.providers.values())}}},63424:function(t,e,n){n.d(e,{$b:function(){return a},Vy:function(){return l}});
166/**
167 * @license
168 * Copyright 2017 Google LLC
169 *
170 * Licensed under the Apache License, Version 2.0 (the "License");
171 * you may not use this file except in compliance with the License.
172 * You may obtain a copy of the License at
173 *
174 *   http://www.apache.org/licenses/LICENSE-2.0
175 *
176 * Unless required by applicable law or agreed to in writing, software
177 * distributed under the License is distributed on an "AS IS" BASIS,
178 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
179 * See the License for the specific language governing permissions and
180 * limitations under the License.
181 */
182const i=[];var a;(function(t){t[t["DEBUG"]=0]="DEBUG",t[t["VERBOSE"]=1]="VERBOSE",t[t["INFO"]=2]="INFO",t[t["WARN"]=3]="WARN",t[t["ERROR"]=4]="ERROR",t[t["SILENT"]=5]="SILENT"})(a||(a={}));const s={debug:a.DEBUG,verbose:a.VERBOSE,info:a.INFO,warn:a.WARN,error:a.ERROR,silent:a.SILENT},r=a.INFO,o={[a.DEBUG]:"log",[a.VERBOSE]:"log",[a.INFO]:"info",[a.WARN]:"warn",[a.ERROR]:"error"},c=(t,e,...n)=>{if(e<t.logLevel)return;const i=(new Date).toISOString(),a=o[e];if(!a)throw new Error(`Attempted to log a message with an invalid logType (value: ${e})`);console[a](`[${i}]  ${t.name}:`,...n)};class l{constructor(t){this.name=t,this._logLevel=r,this._logHandler=c,this._userLogHandler=null,i.push(this)}get logLevel(){return this._logLevel}set logLevel(t){if(!(t in a))throw new TypeError(`Invalid value "${t}" assigned to \`logLevel\``);this._logLevel=t}setLogLevel(t){this._logLevel="string"===typeof t?s[t]:t}get logHandler(){return this._logHandler}set logHandler(t){if("function"!==typeof t)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=t}get userLogHandler(){return this._userLogHandler}set userLogHandler(t){this._userLogHandler=t}debug(...t){this._userLogHandler&&this._userLogHandler(this,a.DEBUG,...t),this._logHandler(this,a.DEBUG,...t)}log(...t){this._userLogHandler&&this._userLogHandler(this,a.VERBOSE,...t),this._logHandler(this,a.VERBOSE,...t)}info(...t){this._userLogHandler&&this._userLogHandler(this,a.INFO,...t),this._logHandler(this,a.INFO,...t)}warn(...t){this._userLogHandler&&this._userLogHandler(this,a.WARN,...t),this._logHandler(this,a.WARN,...t)}error(...t){this._userLogHandler&&this._userLogHandler(this,a.ERROR,...t),this._logHandler(this,a.ERROR,...t)}}},70223:function(t,e,n){n.d(e,{Wp:function(){return i.Wp}});var i=n(78461),a="firebase",s="10.9.0";
183/**
184 * @license
185 * Copyright 2020 Google LLC
186 *
187 * Licensed under the Apache License, Version 2.0 (the "License");
188 * you may not use this file except in compliance with the License.
189 * You may obtain a copy of the License at
190 *
191 *   http://www.apache.org/licenses/LICENSE-2.0
192 *
193 * Unless required by applicable law or agreed to in writing, software
194 * distributed under the License is distributed on an "AS IS" BASIS,
195 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
196 * See the License for the specific language governing permissions and
197 * limitations under the License.
198 */
199/**
200 * @license
201 * Copyright 2020 Google LLC
202 *
203 * Licensed under the Apache License, Version 2.0 (the "License");
204 * you may not use this file except in compliance with the License.
205 * You may obtain a copy of the License at
206 *
207 *   http://www.apache.org/licenses/LICENSE-2.0
208 *
209 * Unless required by applicable law or agreed to in writing, software
210 * distributed under the License is distributed on an "AS IS" BASIS,
211 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
212 * See the License for the specific language governing permissions and
213 * limitations under the License.
214 */
215(0,i.KO)(a,s,"app")},22405:function(t,e,n){n.d(e,{P:function(){return i.P},_M:function(){return i._M},doc:function(){return i.H9},getFirestore:function(){return i.aU},onSnapshot:function(){return i.aQ},rJ:function(){return i.rJ}});var i=n(15790)},47782:function(t,e,n){n.d(e,{fetchAndActivate:function(){return re},getRemoteConfig:function(){return Rt},getValue:function(){return xt}});var i=n(78461),a=n(36743),s=n(5125),r=n(63424),o=n(4297);const c="@firebase/installations",l="0.6.5",h=1e4,u=`w:${l}`,f="FIS_v2",g="https://firebaseinstallations.googleapis.com/v1",d=36e5,p="installations",m="Installations",w={["missing-app-config-values"]:'Missing App configuration value: "{$valueName}"',["not-registered"]:"Firebase Installation is not registered.",["installation-not-found"]:"Firebase Installation not found.",["request-failed"]:'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',["app-offline"]:"Could not process request. Application offline.",["delete-pending-registration"]:"Can't delete installation while there is a pending registration request."},b=new a.FA(p,m,w);function v(t){return t instanceof a.g&&t.code.includes("request-failed")}
216/**
217 * @license
218 * Copyright 2019 Google LLC
219 *
220 * Licensed under the Apache License, Version 2.0 (the "License");
221 * you may not use this file except in compliance with the License.
222 * You may obtain a copy of the License at
223 *
224 *   http://www.apache.org/licenses/LICENSE-2.0
225 *
226 * Unless required by applicable law or agreed to in writing, software
227 * distributed under the License is distributed on an "AS IS" BASIS,
228 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
229 * See the License for the specific language governing permissions and
230 * limitations under the License.
231 */function C({projectId:t}){return`${g}/projects/${t}/installations`}function I(t){return{token:t.token,requestStatus:2,expiresIn:T(t.expiresIn),creationTime:Date.now()}}async function _(t,e){const n=await e.json(),i=n.error;return b.create("request-failed",{requestName:t,serverCode:i.code,serverMessage:i.message,serverStatus:i.status})}function y({apiKey:t}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":t})}function S(t,{refreshToken:e}){const n=y(t);return n.append("Authorization",D(e)),n}async function E(t){const e=await t();return e.status>=500&&e.status<600?t():e}function T(t){return Number(t.replace("s","000"))}function D(t){return`${f} ${t}`}
232/**
233 * @license
234 * Copyright 2019 Google LLC
235 *
236 * Licensed under the Apache License, Version 2.0 (the "License");
237 * you may not use this file except in compliance with the License.
238 * You may obtain a copy of the License at
239 *
240 *   http://www.apache.org/licenses/LICENSE-2.0
241 *
242 * Unless required by applicable law or agreed to in writing, software
243 * distributed under the License is distributed on an "AS IS" BASIS,
244 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
245 * See the License for the specific language governing permissions and
246 * limitations under the License.
247 */async function O({appConfig:t,heartbeatServiceProvider:e},{fid:n}){const i=C(t),a=y(t),s=e.getImmediate({optional:!0});if(s){const t=await s.getHeartbeatsHeader();t&&a.append("x-firebase-client",t)}const r={fid:n,authVersion:f,appId:t.appId,sdkVersion:u},o={method:"POST",headers:a,body:JSON.stringify(r)},c=await E(()=>fetch(i,o));if(c.ok){const t=await c.json(),e={fid:t.fid||n,registrationStatus:2,refreshToken:t.refreshToken,authToken:I(t.authToken)};return e}throw await _("Create Installation",c)}
248/**
249 * @license
250 * Copyright 2019 Google LLC
251 *
252 * Licensed under the Apache License, Version 2.0 (the "License");
253 * you may not use this file except in compliance with the License.
254 * You may obtain a copy of the License at
255 *
256 *   http://www.apache.org/licenses/LICENSE-2.0
257 *
258 * Unless required by applicable law or agreed to in writing, software
259 * distributed under the License is distributed on an "AS IS" BASIS,
260 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
261 * See the License for the specific language governing permissions and
262 * limitations under the License.
263 */function k(t){return new Promise(e=>{setTimeout(e,t)})}
264/**
265 * @license
266 * Copyright 2019 Google LLC
267 *
268 * Licensed under the Apache License, Version 2.0 (the "License");
269 * you may not use this file except in compliance with the License.
270 * You may obtain a copy of the License at
271 *
272 *   http://www.apache.org/licenses/LICENSE-2.0
273 *
274 * Unless required by applicable law or agreed to in writing, software
275 * distributed under the License is distributed on an "AS IS" BASIS,
276 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
277 * See the License for the specific language governing permissions and
278 * limitations under the License.
279 */function M(t){const e=btoa(String.fromCharCode(...t));return e.replace(/\+/g,"-").replace(/\//g,"_")}
280/**
281 * @license
282 * Copyright 2019 Google LLC
283 *
284 * Licensed under the Apache License, Version 2.0 (the "License");
285 * you may not use this file except in compliance with the License.
286 * You may obtain a copy of the License at
287 *
288 *   http://www.apache.org/licenses/LICENSE-2.0
289 *
290 * Unless required by applicable law or agreed to in writing, software
291 * distributed under the License is distributed on an "AS IS" BASIS,
292 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
293 * See the License for the specific language governing permissions and
294 * limitations under the License.
295 */const P=/^[cdef][\w-]{21}$/,F="";function A(){try{const t=new Uint8Array(17),e=self.crypto||self.msCrypto;e.getRandomValues(t),t[0]=112+t[0]%16;const n=L(t);return P.test(n)?n:F}catch(t){return F}}function L(t){const e=M(t);return e.substr(0,22)}
296/**
297 * @license
298 * Copyright 2019 Google LLC
299 *
300 * Licensed under the Apache License, Version 2.0 (the "License");
301 * you may not use this file except in compliance with the License.
302 * You may obtain a copy of the License at
303 *
304 *   http://www.apache.org/licenses/LICENSE-2.0
305 *
306 * Unless required by applicable law or agreed to in writing, software
307 * distributed under the License is distributed on an "AS IS" BASIS,
308 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
309 * See the License for the specific language governing permissions and
310 * limitations under the License.
311 */function $(t){return`${t.appName}!${t.appId}`}
312/**
313 * @license
314 * Copyright 2019 Google LLC
315 *
316 * Licensed under the Apache License, Version 2.0 (the "License");
317 * you may not use this file except in compliance with the License.
318 * You may obtain a copy of the License at
319 *
320 *   http://www.apache.org/licenses/LICENSE-2.0
321 *
322 * Unless required by applicable law or agreed to in writing, software
323 * distributed under the License is distributed on an "AS IS" BASIS,
324 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
325 * See the License for the specific language governing permissions and
326 * limitations under the License.
327 */const N=new Map;function j(t,e){const n=$(t);R(n,e),H(n,e)}function R(t,e){const n=N.get(t);if(n)for(const i of n)i(e)}function H(t,e){const n=B();n&&n.postMessage({key:t,fid:e}),x()}let z=null;function B(){return!z&&"BroadcastChannel"in self&&(z=new BroadcastChannel("[Firebase] FID Change"),z.onmessage=t=>{R(t.data.key,t.data.fid)}),z}function x(){0===N.size&&z&&(z.close(),z=null)}
328/**
329 * @license
330 * Copyright 2019 Google LLC
331 *
332 * Licensed under the Apache License, Version 2.0 (the "License");
333 * you may not use this file except in compliance with the License.
334 * You may obtain a copy of the License at
335 *
336 *   http://www.apache.org/licenses/LICENSE-2.0
337 *
338 * Unless required by applicable law or agreed to in writing, software
339 * distributed under the License is distributed on an "AS IS" BASIS,
340 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
341 * See the License for the specific language governing permissions and
342 * limitations under the License.
343 */const K="firebase-installations-database",U=1,q="firebase-installations-store";let V=null;function G(){return V||(V=(0,o.P2)(K,U,{upgrade:(t,e)=>{switch(e){case 0:t.createObjectStore(q)}}})),V}async function W(t,e){const n=$(t),i=await G(),a=i.transaction(q,"readwrite"),s=a.objectStore(q),r=await s.get(n);
343return await s.put(e,n),await a.done,r&&r.fid===e.fid||j(t,e.fid),e}async function J(t){const e=$(t),n=await G(),i=n.transaction(q,"readwrite");await i.objectStore(q).delete(e),await i.done}async function Y(t,e){const n=$(t),i=await G(),a=i.transaction(q,"readwrite"),s=a.objectStore(q),r=await s.get(n),o=e(r);return void 0===o?await s.delete(n):await s.put(o,n),await a.done,!o||r&&r.fid===o.fid||j(t,o.fid),o}
344/**
345 * @license
346 * Copyright 2019 Google LLC
347 *
348 * Licensed under the Apache License, Version 2.0 (the "License");
349 * you may not use this file except in compliance with the License.
350 * You may obtain a copy of the License at
351 *
352 *   http://www.apache.org/licenses/LICENSE-2.0
353 *
354 * Unless required by applicable law or agreed to in writing, software
355 * distributed under the License is distributed on an "AS IS" BASIS,
356 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
357 * See the License for the specific language governing permissions and
358 * limitations under the License.
359 */async function X(t){let e;const n=await Y(t.appConfig,n=>{const i=Q(n),a=Z(t,i);return e=a.registrationPromise,a.installationEntry});return n.fid===F?{installationEntry:await e}:{installationEntry:n,registrationPromise:e}}function Q(t){const e=t||{fid:A(),registrationStatus:0};return it(e)}function Z(t,e){if(0===e.registrationStatus){if(!navigator.onLine){const t=Promise.reject(b.create("app-offline"));return{installationEntry:e,registrationPromise:t}}const n={fid:e.fid,registrationStatus:1,registrationTime:Date.now()},i=tt(t,n);return{installationEntry:n,registrationPromise:i}}return 1===e.registrationStatus?{installationEntry:e,registrationPromise:et(t)}:{installationEntry:e}}async function tt(t,e){try{const n=await O(t,e);return W(t.appConfig,n)}catch(n){throw v(n)&&409===n.customData.serverCode?await J(t.appConfig):await W(t.appConfig,{fid:e.fid,registrationStatus:0}),n}}async function et(t){let e=await nt(t.appConfig);while(1===e.registrationStatus)await k(100),e=await nt(t.appConfig);if(0===e.registrationStatus){const{installationEntry:e,registrationPromise:n}=await X(t);return n||e}return e}function nt(t){return Y(t,t=>{if(!t)throw b.create("installation-not-found");return it(t)})}function it(t){return at(t)?{fid:t.fid,registrationStatus:0}:t}function at(t){return 1===t.registrationStatus&&t.registrationTime+h<Date.now()}
360/**
361 * @license
362 * Copyright 2019 Google LLC
363 *
364 * Licensed under the Apache License, Version 2.0 (the "License");
365 * you may not use this file except in compliance with the License.
366 * You may obtain a copy of the License at
367 *
368 *   http://www.apache.org/licenses/LICENSE-2.0
369 *
370 * Unless required by applicable law or agreed to in writing, software
371 * distributed under the License is distributed on an "AS IS" BASIS,
372 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
373 * See the License for the specific language governing permissions and
374 * limitations under the License.
375 */async function st({appConfig:t,heartbeatServiceProvider:e},n){const i=rt(t,n),a=S(t,n),s=e.getImmediate({optional:!0});if(s){const t=await s.getHeartbeatsHeader();t&&a.append("x-firebase-client",t)}const r={installation:{sdkVersion:u,appId:t.appId}},o={method:"POST",headers:a,body:JSON.stringify(r)},c=await E(()=>fetch(i,o));if(c.ok){const t=await c.json(),e=I(t);return e}throw await _("Generate Auth Token",c)}function rt(t,{fid:e}){return`${C(t)}/${e}/authTokens:generate`}
376/**
377 * @license
378 * Copyright 2019 Google LLC
379 *
380 * Licensed under the Apache License, Version 2.0 (the "License");
381 * you may not use this file except in compliance with the License.
382 * You may obtain a copy of the License at
383 *
384 *   http://www.apache.org/licenses/LICENSE-2.0
385 *
386 * Unless required by applicable law or agreed to in writing, software
387 * distributed under the License is distributed on an "AS IS" BASIS,
388 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
389 * See the License for the specific language governing permissions and
390 * limitations under the License.
391 */async function ot(t,e=!1){let n;const i=await Y(t.appConfig,i=>{if(!ut(i))throw b.create("not-registered");const a=i.authToken;if(!e&&ft(a))return i;if(1===a.requestStatus)return n=ct(t,e),i;{if(!navigator.onLine)throw b.create("app-offline");const e=dt(i);return n=ht(t,e),e}}),a=n?await n:i.authToken;return a}
391async function ct(t,e){let n=await lt(t.appConfig);while(1===n.authToken.requestStatus)await k(100),n=await lt(t.appConfig);const i=n.authToken;return 0===i.requestStatus?ot(t,e):i}function lt(t){return Y(t,t=>{if(!ut(t))throw b.create("not-registered");const e=t.authToken;return pt(e)?Object.assign(Object.assign({},t),{authToken:{requestStatus:0}}):t})}async function ht(t,e){try{const n=await st(t,e),i=Object.assign(Object.assign({},e),{authToken:n});return await W(t.appConfig,i),n}catch(n){if(!v(n)||401!==n.customData.serverCode&&404!==n.customData.serverCode){const n=Object.assign(Object.assign({},e),{authToken:{requestStatus:0}});await W(t.appConfig,n)}else await J(t.appConfig);throw n}}function ut(t){return void 0!==t&&2===t.registrationStatus}function ft(t){return 2===t.requestStatus&&!gt(t)}function gt(t){const e=Date.now();return e<t.creationTime||t.creationTime+t.expiresIn<e+d}function dt(t){const e={requestStatus:1,requestTime:Date.now()};return Object.assign(Object.assign({},t),{authToken:e})}function pt(t){return 1===t.requestStatus&&t.requestTime+h<Date.now()}
392/**
393 * @license
394 * Copyright 2019 Google LLC
395 *
396 * Licensed under the Apache License, Version 2.0 (the "License");
397 * you may not use this file except in compliance with the License.
398 * You may obtain a copy of the License at
399 *
400 *   http://www.apache.org/licenses/LICENSE-2.0
401 *
402 * Unless required by applicable law or agreed to in writing, software
403 * distributed under the License is distributed on an "AS IS" BASIS,
404 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
405 * See the License for the specific language governing permissions and
406 * limitations under the License.
407 */async function mt(t){const e=t,{installationEntry:n,registrationPromise:i}=await X(e);return i?i.catch(console.error):ot(e).catch(console.error),n.fid}
408/**
409 * @license
410 * Copyright 2019 Google LLC
411 *
412 * Licensed under the Apache License, Version 2.0 (the "License");
413 * you may not use this file except in compliance with the License.
414 * You may obtain a copy of the License at
415 *
416 *   http://www.apache.org/licenses/LICENSE-2.0
417 *
418 * Unless required by applicable law or agreed to in writing, software
419 * distributed under the License is distributed on an "AS IS" BASIS,
420 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
421 * See the License for the specific language governing permissions and
422 * limitations under the License.
423 */async function wt(t,e=!1){const n=t;await bt(n);const i=await ot(n,e);return i.token}async function bt(t){const{registrationPromise:e}=await X(t);e&&await e}
424/**
425 * @license
426 * Copyright 2019 Google LLC
427 *
428 * Licensed under the Apache License, Version 2.0 (the "License");
429 * you may not use this file except in compliance with the License.
430 * You may obtain a copy of the License at
431 *
432 *   http://www.apache.org/licenses/LICENSE-2.0
433 *
434 * Unless required by applicable law or agreed to in writing, software
435 * distributed under the License is distributed on an "AS IS" BASIS,
436 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
437 * See the License for the specific language governing permissions and
438 * limitations under the License.
439 */
440/**
441 * @license
442 * Copyright 2019 Google LLC
443 *
444 * Licensed under the Apache License, Version 2.0 (the "License");
445 * you may not use this file except in compliance with the License.
446 * You may obtain a copy of the License at
447 *
448 *   http://www.apache.org/licenses/LICENSE-2.0
449 *
450 * Unless required by applicable law or agreed to in writing, software
451 * distributed under the License is distributed on an "AS IS" BASIS,
452 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
453 * See the License for the specific language governing permissions and
454 * limitations under the License.
455 */
456function vt(t){if(!t||!t.options)throw Ct("App Configuration");if(!t.name)throw Ct("App Name");const e=["projectId","apiKey","appId"];for(const n of e)if(!t.options[n])throw Ct(n);return{appName:t.name,projectId:t.options.projectId,apiKey:t.options.apiKey,appId:t.options.appId}}function Ct(t){return b.create("missing-app-config-values",{valueName:t})}
457/**
458 * @license
459 * Copyright 2020 Google LLC
460 *
461 * Licensed under the Apache License, Version 2.0 (the "License");
462 * you may not use this file except in compliance with the License.
463 * You may obtain a copy of the License at
464 *
465 *   http://www.apache.org/licenses/LICENSE-2.0
466 *
467 * Unless required by applicable law or agreed to in writing, software
468 * distributed under the License is distributed on an "AS IS" BASIS,
469 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
470 * See the License for the specific language governing permissions and
471 * limitations under the License.
472 */const It="installations",_t="installations-internal",yt=t=>{const e=t.getProvider("app").getImmediate(),n=vt(e),a=(0,i.j6)(e,"heartbeat"),s={app:e,appConfig:n,heartbeatServiceProvider:a,_delete:()=>Promise.resolve()};return s},St=t=>{const e=t.getProvider("app").getImmediate(),n=(0,i.j6)(e,It).getImmediate(),a={getId:()=>mt(n),getToken:t=>wt(n,t)};return a};function Et(){(0,i.om)(new s.uA(It,yt,"PUBLIC")),(0,i.om)(new s.uA(_t,St,"PRIVATE"))}Et(),(0,i.KO)(c,l),(0,i.KO)(c,l,"esm2017");const Tt="@firebase/remote-config",Dt="0.4.5";
473/**
474 * @license
475 * Copyright 2019 Google LLC
476 *
477 * Licensed under the Apache License, Version 2.0 (the "License");
478 * you may not use this file except in compliance with the License.
479 * You may obtain a copy of the License at
480 *
481 *   http://www.apache.org/licenses/LICENSE-2.0
482 *
483 * Unless required by applicable law or agreed to in writing, software
484 * distributed under the License is distributed on an "AS IS" BASIS,
485 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
486 * See the License for the specific language governing permissions and
487 * limitations under the License.
488 */
489class Ot{constructor(){this.listeners=[]}addEventListener(t){this.listeners.push(t)}abort(){this.listeners.forEach(t=>t())}}
490/**
491 * @license
492 * Copyright 2020 Google LLC
493 *
494 * Licensed under the Apache License, Version 2.0 (the "License");
495 * you may not use this file except in compliance with the License.
496 * You may obtain a copy of the License at
497 *
498 *   http://www.apache.org/licenses/LICENSE-2.0
499 *
500 * Unless required by applicable law or agreed to in writing, software
501 * distributed under the License is distributed on an "AS IS" BASIS,
502 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
503 * See the License for the specific language governing permissions and
504 * limitations under the License.
505 */const kt="remote-config",Mt={["registration-window"]:"Undefined window object. This SDK only supports usage in a browser environment.",["registration-project-id"]:"Undefined project identifier. Check Firebase app initialization.",["registration-api-key"]:"Undefined API key. Check Firebase app initialization.",["registration-app-id"]:"Undefined app identifier. Check Firebase app initialization.",["storage-open"]:"Error thrown when opening storage. Original error: {$originalErrorMessage}.",["storage-get"]:"Error thrown when reading from storage. Original error: {$originalErrorMessage}.",["storage-set"]:"Error thrown when writing to storage. Original error: {$originalErrorMessage}.",["storage-delete"]:"Error thrown when deleting from storage. Original error: {$originalErrorMessage}.",["fetch-client-network"]:"Fetch client failed to connect to a network. Check Internet connection. Original error: {$originalErrorMessage}.",["fetch-timeout"]:'The config fetch request timed out.  Configure timeout using "fetchTimeoutMillis" SDK setting.',["fetch-throttle"]:'The config fetch request timed out while in an exponential backoff state. Configure timeout using "fetchTimeoutMillis" SDK setting. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.',["fetch-client-parse"]:"Fetch client could not parse response. Original error: {$originalErrorMessage}.",["fetch-status"]:"Fetch server returned an HTTP error status. HTTP status: {$httpStatus}.",["indexed-db-unavailable"]:"Indexed DB is not supported by current browser"},Pt=new a.FA("remoteconfig","Remote Config",Mt);
506/**
507 * @license
508 * Copyright 2019 Google LLC
509 *
510 * Licensed under the Apache License, Version 2.0 (the "License");
511 * you may not use this file except in compliance with the License.
512 * You may obtain a copy of the License at
513 *
514 *   http://www.apache.org/licenses/LICENSE-2.0
515 *
516 * Unless required by applicable law or agreed to in writing, software
517 * distributed under the License is distributed on an "AS IS" BASIS,
518 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
519 * See the License for the specific language governing permissions and
520 * limitations under the License.
521 */function Ft(t,e){return t instanceof a.g&&-1!==t.code.indexOf(e)}
522/**
523 * @license
524 * Copyright 2019 Google LLC
525 *
526 * Licensed under the Apache License, Version 2.0 (the "License");
527 * you may not use this file except in compliance with the License.
528 * You may obtain a copy of the License at
529 *
530 *   http://www.apache.org/licenses/LICENSE-2.0
531 *
532 * Unless required by applicable law or agreed to in writing, software
533 * distributed under the License is distributed on an "AS IS" BASIS,
534 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
535 * See the License for the specific language governing permissions and
536 * limitations under the License.
537 */const At=!1,Lt="",$t=0,Nt=["1","true","t","yes","y","on"];class jt{constructor(t,e=Lt){this._source=t,this._value=e}asString(){return this._value}asBoolean(){return"static"===this._source?At:Nt.indexOf(this._value.toLowerCase())>=0}asNumber(){if("static"===this._source)return $t;let t=Number(this._value);return isNaN(t)&&(t=$t),t}getSource(){return this._source}}
538/**
539 * @license
540 * Copyright 2020 Google LLC
541 *
542 * Licensed under the Apache License, Version 2.0 (the "License");
543 * you may not use this file except in compliance with the License.
544 * You may obtain a copy of the License at
545 *
546 *   http://www.apache.org/licenses/LICENSE-2.0
547 *
548 * Unless required by applicable law or agreed to in writing, software
549 * distributed under the License is distributed on an "AS IS" BASIS,
550 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
551 * See the License for the specific language governing permissions and
552 * limitations under the License.
553 */function Rt(t=(0,i.Sx)()){t=(0,a.Ku)(t);const e=(0,i.j6)(t,kt);return e.getImmediate()}async function Ht(t){const e=(0,a.Ku)(t),[n,i]=await Promise.all([e._storage.getLastSuccessfulFetchResponse(),e._storage.getActiveConfigEtag()]);return!!(n&&n.config&&n.eTag&&n.eTag!==i)&&(await Promise.all([e._storageCache.setActiveConfig(n.config),e._storage.setActiveConfigEtag(n.eTag)]),!0)}function zt(t){const e=(0,a.Ku)(t);return e._initializePromise||(e._initializePromise=e._storageCache.loadFromStorage().then(()=>{e._isInitializationComplete=!0})),e._initializePromise}async function Bt(t){const e=(0,a.Ku)(t),n=new Ot;setTimeout(async()=>{n.abort()},e.settings.fetchTimeoutMillis);try{await e._client.fetch({cacheMaxAgeMillis:e.settings.minimumFetchIntervalMillis,signal:n}),await e._storageCache.setLastFetchStatus("success")}catch(i){const t=Ft(i,"fetch-throttle")?"throttle":"failure";throw await e._storageCache.setLastFetchStatus(t),i}}function xt(t,e){const n=(0,a.Ku)(t);n._isInitializationComplete||n._logger.debug(`A value was requested for key "${e}" before SDK initialization completed. Await on ensureInitialized if the intent was to get a previously activated value.`);const i=n._storageCache.getActiveConfig();return i&&void 0!==i[e]?new jt("remote",i[e]):n.defaultConfig&&void 0!==n.defaultConfig[e]?new jt("default",String(n.defaultConfig[e])):(n._logger.debug(`Returning static value for key "${e}". Define a default or remote value if this is unintentional.`),new jt("static"))}
554/**
555 * @license
556 * Copyright 2019 Google LLC
557 *
558 * Licensed under the Apache License, Version 2.0 (the "License");
559 * you may not use this file except in compliance with the License.
560 * You may obtain a copy of the License at
561 *
562 *   http://www.apache.org/licenses/LICENSE-2.0
563 *
564 * Unless required by applicable law or agreed to in writing, software
565 * distributed under the License is distributed on an "AS IS" BASIS,
566 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
567 * See the License for the specific language governing permissions and
568 * limitations under the License.
569 */
570class Kt{constructor(t,e,n,i){this.client=t,this.storage=e,this.storageCache=n,this.logger=i}
570isCachedDataFresh(t,e){if(!e)return this.logger.debug("Config fetch cache check. Cache unpopulated."),!1;const n=Date.now()-e,i=n<=t;return this.logger.debug(`Config fetch cache check. Cache age millis: ${n}. Cache max age millis (minimumFetchIntervalMillis setting): ${t}. Is cache hit: ${i}.`),i}async fetch(t){const[e,n]=await Promise.all([this.storage.getLastSuccessfulFetchTimestampMillis(),this.storage.getLastSuccessfulFetchResponse()]);if(n&&this.isCachedDataFresh(t.cacheMaxAgeMillis,e))return n;t.eTag=n&&n.eTag;const i=await this.client.fetch(t),a=[this.storageCache.setLastSuccessfulFetchTimestampMillis(Date.now())];return 200===i.status&&a.push(this.storage.setLastSuccessfulFetchResponse(i)),await Promise.all(a),i}}
571/**
572 * @license
573 * Copyright 2019 Google LLC
574 *
575 * Licensed under the Apache License, Version 2.0 (the "License");
576 * you may not use this file except in compliance with the License.
577 * You may obtain a copy of the License at
578 *
579 *   http://www.apache.org/licenses/LICENSE-2.0
580 *
581 * Unless required by applicable law or agreed to in writing, software
582 * distributed under the License is distributed on an "AS IS" BASIS,
583 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
584 * See the License for the specific language governing permissions and
585 * limitations under the License.
586 */function Ut(t=navigator){return t.languages&&t.languages[0]||t.language}
587/**
588 * @license
589 * Copyright 2019 Google LLC
590 *
591 * Licensed under the Apache License, Version 2.0 (the "License");
592 * you may not use this file except in compliance with the License.
593 * You may obtain a copy of the License at
594 *
595 *   http://www.apache.org/licenses/LICENSE-2.0
596 *
597 * Unless required by applicable law or agreed to in writing, software
598 * distributed under the License is distributed on an "AS IS" BASIS,
599 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
600 * See the License for the specific language governing permissions and
601 * limitations under the License.
602 */class qt{constructor(t,e,n,i,a,s){this.firebaseInstallations=t,this.sdkVersion=e,this.namespace=n,this.projectId=i,this.apiKey=a,this.appId=s}async fetch(t){const[e,n]=await Promise.all([this.firebaseInstallations.getId(),this.firebaseInstallations.getToken()]),i=window.FIREBASE_REMOTE_CONFIG_URL_BASE||"https://firebaseremoteconfig.googleapis.com",a=`${i}/v1/projects/${this.projectId}/namespaces/${this.namespace}:fetch?key=${this.apiKey}`,s={"Content-Type":"application/json","Content-Encoding":"gzip","If-None-Match":t.eTag||"*"},r={sdk_version:this.sdkVersion,app_instance_id:e,app_instance_id_token:n,app_id:this.appId,language_code:Ut()},o={method:"POST",headers:s,body:JSON.stringify(r)},c=fetch(a,o),l=new Promise((e,n)=>{t.signal.addEventListener(()=>{const t=new Error("The operation was aborted.");t.name="AbortError",n(t)})});let h;try{await Promise.race([c,l]),h=await c}catch(p){let t="fetch-client-network";throw"AbortError"===(null===p||void 0===p?void 0:p.name)&&(t="fetch-timeout"),Pt.create(t,{originalErrorMessage:null===p||void 0===p?void 0:p.message})}let u=h.status;const f=h.headers.get("ETag")||void 0;let g,d;if(200===h.status){let t;try{t=await h.json()}catch(p){throw Pt.create("fetch-client-parse",{originalErrorMessage:null===p||void 0===p?void 0:p.message})}g=t["entries"],d=t["state"]}if("INSTANCE_STATE_UNSPECIFIED"===d?u=500:"NO_CHANGE"===d?u=304:"NO_TEMPLATE"!==d&&"EMPTY_CONFIG"!==d||(g={}),304!==u&&200!==u)throw Pt.create("fetch-status",{httpStatus:u});return{status:u,eTag:f,config:g}}}
603/**
604 * @license
605 * Copyright 2019 Google LLC
606 *
607 * Licensed under the Apache License, Version 2.0 (the "License");
608 * you may not use this file except in compliance with the License.
609 * You may obtain a copy of the License at
610 *
611 *   http://www.apache.org/licenses/LICENSE-2.0
612 *
613 * Unless required by applicable law or agreed to in writing, software
614 * distributed under the License is distributed on an "AS IS" BASIS,
615 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
616 * See the License for the specific language governing permissions and
617 * limitations under the License.
618 */function Vt(t,e){return new Promise((n,i)=>{const a=Math.max(e-Date.now(),0),s=setTimeout(n,a);t.addEventListener(()=>{clearTimeout(s),i(Pt.create("fetch-throttle",{throttleEndTimeMillis:e}))})})}function Gt(t){if(!(t instanceof a.g)||!t.customData)return!1;const e=Number(t.customData["httpStatus"]);return 429===e||500===e||503===e||504===e}class Wt{constructor(t,e){this.client=t,this.storage=e}async fetch(t){const e=await this.storage.getThrottleMetadata()||{backoffCount:0,throttleEndTimeMillis:Date.now()};return this.attemptFetch(t,e)}async attemptFetch(t,{throttleEndTimeMillis:e,backoffCount:n}){await Vt(t.signal,e);try{const e=await this.client.fetch(t);return await this.storage.deleteThrottleMetadata(),e}catch(i){if(!Gt(i))throw i;const e={throttleEndTimeMillis:Date.now()+(0,a.p9)(n),backoffCount:n+1};return await this.storage.setThrottleMetadata(e),this.attemptFetch(t,e)}}}
619/**
620 * @license
621 * Copyright 2019 Google LLC
622 *
623 * Licensed under the Apache License, Version 2.0 (the "License");
624 * you may not use this file except in compliance with the License.
625 * You may obtain a copy of the License at
626 *
627 *   http://www.apache.org/licenses/LICENSE-2.0
628 *
629 * Unless required by applicable law or agreed to in writing, software
630 * distributed under the License is distributed on an "AS IS" BASIS,
631 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
632 * See the License for the specific language governing permissions and
633 * limitations under the License.
634 */const Jt=6e4,Yt=432e5;class Xt{constructor(t,e,n,i,a){this.app=t,this._client=e,this._storageCache=n,this._storage=i,this._logger=a,this._isInitializationComplete=!1,this.settings={fetchTimeoutMillis:Jt,minimumFetchIntervalMillis:Yt},this.defaultConfig={}}get fetchTimeMillis(){return this._storageCache.getLastSuccessfulFetchTimestampMillis()||-1}get lastFetchStatus(){return this._storageCache.getLastFetchStatus()||"no-fetch-yet"}}
635/**
636 * @license
637 * Copyright 2019 Google LLC
638 *
639 * Licensed under the Apache License, Version 2.0 (the "License");
640 * you may not use this file except in compliance with the License.
641 * You may obtain a copy of the License at
642 *
643 *   http://www.apache.org/licenses/LICENSE-2.0
644 *
645 * Unless required by applicable law or agreed to in writing, software
646 * distributed under the License is distributed on an "AS IS" BASIS,
647 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
648 * See the License for the specific language governing permissions and
649 * limitations under the License.
650 */function Qt(t,e){const n=t.target.error||void 0;return Pt.create(e,{originalErrorMessage:n&&(null===n||void 0===n?void 0:n.message)})}const Zt="app_namespace_store",te="firebase_remote_config",ee=1;function ne(){return new Promise((t,e)=>{try{const n=indexedDB.open(te,ee);n.onerror=t=>{e(Qt(t,"storage-open"))},n.onsuccess=e=>{t(e.target.result)},n.onupgradeneeded=t=>{const e=t.target.result;switch(t.oldVersion){case 0:e.createObjectStore(Zt,{keyPath:"compositeKey"})}}}catch(n){e(Pt.create("storage-open",{originalErrorMessage:null===n||void 0===n?void 0:n.message}))}})}class ie{constructor(t,e,n,i=ne()){this.appId=t,this.appName=e,this.namespace=n,this.openDbPromise=i}getLastFetchStatus(){return this.get("last_fetch_status")}setLastFetchStatus(t){return this.set("last_fetch_status",t)}getLastSuccessfulFetchTimestampMillis(){return this.get("last_successful_fetch_timestamp_millis")}setLastSuccessfulFetchTimestampMillis(t){return this.set("last_successful_fetch_timestamp_millis",t)}getLastSuccessfulFetchResponse(){return this.get("last_successful_fetch_response")}setLastSuccessfulFetchResponse(t){return this.set("last_successful_fetch_response",t)}getActiveConfig(){return this.get("active_config")}setActiveConfig(t){return this.set("active_config",t)}getActiveConfigEtag(){return this.get("active_config_etag")}setActiveConfigEtag(t){return this.set("active_config_etag",t)}getThrottleMetadata(){return this.get("throttle_metadata")}setThrottleMetadata(t){return this.set("throttle_metadata",t)}deleteThrottleMetadata(){return this.delete("throttle_metadata")}async get(t){const e=await this.openDbPromise;return new Promise((n,i)=>{const a=e.transaction([Zt],"readonly"),s=a.objectStore(Zt),r=this.createCompositeKey(t);try{const t=s.get(r);t.onerror=t=>{i(Qt(t,"storage-get"))},t.onsuccess=t=>{const e=t.target.result;n(e?e.value:void 0)}}catch(o){i(Pt.create("storage-get",{originalErrorMessage:null===o||void 0===o?void 0:o.message}))}})}async set(t,e){const n=await this.openDbPromise;return new Promise((i,a)=>{const s=n.transaction([Zt],"readwrite"),r=s.objectStore(Zt),o=this.createCompositeKey(t);try{const t=r.put({compositeKey:o,value:e});t.onerror=t=>{a(Qt(t,"storage-set"))},t.onsuccess=()=>{i()}}catch(c){a(Pt.create("storage-set",{originalErrorMessage:null===c||void 0===c?void 0:c.message}))}})}async delete(t){const e=await this.openDbPromise;return new Promise((n,i)=>{const a=e.transaction([Zt],"readwrite"),s=a.objectStore(Zt),r=this.createCompositeKey(t);try{const t=s.delete(r);t.onerror=t=>{i(Qt(t,"storage-delete"))},t.onsuccess=()=>{n()}}catch(o){i(Pt.create("storage-delete",{originalErrorMessage:null===o||void 0===o?void 0:o.message}))}})}createCompositeKey(t){return[this.appId,this.appName,this.namespace,t].join()}}
651/**
652 * @license
653 * Copyright 2019 Google LLC
654 *
655 * Licensed under the Apache License, Version 2.0 (the "License");
656 * you may not use this file except in compliance with the License.
657 * You may obtain a copy of the License at
658 *
659 *   http://www.apache.org/licenses/LICENSE-2.0
660 *
661 * Unless required by applicable law or agreed to in writing, software
662 * distributed under the License is distributed on an "AS IS" BASIS,
663 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
664 * See the License for the specific language governing permissions and
665 * limitations under the License.
666 */class ae{constructor(t){this.storage=t}getLastFetchStatus(){return this.lastFetchStatus}getLastSuccessfulFetchTimestampMillis(){return this.lastSuccessfulFetchTimestampMillis}getActiveConfig(){return this.activeConfig}async loadFromStorage(){const t=this.storage.getLastFetchStatus(),e=this.storage.getLastSuccessfulFetchTimestampMillis(),n=this.storage.getActiveConfig(),i=await t;i&&(this.lastFetchStatus=i);const a=await e;a&&(this.lastSuccessfulFetchTimestampMillis=a);const s=await n;s&&(this.activeConfig=s)}setLastFetchStatus(t){return this.lastFetchStatus=t,this.storage.setLastFetchStatus(t)}setLastSuccessfulFetchTimestampMillis(t){return this.lastSuccessfulFetchTimestampMillis=t,this.storage.setLastSuccessfulFetchTimestampMillis(t)}setActiveConfig(t){return this.activeConfig=t,this.storage.setActiveConfig(t)}}
667/**
668 * @license
669 * Copyright 2020 Google LLC
670 *
671 * Licensed under the Apache License, Version 2.0 (the "License");
672 * you may not use this file except in compliance with the License.
673 * You may obtain a copy of the License at
674 *
675 *   http://www.apache.org/licenses/LICENSE-2.0
676 *
677 * Unless required by applicable law or agreed to in writing, software
678 * distributed under the License is distributed on an "AS IS" BASIS,
679 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
680 * See the License for the specific language governing permissions and
681 * limitations under the License.
682 */function se(){function t(t,{instanceIdentifier:e}){const n=t.getProvider("app").getImmediate(),i=t.getProvider("installations-internal").getImmediate();if("undefined"===typeof window)throw Pt.create("registration-window");if(!(0,a.zW)())throw Pt.create("indexed-db-unavailable");const{projectId:s,apiKey:o,appId:c}=n.options;if(!s)throw Pt.create("registration-project-id");if(!o)throw Pt.create("registration-api-key");if(!c)throw Pt.create("registration-app-id");e=e||"firebase";const l=new ie(c,n.name,e),h=new ae(l),u=new r.Vy(Tt);u.logLevel=r.$b.ERROR;const f=new qt(i,"10.9.0",e,s,o,c),g=new Wt(f,l),d=new Kt(g,l,h,u),p=new Xt(n,d,h,l,u);return zt(p),p}(0,i.om)(new s.uA(kt,t,"PUBLIC").setMultipleInstances(!0)),(0,i.KO)(Tt,Dt),(0,i.KO)(Tt,Dt,"esm2017")}
683/**
684 * @license
685 * Copyright 2020 Google LLC
686 *
687 * Licensed under the Apache License, Version 2.0 (the "License");
688 * you may not use this file except in compliance with the License.
689 * You may obtain a copy of the License at
690 *
691 *   http://www.apache.org/licenses/LICENSE-2.0
692 *
693 * Unless required by applicable law or agreed to in writing, software
694 * distributed under the License is distributed on an "AS IS" BASIS,
695 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
696 * See the License for the specific language governing permissions and
697 * limitations under the License.
698 */async function re(t){return t=(0,a.Ku)(t),await Bt(t),Ht(t)}se()}}]);
699//# sourceMappingURL=vendor-firebase-6bc75065.22f1071e.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.