UNPKG

firebase

Version:

Firebase JavaScript library for web and Node.js

3 lines (2 loc) • 49.5 kB
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(require("@firebase/app-compat"),require("@firebase/app")):"function"==typeof define&&define.amd?define(["@firebase/app-compat","@firebase/app"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).firebase,e.firebase.INTERNAL.modularAPIs)})(this,function(Xa,ei){try{!(function(){function A(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var x,F=A(Xa);function B(){try{return"object"==typeof indexedDB}catch(e){return!1}}class L extends Error{constructor(e,t,a){super(t),this.code=e,this.customData=a,this.name="FirebaseError",Object.setPrototypeOf(this,L.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,i.prototype.create)}}class i{constructor(e,t,a){this.service=e,this.serviceName=t,this.errors=a}create(e,...t){var i,a=t[0]||{},n=this.service+"/"+e,r=this.errors[e],r=r?(i=a,r.replace(H,(e,t)=>{var a=i[t];return null!=a?String(a):`<${t}?>`})):"Error",r=this.serviceName+`: ${r} (${n}).`;return new L(n,r,a)}}let H=/\{\$([^}]+)}/g;function n(e){return e&&e._delegate?e._delegate:e}class e{constructor(e,t,a){this.name=e,this.instanceFactory=t,this.type=a,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}let U=(t,e)=>e.some(e=>t instanceof e),q,V;let W=new WeakMap,$=new WeakMap,Q=new WeakMap,G=new WeakMap,J=new WeakMap;let z={get(e,t,a){if(e instanceof IDBTransaction){if("done"===t)return $.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Q.get(e);if("store"===t)return a.objectStoreNames[1]?void 0:a.objectStore(a.objectStoreNames[0])}return c(e[t])},set(e,t,a){return e[t]=a,!0},has(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function Z(i){return i!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(V=V||[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]).includes(i)?function(...e){return i.apply(X(this),e),c(W.get(this))}:function(...e){return c(i.apply(X(this),e))}:function(e,...t){var a=i.call(X(this),e,...t);return Q.set(a,e.sort?e.sort():[e]),c(a)}}function Y(e){var r,t;return"function"==typeof e?Z(e):(e instanceof IDBTransaction&&(r=e,$.has(r)||(t=new Promise((e,t)=>{let a=()=>{r.removeEventListener("complete",i),r.removeEventListener("error",n),r.removeEventListener("abort",n)},i=()=>{e(),a()},n=()=>{t(r.error||new DOMException("AbortError","AbortError")),a()};r.addEventListener("complete",i),r.addEventListener("error",n),r.addEventListener("abort",n)}),$.set(r,t))),U(e,q=q||[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])?new Proxy(e,z):e)}function c(e){var r,t;return e instanceof IDBRequest?(r=e,(t=new Promise((e,t)=>{let a=()=>{r.removeEventListener("success",i),r.removeEventListener("error",n)},i=()=>{e(c(r.result)),a()},n=()=>{t(r.error),a()};r.addEventListener("success",i),r.addEventListener("error",n)})).then(e=>{e instanceof IDBCursor&&W.set(e,r)}).catch(()=>{}),J.set(t,r),t):G.has(e)?G.get(e):((t=Y(e))!==e&&(G.set(e,t),J.set(t,e)),t)}let X=e=>J.get(e);function t(e,t,{blocked:a,upgrade:i,blocking:n,terminated:r}={}){let o=indexedDB.open(e,t);var s=c(o);return i&&o.addEventListener("upgradeneeded",e=>{i(c(o.result),e.oldVersion,e.newVersion,c(o.transaction),e)}),a&&o.addEventListener("blocked",e=>a(e.oldVersion,e.newVersion,e)),s.then(e=>{r&&e.addEventListener("close",()=>r()),n&&e.addEventListener("versionchange",e=>n(e.oldVersion,e.newVersion,e))}).catch(()=>{}),s}function a(e,{blocked:t}={}){var a=indexedDB.deleteDatabase(e);return t&&a.addEventListener("blocked",e=>t(e.oldVersion,e)),c(a).then(()=>{})}let ee=["get","getKey","getAll","getAllKeys","count"],te=["put","add","delete","clear"],ae=new Map;function ie(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if(ae.get(t))return ae.get(t);let n=t.replace(/FromIndex$/,""),r=t!==n,o=te.includes(n);var a;return n in(r?IDBIndex:IDBObjectStore).prototype&&(o||ee.includes(n))?(a=async function(e,...t){var a=this.transaction(e,o?"readwrite":"readonly");let i=a.store;return r&&(i=i.index(t.shift())),(await Promise.all([i[n](...t),o&&a.done]))[0]},ae.set(t,a),a):void 0}}z={...x=z,get:(e,t,a)=>ie(e,t)||x.get(e,t,a),has:(e,t)=>!!ie(e,t)||x.has(e,t)};var ne="@firebase/installations",re="0.6.22";let oe=1e4,se="w:"+re,ce="FIS_v2",de="https://firebaseinstallations.googleapis.com/v1",le=36e5;var r,o,d,s;let l=new i("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 L&&e.code.includes("request-failed")}function ue({projectId:e}){return de+`/projects/${e}/installations`}function fe(e){return{token:e.token,requestStatus:2,expiresIn:Number(e.expiresIn.replace("s","000")),creationTime:Date.now()}}async function ge(e,t){var a=(await t.json()).error;return l.create("request-failed",{requestName:e,serverCode:a.code,serverMessage:a.message,serverStatus:a.status})}function he({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}function we(e,{refreshToken:t}){var a=he(e);return a.append("Authorization",(e=t,ce+" "+e)),a}async function be(e){var t=await e();return 500<=t.status&&t.status<600?e():t}function me(t){return new Promise(e=>{setTimeout(e,t)})}let ve=/^[cdef][\w-]{21}$/,ye="";function ke(){try{var e=new Uint8Array(17),t=((self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16,(e=>btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_"))(e).substr(0,22));return ve.test(t)?t:ye}catch{return ye}}function p(e){return e.appName+"!"+e.appId}let u=new Map;function Ie(e,t){var a=p(e),e=(Se(a,t),a),a=Te();a&&a.postMessage({key:e,fid:t}),De()}function Se(e,t){var a=u.get(e);if(a)for(var i of a)i(t)}let f=null;function Te(){return!f&&"BroadcastChannel"in self&&((f=new BroadcastChannel("[Firebase] FID Change")).onmessage=e=>{Se(e.data.key,e.data.fid)}),f}function De(){0===u.size&&f&&(f.close(),f=null)}let Ce="firebase-installations-database",_e=1,g="firebase-installations-store",Ee=null;function Me(){return Ee=Ee||t(Ce,_e,{upgrade:(e,t)=>{0===t&&e.createObjectStore(g)}})}async function h(e,t){var a=p(e),i=(await Me()).transaction(g,"readwrite"),n=i.objectStore(g),r=await n.get(a);return await n.put(t,a),await i.done,r&&r.fid===t.fid||Ie(e,t.fid),t}async function je(e){var t=p(e),a=(await Me()).transaction(g,"readwrite");await a.objectStore(g).delete(t),await a.done}async function w(e,t){var a=p(e),i=(await Me()).transaction(g,"readwrite"),n=i.objectStore(g),r=await n.get(a),o=t(r);return void 0===o?await n.delete(a):await n.put(o,a),await i.done,!o||r&&r.fid===o.fid||Ie(e,o.fid),o}async function Pe(a){let i;var e=await w(a.appConfig,e=>{var t=Ne(e||{fid:ke(),registrationStatus:0}),t=((e,t)=>{var a,i;return 0===t.registrationStatus?navigator.onLine?(a={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},i=(async(t,a)=>{try{var e=await(async({appConfig:e,heartbeatServiceProvider:t},{fid:a})=>{let i=ue(e);var n=he(e),r=((r=t.getImmediate({optional:!0}))&&(r=await r.getHeartbeatsHeader())&&n.append("x-firebase-client",r),{fid:a,authVersion:ce,appId:e.appId,sdkVersion:se});let o={method:"POST",headers:n,body:JSON.stringify(r)};if((n=await be(()=>fetch(i,o))).ok)return{fid:(r=await n.json()).fid||a,registrationStatus:2,refreshToken:r.refreshToken,authToken:fe(r.authToken)};throw await ge("Create Installation",n)})(t,a);return h(t.appConfig,e)}catch(e){throw pe(e)&&409===e.customData.serverCode?await je(t.appConfig):await h(t.appConfig,{fid:a.fid,registrationStatus:0}),e}})(e,a),{installationEntry:a,registrationPromise:i}):(a=Promise.reject(l.create("app-offline")),{installationEntry:t,registrationPromise:a}):1===t.registrationStatus?{installationEntry:t,registrationPromise:(async e=>{let t=await Ke(e.appConfig);for(;1===t.registrationStatus;)await me(100),t=await Ke(e.appConfig);var a,i;return 0!==t.registrationStatus?t:({installationEntry:a,registrationPromise:i}=await Pe(e),i||a)})(e)}:{installationEntry:t}})(a,t);return i=t.registrationPromise,t.installationEntry});return e.fid===ye?{installationEntry:await i}:{installationEntry:e,registrationPromise:i}}function Ke(e){return w(e,e=>{if(e)return Ne(e);throw l.create("installation-not-found")})}function Ne(e){var t;return 1===(t=e).registrationStatus&&t.registrationTime+oe<Date.now()?{fid:e.fid,registrationStatus:0}:e}async function Oe({appConfig:e,heartbeatServiceProvider:t},a){[n,r]=[e,a.fid];let i=ue(n)+`/${r}/authTokens:generate`;var n,r,o=we(e,a),s=t.getImmediate({optional:!0}),s=(s&&(s=await s.getHeartbeatsHeader())&&o.append("x-firebase-client",s),{installation:{sdkVersion:se,appId:e.appId}});let c={method:"POST",headers:o,body:JSON.stringify(s)};o=await be(()=>fetch(i,c));if(o.ok)return fe(await o.json());throw await ge("Generate Auth Token",o)}async function Re(i,n=!1){let r;var e=await w(i.appConfig,e=>{if(!xe(e))throw l.create("not-registered");var t,a=e.authToken;if(n||2!==(t=a).requestStatus||(e=>{var t=Date.now();return t<e.creationTime||e.creationTime+e.expiresIn<t+le})(t)){if(1===a.requestStatus)return r=(async(e,t)=>{let a=await Ae(e.appConfig);for(;1===a.authToken.requestStatus;)await me(100),a=await Ae(e.appConfig);var i=a.authToken;return 0===i.requestStatus?Re(e,t):i})(i,n),e;if(navigator.onLine)return t=e,a={requestStatus:1,requestTime:Date.now()},a={...t,authToken:a},r=(async(t,a)=>{try{var e=await Oe(t,a),i={...a,authToken:e};return await h(t.appConfig,i),e}catch(e){var n;throw!pe(e)||401!==e.customData.serverCode&&404!==e.customData.serverCode?(n={...a,authToken:{requestStatus:0}},await h(t.appConfig,n)):await je(t.appConfig),e}})(i,a),a;throw l.create("app-offline")}return e});return r?await r:e.authToken}function Ae(e){return w(e,e=>{var t,a;if(xe(e))return t=e.authToken,1===(a=t).requestStatus&&a.requestTime+oe<Date.now()?{...e,authToken:{requestStatus:0}}:e;throw l.create("not-registered")})}function xe(e){return void 0!==e&&2===e.registrationStatus}async function Fe(e,t=!1){var a=e,i=(await(!(i=(await Pe(a)).registrationPromise)||!await i),await Re(a,t));return i.token}function Be(t,n){let r=t.appConfig;{t=r;var a=n,i=(Te(),p(t));let e=u.get(i);e||(e=new Set,u.set(i,e)),e.add(a)}return()=>{var e,t,a,i;e=r,t=n,a=p(e),(i=u.get(a))&&(i.delete(t),0===i.size&&u.delete(a),De())}}function Le(e){return l.create("missing-app-config-values",{valueName:e})}let He="installations",Ue=e=>{var t=e.getProvider("app").getImmediate();return{app:t,appConfig:(e=>{if(!e||!e.options)throw Le("App Configuration");if(!e.name)throw Le("App Name");var t;for(t of["projectId","apiKey","appId"])if(!e.options[t])throw Le(t);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}})(t),heartbeatServiceProvider:ei._getProvider(t,"heartbeat"),_delete:()=>Promise.resolve()}},qe=e=>{var t=e.getProvider("app").getImmediate();let a=ei._getProvider(t,He).getImmediate();return{getId:()=>(async e=>{var t=e,{installationEntry:a,registrationPromise:i}=await Pe(t);return(i||Re(t)).catch(console.error),a.fid})(a),getToken:e=>Fe(a,e)}};ei._registerComponent(new e(He,Ue,"PUBLIC")),ei._registerComponent(new e("installations-internal",qe,"PRIVATE")),ei.registerVersion(ne,re),ei.registerVersion(ne,re,"esm2020");let Ve="/firebase-messaging-sw.js",We="/firebase-cloud-messaging-push-scope",$e="BDOU99-h67HcA6JeFXHbSNMu7e2yNNu3RzoMj8TM4W88jITfq7ZmPvIM1Iv-4_l2LxQcYwhqby2xGpWwzjfAnG4",Qe="https://fcmregistrations.googleapis.com/v1",Ge="google.c.a.c_id",Je="google.c.a.c_l",ze="google.c.a.ts",Ze="google.c.a.e",Ye=1e4;function b(e){var t=new Uint8Array(e);return btoa(String.fromCharCode(...t)).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Xe(e){var t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),a=atob(t),i=new Uint8Array(a.length);for(let n=0;n<a.length;++n)i[n]=a.charCodeAt(n);return i}(s=r=r||{}).PUSH_RECEIVED="push-received",s.NOTIFICATION_CLICKED="notification-clicked",s.FID_REGISTERED="fid-registered";let et="fcm_token_details_db",tt=5,at="fcm_token_object_Store";async function it(o){if("databases"in indexedDB&&!(await indexedDB.databases()).map(e=>e.name).includes(et))return null;let s=null;return(await t(et,tt,{upgrade:async(e,t,a,i)=>{var n,r;t<2||e.objectStoreNames.contains(at)&&(n=await(r=i.objectStore(at)).index("fcmSenderId").get(o),await r.clear(),n)&&(2===t?(r=n).auth&&r.p256dh&&r.endpoint&&(s={token:r.fcmToken,createTime:r.createTime??Date.now(),subscriptionOptions:{auth:r.auth,p256dh:r.p256dh,endpoint:r.endpoint,swScope:r.swScope,vapidKey:"string"==typeof r.vapidKey?r.vapidKey:b(r.vapidKey)}}):3===t?(r=n,s={token:r.fcmToken,createTime:r.createTime,subscriptionOptions:{auth:b(r.auth),p256dh:b(r.p256dh),endpoint:r.endpoint,swScope:r.swScope,vapidKey:b(r.vapidKey)}}):4===t&&(r=n,s={token:r.fcmToken,createTime:r.createTime,subscriptionOptions:{auth:b(r.auth),p256dh:b(r.p256dh),endpoint:r.endpoint,swScope:r.swScope,vapidKey:b(r.vapidKey)}}))}})).close(),await a(et),await a("fcm_vapid_details_db"),await a("undefined"),(e=>{var t;if(e&&e.subscriptionOptions)return t=e.subscriptionOptions,"number"==typeof e.createTime&&0<e.createTime&&"string"==typeof e.token&&0<e.token.length&&"string"==typeof t.auth&&0<t.auth.length&&"string"==typeof t.p256dh&&0<t.p256dh.length&&"string"==typeof t.endpoint&&0<t.endpoint.length&&"string"==typeof t.swScope&&0<t.swScope.length&&"string"==typeof t.vapidKey&&0<t.vapidKey.length})(s)?s:null}let m=new i("messaging","Messaging",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"only-available-in-window":"This method is available in a Window context.","only-available-in-sw":"This method is available in a service worker context.","permission-default":"The notification permission was not granted and dismissed instead.","permission-blocked":"The notification permission was not granted and blocked instead.","unsupported-browser":"This browser doesn't support the API's required to use the Firebase SDK.","indexed-db-unsupported":"This browser doesn't support indexedDb.open() (ex. Safari iFrame, Firefox Private Browsing, etc)","failed-service-worker-registration":"We are unable to register the default service worker. {$browserErrorMessage}","token-subscribe-failed":"A problem occurred while subscribing the user to FCM: {$errorInfo}","token-subscribe-no-token":"FCM returned no token when subscribing the user to push.","fid-registration-failed":"A problem occurred while creating an FCM registration via FID: {$errorInfo}","fid-unregister-failed":"A problem occurred while unregistering the FCM registration via FID: {$errorInfo}","fid-registration-idb-schema-unavailable":"Unable to read or persist FID registration metadata because the messaging IndexedDB schema is unavailable (for example, the database could not be upgraded to the latest version).","token-unsubscribe-failed":"A problem occurred while unsubscribing the user from FCM: {$errorInfo}","token-update-failed":"A problem occurred while updating the user from FCM: {$errorInfo}","token-update-no-token":"FCM returned no token when updating the user to push.","use-sw-after-get-token":"The useServiceWorker() method may only be called once and must be called before calling getToken() to ensure your service worker is used.","invalid-sw-registration":"The input to useServiceWorker() must be a ServiceWorkerRegistration.","invalid-bg-handler":"The input to setBackgroundMessageHandler() must be a function.","invalid-vapid-key":"The public VAPID key must be a string.","use-vapid-key-after-get-token":"The usePublicVapidKey() method may only be called once and must be called before calling getToken() to ensure your VAPID key is used.","invalid-on-registered-handler":"No onRegistered callback handler was provided or registered. Implement onRegistered() before register()."}),nt="firebase-messaging-database",rt=2,v="firebase-messaging-store",y="firebase-messaging-fid-registration-store",ot={openDB:t,deleteDB:a},k=null;function st(n){return{upgrade:(e,t)=>{var a=e,i=n;switch(t){case 0:if(a.createObjectStore(v),1===i)break;case 1:2===i&&a.createObjectStore(y)}},blocked:()=>{},blocking:(e,t,a)=>{k=null,a.target?.close()},terminated:()=>{k=null}}}function I(){var e;return k||(e=ot.openDB(nt,rt,st(2)),k=e.catch(()=>ot.openDB(nt,rt-1,st(1)))),k}function ct(e,t){return e.objectStoreNames.contains(t)}function dt(e){if(!ct(e,y))throw m.create("fid-registration-idb-schema-unavailable")}async function lt(e){var t=S(e),t=await(await I()).transaction(v).objectStore(v).get(t);return t||((t=await it(e.appConfig.senderId))?(await pt(e,t),t):void 0)}async function pt(e,t){var a=S(e),i=await I(),n=[v],r=ct(i,y),i=(r&&n.push(y),i.transaction(n,"readwrite"));return await i.objectStore(v).put(t,a),r&&await i.objectStore(y).delete(a),await i.done,t}async function ut(e){var t=S(e),a=await I();return dt(a),a.transaction(y).objectStore(y).get(t)}function S({appConfig:e}){return e.appId}let ft="@firebase/messaging",gt="0.13.0",ht=3,wt=1e3;async function bt(e,t){var a=await D(e),i=yt(t,e.appConfig.appName,!0);let n={method:"POST",headers:a,body:JSON.stringify(i)},r;try{r=await(async(e,t,a)=>{let i;for(let n=0;n<t;n++)try{return await e()}catch(e){if(i=e,n<t-1){let t=a*Math.pow(2,n);await new Promise(e=>setTimeout(e,t))}}throw i})(()=>fetch(T(e.appConfig),n),ht,wt)}catch(e){throw m.create("fid-registration-failed",{errorInfo:e?.toString()})}if(r.ok)return{responseFid:await(async e=>{var t=await e.text();if(!t.trim())throw m.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response body is empty"});let a;try{a=JSON.parse(t)}catch{throw m.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response body is not valid JSON"})}if("string"!=typeof(t=a.name)||0===t.length)throw m.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response did not include a non-empty name"});if(-1!==(t=(e=t).indexOf(mt))){t=e.slice(t+mt.length);if(0<t.length)return t}throw m.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response name is not a valid registration resource name"})})(r)};let o;try{o=await r.json()}catch(e){throw m.create("fid-registration-failed",{errorInfo:r.statusText})}a=o.error?.message??r.statusText;throw m.create("fid-registration-failed",{errorInfo:a})}let mt="/registrations/";async function vt(e,t){var a={method:"DELETE",headers:await D(e)};try{var i,n=await(await fetch(T(e.appConfig)+"/"+t,a)).json();if(n.error)throw i=n.error.message,m.create("token-unsubscribe-failed",{errorInfo:i})}catch(e){throw m.create("token-unsubscribe-failed",{errorInfo:e?.toString()})}}function T({projectId:e}){return Qe+`/projects/${e}/registrations`}async function D({appConfig:e,installations:t}){var a=await t.getToken();return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e.apiKey,"x-goog-firebase-installations-auth":"FIS "+a})}function yt({p256dh:e,auth:t,endpoint:a,vapidKey:i,swScope:n},r,o){var s={web:{origin:((e,t)=>{try{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e))return new URL(e).host}catch{}try{if("undefined"!=typeof self&&self.location?.href)return new URL(e,self.location.origin).host}catch{}return"undefined"!=typeof self&&self.location?.host?self.location.host:t})(n,r),endpoint:a,auth:t,p256dh:e}};return o&&(s.fcm_sdk_version=gt),i!==$e&&(s.web.applicationPubKey=i),s}let kt=6048e5;async function It(e){var t,a,i,n,r,o=await(async(e,t)=>{var a=await e.pushManager.getSubscription();return a||e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:Xe(t)})})(e.swRegistration,e.vapidKey),o={vapidKey:e.vapidKey,swScope:e.swRegistration.scope,endpoint:o.endpoint,auth:b(o.getKey("auth")),p256dh:b(o.getKey("p256dh"))},s=await lt(e.firebaseDependencies);if(s){if(t=s.subscriptionOptions,a=o.vapidKey===t.vapidKey,i=o.endpoint===t.endpoint,n=o.auth===t.auth,r=o.p256dh===t.p256dh,a&&i&&n&&r)return Date.now()>=s.createTime+kt?(async(e,t)=>{try{var a=await(async(e,t)=>{var a=await D(e),i=yt(t.subscriptionOptions,e.appConfig.appName,!1),a={method:"PATCH",headers:a,body:JSON.stringify(i)};let n;try{var r=await fetch(T(e.appConfig)+"/"+t.token,a);n=await r.json()}catch(e){throw m.create("token-update-failed",{errorInfo:e?.toString()})}if(n.error)throw i=n.error.message,m.create("token-update-failed",{errorInfo:i});if(n.token)return n.token;throw m.create("token-update-no-token")})(e.firebaseDependencies,t),i={...t,token:a,createTime:Date.now()};return await pt(e.firebaseDependencies,i),a}catch(e){throw e}})(e,{token:s.token,createTime:Date.now(),subscriptionOptions:o}):s.token;try{await vt(e.firebaseDependencies,s.token)}catch(e){console.warn(e)}}return Dt(e.firebaseDependencies,o)}async function St(e,t){var a,i;await vt(e.firebaseDependencies,t.token),a=S(e.firebaseDependencies),await(i=(await I()).transaction(v,"readwrite")).objectStore(v).delete(a),await i.done,await Ct(e.firebaseDependencies)}async function Tt(e){var a=(await ut(e.firebaseDependencies).catch(()=>{}))?.fid;if(a){{var i=e.firebaseDependencies;var n=a;var r={method:"DELETE",headers:await D(i)};let t;try{t=await fetch(T(i.appConfig)+"/"+n,r)}catch(e){throw m.create("fid-unregister-failed",{errorInfo:e?.toString()})}if(!t.ok)try{throw(await t.json()).error?.message??t.statusText}catch(e){throw m.create("fid-unregister-failed",{errorInfo:"string"==typeof e&&e||t.statusText||e?.toString()})}}await 0}await Ct(e.firebaseDependencies),a&&(i=a,r=e.onUnregisteredHandler)&&("function"==typeof r?r(i):r.next(i))}async function Dt(e,t){var a={token:await(async(e,t)=>{var a=await D(e),i=yt(t,e.appConfig.appName,!1),a={method:"POST",headers:a,body:JSON.stringify(i)};let n;try{var r=await fetch(T(e.appConfig),a);n=await r.json()}catch(e){throw m.create("token-subscribe-failed",{errorInfo:e?.toString()})}if(n.error)throw i=n.error.message,m.create("token-subscribe-failed",{errorInfo:i});if(n.token)return n.token;throw m.create("token-subscribe-no-token")})(e,t),createTime:Date.now(),subscriptionOptions:t};return await pt(e,a),a.token}async function Ct(e){try{t=S(e),dt(a=await I()),await(a=a.transaction(y,"readwrite")).objectStore(y).delete(t),await a.done}catch{}var t,a}async function _t(e){try{e.swRegistration=await navigator.serviceWorker.register(Ve,{scope:We}),e.swRegistration.update().catch(()=>{}),n=e.swRegistration,await new Promise((t,e)=>{let a=setTimeout(()=>e(new Error(`Service worker not registered after ${Ye} ms`)),Ye),i=n.installing||n.waiting;n.active?(clearTimeout(a),t()):i?i.onstatechange=e=>{"activated"===e.target?.state&&(i.onstatechange=null,clearTimeout(a),t())}:(clearTimeout(a),e(new Error("No incoming service worker found.")))})}catch(e){throw m.create("failed-service-worker-registration",{browserErrorMessage:e?.message})}var n}async function Et(e,t){if(t||e.swRegistration||await _t(e),t||!e.swRegistration){if(!(t instanceof ServiceWorkerRegistration))throw m.create("invalid-sw-registration");e.swRegistration=t}}async function Mt(e,t){t?e.vapidKey=t:e.vapidKey||(e.vapidKey=$e)}let jt=3;async function Pt(e,t){var a=await(async(e,t)=>{var a=await e.pushManager.getSubscription();return a||e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:Xe(t)})})(e.swRegistration,e.vapidKey),i={vapidKey:e.vapidKey,swScope:e.swRegistration.scope,endpoint:a.endpoint,auth:b(a.getKey("auth")),p256dh:b(a.getKey("p256dh"))},n=e.firebaseDependencies.installations;for(let o=0;o<jt;o++){var r=(await bt(e.firebaseDependencies,i)).responseFid;if(r===t)return;o<jt-1&&await n.getToken(!0)}throw m.create("fid-registration-failed",{errorInfo:"CreateRegistration response FID does not match Firebase Installation ID"})}let Kt=6048e5;async function Nt(r,e){if(!navigator)throw m.create("only-available-in-window");if("default"===Notification.permission&&await Notification.requestPermission(),"granted"!==Notification.permission)throw m.create("permission-blocked");if(!r.onRegisteredHandler)throw m.create("invalid-on-registered-handler");await Mt(r,e?.vapidKey),await Et(r,e?.serviceWorkerRegistration);var t=r._registerNotifyChain.catch(()=>{});return r._registerNotifyChain=t.then(async()=>{var e,t,a=await r.firebaseDependencies.installations.getId(),i=await ut(r.firebaseDependencies),n=Date.now(),i=((!i||i.fid!==a||n>=i.lastRegisterTime+Kt)&&(await Pt(r,a),t=r.firebaseDependencies,e={fid:a,lastRegisterTime:n,vapidKey:r.vapidKey},i=S(t),dt(n=await I()),await(n=n.transaction([v,y],"readwrite")).objectStore(y).put(e,i),await n.objectStore(v).delete(i),await n.done,await e),r.onRegisteredHandler);if(!i)throw m.create("invalid-on-registered-handler");t=a,(n=r.onRegisteredHandler)&&("function"==typeof n?n(t):n.next(t))}),r._registerNotifyChain}function Ot(e){var t,a,i,n={from:e.from,collapseKey:e.collapse_key,messageId:e.fcmMessageId};return a=n,(t=e).notification&&(a.notification={},(i=t.notification.title)&&(a.notification.title=i),(i=t.notification.body)&&(a.notification.body=i),(i=t.notification.image)&&(a.notification.image=i),i=t.notification.icon)&&(a.notification.icon=i),t=n,(a=e).data&&(t.data=a.data),t=n,((a=e).fcmOptions||a.notification?.click_action)&&(t.fcmOptions={},(i=a.fcmOptions?.link??a.notification?.click_action)&&(t.fcmOptions.link=i),i=a.fcmOptions?.analytics_label)&&(t.fcmOptions.analyticsLabel=i),n}var Rt="AzSCbw63g1R0nCw85jG8",At="Iaya3yLKwmgvh7cF0q4",xt=[];for(let R=0;R<Rt.length;R++)xt.push(Rt.charAt(R)),R<At.length&&xt.push(At.charAt(R));function Ft(e){return m.create("missing-app-config-values",{valueName:e})}xt.join("");class Bt{constructor(e,t,a){this.deliveryMetricsExportedToBigQueryEnabled=!1,this.onBackgroundMessageHandler=null,this.onMessageHandler=null,this.onRegisteredHandler=null,this.onUnregisteredHandler=null,this._registerNotifyChain=Promise.resolve(),this._fidChangeUnsubscribe=null,this.logEvents=[],this.logQueue={state:"stopped"};var i=(e=>{if(!e||!e.options)throw Ft("App Configuration Object");if(!e.name)throw Ft("App Name");var t,a=e.options;for(t of["projectId","apiKey","appId","messagingSenderId"])if(!a[t])throw Ft(t);return{appName:e.name,projectId:a.projectId,apiKey:a.apiKey,appId:a.appId,senderId:a.messagingSenderId}})(e);this.firebaseDependencies={app:e,appConfig:i,installations:t,analyticsProvider:a}}_delete(){return this._fidChangeUnsubscribe&&(this._fidChangeUnsubscribe(),this._fidChangeUnsubscribe=null),"scheduled"===this.logQueue.state&&clearTimeout(this.logQueue.timerId),this.logQueue={state:"stopped"},Promise.resolve()}}async function Lt(e,t){if(!navigator)throw m.create("only-available-in-window");if("default"===Notification.permission&&await Notification.requestPermission(),"granted"!==Notification.permission)throw m.create("permission-blocked");return await Mt(e,t?.vapidKey),await Et(e,t?.serviceWorkerRegistration),It(e)}async function Ht(e,t,a){var i=(e=>{switch(e){case r.NOTIFICATION_CLICKED:return"notification_open";case r.PUSH_RECEIVED:return"notification_foreground";default:throw new Error}})(t);(await e.firebaseDependencies.analyticsProvider.get()).logEvent(i,{message_id:a[Ge],message_name:a[Je],message_time:a[ze],message_device_time:Math.floor(Date.now()/1e3)})}async function Ut(e,t){var a,i=t.data;i.isFirebaseMessaging&&(e.onMessageHandler&&i.messageType===r.PUSH_RECEIVED&&("function"==typeof e.onMessageHandler?e.onMessageHandler(Ot(i)):e.onMessageHandler.next(Ot(i))),e.onRegisteredHandler&&i.messageType===r.FID_REGISTERED&&(a=i.fid,"function"==typeof e.onRegisteredHandler?e.onRegisteredHandler(a):e.onRegisteredHandler.next(a)),"object"==typeof(t=a=i.data))&&t&&Ge in t&&"1"===a[Ze]&&await Ht(e,i.messageType,a)}let qt=e=>{let t=new Bt(e.getProvider("app").getImmediate(),e.getProvider("installations-internal").getImmediate(),e.getProvider("analytics-internal"));var a;return navigator.serviceWorker.addEventListener("message",e=>Ut(t,e)),t._fidChangeUnsubscribe=(a=t,Be(e.getProvider("installations").getImmediate(),()=>{(async()=>{a.onRegisteredHandler&&await ut(a.firebaseDependencies)&&await Nt(a).catch(()=>{})})()})),t},Vt=e=>{let t=e.getProvider("messaging").getImmediate();return{getToken:e=>Lt(t,e),register:e=>Nt(t,e)}};async function Wt(e){if(navigator)return e.swRegistration||await _t(e),(async e=>{var t=await lt(e.firebaseDependencies);return t?await St(e,t):await Tt(e),!(t=await e.swRegistration.pushManager.getSubscription())||t.unsubscribe()})(e);throw m.create("only-available-in-window")}function $t(e,t){var a=e=n(e),e=t;if(navigator)return a.onMessageHandler=e,()=>{a.onMessageHandler=null};throw m.create("only-available-in-window")}ei._registerComponent(new e("messaging",qt,"PUBLIC")),ei._registerComponent(new e("messaging-internal",Vt,"PRIVATE")),ei.registerVersion(ft,gt),ei.registerVersion(ft,gt,"esm2020");let Qt="BDOU99-h67HcA6JeFXHbSNMu7e2yNNu3RzoMj8TM4W88jITfq7ZmPvIM1Iv-4_l2LxQcYwhqby2xGpWwzjfAnG4",Gt="https://fcmregistrations.googleapis.com/v1",Jt="FCM_MSG",zt="google.c.a.c_id",Zt=1e3,Yt=3,Xt=864e5,ea=5e3,ta=1249,aa=3,ia=1;function C(e){var t=new Uint8Array(e);return btoa(String.fromCharCode(...t)).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function na(e){var t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),a=atob(t),i=new Uint8Array(a.length);for(let n=0;n<a.length;++n)i[n]=a.charCodeAt(n);return i}(s=o=o||{})[s.DATA_MESSAGE=1]="DATA_MESSAGE",s[s.DISPLAY_NOTIFICATION=3]="DISPLAY_NOTIFICATION",(s=d=d||{}).PUSH_RECEIVED="push-received",s.NOTIFICATION_CLICKED="notification-clicked",s.FID_REGISTERED="fid-registered";let ra="fcm_token_details_db",oa=5,sa="fcm_token_object_Store";async function ca(o){if("databases"in indexedDB&&!(await indexedDB.databases()).map(e=>e.name).includes(ra))return null;let s=null;return(await t(ra,oa,{upgrade:async(e,t,a,i)=>{var n,r;t<2||e.objectStoreNames.contains(sa)&&(n=await(r=i.objectStore(sa)).index("fcmSenderId").get(o),await r.clear(),n)&&(2===t?(r=n).auth&&r.p256dh&&r.endpoint&&(s={token:r.fcmToken,createTime:r.createTime??Date.now(),subscriptionOptions:{auth:r.auth,p256dh:r.p256dh,endpoint:r.endpoint,swScope:r.swScope,vapidKey:"string"==typeof r.vapidKey?r.vapidKey:C(r.vapidKey)}}):3===t?(r=n,s={token:r.fcmToken,createTime:r.createTime,subscriptionOptions:{auth:C(r.auth),p256dh:C(r.p256dh),endpoint:r.endpoint,swScope:r.swScope,vapidKey:C(r.vapidKey)}}):4===t&&(r=n,s={token:r.fcmToken,createTime:r.createTime,subscriptionOptions:{auth:C(r.auth),p256dh:C(r.p256dh),endpoint:r.endpoint,swScope:r.swScope,vapidKey:C(r.vapidKey)}}))}})).close(),await a(ra),await a("fcm_vapid_details_db"),await a("undefined"),(e=>{var t;if(e&&e.subscriptionOptions)return t=e.subscriptionOptions,"number"==typeof e.createTime&&0<e.createTime&&"string"==typeof e.token&&0<e.token.length&&"string"==typeof t.auth&&0<t.auth.length&&"string"==typeof t.p256dh&&0<t.p256dh.length&&"string"==typeof t.endpoint&&0<t.endpoint.length&&"string"==typeof t.swScope&&0<t.swScope.length&&"string"==typeof t.vapidKey&&0<t.vapidKey.length})(s)?s:null}let _=new i("messaging","Messaging",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"only-available-in-window":"This method is available in a Window context.","only-available-in-sw":"This method is available in a service worker context.","permission-default":"The notification permission was not granted and dismissed instead.","permission-blocked":"The notification permission was not granted and blocked instead.","unsupported-browser":"This browser doesn't support the API's required to use the Firebase SDK.","indexed-db-unsupported":"This browser doesn't support indexedDb.open() (ex. Safari iFrame, Firefox Private Browsing, etc)","failed-service-worker-registration":"We are unable to register the default service worker. {$browserErrorMessage}","token-subscribe-failed":"A problem occurred while subscribing the user to FCM: {$errorInfo}","token-subscribe-no-token":"FCM returned no token when subscribing the user to push.","fid-registration-failed":"A problem occurred while creating an FCM registration via FID: {$errorInfo}","fid-unregister-failed":"A problem occurred while unregistering the FCM registration via FID: {$errorInfo}","fid-registration-idb-schema-unavailable":"Unable to read or persist FID registration metadata because the messaging IndexedDB schema is unavailable (for example, the database could not be upgraded to the latest version).","token-unsubscribe-failed":"A problem occurred while unsubscribing the user from FCM: {$errorInfo}","token-update-failed":"A problem occurred while updating the user from FCM: {$errorInfo}","token-update-no-token":"FCM returned no token when updating the user to push.","use-sw-after-get-token":"The useServiceWorker() method may only be called once and must be called before calling getToken() to ensure your service worker is used.","invalid-sw-registration":"The input to useServiceWorker() must be a ServiceWorkerRegistration.","invalid-bg-handler":"The input to setBackgroundMessageHandler() must be a function.","invalid-vapid-key":"The public VAPID key must be a string.","use-vapid-key-after-get-token":"The usePublicVapidKey() method may only be called once and must be called before calling getToken() to ensure your VAPID key is used.","invalid-on-registered-handler":"No onRegistered callback handler was provided or registered. Implement onRegistered() before register()."}),da="firebase-messaging-database",la=2,E="firebase-messaging-store",M="firebase-messaging-fid-registration-store",pa={openDB:t,deleteDB:a},j=null;function ua(n){return{upgrade:(e,t)=>{var a=e,i=n;switch(t){case 0:if(a.createObjectStore(E),1===i)break;case 1:2===i&&a.createObjectStore(M)}},blocked:()=>{},blocking:(e,t,a)=>{j=null,a.target?.close()},terminated:()=>{j=null}}}function P(){var e;return j||(e=pa.openDB(da,la,ua(2)),j=e.catch(()=>pa.openDB(da,la-1,ua(1)))),j}function fa(e,t){return e.objectStoreNames.contains(t)}function ga(e){if(!fa(e,M))throw _.create("fid-registration-idb-schema-unavailable")}async function ha(e){var t=K(e),t=await(await P()).transaction(E).objectStore(E).get(t);return t||((t=await ca(e.appConfig.senderId))?(await wa(e,t),t):void 0)}async function wa(e,t){var a=K(e),i=await P(),n=[E],r=fa(i,M),i=(r&&n.push(M),i.transaction(n,"readwrite"));return await i.objectStore(E).put(t,a),r&&await i.objectStore(M).delete(a),await i.done,t}async function ba(e){var t=K(e),a=await P();return ga(a),a.transaction(M).objectStore(M).get(t)}function K({appConfig:e}){return e.appId}let ma="0.13.0",va=3,ya=1e3;async function ka(e,t){var a=await O(e),i=Ta(t,e.appConfig.appName,!0);let n={method:"POST",headers:a,body:JSON.stringify(i)},r;try{r=await(async(e,t,a)=>{let i;for(let n=0;n<t;n++)try{return await e()}catch(e){if(i=e,n<t-1){let t=a*Math.pow(2,n);await new Promise(e=>setTimeout(e,t))}}throw i})(()=>fetch(N(e.appConfig),n),va,ya)}catch(e){throw _.create("fid-registration-failed",{errorInfo:e?.toString()})}if(r.ok)return{responseFid:await(async e=>{var t=await e.text();if(!t.trim())throw _.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response body is empty"});let a;try{a=JSON.parse(t)}catch{throw _.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response body is not valid JSON"})}if("string"!=typeof(t=a.name)||0===t.length)throw _.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response did not include a non-empty name"});if(-1!==(t=(e=t).indexOf(Ia))){t=e.slice(t+Ia.length);if(0<t.length)return t}throw _.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response name is not a valid registration resource name"})})(r)};let o;try{o=await r.json()}catch(e){throw _.create("fid-registration-failed",{errorInfo:r.statusText})}a=o.error?.message??r.statusText;throw _.create("fid-registration-failed",{errorInfo:a})}let Ia="/registrations/";async function Sa(e,t){var a={method:"DELETE",headers:await O(e)};try{var i,n=await(await fetch(N(e.appConfig)+"/"+t,a)).json();if(n.error)throw i=n.error.message,_.create("token-unsubscribe-failed",{errorInfo:i})}catch(e){throw _.create("token-unsubscribe-failed",{errorInfo:e?.toString()})}}function N({projectId:e}){return Gt+`/projects/${e}/registrations`}async function O({appConfig:e,installations:t}){var a=await t.getToken();return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e.apiKey,"x-goog-firebase-installations-auth":"FIS "+a})}function Ta({p256dh:e,auth:t,endpoint:a,vapidKey:i,swScope:n},r,o){var s={web:{origin:((e,t)=>{try{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e))return new URL(e).host}catch{}try{if("undefined"!=typeof self&&self.location?.href)return new URL(e,self.location.origin).host}catch{}return"undefined"!=typeof self&&self.location?.host?self.location.host:t})(n,r),endpoint:a,auth:t,p256dh:e}};return o&&(s.fcm_sdk_version=ma),i!==Qt&&(s.web.applicationPubKey=i),s}let Da=6048e5;async function Ca(e){var t,a,i,n,r,o=await(async(e,t)=>{var a=await e.pushManager.getSubscription();return a||e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:na(t)})})(e.swRegistration,e.vapidKey),o={vapidKey:e.vapidKey,swScope:e.swRegistration.scope,endpoint:o.endpoint,auth:C(o.getKey("auth")),p256dh:C(o.getKey("p256dh"))},s=await ha(e.firebaseDependencies);if(s){if(t=s.subscriptionOptions,a=o.vapidKey===t.vapidKey,i=o.endpoint===t.endpoint,n=o.auth===t.auth,r=o.p256dh===t.p256dh,a&&i&&n&&r)return Date.now()>=s.createTime+Da?(async(e,t)=>{try{var a=await(async(e,t)=>{var a=await O(e),i=Ta(t.subscriptionOptions,e.appConfig.appName,!1),a={method:"PATCH",headers:a,body:JSON.stringify(i)};let n;try{var r=await fetch(N(e.appConfig)+"/"+t.token,a);n=await r.json()}catch(e){throw _.create("token-update-failed",{errorInfo:e?.toString()})}if(n.error)throw i=n.error.message,_.create("token-update-failed",{errorInfo:i});if(n.token)return n.token;throw _.create("token-update-no-token")})(e.firebaseDependencies,t),i={...t,token:a,createTime:Date.now()};return await wa(e.firebaseDependencies,i),a}catch(e){throw e}})(e,{token:s.token,createTime:Date.now(),subscriptionOptions:o}):s.token;try{await Sa(e.firebaseDependencies,s.token)}catch(e){console.warn(e)}}return ja(e.firebaseDependencies,o)}async function _a(e,t){var a,i;await Sa(e.firebaseDependencies,t.token),a=K(e.firebaseDependencies),await(i=(await P()).transaction(E,"readwrite")).objectStore(E).delete(a),await i.done,await Pa(e.firebaseDependencies)}async function Ea(e){var a=(await ba(e.firebaseDependencies).catch(()=>{}))?.fid;if(a){{var i=e.firebaseDependencies;var n=a;var r={method:"DELETE",headers:await O(i)};let t;try{t=await fetch(N(i.appConfig)+"/"+n,r)}catch(e){throw _.create("fid-unregister-failed",{errorInfo:e?.toString()})}if(!t.ok)try{throw(await t.json()).error?.message??t.statusText}catch(e){throw _.create("fid-unregister-failed",{errorInfo:"string"==typeof e&&e||t.statusText||e?.toString()})}}await 0}await Pa(e.firebaseDependencies),a&&(i=a,r=e.onUnregisteredHandler)&&("function"==typeof r?r(i):r.next(i))}async function Ma(e){var t=await ha(e.firebaseDependencies),t=(t?await _a(e,t):await Ea(e),await e.swRegistration.pushManager.getSubscription());return!t||t.unsubscribe()}async function ja(e,t){var a={token:await(async(e,t)=>{var a=await O(e),i=Ta(t,e.appConfig.appName,!1),a={method:"POST",headers:a,body:JSON.stringify(i)};let n;try{var r=await fetch(N(e.appConfig),a);n=await r.json()}catch(e){throw _.create("token-subscribe-failed",{errorInfo:e?.toString()})}if(n.error)throw i=n.error.message,_.create("token-subscribe-failed",{errorInfo:i});if(n.token)return n.token;throw _.create("token-subscribe-no-token")})(e,t),createTime:Date.now(),subscriptionOptions:t};return await wa(e,a),a.token}async function Pa(e){try{t=K(e),ga(a=await P()),await(a=a.transaction(M,"readwrite")).objectStore(M).delete(t),await a.done}catch{}var t,a}let Ka=3;async function Na(e,t){var a=await(async(e,t)=>{var a=await e.pushManager.getSubscription();return a||e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:na(t)})})(e.swRegistration,e.vapidKey),i={vapidKey:e.vapidKey,swScope:e.swRegistration.scope,endpoint:a.endpoint,auth:C(a.getKey("auth")),p256dh:C(a.getKey("p256dh"))},n=e.firebaseDependencies.installations;for(let o=0;o<Ka;o++){var r=(await ka(e.firebaseDependencies,i)).responseFid;if(r===t)return;o<Ka-1&&await n.getToken(!0)}throw _.create("fid-registration-failed",{errorInfo:"CreateRegistration response FID does not match Firebase Installation ID"})}async function Oa(e){var t,a,i,n,r=await ba(e.firebaseDependencies).catch(()=>{});if(r)return t=e,await!((i=r.vapidKey)?t.vapidKey=i:t.vapidKey||(t.vapidKey=Qt)),r=await e.firebaseDependencies.installations.getId(),await Na(e,r),i=e.firebaseDependencies,t={fid:r,lastRegisterTime:Date.now(),vapidKey:e.vapidKey},n=K(i),ga(a=await P()),await(a=a.transaction([E,M],"readwrite")).objectStore(M).put(t,n),await a.objectStore(E).delete(n),await a.done,await t,i=r,(n=e.onRegisteredHandler)&&("function"==typeof n?n(i):n.next(i)),r}let Ra="https://play.google.com/log?format=json_proto3",Aa=0,xa=((e,t)=>{var a=[];for(let i=0;i<e.length;i++)a.push(e.charAt(i)),i<t.length&&a.push(t.charAt(i));return a.join("")})("AzSCbw63g1R0nCw85jG8","Iaya3yLKwmgvh7cF0q4");function Fa(o,e){"scheduled"===o.logQueue.state&&clearTimeout(o.logQueue.timerId),o.logQueue={state:"stopped"},o.deliveryMetricsExportedToBigQueryEnabled?o.logQueue={state:"scheduled",timerId:setTimeout(async()=>{if(o.logQueue={state:"flushing"},!o.logEvents.length)return Fa(o,Xt);var e=o,t=e.logEvents;e.logEvents=[];for(let r=0,a=t.length;r<a;r+=Zt){var i=t.slice(r,r+Zt);if(!i.length)break;var n=(e=>{var t={};return t.log_source=ta.toString(),t.log_event=e,t})(i);let a=0,e={};do{try{if((e=await fetch(Ra.concat("&key=",xa),{method:"POST",body:JSON.stringify(n)})).ok||!e.ok&&!Ba(e))break;if(!e.ok&&Ba(e))throw new Error("a retriable Non-200 code is returned in fetch to Firelog endpoint. Retry")}catch(e){if(a===Yt)break}let t;try{t=Number((await e.json()).nextRequestWaitMillis)}catch(e){t=ea}await new Promise(e=>setTimeout(e,t)),a++}while(a<Yt)}Fa(e,e.logEvents.length?Aa:Xt)},e)}:o.logEvents=[]}function Ba(e){var t=e.status;return 429===t||500===t||503===t||504===t}async function La(e,t){var a=((e,t)=>{var a={};return e.from&&(a.project_number=e.from),e.fcmMessageId&&(a.message_id=e.fcmMessageId),a.instance_id=t,a.message_type=(e.notification?o.DISPLAY_NOTIFICATION:o.DATA_MESSAGE).toString(),a.sdk_platform=aa.toString(),a.package_name=self.origin.replace(/(^\w+:|^)\/\//,""),e.collapse_key&&(a.collapse_key=e.collapse_key),a.event=ia.toString(),e.fcmOptions?.analytics_label&&(a.analytics_label=e.fcmOptions?.analytics_label),a})(t,await e.firebaseDependencies.installations.getId()),i=e,n=a,t=t.productId,a={};a.event_time_ms=Math.floor(Date.now()).toString(),a.source_extension_json_proto3=JSON.stringify({messaging_client_event:n}),t&&(a.compliance_data=(e=>({privacy_context:{prequest:{origin_associated_product_id:e}}}))(t)),i.logEvents.push(a),"stopped"===(n=e).logQueue.state&&0<n.logEvents.length&&Fa(n,Aa)}async function Ha(e,t){t.swRegistration||(t.swRegistration=self.registration);var a=e.newSubscription;if(a)if(await ba(t.firebaseDependencies).catch(()=>{})){a=await Oa(t).catch(()=>{});if(a){var i=await Wa();if(Va(i)){var n,e=i,r=a,o={isFirebaseMessaging:!0,messageType:d.FID_REGISTERED,fid:r};for(n of e)n.postMessage(o)}}}else{i=await ha(t.firebaseDependencies);await Ma(t),t.vapidKey=i?.subscriptionOptions?.vapidKey??Qt,await Ca(t)}else await Ma(t)}async function Ua(e,t){var a=(({data:e})=>{if(!e)return null;try{return e.json()}catch(e){return null}})(e);if(a){t.deliveryMetricsExportedToBigQueryEnabled&&await La(t,a);var i,n,r,o=await Wa();if(Va(o)){var s,e=o,c=a;c.isFirebaseMessaging=!0,c.messageType=d.PUSH_RECEIVED;for(s of e)s.postMessage(c)}else a.notification&&await(e=>{var t=e.actions,a=Notification.maxActions;return t&&a&&t.length>a&&console.warn(`This browser only supports ${a} actions. The remaining actions will not be displayed.`),self.registration.showNotification(e.title??"",e)})(((o={...(e=a).notification}).data={[Jt]:e},o)),t&&t.onBackgroundMessageHandler&&(o={from:(e=a).from,collapseKey:e.collapse_key,messageId:e.fcmMessageId},n=o,(i=e).notification&&(n.notification={},(r=i.notification.title)&&(n.notification.title=r),(r=i.notification.body)&&(n.notification.body=r),(r=i.notification.image)&&(n.notification.image=r),r=i.notification.icon)&&(n.notification.icon=r),i=o,(n=e).data&&(i.data=n.data),i=o,((n=e).fcmOptions||n.notification?.click_action)&&(i.fcmOptions={},(r=n.fcmOptions?.link??n.notification?.click_action)&&(i.fcmOptions.link=r),r=n.fcmOptions?.analytics_label)&&(i.fcmOptions.analyticsLabel=r),a=o,"function"==typeof t.onBackgroundMessageHandler?await t.onBackgroundMessageHandler(a):t.onBackgroundMessageHandler.next(a))}}async function qa(e){var t=e.notification?.data?.[Jt];if(t&&!e.action){e.stopImmediatePropagation(),e.notification.close();var a=(e=>{var t=e.fcmOptions?.link??e.notification?.click_action;return t||((e=>"object"==typeof e&&e&&zt in e)(e.data)?self.location.origin:null)})(t);if(a){var i,n=new URL(a,self.location.href),r=new URL(self.location.origin);if(n.host===r.host){let e=await(async e=>{var t;for(t of await Wa()){var a=new URL(t.url,self.location.href);if(e.host===a.host)return t}return null})(n);if(e?e=await e.focus():(e=await self.clients.openWindow(a),i=3e3,await new Promise(e=>{setTimeout(e,i)})),e)return t.messageType=d.NOTIFICATION_CLICKED,t.isFirebaseMessaging=!0,e.postMessage(t)}}}}function Va(e){return e.some(e=>"visible"===e.visibilityState&&!e.url.startsWith("chrome-extension://"))}function Wa(){return self.clients.matchAll({type:"window",includeUncontrolled:!0})}function $a(e){return _.create("missing-app-config-values",{valueName:e})}class Qa{constructor(e,t,a){this.deliveryMetricsExportedToBigQueryEnabled=!1,this.onBackgroundMessageHandler=null,this.onMessageHandler=null,this.onRegisteredHandler=null,this.onUnregisteredHandler=null,this._registerNotifyChain=Promise.resolve(),this._fidChangeUnsubscribe=null,this.logEvents=[],this.logQueue={state:"stopped"};var i=(e=>{if(!e||!e.options)throw $a("App Configuration Object");if(!e.name)throw $a("App Name");var t,a=e.options;for(t of["projectId","apiKey","appId","messagingSenderId"])if(!a[t])throw $a(t);return{appName:e.name,projectId:a.projectId,apiKey:a.apiKey,appId:a.appId,senderId:a.messagingSenderId}})(e);this.firebaseDependencies={app:e,appConfig:i,installations:t,analyticsProvider:a}}_delete(){return this._fidChangeUnsubscribe&&(this._fidChangeUnsubscribe(),this._fidChangeUnsubscribe=null),"scheduled"===this.logQueue.state&&clearTimeout(this.logQueue.timerId),this.logQueue={state:"stopped"},Promise.resolve()}}let Ga=e=>{let t=new Qa(e.getProvider("app").getImmediate(),e.getProvider("installations-internal").getImmediate(),e.getProvider("analytics-internal"));return self.addEventListener("push",e=>{e.waitUntil(Ua(e,t))}),self.addEventListener("pushsubscriptionchange",e=>{e.waitUntil(Ha(e,t))}),self.addEventListener("notificationclick",e=>{e.waitUntil(qa(e))}),t};function Ja(e,t){var a=e=n(e),e=t;if(void 0!==self.document)throw _.create("only-available-in-sw");return a.onBackgroundMessageHandler=e,()=>{a.onBackgroundMessageHandler=null}}ei._registerComponent(new e("messaging-sw",Ga,"PUBLIC"));class za{constructor(e,t){this.app=e,this._delegate=t,this.app=e,this._delegate=t}async getToken(e){return(async(e,t)=>Lt(e=n(e),t))(this._delegate,e)}async deleteToken(){return Wt(n(this._delegate))}onMessage(e){return $t(this._delegate,e)}onBackgroundMessage(e){return Ja(this._delegate,e)}}let Za=e=>self&&"ServiceWorkerGlobalScope"in self?new za(e.getProvider("app-compat").getImmediate(),e.getProvider("messaging-sw").getImmediate()):new za(e.getProvider("app-compat").getImmediate(),e.getProvider("messaging").getImmediate()),Ya={isSupported:function(){return self&&"ServiceWorkerGlobalScope"in self?B()&&"PushManager"in self&&"Notification"in self&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey"):"undefined"!=typeof window&&B()&&!("undefined"==typeof navigator||!navigator.cookieEnabled)&&"serviceWorker"in navigator&&"PushManager"in window&&"Notification"in window&&"fetch"in window&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey")}};F.default.INTERNAL.registerComponent(new e("messaging-compat",Za,"PUBLIC").setServiceProps(Ya)),F.default.registerVersion("@firebase/messaging-compat","0.2.27")}).apply(this,arguments)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-messaging-compat.js - be sure to load firebase-app.js first.")}}); //# sourceMappingURL=firebase-messaging-compat.js.map