firebase-performance-standalone-compat.es2017.js 88 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952
  1. !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).firebase=t()}(this,(function(){"use strict";
  2. /**
  3. * @license
  4. * Copyright 2017 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. */
  18. /**
  19. * @license
  20. * Copyright 2017 Google LLC
  21. *
  22. * Licensed under the Apache License, Version 2.0 (the "License");
  23. * you may not use this file except in compliance with the License.
  24. * You may obtain a copy of the License at
  25. *
  26. * http://www.apache.org/licenses/LICENSE-2.0
  27. *
  28. * Unless required by applicable law or agreed to in writing, software
  29. * distributed under the License is distributed on an "AS IS" BASIS,
  30. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  31. * See the License for the specific language governing permissions and
  32. * limitations under the License.
  33. */const e=function(e){const t=[];let n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);i<128?t[n++]=i:i<2048?(t[n++]=i>>6|192,t[n++]=63&i|128):55296==(64512&i)&&r+1<e.length&&56320==(64512&e.charCodeAt(r+1))?(i=65536+((1023&i)<<10)+(1023&e.charCodeAt(++r)),t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=63&i|128):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=63&i|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 i=e[t],a=t+1<e.length,o=a?e[t+1]:0,s=t+2<e.length,c=s?e[t+2]:0,l=i>>2,u=(3&i)<<4|o>>4;let p=(15&o)<<2|c>>6,h=63&c;s||(h=64,a||(p=64)),r.push(n[l],n[u],n[p],n[h])}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 i=e[n++];if(i<128)t[r++]=String.fromCharCode(i);else if(i>191&&i<224){const a=e[n++];t[r++]=String.fromCharCode((31&i)<<6|63&a)}else if(i>239&&i<365){const a=((7&i)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536;t[r++]=String.fromCharCode(55296+(a>>10)),t[r++]=String.fromCharCode(56320+(1023&a))}else{const a=e[n++],o=e[n++];t[r++]=String.fromCharCode((15&i)<<12|(63&a)<<6|63&o)}}return t.join("")}(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,i=[];for(let t=0;t<e.length;){const a=r[e.charAt(t++)],o=t<e.length?r[e.charAt(t)]:0;++t;const s=t<e.length?r[e.charAt(t)]:64;++t;const c=t<e.length?r[e.charAt(t)]:64;if(++t,null==a||null==o||null==s||null==c)throw new n;const l=a<<2|o>>4;if(i.push(l),64!==s){const e=o<<4&240|s>>2;if(i.push(e),64!==c){const e=s<<6&192|c;i.push(e)}}}return i},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)}}};class n extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const r=function(n){return function(n){const r=e(n);return t.encodeByteArray(r,!0)}(n).replace(/\./g,"")};function i(e,t){if(!(t instanceof Object))return t;switch(t.constructor){case Date:return new Date(t.getTime());case Object:void 0===e&&(e={});break;case Array:e=[];break;default:return t}for(const n in t)t.hasOwnProperty(n)&&"__proto__"!==n&&(e[n]=i(e[n],t[n]));return e}
  34. /**
  35. * @license
  36. * Copyright 2022 Google LLC
  37. *
  38. * Licensed under the Apache License, Version 2.0 (the "License");
  39. * you may not use this file except in compliance with the License.
  40. * You may obtain a copy of the License at
  41. *
  42. * http://www.apache.org/licenses/LICENSE-2.0
  43. *
  44. * Unless required by applicable law or agreed to in writing, software
  45. * distributed under the License is distributed on an "AS IS" BASIS,
  46. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  47. * See the License for the specific language governing permissions and
  48. * limitations under the License.
  49. */
  50. const a=()=>
  51. /**
  52. * @license
  53. * Copyright 2022 Google LLC
  54. *
  55. * Licensed under the Apache License, Version 2.0 (the "License");
  56. * you may not use this file except in compliance with the License.
  57. * You may obtain a copy of the License at
  58. *
  59. * http://www.apache.org/licenses/LICENSE-2.0
  60. *
  61. * Unless required by applicable law or agreed to in writing, software
  62. * distributed under the License is distributed on an "AS IS" BASIS,
  63. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  64. * See the License for the specific language governing permissions and
  65. * limitations under the License.
  66. */
  67. 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=()=>{if("undefined"==typeof document)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}const n=e&&function(e){try{return t.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null}(e[1]);return n&&JSON.parse(n)},s=()=>{try{return a()||(()=>{if("undefined"==typeof process||void 0===process.env)return;const e=process.env.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0})()||o()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},c=()=>{var e;return null===(e=s())||void 0===e?void 0:e.config};
  68. /**
  69. * @license
  70. * Copyright 2017 Google LLC
  71. *
  72. * Licensed under the Apache License, Version 2.0 (the "License");
  73. * you may not use this file except in compliance with the License.
  74. * You may obtain a copy of the License at
  75. *
  76. * http://www.apache.org/licenses/LICENSE-2.0
  77. *
  78. * Unless required by applicable law or agreed to in writing, software
  79. * distributed under the License is distributed on an "AS IS" BASIS,
  80. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  81. * See the License for the specific language governing permissions and
  82. * limitations under the License.
  83. */
  84. class l{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))}}}function u(){try{return"object"==typeof indexedDB}catch(e){return!1}}function p(){return new Promise(((e,t)=>{try{let n=!0;const r="validate-browser-context-for-indexeddb-analytics-module",i=self.indexedDB.open(r);i.onsuccess=()=>{i.result.close(),n||self.indexedDB.deleteDatabase(r),e(!0)},i.onupgradeneeded=()=>{n=!1},i.onerror=()=>{var e;t((null===(e=i.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}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,f.prototype.create)}}class f{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){const n=t[0]||{},r=`${this.service}/${e}`,i=this.errors[e],a=i?function(e,t){return e.replace(d,((e,n)=>{const r=t[n];return null!=r?String(r):`<${n}?>`}))}(i,n):"Error",o=`${this.serviceName}: ${a} (${r}).`;return new h(r,o,n)}}const d=/\{\$([^}]+)}/g;
  85. /**
  86. * @license
  87. * Copyright 2017 Google LLC
  88. *
  89. * Licensed under the Apache License, Version 2.0 (the "License");
  90. * you may not use this file except in compliance with the License.
  91. * You may obtain a copy of the License at
  92. *
  93. * http://www.apache.org/licenses/LICENSE-2.0
  94. *
  95. * Unless required by applicable law or agreed to in writing, software
  96. * distributed under the License is distributed on an "AS IS" BASIS,
  97. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  98. * See the License for the specific language governing permissions and
  99. * limitations under the License.
  100. */function g(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function m(e,t){if(e===t)return!0;const n=Object.keys(e),r=Object.keys(t);for(const i of n){if(!r.includes(i))return!1;const n=e[i],a=t[i];if(b(n)&&b(a)){if(!m(n,a))return!1}else if(n!==a)return!1}for(const e of r)if(!n.includes(e))return!1;return!0}function b(e){return null!==e&&"object"==typeof e}
  101. /**
  102. * @license
  103. * Copyright 2021 Google LLC
  104. *
  105. * Licensed under the Apache License, Version 2.0 (the "License");
  106. * you may not use this file except in compliance with the License.
  107. * You may obtain a copy of the License at
  108. *
  109. * http://www.apache.org/licenses/LICENSE-2.0
  110. *
  111. * Unless required by applicable law or agreed to in writing, software
  112. * distributed under the License is distributed on an "AS IS" BASIS,
  113. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  114. * See the License for the specific language governing permissions and
  115. * limitations under the License.
  116. */class v{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}}
  117. /**
  118. * @license
  119. * Copyright 2019 Google LLC
  120. *
  121. * Licensed under the Apache License, Version 2.0 (the "License");
  122. * you may not use this file except in compliance with the License.
  123. * You may obtain a copy of the License at
  124. *
  125. * http://www.apache.org/licenses/LICENSE-2.0
  126. *
  127. * Unless required by applicable law or agreed to in writing, software
  128. * distributed under the License is distributed on an "AS IS" BASIS,
  129. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  130. * See the License for the specific language governing permissions and
  131. * limitations under the License.
  132. */const _="[DEFAULT]";
  133. /**
  134. * @license
  135. * Copyright 2019 Google LLC
  136. *
  137. * Licensed under the Apache License, Version 2.0 (the "License");
  138. * you may not use this file except in compliance with the License.
  139. * You may obtain a copy of the License at
  140. *
  141. * http://www.apache.org/licenses/LICENSE-2.0
  142. *
  143. * Unless required by applicable law or agreed to in writing, software
  144. * distributed under the License is distributed on an "AS IS" BASIS,
  145. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  146. * See the License for the specific language governing permissions and
  147. * limitations under the License.
  148. */class w{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 l;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}
  149. /**
  150. * @license
  151. * Copyright 2019 Google LLC
  152. *
  153. * Licensed under the Apache License, Version 2.0 (the "License");
  154. * you may not use this file except in compliance with the License.
  155. * You may obtain a copy of the License at
  156. *
  157. * http://www.apache.org/licenses/LICENSE-2.0
  158. *
  159. * Unless required by applicable law or agreed to in writing, software
  160. * distributed under the License is distributed on an "AS IS" BASIS,
  161. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  162. * See the License for the specific language governing permissions and
  163. * limitations under the License.
  164. */(e))try{this.getOrInitializeService({instanceIdentifier:_})}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="[DEFAULT]"){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="[DEFAULT]"){return this.instances.has(e)}getOptions(e="[DEFAULT]"){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),i=null!==(n=this.onInitCallbacks.get(r))&&void 0!==n?n:new Set;i.add(e),this.onInitCallbacks.set(r,i);const a=this.instances.get(r);return a&&e(a,r),()=>{i.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===_?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="[DEFAULT]"){return this.component?this.component.multipleInstances?e:_:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class E{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 w(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}
  165. /**
  166. * @license
  167. * Copyright 2017 Google LLC
  168. *
  169. * Licensed under the Apache License, Version 2.0 (the "License");
  170. * you may not use this file except in compliance with the License.
  171. * You may obtain a copy of the License at
  172. *
  173. * http://www.apache.org/licenses/LICENSE-2.0
  174. *
  175. * Unless required by applicable law or agreed to in writing, software
  176. * distributed under the License is distributed on an "AS IS" BASIS,
  177. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  178. * See the License for the specific language governing permissions and
  179. * limitations under the License.
  180. */const y=[];var I;!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"}(I||(I={}));const S={debug:I.DEBUG,verbose:I.VERBOSE,info:I.INFO,warn:I.WARN,error:I.ERROR,silent:I.SILENT},T=I.INFO,C={[I.DEBUG]:"log",[I.VERBOSE]:"log",[I.INFO]:"info",[I.WARN]:"warn",[I.ERROR]:"error"},A=(e,t,...n)=>{if(t<e.logLevel)return;const r=(new Date).toISOString(),i=C[t];if(!i)throw new Error(`Attempted to log a message with an invalid logType (value: ${t})`);console[i](`[${r}] ${e.name}:`,...n)};class D{constructor(e){this.name=e,this._logLevel=T,this._logHandler=A,this._userLogHandler=null,y.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in I))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?S[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,I.DEBUG,...e),this._logHandler(this,I.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,I.VERBOSE,...e),this._logHandler(this,I.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,I.INFO,...e),this._logHandler(this,I.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,I.WARN,...e),this._logHandler(this,I.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,I.ERROR,...e),this._logHandler(this,I.ERROR,...e)}}let N,O;const k=new WeakMap,L=new WeakMap,P=new WeakMap,M=new WeakMap,B=new WeakMap;let R={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return L.get(e);if("objectStoreNames"===t)return e.objectStoreNames||P.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return F(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function $(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(U(this),t),F(k.get(this))}:function(...t){return F(e.apply(U(this),t))}:function(t,...n){const r=e.call(U(this),t,...n);return P.set(r,t.sort?t.sort():[t]),F(r)}}function j(e){return"function"==typeof e?$(e):(e instanceof IDBTransaction&&function(e){if(L.has(e))return;const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",a),e.removeEventListener("abort",a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",i),e.addEventListener("error",a),e.addEventListener("abort",a)}));L.set(e,t)}(e),t=e,(N||(N=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some((e=>t instanceof e))?new Proxy(e,R):e);var t}function F(e){if(e instanceof IDBRequest)return function(e){const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener("success",i),e.removeEventListener("error",a)},i=()=>{t(F(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener("success",i),e.addEventListener("error",a)}));return t.then((t=>{t instanceof IDBCursor&&k.set(t,e)})).catch((()=>{})),B.set(t,e),t}(e);if(M.has(e))return M.get(e);const t=j(e);return t!==e&&(M.set(e,t),B.set(t,e)),t}const U=e=>B.get(e);function V(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){const o=indexedDB.open(e,t),s=F(o);return r&&o.addEventListener("upgradeneeded",(e=>{r(F(o.result),e.oldVersion,e.newVersion,F(o.transaction),e)})),n&&o.addEventListener("blocked",(e=>n(e.oldVersion,e.newVersion,e))),s.then((e=>{a&&e.addEventListener("close",(()=>a())),i&&e.addEventListener("versionchange",(e=>i(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),s}const H=["get","getKey","getAll","getAllKeys","count"],x=["put","add","delete","clear"],z=new Map;function q(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(z.get(t))return z.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,i=x.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!i&&!H.includes(n))return;const a=async function(e,...t){const a=this.transaction(e,i?"readwrite":"readonly");let o=a.store;return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return z.set(t,a),a}R=(e=>({...e,get:(t,n,r)=>q(t,n)||e.get(t,n,r),has:(t,n)=>!!q(t,n)||e.has(t,n)}))(R);
  181. /**
  182. * @license
  183. * Copyright 2019 Google LLC
  184. *
  185. * Licensed under the Apache License, Version 2.0 (the "License");
  186. * you may not use this file except in compliance with the License.
  187. * You may obtain a copy of the License at
  188. *
  189. * http://www.apache.org/licenses/LICENSE-2.0
  190. *
  191. * Unless required by applicable law or agreed to in writing, software
  192. * distributed under the License is distributed on an "AS IS" BASIS,
  193. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  194. * See the License for the specific language governing permissions and
  195. * limitations under the License.
  196. */
  197. class W{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 K="@firebase/app",J="0.9.13",G=new D("@firebase/app"),Y="[DEFAULT]",X={[K]:"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,Q=new Map;function ee(e,t){try{e.container.addComponent(t)}catch(n){G.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function te(e){const t=e.name;if(Q.has(t))return G.debug(`There were multiple attempts to register component ${t}.`),!1;Q.set(t,e);for(const t of Z.values())ee(t,e);return!0}function ne(e,t){const n=e.container.getProvider("heartbeat").getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}
  198. /**
  199. * @license
  200. * Copyright 2019 Google LLC
  201. *
  202. * Licensed under the Apache License, Version 2.0 (the "License");
  203. * you may not use this file except in compliance with the License.
  204. * You may obtain a copy of the License at
  205. *
  206. * http://www.apache.org/licenses/LICENSE-2.0
  207. *
  208. * Unless required by applicable law or agreed to in writing, software
  209. * distributed under the License is distributed on an "AS IS" BASIS,
  210. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  211. * See the License for the specific language governing permissions and
  212. * limitations under the License.
  213. */
  214. const re=new f("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","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}."});
  215. /**
  216. * @license
  217. * Copyright 2019 Google LLC
  218. *
  219. * Licensed under the Apache License, Version 2.0 (the "License");
  220. * you may not use this file except in compliance with the License.
  221. * You may obtain a copy of the License at
  222. *
  223. * http://www.apache.org/licenses/LICENSE-2.0
  224. *
  225. * Unless required by applicable law or agreed to in writing, software
  226. * distributed under the License is distributed on an "AS IS" BASIS,
  227. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  228. * See the License for the specific language governing permissions and
  229. * limitations under the License.
  230. */
  231. 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 v("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 re.create("app-deleted",{appName:this._name})}}
  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. */const ae="9.23.0";function oe(e,t={}){let n=e;if("object"!=typeof t){t={name:t}}const r=Object.assign({name:Y,automaticDataCollectionEnabled:!1},t),i=r.name;if("string"!=typeof i||!i)throw re.create("bad-app-name",{appName:String(i)});if(n||(n=c()),!n)throw re.create("no-options");const a=Z.get(i);if(a){if(m(n,a.options)&&m(r,a.config))return a;throw re.create("duplicate-app",{appName:i})}const o=new E(i);for(const e of Q.values())o.addComponent(e);const s=new ie(n,r,o);return Z.set(i,s),s}async function se(e){const t=e.name;Z.has(t)&&(Z.delete(t),await Promise.all(e.container.getProviders().map((e=>e.delete()))),e.isDeleted=!0)}function ce(e,t,n){var r;let i=null!==(r=X[e])&&void 0!==r?r:e;n&&(i+=`-${n}`);const a=i.match(/\s|\//),o=t.match(/\s|\//);if(a||o){const e=[`Unable to register library "${i}" with version "${t}":`];return a&&e.push(`library name "${i}" contains illegal characters (whitespace or "/")`),a&&o&&e.push("and"),o&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void G.warn(e.join(" "))}te(new v(`${i}-version`,(()=>({library:i,version:t})),"VERSION"))}function le(e,t){if(null!==e&&"function"!=typeof e)throw re.create("invalid-log-argument");!function(e,t){for(const n of y){let r=null;t&&t.level&&(r=S[t.level]),n.userLogHandler=null===e?null:(t,n,...i)=>{const a=i.map((e=>{if(null==e)return null;if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return e.toString();if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch(e){return null}})).filter((e=>e)).join(" ");n>=(null!=r?r:t.logLevel)&&e({level:I[n].toLowerCase(),message:a,args:i,type:t.name})}}}(e,t)}function ue(e){var t;t=e,y.forEach((e=>{e.setLogLevel(t)}))}
  248. /**
  249. * @license
  250. * Copyright 2021 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. */const pe="firebase-heartbeat-store";let he=null;function fe(){return he||(he=V("firebase-heartbeat-database",1,{upgrade:(e,t)=>{if(0===t)e.createObjectStore(pe)}}).catch((e=>{throw re.create("idb-open",{originalErrorMessage:e.message})}))),he}async function de(e,t){try{const n=(await fe()).transaction(pe,"readwrite"),r=n.objectStore(pe);await r.put(t,ge(e)),await n.done}catch(e){if(e instanceof h)G.warn(e.message);else{const t=re.create("idb-set",{originalErrorMessage:null==e?void 0:e.message});G.warn(t.message)}}}function ge(e){return`${e.name}!${e.options.appId}`}
  264. /**
  265. * @license
  266. * Copyright 2021 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. */class me{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new ve(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){const e=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),t=be();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=be(),{heartbeatsToSend:t,unsentEntries:n}=function(e,t=1024){const n=[];let r=e.slice();for(const i of e){const e=n.find((e=>e.agent===i.agent));if(e){if(e.dates.push(i.date),_e(n)>t){e.dates.pop();break}}else if(n.push({agent:i.agent,dates:[i.date]}),_e(n)>t){n.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}(this._heartbeatsCache.heartbeats),i=r(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),i}}function be(){return(new Date).toISOString().substring(0,10)}class ve{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!u()&&p().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){return await async function(e){try{const t=await fe();return await t.transaction(pe).objectStore(pe).get(ge(e))}catch(e){if(e instanceof h)G.warn(e.message);else{const t=re.create("idb-get",{originalErrorMessage:null==e?void 0:e.message});G.warn(t.message)}}}(this.app)||{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const n=await this.read();return de(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 de(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:n.lastSentHeartbeatDate,heartbeats:[...n.heartbeats,...e.heartbeats]})}}}function _e(e){return r(JSON.stringify({version:2,heartbeats:e})).length}
  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. */var we;we="",te(new v("platform-logger",(e=>new W(e)),"PRIVATE")),te(new v("heartbeat",(e=>new me(e)),"PRIVATE")),ce(K,J,we),ce(K,J,"esm2017"),ce("fire-js","");var Ee=Object.freeze({__proto__:null,SDK_VERSION:ae,_DEFAULT_ENTRY_NAME:Y,_addComponent:ee,_addOrOverwriteComponent:function(e,t){e.container.addOrOverwriteComponent(t)},_apps:Z,_clearComponents:function(){Q.clear()},_components:Q,_getProvider:ne,_registerComponent:te,_removeServiceInstance:function(e,t,n="[DEFAULT]"){ne(e,t).clearInstance(n)},deleteApp:se,getApp:function(e="[DEFAULT]"){const t=Z.get(e);if(!t&&e===Y&&c())return oe();if(!t)throw re.create("no-app",{appName:e});return t},getApps:function(){return Array.from(Z.values())},initializeApp:oe,onLog:le,registerVersion:ce,setLogLevel:ue,FirebaseError:h});
  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. */class ye{constructor(e,t){this._delegate=e,this.firebase=t,ee(e,new v("app-compat",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this._delegate.automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.automaticDataCollectionEnabled=e}get name(){return this._delegate.name}get options(){return this._delegate.options}delete(){return this.firebase.INTERNAL.removeApp(this.name),se(this._delegate)}_getService(e,t="[DEFAULT]"){return this._delegate.checkDestroyed(),this._delegate.container.getProvider(e).getImmediate({identifier:t})}}
  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 Ie=new f("app-compat","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance."});
  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. */
  344. function Se(e){const t={},n={__esModule:!0,initializeApp:function(r,i={}){const a=oe(r,i);if(g(t,a.name))return t[a.name];const o=new e(a,n);return t[a.name]=o,o},app:r,registerVersion:ce,setLogLevel:ue,onLog:le,apps:null,SDK_VERSION:ae,INTERNAL:{registerComponent:function(t){const a=t.name,o=a.replace("-compat","");if(te(t)&&"PUBLIC"===t.type){const s=(e=r())=>{if("function"!=typeof e[o])throw Ie.create("invalid-app-argument",{appName:a});return e[o]()};void 0!==t.serviceProps&&i(s,t.serviceProps),n[o]=s,e.prototype[o]=function(...e){return this._getService.bind(this,a).apply(this,t.multipleInstances?e:[])}}return"PUBLIC"===t.type?n[o]:null},removeApp:function(e){delete t[e]},useAsService:function(e,t){if("serverAuth"===t)return null;return t},modularAPIs:Ee}};function r(e){if(!g(t,e=e||Y))throw Ie.create("no-app",{appName:e});return t[e]}return n.default=n,Object.defineProperty(n,"apps",{get:function(){return Object.keys(t).map((e=>t[e]))}}),r.App=e,n}
  345. /**
  346. * @license
  347. * Copyright 2019 Google LLC
  348. *
  349. * Licensed under the Apache License, Version 2.0 (the "License");
  350. * you may not use this file except in compliance with the License.
  351. * You may obtain a copy of the License at
  352. *
  353. * http://www.apache.org/licenses/LICENSE-2.0
  354. *
  355. * Unless required by applicable law or agreed to in writing, software
  356. * distributed under the License is distributed on an "AS IS" BASIS,
  357. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  358. * See the License for the specific language governing permissions and
  359. * limitations under the License.
  360. */
  361. /**
  362. * @license
  363. * Copyright 2019 Google LLC
  364. *
  365. * Licensed under the Apache License, Version 2.0 (the "License");
  366. * you may not use this file except in compliance with the License.
  367. * You may obtain a copy of the License at
  368. *
  369. * http://www.apache.org/licenses/LICENSE-2.0
  370. *
  371. * Unless required by applicable law or agreed to in writing, software
  372. * distributed under the License is distributed on an "AS IS" BASIS,
  373. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  374. * See the License for the specific language governing permissions and
  375. * limitations under the License.
  376. */
  377. const Te=function(){const e=Se(ye);e.SDK_VERSION=`${e.SDK_VERSION}_LITE`;const t=e.INTERNAL.registerComponent;return e.INTERNAL.registerComponent=function(e){if("PUBLIC"===e.type&&!e.name.includes("performance")&&!e.name.includes("installations"))throw Error(`${name} cannot register with the standalone perf instance`);return t(e)},e}();!
  378. /**
  379. * @license
  380. * Copyright 2019 Google LLC
  381. *
  382. * Licensed under the Apache License, Version 2.0 (the "License");
  383. * you may not use this file except in compliance with the License.
  384. * You may obtain a copy of the License at
  385. *
  386. * http://www.apache.org/licenses/LICENSE-2.0
  387. *
  388. * Unless required by applicable law or agreed to in writing, software
  389. * distributed under the License is distributed on an "AS IS" BASIS,
  390. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  391. * See the License for the specific language governing permissions and
  392. * limitations under the License.
  393. */
  394. function(e){ce("@firebase/app-compat","0.2.13",e)}("lite");
  395. /**
  396. * @license
  397. * Copyright 2020 Google LLC
  398. *
  399. * Licensed under the Apache License, Version 2.0 (the "License");
  400. * you may not use this file except in compliance with the License.
  401. * You may obtain a copy of the License at
  402. *
  403. * http://www.apache.org/licenses/LICENSE-2.0
  404. *
  405. * Unless required by applicable law or agreed to in writing, software
  406. * distributed under the License is distributed on an "AS IS" BASIS,
  407. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  408. * See the License for the specific language governing permissions and
  409. * limitations under the License.
  410. */
  411. Te.registerVersion("firebase","9.23.0","app-compat");const Ce="@firebase/installations",Ae="0.6.4",De=1e4,Ne="w:0.6.4",Oe="FIS_v2",ke=36e5,Le=new f("installations","Installations",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"not-registered":"Firebase Installation is not registered.","installation-not-found":"Firebase Installation not found.","request-failed":'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',"app-offline":"Could not process request. Application offline.","delete-pending-registration":"Can't delete installation while there is a pending registration request."});function Pe(e){return e instanceof h&&e.code.includes("request-failed")}
  412. /**
  413. * @license
  414. * Copyright 2019 Google LLC
  415. *
  416. * Licensed under the Apache License, Version 2.0 (the "License");
  417. * you may not use this file except in compliance with the License.
  418. * You may obtain a copy of the License at
  419. *
  420. * http://www.apache.org/licenses/LICENSE-2.0
  421. *
  422. * Unless required by applicable law or agreed to in writing, software
  423. * distributed under the License is distributed on an "AS IS" BASIS,
  424. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  425. * See the License for the specific language governing permissions and
  426. * limitations under the License.
  427. */function Me({projectId:e}){return`https://firebaseinstallations.googleapis.com/v1/projects/${e}/installations`}function Be(e){return{token:e.token,requestStatus:2,expiresIn:(t=e.expiresIn,Number(t.replace("s","000"))),creationTime:Date.now()};var t}async function Re(e,t){const n=(await t.json()).error;return Le.create("request-failed",{requestName:e,serverCode:n.code,serverMessage:n.message,serverStatus:n.status})}function $e({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}function je(e,{refreshToken:t}){const n=$e(e);return n.append("Authorization",function(e){return`FIS_v2 ${e}`}
  428. /**
  429. * @license
  430. * Copyright 2019 Google LLC
  431. *
  432. * Licensed under the Apache License, Version 2.0 (the "License");
  433. * you may not use this file except in compliance with the License.
  434. * You may obtain a copy of the License at
  435. *
  436. * http://www.apache.org/licenses/LICENSE-2.0
  437. *
  438. * Unless required by applicable law or agreed to in writing, software
  439. * distributed under the License is distributed on an "AS IS" BASIS,
  440. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  441. * See the License for the specific language governing permissions and
  442. * limitations under the License.
  443. */(t)),n}async function Fe(e){const t=await e();return t.status>=500&&t.status<600?e():t}
  444. /**
  445. * @license
  446. * Copyright 2019 Google LLC
  447. *
  448. * Licensed under the Apache License, Version 2.0 (the "License");
  449. * you may not use this file except in compliance with the License.
  450. * You may obtain a copy of the License at
  451. *
  452. * http://www.apache.org/licenses/LICENSE-2.0
  453. *
  454. * Unless required by applicable law or agreed to in writing, software
  455. * distributed under the License is distributed on an "AS IS" BASIS,
  456. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  457. * See the License for the specific language governing permissions and
  458. * limitations under the License.
  459. */
  460. function Ue(e){return new Promise((t=>{setTimeout(t,e)}))}
  461. /**
  462. * @license
  463. * Copyright 2019 Google LLC
  464. *
  465. * Licensed under the Apache License, Version 2.0 (the "License");
  466. * you may not use this file except in compliance with the License.
  467. * You may obtain a copy of the License at
  468. *
  469. * http://www.apache.org/licenses/LICENSE-2.0
  470. *
  471. * Unless required by applicable law or agreed to in writing, software
  472. * distributed under the License is distributed on an "AS IS" BASIS,
  473. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  474. * See the License for the specific language governing permissions and
  475. * limitations under the License.
  476. */
  477. /**
  478. * @license
  479. * Copyright 2019 Google LLC
  480. *
  481. * Licensed under the Apache License, Version 2.0 (the "License");
  482. * you may not use this file except in compliance with the License.
  483. * You may obtain a copy of the License at
  484. *
  485. * http://www.apache.org/licenses/LICENSE-2.0
  486. *
  487. * Unless required by applicable law or agreed to in writing, software
  488. * distributed under the License is distributed on an "AS IS" BASIS,
  489. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  490. * See the License for the specific language governing permissions and
  491. * limitations under the License.
  492. */
  493. const Ve=/^[cdef][\w-]{21}$/;function He(){try{const e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;const t=function(e){return(t=e,btoa(String.fromCharCode(...t)).replace(/\+/g,"-").replace(/\//g,"_")).substr(0,22);var t}
  494. /**
  495. * @license
  496. * Copyright 2019 Google LLC
  497. *
  498. * Licensed under the Apache License, Version 2.0 (the "License");
  499. * you may not use this file except in compliance with the License.
  500. * You may obtain a copy of the License at
  501. *
  502. * http://www.apache.org/licenses/LICENSE-2.0
  503. *
  504. * Unless required by applicable law or agreed to in writing, software
  505. * distributed under the License is distributed on an "AS IS" BASIS,
  506. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  507. * See the License for the specific language governing permissions and
  508. * limitations under the License.
  509. */(e);return Ve.test(t)?t:""}catch(e){return""}}function xe(e){return`${e.appName}!${e.appId}`}
  510. /**
  511. * @license
  512. * Copyright 2019 Google LLC
  513. *
  514. * Licensed under the Apache License, Version 2.0 (the "License");
  515. * you may not use this file except in compliance with the License.
  516. * You may obtain a copy of the License at
  517. *
  518. * http://www.apache.org/licenses/LICENSE-2.0
  519. *
  520. * Unless required by applicable law or agreed to in writing, software
  521. * distributed under the License is distributed on an "AS IS" BASIS,
  522. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  523. * See the License for the specific language governing permissions and
  524. * limitations under the License.
  525. */const ze=new Map;function qe(e,t){const n=xe(e);We(n,t),function(e,t){const n=function(){!Ke&&"BroadcastChannel"in self&&(Ke=new BroadcastChannel("[Firebase] FID Change"),Ke.onmessage=e=>{We(e.data.key,e.data.fid)});return Ke}();n&&n.postMessage({key:e,fid:t});0===ze.size&&Ke&&(Ke.close(),Ke=null)}(n,t)}function We(e,t){const n=ze.get(e);if(n)for(const e of n)e(t)}let Ke=null;
  526. /**
  527. * @license
  528. * Copyright 2019 Google LLC
  529. *
  530. * Licensed under the Apache License, Version 2.0 (the "License");
  531. * you may not use this file except in compliance with the License.
  532. * You may obtain a copy of the License at
  533. *
  534. * http://www.apache.org/licenses/LICENSE-2.0
  535. *
  536. * Unless required by applicable law or agreed to in writing, software
  537. * distributed under the License is distributed on an "AS IS" BASIS,
  538. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  539. * See the License for the specific language governing permissions and
  540. * limitations under the License.
  541. */
  542. const Je="firebase-installations-store";let Ge=null;function Ye(){return Ge||(Ge=V("firebase-installations-database",1,{upgrade:(e,t)=>{if(0===t)e.createObjectStore(Je)}})),Ge}async function Xe(e,t){const n=xe(e),r=(await Ye()).transaction(Je,"readwrite"),i=r.objectStore(Je),a=await i.get(n);return await i.put(t,n),await r.done,a&&a.fid===t.fid||qe(e,t.fid),t}async function Ze(e){const t=xe(e),n=(await Ye()).transaction(Je,"readwrite");await n.objectStore(Je).delete(t),await n.done}async function Qe(e,t){const n=xe(e),r=(await Ye()).transaction(Je,"readwrite"),i=r.objectStore(Je),a=await i.get(n),o=t(a);return void 0===o?await i.delete(n):await i.put(o,n),await r.done,!o||a&&a.fid===o.fid||qe(e,o.fid),o}
  543. /**
  544. * @license
  545. * Copyright 2019 Google LLC
  546. *
  547. * Licensed under the Apache License, Version 2.0 (the "License");
  548. * you may not use this file except in compliance with the License.
  549. * You may obtain a copy of the License at
  550. *
  551. * http://www.apache.org/licenses/LICENSE-2.0
  552. *
  553. * Unless required by applicable law or agreed to in writing, software
  554. * distributed under the License is distributed on an "AS IS" BASIS,
  555. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  556. * See the License for the specific language governing permissions and
  557. * limitations under the License.
  558. */async function et(e){let t;const n=await Qe(e.appConfig,(n=>{const r=function(e){return rt(e||{fid:He(),registrationStatus:0})}(n),i=function(e,t){if(0===t.registrationStatus){if(!navigator.onLine){return{installationEntry:t,registrationPromise:Promise.reject(Le.create("app-offline"))}}const n={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},r=async function(e,t){try{const n=await async function({appConfig:e,heartbeatServiceProvider:t},{fid:n}){const r=Me(e),i=$e(e),a=t.getImmediate({optional:!0});if(a){const e=await a.getHeartbeatsHeader();e&&i.append("x-firebase-client",e)}const o={fid:n,authVersion:Oe,appId:e.appId,sdkVersion:Ne},s={method:"POST",headers:i,body:JSON.stringify(o)},c=await Fe((()=>fetch(r,s)));if(c.ok){const e=await c.json();return{fid:e.fid||n,registrationStatus:2,refreshToken:e.refreshToken,authToken:Be(e.authToken)}}throw await Re("Create Installation",c)}(e,t);return Xe(e.appConfig,n)}catch(n){throw Pe(n)&&409===n.customData.serverCode?await Ze(e.appConfig):await Xe(e.appConfig,{fid:t.fid,registrationStatus:0}),n}}(e,n);return{installationEntry:n,registrationPromise:r}}return 1===t.registrationStatus?{installationEntry:t,registrationPromise:tt(e)}:{installationEntry:t}}(e,r);return t=i.registrationPromise,i.installationEntry}));return""===n.fid?{installationEntry:await t}:{installationEntry:n,registrationPromise:t}}async function tt(e){let t=await nt(e.appConfig);for(;1===t.registrationStatus;)await Ue(100),t=await nt(e.appConfig);if(0===t.registrationStatus){const{installationEntry:t,registrationPromise:n}=await et(e);return n||t}return t}function nt(e){return Qe(e,(e=>{if(!e)throw Le.create("installation-not-found");return rt(e)}))}function rt(e){return 1===(t=e).registrationStatus&&t.registrationTime+De<Date.now()?{fid:e.fid,registrationStatus:0}:e;var t;
  559. /**
  560. * @license
  561. * Copyright 2019 Google LLC
  562. *
  563. * Licensed under the Apache License, Version 2.0 (the "License");
  564. * you may not use this file except in compliance with the License.
  565. * You may obtain a copy of the License at
  566. *
  567. * http://www.apache.org/licenses/LICENSE-2.0
  568. *
  569. * Unless required by applicable law or agreed to in writing, software
  570. * distributed under the License is distributed on an "AS IS" BASIS,
  571. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  572. * See the License for the specific language governing permissions and
  573. * limitations under the License.
  574. */}async function it({appConfig:e,heartbeatServiceProvider:t},n){const r=function(e,{fid:t}){return`${Me(e)}/${t}/authTokens:generate`}
  575. /**
  576. * @license
  577. * Copyright 2019 Google LLC
  578. *
  579. * Licensed under the Apache License, Version 2.0 (the "License");
  580. * you may not use this file except in compliance with the License.
  581. * You may obtain a copy of the License at
  582. *
  583. * http://www.apache.org/licenses/LICENSE-2.0
  584. *
  585. * Unless required by applicable law or agreed to in writing, software
  586. * distributed under the License is distributed on an "AS IS" BASIS,
  587. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  588. * See the License for the specific language governing permissions and
  589. * limitations under the License.
  590. */(e,n),i=je(e,n),a=t.getImmediate({optional:!0});if(a){const e=await a.getHeartbeatsHeader();e&&i.append("x-firebase-client",e)}const o={installation:{sdkVersion:Ne,appId:e.appId}},s={method:"POST",headers:i,body:JSON.stringify(o)},c=await Fe((()=>fetch(r,s)));if(c.ok){return Be(await c.json())}throw await Re("Generate Auth Token",c)}async function at(e,t=!1){let n;const r=await Qe(e.appConfig,(r=>{if(!st(r))throw Le.create("not-registered");const i=r.authToken;if(!t&&function(e){return 2===e.requestStatus&&!function(e){const t=Date.now();return t<e.creationTime||e.creationTime+e.expiresIn<t+ke}(e)}(i))return r;if(1===i.requestStatus)return n=async function(e,t){let n=await ot(e.appConfig);for(;1===n.authToken.requestStatus;)await Ue(100),n=await ot(e.appConfig);const r=n.authToken;return 0===r.requestStatus?at(e,t):r}(e,t),r;{if(!navigator.onLine)throw Le.create("app-offline");const t=function(e){const t={requestStatus:1,requestTime:Date.now()};return Object.assign(Object.assign({},e),{authToken:t})}(r);return n=async function(e,t){try{const n=await it(e,t),r=Object.assign(Object.assign({},t),{authToken:n});return await Xe(e.appConfig,r),n}catch(n){if(!Pe(n)||401!==n.customData.serverCode&&404!==n.customData.serverCode){const n=Object.assign(Object.assign({},t),{authToken:{requestStatus:0}});await Xe(e.appConfig,n)}else await Ze(e.appConfig);throw n}}(e,t),t}}));return n?await n:r.authToken}function ot(e){return Qe(e,(e=>{if(!st(e))throw Le.create("not-registered");const t=e.authToken;return 1===(n=t).requestStatus&&n.requestTime+De<Date.now()?Object.assign(Object.assign({},e),{authToken:{requestStatus:0}}):e;var n;
  591. /**
  592. * @license
  593. * Copyright 2019 Google LLC
  594. *
  595. * Licensed under the Apache License, Version 2.0 (the "License");
  596. * you may not use this file except in compliance with the License.
  597. * You may obtain a copy of the License at
  598. *
  599. * http://www.apache.org/licenses/LICENSE-2.0
  600. *
  601. * Unless required by applicable law or agreed to in writing, software
  602. * distributed under the License is distributed on an "AS IS" BASIS,
  603. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  604. * See the License for the specific language governing permissions and
  605. * limitations under the License.
  606. */}))}function st(e){return void 0!==e&&2===e.registrationStatus}
  607. /**
  608. * @license
  609. * Copyright 2019 Google LLC
  610. *
  611. * Licensed under the Apache License, Version 2.0 (the "License");
  612. * you may not use this file except in compliance with the License.
  613. * You may obtain a copy of the License at
  614. *
  615. * http://www.apache.org/licenses/LICENSE-2.0
  616. *
  617. * Unless required by applicable law or agreed to in writing, software
  618. * distributed under the License is distributed on an "AS IS" BASIS,
  619. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  620. * See the License for the specific language governing permissions and
  621. * limitations under the License.
  622. */
  623. async function ct(e,t=!1){const n=e;await async function(e){const{registrationPromise:t}=await et(e);t&&await t}
  624. /**
  625. * @license
  626. * Copyright 2019 Google LLC
  627. *
  628. * Licensed under the Apache License, Version 2.0 (the "License");
  629. * you may not use this file except in compliance with the License.
  630. * You may obtain a copy of the License at
  631. *
  632. * http://www.apache.org/licenses/LICENSE-2.0
  633. *
  634. * Unless required by applicable law or agreed to in writing, software
  635. * distributed under the License is distributed on an "AS IS" BASIS,
  636. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  637. * See the License for the specific language governing permissions and
  638. * limitations under the License.
  639. */(n);return(await at(n,t)).token}function lt(e){return Le.create("missing-app-config-values",{valueName:e})}
  640. /**
  641. * @license
  642. * Copyright 2020 Google LLC
  643. *
  644. * Licensed under the Apache License, Version 2.0 (the "License");
  645. * you may not use this file except in compliance with the License.
  646. * You may obtain a copy of the License at
  647. *
  648. * http://www.apache.org/licenses/LICENSE-2.0
  649. *
  650. * Unless required by applicable law or agreed to in writing, software
  651. * distributed under the License is distributed on an "AS IS" BASIS,
  652. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  653. * See the License for the specific language governing permissions and
  654. * limitations under the License.
  655. */const ut="installations",pt=e=>{const t=ne(e.getProvider("app").getImmediate(),ut).getImmediate();return{getId:()=>async function(e){const t=e,{installationEntry:n,registrationPromise:r}=await et(t);return r?r.catch(console.error):at(t).catch(console.error),n.fid}(t),getToken:e=>ct(t,e)}};te(new v(ut,(e=>{const t=e.getProvider("app").getImmediate(),n=function(e){if(!e||!e.options)throw lt("App Configuration");if(!e.name)throw lt("App Name");const t=["projectId","apiKey","appId"];for(const n of t)if(!e.options[n])throw lt(n);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}(t);return{app:t,appConfig:n,heartbeatServiceProvider:ne(t,"heartbeat"),_delete:()=>Promise.resolve()}}),"PUBLIC")),te(new v("installations-internal",pt,"PRIVATE")),ce(Ce,Ae),ce(Ce,Ae,"esm2017");const ht="@firebase/performance",ft="0.6.4",dt=ft,gt="FB-PERF-TRACE-MEASURE",mt="_wt_",bt="_fcp",vt="_fid",_t="@firebase/performance/config",wt="@firebase/performance/configexpire",Et="Performance",yt=new f("performance",Et,{"trace started":"Trace {$traceName} was started before.","trace stopped":"Trace {$traceName} is not running.","nonpositive trace startTime":"Trace {$traceName} startTime should be positive.","nonpositive trace duration":"Trace {$traceName} duration should be positive.","no window":"Window is not available.","no app id":"App id is not available.","no project id":"Project id is not available.","no api key":"Api key is not available.","invalid cc log":"Attempted to queue invalid cc event","FB not default":"Performance can only start when Firebase app instance is the default one.","RC response not ok":"RC response is not ok","invalid attribute name":"Attribute name {$attributeName} is invalid.","invalid attribute value":"Attribute value {$attributeValue} is invalid.","invalid custom metric name":"Custom metric name {$customMetricName} is invalid","invalid String merger input":"Input for String merger is invalid, contact support team to resolve.","already initialized":"initializePerformance() has already been called with different options. To avoid this error, call initializePerformance() with the same options as when it was originally called, or call getPerformance() to return the already initialized instance."}),It=new D(Et);
  656. /**
  657. * @license
  658. * Copyright 2020 Google LLC
  659. *
  660. * Licensed under the Apache License, Version 2.0 (the "License");
  661. * you may not use this file except in compliance with the License.
  662. * You may obtain a copy of the License at
  663. *
  664. * http://www.apache.org/licenses/LICENSE-2.0
  665. *
  666. * Unless required by applicable law or agreed to in writing, software
  667. * distributed under the License is distributed on an "AS IS" BASIS,
  668. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  669. * See the License for the specific language governing permissions and
  670. * limitations under the License.
  671. */
  672. let St,Tt,Ct,At;It.logLevel=I.INFO;class Dt{constructor(e){if(this.window=e,!e)throw yt.create("no window");this.performance=e.performance,this.PerformanceObserver=e.PerformanceObserver,this.windowLocation=e.location,this.navigator=e.navigator,this.document=e.document,this.navigator&&this.navigator.cookieEnabled&&(this.localStorage=e.localStorage),e.perfMetrics&&e.perfMetrics.onFirstInputDelay&&(this.onFirstInputDelay=e.perfMetrics.onFirstInputDelay)}getUrl(){return this.windowLocation.href.split("?")[0]}mark(e){this.performance&&this.performance.mark&&this.performance.mark(e)}measure(e,t,n){this.performance&&this.performance.measure&&this.performance.measure(e,t,n)}getEntriesByType(e){return this.performance&&this.performance.getEntriesByType?this.performance.getEntriesByType(e):[]}getEntriesByName(e){return this.performance&&this.performance.getEntriesByName?this.performance.getEntriesByName(e):[]}getTimeOrigin(){return this.performance&&(this.performance.timeOrigin||this.performance.timing.navigationStart)}requiredApisAvailable(){return fetch&&Promise&&"undefined"!=typeof navigator&&navigator.cookieEnabled?!!u()||(It.info("IndexedDB is not supported by current browser"),!1):(It.info("Firebase Performance cannot start if browser does not support fetch and Promise or cookie is disabled."),!1)}setupObserver(e,t){if(!this.PerformanceObserver)return;new this.PerformanceObserver((e=>{for(const n of e.getEntries())t(n)})).observe({entryTypes:[e]})}static getInstance(){return void 0===St&&(St=new Dt(Tt)),St}}function Nt(){return Ct}
  673. /**
  674. * @license
  675. * Copyright 2020 Google LLC
  676. *
  677. * Licensed under the Apache License, Version 2.0 (the "License");
  678. * you may not use this file except in compliance with the License.
  679. * You may obtain a copy of the License at
  680. *
  681. * http://www.apache.org/licenses/LICENSE-2.0
  682. *
  683. * Unless required by applicable law or agreed to in writing, software
  684. * distributed under the License is distributed on an "AS IS" BASIS,
  685. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  686. * See the License for the specific language governing permissions and
  687. * limitations under the License.
  688. */
  689. function Ot(e,t){const n=e.length-t.length;if(n<0||n>1)throw yt.create("invalid String merger input");const r=[];for(let n=0;n<e.length;n++)r.push(e.charAt(n)),t.length>n&&r.push(t.charAt(n));return r.join("")}
  690. /**
  691. * @license
  692. * Copyright 2019 Google LLC
  693. *
  694. * Licensed under the Apache License, Version 2.0 (the "License");
  695. * you may not use this file except in compliance with the License.
  696. * You may obtain a copy of the License at
  697. *
  698. * http://www.apache.org/licenses/LICENSE-2.0
  699. *
  700. * Unless required by applicable law or agreed to in writing, software
  701. * distributed under the License is distributed on an "AS IS" BASIS,
  702. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  703. * See the License for the specific language governing permissions and
  704. * limitations under the License.
  705. */class kt{constructor(){this.instrumentationEnabled=!0,this.dataCollectionEnabled=!0,this.loggingEnabled=!1,this.tracesSamplingRate=1,this.networkRequestsSamplingRate=1,this.logEndPointUrl="https://firebaselogging.googleapis.com/v0cc/log?format=json_proto",this.flTransportEndpointUrl=Ot("hts/frbslgigp.ogepscmv/ieo/eaylg","tp:/ieaeogn-agolai.o/1frlglgc/o"),this.transportKey=Ot("AzSC8r6ReiGqFMyfvgow","Iayx0u-XT3vksVM-pIV"),this.logSource=462,this.logTraceAfterSampling=!1,this.logNetworkAfterSampling=!1,this.configTimeToLive=12}getFlTransportFullUrl(){return this.flTransportEndpointUrl.concat("?key=",this.transportKey)}static getInstance(){return void 0===At&&(At=new kt),At}}
  706. /**
  707. * @license
  708. * Copyright 2020 Google LLC
  709. *
  710. * Licensed under the Apache License, Version 2.0 (the "License");
  711. * you may not use this file except in compliance with the License.
  712. * You may obtain a copy of the License at
  713. *
  714. * http://www.apache.org/licenses/LICENSE-2.0
  715. *
  716. * Unless required by applicable law or agreed to in writing, software
  717. * distributed under the License is distributed on an "AS IS" BASIS,
  718. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  719. * See the License for the specific language governing permissions and
  720. * limitations under the License.
  721. */var Lt;!function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.VISIBLE=1]="VISIBLE",e[e.HIDDEN=2]="HIDDEN"}(Lt||(Lt={}));const Pt=["firebase_","google_","ga_"],Mt=new RegExp("^[a-zA-Z]\\w*$");function Bt(){const e=Dt.getInstance().navigator;return(null==e?void 0:e.serviceWorker)?e.serviceWorker.controller?2:3:1}function Rt(){switch(Dt.getInstance().document.visibilityState){case"visible":return Lt.VISIBLE;case"hidden":return Lt.HIDDEN;default:return Lt.UNKNOWN}}function $t(){const e=Dt.getInstance().navigator.connection;switch(e&&e.effectiveType){case"slow-2g":return 1;case"2g":return 2;case"3g":return 3;case"4g":return 4;default:return 0}}
  722. /**
  723. * @license
  724. * Copyright 2020 Google LLC
  725. *
  726. * Licensed under the Apache License, Version 2.0 (the "License");
  727. * you may not use this file except in compliance with the License.
  728. * You may obtain a copy of the License at
  729. *
  730. * http://www.apache.org/licenses/LICENSE-2.0
  731. *
  732. * Unless required by applicable law or agreed to in writing, software
  733. * distributed under the License is distributed on an "AS IS" BASIS,
  734. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  735. * See the License for the specific language governing permissions and
  736. * limitations under the License.
  737. */
  738. function jt(e){var t;const n=null===(t=e.options)||void 0===t?void 0:t.appId;if(!n)throw yt.create("no app id");return n}
  739. /**
  740. * @license
  741. * Copyright 2020 Google LLC
  742. *
  743. * Licensed under the Apache License, Version 2.0 (the "License");
  744. * you may not use this file except in compliance with the License.
  745. * You may obtain a copy of the License at
  746. *
  747. * http://www.apache.org/licenses/LICENSE-2.0
  748. *
  749. * Unless required by applicable law or agreed to in writing, software
  750. * distributed under the License is distributed on an "AS IS" BASIS,
  751. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  752. * See the License for the specific language governing permissions and
  753. * limitations under the License.
  754. */
  755. const Ft="0.0.1",Ut={loggingEnabled:!0},Vt="FIREBASE_INSTALLATIONS_AUTH";function Ht(e,t){const n=function(){const e=Dt.getInstance().localStorage;if(!e)return;const t=e.getItem(wt);if(!(t&&(n=t,Number(n)>Date.now())))return;var n;const r=e.getItem(_t);if(!r)return;try{return JSON.parse(r)}catch(e){return}}();return n?(zt(n),Promise.resolve()):function(e,t){return function(e){const t=e.getToken();return t.then((e=>{})),t}(e.installations).then((n=>{const r=function(e){var t;const n=null===(t=e.options)||void 0===t?void 0:t.projectId;if(!n)throw yt.create("no project id");return n}(e.app),i=function(e){var t;const n=null===(t=e.options)||void 0===t?void 0:t.apiKey;if(!n)throw yt.create("no api key");return n}(e.app),a=new Request(`https://firebaseremoteconfig.googleapis.com/v1/projects/${r}/namespaces/fireperf:fetch?key=${i}`,{method:"POST",headers:{Authorization:`${Vt} ${n}`},body:JSON.stringify({app_instance_id:t,app_instance_id_token:n,app_id:jt(e.app),app_version:dt,sdk_version:Ft})});return fetch(a).then((e=>{if(e.ok)return e.json();throw yt.create("RC response not ok")}))})).catch((()=>{It.info(xt)}))}(e,t).then(zt).then((e=>function(e){const t=Dt.getInstance().localStorage;if(!e||!t)return;t.setItem(_t,JSON.stringify(e)),t.setItem(wt,String(Date.now()+60*kt.getInstance().configTimeToLive*60*1e3))}(e)),(()=>{}))}const xt="Could not fetch config, will use default configs";function zt(e){if(!e)return e;const t=kt.getInstance(),n=e.entries||{};return void 0!==n.fpr_enabled?t.loggingEnabled="true"===String(n.fpr_enabled):t.loggingEnabled=Ut.loggingEnabled,n.fpr_log_source?t.logSource=Number(n.fpr_log_source):Ut.logSource&&(t.logSource=Ut.logSource),n.fpr_log_endpoint_url?t.logEndPointUrl=n.fpr_log_endpoint_url:Ut.logEndPointUrl&&(t.logEndPointUrl=Ut.logEndPointUrl),n.fpr_log_transport_key?t.transportKey=n.fpr_log_transport_key:Ut.transportKey&&(t.transportKey=Ut.transportKey),void 0!==n.fpr_vc_network_request_sampling_rate?t.networkRequestsSamplingRate=Number(n.fpr_vc_network_request_sampling_rate):void 0!==Ut.networkRequestsSamplingRate&&(t.networkRequestsSamplingRate=Ut.networkRequestsSamplingRate),void 0!==n.fpr_vc_trace_sampling_rate?t.tracesSamplingRate=Number(n.fpr_vc_trace_sampling_rate):void 0!==Ut.tracesSamplingRate&&(t.tracesSamplingRate=Ut.tracesSamplingRate),t.logTraceAfterSampling=qt(t.tracesSamplingRate),t.logNetworkAfterSampling=qt(t.networkRequestsSamplingRate),e}function qt(e){return Math.random()<=e}
  756. /**
  757. * @license
  758. * Copyright 2020 Google LLC
  759. *
  760. * Licensed under the Apache License, Version 2.0 (the "License");
  761. * you may not use this file except in compliance with the License.
  762. * You may obtain a copy of the License at
  763. *
  764. * http://www.apache.org/licenses/LICENSE-2.0
  765. *
  766. * Unless required by applicable law or agreed to in writing, software
  767. * distributed under the License is distributed on an "AS IS" BASIS,
  768. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  769. * See the License for the specific language governing permissions and
  770. * limitations under the License.
  771. */let Wt,Kt=1;function Jt(e){return Kt=2,Wt=Wt||function(e){return function(){const e=Dt.getInstance().document;return new Promise((t=>{if(e&&"complete"!==e.readyState){const n=()=>{"complete"===e.readyState&&(e.removeEventListener("readystatechange",n),t())};e.addEventListener("readystatechange",n)}else t()}))}().then((()=>function(e){const t=e.getId();return t.then((e=>{Ct=e})),t}(e.installations))).then((t=>Ht(e,t))).then((()=>Gt()),(()=>Gt()))}(e),Wt}function Gt(){Kt=3}
  772. /**
  773. * @license
  774. * Copyright 2020 Google LLC
  775. *
  776. * Licensed under the Apache License, Version 2.0 (the "License");
  777. * you may not use this file except in compliance with the License.
  778. * You may obtain a copy of the License at
  779. *
  780. * http://www.apache.org/licenses/LICENSE-2.0
  781. *
  782. * Unless required by applicable law or agreed to in writing, software
  783. * distributed under the License is distributed on an "AS IS" BASIS,
  784. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  785. * See the License for the specific language governing permissions and
  786. * limitations under the License.
  787. */const Yt=1e4;let Xt,Zt=3,Qt=[],en=!1;function tn(e){setTimeout((()=>{if(0!==Zt)return Qt.length?void function(){const e=Qt.splice(0,1e3),t=e.map((e=>({source_extension_json_proto3:e.message,event_time_ms:String(e.eventTime)})));(function(e,t){return function(e){const t=kt.getInstance().getFlTransportFullUrl();return fetch(t,{method:"POST",body:JSON.stringify(e)})}(e).then((e=>(e.ok||It.info("Call to Firebase backend failed."),e.json()))).then((e=>{const n=Number(e.nextRequestWaitMillis);let r=Yt;isNaN(n)||(r=Math.max(n,r));const i=e.logResponseDetails;Array.isArray(i)&&i.length>0&&"RETRY_REQUEST_LATER"===i[0].responseAction&&(Qt=[...t,...Qt],It.info("Retry transport request later.")),Zt=3,tn(r)}))})({request_time_ms:String(Date.now()),client_info:{client_type:1,js_client_info:{}},log_source:kt.getInstance().logSource,log_event:t},e).catch((()=>{Qt=[...e,...Qt],Zt--,It.info(`Tries left: ${Zt}.`),tn(Yt)}))}():tn(Yt)}),e)}function nn(e){return(...t)=>{!function(e){if(!e.eventTime||!e.message)throw yt.create("invalid cc log");Qt=[...Qt,e]}({message:e(...t),eventTime:Date.now()})}}
  788. /**
  789. * @license
  790. * Copyright 2020 Google LLC
  791. *
  792. * Licensed under the Apache License, Version 2.0 (the "License");
  793. * you may not use this file except in compliance with the License.
  794. * You may obtain a copy of the License at
  795. *
  796. * http://www.apache.org/licenses/LICENSE-2.0
  797. *
  798. * Unless required by applicable law or agreed to in writing, software
  799. * distributed under the License is distributed on an "AS IS" BASIS,
  800. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  801. * See the License for the specific language governing permissions and
  802. * limitations under the License.
  803. */function rn(e,t){Xt||(Xt=nn(sn)),Xt(e,t)}function an(e){const t=kt.getInstance();!t.instrumentationEnabled&&e.isAuto||(t.dataCollectionEnabled||e.isAuto)&&Dt.getInstance().requiredApisAvailable()&&(e.isAuto&&Rt()!==Lt.VISIBLE||(3===Kt?on(e):Jt(e.performanceController).then((()=>on(e)),(()=>on(e)))))}function on(e){if(!Nt())return;const t=kt.getInstance();t.loggingEnabled&&t.logTraceAfterSampling&&setTimeout((()=>rn(e,1)),0)}function sn(e,t){return 0===t?function(e){const t={url:e.url,http_method:e.httpMethod||0,http_response_code:200,response_payload_bytes:e.responsePayloadBytes,client_start_time_us:e.startTimeUs,time_to_response_initiated_us:e.timeToResponseInitiatedUs,time_to_response_completed_us:e.timeToResponseCompletedUs},n={application_info:cn(e.performanceController.app),network_request_metric:t};return JSON.stringify(n)}(e):function(e){const t={name:e.name,is_auto:e.isAuto,client_start_time_us:e.startTimeUs,duration_us:e.durationUs};0!==Object.keys(e.counters).length&&(t.counters=e.counters);const n=e.getAttributes();0!==Object.keys(n).length&&(t.custom_attributes=n);const r={application_info:cn(e.performanceController.app),trace_metric:t};return JSON.stringify(r)}(e)}function cn(e){return{google_app_id:jt(e),app_instance_id:Nt(),web_app_info:{sdk_version:dt,page_url:Dt.getInstance().getUrl(),service_worker_status:Bt(),visibility_state:Rt(),effective_connection_type:$t()},application_process_state:0}}
  804. /**
  805. * @license
  806. * Copyright 2020 Google LLC
  807. *
  808. * Licensed under the Apache License, Version 2.0 (the "License");
  809. * you may not use this file except in compliance with the License.
  810. * You may obtain a copy of the License at
  811. *
  812. * http://www.apache.org/licenses/LICENSE-2.0
  813. *
  814. * Unless required by applicable law or agreed to in writing, software
  815. * distributed under the License is distributed on an "AS IS" BASIS,
  816. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  817. * See the License for the specific language governing permissions and
  818. * limitations under the License.
  819. */const ln=["_fp",bt,vt];
  820. /**
  821. * @license
  822. * Copyright 2020 Google LLC
  823. *
  824. * Licensed under the Apache License, Version 2.0 (the "License");
  825. * you may not use this file except in compliance with the License.
  826. * You may obtain a copy of the License at
  827. *
  828. * http://www.apache.org/licenses/LICENSE-2.0
  829. *
  830. * Unless required by applicable law or agreed to in writing, software
  831. * distributed under the License is distributed on an "AS IS" BASIS,
  832. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  833. * See the License for the specific language governing permissions and
  834. * limitations under the License.
  835. */
  836. class un{constructor(e,t,n=!1,r){this.performanceController=e,this.name=t,this.isAuto=n,this.state=1,this.customAttributes={},this.counters={},this.api=Dt.getInstance(),this.randomId=Math.floor(1e6*Math.random()),this.isAuto||(this.traceStartMark=`FB-PERF-TRACE-START-${this.randomId}-${this.name}`,this.traceStopMark=`FB-PERF-TRACE-STOP-${this.randomId}-${this.name}`,this.traceMeasure=r||`FB-PERF-TRACE-MEASURE-${this.randomId}-${this.name}`,r&&this.calculateTraceMetrics())}start(){if(1!==this.state)throw yt.create("trace started",{traceName:this.name});this.api.mark(this.traceStartMark),this.state=2}stop(){if(2!==this.state)throw yt.create("trace stopped",{traceName:this.name});this.state=3,this.api.mark(this.traceStopMark),this.api.measure(this.traceMeasure,this.traceStartMark,this.traceStopMark),this.calculateTraceMetrics(),an(this)}record(e,t,n){if(e<=0)throw yt.create("nonpositive trace startTime",{traceName:this.name});if(t<=0)throw yt.create("nonpositive trace duration",{traceName:this.name});if(this.durationUs=Math.floor(1e3*t),this.startTimeUs=Math.floor(1e3*e),n&&n.attributes&&(this.customAttributes=Object.assign({},n.attributes)),n&&n.metrics)for(const e of Object.keys(n.metrics))isNaN(Number(n.metrics[e]))||(this.counters[e]=Math.floor(Number(n.metrics[e])));an(this)}incrementMetric(e,t=1){void 0===this.counters[e]?this.putMetric(e,t):this.putMetric(e,this.counters[e]+t)}putMetric(e,t){if(!function(e,t){return!(0===e.length||e.length>100)&&(t&&t.startsWith(mt)&&ln.indexOf(e)>-1||!e.startsWith("_"))}(e,this.name))throw yt.create("invalid custom metric name",{customMetricName:e});this.counters[e]=function(e){const t=Math.floor(e);return t<e&&It.info(`Metric value should be an Integer, setting the value as : ${t}.`),t}(null!=t?t:0)}getMetric(e){return this.counters[e]||0}putAttribute(e,t){const n=function(e){return!(0===e.length||e.length>40)&&(!Pt.some((t=>e.startsWith(t)))&&!!e.match(Mt))}(e),r=function(e){return 0!==e.length&&e.length<=100}(t);if(n&&r)this.customAttributes[e]=t;else{if(!n)throw yt.create("invalid attribute name",{attributeName:e});if(!r)throw yt.create("invalid attribute value",{attributeValue:t})}}getAttribute(e){return this.customAttributes[e]}removeAttribute(e){void 0!==this.customAttributes[e]&&delete this.customAttributes[e]}getAttributes(){return Object.assign({},this.customAttributes)}setStartTime(e){this.startTimeUs=e}setDuration(e){this.durationUs=e}calculateTraceMetrics(){const e=this.api.getEntriesByName(this.traceMeasure),t=e&&e[0];t&&(this.durationUs=Math.floor(1e3*t.duration),this.startTimeUs=Math.floor(1e3*(t.startTime+this.api.getTimeOrigin())))}static createOobTrace(e,t,n,r){const i=Dt.getInstance().getUrl();if(!i)return;const a=new un(e,mt+i,!0),o=Math.floor(1e3*Dt.getInstance().getTimeOrigin());a.setStartTime(o),t&&t[0]&&(a.setDuration(Math.floor(1e3*t[0].duration)),a.putMetric("domInteractive",Math.floor(1e3*t[0].domInteractive)),a.putMetric("domContentLoadedEventEnd",Math.floor(1e3*t[0].domContentLoadedEventEnd)),a.putMetric("loadEventEnd",Math.floor(1e3*t[0].loadEventEnd)));if(n){const e=n.find((e=>"first-paint"===e.name));e&&e.startTime&&a.putMetric("_fp",Math.floor(1e3*e.startTime));const t=n.find((e=>"first-contentful-paint"===e.name));t&&t.startTime&&a.putMetric(bt,Math.floor(1e3*t.startTime)),r&&a.putMetric(vt,Math.floor(1e3*r))}an(a)}static createUserTimingTrace(e,t){an(new un(e,t,!1,t))}}
  837. /**
  838. * @license
  839. * Copyright 2020 Google LLC
  840. *
  841. * Licensed under the Apache License, Version 2.0 (the "License");
  842. * you may not use this file except in compliance with the License.
  843. * You may obtain a copy of the License at
  844. *
  845. * http://www.apache.org/licenses/LICENSE-2.0
  846. *
  847. * Unless required by applicable law or agreed to in writing, software
  848. * distributed under the License is distributed on an "AS IS" BASIS,
  849. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  850. * See the License for the specific language governing permissions and
  851. * limitations under the License.
  852. */function pn(e,t){const n=t;if(!n||void 0===n.responseStart)return;const r=Dt.getInstance().getTimeOrigin(),i=Math.floor(1e3*(n.startTime+r)),a=n.responseStart?Math.floor(1e3*(n.responseStart-n.startTime)):void 0,o=Math.floor(1e3*(n.responseEnd-n.startTime));!function(e){const t=kt.getInstance();if(!t.instrumentationEnabled)return;const n=e.url,r=t.logEndPointUrl.split("?")[0],i=t.flTransportEndpointUrl.split("?")[0];n!==r&&n!==i&&t.loggingEnabled&&t.logNetworkAfterSampling&&setTimeout((()=>rn(e,0)),0)}({performanceController:e,url:n.name&&n.name.split("?")[0],responsePayloadBytes:n.transferSize,startTimeUs:i,timeToResponseInitiatedUs:a,timeToResponseCompletedUs:o})}
  853. /**
  854. * @license
  855. * Copyright 2020 Google LLC
  856. *
  857. * Licensed under the Apache License, Version 2.0 (the "License");
  858. * you may not use this file except in compliance with the License.
  859. * You may obtain a copy of the License at
  860. *
  861. * http://www.apache.org/licenses/LICENSE-2.0
  862. *
  863. * Unless required by applicable law or agreed to in writing, software
  864. * distributed under the License is distributed on an "AS IS" BASIS,
  865. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  866. * See the License for the specific language governing permissions and
  867. * limitations under the License.
  868. */function hn(e){Nt()&&(setTimeout((()=>function(e){const t=Dt.getInstance(),n=t.getEntriesByType("navigation"),r=t.getEntriesByType("paint");if(t.onFirstInputDelay){let i=setTimeout((()=>{un.createOobTrace(e,n,r),i=void 0}),5e3);t.onFirstInputDelay((t=>{i&&(clearTimeout(i),un.createOobTrace(e,n,r,t))}))}else un.createOobTrace(e,n,r)}(e)),0),setTimeout((()=>function(e){const t=Dt.getInstance(),n=t.getEntriesByType("resource");for(const t of n)pn(e,t);t.setupObserver("resource",(t=>pn(e,t)))}(e)),0),setTimeout((()=>function(e){const t=Dt.getInstance(),n=t.getEntriesByType("measure");for(const t of n)fn(e,t);t.setupObserver("measure",(t=>fn(e,t)))}(e)),0))}function fn(e,t){const n=t.name;n.substring(0,gt.length)!==gt&&un.createUserTimingTrace(e,n)}
  869. /**
  870. * @license
  871. * Copyright 2020 Google LLC
  872. *
  873. * Licensed under the Apache License, Version 2.0 (the "License");
  874. * you may not use this file except in compliance with the License.
  875. * You may obtain a copy of the License at
  876. *
  877. * http://www.apache.org/licenses/LICENSE-2.0
  878. *
  879. * Unless required by applicable law or agreed to in writing, software
  880. * distributed under the License is distributed on an "AS IS" BASIS,
  881. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  882. * See the License for the specific language governing permissions and
  883. * limitations under the License.
  884. */class dn{constructor(e,t){this.app=e,this.installations=t,this.initialized=!1}_init(e){this.initialized||(void 0!==(null==e?void 0:e.dataCollectionEnabled)&&(this.dataCollectionEnabled=e.dataCollectionEnabled),void 0!==(null==e?void 0:e.instrumentationEnabled)&&(this.instrumentationEnabled=e.instrumentationEnabled),Dt.getInstance().requiredApisAvailable()?p().then((e=>{e&&(en||(tn(5500),en=!0),Jt(this).then((()=>hn(this)),(()=>hn(this))),this.initialized=!0)})).catch((e=>{It.info(`Environment doesn't support IndexedDB: ${e}`)})):It.info('Firebase Performance cannot start if the browser does not support "Fetch" and "Promise", or cookies are disabled.'))}set instrumentationEnabled(e){kt.getInstance().instrumentationEnabled=e}get instrumentationEnabled(){return kt.getInstance().instrumentationEnabled}set dataCollectionEnabled(e){kt.getInstance().dataCollectionEnabled=e}get dataCollectionEnabled(){return kt.getInstance().dataCollectionEnabled}}te(new v("performance",((e,{options:t})=>{const n=e.getProvider("app").getImmediate(),r=e.getProvider("installations-internal").getImmediate();if("[DEFAULT]"!==n.name)throw yt.create("FB not default");if("undefined"==typeof window)throw yt.create("no window");!function(e){Tt=e}
  885. /**
  886. * @license
  887. * Copyright 2020 Google LLC
  888. *
  889. * Licensed under the Apache License, Version 2.0 (the "License");
  890. * you may not use this file except in compliance with the License.
  891. * You may obtain a copy of the License at
  892. *
  893. * http://www.apache.org/licenses/LICENSE-2.0
  894. *
  895. * Unless required by applicable law or agreed to in writing, software
  896. * distributed under the License is distributed on an "AS IS" BASIS,
  897. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  898. * See the License for the specific language governing permissions and
  899. * limitations under the License.
  900. */(window);const i=new dn(n,r);return i._init(t),i}),"PUBLIC")),ce(ht,ft),ce(ht,ft,"esm2017");
  901. /**
  902. * @license
  903. * Copyright 2020 Google LLC
  904. *
  905. * Licensed under the Apache License, Version 2.0 (the "License");
  906. * you may not use this file except in compliance with the License.
  907. * You may obtain a copy of the License at
  908. *
  909. * http://www.apache.org/licenses/LICENSE-2.0
  910. *
  911. * Unless required by applicable law or agreed to in writing, software
  912. * distributed under the License is distributed on an "AS IS" BASIS,
  913. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  914. * See the License for the specific language governing permissions and
  915. * limitations under the License.
  916. */
  917. class gn{constructor(e,t){this.app=e,this._delegate=t}get instrumentationEnabled(){return this._delegate.instrumentationEnabled}set instrumentationEnabled(e){this._delegate.instrumentationEnabled=e}get dataCollectionEnabled(){return this._delegate.dataCollectionEnabled}set dataCollectionEnabled(e){this._delegate.dataCollectionEnabled=e}trace(e){return function(e,t){var n;return e=(n=e)&&n._delegate?n._delegate:n,new un(e,t)}(this._delegate,e)}}function mn(e){const t=e.getProvider("app-compat").getImmediate(),n=e.getProvider("performance").getImmediate();return new gn(t,n)}
  918. /**
  919. * @license
  920. * Copyright 2020 Google LLC
  921. *
  922. * Licensed under the Apache License, Version 2.0 (the "License");
  923. * you may not use this file except in compliance with the License.
  924. * You may obtain a copy of the License at
  925. *
  926. * http://www.apache.org/licenses/LICENSE-2.0
  927. *
  928. * Unless required by applicable law or agreed to in writing, software
  929. * distributed under the License is distributed on an "AS IS" BASIS,
  930. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  931. * See the License for the specific language governing permissions and
  932. * limitations under the License.
  933. */
  934. var bn;(bn=Te).INTERNAL.registerComponent(new v("performance-compat",mn,"PUBLIC")),bn.registerVersion("@firebase/performance-compat","0.2.4");
  935. /**
  936. * @license
  937. * Copyright 2019 Google LLC
  938. *
  939. * Licensed under the Apache License, Version 2.0 (the "License");
  940. * you may not use this file except in compliance with the License.
  941. * You may obtain a copy of the License at
  942. *
  943. * http://www.apache.org/licenses/LICENSE-2.0
  944. *
  945. * Unless required by applicable law or agreed to in writing, software
  946. * distributed under the License is distributed on an "AS IS" BASIS,
  947. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  948. * See the License for the specific language governing permissions and
  949. * limitations under the License.
  950. */
  951. return Te.registerVersion("firebase","9.23.0","compat-lite"),Te}));
  952. //# sourceMappingURL=firebase-performance-standalone-compat.es2017.js.map