1import{r as E,_ as C,C as R,a as O,E as ue,o as ze,F as de,L as Ve,b as fe,d as pe,e as me,v as he,f as W,h as ge,j as Ue,k as Ge}from"./index.esm-DMkstYtw.js";import{r as S,j as w}from"./chunk-UVKPFVEO-D9yzbXen.js";import{r as He}from"./index-Dl0aZioO.js";import{i as Ke}from"./platform-BpSq0ecM.js";const ye="@firebase/installations",q="0.6.9";const we=1e4,Ie=`w:${q}`,ve="FIS_v2",We="https://firebaseinstallations.googleapis.com/v1",Ye=3600*1e3,Je="installations",Xe="Installations";const Qe={"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."},v=new ue(Je,Xe,Qe);function be(e){return e instanceof de&&e.code.includes("request-failed")}function Te({projectId:e}){return`${We}/projects/${e}/installations`}function Ae(e){return{token:e.token,requestStatus:2,expiresIn:et(e.expiresIn),creationTime:Date.now()}}async function Se(e,t){const i=(await t.json()).error;return v.create("request-failed",{requestName:e,serverCode:i.code,serverMessage:i.message,serverStatus:i.status})}function ke({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}function Ze(e,{refreshToken:t}){const n=ke(e);return n.append("Authorization",tt(t)),n}async function Ee(e){const t=await e();return t.status>=500&&t.status<600?e():t}function et(e){return Number(e.replace("s","000"))}function tt(e){return`${ve} ${e}`}async function nt({appConfig:e,heartbeatServiceProvider:t},{fid:n}){const i=Te(e),a=ke(e),s=t.getImmediate({optional:!0});if(s){const l=await s.getHeartbeatsHeader();l&&a.append("x-firebase-client",l)}const r={fid:n,authVersion:ve,appId:e.appId,sdkVersion:Ie},o={method:"POST",headers:a,body:JSON.stringify(r)},c=await Ee(()=>fetch(i,o));if(c.ok){const l=await c.json();return{fid:l.fid||n,registrationStatus:2,refreshToken:l.refreshToken,authToken:Ae(l.authToken)}}else throw await Se("Create Installation",c)}function Ce(e){return new Promise(t=>{setTimeout(t,e)})}function it(e){return btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_")}const at=/^[cdef][\w-]{21}$/,L="";function st(){try{const e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;const n=rt(e);return at.test(n)?n:L}catch{return L}}function rt(e){return it(e).substr(0,22)}function _(e){return`${e.appName}!${e.appId}`}const Re=new Map;function Pe(e,t){const n=_(e);xe(n,t),ot(n,t)}function xe(e,t){const n=Re.get(e);if(n)for(const i of n)i(t)}function ot(e,t){const n=ct();n&&n.postMessage({key:e,fid:t}),lt()}let I=null;function ct(){return!I&&"BroadcastChannel"in self&&(I=new BroadcastChannel("[Firebase] FID Change"),I.onmessage=e=>{xe(e.data.key,e.data.fid)}),I}function lt(){Re.size===0&&I&&(I.close(),I=null)}const ut="firebase-installations-database",dt=1,b="firebase-installations-store";let F=null;function z(){return F||(F=ze(ut,dt,{upgrade:(e,t)=>{t===0&&e.createObjectStore(b)}})),F}async function P(e,t){const n=_(e),a=(await z()).transaction(b,"readwrite"),s=a.objectStore(b),r=await s.get(n);return await s.put(t,n),await a.done,(!r||r.fid!==t.fid)&&Pe(e,t.fid),t}async function Oe(e){const t=_(e),i=(await z()).transaction(b,"readwrite");await i.objectStore(b).delete(t),await i.done}async function D(e,t){const n=_(e),a=(await z()).transaction(b,"readwrite"),s=a.objectStore(b),r=await s.get(n),o=t(r);return o===void 0?await s.delete(n):await s.put(o,n),await a.done,o&&(!r||r.fid!==o.fid)&&Pe(e,o.fid),o}async function V(e){let t;const n=await D(e.appConfig,i=>{const a=ft(i),s=pt(e,a);return t=s.registrationPromise,s.installationEntry});return n.fid===L?{installationEntry:await t}:{installationEntry:n,registrationPromise:t}}function ft(e){const t=e||{fid:st(),registrationStatus:0};return _e(t)}function pt(e,t){if(t.registrationStatus===0){if(!navigator.onLine){const a=Promise.reject(v.create("app-offline"));return{installationEntry:t,registrationPromise:a}}const n={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},i=mt(e,n);return{installationEntry:n,registrationPromise:i}}else return t.registrationStatus===1?{installationEntry:t,registrationPromise:ht(e)}:{installationEntry:t}}async function mt(e,t){try{const n=await nt(e,t);return P(e.appConfig,n)}catch(n){throw be(n)&&n.customData.serverCode===409?await Oe(e.appConfig):await P(e.appConfig,{fid:t.fid,registrationStatus:0}),n}}async function ht(e){let t=await Y(e.appConfig);for(;t.registrationStatus===1;)await Ce(100),t=await Y(e.appConfig);if(t.registrationStatus===0){const{installationEntry:n,registrationPromise:i}=await V(e);return i||n}return t}function Y(e){return D(e,t=>{if(!t)throw v.create("installation-not-found");return _e(t)})}function _e(e){return gt(e)?{fid:e.fid,registrationStatus:0}:e}function gt(e){return e.registrationStatus===1&&e.registrationTime+we<Date.now()}async function yt({appConfig:e,heartbeatServiceProvider:t},n){const i=wt(e,n),a=Ze(e,n),s=t.getImmediate({optional:!0});if(s){const l=await s.getHeartbeatsHeader();l&&a.append("x-firebase-client",l)}const r={installation:{sdkVersion:Ie,appId:e.appId}},o={method:"POST",headers:a,body:JSON.stringify(r)},c=await Ee(()=>fetch(i,o));if(c.ok){const l=await c.json();return Ae(l)}else throw await Se("Generate Auth Token",c)}function wt(e,{fid:t}){return`${Te(e)}/${t}/authTokens:generate`}async function U(e,t=!1){let n;const i=await D(e.appConfig,s=>{if(!De(s))throw v.create("not-registered");const r=s.authToken;if(!t&&bt(r))return s;if(r.requestStatus===1)return n=It(e,t),s;{if(!navigator.onLine)throw v.create("app-offline");const o=At(s);return n=vt(e,o),o}});return n?await n:i.authToken}async function It(e,t){let n=await J(e.appConfig);for(;n.authToken.requestStatus===1;)await Ce(100),n=await J(e.appConfig);const i=n.authToken;return i.requestStatus===0?U(e,t):i}function J(e){return D(e,t=>{if(!De(t))throw v.create("not-registered");const n=t.authToken;return St(n)?Object.assign(Object.assign({},t),{authToken:{requestStatus:0}}):t})}async function vt(e,t){try{const n=await yt(e,t),i=Object.assign(Object.assign({},t),{authToken:n});return await P(e.appConfig,i),n}catch(n){if(be(n)&&(n.customData.serverCode===401||n.customData.serverCode===404))await Oe(e.appConfig);else{const i=Object.assign(Object.assign({},t),{authToken:{requestStatus:0}});await P(e.appConfig,i)}throw n}}function De(e){return e!==void 0&&e.registrationStatus===2}function bt(e){return e.requestStatus===2&&!Tt(e)}function Tt(e){const t=Date.now();
1return t<e.creationTime||e.creationTime+e.expiresIn<t+Ye}function At(e){const t={requestStatus:1,requestTime:Date.now()};return Object.assign(Object.assign({},e),{authToken:t})}function St(e){return e.requestStatus===1&&e.requestTime+we<Date.now()}async function kt(e){const t=e,{installationEntry:n,registrationPromise:i}=await V(t);return i?i.catch(console.error):U(t).catch(console.error),n.fid}async function Et(e,t=!1){const n=e;return await Ct(n),(await U(n,t)).token}async function Ct(e){const{registrationPromise:t}=await V(e);t&&await t}function Rt(e){if(!e||!e.options)throw j("App Configuration");if(!e.name)throw j("App Name");const t=["projectId","apiKey","appId"];for(const n of t)if(!e.options[n])throw j(n);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}function j(e){return v.create("missing-app-config-values",{valueName:e})}const Fe="installations",Pt="installations-internal",xt=e=>{const t=e.getProvider("app").getImmediate(),n=Rt(t),i=O(t,"heartbeat");return{app:t,appConfig:n,heartbeatServiceProvider:i,_delete:()=>Promise.resolve()}},Ot=e=>{const t=e.getProvider("app").getImmediate(),n=O(t,Fe).getImmediate();return{getId:()=>kt(n),getToken:a=>Et(n,a)}};function _t(){C(new R(Fe,xt,"PUBLIC")),C(new R(Pt,Ot,"PRIVATE"))}_t();E(ye,q);E(ye,q,"esm2017");const x="analytics",Dt="firebase_id",Ft="origin",jt=60*1e3,Mt="https://firebase.googleapis.com/v1alpha/projects/-/apps/{app-id}/webConfig",G="https://www.googletagmanager.com/gtag/js";const f=new Ve("@firebase/analytics");const $t={"already-exists":"A Firebase Analytics instance with the appId {$id} already exists. Only one Firebase Analytics instance can be created for each appId.","already-initialized":"initializeAnalytics() cannot be called again with different options than those it was initially called with. It can be called again with the same options to return the existing instance, or getAnalytics() can be used to get a reference to the already-initialized instance.","already-initialized-settings":"Firebase Analytics has already been initialized.settings() must be called before initializing any Analytics instanceor it will have no effect.","interop-component-reg-failed":"Firebase Analytics Interop Component failed to instantiate: {$reason}","invalid-analytics-context":"Firebase Analytics is not supported in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","indexeddb-unavailable":"IndexedDB unavailable or restricted in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","fetch-throttle":"The config fetch request timed out while in an exponential backoff state. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.","config-fetch-failed":"Dynamic config fetch failed: [{$httpStatus}] {$responseMessage}","no-api-key":'The "apiKey" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid API key.',"no-app-id":'The "appId" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid app ID.',"no-client-id":'The "client_id" field is empty.',"invalid-gtag-resource":"Trusted Types detected an invalid gtag resource: {$gtagURL}."},m=new ue("analytics","Analytics",$t);function Nt(e){if(!e.startsWith(G)){const t=m.create("invalid-gtag-resource",{gtagURL:e});return f.warn(t.message),""}return e}function je(e){return Promise.all(e.map(t=>t.catch(n=>n)))}function Bt(e,t){let n;return window.trustedTypes&&(n=window.trustedTypes.createPolicy(e,t)),n}
1function Lt(e,t){const n=Bt("firebase-js-sdk-policy",{createScriptURL:Nt}),i=document.createElement("script"),a=`${G}?l=${e}&id=${t}`;i.src=n?n?.createScriptURL(a):a,i.async=!0,document.head.appendChild(i)}function qt(e){let t=[];return Array.isArray(window[e])?t=window[e]:window[e]=t,t}async function zt(e,t,n,i,a,s){const r=i[a];try{if(r)await t[r];else{const c=(await je(n)).find(l=>l.measurementId===a);c&&await t[c.appId]}}catch(o){f.error(o)}e("config",a,s)}async function Vt(e,t,n,i,a){try{let s=[];if(a&&a.send_to){let r=a.send_to;Array.isArray(r)||(r=[r]);const o=await je(n);for(const c of r){const l=o.find(h=>h.measurementId===c),d=l&&t[l.appId];if(d)s.push(d);else{s=[];break}}}s.length===0&&(s=Object.values(t)),await Promise.all(s),e("event",i,a||{})}catch(s){f.error(s)}}function Ut(e,t,n,i){async function a(s,...r){try{if(s==="event"){const[o,c]=r;await Vt(e,t,n,o,c)}else if(s==="config"){const[o,c]=r;await zt(e,t,n,i,o,c)}else if(s==="consent"){const[o,c]=r;e("consent",o,c)}else if(s==="get"){const[o,c,l]=r;e("get",o,c,l)}else if(s==="set"){const[o]=r;e("set",o)}else e(s,...r)}catch(o){f.error(o)}}return a}function Gt(e,t,n,i,a){let s=function(...r){window[i].push(arguments)};return window[a]&&typeof window[a]=="function"&&(s=window[a]),window[a]=Ut(s,e,t,n),{gtagCore:s,wrappedGtag:window[a]}}function Ht(e){const t=window.document.getElementsByTagName("script");for(const n of Object.values(t))if(n.src&&n.src.includes(G)&&n.src.includes(e))return n;return null}const Kt=30,Wt=1e3;
1class Yt{constructor(t={},n=Wt){this.throttleMetadata=t,this.intervalMillis=n}getThrottleMetadata(t){return this.throttleMetadata[t]}setThrottleMetadata(t,n){this.throttleMetadata[t]=n}deleteThrottleMetadata(t){delete this.throttleMetadata[t]}}const Me=new Yt;function Jt(e){return new Headers({Accept:"application/json","x-goog-api-key":e})}async function Xt(e){var t;const{appId:n,apiKey:i}=e,a={method:"GET",headers:Jt(i)},s=Mt.replace("{app-id}",n),r=await fetch(s,a);if(r.status!==200&&r.status!==304){let o="";try{const c=await r.json();!((t=c.error)===null||t===void 0)&&t.message&&(o=c.error.message)}catch{}throw m.create("config-fetch-failed",{httpStatus:r.status,responseMessage:o})}return r.json()}async function Qt(e,t=Me,n){const{appId:i,apiKey:a,measurementId:s}=e.options;if(!i)throw m.create("no-app-id");if(!a){if(s)return{measurementId:s,appId:i};throw m.create("no-api-key")}const r=t.getThrottleMetadata(i)||{backoffCount:0,throttleEndTimeMillis:Date.now()},o=new tn;return setTimeout(async()=>{o.abort()},jt),$e({appId:i,apiKey:a,measurementId:s},r,o,t)}async function $e(e,{throttleEndTimeMillis:t,backoffCount:n},i,a=Me){var s;const{appId:r,measurementId:o}=e;try{await Zt(i,t)}catch(c){if(o)return f.warn(`Timed out fetching this Firebase app's measurement ID from the server. Falling back to the measurement ID ${o} provided in the "measurementId" field in the local Firebase config. [${c?.message}]`),{appId:r,measurementId:o};throw c}try{const c=await Xt(e);return a.deleteThrottleMetadata(r),c}catch(c){const l=c;if(!en(l)){if(a.deleteThrottleMetadata(r),o)return f.warn(`Failed to fetch this Firebase app's measurement ID from the server. Falling back to the measurement ID ${o} provided in the "measurementId" field in the local Firebase config. [${l?.message}]`),{appId:r,measurementId:o};throw c}const d=Number((s=l?.customData)===null||s===void 0?void 0:s.httpStatus)===503?W(n,a.intervalMillis,Kt):W(n,a.intervalMillis),h={throttleEndTimeMillis:Date.now()+d,backoffCount:n+1};return a.setThrottleMetadata(r,h),f.debug(`Calling attemptFetch again in ${d} millis`),$e(e,h,i,a)}}function Zt(e,t){return new Promise((n,i)=>{const a=Math.max(t-Date.now(),0),s=setTimeout(n,a);e.addEventListener(()=>{clearTimeout(s),i(m.create("fetch-throttle",{throttleEndTimeMillis:t}))})})}function en(e){if(!(e instanceof de)||!e.customData)return!1;const t=Number(e.customData.httpStatus);return t===429||t===500||t===503||t===504}class tn{constructor(){this.listeners=[]}addEventListener(t){this.listeners.push(t)}abort(){this.listeners.forEach(t=>t())}}async function nn(e,t,n,i,a){if(a&&a.global){e("event",n,i);return}else{const s=await t,r=Object.assign(Object.assign({},i),{send_to:s});e("event",n,r)}}async function an(){if(me())try{await he()}catch(e){return f.warn(m.create("indexeddb-unavailable",{errorInfo:e?.toString()}).message),!1}else return f.warn(m.create("indexeddb-unavailable",{errorInfo:"IndexedDB is not available in this environment."}).message),!1;return!0}async function sn(e,t,n,i,a,s,r){var o;const c=Qt(e);c.then(p=>{n[p.measurementId]=p.appId,e.options.measurementId&&p.measurementId!==e.options.measurementId&&f.warn(`The measurement ID in the local Firebase config (${e.options.measurementId}) does not match the measurement ID fetched from the server (${p.measurementId}). To ensure analytics events are always sent to the correct Analytics property, update the measurement ID field in the local config or remove it from the local config.`)}).catch(p=>f.error(p)),t.push(c);const l=an().then(p=>{if(p)return i.getId()}),[d,h]=await Promise.all([c,l]);Ht(s)||Lt(s,d.measurementId),a("js",new Date);const g=(o=r?.config)!==null&&o!==void 0?o:{};return g[Ft]="firebase",g.update=!0,h!=null&&(g[Dt]=h),a("config",d.measurementId,g),d.measurementId}class rn{constructor(t){this.app=t}_delete(){return delete k[this.app.options.appId],Promise.resolve()}}let k={},X=[];const Q={};let M="dataLayer",on="gtag",Z,Ne,ee=!1;function cn(){const e=[];if(pe()&&e.push("This is a browser extension environment."),ge()||e.push("Cookies are not available."),e.length>0){const t=e.map((i,a)=>`(${a+1}) ${i}`).join(" "),n=m.create("invalid-analytics-context",{errorInfo:t});f.warn(n.message)}}
1function ln(e,t,n){cn();const i=e.options.appId;if(!i)throw m.create("no-app-id");if(!e.options.apiKey)if(e.options.measurementId)f.warn(`The "apiKey" field is empty in the local Firebase config. This is needed to fetch the latest measurement ID for this Firebase app. Falling back to the measurement ID ${e.options.measurementId} provided in the "measurementId" field in the local Firebase config.`);else throw m.create("no-api-key");if(k[i]!=null)throw m.create("already-exists",{id:i});if(!ee){qt(M);const{wrappedGtag:s,gtagCore:r}=Gt(k,X,Q,M,on);Ne=s,Z=r,ee=!0}return k[i]=sn(e,X,Q,t,Z,M,n),new rn(e)}function yn(e=Ue()){e=fe(e);const t=O(e,x);return t.isInitialized()?t.getImmediate():un(e)}function un(e,t={}){const n=O(e,x);if(n.isInitialized()){const a=n.getImmediate();if(Ge(t,n.getOptions()))return a;throw m.create("already-initialized")}return n.initialize({options:t})}async function wn(){if(pe()||!ge()||!me())return!1;try{return await he()}catch{return!1}}function dn(e,t,n,i){e=fe(e),nn(Ne,k[e.app.options.appId],t,n,i).catch(a=>f.error(a))}const te="@firebase/analytics",ne="0.10.8";function fn(){C(new R(x,(t,{options:n})=>{const i=t.getProvider("app").getImmediate(),a=t.getProvider("installations-internal").getImmediate();return ln(i,a,n)},"PUBLIC")),C(new R("analytics-internal",e,"PRIVATE")),E(te,ne),E(te,ne,"esm2017");function e(t){try{const n=t.getProvider(x).getImmediate();return{logEvent:(i,a,s)=>dn(n,i,a,s)}}catch(n){throw m.create("interop-component-reg-failed",{reason:n})}}}fn();const $=typeof window<"u"?S.useLayoutEffect:S.useEffect;let A=0,N=0,ie="",ae="",se="",re="",oe="",ce="",le="",B=!1;function In({isOpen:e,onClose:t,children:n,decorations:i,panelDecorations:a,panelClassName:s="",overlayClassName:r="",contentClassName:o="",closeOnBackdrop:c=!0,disablePanelAnimation:l=!1}){const[d,h]=S.useState(e),[g,p]=S.useState(!1),y=S.useRef(null);if($(()=>{e?(y.current&&(clearTimeout(y.current),y.current=null),p(!1),h(!0)):d&&(p(!0),y.current=setTimeout(()=>{h(!1),p(!1)},230))},[e]),$(()=>()=>{y.current&&clearTimeout(y.current)},[]),$(()=>{if(!d)return;const{body:u,documentElement:T}=document;if(A+=1,A===1){N=window.scrollY,ie=u.style.overflow,ae=u.style.position,se=u.style.top,re=u.style.width,oe=T.style.overflow,ce=T.style.overscrollBehavior,le=u.style.overscrollBehavior;const K=!Ke();B=K,T.style.overflow="hidden",T.style.overscrollBehavior="none",u.style.overflow="hidden",u.style.overscrollBehavior="none",K&&(u.style.position="fixed",u.style.top=`-${N}px`,u.style.width="100%")}return()=>{A=Math.max(0,A-1),A===0&&(T.style.overflow=oe,T.style.overscrollBehavior=ce,u.style.overflow=ie,u.style.overscrollBehavior=le,u.style.position=ae,u.style.top=se,u.style.width=re,B&&window.scrollTo({top:N}),B=!1)}},[d]),!d)return null;const Be=g?"animate-modal-backdrop-out":"animate-modal-backdrop-in",Le=l?"":g?"animate-modal-panel-out":"animate-modal-panel-in",H=()=>{c&&t()},qe=u=>{g&&u.animationName==="modalPanelOut"&&(y.current&&(clearTimeout(y.current),y.current=null),h(!1),p(!1))};return typeof window>"u"?null:He.createPortal(w.jsxs("div",{className:`fixed inset-0 z-1000 flex items-center justify-center ${g?"modal-state-closing":"modal-state-open"} ${r}`.trim(),children:[w.jsx("div",{className:`modal-overlay-backdrop absolute inset-0 ${Be}`,onClick:H}),i&&w.jsx("div",{className:"pointer-events-none absolute inset-0 z-5 overflow-hidden",children:i}),w.jsx("div",{className:`relative z-10 flex min-h-full w-full items-center justify-center px-4 ${Le} ${o}`.trim(),onClick:H,onAnimationEnd:qe,children:w.jsxs("div",{className:`relative ${s}`.trim(),onClick:u=>u.stopPropagation(),children:[a&&w.jsx("div",{className:"pointer-events-none absolute inset-0 z-0 overflow-visible",children:a}),w.jsx("div",{className:a?"relative z-1":"contents",children:n})]})})]}),document.body)}export{In as M,yn as g,wn as i,dn as l};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.