
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1a3dd4f7-ead7-5579-8629-9bdc2797be8d")}catch(e){}}();
import{r as ne,g as ps}from"./index-CamrZNs0.js";import{D as pt,l as m,x as re,G as N,b as $,e as H,y as E,z as $e,A as he,B as ct,C as ar,T as ir,s as b,E as mt,F as ce,t as Le,a as Me,d as ge,n as ms,i as He,H as cr,I as ht,J as gt,K as Y,L as _e,M as P,N as hs,O as ke,S as V,P as Kt,Q as gs,R as fn,U as _s,f as I,h as O,V as et,W as pn,X as Ss,Y as _t,Z as ur,_ as dr,$ as ys,a0 as lr,a1 as mn,a2 as Es,a3 as Jt,a4 as Ot,a5 as Ts,a6 as fr,u as tt,a7 as hn,a8 as Qt,a9 as gn,r as ue,aa as pr,q as vs,ab as bs,ac as mr,ad as ut,ae as hr,af as Is,ag as $t,ah as _n,ai as ws,aj as Rs,ak as Ns,al as ks,am as Cs,an as Zt,ao as te,w as ae,ap as xe,aq as As,ar as Ps,o as W,as as Sn,at as yn,au as gr,av as Os,aw as en,ax as $s,ay as xt,az as De,c as _r,aA as Sr,aB as En,aC as xs,aD as tn,aE as Ds,aF as Fs,m as Se,v as B,aG as yr,aH as Ce,aI as Ls,aJ as ye,aK as Tn,aL as vn,aM as bn,aN as Er,p as Ms,aO as Hs,aP as Us,aQ as Bs,aR as js}from"./AppGlobals-CCvI5bTR.js";const nt={},In={};function se(e,t){nt[e]=nt[e]||[],nt[e].push(t)}function oe(e,t){if(!In[e]){In[e]=!0;try{t()}catch(n){pt&&m.error(`Error while instrumenting ${e}`,n)}}}function z(e,t){const n=e&&nt[e];if(n)for(const r of n)try{r(t)}catch(s){pt&&m.error(`Error while triggering instrumentation handler.
Type: ${e}
Name: ${re(r)}
Error:`,s)}}let Et=null;function Tr(e){const t="error";se(t,e),oe(t,qs)}function qs(){Et=N.onerror,N.onerror=function(e,t,n,r,s){return z("error",{column:r,error:s,line:n,msg:e,url:t}),Et?Et.apply(this,arguments):!1},N.onerror.__SENTRY_INSTRUMENTED__=!0}let Tt=null;function vr(e){const t="unhandledrejection";se(t,e),oe(t,Ws)}function Ws(){Tt=N.onunhandledrejection,N.onunhandledrejection=function(e){return z("unhandledrejection",e),Tt?Tt.apply(this,arguments):!0},N.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}let wn=!1;function Gs(){wn||(wn=!0,Tr(Dt),vr(Dt))}function Dt(){const e=$(),t=e&&H(e);if(t){const n="internal_error";E&&m.log(`[Tracing] Root span: ${n} -> Global error occurred`),t.setStatus({code:$e,message:n})}}Dt.tag="sentry_tracingErrorCallback";const br="_sentryScope",Ir="_sentryIsolationScope";function Ys(e,t,n){e&&(he(e,Ir,n),he(e,br,t))}function Rn(e){return{scope:e[br],isolationScope:e[Ir]}}class Te{constructor(t={}){this._traceId=t.traceId||ct(),this._spanId=t.spanId||ar()}spanContext(){return{spanId:this._spanId,traceId:this._traceId,traceFlags:ir}}end(t){}setAttribute(t,n){return this}setAttributes(t){return this}setStatus(t){return this}updateName(t){return this}isRecording(){return!1}addEvent(t,n,r){return this}addLink(t){return this}addLinks(t){return this}recordException(t,n){}}function zs(e){if(!E)return;const{description:t="< unknown name >",op:n="< unknown op >",parent_span_id:r}=b(e),{spanId:s}=e.spanContext(),o=mt(e),a=H(e),i=a===e,c=`[Tracing] Starting ${o?"sampled":"unsampled"} ${i?"root ":""}span`,u=[`op: ${n}`,`name: ${t}`,`ID: ${s}`];if(r&&u.push(`parent ID: ${r}`),!i){const{op:l,description:d}=b(a);u.push(`root ID: ${a.spanContext().spanId}`),l&&u.push(`root op: ${l}`),d&&u.push(`root description: ${d}`)}m.log(`${c}
  ${u.join(`
  `)}`)}function Xs(e){if(!E)return;const{description:t="< unknown name >",op:n="< unknown op >"}=b(e),{spanId:r}=e.spanContext(),o=H(e)===e,a=`[Tracing] Finishing "${n}" ${o?"root ":""}span "${t}" with ID ${r}`;m.log(a)}function wr(e){if(typeof e=="boolean")return Number(e);const t=typeof e=="string"?parseFloat(e):e;if(typeof t!="number"||isNaN(t)||t<0||t>1){E&&m.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`);return}return t}function Vs(e,t){if(!ce(e))return[!1];const n=Le().getScopeData().sdkProcessingMetadata.normalizedRequest,r={...t,normalizedRequest:t.normalizedRequest||n};let s;typeof e.tracesSampler=="function"?s=e.tracesSampler(r):r.parentSampled!==void 0?s=r.parentSampled:typeof e.tracesSampleRate<"u"?s=e.tracesSampleRate:s=1;const o=wr(s);return o===void 0?(E&&m.warn("[Tracing] Discarding transaction because of invalid sample rate."),[!1]):o?Math.random()<o?[!0,o]:(E&&m.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(s)})`),[!1,o]):(E&&m.log(`[Tracing] Discarding transaction because ${typeof e.tracesSampler=="function"?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0"}`),[!1,o])}const Ks=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function Js(e){return e==="http"||e==="https"}function ve(e,t=!1){const{host:n,path:r,pass:s,port:o,projectId:a,protocol:i,publicKey:c}=e;return`${i}://${c}${t&&s?`:${s}`:""}@${n}${o?`:${o}`:""}/${r&&`${r}/`}${a}`}function Qs(e){const t=Ks.exec(e);if(!t){Me(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}const[n,r,s="",o="",a="",i=""]=t.slice(1);let c="",u=i;const l=u.split("/");if(l.length>1&&(c=l.slice(0,-1).join("/"),u=l.pop()),u){const d=u.match(/^\d+/);d&&(u=d[0])}return Rr({host:o,pass:s,path:c,projectId:u,port:a,protocol:n,publicKey:r})}function Rr(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function Zs(e){if(!pt)return!0;const{port:t,projectId:n,protocol:r}=e;return["protocol","publicKey","host","projectId"].find(a=>e[a]?!1:(m.error(`Invalid Sentry Dsn: ${a} missing`),!0))?!1:n.match(/^\d+$/)?Js(r)?t&&isNaN(parseInt(t,10))?(m.error(`Invalid Sentry Dsn: Invalid port ${t}`),!1):!0:(m.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),!1):(m.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),!1)}function Nr(e){const t=typeof e=="string"?Qs(e):Rr(e);if(!(!t||!Zs(t)))return t}function be(e,t=[]){return[e,t]}function eo(e,t){const[n,r]=e;return[n,[...r,t]]}function Nn(e,t){const n=e[1];for(const r of n){const s=r[0].type;if(t(r,s))return!0}return!1}function Ft(e){return N.__SENTRY__&&N.__SENTRY__.encodePolyfill?N.__SENTRY__.encodePolyfill(e):new TextEncoder().encode(e)}function to(e){const[t,n]=e;let r=JSON.stringify(t);function s(o){typeof r=="string"?r=typeof o=="string"?r+o:[Ft(r),o]:r.push(typeof o=="string"?Ft(o):o)}for(const o of n){const[a,i]=o;if(s(`
${JSON.stringify(a)}
`),typeof i=="string"||i instanceof Uint8Array)s(i);else{let c;try{c=JSON.stringify(i)}catch{c=JSON.stringify(ms(i))}s(c)}}return typeof r=="string"?r:no(r)}function no(e){const t=e.reduce((s,o)=>s+o.length,0),n=new Uint8Array(t);let r=0;for(const s of e)n.set(s,r),r+=s.length;return n}function ro(e){return[{type:"span"},e]}function so(e){const t=typeof e.data=="string"?Ft(e.data):e.data;return[ge({type:"attachment",length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType}),t]}const oo={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",statsd:"metric_bucket",raw_security:"security"};function kn(e){return oo[e]}function kr(e){if(!e||!e.sdk)return;const{name:t,version:n}=e.sdk;return{name:t,version:n}}function ao(e,t,n,r){const s=e.sdkProcessingMetadata&&e.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:ve(r)},...s&&{trace:ge({...s})}}}function io(e,t){return t&&(e.sdk=e.sdk||{},e.sdk.name=e.sdk.name||t.name,e.sdk.version=e.sdk.version||t.version,e.sdk.integrations=[...e.sdk.integrations||[],...t.integrations||[]],e.sdk.packages=[...e.sdk.packages||[],...t.packages||[]]),e}function co(e,t,n,r){const s=kr(n),o={sent_at:new Date().toISOString(),...s&&{sdk:s},...!!r&&t&&{dsn:ve(t)}},a="aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()];return be(o,[a])}function uo(e,t,n,r){const s=kr(n),o=e.type&&e.type!=="replay_event"?e.type:"event";io(e,n&&n.sdk);const a=ao(e,s,r,t);return delete e.sdkProcessingMetadata,be(a,[[{type:o},e]])}function lo(e,t){function n(l){return!!l.trace_id&&!!l.public_key}const r=He(e[0]),s=t&&t.getDsn(),o=t&&t.getOptions().tunnel,a={sent_at:new Date().toISOString(),...n(r)&&{trace:r},...!!o&&s&&{dsn:ve(s)}},i=t&&t.getOptions().beforeSendSpan,c=i?l=>{const d=i(b(l));return d||cr(),d}:l=>b(l),u=[];for(const l of e){const d=c(l);d&&u.push(ro(d))}return be(a,u)}function fo(e,t,n,r=$()){const s=r&&H(r);s&&(E&&m.log(`[Measurement] Setting measurement on root span: ${e} = ${t} ${n}`),s.addEvent(e,{[gt]:t,[ht]:n}))}function Cn(e){if(!e||e.length===0)return;const t={};return e.forEach(n=>{const r=n.attributes||{},s=r[ht],o=r[gt];typeof s=="string"&&typeof o=="number"&&(t[n.name]={value:o,unit:s})}),t}const An=1e3;class nn{constructor(t={}){this._traceId=t.traceId||ct(),this._spanId=t.spanId||ar(),this._startTime=t.startTimestamp||Y(),this._attributes={},this.setAttributes({[P]:"manual",[_e]:t.op,...t.attributes}),this._name=t.name,t.parentSpanId&&(this._parentSpanId=t.parentSpanId),"sampled"in t&&(this._sampled=t.sampled),t.endTimestamp&&(this._endTime=t.endTimestamp),this._events=[],this._isStandaloneSpan=t.isStandalone,this._endTime&&this._onSpanEnded()}addLink(t){return this}addLinks(t){return this}recordException(t,n){}spanContext(){const{_spanId:t,_traceId:n,_sampled:r}=this;return{spanId:t,traceId:n,traceFlags:r?hs:ir}}setAttribute(t,n){return n===void 0?delete this._attributes[t]:this._attributes[t]=n,this}setAttributes(t){return Object.keys(t).forEach(n=>this.setAttribute(n,t[n])),this}updateStartTime(t){this._startTime=ke(t)}setStatus(t){return this._status=t,this}updateName(t){return this._name=t,this.setAttribute(V,"custom"),this}end(t){this._endTime||(this._endTime=ke(t),Xs(this),this._onSpanEnded())}getSpanJSON(){return ge({data:this._attributes,description:this._name,op:this._attributes[_e],parent_span_id:this._parentSpanId,span_id:this._spanId,start_timestamp:this._startTime,status:_s(this._status),timestamp:this._endTime,trace_id:this._traceId,origin:this._attributes[P],_metrics_summary:fn(this),profile_id:this._attributes[gs],exclusive_time:this._attributes[Kt],measurements:Cn(this._events),is_segment:this._isStandaloneSpan&&H(this)===this||void 0,segment_id:this._isStandaloneSpan?H(this).spanContext().spanId:void 0})}isRecording(){return!this._endTime&&!!this._sampled}addEvent(t,n,r){E&&m.log("[Tracing] Adding an event to span:",t);const s=Pn(n)?n:r||Y(),o=Pn(n)?{}:n||{},a={name:t,time:ke(s),attributes:o};return this._events.push(a),this}isStandaloneSpan(){return!!this._isStandaloneSpan}_onSpanEnded(){const t=I();if(t&&t.emit("spanEnd",this),!(this._isStandaloneSpan||this===H(this)))return;if(this._isStandaloneSpan){this._sampled?mo(lo([this],t)):(E&&m.log("[Tracing] Discarding standalone span because its trace was not chosen to be sampled."),t&&t.recordDroppedEvent("sample_rate","span"));return}const r=this._convertSpanToTransaction();r&&(Rn(this).scope||O()).captureEvent(r)}_convertSpanToTransaction(){if(!On(b(this)))return;this._name||(E&&m.warn("Transaction has no name, falling back to `<unlabeled transaction>`."),this._name="<unlabeled transaction>");const{scope:t,isolationScope:n}=Rn(this),s=(t||O()).getClient()||I();if(this._sampled!==!0){E&&m.log("[Tracing] Discarding transaction because its trace was not chosen to be sampled."),s&&s.recordDroppedEvent("sample_rate","transaction");return}const a=et(this).filter(d=>d!==this&&!po(d)).map(d=>b(d)).filter(On),i=this._attributes[V];delete this._attributes[pn],a.forEach(d=>{d.data&&delete d.data[pn]});const c={contexts:{trace:Ss(this)},spans:a.length>An?a.sort((d,p)=>d.start_timestamp-p.start_timestamp).slice(0,An):a,start_timestamp:this._startTime,timestamp:this._endTime,transaction:this._name,type:"transaction",sdkProcessingMetadata:{capturedSpanScope:t,capturedSpanIsolationScope:n,...ge({dynamicSamplingContext:He(this)})},_metrics_summary:fn(this),...i&&{transaction_info:{source:i}}},u=Cn(this._events);return u&&Object.keys(u).length&&(E&&m.log("[Measurements] Adding measurements to transaction event",JSON.stringify(u,void 0,2)),c.measurements=u),c}}function Pn(e){return e&&typeof e=="number"||e instanceof Date||Array.isArray(e)}function On(e){return!!e.start_timestamp&&!!e.timestamp&&!!e.span_id&&!!e.trace_id}function po(e){return e instanceof nn&&e.isStandaloneSpan()}function mo(e){const t=I();if(!t)return;const n=e[1];if(!n||n.length===0){t.recordDroppedEvent("before_send","span");return}t.sendEnvelope(e)}const Cr="__SENTRY_SUPPRESS_TRACING__";function Ue(e){const t=Pr();if(t.startInactiveSpan)return t.startInactiveSpan(e);const n=go(e),{forceTransaction:r,parentSpan:s}=e;return(e.scope?a=>_t(e.scope,a):s!==void 0?a=>Ar(s,a):a=>a())(()=>{const a=O(),i=So(a);return e.onlyIfParent&&!i?new Te:ho({parentSpan:i,spanArguments:n,forceTransaction:r,scope:a})})}function Ar(e,t){const n=Pr();return n.withActiveSpan?n.withActiveSpan(e,t):_t(r=>(Jt(r,e||void 0),t(r)))}function ho({parentSpan:e,spanArguments:t,forceTransaction:n,scope:r}){if(!ce())return new Te;const s=Le();let o;if(e&&!n)o=_o(e,r,t),lr(e,o);else if(e){const a=He(e),{traceId:i,spanId:c}=e.spanContext(),u=mt(e);o=$n({traceId:i,parentSpanId:c,...t},r,u),mn(o,a)}else{const{traceId:a,dsc:i,parentSpanId:c,sampled:u}={...s.getPropagationContext(),...r.getPropagationContext()};o=$n({traceId:a,parentSpanId:c,...t},r,u),i&&mn(o,i)}return zs(o),Ys(o,r,s),o}function go(e){const n={isStandalone:(e.experimental||{}).standalone,...e};if(e.startTime){const r={...n};return r.startTimestamp=ke(e.startTime),delete r.startTime,r}return n}function Pr(){const e=ur();return dr(e)}function $n(e,t,n){const r=I(),s=r&&r.getOptions()||{},{name:o="",attributes:a}=e,[i,c]=t.getScopeData().sdkProcessingMetadata[Cr]?[!1]:Vs(s,{name:o,parentSampled:n,attributes:a,transactionContext:{name:o,parentSampled:n}}),u=new nn({...e,attributes:{[V]:"custom",...e.attributes},sampled:i});return c!==void 0&&u.setAttribute(Es,c),r&&r.emit("spanStart",u),u}function _o(e,t,n){const{spanId:r,traceId:s}=e.spanContext(),o=t.getScopeData().sdkProcessingMetadata[Cr]?!1:mt(e),a=o?new nn({...n,parentSpanId:r,traceId:s,sampled:o}):new Te({traceId:s});lr(e,a);const i=I();return i&&(i.emit("spanStart",a),n.endTimestamp&&i.emit("spanEnd",a)),a}function So(e){const t=ys(e);if(!t)return;const n=I();return(n?n.getOptions():{}).parentSpanIsAlwaysRootSpan?H(t):t}const rt={idleTimeout:1e3,finalTimeout:3e4,childSpanTimeout:15e3},yo="heartbeatFailed",Eo="idleTimeout",To="finalTimeout",vo="externalFinish";function Or(e,t={}){const n=new Map;let r=!1,s,o=vo,a=!t.disableAutoFinish;const i=[],{idleTimeout:c=rt.idleTimeout,finalTimeout:u=rt.finalTimeout,childSpanTimeout:l=rt.childSpanTimeout,beforeSpanEnd:d}=t,p=I();if(!p||!ce())return new Te;const g=O(),h=$(),T=bo(e);T.end=new Proxy(T.end,{apply(y,k,j){d&&d(T);const[A,...F]=j,q=A||Y(),R=ke(q),fe=et(T).filter(ee=>ee!==T);if(!fe.length)return f(R),Reflect.apply(y,k,[R,...F]);const Ge=fe.map(ee=>b(ee).timestamp).filter(ee=>!!ee),Ye=Ge.length?Math.max(...Ge):void 0,pe=b(T).start_timestamp,ze=Math.min(pe?pe+u/1e3:1/0,Math.max(pe||-1/0,Math.min(R,Ye||1/0)));return f(ze),Reflect.apply(y,k,[ze,...F])}});function L(){s&&(clearTimeout(s),s=void 0)}function D(y){L(),s=setTimeout(()=>{!r&&n.size===0&&a&&(o=Eo,T.end(y))},c)}function M(y){s=setTimeout(()=>{!r&&a&&(o=yo,T.end(y))},l)}function w(y){L(),n.set(y,!0);const k=Y();M(k+l/1e3)}function K(y){if(n.has(y)&&n.delete(y),n.size===0){const k=Y();D(k+c/1e3)}}function f(y){r=!0,n.clear(),i.forEach(R=>R()),Jt(g,h);const k=b(T),{start_timestamp:j}=k;if(!j)return;(k.data||{})[Ot]||T.setAttribute(Ot,o),m.log(`[Tracing] Idle span "${k.op}" finished`);const F=et(T).filter(R=>R!==T);let q=0;F.forEach(R=>{R.isRecording()&&(R.setStatus({code:$e,message:"cancelled"}),R.end(y),E&&m.log("[Tracing] Cancelling span since span ended early",JSON.stringify(R,void 0,2)));const fe=b(R),{timestamp:Ge=0,start_timestamp:Ye=0}=fe,pe=Ye<=y,ze=(u+c)/1e3,ee=Ge-Ye<=ze;if(E){const ln=JSON.stringify(R,void 0,2);pe?ee||m.log("[Tracing] Discarding span since it finished after idle span final timeout",ln):m.log("[Tracing] Discarding span since it happened after idle span was finished",ln)}(!ee||!pe)&&(Ts(T,R),q++)}),q>0&&T.setAttribute("sentry.idle_span_discarded_spans",q)}return i.push(p.on("spanStart",y=>{if(r||y===T||b(y).timestamp)return;et(T).includes(y)&&w(y.spanContext().spanId)})),i.push(p.on("spanEnd",y=>{r||K(y.spanContext().spanId)})),i.push(p.on("idleSpanEnableAutoFinish",y=>{y===T&&(a=!0,D(),n.size&&M())})),t.disableAutoFinish||D(),setTimeout(()=>{r||(T.setStatus({code:$e,message:"deadline_exceeded"}),o=To,T.end())},u),T}function bo(e){const t=Ue(e);return Jt(O(),t),E&&m.log("[Tracing] Started span is an idle span"),t}const Io="7";function $r(e){const t=e.protocol?`${e.protocol}:`:"",n=e.port?`:${e.port}`:"";return`${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`}function wo(e){return`${$r(e)}${e.projectId}/envelope/`}function Ro(e,t){const n={sentry_version:Io};return e.publicKey&&(n.sentry_key=e.publicKey),t&&(n.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(n).toString()}function No(e,t,n){return t||`${wo(e)}?${Ro(e,n)}`}function ko(e,t){const n=Nr(e);if(!n)return"";const r=`${$r(n)}embed/error-page/`;let s=`dsn=${ve(n)}`;for(const o in t)if(o!=="dsn"&&o!=="onClose")if(o==="user"){const a=t.user;if(!a)continue;a.name&&(s+=`&name=${encodeURIComponent(a.name)}`),a.email&&(s+=`&email=${encodeURIComponent(a.email)}`)}else s+=`&${encodeURIComponent(o)}=${encodeURIComponent(t[o])}`;return`${r}?${s}`}const xn=[];function Co(e){const t={};return e.forEach(n=>{const{name:r}=n,s=t[r];s&&!s.isDefaultInstance&&n.isDefaultInstance||(t[r]=n)}),Object.values(t)}function Ao(e){const t=e.defaultIntegrations||[],n=e.integrations;t.forEach(a=>{a.isDefaultInstance=!0});let r;if(Array.isArray(n))r=[...t,...n];else if(typeof n=="function"){const a=n(t);r=Array.isArray(a)?a:[a]}else r=t;const s=Co(r),o=s.findIndex(a=>a.name==="Debug");if(o>-1){const[a]=s.splice(o,1);s.push(a)}return s}function Po(e,t){const n={};return t.forEach(r=>{r&&xr(e,r,n)}),n}function Dn(e,t){for(const n of t)n&&n.afterAllSetup&&n.afterAllSetup(e)}function xr(e,t,n){if(n[t.name]){E&&m.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,xn.indexOf(t.name)===-1&&typeof t.setupOnce=="function"&&(t.setupOnce(),xn.push(t.name)),t.setup&&typeof t.setup=="function"&&t.setup(e),typeof t.preprocessEvent=="function"){const r=t.preprocessEvent.bind(t);e.on("preprocessEvent",(s,o)=>r(s,o,e))}if(typeof t.processEvent=="function"){const r=t.processEvent.bind(t),s=Object.assign((o,a)=>r(o,a,e),{id:t.name});e.addEventProcessor(s)}E&&m.log(`Integration installed: ${t.name}`)}function Oo(e,t,n){const r=[{type:"client_report"},{timestamp:fr(),discarded_events:e}];return be(t?{dsn:t}:{},[r])}class X extends Error{constructor(t,n="warn"){super(t),this.message=t,this.logLevel=n}}const Fn="Not capturing exception because it's already been captured.";class $o{constructor(t){if(this._options=t,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],t.dsn?this._dsn=Nr(t.dsn):E&&m.warn("No DSN provided, client will not send events."),this._dsn){const s=No(this._dsn,t.tunnel,t._metadata?t._metadata.sdk:void 0);this._transport=t.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:s})}const r=["enableTracing","tracesSampleRate","tracesSampler"].find(s=>s in t&&t[s]==null);r&&Me(()=>{console.warn(`[Sentry] Deprecation warning: \`${r}\` is set to undefined, which leads to tracing being enabled. In v9, a value of \`undefined\` will result in tracing being disabled.`)})}captureException(t,n,r){const s=tt();if(hn(t))return E&&m.log(Fn),s;const o={event_id:s,...n};return this._process(this.eventFromException(t,o).then(a=>this._captureEvent(a,o,r))),o.event_id}captureMessage(t,n,r,s){const o={event_id:tt(),...r},a=hr(t)?t:String(t),i=Qt(t)?this.eventFromMessage(a,n,o):this.eventFromException(t,o);return this._process(i.then(c=>this._captureEvent(c,o,s))),o.event_id}captureEvent(t,n,r){const s=tt();if(n&&n.originalException&&hn(n.originalException))return E&&m.log(Fn),s;const o={event_id:s,...n},i=(t.sdkProcessingMetadata||{}).capturedSpanScope;return this._process(this._captureEvent(t,o,i||r)),o.event_id}captureSession(t){typeof t.release!="string"?E&&m.warn("Discarded session because of missing or non-string release"):(this.sendSession(t),gn(t,{init:!1}))}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(t){const n=this._transport;return n?(this.emit("flush"),this._isClientDoneProcessing(t).then(r=>n.flush(t).then(s=>r&&s))):ue(!0)}close(t){return this.flush(t).then(n=>(this.getOptions().enabled=!1,this.emit("close"),n))}getEventProcessors(){return this._eventProcessors}addEventProcessor(t){this._eventProcessors.push(t)}init(){(this._isEnabled()||this._options.integrations.some(({name:t})=>t.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(t){return this._integrations[t]}addIntegration(t){const n=this._integrations[t.name];xr(this,t,this._integrations),n||Dn(this,[t])}sendEvent(t,n={}){this.emit("beforeSendEvent",t,n);let r=uo(t,this._dsn,this._options._metadata,this._options.tunnel);for(const o of n.attachments||[])r=eo(r,so(o));const s=this.sendEnvelope(r);s&&s.then(o=>this.emit("afterSendEvent",t,o),null)}sendSession(t){const n=co(t,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(n)}recordDroppedEvent(t,n,r){if(this._options.sendClientReports){const s=typeof r=="number"?r:1,o=`${t}:${n}`;E&&m.log(`Recording outcome: "${o}"${s>1?` (${s} times)`:""}`),this._outcomes[o]=(this._outcomes[o]||0)+s}}on(t,n){const r=this._hooks[t]=this._hooks[t]||[];return r.push(n),()=>{const s=r.indexOf(n);s>-1&&r.splice(s,1)}}emit(t,...n){const r=this._hooks[t];r&&r.forEach(s=>s(...n))}sendEnvelope(t){return this.emit("beforeEnvelope",t),this._isEnabled()&&this._transport?this._transport.send(t).then(null,n=>(E&&m.error("Error while sending envelope:",n),n)):(E&&m.error("Transport disabled"),ue({}))}_setupIntegrations(){const{integrations:t}=this._options;this._integrations=Po(this,t),Dn(this,t)}_updateSessionFromEvent(t,n){let r=n.level==="fatal",s=!1;const o=n.exception&&n.exception.values;if(o){s=!0;for(const c of o){const u=c.mechanism;if(u&&u.handled===!1){r=!0;break}}}const a=t.status==="ok";(a&&t.errors===0||a&&r)&&(gn(t,{...r&&{status:"crashed"},errors:t.errors||Number(s||r)}),this.captureSession(t))}_isClientDoneProcessing(t){return new pr(n=>{let r=0;const s=1,o=setInterval(()=>{this._numProcessing==0?(clearInterval(o),n(!0)):(r+=s,t&&r>=t&&(clearInterval(o),n(!1)))},s)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(t,n,r=O(),s=Le()){const o=this.getOptions(),a=Object.keys(this._integrations);return!n.integrations&&a.length>0&&(n.integrations=a),this.emit("preprocessEvent",t,n),t.type||s.setLastEventId(t.event_id||n.event_id),vs(o,t,n,r,this,s).then(i=>{if(i===null)return i;i.contexts={trace:bs(r),...i.contexts};const c=mr(this,r);return i.sdkProcessingMetadata={dynamicSamplingContext:c,...i.sdkProcessingMetadata},i})}_captureEvent(t,n={},r){return this._processEvent(t,n,r).then(s=>s.event_id,s=>{E&&(s instanceof X&&s.logLevel==="log"?m.log(s.message):m.warn(s))})}_processEvent(t,n,r){const s=this.getOptions(),{sampleRate:o}=s,a=Fr(t),i=Dr(t),c=t.type||"error",u=`before send for type \`${c}\``,l=typeof o>"u"?void 0:wr(o);if(i&&typeof l=="number"&&Math.random()>l)return this.recordDroppedEvent("sample_rate","error",t),ut(new X(`Discarding event because it's not included in the random sample (sampling rate = ${o})`,"log"));const d=c==="replay_event"?"replay":c,g=(t.sdkProcessingMetadata||{}).capturedSpanIsolationScope;return this._prepareEvent(t,n,r,g).then(h=>{if(h===null)throw this.recordDroppedEvent("event_processor",d,t),new X("An event processor returned `null`, will not send event.","log");if(n.data&&n.data.__sentry__===!0)return h;const L=Do(this,s,h,n);return xo(L,u)}).then(h=>{if(h===null){if(this.recordDroppedEvent("before_send",d,t),a){const M=1+(t.spans||[]).length;this.recordDroppedEvent("before_send","span",M)}throw new X(`${u} returned \`null\`, will not send event.`,"log")}const T=r&&r.getSession();if(!a&&T&&this._updateSessionFromEvent(T,h),a){const D=h.sdkProcessingMetadata&&h.sdkProcessingMetadata.spanCountBeforeProcessing||0,M=h.spans?h.spans.length:0,w=D-M;w>0&&this.recordDroppedEvent("before_send","span",w)}const L=h.transaction_info;if(a&&L&&h.transaction!==t.transaction){const D="custom";h.transaction_info={...L,source:D}}return this.sendEvent(h,n),h}).then(null,h=>{throw h instanceof X?h:(this.captureException(h,{data:{__sentry__:!0},originalException:h}),new X(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.
Reason: ${h}`))})}_process(t){this._numProcessing++,t.then(n=>(this._numProcessing--,n),n=>(this._numProcessing--,n))}_clearOutcomes(){const t=this._outcomes;return this._outcomes={},Object.entries(t).map(([n,r])=>{const[s,o]=n.split(":");return{reason:s,category:o,quantity:r}})}_flushOutcomes(){E&&m.log("Flushing outcomes...");const t=this._clearOutcomes();if(t.length===0){E&&m.log("No outcomes to send");return}if(!this._dsn){E&&m.log("No dsn provided, will not send outcomes");return}E&&m.log("Sending outcomes:",t);const n=Oo(t,this._options.tunnel&&ve(this._dsn));this.sendEnvelope(n)}}function xo(e,t){const n=`${t} must return \`null\` or a valid event.`;if(Is(e))return e.then(r=>{if(!$t(r)&&r!==null)throw new X(n);return r},r=>{throw new X(`${t} rejected with ${r}`)});if(!$t(e)&&e!==null)throw new X(n);return e}function Do(e,t,n,r){const{beforeSend:s,beforeSendTransaction:o,beforeSendSpan:a}=t;if(Dr(n)&&s)return s(n,r);if(Fr(n)){if(n.spans&&a){const i=[];for(const c of n.spans){const u=a(c);u?i.push(u):(cr(),e.recordDroppedEvent("before_send","span"))}n.spans=i}if(o){if(n.spans){const i=n.spans.length;n.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:i}}return o(n,r)}}return n}function Dr(e){return e.type===void 0}function Fr(e){return e.type==="transaction"}function Fo(e,t){t.debug===!0&&(E?m.enable():Me(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),O().update(t.initialScope);const r=new e(t);return Lo(r),r.init(),r}function Lo(e){O().setClient(e)}function Mo(e){const t=[];function n(){return e===void 0||t.length<e}function r(a){return t.splice(t.indexOf(a),1)[0]||Promise.resolve(void 0)}function s(a){if(!n())return ut(new X("Not adding Promise because buffer limit was reached."));const i=a();return t.indexOf(i)===-1&&t.push(i),i.then(()=>r(i)).then(null,()=>r(i).then(null,()=>{})),i}function o(a){return new pr((i,c)=>{let u=t.length;if(!u)return i(!0);const l=setTimeout(()=>{a&&a>0&&i(!1)},a);t.forEach(d=>{ue(d).then(()=>{--u||(clearTimeout(l),i(!0))},c)})})}return{$:t,add:s,drain:o}}const Ho=60*1e3;function Uo(e,t=Date.now()){const n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;const r=Date.parse(`${e}`);return isNaN(r)?Ho:r-t}function Bo(e,t){return e[t]||e.all||0}function jo(e,t,n=Date.now()){return Bo(e,t)>n}function qo(e,{statusCode:t,headers:n},r=Date.now()){const s={...e},o=n&&n["x-sentry-rate-limits"],a=n&&n["retry-after"];if(o)for(const i of o.trim().split(",")){const[c,u,,,l]=i.split(":",5),d=parseInt(c,10),p=(isNaN(d)?60:d)*1e3;if(!u)s.all=r+p;else for(const g of u.split(";"))g==="metric_bucket"?(!l||l.split(";").includes("custom"))&&(s[g]=r+p):s[g]=r+p}else a?s.all=r+Uo(a,r):t===429&&(s.all=r+60*1e3);return s}const Wo=64;function Go(e,t,n=Mo(e.bufferSize||Wo)){let r={};const s=a=>n.drain(a);function o(a){const i=[];if(Nn(a,(d,p)=>{const g=kn(p);if(jo(r,g)){const h=Ln(d,p);e.recordDroppedEvent("ratelimit_backoff",g,h)}else i.push(d)}),i.length===0)return ue({});const c=be(a[0],i),u=d=>{Nn(c,(p,g)=>{const h=Ln(p,g);e.recordDroppedEvent(d,kn(g),h)})},l=()=>t({body:to(c)}).then(d=>(d.statusCode!==void 0&&(d.statusCode<200||d.statusCode>=300)&&E&&m.warn(`Sentry responded with status code ${d.statusCode} to sent event.`),r=qo(r,d),d),d=>{throw u("network_error"),d});return n.add(l).then(d=>d,d=>{if(d instanceof X)return E&&m.error("Skipped sending event because buffer is full."),u("queue_overflow"),ue({});throw d})}return{send:o,flush:s}}function Ln(e,t){if(!(t!=="event"&&t!=="transaction"))return Array.isArray(e)?e[1]:void 0}function Yo(e,t,n=[t],r="npm"){const s=e._metadata||{};s.sdk||(s.sdk={name:`sentry.javascript.${t}`,packages:n.map(o=>({name:`${r}:@sentry/${o}`,version:_n})),version:_n}),e._metadata=s}function Lr(e={}){const t=I();if(!ws()||!t)return{};const n=ur(),r=dr(n);if(r.getTraceData)return r.getTraceData(e);const s=O(),o=e.span||$(),a=o?Rs(o):zo(s),i=o?He(o):mr(t,s),c=Ns(i);return ks.test(a)?{"sentry-trace":a,baggage:c}:(m.warn("Invalid sentry-trace data. Cannot generate trace data"),{})}function zo(e){const{traceId:t,sampled:n,spanId:r}=e.getPropagationContext();return Cs(t,r,n)}const Xo=100;function de(e,t){const n=I(),r=Le();if(!n)return;const{beforeBreadcrumb:s=null,maxBreadcrumbs:o=Xo}=n.getOptions();if(o<=0)return;const i={timestamp:fr(),...e},c=s?Me(()=>s(i,t)):i;c!==null&&(n.emit&&n.emit("beforeAddBreadcrumb",c,t),r.addBreadcrumb(c,o))}let Mn;const Vo="FunctionToString",Hn=new WeakMap,Ko=()=>({name:Vo,setupOnce(){Mn=Function.prototype.toString;try{Function.prototype.toString=function(...e){const t=Zt(this),n=Hn.has(I())&&t!==void 0?t:this;return Mn.apply(n,e)}}catch{}},setup(e){Hn.set(e,!0)}}),Jo=Ko,Qo=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,"undefined is not an object (evaluating 'a.L')",`can't redefine non-configurable property "solana"`,"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)","Can't find variable: _AutofillCallbackHandler",/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/],Zo="InboundFilters",ea=(e={})=>({name:Zo,processEvent(t,n,r){const s=r.getOptions(),o=na(e,s);return ra(t,o)?null:t}}),ta=ea;function na(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:Qo],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]],ignoreInternal:e.ignoreInternal!==void 0?e.ignoreInternal:!0}}function ra(e,t){return t.ignoreInternal&&ua(e)?(E&&m.warn(`Event dropped due to being internal Sentry Error.
Event: ${te(e)}`),!0):sa(e,t.ignoreErrors)?(E&&m.warn(`Event dropped due to being matched by \`ignoreErrors\` option.
Event: ${te(e)}`),!0):la(e)?(E&&m.warn(`Event dropped due to not having an error message, error type or stacktrace.
Event: ${te(e)}`),!0):oa(e,t.ignoreTransactions)?(E&&m.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.
Event: ${te(e)}`),!0):aa(e,t.denyUrls)?(E&&m.warn(`Event dropped due to being matched by \`denyUrls\` option.
Event: ${te(e)}.
Url: ${dt(e)}`),!0):ia(e,t.allowUrls)?!1:(E&&m.warn(`Event dropped due to not being matched by \`allowUrls\` option.
Event: ${te(e)}.
Url: ${dt(e)}`),!0)}function sa(e,t){return e.type||!t||!t.length?!1:ca(e).some(n=>ae(n,t))}function oa(e,t){if(e.type!=="transaction"||!t||!t.length)return!1;const n=e.transaction;return n?ae(n,t):!1}function aa(e,t){if(!t||!t.length)return!1;const n=dt(e);return n?ae(n,t):!1}function ia(e,t){if(!t||!t.length)return!0;const n=dt(e);return n?ae(n,t):!0}function ca(e){const t=[];e.message&&t.push(e.message);let n;try{n=e.exception.values[e.exception.values.length-1]}catch{}return n&&n.value&&(t.push(n.value),n.type&&t.push(`${n.type}: ${n.value}`)),t}function ua(e){try{return e.exception.values[0].type==="SentryError"}catch{}return!1}function da(e=[]){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n&&n.filename!=="<anonymous>"&&n.filename!=="[native code]")return n.filename||null}return null}function dt(e){try{let t;try{t=e.exception.values[0].stacktrace.frames}catch{}return t?da(t):null}catch{return E&&m.error(`Cannot extract url for event ${te(e)}`),null}}function la(e){return e.type||!e.exception||!e.exception.values||e.exception.values.length===0?!1:!e.message&&!e.exception.values.some(t=>t.stacktrace||t.type&&t.type!=="Error"||t.value)}function fa(e,t,n=250,r,s,o,a){if(!o.exception||!o.exception.values||!a||!xe(a.originalException,Error))return;const i=o.exception.values.length>0?o.exception.values[o.exception.values.length-1]:void 0;i&&(o.exception.values=pa(Lt(e,t,s,a.originalException,r,o.exception.values,i,0),n))}function Lt(e,t,n,r,s,o,a,i){if(o.length>=n+1)return o;let c=[...o];if(xe(r[s],Error)){Un(a,i);const u=e(t,r[s]),l=c.length;Bn(u,s,l,i),c=Lt(e,t,n,r[s],s,[u,...c],u,l)}return Array.isArray(r.errors)&&r.errors.forEach((u,l)=>{if(xe(u,Error)){Un(a,i);const d=e(t,u),p=c.length;Bn(d,`errors[${l}]`,p,i),c=Lt(e,t,n,u,s,[d,...c],d,p)}}),c}function Un(e,t){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,...e.type==="AggregateError"&&{is_exception_group:!0},exception_id:t}}function Bn(e,t,n,r){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,type:"chained",source:t,exception_id:n,parent_id:r}}function pa(e,t){return e.map(n=>(n.value&&(n.value=As(n.value,t)),n))}function ie(e){if(!e)return{};const t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};const n=t[6]||"",r=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}function ma(e){const t="console";se(t,e),oe(t,ha)}function ha(){"console"in N&&Ps.forEach(function(e){e in N.console&&W(N.console,e,function(t){return Sn[e]=t,function(...n){z("console",{args:n,level:e});const s=Sn[e];s&&s.apply(N.console,n)}})})}function ga(e){return e==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(e)?e:"log"}const _a="Dedupe",Sa=()=>{let e;return{name:_a,processEvent(t){if(t.type)return t;try{if(Ea(t,e))return E&&m.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return e=t}}},ya=Sa;function Ea(e,t){return t?!!(Ta(e,t)||va(e,t)):!1}function Ta(e,t){const n=e.message,r=t.message;return!(!n&&!r||n&&!r||!n&&r||n!==r||!Hr(e,t)||!Mr(e,t))}function va(e,t){const n=jn(t),r=jn(e);return!(!n||!r||n.type!==r.type||n.value!==r.value||!Hr(e,t)||!Mr(e,t))}function Mr(e,t){let n=yn(e),r=yn(t);if(!n&&!r)return!0;if(n&&!r||!n&&r||(n=n,r=r,r.length!==n.length))return!1;for(let s=0;s<r.length;s++){const o=r[s],a=n[s];if(o.filename!==a.filename||o.lineno!==a.lineno||o.colno!==a.colno||o.function!==a.function)return!1}return!0}function Hr(e,t){let n=e.fingerprint,r=t.fingerprint;if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;n=n,r=r;try{return n.join("")===r.join("")}catch{return!1}}function jn(e){return e.exception&&e.exception.values&&e.exception.values[0]}function ba(e,t,n,r,s="auto.http.browser"){if(!e.fetchData)return;const o=ce()&&t(e.fetchData.url);if(e.endTimestamp&&o){const p=e.fetchData.__span;if(!p)return;const g=r[p];g&&(Ra(g,e),delete r[p]);return}const{method:a,url:i}=e.fetchData,c=wa(i),u=c?ie(c).host:void 0,l=!!$(),d=o&&l?Ue({name:`${a} ${i}`,attributes:{url:i,type:"fetch","http.method":a,"http.url":c,"server.address":u,[P]:s,[_e]:"http.client"}}):new Te;if(e.fetchData.__span=d.spanContext().spanId,r[d.spanContext().spanId]=d,n(e.fetchData.url)){const p=e.args[0],g=e.args[1]||{},h=Ia(p,g,ce()&&l?d:void 0);h&&(e.args[1]=g,g.headers=h)}return d}function Ia(e,t,n){const r=Lr({span:n}),s=r["sentry-trace"],o=r.baggage;if(!s)return;const a=t.headers||(Na(e)?e.headers:void 0);if(a)if(ka(a)){const i=new Headers(a);if(i.set("sentry-trace",s),o){const c=i.get("baggage");if(c){const u=Xe(c);i.set("baggage",u?`${u},${o}`:o)}else i.set("baggage",o)}return i}else if(Array.isArray(a)){const i=[...a.filter(c=>!(Array.isArray(c)&&c[0]==="sentry-trace")).map(c=>{if(Array.isArray(c)&&c[0]==="baggage"&&typeof c[1]=="string"){const[u,l,...d]=c;return[u,Xe(l),...d]}else return c}),["sentry-trace",s]];return o&&i.push(["baggage",o]),i}else{const i="baggage"in a?a.baggage:void 0;let c=[];return Array.isArray(i)?c=i.map(u=>typeof u=="string"?Xe(u):u).filter(u=>u===""):i&&c.push(Xe(i)),o&&c.push(o),{...a,"sentry-trace":s,baggage:c.length>0?c.join(","):void 0}}else return{...r}}function wa(e){try{return new URL(e).href}catch{return}}function Ra(e,t){if(t.response){gr(e,t.response.status);const n=t.response&&t.response.headers&&t.response.headers.get("content-length");if(n){const r=parseInt(n);r>0&&e.setAttribute("http.response_content_length",r)}}else t.error&&e.setStatus({code:$e,message:"internal_error"});e.end()}function Xe(e){return e.split(",").filter(t=>!t.split("=")[0].startsWith(Os)).join(",")}function Na(e){return typeof Request<"u"&&xe(e,Request)}function ka(e){return typeof Headers<"u"&&xe(e,Headers)}function Ur(e){if(e!==void 0)return e>=400&&e<500?"warning":e>=500?"error":void 0}const Mt=N;function Br(){if(!("fetch"in Mt))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch{return!1}}function Ht(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function Ca(){if(typeof EdgeRuntime=="string")return!0;if(!Br())return!1;if(Ht(Mt.fetch))return!0;let e=!1;const t=Mt.document;if(t&&typeof t.createElement=="function")try{const n=t.createElement("iframe");n.hidden=!0,t.head.appendChild(n),n.contentWindow&&n.contentWindow.fetch&&(e=Ht(n.contentWindow.fetch)),t.head.removeChild(n)}catch(n){pt&&m.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",n)}return e}function jr(e,t){const n="fetch";se(n,e),oe(n,()=>qr(void 0,t))}function Aa(e){const t="fetch-body-resolved";se(t,e),oe(t,()=>qr(Oa))}function qr(e,t=!1){t&&!Ca()||W(N,"fetch",function(n){return function(...r){const s=new Error,{method:o,url:a}=$a(r),i={args:r,fetchData:{method:o,url:a},startTimestamp:Y()*1e3,virtualError:s};return e||z("fetch",{...i}),n.apply(N,r).then(async c=>(e?e(c):z("fetch",{...i,endTimestamp:Y()*1e3,response:c}),c),c=>{throw z("fetch",{...i,endTimestamp:Y()*1e3,error:c}),en(c)&&c.stack===void 0&&(c.stack=s.stack,he(c,"framesToPop",1)),c})}})}async function Pa(e,t){if(e&&e.body){const n=e.body,r=n.getReader(),s=setTimeout(()=>{n.cancel().then(null,()=>{})},90*1e3);let o=!0;for(;o;){let a;try{a=setTimeout(()=>{n.cancel().then(null,()=>{})},5e3);const{done:i}=await r.read();clearTimeout(a),i&&(t(),o=!1)}catch{o=!1}finally{clearTimeout(a)}}clearTimeout(s),r.releaseLock(),n.cancel().then(null,()=>{})}}function Oa(e){let t;try{t=e.clone()}catch{return}Pa(t,()=>{z("fetch-body-resolved",{endTimestamp:Y()*1e3,response:e})})}function Ut(e,t){return!!e&&typeof e=="object"&&!!e[t]}function qn(e){return typeof e=="string"?e:e?Ut(e,"url")?e.url:e.toString?e.toString():"":""}function $a(e){if(e.length===0)return{method:"GET",url:""};if(e.length===2){const[n,r]=e;return{url:qn(n),method:Ut(r,"method")?String(r.method).toUpperCase():"GET"}}const t=e[0];return{url:qn(t),method:Ut(t,"method")?String(t.method).toUpperCase():"GET"}}function xa(){return typeof __SENTRY_BROWSER_BUNDLE__<"u"&&!!__SENTRY_BROWSER_BUNDLE__}function Da(){return"npm"}function Fa(){return!xa()&&Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]"}const Ve=N;function La(){const e=Ve.chrome,t=e&&e.app&&e.app.runtime,n="history"in Ve&&!!Ve.history.pushState&&!!Ve.history.replaceState;return!t&&n}function Wr(e){let t,n=e[0],r=1;for(;r<e.length;){const s=e[r],o=e[r+1];if(r+=2,(s==="optionalAccess"||s==="optionalCall")&&n==null)return;s==="access"||s==="optionalAccess"?(t=n,n=o(n)):(s==="call"||s==="optionalCall")&&(n=o((...a)=>n.call(t,...a)),t=void 0)}return n}const _=N;let Bt=0;function Gr(){return Bt>0}function Ma(){Bt++,setTimeout(()=>{Bt--})}function Ee(e,t={}){function n(s){return typeof s=="function"}if(!n(e))return e;try{const s=e.__sentry_wrapped__;if(s)return typeof s=="function"?s:e;if(Zt(e))return e}catch{return e}const r=function(...s){try{const o=s.map(a=>Ee(a,t));return e.apply(this,o)}catch(o){throw Ma(),_t(a=>{a.addEventProcessor(i=>(t.mechanism&&(xt(i,void 0),De(i,t.mechanism)),i.extra={...i.extra,arguments:s},i)),_r(o)}),o}};try{for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=e[s])}catch{}$s(r,e),he(e,"__sentry_wrapped__",r);try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get(){return e.name}})}catch{}return r}const G=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;function rn(e,t){const n=sn(e,t),r={type:qa(t),value:Wa(t)};return n.length&&(r.stacktrace={frames:n}),r.type===void 0&&r.value===""&&(r.value="Unrecoverable error caught"),r}function Ha(e,t,n,r){const s=I(),o=s&&s.getOptions().normalizeDepth,a=Va(t),i={__serialized__:Ds(t,o)};if(a)return{exception:{values:[rn(e,a)]},extra:i};const c={exception:{values:[{type:tn(t)?t.constructor.name:r?"UnhandledRejection":"Error",value:za(t,{isUnhandledRejection:r})}]},extra:i};if(n){const u=sn(e,n);u.length&&(c.exception.values[0].stacktrace={frames:u})}return c}function vt(e,t){return{exception:{values:[rn(e,t)]}}}function sn(e,t){const n=t.stacktrace||t.stack||"",r=Ba(t),s=ja(t);try{return e(n,r,s)}catch{}return[]}const Ua=/Minified React error #\d+;/i;function Ba(e){return e&&Ua.test(e.message)?1:0}function ja(e){return typeof e.framesToPop=="number"?e.framesToPop:0}function Yr(e){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?e instanceof WebAssembly.Exception:!1}function qa(e){const t=e&&e.name;return!t&&Yr(e)?e.message&&Array.isArray(e.message)&&e.message.length==2?e.message[0]:"WebAssembly.Exception":t}function Wa(e){const t=e&&e.message;return t?t.error&&typeof t.error.message=="string"?t.error.message:Yr(e)&&Array.isArray(e.message)&&e.message.length==2?e.message[1]:t:"No error message"}function Ga(e,t,n,r){const s=n&&n.syntheticException||void 0,o=on(e,t,s,r);return De(o),o.level="error",n&&n.event_id&&(o.event_id=n.event_id),ue(o)}function Ya(e,t,n="info",r,s){const o=r&&r.syntheticException||void 0,a=jt(e,t,o,s);return a.level=n,r&&r.event_id&&(a.event_id=r.event_id),ue(a)}function on(e,t,n,r,s){let o;if(Sr(t)&&t.error)return vt(e,t.error);if(En(t)||xs(t)){const a=t;if("stack"in t)o=vt(e,t);else{const i=a.name||(En(a)?"DOMError":"DOMException"),c=a.message?`${i}: ${a.message}`:i;o=jt(e,c,n,r),xt(o,c)}return"code"in a&&(o.tags={...o.tags,"DOMException.code":`${a.code}`}),o}return en(t)?vt(e,t):$t(t)||tn(t)?(o=Ha(e,t,n,s),De(o,{synthetic:!0}),o):(o=jt(e,t,n,r),xt(o,`${t}`),De(o,{synthetic:!0}),o)}function jt(e,t,n,r){const s={};if(r&&n){const o=sn(e,n);o.length&&(s.exception={values:[{value:t,stacktrace:{frames:o}}]}),De(s,{synthetic:!0})}if(hr(t)){const{__sentry_template_string__:o,__sentry_template_values__:a}=t;return s.logentry={message:o,params:a},s}return s.message=t,s}function za(e,{isUnhandledRejection:t}){const n=Fs(e),r=t?"promise rejection":"exception";return Sr(e)?`Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``:tn(e)?`Event \`${Xa(e)}\` (type=${e.type}) captured as ${r}`:`Object captured as ${r} with keys: ${n}`}function Xa(e){try{const t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function Va(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];if(n instanceof Error)return n}}function Ka(e,{metadata:t,tunnel:n,dsn:r}){const s={event_id:e.event_id,sent_at:new Date().toISOString(),...t&&t.sdk&&{sdk:{name:t.sdk.name,version:t.sdk.version}},...!!n&&!!r&&{dsn:ve(r)}},o=Ja(e);return be(s,[o])}function Ja(e){return[{type:"user_report"},e]}class Qa extends $o{constructor(t){const n={parentSpanIsAlwaysRootSpan:!0,...t},r=_.SENTRY_SDK_SOURCE||Da();Yo(n,"browser",["browser"],r),super(n),n.sendClientReports&&_.document&&_.document.addEventListener("visibilitychange",()=>{_.document.visibilityState==="hidden"&&this._flushOutcomes()})}eventFromException(t,n){return Ga(this._options.stackParser,t,n,this._options.attachStacktrace)}eventFromMessage(t,n="info",r){return Ya(this._options.stackParser,t,n,r,this._options.attachStacktrace)}captureUserFeedback(t){if(!this._isEnabled()){G&&m.warn("SDK not enabled, will not capture user feedback.");return}const n=Ka(t,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this.sendEnvelope(n)}_prepareEvent(t,n,r){return t.platform=t.platform||"javascript",super._prepareEvent(t,n,r)}}const an=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Za=(e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good",Ie=(e,t,n,r)=>{let s,o;return a=>{t.value>=0&&(a||r)&&(o=t.value-(s||0),(o||s===void 0)&&(s=t.value,t.delta=o,t.rating=Za(t.value,n),e(t)))}},S=N,ei=()=>`v4-${Date.now()}-${Math.floor(Math.random()*(9e12-1))+1e12}`,Be=(e=!0)=>{const t=S.performance&&S.performance.getEntriesByType&&S.performance.getEntriesByType("navigation")[0];if(!e||t&&t.responseStart>0&&t.responseStart<performance.now())return t},je=()=>{const e=Be();return e&&e.activationStart||0},we=(e,t)=>{const n=Be();let r="navigate";return n&&(S.document&&S.document.prerendering||je()>0?r="prerender":S.document&&S.document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:typeof t>"u"?-1:t,rating:"good",delta:0,entries:[],id:ei(),navigationType:r}},le=(e,t,n)=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const r=new PerformanceObserver(s=>{Promise.resolve().then(()=>{t(s.getEntries())})});return r.observe(Object.assign({type:e,buffered:!0},n||{})),r}}catch{}},Re=e=>{const t=n=>{(n.type==="pagehide"||S.document&&S.document.visibilityState==="hidden")&&e(n)};S.document&&(addEventListener("visibilitychange",t,!0),addEventListener("pagehide",t,!0))},St=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let Ae=-1;const ti=()=>S.document.visibilityState==="hidden"&&!S.document.prerendering?0:1/0,lt=e=>{S.document.visibilityState==="hidden"&&Ae>-1&&(Ae=e.type==="visibilitychange"?e.timeStamp:0,ri())},ni=()=>{addEventListener("visibilitychange",lt,!0),addEventListener("prerenderingchange",lt,!0)},ri=()=>{removeEventListener("visibilitychange",lt,!0),removeEventListener("prerenderingchange",lt,!0)},yt=()=>(S.document&&Ae<0&&(Ae=ti(),ni()),{get firstHiddenTime(){return Ae}}),qe=e=>{S.document&&S.document.prerendering?addEventListener("prerenderingchange",()=>e(),!0):e()},si=[1800,3e3],oi=(e,t={})=>{qe(()=>{const n=yt(),r=we("FCP");let s;const a=le("paint",i=>{i.forEach(c=>{c.name==="first-contentful-paint"&&(a.disconnect(),c.startTime<n.firstHiddenTime&&(r.value=Math.max(c.startTime-je(),0),r.entries.push(c),s(!0)))})});a&&(s=Ie(e,r,si,t.reportAllChanges))})},ai=[.1,.25],ii=(e,t={})=>{oi(St(()=>{const n=we("CLS",0);let r,s=0,o=[];const a=c=>{c.forEach(u=>{if(!u.hadRecentInput){const l=o[0],d=o[o.length-1];s&&l&&d&&u.startTime-d.startTime<1e3&&u.startTime-l.startTime<5e3?(s+=u.value,o.push(u)):(s=u.value,o=[u])}}),s>n.value&&(n.value=s,n.entries=o,r())},i=le("layout-shift",a);i&&(r=Ie(e,n,ai,t.reportAllChanges),Re(()=>{a(i.takeRecords()),r(!0)}),setTimeout(r,0))}))},ci=[100,300],ui=(e,t={})=>{qe(()=>{const n=yt(),r=we("FID");let s;const o=c=>{c.startTime<n.firstHiddenTime&&(r.value=c.processingStart-c.startTime,r.entries.push(c),s(!0))},a=c=>{c.forEach(o)},i=le("first-input",a);s=Ie(e,r,ci,t.reportAllChanges),i&&Re(St(()=>{a(i.takeRecords()),i.disconnect()}))})};let zr=0,bt=1/0,Ke=0;const di=e=>{e.forEach(t=>{t.interactionId&&(bt=Math.min(bt,t.interactionId),Ke=Math.max(Ke,t.interactionId),zr=Ke?(Ke-bt)/7+1:0)})};let qt;const li=()=>qt?zr:performance.interactionCount||0,fi=()=>{"interactionCount"in performance||qt||(qt=le("event",di,{type:"event",buffered:!0,durationThreshold:0}))},Q=[],It=new Map,pi=40;let mi=0;const hi=()=>li()-mi,gi=()=>{const e=Math.min(Q.length-1,Math.floor(hi()/50));return Q[e]},wt=10,_i=[],Si=e=>{if(_i.forEach(r=>r(e)),!(e.interactionId||e.entryType==="first-input"))return;const t=Q[Q.length-1],n=It.get(e.interactionId);if(n||Q.length<wt||t&&e.duration>t.latency){if(n)e.duration>n.latency?(n.entries=[e],n.latency=e.duration):e.duration===n.latency&&e.startTime===(n.entries[0]&&n.entries[0].startTime)&&n.entries.push(e);else{const r={id:e.interactionId,latency:e.duration,entries:[e]};It.set(r.id,r),Q.push(r)}Q.sort((r,s)=>s.latency-r.latency),Q.length>wt&&Q.splice(wt).forEach(r=>It.delete(r.id))}},Xr=e=>{const t=S.requestIdleCallback||S.setTimeout;let n=-1;return e=St(e),S.document&&S.document.visibilityState==="hidden"?e():(n=t(e),Re(e)),n},yi=[200,500],Ei=(e,t={})=>{"PerformanceEventTiming"in S&&"interactionId"in PerformanceEventTiming.prototype&&qe(()=>{fi();const n=we("INP");let r;const s=a=>{Xr(()=>{a.forEach(Si);const i=gi();i&&i.latency!==n.value&&(n.value=i.latency,n.entries=i.entries,r())})},o=le("event",s,{durationThreshold:t.durationThreshold!=null?t.durationThreshold:pi});r=Ie(e,n,yi,t.reportAllChanges),o&&(o.observe({type:"first-input",buffered:!0}),Re(()=>{s(o.takeRecords()),r(!0)}))})},Ti=[2500,4e3],Wn={},vi=(e,t={})=>{qe(()=>{const n=yt(),r=we("LCP");let s;const o=i=>{t.reportAllChanges||(i=i.slice(-1)),i.forEach(c=>{c.startTime<n.firstHiddenTime&&(r.value=Math.max(c.startTime-je(),0),r.entries=[c],s())})},a=le("largest-contentful-paint",o);if(a){s=Ie(e,r,Ti,t.reportAllChanges);const i=St(()=>{Wn[r.id]||(o(a.takeRecords()),a.disconnect(),Wn[r.id]=!0,s(!0))});["keydown","click"].forEach(c=>{S.document&&addEventListener(c,()=>Xr(i),{once:!0,capture:!0})}),Re(i)}})},bi=[800,1800],Wt=e=>{S.document&&S.document.prerendering?qe(()=>Wt(e)):S.document&&S.document.readyState!=="complete"?addEventListener("load",()=>Wt(e),!0):setTimeout(e,0)},Ii=(e,t={})=>{const n=we("TTFB"),r=Ie(e,n,bi,t.reportAllChanges);Wt(()=>{const s=Be();s&&(n.value=Math.max(s.responseStart-je(),0),n.entries=[s],r(!0))})},Pe={},ft={};let Vr,Kr,Jr,Qr,Zr;function es(e,t=!1){return We("cls",e,Ci,Vr,t)}function wi(e,t=!1){return We("lcp",e,Pi,Jr,t)}function Ri(e){return We("fid",e,Ai,Kr)}function Ni(e){return We("ttfb",e,Oi,Qr)}function ki(e){return We("inp",e,$i,Zr)}function Fe(e,t){return ts(e,t),ft[e]||(xi(e),ft[e]=!0),ns(e,t)}function Ne(e,t){const n=Pe[e];if(!(!n||!n.length))for(const r of n)try{r(t)}catch(s){an&&m.error(`Error while triggering instrumentation handler.
Type: ${e}
Name: ${re(r)}
Error:`,s)}}function Ci(){return ii(e=>{Ne("cls",{metric:e}),Vr=e},{reportAllChanges:!0})}function Ai(){return ui(e=>{Ne("fid",{metric:e}),Kr=e})}function Pi(){return vi(e=>{Ne("lcp",{metric:e}),Jr=e},{reportAllChanges:!0})}function Oi(){return Ii(e=>{Ne("ttfb",{metric:e}),Qr=e})}function $i(){return Ei(e=>{Ne("inp",{metric:e}),Zr=e})}function We(e,t,n,r,s=!1){ts(e,t);let o;return ft[e]||(o=n(),ft[e]=!0),r&&t({metric:r}),ns(e,t,s?o:void 0)}function xi(e){const t={};e==="event"&&(t.durationThreshold=0),le(e,n=>{Ne(e,{entries:n})},t)}function ts(e,t){Pe[e]=Pe[e]||[],Pe[e].push(t)}function ns(e,t,n){return()=>{n&&n();const r=Pe[e];if(!r)return;const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}function Di(e){return"duration"in e}function Rt(e){return typeof e=="number"&&isFinite(e)}function Z(e,t,n,{...r}){const s=b(e).start_timestamp;return s&&s>t&&typeof e.updateStartTime=="function"&&e.updateStartTime(t),Ar(e,()=>{const o=Ue({startTime:t,...r});return o&&o.end(n),o})}function rs(e){const t=I();if(!t)return;const{name:n,transaction:r,attributes:s,startTime:o}=e,{release:a,environment:i}=t.getOptions(),c=t.getIntegrationByName("Replay"),u=c&&c.getReplayId(),l=O(),d=l.getUser(),p=d!==void 0?d.email||d.id||d.ip_address:void 0;let g;try{g=l.getScopeData().contexts.profile.profile_id}catch{}const h={release:a,environment:i,user:p||void 0,profile_id:g||void 0,replay_id:u||void 0,transaction:r,"user_agent.original":S.navigator&&S.navigator.userAgent,...s};return Ue({name:n,attributes:h,startTime:o,experimental:{standalone:!0}})}function cn(){return S&&S.addEventListener&&S.performance}function C(e){return e/1e3}function ss(e){let t="unknown",n="unknown",r="";for(const s of e){if(s==="/"){[t,n]=e.split("/");break}if(!isNaN(Number(s))){t=r==="h"?"http":r,n=e.split(r)[1];break}r+=s}return r===e&&(t=r),{name:t,version:n}}function Fi(){let e=0,t,n;if(!Mi())return;let r=!1;function s(){r||(r=!0,n&&Li(e,t,n),o())}const o=es(({metric:a})=>{const i=a.entries[a.entries.length-1];i&&(e=a.value,t=i)},!0);Re(()=>{s()}),setTimeout(()=>{const a=I();if(!a)return;const i=a.on("startNavigationSpan",()=>{s(),i&&i()}),c=$(),u=c&&H(c),l=u&&b(u);l&&l.op==="pageload"&&(n=u.spanContext().spanId)},0)}function Li(e,t,n){an&&m.log(`Sending CLS span (${e})`);const r=C((B||0)+(t&&t.startTime||0)),s=O().getScopeData().transactionName,o=t?Se(t.sources[0]&&t.sources[0].node):"Layout shift",a=ge({[P]:"auto.http.browser.cls",[_e]:"ui.webvital.cls",[Kt]:t&&t.duration||0,"sentry.pageload.span_id":n}),i=rs({name:o,transaction:s,attributes:a,startTime:r});i&&(i.addEvent("cls",{[ht]:"",[gt]:e}),i.end(r))}function Mi(){try{return PerformanceObserver.supportedEntryTypes.includes("layout-shift")}catch{return!1}}const Hi=2147483647;let Gn=0,x={},U,Oe;function Ui({recordClsStandaloneSpans:e}){const t=cn();if(t&&B){t.mark&&S.performance.mark("sentry-tracing-init");const n=Yi(),r=Gi(),s=zi(),o=e?Fi():Wi();return()=>{n(),r(),s(),o&&o()}}return()=>{}}function Bi(){Fe("longtask",({entries:e})=>{const t=$();if(!t)return;const{op:n,start_timestamp:r}=b(t);for(const s of e){const o=C(B+s.startTime),a=C(s.duration);n==="navigation"&&r&&o<r||Z(t,o,o+a,{name:"Main UI thread blocked",op:"ui.long-task",attributes:{[P]:"auto.ui.browser.metrics"}})}})}function ji(){new PerformanceObserver(t=>{const n=$();if(n)for(const r of t.getEntries()){if(!r.scripts[0])continue;const s=C(B+r.startTime),{start_timestamp:o,op:a}=b(n);if(a==="navigation"&&o&&s<o)continue;const i=C(r.duration),c={[P]:"auto.ui.browser.metrics"},u=r.scripts[0],{invoker:l,invokerType:d,sourceURL:p,sourceFunctionName:g,sourceCharPosition:h}=u;c["browser.script.invoker"]=l,c["browser.script.invoker_type"]=d,p&&(c["code.filepath"]=p),g&&(c["code.function"]=g),h!==-1&&(c["browser.script.source_char_position"]=h),Z(n,s,s+i,{name:"Main UI thread blocked",op:"ui.long-animation-frame",attributes:c})}}).observe({type:"long-animation-frame",buffered:!0})}function qi(){Fe("event",({entries:e})=>{const t=$();if(t){for(const n of e)if(n.name==="click"){const r=C(B+n.startTime),s=C(n.duration),o={name:Se(n.target),op:`ui.interaction.${n.name}`,startTime:r,attributes:{[P]:"auto.ui.browser.metrics"}},a=yr(n.target);a&&(o.attributes["ui.component_name"]=a),Z(t,r,r+s,o)}}})}function Wi(){return es(({metric:e})=>{const t=e.entries[e.entries.length-1];t&&(x.cls={value:e.value,unit:""},Oe=t)},!0)}function Gi(){return wi(({metric:e})=>{const t=e.entries[e.entries.length-1];t&&(x.lcp={value:e.value,unit:"millisecond"},U=t)},!0)}function Yi(){return Ri(({metric:e})=>{const t=e.entries[e.entries.length-1];if(!t)return;const n=C(B),r=C(t.startTime);x.fid={value:e.value,unit:"millisecond"},x["mark.fid"]={value:n+r,unit:"second"}})}function zi(){return Ni(({metric:e})=>{e.entries[e.entries.length-1]&&(x.ttfb={value:e.value,unit:"millisecond"})})}function Xi(e,t){const n=cn();if(!n||!n.getEntries||!B)return;const r=C(B),s=n.getEntries(),{op:o,start_timestamp:a}=b(e);if(s.slice(Gn).forEach(i=>{const c=C(i.startTime),u=C(Math.max(0,i.duration));if(!(o==="navigation"&&a&&r+c<a))switch(i.entryType){case"navigation":{Ki(e,i,r);break}case"mark":case"paint":case"measure":{Vi(e,i,c,u,r);const l=yt(),d=i.startTime<l.firstHiddenTime;i.name==="first-paint"&&d&&(x.fp={value:i.startTime,unit:"millisecond"}),i.name==="first-contentful-paint"&&d&&(x.fcp={value:i.startTime,unit:"millisecond"});break}case"resource":{Zi(e,i,i.name,c,u,r);break}}}),Gn=Math.max(s.length-1,0),ec(e),o==="pageload"){nc(x);const i=x["mark.fid"];i&&x.fid&&(Z(e,i.value,i.value+C(x.fid.value),{name:"first input delay",op:"ui.action",attributes:{[P]:"auto.ui.browser.metrics"}}),delete x["mark.fid"]),(!("fcp"in x)||!t.recordClsOnPageloadSpan)&&delete x.cls,Object.entries(x).forEach(([c,u])=>{fo(c,u.value,u.unit)}),e.setAttribute("performance.timeOrigin",r),e.setAttribute("performance.activationStart",je()),tc(e)}U=void 0,Oe=void 0,x={}}function Vi(e,t,n,r,s){const o=Be(!1),a=C(o?o.requestStart:0),i=s+Math.max(n,a),c=s+n,u=c+r,l={[P]:"auto.resource.browser.metrics"};return i!==c&&(l["sentry.browser.measure_happened_before_request"]=!0,l["sentry.browser.measure_start_time"]=i),Z(e,i,u,{name:t.name,op:t.entryType,attributes:l}),i}function Ki(e,t,n){["unloadEvent","redirect","domContentLoadedEvent","loadEvent","connect"].forEach(r=>{Je(e,t,r,n)}),Je(e,t,"secureConnection",n,"TLS/SSL"),Je(e,t,"fetch",n,"cache"),Je(e,t,"domainLookup",n,"DNS"),Qi(e,t,n)}function Je(e,t,n,r,s=n){const o=Ji(n),a=t[o],i=t[`${n}Start`];!i||!a||Z(e,r+C(i),r+C(a),{op:`browser.${s}`,name:t.name,attributes:{[P]:"auto.ui.browser.metrics"}})}function Ji(e){return e==="secureConnection"?"connectEnd":e==="fetch"?"domainLookupStart":`${e}End`}function Qi(e,t,n){const r=n+C(t.requestStart),s=n+C(t.responseEnd),o=n+C(t.responseStart);t.responseEnd&&(Z(e,r,s,{op:"browser.request",name:t.name,attributes:{[P]:"auto.ui.browser.metrics"}}),Z(e,o,s,{op:"browser.response",name:t.name,attributes:{[P]:"auto.ui.browser.metrics"}}))}function Zi(e,t,n,r,s,o){if(t.initiatorType==="xmlhttprequest"||t.initiatorType==="fetch")return;const a=ie(n),i={[P]:"auto.resource.browser.metrics"};Nt(i,t,"transferSize","http.response_transfer_size"),Nt(i,t,"encodedBodySize","http.response_content_length"),Nt(i,t,"decodedBodySize","http.decoded_response_content_length");const c=t.deliveryType;c!=null&&(i["http.response_delivery_type"]=c);const u=t.renderBlockingStatus;u&&(i["resource.render_blocking_status"]=u),a.protocol&&(i["url.scheme"]=a.protocol.split(":").pop()),a.host&&(i["server.address"]=a.host),i["url.same_origin"]=n.includes(S.location.origin);const{name:l,version:d}=ss(t.nextHopProtocol);i["network.protocol.name"]=l,i["network.protocol.version"]=d;const p=o+r,g=p+s;Z(e,p,g,{name:n.replace(S.location.origin,""),op:t.initiatorType?`resource.${t.initiatorType}`:"resource.other",attributes:i})}function ec(e){const t=S.navigator;if(!t)return;const n=t.connection;n&&(n.effectiveType&&e.setAttribute("effectiveConnectionType",n.effectiveType),n.type&&e.setAttribute("connectionType",n.type),Rt(n.rtt)&&(x["connection.rtt"]={value:n.rtt,unit:"millisecond"})),Rt(t.deviceMemory)&&e.setAttribute("deviceMemory",`${t.deviceMemory} GB`),Rt(t.hardwareConcurrency)&&e.setAttribute("hardwareConcurrency",String(t.hardwareConcurrency))}function tc(e){U&&(U.element&&e.setAttribute("lcp.element",Se(U.element)),U.id&&e.setAttribute("lcp.id",U.id),U.url&&e.setAttribute("lcp.url",U.url.trim().slice(0,200)),U.loadTime!=null&&e.setAttribute("lcp.loadTime",U.loadTime),U.renderTime!=null&&e.setAttribute("lcp.renderTime",U.renderTime),e.setAttribute("lcp.size",U.size)),Oe&&Oe.sources&&Oe.sources.forEach((t,n)=>e.setAttribute(`cls.source.${n+1}`,Se(t.node)))}function Nt(e,t,n,r){const s=t[n];s!=null&&s<Hi&&(e[r]=s)}function nc(e){const t=Be(!1);if(!t)return;const{responseStart:n,requestStart:r}=t;r<=n&&(e["ttfb.requestTime"]={value:n-r,unit:"millisecond"})}const rc=1e3;let Yn,Gt,Yt;function sc(e){const t="dom";se(t,e),oe(t,oc)}function oc(){if(!S.document)return;const e=z.bind(null,"dom"),t=zn(e,!0);S.document.addEventListener("click",t,!1),S.document.addEventListener("keypress",t,!1),["EventTarget","Node"].forEach(n=>{const s=S[n],o=s&&s.prototype;!o||!o.hasOwnProperty||!o.hasOwnProperty("addEventListener")||(W(o,"addEventListener",function(a){return function(i,c,u){if(i==="click"||i=="keypress")try{const l=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},d=l[i]=l[i]||{refCount:0};if(!d.handler){const p=zn(e);d.handler=p,a.call(this,i,p,u)}d.refCount++}catch{}return a.call(this,i,c,u)}}),W(o,"removeEventListener",function(a){return function(i,c,u){if(i==="click"||i=="keypress")try{const l=this.__sentry_instrumentation_handlers__||{},d=l[i];d&&(d.refCount--,d.refCount<=0&&(a.call(this,i,d.handler,u),d.handler=void 0,delete l[i]),Object.keys(l).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return a.call(this,i,c,u)}}))})}function ac(e){if(e.type!==Gt)return!1;try{if(!e.target||e.target._sentryId!==Yt)return!1}catch{}return!0}function ic(e,t){return e!=="keypress"?!1:!t||!t.tagName?!0:!(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable)}function zn(e,t=!1){return n=>{if(!n||n._sentryCaptured)return;const r=cc(n);if(ic(n.type,r))return;he(n,"_sentryCaptured",!0),r&&!r._sentryId&&he(r,"_sentryId",tt());const s=n.type==="keypress"?"input":n.type;ac(n)||(e({event:n,name:s,global:t}),Gt=n.type,Yt=r?r._sentryId:void 0),clearTimeout(Yn),Yn=S.setTimeout(()=>{Yt=void 0,Gt=void 0},rc)}}function cc(e){try{return e.target}catch{return null}}let Qe;function un(e){const t="history";se(t,e),oe(t,uc)}function uc(){if(!La())return;const e=S.onpopstate;S.onpopstate=function(...n){const r=S.location.href,s=Qe;if(Qe=r,z("history",{from:s,to:r}),e)try{return e.apply(this,n)}catch{}};function t(n){return function(...r){const s=r.length>2?r[2]:void 0;if(s){const o=Qe,a=String(s);Qe=a,z("history",{from:o,to:a})}return n.apply(this,r)}}W(S.history,"pushState",t),W(S.history,"replaceState",t)}const st={};function os(e){const t=st[e];if(t)return t;let n=S[e];if(Ht(n))return st[e]=n.bind(S);const r=S.document;if(r&&typeof r.createElement=="function")try{const s=r.createElement("iframe");s.hidden=!0,r.head.appendChild(s);const o=s.contentWindow;o&&o[e]&&(n=o[e]),r.head.removeChild(s)}catch(s){an&&m.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,s)}return n&&(st[e]=n.bind(S))}function Xn(e){st[e]=void 0}function Bu(...e){return os("setTimeout")(...e)}const me="__sentry_xhr_v3__";function as(e){const t="xhr";se(t,e),oe(t,dc)}function dc(){if(!S.XMLHttpRequest)return;const e=XMLHttpRequest.prototype;e.open=new Proxy(e.open,{apply(t,n,r){const s=new Error,o=Y()*1e3,a=Ce(r[0])?r[0].toUpperCase():void 0,i=lc(r[1]);if(!a||!i)return t.apply(n,r);n[me]={method:a,url:i,request_headers:{}},a==="POST"&&i.match(/sentry_key/)&&(n.__sentry_own_request__=!0);const c=()=>{const u=n[me];if(u&&n.readyState===4){try{u.status_code=n.status}catch{}const l={endTimestamp:Y()*1e3,startTimestamp:o,xhr:n,virtualError:s};z("xhr",l)}};return"onreadystatechange"in n&&typeof n.onreadystatechange=="function"?n.onreadystatechange=new Proxy(n.onreadystatechange,{apply(u,l,d){return c(),u.apply(l,d)}}):n.addEventListener("readystatechange",c),n.setRequestHeader=new Proxy(n.setRequestHeader,{apply(u,l,d){const[p,g]=d,h=l[me];return h&&Ce(p)&&Ce(g)&&(h.request_headers[p.toLowerCase()]=g),u.apply(l,d)}}),t.apply(n,r)}}),e.send=new Proxy(e.send,{apply(t,n,r){const s=n[me];if(!s)return t.apply(n,r);r[0]!==void 0&&(s.body=r[0]);const o={startTimestamp:Y()*1e3,xhr:n};return z("xhr",o),t.apply(n,r)}})}function lc(e){if(Ce(e))return e;try{return e.toString()}catch{}}const kt=[],ot=new Map;function fc(){if(cn()&&B){const t=pc();return()=>{t()}}return()=>{}}const Vn={click:"click",pointerdown:"click",pointerup:"click",mousedown:"click",mouseup:"click",touchstart:"click",touchend:"click",mouseover:"hover",mouseout:"hover",mouseenter:"hover",mouseleave:"hover",pointerover:"hover",pointerout:"hover",pointerenter:"hover",pointerleave:"hover",dragstart:"drag",dragend:"drag",drag:"drag",dragenter:"drag",dragleave:"drag",dragover:"drag",drop:"drag",keydown:"press",keyup:"press",keypress:"press",input:"press"};function pc(){return ki(({metric:e})=>{if(e.value==null)return;const t=e.entries.find(h=>h.duration===e.value&&Vn[h.name]);if(!t)return;const{interactionId:n}=t,r=Vn[t.name],s=C(B+t.startTime),o=C(e.value),a=$(),i=a?H(a):void 0,u=(n!=null?ot.get(n):void 0)||i,l=u?b(u).description:O().getScopeData().transactionName,d=Se(t.target),p=ge({[P]:"auto.http.browser.inp",[_e]:`ui.interaction.${r}`,[Kt]:t.duration}),g=rs({name:d,transaction:l,attributes:p,startTime:s});g&&(g.addEvent("inp",{[ht]:"millisecond",[gt]:e.value}),g.end(s+o))})}function mc(e){const t=({entries:n})=>{const r=$(),s=r&&H(r);n.forEach(o=>{if(!Di(o)||!s)return;const a=o.interactionId;if(a!=null&&!ot.has(a)){if(kt.length>10){const i=kt.shift();ot.delete(i)}kt.push(a),ot.set(a,s)}})};Fe("event",t),Fe("first-input",t)}function hc(e,t=os("fetch")){let n=0,r=0;function s(o){const a=o.body.length;n+=a,r++;const i={body:o.body,method:"POST",referrerPolicy:"origin",headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};if(!t)return Xn("fetch"),ut("No fetch implementation available");try{return t(e.url,i).then(c=>(n-=a,r--,{statusCode:c.status,headers:{"x-sentry-rate-limits":c.headers.get("X-Sentry-Rate-Limits"),"retry-after":c.headers.get("Retry-After")}}))}catch(c){return Xn("fetch"),n-=a,r--,ut(c)}}return Go(e,s)}const gc=30,_c=50;function zt(e,t,n,r){const s={filename:e,function:t==="<anonymous>"?ye:t,in_app:!0};return n!==void 0&&(s.lineno=n),r!==void 0&&(s.colno=r),s}const Sc=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,yc=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Ec=/\((\S*)(?::(\d+))(?::(\d+))\)/,Tc=e=>{const t=Sc.exec(e);if(t){const[,r,s,o]=t;return zt(r,ye,+s,+o)}const n=yc.exec(e);if(n){if(n[2]&&n[2].indexOf("eval")===0){const a=Ec.exec(n[2]);a&&(n[2]=a[1],n[3]=a[2],n[4]=a[3])}const[s,o]=is(n[1]||ye,n[2]);return zt(o,s,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}},vc=[gc,Tc],bc=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,Ic=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,wc=e=>{const t=bc.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){const o=Ic.exec(t[3]);o&&(t[1]=t[1]||"eval",t[3]=o[1],t[4]=o[2],t[5]="")}let r=t[3],s=t[1]||ye;return[s,r]=is(s,r),zt(r,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},Rc=[_c,wc],Nc=[vc,Rc],kc=Ls(...Nc),is=(e,t)=>{const n=e.indexOf("safari-extension")!==-1,r=e.indexOf("safari-web-extension")!==-1;return n||r?[e.indexOf("@")!==-1?e.split("@")[0]:ye,n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},Ze=1024,Cc="Breadcrumbs",Ac=(e={})=>{const t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:Cc,setup(n){t.console&&ma(xc(n)),t.dom&&sc($c(n,t.dom)),t.xhr&&as(Dc(n)),t.fetch&&jr(Fc(n)),t.history&&un(Lc(n)),t.sentry&&n.on("beforeSendEvent",Oc(n))}}},Pc=Ac;function Oc(e){return function(n){I()===e&&de({category:`sentry.${n.type==="transaction"?"transaction":"event"}`,event_id:n.event_id,level:n.level,message:te(n)},{event:n})}}function $c(e,t){return function(r){if(I()!==e)return;let s,o,a=typeof t=="object"?t.serializeAttribute:void 0,i=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;i&&i>Ze&&(G&&m.warn(`\`dom.maxStringLength\` cannot exceed ${Ze}, but a value of ${i} was configured. Sentry will use ${Ze} instead.`),i=Ze),typeof a=="string"&&(a=[a]);try{const u=r.event,l=Mc(u)?u.target:u;s=Se(l,{keyAttrs:a,maxStringLength:i}),o=yr(l)}catch{s="<unknown>"}if(s.length===0)return;const c={category:`ui.${r.name}`,message:s};o&&(c.data={"ui.component_name":o}),de(c,{event:r.event,name:r.name,global:r.global})}}function xc(e){return function(n){if(I()!==e)return;const r={category:"console",data:{arguments:n.args,logger:"console"},level:ga(n.level),message:Tn(n.args," ")};if(n.level==="assert")if(n.args[0]===!1)r.message=`Assertion failed: ${Tn(n.args.slice(1)," ")||"console.assert"}`,r.data.arguments=n.args.slice(1);else return;de(r,{input:n.args,level:n.level})}}function Dc(e){return function(n){if(I()!==e)return;const{startTimestamp:r,endTimestamp:s}=n,o=n.xhr[me];if(!r||!s||!o)return;const{method:a,url:i,status_code:c,body:u}=o,l={method:a,url:i,status_code:c},d={xhr:n.xhr,input:u,startTimestamp:r,endTimestamp:s},p=Ur(c);de({category:"xhr",data:l,type:"http",level:p},d)}}function Fc(e){return function(n){if(I()!==e)return;const{startTimestamp:r,endTimestamp:s}=n;if(s&&!(n.fetchData.url.match(/sentry_key/)&&n.fetchData.method==="POST"))if(n.error){const o=n.fetchData,a={data:n.error,input:n.args,startTimestamp:r,endTimestamp:s};de({category:"fetch",data:o,level:"error",type:"http"},a)}else{const o=n.response,a={...n.fetchData,status_code:o&&o.status},i={input:n.args,response:o,startTimestamp:r,endTimestamp:s},c=Ur(a.status_code);de({category:"fetch",data:a,type:"http",level:c},i)}}}function Lc(e){return function(n){if(I()!==e)return;let r=n.from,s=n.to;const o=ie(_.location.href);let a=r?ie(r):void 0;const i=ie(s);(!a||!a.path)&&(a=o),o.protocol===i.protocol&&o.host===i.host&&(s=i.relative),o.protocol===a.protocol&&o.host===a.host&&(r=a.relative),de({category:"navigation",data:{from:r,to:s}})}}function Mc(e){return!!e&&!!e.target}const Hc=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],Uc="BrowserApiErrors",Bc=(e={})=>{const t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...e};return{name:Uc,setupOnce(){t.setTimeout&&W(_,"setTimeout",Kn),t.setInterval&&W(_,"setInterval",Kn),t.requestAnimationFrame&&W(_,"requestAnimationFrame",qc),t.XMLHttpRequest&&"XMLHttpRequest"in _&&W(XMLHttpRequest.prototype,"send",Wc);const n=t.eventTarget;n&&(Array.isArray(n)?n:Hc).forEach(Gc)}}},jc=Bc;function Kn(e){return function(...t){const n=t[0];return t[0]=Ee(n,{mechanism:{data:{function:re(e)},handled:!1,type:"instrument"}}),e.apply(this,t)}}function qc(e){return function(t){return e.apply(this,[Ee(t,{mechanism:{data:{function:"requestAnimationFrame",handler:re(e)},handled:!1,type:"instrument"}})])}}function Wc(e){return function(...t){const n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(s=>{s in n&&typeof n[s]=="function"&&W(n,s,function(o){const a={mechanism:{data:{function:s,handler:re(o)},handled:!1,type:"instrument"}},i=Zt(o);return i&&(a.mechanism.data.handler=re(i)),Ee(o,a)})}),e.apply(this,t)}}function Gc(e){const n=_[e],r=n&&n.prototype;!r||!r.hasOwnProperty||!r.hasOwnProperty("addEventListener")||(W(r,"addEventListener",function(s){return function(o,a,i){try{Yc(a)&&(a.handleEvent=Ee(a.handleEvent,{mechanism:{data:{function:"handleEvent",handler:re(a),target:e},handled:!1,type:"instrument"}}))}catch{}return s.apply(this,[o,Ee(a,{mechanism:{data:{function:"addEventListener",handler:re(a),target:e},handled:!1,type:"instrument"}}),i])}}),W(r,"removeEventListener",function(s){return function(o,a,i){try{const c=a.__sentry_wrapped__;c&&s.call(this,o,c,i)}catch{}return s.call(this,o,a,i)}}))}function Yc(e){return typeof e.handleEvent=="function"}const zc=()=>({name:"BrowserSession",setupOnce(){if(typeof _.document>"u"){G&&m.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}vn({ignoreDuration:!0}),bn(),un(({from:e,to:t})=>{e!==void 0&&e!==t&&(vn({ignoreDuration:!0}),bn())})}}),Xc="GlobalHandlers",Vc=(e={})=>{const t={onerror:!0,onunhandledrejection:!0,...e};return{name:Xc,setupOnce(){Error.stackTraceLimit=50},setup(n){t.onerror&&(Jc(n),Jn("onerror")),t.onunhandledrejection&&(Qc(n),Jn("onunhandledrejection"))}}},Kc=Vc;function Jc(e){Tr(t=>{const{stackParser:n,attachStacktrace:r}=cs();if(I()!==e||Gr())return;const{msg:s,url:o,line:a,column:i,error:c}=t,u=tu(on(n,c||s,void 0,r,!1),o,a,i);u.level="error",Er(u,{originalException:c,mechanism:{handled:!1,type:"onerror"}})})}function Qc(e){vr(t=>{const{stackParser:n,attachStacktrace:r}=cs();if(I()!==e||Gr())return;const s=Zc(t),o=Qt(s)?eu(s):on(n,s,void 0,r,!0);o.level="error",Er(o,{originalException:s,mechanism:{handled:!1,type:"onunhandledrejection"}})})}function Zc(e){if(Qt(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch{}return e}function eu(e){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function tu(e,t,n,r){const s=e.exception=e.exception||{},o=s.values=s.values||[],a=o[0]=o[0]||{},i=a.stacktrace=a.stacktrace||{},c=i.frames=i.frames||[],u=r,l=n,d=Ce(t)&&t.length>0?t:Ms();return c.length===0&&c.push({colno:u,filename:d,function:ye,in_app:!0,lineno:l}),e}function Jn(e){G&&m.log(`Global Handler attached: ${e}`)}function cs(){const e=I();return e&&e.getOptions()||{stackParser:()=>[],attachStacktrace:!1}}const nu=()=>({name:"HttpContext",preprocessEvent(e){if(!_.navigator&&!_.location&&!_.document)return;const t=e.request&&e.request.url||_.location&&_.location.href,{referrer:n}=_.document||{},{userAgent:r}=_.navigator||{},s={...e.request&&e.request.headers,...n&&{Referer:n},...r&&{"User-Agent":r}},o={...e.request,...t&&{url:t},headers:s};e.request=o}}),ru="cause",su=5,ou="LinkedErrors",au=(e={})=>{const t=e.limit||su,n=e.key||ru;return{name:ou,preprocessEvent(r,s,o){const a=o.getOptions();fa(rn,a.stackParser,a.maxValueLength,n,t,r,s)}}},iu=au;function cu(e){const t=[ta(),Jo(),jc(),Pc(),Kc(),iu(),ya(),nu()];return e.autoSessionTracking!==!1&&t.push(zc()),t}function uu(e={}){const t={defaultIntegrations:cu(e),release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:_.SENTRY_RELEASE&&_.SENTRY_RELEASE.id?_.SENTRY_RELEASE.id:void 0,autoSessionTracking:!0,sendClientReports:!0};return e.defaultIntegrations==null&&delete e.defaultIntegrations,{...t,...e}}function du(){const e=typeof _.window<"u"&&_;if(!e)return!1;const t=e.chrome?"chrome":"browser",n=e[t],r=n&&n.runtime&&n.runtime.id,s=_.location&&_.location.href||"",o=["chrome-extension:","moz-extension:","ms-browser-extension:","safari-web-extension:"],a=!!r&&_===_.top&&o.some(c=>s.startsWith(`${c}//`)),i=typeof e.nw<"u";return!!r&&!a&&!i}function ju(e={}){const t=uu(e);if(!t.skipBrowserExtensionCheck&&du()){Me(()=>{console.error("[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")});return}G&&(Br()||m.warn("No Fetch API detected. The Sentry SDK requires a Fetch API compatible environment to send events. Please add a Fetch API polyfill."));const n={...t,stackParser:Hs(t.stackParser||kc),integrations:Ao(t),transport:t.transport||hc};return Fo(Qa,n)}function Qn(e={}){if(!_.document){G&&m.error("Global document not defined in showReportDialog call");return}const t=O(),n=t.getClient(),r=n&&n.getDsn();if(!r){G&&m.error("DSN not configured for showReportDialog call");return}if(t&&(e.user={...t.getUser(),...e.user}),!e.eventId){const i=Us();i&&(e.eventId=i)}const s=_.document.createElement("script");s.async=!0,s.crossOrigin="anonymous",s.src=ko(r,e),e.onLoad&&(s.onload=e.onLoad);const{onClose:o}=e;if(o){const i=c=>{if(c.data==="__sentry_reportdialog_closed__")try{o()}finally{_.removeEventListener("message",i)}};_.addEventListener("message",i)}const a=_.document.head||_.document.body;a?a.appendChild(s):G&&m.error("Not injecting report dialog. No injection point found in HTML")}const Zn=new WeakMap,Ct=new Map,at={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function lu(e,t){const{traceFetch:n,traceXHR:r,trackFetchStreamPerformance:s,shouldCreateSpanForRequest:o,enableHTTPTimings:a,tracePropagationTargets:i}={traceFetch:at.traceFetch,traceXHR:at.traceXHR,trackFetchStreamPerformance:at.trackFetchStreamPerformance,...t},c=typeof o=="function"?o:d=>!0,u=d=>mu(d,i),l={};n&&(e.addEventProcessor(d=>(d.type==="transaction"&&d.spans&&d.spans.forEach(p=>{if(p.op==="http.client"){const g=Ct.get(p.span_id);g&&(p.timestamp=g/1e3,Ct.delete(p.span_id))}}),d)),s&&Aa(d=>{if(d.response){const p=Zn.get(d.response);p&&d.endTimestamp&&Ct.set(p,d.endTimestamp)}}),jr(d=>{const p=ba(d,c,u,l);if(d.response&&d.fetchData.__span&&Zn.set(d.response,d.fetchData.__span),p){const g=us(d.fetchData.url),h=g?ie(g).host:void 0;p.setAttributes({"http.url":g,"server.address":h})}a&&p&&er(p)})),r&&as(d=>{const p=hu(d,c,u,l);a&&p&&er(p)})}function fu(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function er(e){const{url:t}=b(e).data||{};if(!t||typeof t!="string")return;const n=Fe("resource",({entries:r})=>{r.forEach(s=>{fu(s)&&s.name.endsWith(t)&&(pu(s).forEach(a=>e.setAttribute(...a)),setTimeout(n))})})}function J(e=0){return((B||performance.timeOrigin)+e)/1e3}function pu(e){const{name:t,version:n}=ss(e.nextHopProtocol),r=[];return r.push(["network.protocol.version",n],["network.protocol.name",t]),B?[...r,["http.request.redirect_start",J(e.redirectStart)],["http.request.fetch_start",J(e.fetchStart)],["http.request.domain_lookup_start",J(e.domainLookupStart)],["http.request.domain_lookup_end",J(e.domainLookupEnd)],["http.request.connect_start",J(e.connectStart)],["http.request.secure_connection_start",J(e.secureConnectionStart)],["http.request.connection_end",J(e.connectEnd)],["http.request.request_start",J(e.requestStart)],["http.request.response_start",J(e.responseStart)],["http.request.response_end",J(e.responseEnd)]]:r}function mu(e,t){const n=_.location&&_.location.href;if(n){let r,s;try{r=new URL(e,n),s=new URL(n).origin}catch{return!1}const o=r.origin===s;return t?ae(r.toString(),t)||o&&ae(r.pathname,t):o}else{const r=!!e.match(/^\/(?!\/)/);return t?ae(e,t):r}}function hu(e,t,n,r){const s=e.xhr,o=s&&s[me];if(!s||s.__sentry_own_request__||!o)return;const a=ce()&&t(o.url);if(e.endTimestamp&&a){const d=s.__sentry_xhr_span_id__;if(!d)return;const p=r[d];p&&o.status_code!==void 0&&(gr(p,o.status_code),p.end(),delete r[d]);return}const i=us(o.url),c=i?ie(i).host:void 0,u=!!$(),l=a&&u?Ue({name:`${o.method} ${o.url}`,attributes:{type:"xhr","http.method":o.method,"http.url":i,url:o.url,"server.address":c,[P]:"auto.http.browser",[_e]:"http.client"}}):new Te;return s.__sentry_xhr_span_id__=l.spanContext().spanId,r[s.__sentry_xhr_span_id__]=l,n(o.url)&&gu(s,ce()&&u?l:void 0),l}function gu(e,t){const{"sentry-trace":n,baggage:r}=Lr({span:t});n&&_u(e,n,r)}function _u(e,t,n){try{e.setRequestHeader("sentry-trace",t),n&&e.setRequestHeader("baggage",n)}catch{}}function us(e){try{return new URL(e,_.location.origin).href}catch{return}}function Su(){_&&_.document?_.document.addEventListener("visibilitychange",()=>{const e=$();if(!e)return;const t=H(e);if(_.document.hidden&&t){const n="cancelled",{op:r,status:s}=b(t);G&&m.log(`[Tracing] Transaction: ${n} -> since tab moved to the background, op: ${r}`),s||t.setStatus({code:$e,message:n}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}}):G&&m.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const yu="BrowserTracing",Eu={...rt,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,_experiments:{},...at},qu=(e={})=>{Gs();const{enableInp:t,enableLongTask:n,enableLongAnimationFrame:r,_experiments:{enableInteractions:s,enableStandaloneClsSpans:o},beforeStartSpan:a,idleTimeout:i,finalTimeout:c,childSpanTimeout:u,markBackgroundSpan:l,traceFetch:d,traceXHR:p,trackFetchStreamPerformance:g,shouldCreateSpanForRequest:h,enableHTTPTimings:T,instrumentPageLoad:L,instrumentNavigation:D}={...Eu,...e},M=Ui({recordClsStandaloneSpans:o||!1});t&&fc(),r&&N.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?ji():n&&Bi(),s&&qi();const w={name:void 0,source:void 0};function K(f,y){const k=y.op==="pageload",j=a?a(y):y,A=j.attributes||{};y.name!==j.name&&(A[V]="custom",j.attributes=A),w.name=j.name,w.source=A[V];const F=Or(j,{idleTimeout:i,finalTimeout:c,childSpanTimeout:u,disableAutoFinish:k,beforeSpanEnd:R=>{M(),Xi(R,{recordClsOnPageloadSpan:!o})}});function q(){["interactive","complete"].includes(_.document.readyState)&&f.emit("idleSpanEnableAutoFinish",F)}return k&&_.document&&(_.document.addEventListener("readystatechange",()=>{q()}),q()),F}return{name:yu,afterAllSetup(f){let y,k=_.location&&_.location.href;function j(){y&&!b(y).timestamp&&(G&&m.log(`[Tracing] Finishing current active span with op: ${b(y).op}`),y.end())}f.on("startNavigationSpan",A=>{I()===f&&(j(),y=K(f,{op:"navigation",...A}))}),f.on("startPageLoadSpan",(A,F={})=>{if(I()!==f)return;j();const q=F.sentryTrace||tr("sentry-trace"),R=F.baggage||tr("baggage"),fe=Bs(q,R);O().setPropagationContext(fe),y=K(f,{op:"pageload",...A})}),f.on("spanEnd",A=>{const F=b(A).op;if(A!==H(A)||F!=="navigation"&&F!=="pageload")return;const q=O(),R=q.getPropagationContext();q.setPropagationContext({...R,sampled:R.sampled!==void 0?R.sampled:mt(A),dsc:R.dsc||He(A)})}),_.location&&(L&&ds(f,{name:_.location.pathname,startTime:B?B/1e3:void 0,attributes:{[V]:"url",[P]:"auto.pageload.browser"}}),D&&un(({to:A,from:F})=>{if(F===void 0&&k&&k.indexOf(A)!==-1){k=void 0;return}F!==A&&(k=void 0,ls(f,{name:_.location.pathname,attributes:{[V]:"url",[P]:"auto.navigation.browser"}}))})),l&&Su(),s&&Tu(i,c,u,w),t&&mc(),lu(f,{traceFetch:d,traceXHR:p,trackFetchStreamPerformance:g,tracePropagationTargets:f.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:h,enableHTTPTimings:T})}}};function ds(e,t,n){e.emit("startPageLoadSpan",t,n),O().setTransactionName(t.name);const r=$();return(r&&b(r).op)==="pageload"?r:void 0}function ls(e,t){Le().setPropagationContext({traceId:ct()}),O().setPropagationContext({traceId:ct()}),e.emit("startNavigationSpan",t),O().setTransactionName(t.name);const n=$();return(n&&b(n).op)==="navigation"?n:void 0}function tr(e){const t=js(`meta[name=${e}]`);return t?t.getAttribute("content"):void 0}function Tu(e,t,n,r){let s;const o=()=>{const a="ui.action.click",i=$(),c=i&&H(i);if(c){const u=b(c).op;if(["navigation","pageload"].includes(u)){G&&m.warn(`[Tracing] Did not create ${a} span because a pageload or navigation span is in progress.`);return}}if(s&&(s.setAttribute(Ot,"interactionInterrupted"),s.end(),s=void 0),!r.name){G&&m.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}s=Or({name:r.name,op:a,attributes:{[V]:r.source||"url"}},{idleTimeout:e,finalTimeout:t,childSpanTimeout:n})};_.document&&addEventListener("click",o,{once:!1,capture:!0})}function vu(e){const t=e.match(/^([^.]+)/);return t!==null&&parseInt(t[0])>=17}function bu(e,t){const n=new WeakSet;function r(s,o){if(!n.has(s)){if(s.cause)return n.add(s),r(s.cause,o);s.cause=o}}r(e,t)}function Iu(e,{componentStack:t},n){if(vu(ne.version)&&en(e)&&t){const r=new Error(e.message);r.name=`React ErrorBoundary ${e.name}`,r.stack=t,bu(e,r)}return _r(e,{...n,captureContext:{contexts:{react:{componentStack:t}}}})}var At={exports:{}},v={};/** @license React v16.13.1
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var nr;function wu(){if(nr)return v;nr=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,s=e?Symbol.for("react.strict_mode"):60108,o=e?Symbol.for("react.profiler"):60114,a=e?Symbol.for("react.provider"):60109,i=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,u=e?Symbol.for("react.concurrent_mode"):60111,l=e?Symbol.for("react.forward_ref"):60112,d=e?Symbol.for("react.suspense"):60113,p=e?Symbol.for("react.suspense_list"):60120,g=e?Symbol.for("react.memo"):60115,h=e?Symbol.for("react.lazy"):60116,T=e?Symbol.for("react.block"):60121,L=e?Symbol.for("react.fundamental"):60117,D=e?Symbol.for("react.responder"):60118,M=e?Symbol.for("react.scope"):60119;function w(f){if(typeof f=="object"&&f!==null){var y=f.$$typeof;switch(y){case t:switch(f=f.type,f){case c:case u:case r:case o:case s:case d:return f;default:switch(f=f&&f.$$typeof,f){case i:case l:case h:case g:case a:return f;default:return y}}case n:return y}}}function K(f){return w(f)===u}return v.AsyncMode=c,v.ConcurrentMode=u,v.ContextConsumer=i,v.ContextProvider=a,v.Element=t,v.ForwardRef=l,v.Fragment=r,v.Lazy=h,v.Memo=g,v.Portal=n,v.Profiler=o,v.StrictMode=s,v.Suspense=d,v.isAsyncMode=function(f){return K(f)||w(f)===c},v.isConcurrentMode=K,v.isContextConsumer=function(f){return w(f)===i},v.isContextProvider=function(f){return w(f)===a},v.isElement=function(f){return typeof f=="object"&&f!==null&&f.$$typeof===t},v.isForwardRef=function(f){return w(f)===l},v.isFragment=function(f){return w(f)===r},v.isLazy=function(f){return w(f)===h},v.isMemo=function(f){return w(f)===g},v.isPortal=function(f){return w(f)===n},v.isProfiler=function(f){return w(f)===o},v.isStrictMode=function(f){return w(f)===s},v.isSuspense=function(f){return w(f)===d},v.isValidElementType=function(f){return typeof f=="string"||typeof f=="function"||f===r||f===u||f===o||f===s||f===d||f===p||typeof f=="object"&&f!==null&&(f.$$typeof===h||f.$$typeof===g||f.$$typeof===a||f.$$typeof===i||f.$$typeof===l||f.$$typeof===L||f.$$typeof===D||f.$$typeof===M||f.$$typeof===T)},v.typeOf=w,v}var rr;function Ru(){return rr||(rr=1,At.exports=wu()),At.exports}var Pt,sr;function Nu(){if(sr)return Pt;sr=1;var e=Ru(),t={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},n={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},r={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},o={};o[e.ForwardRef]=r,o[e.Memo]=s;function a(h){return e.isMemo(h)?s:o[h.$$typeof]||t}var i=Object.defineProperty,c=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,l=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,p=Object.prototype;function g(h,T,L){if(typeof T!="string"){if(p){var D=d(T);D&&D!==p&&g(h,D,L)}var M=c(T);u&&(M=M.concat(u(T)));for(var w=a(h),K=a(T),f=0;f<M.length;++f){var y=M[f];if(!n[y]&&!(L&&L[y])&&!(K&&K[y])&&!(w&&w[y])){var k=l(T,y);try{i(h,y,k)}catch{}}}}return h}return Pt=g,Pt}var ku=Nu();const Cu=ps(ku),Au=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Pu="unknown",or={componentStack:null,error:null,eventId:null};class dn extends ne.Component{constructor(t){super(t),dn.prototype.__init.call(this),this.state=or,this._openFallbackReportDialog=!0;const n=I();n&&t.showDialog&&(this._openFallbackReportDialog=!1,this._cleanupHook=n.on("afterSendEvent",r=>{!r.type&&this._lastEventId&&r.event_id===this._lastEventId&&Qn({...t.dialogOptions,eventId:this._lastEventId})}))}componentDidCatch(t,n){const{componentStack:r}=n,s=r??void 0,{beforeCapture:o,onError:a,showDialog:i,dialogOptions:c}=this.props;_t(u=>{o&&o(u,t,s);const l=this.props.handled!=null?this.props.handled:!!this.props.fallback,d=Iu(t,n,{mechanism:{handled:l}});a&&a(t,s,d),i&&(this._lastEventId=d,this._openFallbackReportDialog&&Qn({...c,eventId:d})),this.setState({error:t,componentStack:r,eventId:d})})}componentDidMount(){const{onMount:t}=this.props;t&&t()}componentWillUnmount(){const{error:t,componentStack:n,eventId:r}=this.state,{onUnmount:s}=this.props;s&&s(t,n,r),this._cleanupHook&&(this._cleanupHook(),this._cleanupHook=void 0)}__init(){this.resetErrorBoundary=()=>{const{onReset:t}=this.props,{error:n,componentStack:r,eventId:s}=this.state;t&&t(n,r,s),this.setState(or)}}render(){const{fallback:t,children:n}=this.props,r=this.state;if(r.error){let s;return typeof t=="function"?s=ne.createElement(t,{error:r.error,componentStack:r.componentStack,resetError:this.resetErrorBoundary,eventId:r.eventId}):s=t,ne.isValidElement(s)?s:(t&&Au&&m.warn("fallback did not produce a valid ReactElement"),null)}return typeof n=="function"?n():n}}function Ou(e,t){const n=e.displayName||e.name||Pu,r=s=>ne.createElement(dn,{...t},ne.createElement(e,{...s}));return r.displayName=`errorBoundary(${n})`,Cu(r,e),r}const $u=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;function xu(){const e=N;if(e.__remixContext)return e.__remixContext.future}function Du(){return Wr([N,"access",t=>t.__remixContext,"optionalAccess",t=>t.state,"optionalAccess",t=>t.loaderData,"optionalAccess",t=>t.root,"optionalAccess",t=>t.remixVersion])}let it,Xt,Vt,fs;function Fu(){if(_&&_.location)return _.location.pathname}function Lu(e){return e===2||Wr([xu,"call",t=>t(),"optionalAccess",t=>t.v2_errorBoundary])||!1}function Wu(e){const t=Fu();if(!t)return;const n={name:t,op:"pageload",attributes:{[P]:"auto.pageload.remix",[V]:"url"}};ds(e,n)}function Mu(e){const t=e[e.length-1],n=I();if(!n||!t)return;const r={name:t.id,op:"navigation",attributes:{[P]:"auto.navigation.remix",[V]:"route"}};ls(n,r)}function Gu(e,t={wrapWithErrorBoundary:!0,errorBoundaryOptions:{}}){return r=>{if(!it||!Xt||!Vt)return $u&&!Fa()&&m.warn("Remix SDK was unable to wrap your root because of one or more missing parameters."),ne.createElement(e,{...r});let s=!1;const o=Xt(),a=Vt();return it(()=>{const i=a&&a[a.length-1];if(i){const c=i.id;O().setTransactionName(c);const u=$();if(u){const l=H(u);l&&(l.updateName(c),l.setAttribute(V,"route"))}}s=!0},[]),it(()=>{const i=$();if(s){i&&i.end();return}fs&&a&&a.length&&(i&&i.end(),Mu(a))},[o]),s=!1,!Lu(Du())&&t.wrapWithErrorBoundary?Ou(e,t.errorBoundaryOptions)(r):ne.createElement(e,{...r})}}function Yu({useEffect:e,useLocation:t,useMatches:n,instrumentNavigation:r}){it=e,Xt=t,Vt=n,fs=r}export{me as S,Wr as _,sc as a,un as b,Fe as c,wi as d,es as e,Ri as f,ki as g,jo as h,Fa as i,be as j,ao as k,kr as l,de as m,ga as n,Yo as o,wr as p,ju as q,qu as r,Bu as s,Wu as t,qo as u,Yu as v,Gu as w};
//# sourceMappingURL=performance-Ci6_xEma.js.map

//# debugId=1a3dd4f7-ead7-5579-8629-9bdc2797be8d
