PageSourceSearch

https://www.binaryfortress.com/MediaCommon/Sentry/bundle.min.js

js binaryfortress.com collected 2026-09-24 18:05:03 UTC 106,665 bytes, 5 lines download raw bytes

1https://docs.sentry.io/platforms/javascript/install/loader/#errors-only-bundle
2
3/*! @sentry/browser 10.74.0 (ce5009a) | https://github.com/getsentry/sentry-javascript */
4var Sentry = function (t) { t = window.Sentry || {}; const n = globalThis, e = "10.74.0"; function r() { return o(n), n } function o(t) { const n = t.__SENTRY__ = t.__SENTRY__ || {}; return n.version = n.version || e, n[e] = n[e] || {} } function i(t, r, o = n) { const i = o.__SENTRY__ = o.__SENTRY__ || {}, s = i[e] = i[e] || {}; return s[t] || (s[t] = r()) } const s = ["debug", "info", "warn", "error", "log", "assert", "trace"], c = {}; function u(t) { if (!("console" in n)) return t(); const e = n.console, r = {}, o = Object.keys(c); o.forEach(t => { const n = c[t]; r[t] = e[t], e[t] = n }); try { return t() } finally { o.forEach(t => { e[t] = r[t] }) } } const a = "?", f = /\(error: (.*)\)/, l = /captureMessage|captureException/; function d(...t) { const n = t.sort((t, n) => t[0] - n[0]).map(t => t[1]); return (t, e = 0, r = 0) => { const o = [], i = t.split("\n"); for (let t = e; t < i.length; t++) { let e = i[t]; e.length > 1024 && (e = e.slice(0, 1024)); const s = f.test(e) ? e.replace(f, "$1") : e; if (!s.includes("Error: ")) { for (const t of n) { const n = t(s); if (n) { o.push(n); break } } if (o.length >= 50 + r) break } } return function (t) { if (!t.length) return []; const n = Array.from(t); /sentryWrapped/.test(p(n).function || "") && n.pop(); n.reverse(), l.test(p(n).function || "") && (n.pop(), l.test(p(n).function || "") && n.pop()); return n.slice(0, 50).map(t => ({ ...t, filename: t.filename || p(n).filename, function: t.function || a })) }(o.slice(r)) } } function p(t) { return t[t.length - 1] || {} } const h = "<anonymous>"; function m(t) { try { return t && "function" == typeof t && t.name || h } catch { return h } } function y(t) { const n = t.exception; if (n) { const t = []; try { return n.values.forEach(n => { n.stacktrace.frames && t.push(...n.stacktrace.frames) }), t } catch { return } } } const g = {}, v = {}; function b(t, n) { return g[t] = g[t] || [], g[t].push(n), () => { const e = g[t]; if (e) { const t = e.indexOf(n); -1 !== t && e.splice(t, 1) } } } function _(t, n) { if (!v[t]) { v[t] = !0; try { n() } catch (t) { } } } function w(t, n) { const e = t && g[t]; if (e) for (const t of e) try { t(n) } catch (t) { } } let S = null; function E() { S = n.onerror, n.onerror = function (t, n, e, r, o) { return w("error", { column: r, error: o, line: e, msg: t, url: n }), !!S && S.apply(this, arguments) }, n.onerror.__SENTRY_INSTRUMENTED__ = !0 } let $ = null; function x() { $ = n.onunhandledrejection, n.onunhandledrejection = function (t) { return w("unhandledrejection", t), !$ || $.apply(this, arguments) }, n.onunhandledrejection.__SENTRY_INSTRUMENTED__ = !0 } const I = Object.prototype.toString; function k(t) { switch (I.call(t)) { case "[object Error]": case "[object E
4xception]": case "[object DOMException]": case "[object WebAssembly.Exception]": return !0; default: return D(t, Error) } } function j(t, n) { return I.call(t) === `[object ${n}]` } function O(t) { return j(t, "ErrorEvent") } function T(t) { return j(t, "DOMError") } function R(t) { return j(t, "String") } function C(t) { return "object" == typeof t && null !== t && "__sentry_template_string__" in t && "__sentry_template_values__" in t } function A(t) { return null === t || C(t) || "object" != typeof t && "function" != typeof t } function L(t) { return j(t, "Object") } function M(t) { return "object" == typeof t && null !== t } function N(t) { return "undefined" != typeof Event && D(t, Event) } function P(t) { return Boolean(t?.then && "function" == typeof t.then) } function D(t, n) { try { return t instanceof n } catch { return !1 } } function q(t) { return "undefined" != typeof Request && D(t, Request) } function B(t, n, e) { if (!(n in t)) return; const r = t[n]; if ("function" != typeof r) return; const o = e(r); "function" == typeof o && U(o, r); try { t[n] = o } catch { } } function F(t, n, e) { try { Object.defineProperty(t, n, { value: e, writable: !0, configurable: !0 }) } catch { } } function U(t, n) { try { const e = n.prototype || {}; t.prototype = n.prototype = e, F(t, "__sentry_original__", n) } catch { } } function H(t) { return t.__sentry_original__ } function W(t) { if (k(t)) return { message: t.message, name: t.name, stack: t.stack, ...z(t) }; if (N(t)) { const { type: n, target: e, currentTarget: r, detail: o } = t; return { type: n, target: e, currentTarget: r, ...o ? { detail: o } : {}, ...z(t) } } return t } function z(t) { return M(t) ? Object.fromEntries(Object.entries(t)) : {} } let G; function Q(t) { if (void 0 !== G) return G ? G(t) : t(); const e = Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"), r = n; return e in r && "function" == typeof r[e] ? (G = r[e], G(t)) : (G = null, t()) } function Y() { return Q(() => Math.random()) } function J() { return Q(() => Date.now()) } const X = Symbol.for("sentry.skipNormalization"), K = Symbol.for("sentry.overrideNormalizationDepth"); let V, Z; function tt(t, n = 100, e = 1 / 0) { try { return et("", t, n, e) } catch (t) { return { ERROR: `**non-serializable** (${t})` } } } function nt(t, n = 3, e = 102400) { const r = tt(t, n); return o = r, function (t) { return ~-encodeURI(t).split(/%..|./).length }(JSON.stringify(o)) > e ? nt(t, n - 1, e) : r; var o } function et(t, n, e = 1 / 0, r = 1 / 0, o = function () { const t = new WeakSet; function n(n) { return !!t.has(n) || (t.add(n), !1) } function e(n) { t.delete(n) } return [n, e] }()) { const [i, s] = o; if (null == n || ["boolean", "string"].includes(typeof n) || "number" == typeof n && Number.isFinite(n)) return n; const c = rt(t, n); if (!c.startsWith("[object ")) return c; if (function (t) { return Boolean(t[X]) }(n)) return n; const u = function (t) { const n = t[K]; return "number" == typeof n ? n : void 0 }(n), a = void 0 !== u ? u : e; if (0 === a) return c.replace("object ", ""); if (i(n)) return "[Circular ~]"; const f = n; if (f && "function" == typeof f.toJSON) try { return et("", f.toJSON(), a - 1, r, o) } catch { } const l = Array.isArray(n) ? [] : {}; let d = 0; const p = W(n); for (const t in p) { if (!Object.prototype.hasOwnProperty.call(p, t)) continue; if (d >= r) { l[t] = "[MaxProperties ~]"; break } const n = p[t]; l[t] = et(t, n, a - 1, r, o), d++ } return s(n), l } function rt(t, n) { try { if (V) { const t = V(n); if (t) return t } if ("undefined" != typeof global && n === global) return "[Global]"; if ("number" == typeof n && !Number.isFinite(n)) return `[${n}]`; if ("function" == typeof n) return `[Function: ${m(n)}]`; if ("symbol" == typeof n) return `[${String(n)}]`; if ("bigint" == typeof n) return `[BigInt: ${String(n)}]`; const t = function (t) { const n = Object.getPrototypeOf(t); return n?.constructor ? n.constructor.name : "null prototype" }(n); return `[object ${t}]` } catch (t) { return `**non-serializable** (${t})` } } function ot(t, n = 0) { return "string" != typeof t || 0 === n || t.length <= n ? t : `${t.slice(0, n)}...` } function it(t, n) { if (!Array.isArray(t)) return ""; const e = []; for (let n = 0; n < t.length; n++) { const r = t[n]; A(r) ? e.push(String(r)) : r instanceof Error ? e.push(r.message ? `${r.name}: ${r.message}` : r.name) : e.push(rt(0, r)) } return e.join(n) } function st(t, n, e = !1) { return !!R(t) && (j(n, "RegExp") ? n.test(t) : R(n) ? e ? t === n : t.includes(n) : "function" == typeof n && n(t)) } function ct(t, n = [], e = !1) { for (const r of n) if (st(t, r, e)) return !0; return !1 } function ut(t = function () { const t = n; return t.crypto || t.msCrypto }()) { try { if (t?.randomUUID) return Q(() => t.randomUUID()).replace(/-/g, "") } catch { } return Z || (Z = "10000000100040008000100000000000"), Z.replace(/[018]/g, t => (t ^ (16 * Y() & 15) >> t / 4).toString(16)) } function at(t) { return t.exception?.values?.[0] } function ft(t) { const { message: n, event_id: e } = t; if (n) return n; const r = at(t); return r ? r.type && r.value ? `${r.type}: ${r.value}` : r.type || r.value || e || "<unknown>" : e || "<unknown>" } function lt(t, n, e) { const r = t.exception = t.exception || {}, o = r.values = r.values || [], i = o[0] = o[0] || {}; i.value || (i.value = n || ""), i.type || (i.type = "Error") } function dt(t, n) { const e = at(t); if (!e) return; const r = e.mechanism; if (e.mechanism = { type: "generic", handled: !0, ...r, ...n }, n && "data" in n) { const t = { ...r?.data, ...n.data }; e.mechanism.data = t } } function pt(t) { if (function (t) { try { return t.__sentry_captured__ } catch { } }(t)) return !0; try { F(t, "__sentry_captured__", !0) } catch { } return !1 } function ht() { return J() / 1e3 } let mt; function yt() { return (mt ?? (mt = function () { const { performance: t } = n; if (!t?.now || !t.timeOrigin) return ht; const e = t.timeOrigin; return () => (e + Q(() => t.now())) / 1e3 }()))() } function gt(t) { const n = yt(), e = { sid: ut(), init: !0, timestamp: n, started: n, duration: 0, status: "ok", errors: 0, ignoreDuration: !1, toJSON: () => function (t) { return { sid: `${t.sid}`, init: t.init, started: new Date(1e3 * t.started).toISOString(), timestamp: new Date(1e3 * t.timestamp).toISOString(), status: t.status, errors: t.errors, did: "number" == typeof t.did || "string" == typeof t.did ? `${t.did}` : void 0, duration: t.duration, abnormal_mechanism: t.abnormal_mechanism, attrs: { release: t.release, environment: t.environment, ip_address: t.ipAddress, user_agent: t.userAgent } } }(e) }; return t && vt(e, t), e } function vt(t, n = {}) { if (n.user && (!t.ipAddress && n.user.ip_address && (t.ipAddress = n.user.ip_address), t.did || n.did || (t.did = n.user.id || n.user.email || n.user.username)), t.timestamp = n.timestamp || yt(), n.abnormal_mechanism && (t.abnormal_mechanism = n.abnormal_mechanism), n.ignoreDuration && (t.ignoreDuration = n.ignoreDuration), n.sid && (t.sid = 32 === n.sid.length ? n.sid : ut()), void 0 !== n.init && (t.init = n.init), !t.did && n.did && (t.did = `${n.did}`), "number" == typeof n.started && (t.started = n.started), t.ignoreDuration) t.duration = void 0; else if ("number" == typeof n.duration) t.duration = n.duration; else { const n = t.timestamp - t.started; t.duration = n >= 0 ? n : 0 } n.release && (t.release = n.release), n.environment && (t.environment = n.environment), !t.ipAddress && n.ipAddress && (t.ipAddress = n.ipAddress), !t.userAgent && n.userAgent && (t.userAgent = n.userAgent), "number" == typeof n.errors && (t.errors = n.errors), n.status && (t.status = n.status) } function bt(t, n, e = 2) { if (!n || "object" != typeof n || e <= 0) return n; if (t && 0 === Object.keys(n).length) return t; const r = { ...t }; for (const t in n) Object.prototype.hasOwnProperty.call(n, t) && (r[t] = bt(r[t], n[t], e - 1)); return r } function _t() { return ut() } function wt() { return ut().substring(16) } function St(t) { if (t) { if ("object" == typeof t && "deref" in t && "function" == typeof t.deref) try { return t.deref() } catch { return } return t } } const Et = "_sentrySpan"; function $t(t, e) { e ? F(t, Et, function (t) { try { const e = n.WeakRef; if ("function" == typeof e) return new e(t) } catch { } return t }(e)) : delete t[Et] } function xt(t) { return St(t[Et]) } class It { constructor() { this.t = !1, this.o = [], this.i = [], this.u = [], this.l = [], this.p = {}, this.h = {}, this.m = {}, this.v = {}, this._ = {}, this.S = {}, this.I = { traceId: _t(), sampleRand: Y() } } clone() { const t = new It; return t.u = [...this.u], t.h = { ...this.h }, t.m = { ...this.m }, t.v = { ...this.v }, t._ = { ...this._ }, this._.flags && (t._.flags = { values: [...this._.flags.values] }), t.p = this.p, t.k = this.k, t.j = this.j, t.O = this.O, t.T = this.T, t.i = [...this.i], t.l = [...this.l], t.S = { ...this.S }
4, t.I = { ...this.I }, t.R = this.R, t.C = this.C, t.A = this.A, $t(t, xt(this)), t } setClient(t) { this.R = t } setLastEventId(t) { this.C = t } getClient() { return this.R } lastEventId() { return this.C } addScopeListener(t) { this.o.push(t) } addEventProcessor(t) { return this.i.push(t), this } setUser(t) { return this.p = t || { email: void 0, id: void 0, ip_address: void 0, username: void 0 }, this.j && vt(this.j, { user: t }), this.L(), this } getUser() { return this.p } setConversationId(t) { return this.A = t || void 0, this.L(), this } setTags(t) { return this.h = { ...this.h, ...t }, this.L(), this } setTag(t, n) { return this.setTags({ [t]: n }) } setAttributes(t) { return this.m = { ...this.m, ...t }, this.L(), this } setAttribute(t, n) { return this.setAttributes({ [t]: n }) } removeAttribute(t) { return t in this.m && (delete this.m[t], this.L()), this } setExtras(t) { return this.v = { ...this.v, ...t }, this.L(), this } setExtra(t, n) { return this.v = { ...this.v, [t]: n }, this.L(), this } setFingerprint(t) { return this.T = t, this.L(), this } setLevel(t) { return this.k = t, this.L(), this } setTransactionName(t) { return this.O = t, this.L(), this } setContext(t, n) { return null === n ? delete this._[t] : this._[t] = n, this.L(), this } setSession(t) { return t ? this.j = t : delete this.j, this.L(), this } getSession() { return this.j } update(t) { if (!t) return this; const n = "function" == typeof t ? t(this) : t, e = n instanceof It ? n.getScopeData() : L(n) ? t : void 0, { tags: r, attributes: o, extra: i, user: s, contexts: c, level: u, fingerprint: a = [], propagationContext: f, conversationId: l } = e || {}; return this.h = { ...this.h, ...r }, this.m = { ...this.m, ...o }, this.v = { ...this.v, ...i }, this._ = { ...this._, ...c }, s && Object.keys(s).length && (this.p = s), u && (this.k = u), a.length && (this.T = a), f && (this.I = f), l && (this.A = l), this } clear() { return this.u = [], this.h = {}, this.m = {}, this.v = {}, this.p = {}, this._ = {}, this.k = void 0, this.O = void 0, this.T = void 0, this.j = void 0, this.A = void 0, $t(this, void 0), this.l = [], this.setPropagationContext({ traceId: _t(), sampleRand: Y() }), this.L(), this } addBreadcrumb(t, n) { const e = "number" == typeof n ? n : 100; if (e <= 0) return this; const r = { timestamp: ht(), ...t, message: t.message ? ot(t.message, 2048) : t.message }; return this.u.push(r), this.u.length > e && (this.u = this.u.slice(-e), this.R?.recordDroppedEvent("buffer_overflow", "log_item")), this.L(), this } getLastBreadcrumb() { return this.u[this.u.length - 1] } clearBreadcrumbs() { return this.u = [], this.L(), this } addAttachment(t) { return this.l.push(t), this } clearAttachments() { return this.l = [], this } getScopeData() { return { breadcrumbs: this.u, attachments: this.l, contexts: this._, tags: this.h, attributes: this.m, extra: this.v, user: this.p, level: this.k, fingerprint: this.T || [], eventProcessors: this.i, propagationContext: this.I, sdkProcessingMetadata: this.S, transactionName: this.O, span: xt(this), conversationId: this.A } } setSDKProcessingMetadata(t) { return this.S = bt(this.S, t, 2), this } setPropagationContext(t) { return this.I = t, this } getPropagationContext() { return this.I } captureException(t, n) { const e = n?.event_id || ut(); if (!this.R) return e; const r = new Error("Sentry syntheticException"); return this.R.captureException(t, { originalException: t, syntheticException: r, ...n, event_id: e }, this), e } captureMessage(t, n, e) { const r = e?.event_id || ut(); if (!this.R) return r; const o = e?.syntheticException ?? new Error(t); return this.R.captureMessage(t, n, { originalException: t, syntheticException: o, ...e, event_id: r }, this), r } captureEvent(t, n) { const e = t.event_id || n?.event_id || ut(); return this.R ? (this.R.captureEvent(t, { ...n, event_id: e }, this), e) : e } L() { this.t || (this.t = !0, this.o.forEach(t => { t(this) }), this.t = !1) } } const kt = t => t instanceof Promise && !t[jt], jt = Symbol("chained PromiseLike"), Ot = (t, n) => { if (!n) return t; let e = !1; for (const r in t) { if (r in n) continue; e = !0; const o = t[r]; "function" == typeof o ? Object.defineProperty(n, r, { value: (...n) => o.apply(t, n), enumerable: !0, configurable: !0, writable: !0 }) : n[r] = o }
4 return e && Object.assign(n, { [jt]: !0 }), n }; class Tt { constructor(t, n) { let e, r; e = t || new It, r = n || new It, this.M = [{ scope: e }], this.N = r } withScope(t) { const n = this.P(); let e; try { e = t(n) } catch (t) { throw this.D(), t } return P(e) ? ((t, n, e) => { const r = t.then(t => (n(t), t), t => { throw e(t), t }); return kt(r) && kt(t) ? r : Ot(t, r) })(e, () => this.D(), () => this.D()) : (this.D(), e) } getClient() { return this.getStackTop().client } getScope() { return this.getStackTop().scope } getIsolationScope() { return this.N } getStackTop() { return this.M[this.M.length - 1] } P() { const t = this.getScope().clone(); return this.M.push({ client: this.getClient(), scope: t }), t } D() { return !(this.M.length <= 1) && !!this.M.pop() } } function Rt() { const t = o(r()); return t.stack = t.stack || new Tt(i("defaultCurrentScope", () => new It), i("defaultIsolationScope", () => new It)) } function Ct(t) { return Rt().withScope(t) } function At(t, n) { const e = Rt(); return e.withScope(() => (e.getStackTop().scope = t, n(t))) } function Lt(t) { return Rt().withScope(() => t(Rt().getIsolationScope())) } function Mt(t) { const n = o(t); return n.acs ? n.acs : { withIsolationScope: Lt, withScope: Ct, withSetScope: At, withSetIsolationScope: (t, n) => Lt(n), getCurrentScope: () => Rt().getScope(), getIsolationScope: () => Rt().getIsolationScope() } } function Nt(t, n) { const { value: e, unit: r } = "object" == typeof (o = t) && null != o && !Array.isArray(o) && Object.keys(o).includes("value") ? t : { value: t, unit: void 0 }; var o; const i = function (t) { if (Array.isArray(t)) return { value: t, type: "array" }; const n = "string" == typeof t ? "string" : "boolean" == typeof t ? "boolean" : "number" != typeof t || Number.isNaN(t) ? null : Number.isInteger(t) ? "integer" : "double"; if (n) return { value: t, type: n } }(e), s = r && "string" == typeof r ? { unit: r } : {}; if (i) return { ...i, ...s }; if (!n || "skip-undefined" === n && void 0 === e) return; let c = ""; try { c = JSON.stringify(e) ?? "" } catch { } return { value: c, type: "string", ...s } } function Pt(t, n = !1) { const e = {}; for (const [r, o] of Object.entries(t ?? {})) { const t = Nt(o, n); t && (e[r] = t) } return e } function Dt() { return Mt(r()).getCurrentScope() } function qt() { return Mt(r()).getIsolationScope() } function Bt() { return i("globalScope", () => new It) } function Ft(...t) { const n = Mt(r()); if (2 === t.length) { const [e, r] = t; return e ? n.withSetScope(e, r) : n.withScope(r) } return n.withScope(t[0]) } function Ut() { return Dt().getClient() } function Ht(t) { const n = t.getPropagationContext(), { traceId: e, parentSpanId: r, propagationSpanId: o } = n, i = { trace_id: e, span_id: o || wt() }; return r && (i.parent_span_id = r), i } const Wt = "sentry.source", zt = "sentry.sample_rate", Gt = "sentry.op", Qt = "sentry.origin", Yt = "sentry.custom_span_name", Jt = "sentry.profile_id", Xt = "sentry.exclusive_time"; function Kt(t) { const n = t; return { scope: n._sentryScope, isolationScope: St(n._sentryIsolationScope) } } const Vt = "sentry-"; function Zt(t) { const n = function (t) { if (!t || !R(t) && !Array.isArray(t)) return; if (Array.isArray(t)) return t.reduce((t, n) => { const e = nn(n); return Object.entries(e).forEach(([n, e]) => { t[n] = e }), t }, {}); return nn(t) }(t); if (!n) return; const e = Object.entries(n).reduce((t, [n, e]) => { if (n.startsWith(Vt)) { t[n.slice(7)] = e } return t }, {}); return Object.keys(e).length > 0 ? e : void 0 } function tn(t) { if (!t) return; return function (t) { if (0 === Object.keys(t).length) return; return Object.entries(t).reduce((t, [n, e], r) => { const o = `${encodeURIComponent(n)}=${encodeURIComponent(e)}`, i = 0 === r ? o : `${t},${o}`; return i.length > 8192 ? t : i }, "") }(Object.entries(t).reduce((t, [n, e]) => (e && (t[`${Vt}${n}`] = e), t), {})) } function nn(t) { return t.split(",").map(t => { const n = t.indexOf("="); if (-1 === n) return []; return [t.slice(0, n), t.slice(n + 1)].map(t => { try { return decodeURIComponent(t.trim()) } catch { return } }) }).reduce((t, [n, e]) => (n && e && (t[n] = e), t), {}) } const en = /^o(\d+)\./, rn = /^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/; function on(t, n = !1) { const { host: e, path: r, pass: o, port: i, projectId: s, protocol: c, publicKey: u } = t; return `${c}://${u}${n && o ? `:${o}` : ""}@${e}${i ? `:${i}` : ""}/${r ? `${r}/` : r}${s}` } function sn(t) { return { protocol: t.protocol, publicKey: t.publicKey || "", pass: t.pass || "", host: t.host, port: t.port || "", path: t.path || "", projectId: t.projectId } } function cn(t) { const n = t.getOptions(), { host: e } = t.getDsn() || {}; let r; return n.orgId ? r = String(n.orgId) : e && (r = function (t) { const n = t.match(en); return n?.[1] }(e)), r } function un(t) { const n = "string" == typeof t ? function (t) { const n = rn.exec(t); if (!n) return void u(() => { console.error(`Invalid Sentry Dsn: ${t}`) }); const [e, r, o = "", i = "", s = "", c = ""] = n.slice(1); let a = "", f = c; const l = f.split("/"); if (l.length > 1 && (a = l.slice(0, -1).join("/"), f = l.pop()), f) { const t = f.match(/^\d+/); t && (f = t[0]) } return sn({ host: i, pass: o, path: a, projectId: f, port: s, protocol: e, publicKey: r }) }(t) : sn(t); if (n) return n } function an(t) { if ("boolean" == typeof t) return Number(t); const n = "string" == typeof t ? parseFloat(t) : t; return "number" != typeof n || isNaN(n) || n < 0 || n > 1 ? void 0 : n } const fn = new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$"); function ln(t, n) { const e = function (t) { if (!t) return; const n = t.match(fn); if (!n) return; let e; return "1" === n[3] ? e = !0 : "0" === n[3] && (e = !1), { traceId: n[1], parentSampled: e, parentSpanId: n[2] } }(t), r = Zt(n); if (!e?.traceId) return { traceId: _t(), sampleRand: Y() }; const o = function (t, n) { const e = an(n?.sample_rand); if (void 0 !== e) return e; const r = an(n?.sample_rate); return r && void 0 !== t?.parentSampled ? t.parentSampled ? Y() * r : r + Y() * (1 - r) : Y() }(e, r); r && (r.sample_rand = o.toString()); const { traceId: i, parentSpanId: s, parentSampled: c } = e; return { traceId: i, parentSpanId: s, sampled: c, dsc: r || {}, sampleRand: o } } function dn(t = _t(), n = wt(), e) { let r = ""; return void 0 !== e && (r = e ? "-1" : "-0"), `${t}-${n}${r}` } function pn(t = _t(), n = wt(), e) { return `00-${t}-${n}-${e ? "01" : "00"}` } let hn = !1; function mn(t) { const { spanId: n, traceId: e, isRemote: r } = t.spanContext(), o = r ? n : _n(t).parent_span_id, i = Kt(t).scope; return { parent_span_id: o, span_id: r ? i?.getPropagationContext().propagationSpanId || wt() : n, trace_id: e } } function yn(t) { const { traceId: n, spanId: e } = t.spanContext(); return dn(n, e, Sn(t)) } function gn(t) { return t && t.length > 0 ? t.map(({ context: { spanId: t, traceId: n, traceFlags: e, ...r }, attributes: o }) => ({ span_id: t, trace_id: n, sampled: 1 === e, attributes: o, ...r })) : void 0 } function vn(t) { return "number" == typeof t ? bn(t) : Array.isArray(t) ? t[0] + t[1] / 1e9 : t instanceof Date ? bn(t.getTime()) : yt() } function bn(t) { return t > 9999999999 ? t / 1e3 : t } function _n(t) { if (function (t) { return "function" == typeof t.getSpanJSON }(t)) return t.getSpanJSON(); const { spanId: n, traceId: e } = t.spanContext(); if (function (t) { const n = t; return !!(n.attributes && n.startTime && n.name && n.endTime && n.status) }(t)) { const { attributes: r, startTime: o, name: i, endTime: s, status: c, links: u } = t; return { span_id: n, trace_id: e, data: r, description: i, parent_span_id: wn(t), start_timestamp: vn(o), timestamp: vn(s) || void 0, status: En(c), op: r[Gt], origin: r[Qt], links: gn(u) } } return { span_id: n, trace_id: e, start_timestamp: 0, data: {} } } function wn(t) { return "parentSpanId" in t ? t.parentSpanId : "parentSpanContext" in t ? t.parentSpanContext?.spanId : void 0 } function Sn(t) { const { traceFlags: n } = t.spanContext(); return 1 === n } function En(t) { if (t && 0 !== t.code) return 1 === t.code ? "ok" : t.message || "internal_error" } const $n = function (t) { return t._sentryRootSpan || t }; function xn() { const t = Mt(r()); return t.getActiveSpan ? t.getActiveSpan() : xt(Dt()) } function In() { hn || (u(() => { console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.") }), hn = !0) } function kn(t) { if ("boolean" == typeof __SENTRY_TRACING__ && !__SENTRY_TRACING__) return !1; const n = t || Ut()?.getOptions(); return !(!n || null == n.tracesSampleRate && !n.tracesSampler) } function jn(t, n) { if (!n?.length) return !1;
4 for (const e of n) { if (Rn(e)) { if (t.description && st(t.description, e)) return !0; continue } const n = !!e.attributes && Object.keys(e.attributes).length > 0; if (!e.name && !e.op && !n) continue; const r = !e.name || t.description && st(t.description, e.name), o = !e.op || t.op && st(t.op, e.op), i = !e.attributes || Object.entries(e.attributes).every(([n, e]) => On(t.attributes?.[n], e)); if (r && o && i) return !0 } return !1 } function On(t, n) { return "string" == typeof t && ("string" == typeof n || n instanceof RegExp) ? st(t, n) : Array.isArray(t) && Array.isArray(n) ? t.length === n.length && t.every((t, e) => t === n[e]) : t === n } function Tn(t, n) { const e = n.parent_span_id, r = n.span_id; if (e) for (const n of t) n.parent_span_id === r && (n.parent_span_id = e) } function Rn(t) { return "string" == typeof t || t instanceof RegExp } const Cn = Symbol.for("sentry.nonRecordingSpan"); function An(t) { return !!t && !0 === t[Cn] } const Ln = "production"; function Mn(t, n) { const e = n.getOptions(), { publicKey: r } = n.getDsn() || {}, o = { environment: e.environment || Ln, release: e.release, public_key: r, trace_id: t, org_id: cn(n) }; return n.emit("createDsc", o), o } function Nn(t, n) { const e = n.getPropagationContext(); return e.dsc || Mn(e.traceId, t) } function Pn(t) { const n = Ut(); if (!n) return {}; const e = $n(t), r = _n(e), o = r.data, i = e.spanContext().traceState, s = i?.get("sentry.sample_rate") ?? o[zt] ?? o["sentry.previous_trace_sample_rate"]; function c(t) { return "number" != typeof s && "string" != typeof s || (t.sample_rate = `${s}`), t } const u = e._frozenDsc; if (u) return c(u); const a = An(e), f = a && "ignored" === e.dropReason; if (a && (!kn(n.getOptions()) || f)) { const t = Kt(e).scope; if (t) { const e = { ...Nn(n, t) }; return f && (e.sampled = "false"), c(e) } } const l = i?.get("sentry.dsc"), d = l && Zt(l); if (d) return c(d); const p = Mn(t.spanContext().traceId, n), h = o[Wt] ?? o["sentry.segment.name.source"], m = r.description; return "url" !== h && m && (p.transaction = m), kn() && (p.sampled = String(Sn(e)), p.sample_rand = i?.get("sentry.sample_rand") ?? Kt(e).scope?.getPropagationContext().sampleRand.toString()), c(p), n.emit("createDsc", p, e), p } function Dn(t, n = []) { return [t, n] } function qn(t, n) { const [e, r] = t; return [e, [...r, n]] } function Bn(t, n) { const e = t[1]; for (const t of e) { if (n(t, t[0].type)) return !0 } return !1 } function Fn(t) { const e = o(n); return e.encodePolyfill ? e.encodePolyfill(t) : (new TextEncoder).encode(t) } function Un(t) { const [n, e] = t; let r = JSON.stringify(n); function o(t) { "string" == typeof r ? r = "string" == typeof t ? r + t : [Fn(r), t] : r.push("string" == typeof t ? Fn(t) : t) } for (const t of e) { const [n, e] = t; if (o(`\n${JSON.stringify(n)}\n`), "string" == typeof e || e instanceof Uint8Array) o(e); else { let t; try { t = JSON.stringify(e) } catch { t = JSON.stringify(tt(e)) } o(t) } } return "string" == typeof r ? r : function (t) { const n = t.reduce((t, n) => t + n.length, 0), e = new Uint8Array(n); let r = 0; for (const n of t) e.set(n, r), r += n.length; return e }(r) } function Hn(t) { const n = "string" == typeof t.data ? Fn(t.data) : t.data; return [{ type: "attachment", length: n.length, filename: t.filename, content_type: t.contentType, attachment_type: t.attachmentType }, n] } const Wn = { sessions: "session", event: "error", client_report: "internal", user_report: "default", profile_chunk: "profile", replay_event: "replay", replay_recording: "replay", check_in: "monitor", raw_security: "security", log: "log_item", trace_metric: "metric" }; function zn(t) { return function (t) { return t in Wn }(t) ? Wn[t] : t } function Gn(t) { if (!t?.sdk) return; const { name: n, version: e } = t.sdk; return { name: n, version: e } } function Qn(t, n, e, r) { const o = Gn(e), i = t.type && "replay_event" !== t.type ? t.type : "event"; !function (t, n) { if (!n) return t; const e = t.sdk || {}; t.sdk = { ...e, name: e.name || n.name, version: e.version || n.version, integrations: [...t.sdk?.integrations || [], ...n.integrations || []], packages: [...t.sdk?.packages || [], ...n.packages || []], settings: t.sdk?.settings || n.settings ? { ...t.sdk?.settings, ...n.settings } : void 0 } }(t, e?.sdk); const s = function (t, n, e, r) { const o = t.sdkProcessingMetadata?.dynamicSamplingContext; return { event_id: t.event_id, sent_at: new Date(J()).toISOString(), ...n && { sdk: n }, ...!!e && r && { dsn: on(r) }, ...o && { trace: o } } }(t, o, r, n); delete t.sdkProcessingMetadata; return Dn(s, [[{ type: i }, t]]) } const Yn = "__SENTRY_SUPPRESS_TRACING__"; function Jn() { return Mt(r()) } function Xn(t, n) { const { fingerprint: e, span: r, breadcrumbs: o, sdkProcessingMetadata: i } = n; !function (t, n) { const { extra: e, tags: r, user: o, contexts: i, level: s, transactionName: c } = n; Object.keys(e).length && (t.extra = { ...e, ...t.extra }); Object.keys(r).length && (t.tags = { ...r, ...t.tags }); Object.keys(o).length && (t.user = { ...o, ...t.user }); Object.keys(i).length && (t.contexts = { ...i, ...t.contexts }); s && (t.level = s); c && "transaction" !== t.type && (t.transaction = c) }(t, n), r && function (t, n) { t.contexts = { trace: mn(n), ...t.contexts }, t.sdkProcessingMetadata = { dynamicSamplingContext: Pn(n), ...t.sdkProcessingMetadata }; const e = $n(n), r = _n(e).description; r && !t.transaction && "transaction" === t.type && (t.transaction = r) }(t, r), function (t, n) { t.fingerprint = t.fingerprint ? Array.isArray(t.fingerprint) ? t.fingerprint : [t.fingerprint] 
4: [], n && (t.fingerprint = t.fingerprint.concat(n)); t.fingerprint.length || delete t.fingerprint }(t, e), function (t, n) { const e = [...t.breadcrumbs || [], ...n]; t.breadcrumbs = e.length ? e : void 0 }(t, o), function (t, n) { t.sdkProcessingMetadata = { ...t.sdkProcessingMetadata, ...n } }(t, i) } function Kn(t, n) { const { extra: e, tags: r, attributes: o, user: i, contexts: s, level: c, sdkProcessingMetadata: u, breadcrumbs: a, fingerprint: f, eventProcessors: l, attachments: d, propagationContext: p, transactionName: h, span: m } = n; Vn(t, "extra", e), Vn(t, "tags", r), Vn(t, "attributes", o), Vn(t, "user", i), Vn(t, "contexts", s), t.sdkProcessingMetadata = bt(t.sdkProcessingMetadata, u, 2), c && (t.level = c), h && (t.transactionName = h), m && (t.span = m), a.length && (t.breadcrumbs = [...t.breadcrumbs, ...a]), f.length && (t.fingerprint = [...t.fingerprint, ...f]), l.length && (t.eventProcessors = [...t.eventProcessors, ...l]), d.length && (t.attachments = [...t.attachments, ...d]), t.propagationContext = { ...t.propagationContext, ...p } } function Vn(t, n, e) { t[n] = bt(t[n], e, 1) } function Zn(t, n) { const e = Bt().getScopeData(); return t && Kn(e, t.getScopeData()), n && Kn(e, n.getScopeData()), e } const te = "url.full", ne = "user_agent.original"; function ee(t, n) { const e = t.attributes ?? (t.attributes = {}); Object.entries(n).forEach(([t, n]) => { null == n || t in e || (e[t] = n) }) } function re(t) { return new ie(n => { n(t) }) } function oe(t) { return new ie((n, e) => { e(t) }) } class ie { constructor(t) { this.q = 0, this.B = [], this.F(t) } then(t, n) { return new ie((e, r) => { this.B.push([!1, n => { if (t) try { e(t(n)) } catch (t) { r(t) } else e(n) }, t => { if (n) try { e(n(t)) } catch (t) { r(t) } else r(t) }]), this.U() }) } catch(t) { return this.then(t => t, t) } finally(t) { return new ie((n, e) => { let r, o; return this.then(n => { o = !1, r = n, t && t() }, n => { o = !0, r = n, t && t() }).then(() => { o ? e(r) : n(r) }) }) } U() { if (0 === this.q) return; const t = this.B.slice(); this.B = [], t.forEach(t => { t[0] || (1 === this.q && t[1](this.H), 2 === this.q && t[2](this.H), t[0] = !0) }) } F(t) { const n = (t, n) => { 0 === this.q && (P(n) ? n.then(e, r) : (this.q = t, this.H = n, this.U())) }, e = t => { n(1, t) }, r = t => { n(2, t) }; try { t(e, r) } catch (t) { r(t) } } } function se(t, n, e, r = 0) { try { const o = ce(n, e, t, r); return P(o) ? o : re(o) } catch (t) { return oe(t) } } function ce(t, n, e, r) { const o = e[r]; if (!t || !o) return t; const i = o({ ...t }, n); return P(i) ? i.then(t => ce(t, n, e, r + 1)) : ce(i, n, e, r + 1) } let ue, ae, fe, le; function de(t, e, r, o, i, s) { const { normalizeDepth: c = 3, normalizeMaxBreadth: u = 1e3 } = t, a = { ...e, event_id: e.event_id || r.event_id || ut(), timestamp: e.timestamp || ht() }, f = r.integrations || t.integrations.map(t => t.name); !function (t, n) { const { environment: e, release: r, dist: o, maxValueLength: i } = n; t.environment = t.environment || e || Ln, !t.release && r && (t.release = r); !t.dist && o && (t.dist = o); const s = t.request; s?.url && i && (s.url = ot(s.url, i)); i && t.exception?.values?.forEach(t => { t.value && (t.value = ot(t.value, i)) }) }(a, t), function (t, n) { n.length > 0 && (t.sdk = t.sdk || {}, t.sdk.integrations = [...t.sdk.integrations || [], ...n]) }(a, f), i && i.emit("applyFrameMetadata", e), void 0 === e.type && function (t, e) { const r = function (t) { const e = n._sentryDebugIds, r = n.W; if (!e && !r) return {}; const o = e ? Object.keys(e) : [], i = r ? Object.keys(r) : []; if (le && o.length === ae && i.length === fe) return le; ae = o.length, fe = i.length, le = {}, ue || (ue = {}); const s = (n, e) => { for (const r of n) { const n = e[r], o = ue?.[r]; if (o && le && n) le[o[0]] = n, ue && (ue[r] = [o[0], n]); else if (n) { const e = t(r); for (let t = e.length - 1; t >= 0; t--) { const o = e[t], i = o?.filename; if (i && le && ue) { le[i] = n, ue[r] = [i, n]; break } } } } }; return e && s(o, e), r && s(i, r), le }(e); t.exception?.values?.forEach(t => { t.stacktrace?.frames?.forEach(t => { t.filename && (t.debug_id = r[t.filename]) }) }) }(a, t.stackParser); const l = function (t, n) { if (!n) return t; const e = t ? t.clone() : new It; return e.update(n), e }(o, r.captureContext); r.mechanism && dt(a, r.mechanism);
4 const d = i ? i.getEventProcessors() : [], p = Zn(s, l), h = [...r.attachments || [], ...p.attachments]; h.length && (r.attachments = h), Xn(a, p); const m = [...d, ...p.eventProcessors]; return (r.data && !0 === r.data.__sentry__ ? re(a) : se(m, a, r)).then(t => (t && function (t) { const n = {}; if (t.exception?.values?.forEach(t => { t.stacktrace?.frames?.forEach(t => { t.debug_id && (t.abs_path ? n[t.abs_path] = t.debug_id : t.filename && (n[t.filename] = t.debug_id), delete t.debug_id) }) }), 0 === Object.keys(n).length) return; t.debug_meta = t.debug_meta || {}, t.debug_meta.images = t.debug_meta.images || []; const e = t.debug_meta.images; Object.entries(n).forEach(([t, n]) => { e.push({ type: "sourcemap", code_file: t, debug_id: n }) }) }(t), "number" == typeof c && c > 0 ? function (t, n, e) { if (!t) return null; const r = { ...t, ...t.breadcrumbs && { breadcrumbs: t.breadcrumbs.map(t => ({ ...t, ...t.data && { data: tt(t.data, n, e) } })) }, ...t.user && { user: tt(t.user, n, e) }, ...t.contexts && { contexts: tt(t.contexts, n, e) }, ...t.extra && { extra: tt(t.extra, n, e) } }; t.contexts?.trace && r.contexts && (r.contexts.trace = t.contexts.trace, t.contexts.trace.data && (r.contexts.trace.data = tt(t.contexts.trace.data, n, e))); t.spans && (r.spans = t.spans.map(t => ({ ...t, ...t.data && { data: tt(t.data, n, e) } }))); t.contexts?.flags && r.contexts && (r.contexts.flags = tt(t.contexts.flags, 3, e)); return r }(t, c, u) : t)) } function pe(t) { if (t) return function (t) { return t instanceof It || "function" == typeof t }(t) || function (t) { return Object.keys(t).some(t => he.includes(t)) }(t) ? { captureContext: t } : t } const he = ["user", "level", "extra", "contexts", "tags", "fingerprint", "propagationContext"]; function captureException(t, n) { return Dt().captureException(t, pe(n)) } function me(t, n) { return Dt().captureEvent(t, n) } function ye() { return qt().lastEventId() } function ge() { const t = Ut(); return !1 !== t?.getOptions().enabled && !!t?.getTransport() } function ve(t) { const e = qt(), { user: r } = Zn(e, Dt()), { userAgent: o } = n.navigator || {}, i = gt({ user: r, ...o && { userAgent: o }, ...t }), s = e.getSession(); return "ok" === s?.status && vt(s, { status: "exited" }), be(), e.setSession(i), i } function be() { const t = qt(), n = Dt().getSession() || t.getSession(); n && function (t) { let n = {}; "ok" === t.status && (n = { status: "exited" }), vt(t, n) }(n), _e(), t.setSession() } function _e() { const t = qt(), n = Ut(), e = t.getSession(); e && n && n.captureSession(e) } function we(t = !1) { t ? be() : _e() } function Se(t) { return "object" == typeof t && "function" == typeof t.unref && t.unref(), t } function Ee(t) { const n = t.protocol ? `${t.protocol}:` : "", e = t.port ? `:${t.port}` : ""; return `${n}//${t.host}${e}${t.path ? `/${t.path}` : ""}/api/` } function $e(t, n, e) { return n || `${function (t) { return `${Ee(t)}${t.projectId}/envelope/` }(t)}?${function (t, n) { const e = { sentry_version: "7" }; return t.publicKey && (e.sentry_key = t.publicKey), n && (e.sentry_client = `${n.name}/${n.version}`), new URLSearchParams(e).toString() }(t, e)}` } const xe = []; function Ie(t) { const n = t.defaultIntegrations || [], e = t.integrations; let r; if (n.forEach(t => { t.isDefaultInstance = !0 }), Array.isArray(e)) r = [...n, ...e]; else if ("function" == typeof e) { const t = e(n); r = Array.isArray(t) ? t : [t] } else r = n; return function (t) { const n = {}; return t.forEach(t => { const { name: e } = t, r = n[e]; r && !r.isDefaultInstance && t.isDefaultInstance || (n[e] = t) }), Object.values(n) }(r) } function ke(t, n) { for (const e of n) e?.afterAllSetup && e.afterAllSetup(t) } function je(t, n, e) { if (!e[n.name]) { if (e[n.name] = n, xe.includes(n.name) || "function" != typeof n.setupOnce || (n.setupOnce(), xe.push(n.name)), n.setup && "function" == typeof n.setup && n.setup(t), "function" == typeof n.preprocessEvent) { const e = n.preprocessEvent.bind(n); t.on("preprocessEvent", (n, r) => e(n, r, t)) } if ("function" == typeof n.processEvent) { const e = n.processEvent.bind(n), r = Object.assign((n, r) 
4=> e(n, r, t), { id: n.name }); t.addEventProcessor(r) } ["processSpan", "processSegmentSpan"].forEach(e => { const r = n[e]; "function" == typeof r && t.on(e, e => r.call(n, e, t)) }) } } let Oe, Te = 0; function Re() { return "undefined" != typeof window && !0 } function Ce(t, n) { const e = n ? "auto" : "never"; return [{ type: "log", item_count: t.length, content_type: "application/vnd.sentry.items.log+json" }, { version: 2, ...Re() && { ingest_settings: { infer_ip: e, infer_user_agent: e } }, items: t }] } function Ae(t, n) { const e = n ?? function (t) { return Le().get(t) }(t) ?? []; if (0 === e.length) return; const r = t.getOptions(), o = function (t, n, e, r, o) { const i = {}; return n?.sdk && (i.sdk = { name: n.sdk.name, version: n.sdk.version }), e && r && (i.dsn = on(r)), Dn(i, [Ce(t, o)]) }(e, r._metadata, r.tunnel, t.getDsn(), t.getDataCollectionOptions().userInfo); Le().set(t, []), t.emit("flushLogs"), t.sendEnvelope(o) } function Le() { return i("clientToLogBufferMap", () => new WeakMap) } function Me(t, n) { const e = n ? "auto" : "never"; return [{ type: "trace_metric", item_count: t.length, content_type: "application/vnd.sentry.items.trace-metric+json" }, { version: 2, ...Re() && { ingest_settings: { infer_ip: e, infer_user_agent: e } }, items: t }] } function Ne(t, n, e, r = !0) { !e || !r && n in t || (t[n] = e) } function Pe(t, n) { const e = Ue(), r = Fe(t); void 0 === r ? e.set(t, [n]) : r.length >= 1e3 ? (Be(t, r), e.set(t, [n])) : e.set(t, [...r, n]) } function De(t, n, e, r) { const [, o] = function (t, n) { return n ? Ft(n, () => { const e = xn(), r = e ? mn(e) : Ht(n); return [e ? Pn(e) : Nn(t, n), r] }) : [void 0, void 0] }(n, e), i = xt(e), s = i ? i.spanContext().traceId : o?.trace_id, c = i ? i.spanContext().spanId : void 0, u = yt(), a = function (t) { const n = Math.floor(1e3 * t); void 0 !== Oe && n !== Oe && (Te = 0); const e = Te; return Te++, Oe = n, { key: "sentry.timestamp.sequence", value: { value: e, type: "integer" } } }(u); return { timestamp: u, trace_id: s ?? "", span_id: c, name: t.name, type: t.type, unit: t.unit, value: t.value, attributes: { ...Pt(r), ...Pt(t.attributes, "skip-undefined"), [a.key]: a.value } } } function qe(t, n) { const e = n?.scope ?? Dt(), r = n?.captureSerializedMetric ?? Pe, o = e?.getClient() ?? Ut(); if (!o) return; const { _experiments: i, enableMetrics: s, beforeSendMetric: c } = o.getOptions(); if (!(s ?? i?.enableMetrics ?? !0)) return; const { user: u, attributes: a } = Zn(qt(), e), f = function (t, n, e) { const { release: r, environment: o } = n.getOptions(), i = { ...t.attributes }; Ne(i, "user.id", e.id, !1), Ne(i, "user.email", e.email, !1), Ne(i, "user.name", e.username, !1), Ne(i, "sentry.release", r), Ne(i, "sentry.environment", o); const { name: s, version: c } = n.getSdkMetadata()?.sdk ?? {}; Ne(i, "sentry.sdk.name", s), Ne(i, "sentry.sdk.version", c); const u = n.getIntegrationByName("Replay"), a = u?.getReplayId(!0); return Ne(i, "sentry.replay_id", a), a && "buffer" === u?.getRecordingMode() && Ne(i, "sentry._internal.replay_is_buffering", !0), { ...t, attributes: i } }(t, o, u); o.emit("processMetric", f); const l = c || i?.beforeSendMetric, d = l ? l(f) : f; if (!d) return; r(o, De(d, o, e, a)), o.emit("afterCaptureMetric", d) } function Be(t, n) { const e = n ?? Fe(t) ?? []; if (0 === e.length) return; const r = t.getOptions(), o = function (t, n, e, r, o) { const i = {}; return n?.sdk && (i.sdk = { name: n.sdk.name, version: n.sdk.version }), e && r && (i.dsn = on(r)), Dn(i, [Me(t, o)]) }(e, r._metadata, r.tunnel, t.getDsn(), t.getDataCollectionOptions().userInfo); Ue().set(t, []), t.emit("flushMetrics"), t.sendEnvelope(o) } function Fe(t) { return Ue().get(t) } function Ue() { return i("clientToMetricBufferMap", () => new WeakMap) } function He(t) { const n = { trace_id: t.trace_id, span_id: t.span_id, parent_span_id: t.parent_span_id, name: t.description || "", start_timestamp: t.start_timestamp, end_timestamp: t.timestamp || t.start_timestamp, status: t.status && "ok" !== t.status && "cancelled" !== t.status ? "error" : "ok", is_segment: !1, attributes: { ...t.data }, links: t.links }; return e = n, { ...e, attributes: Pt(e.attributes), links: e.links?.map(t => ({ ...t, attributes: Pt(t.attributes) })) }; var e } const We = Symbol.for("SentryBufferFullError"); function ze(t = 100) { const n = new Set; function e(t) { n.delete(t) } return { get $() { return Array.from(n) }, add: function (r) { if (!(n.size < t)) return oe(We); const o = r(); return n.add(o), o.then(() => e(o), () => e(o)), o }, drain: function (t) { if (!n.size) return re(!0); const e = Promise.allSettled(Array.from(n)).then(() => !0); if (!t) return e; const r = [e, new Promise(n => Se(setTimeout(() => n(!1), t)))]; return Promise.race(r) } } } function Ge(t, { statusCode: n, headers: e }, r = J()) { const o = { ...t }, i = e?.["x-sentry-rate-limits"], s = e?.["retry-after"]; if (i) for (const t of i.trim().split(",")) { const [n, e, , , i] = t.split(":", 5), s = parseInt(n, 10), c = 1e3 * (isNaN(s) ? 60 : s); if (e) for (const t of e.split(";")) "metric_bucket" === t && i && !i.split(";").includes("custom") || (o[t] = r + c); else o.all = r + c } else s ? o.all = r + function (t, n = J()) { const e = parseInt(`${t}`, 10); if (!isNaN(e)) return 1e3 * e; const r = Date.parse(`${t}`); return isNaN(r) ? 6e4 : r - n }(s, r) : 429 === n && (o.all = r + 6e4); return o } function Qe(t, n, e = ze(t.bufferSize || 64)) { let r = {}; return { send: function (o) { const i = []; if (Bn(o, (n, e) => { const o = zn(e); !function (t, n, e = J()) { return function (t, n) { return t[n] || t.all || 0 }(t, n) > e }(r, o) ? i.push(n) : t.recordDroppedEvent("ratelimit_backoff", o) }), 0 === i.length) return Promise.resolve({}); const s = Dn(o[0], i), c = n => { (function (t, n) { return Bn(t, (t, e) => n.includes(e)) })(s, ["client_report"]) || Bn(s, (e, r) => { t.recordDroppedEvent(n, zn(r)) }) }; return e.add(() => n({ body: Un(s) }).then(t => 413 === t.statusCode ? (c("send_error"), t) : (r = Ge(r, t), t), t => { throw c("network_error"), t })).then(t => t, t => { if (t === We) return c("queue_overflow"), Promise.resolve({}); throw t }) }, flush: t => e.drain(t) } } const Ye = ["forwarded", "-ip", "remote-", "via", "-user"]; const Je = { userInfo: !0, cookies: !0, httpHeaders: { request: !0, response: !0 }, httpBodies: ["incomingRequest", "outgoingRequest", "incomingResponse", "outgoingResponse"], urlQueryParams: !0, graphQL: { document: !0, variables: !0 }, genAI: { inputs: !0, outputs: !0 }
4, databaseQueryData: !0, stackFrameVariables: !0, frameContextLines: 5 }; function Xe(t) { const n = null != t.dataCollection ? Je : !0 === t.sendDefaultPii ? { userInfo: !0, cookies: !0, httpHeaders: { request: !0, response: !0 }, httpBodies: ["incomingRequest", "outgoingRequest", "incomingResponse", "outgoingResponse"], urlQueryParams: !0, graphQL: { document: !0, variables: !0 }, genAI: { inputs: !0, outputs: !0 }, databaseQueryData: !0, stackFrameVariables: !0, frameContextLines: 7 } : { userInfo: !1, cookies: { deny: Ye }, httpHeaders: { request: { deny: Ye }, response: { deny: Ye } }, httpBodies: [], urlQueryParams: { deny: Ye }, graphQL: { document: !0, variables: !0 }, genAI: { inputs: !1, outputs: !1 }, databaseQueryData: !1, stackFrameVariables: !0, frameContextLines: 7 }; const e = t.dataCollection ?? {}; return { userInfo: e.userInfo ?? n.userInfo, cookies: e.cookies ?? n.cookies, httpHeaders: { request: e.httpHeaders?.request ?? n.httpHeaders.request, response: e.httpHeaders?.response ?? n.httpHeaders.response }, httpBodies: e.httpBodies ?? n.httpBodies, urlQueryParams: e.urlQueryParams ?? e.queryParams ?? n.urlQueryParams, graphQL: { document: e.graphQL?.document ?? n.graphQL.document, variables: e.graphQL?.variables ?? n.graphQL.variables }, genAI: { inputs: e.genAI?.inputs ?? n.genAI.inputs, outputs: e.genAI?.outputs ?? n.genAI.outputs }, databaseQueryData: e.databaseQueryData ?? n.databaseQueryData, stackFrameVariables: e.stackFrame
4Variables ?? n.stackFrameVariables, frameContextLines: e.frameContextLines ?? n.frameContextLines } } const Ke = Symbol.for("SentryInternalError"), Ve = Symbol.for("SentryDoNotSendEventError"); function Ze(t) { return { message: t, [Ke]: !0 } } function tr(t) { return { message: t, [Ve]: !0 } } function nr(t, n, e, r, o) { let i, s = 0, c = !1; t.on(e, () => { s = 0, clearTimeout(i), c = !1 }), t.on(n, n => { if (s += r(n), s >= 8e5) o(t); else if (!c) { const n = t.getOptions().G ?? 5e3; n > 0 && (c = !0, i = Se(setTimeout(() => { o(t) }, n))) } }), t.on("flush", () => { o(t) }) } class er { constructor(t) { if (this.Y = t, this._integrations = {}, this.J = 0, this.X = {}, this.K = {}, this.i = [], this.V = ze(t.transportOptions?.bufferSize ?? 64), this.Z = Xe(t), t.dsn && (this.tt = un(t.dsn)), this.tt) { const n = $e(this.tt, t.tunnel, t._metadata ? t._metadata.sdk : void 0); this.nt = t.transport({ tunnel: this.Y.tunnel, recordDroppedEvent: this.recordDroppedEvent.bind(this), ...t.transportOptions, url: n }) } this.Y.enableLogs = this.Y.enableLogs ?? this.Y._experiments?.enableLogs ?? !0, this.Y.enableLogs && nr(this, "afterCaptureLog", "flushLogs", cr, Ae); (this.Y.enableMetrics ?? this.Y._experiments?.enableMetrics ?? !0) && nr(this, "afterCaptureMetric", "flushMetrics", sr, Be) } captureException(t, n, e) { const r = ut(); if (pt(t)) return r; const o = { event_id: r, ...n }; return this.et(() => this.eventFromException(t, o).then(t => this.rt(t, o, e)).then(t => t), "error"), o.event_id } captureMessage(t, n, e, r) { const o = { event_id: ut(), ...e }, i = C(t) ? t : String(t), s = A(t), c = s ? this.eventFromMessage(i, n, o) : this.eventFromException(t, o); return this.et(() => c.then(t => this.rt(t, o, r)), s ? "unknown" : "error"), o.event_id } captureEvent(t, n, e) { const r = ut(); if (n?.originalException && pt(n.originalException)) return r; const o = { event_id: r, ...n }, i = t.sdkProcessingMetadata || {}, s = i.capturedSpanScope, c = i.capturedSpanIsolationScope, u = rr(t.type); return this.et(() => this.rt(t, o, s || e, c), u), o.event_id } captureSession(t) { this.sendSession(t), vt(t, { init: !1 }) } getDsn() { return this.tt } getOptions() { return this.Y } getDataCollectionOptions() { return this.Z } getSdkMetadata() { return this.Y._metadata } getTransport() { return this.nt } async flush(t) { const n = this.nt;
4 if (this.emit("flush"), !n) return !0; const e = await this.ot(t), r = await n.flush(t); return e && r } async close(t) { const n = await this.flush(t); return this.getOptions().enabled = !1, this.emit("close"), n } getEventProcessors() { return this.i } addEventProcessor(t) { this.i.push(t) } init() { (this.it() || this.Y.integrations.some(({ name: t }) => t.startsWith("Spotlight"))) && this.st() } getIntegrationByName(t) { return this._integrations[t] } getIntegrationNames() { return Object.keys(this._integrations) } addIntegration(t) { const n = this._integrations[t.name]; !n && t.beforeSetup && t.beforeSetup(this), je(this, t, this._integrations), n || ke(this, [t]) } sendEvent(t, n = {}) { this.emit("beforeSendEvent", t, n); const e = function (t, n) { if ("transaction" !== t.type || !t.spans?.length || !t.sdkProcessingMetadata?.hasGenAiSpans || !1 === n.getOptions().streamGenAiSpans || function (t) { return "stream" === t.getOptions().traceLifecycle }(n)) return; const e = [], r = []; for (const n of t.spans) n.op?.startsWith("gen_ai.") ? e.push(He(n)) : r.push(n); if (0 === e.length) return; t.spans = r; const o = n.getDataCollectionOptions().userInfo ? "auto" : "never"; return [{ type: "span", item_count: e.length, content_type: "application/vnd.sentry.items.span.v2+json" }, { version: 2, ...Re() && { ingest_settings: { infer_ip: o, infer_user_agent: o } }, items: e }] }(t, this); let r = Qn(t, this.tt, this.Y._metadata, this.Y.tunnel); for (const t of n.attachments || []) r = qn(r, Hn(t)); e && (r = qn(r, e)), this.sendEnvelope(r).then(n => this.emit("afterSendEvent", t, n)) } sendSession(t) { const { release: n, environment: e = Ln } = this.Y; if ("aggregates" in t) { const r = t.attrs || {}; if (!r.release && !n) return; r.release = r.release || n, r.environment = r.environment || e, t.attrs = r } else { if (!t.release && !n) return; t.release = t.release || n, t.environment = t.environment || e } this.emit("beforeSendSession", t); const r = function (t, n, e, r) { const o = Gn(e); return Dn({ sent_at: new Date(J()).toISOString(), ...o && { sdk: o }, ...!!r && n && { dsn: on(n) } }, ["aggregates" in t ? [{ type: "sessions" }, t] : [{ type: "session" }, t.toJSON()]]) }(t, this.tt, this.Y._metadata, this.Y.tunnel); this.sendEnvelope(r) } recordDroppedEvent(t, n, e = 1) { if (this.Y.sendClientReports) { const r = `${t}:${n}`; this.X[r] = (this.X[r] || 0) + e } } on(t, n) { const e = this.K[t] = this.K[t] || new Set, r = (...t) => n(...t); return e.add(r), () => { e.delete(r) } } emit(t, ...n) { const e = this.K[t]; e && e.forEach(t => t(...n)) }
4 async sendEnvelope(t) { if (this.emit("beforeEnvelope", t), this.it() && this.nt) try { return await this.nt.send(t) } catch (t) { return {} } return {} } registerCleanup(t) { } dispose() { } st() { const { integrations: t } = this.Y; this._integrations = function (t, n) { const e = {}; return n.forEach(n => { n?.beforeSetup && n.beforeSetup(t) }), n.forEach(n => { n && je(t, n, e) }), e }(this, t), ke(this, t) } ct(t, n) { let e = "fatal" === n.level, r = !1; const o = n.exception?.values; if (o) { r = !0, e = !1; for (const t of o) if (!1 === t.mechanism?.handled) { e = !0; break } } const i = "ok" === t.status; (i && 0 === t.errors || i && e) && (vt(t, { ...e && { status: "crashed" }, errors: t.errors || Number(r || e) }), this.captureSession(t)) } async ot(t) { let n = 0; for (; !t || n < t;) { if (await new Promise(t => setTimeout(t, 1)), !this.J) return !0; n++ } return !1 } it() { return !1 !== this.getOptions().enabled && void 0 !== this.nt } ut(t, n, e, r) { const o = this.getOptions(), i = this.getIntegrationNames(); return !n.integrations && i.length && (n.integrations = i), this.emit("preprocessEvent", t, n), t.type || r.setLastEventId(t.event_id || n.event_id), de(o, t, n, e, this, r).then(t => { if (null === t) return t; this.emit("postprocessEvent", t, n), t.contexts = { trace: { ...t.contexts?.trace, ...Ht(e) }, ...t.contexts }; const r = Nn(this, e); return t.sdkProcessingMetadata = { dynamicSamplingContext: r, ...t.sdkProcessingMetadata }, t }) } rt(t, n = {}, e = Dt(), r = qt()) { return this.ft(t, n, e, r).then(t => t.event_id, t => { }) } ft(t, n, e, r) { const o = this.getOptions(), { sampleRate: i } = o, s = ir(t), c = or(t), u = `before send for type \`${t.type || "error"}\``, a = void 0 === i ? void 0 : an(i), f = rr(t.type); return this.ut(t, n, e, r).then(t => { if (null === t) throw this.recordDroppedEvent("event_processor", f), tr("An event processor returned `null`, will not send event."); if (!0 === n.data?.__sentry__) return t; const e = function (t, n, e, r) { const { beforeSend: o, beforeSendTransaction: i, ignoreSpans: s } = n, c = (u = n.beforeSendSpan, !(u && "function" == typeof u && "_streamed" in u && u._streamed) && n.beforeSendSpan); var u; let a = e; if (or(a) && o) return o(a, r); if (ir(a)) { if (c || s) { const n = function (t) { const { trace_id: n, parent_span_id: e, span_id: r, status: o, origin: i, data: s, op: c } = t.contexts?.trace ?? {}; return { data: s ?? {}, description: t.transaction, op: c, parent_span_id: e, span_id: r ?? "", start_timestamp: t.start_timestamp ?? 0, status: o, timestamp: t.timestamp, trace_id: n ?? "", origin: i, profile_id: s?.[Jt], exclusive_time: s?.[Xt], measurements: t.measurements, is_segment: !0 } }(a); if (s?.length && jn({ description: n.description, op: n.op, attributes: n.data }, s)) return null; if (c) { const t = c(n); t ? a = bt(e, { type: "transaction", timestamp: (f = t).timestamp, start_timestamp: f.start_timestamp, transaction: f.description, contexts: { trace: { trace_id: f.trace_id, span_id: f.span_id, parent_span_id: f.parent_span_id, op: f.op, status: f.status, origin: f.origin, data: { ...f.data, ...f.profile_id && { [Jt]: f.profile_id }, ...f.exclusive_time && { [Xt]: f.exclusive_time } } } }, measurements: f.measurements }) : In() } if (a.spans) { const n = [], e = a.spans; for (const t of e) if (s?.length && jn({ description: t.description, op: t.op, attributes: t.data }, s)) Tn(e, t); else if (c) { const e = c(t); e ? n.push(e) : (In(), n.push(t)) } else n.push(t); const r = a.spans.length - n.length; r && t.recordDroppedEvent("before_send", "span", r), a.spans = n } } if (i) { if (a.spans) { const t = a.spans.length; a.sdkProcessingMetadata = { ...e.sdkProcessingMetadata, spanCountBeforeProcessing: t } } return i(a, r) } } var f; return a }(this, o, t, n); return function (t, n) { const e = `${n} must return \`null\` or a valid event.`; if (P(t)) return t.then(t => { if (!L(t) && null !== t) throw Ze(e); return t }, t => { throw Ze(`${n} rejected with ${t}`) }); if (!L(t) && null !== t) throw Ze(e); return t }(e, u) }).then(o => { if (null === o) { if (this.recordDroppedEvent("before_send", f), s) { const n = 1 + (t.spans || []).length; this.recordDroppedEvent("before_send", "span", n) } throw tr(`${u} returned \`null\`, will not send event.`) } const l = e.getSession() || r.getSession(); if (c && l && this.ct(l, o), c && "number" == typeof a && Y() > a) throw this.recordDroppedEvent("sample_rate", "error"), tr(`Discarding event because it's not included in the random sample (sampling rate = ${i})`); if (s) { const t = (o.sdkProcessingMetadata?.spanCountBeforeProcessing || 0) - (o.spans ? o.spans.length : 0); t > 0 && this.recordDroppedEvent("before_send", "span", t) } const d = o.transaction_info; if (s && d && o.transaction !== t.transaction) { const t = "custom"; o.transaction_info = { ...d, source: t } } return this.sendEvent(o, n), o }).then(null, t => { if (M(n = t) && Ve in n || function (t) { return M(t) && Ke in t }(t)) throw t; var n; throw this.captureException(t, { mechanism: { handled: !1, type: "internal" }, data: { __sentry__: !0 }, originalException: t }), Ze(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${t}`) }) } et(t, n) { this.J++, this.V.add(t).then(t => (this.J--, t), t => (this.J--, t === We && this.recordDroppedEvent("queue_overflow", n), t)) } lt() { const t = this.X; return this.X = {}, Object.entries(t).map(([t, n]) => { const [e, r] = t.split(":"); return { reason: e, category: r, quantity: n } }) } dt() { const t = this.lt(); if (0 === t.length) return; if (!this.tt) return; const n = (e = t, Dn((r = this.Y.tunnel && on(this.tt)) ? { dsn: r }
4 : {}, [[{ type: "client_report" }, { timestamp: ht(), discarded_events: e }]])); var e, r; this.sendEnvelope(n) } } function rr(t) { return "replay_event" === t ? "replay" : t || "error" } function or(t) { return void 0 === t.type } function ir(t) { return "transaction" === t.type } function sr(t) { let n = 0; return t.name && (n += 2 * t.name.length), n += 8, n + ur(t.attributes) } function cr(t) { let n = 0; return t.message && (n += 2 * t.message.length), n + ur(t.attributes) } function ur(t) { if (!t) return 0; let n = 0; return Object.values(t).forEach(t => { Array.isArray(t) ? n += t.length * ar(t[0]) : A(t) ? n += ar(t) : n += 100 }), n } function ar(t) { return "string" == typeof t ? 2 * t.length : "number" == typeof t ? 8 : "boolean" == typeof t ? 4 : 0 } function fr(t) { Dt().setClient(t) } function lr(t) { if (!t) return {}; const n = t.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/); if (!n) return {}; const e = n[6] || "", r = n[8] || ""; return { host: n[4], path: n[5], protocol: n[2], search: e, hash: r, relative: n[5] + e + r } } function dr(t) { "aggregates" in t ? void 0 === t.attrs?.ip_address && (t.attrs = { ...t.attrs, ip_address: "{{auto}}" }) : void 0 === t.ipAddress && (t.ipAddress = "{{auto}}") } const pr = 100; function hr(t, n) { const e = Ut(), r = qt(); if (!e) return; const { beforeBreadcrumb: o = null, maxBreadcrumbs: i = pr } = e.getOptions(); if (i <= 0) return; const s = { timestamp: ht(), ...t }, c = o ? u(() => o(s, n)) : s; null !== c && (e.emit && e.emit("beforeAddBreadcrumb", c, n), r.addBreadcrumb(c, i)) } const mr = new WeakMap, yr = () => ({ name: "FunctionToString", setupOnce() { const t = Function.prototype.toString; try { Function.prototype.toString = function (...n) { const e = H(this); let r; try { mr.has(Ut()) && void 0 !== e && (r = e) } catch { } return t.apply(r ?? this, n) } } catch { } }, setup(t) { mr.set(t, !0) } }), gr = [/^Script error\.?$/, /^Javascript error: Script error\.? on line 0$/, /^ResizeObserver loop completed with undelivered notifications.$/, /^Cannot redefine property: googletag$/, /^Can't find variable: gmo$/, /^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/, /can't redefine non-configurable property "solana"/, /vv\(\)\.getRestrictions is not a function/, /Can't find variable: _AutofillCallbackHandler/, /Object Not Found Matching Id:\d+, MethodName:simulateEvent/, /Java exception was raised during method invocation$/, /Java object is gone$/], vr = (t = {}) => { let n; return { name: "EventFilters", setup(e) { const r = e.getOptions(); n = _r(t, r) }, processEvent(e, r, o) { if (!n) { const e = o.getOptions(); n = _r(t, e) } return function (t, n) { if (t.type) { if ("transaction" === t.type && function (t, n) { if (!n?.length) return !1; const e = t.transaction; return !!e && ct(e, n) }(t, n.ignoreTransactions)) return !0 } else { if (function (t, n) { if (!n?.length) return !1; return function (t) { const n = []; t.message && n.push(t.message); try { const e = t.exception.values[t.exception.values.length - 1]; e?.value && (n.push(e.value), e.type && n.push(`${e.type}: ${e.value}`)) } catch { } return n }(t).some(t => ct(t, n)) }(t, n.ignoreErrors)) return !0; if (function (t) { if (!t.exception?.values?.length) return !1; return !t.message && !t.exception.values.some(t => t.stacktrace || t.type && "Error" !== t.type || t.value) }(t)) return !0; if (function (t, n) { if (!n?.length) return !1; const e = wr(t); return !!e && ct(e, n) }(t, n.denyUrls)) return !0; if (!function (t, n) { if (!n?.length) return !0; const e = wr(t); return !e || ct(e, n) }(t, n.allowUrls)) return !0 } return !1 }(e, n) ? null : e } } }, br = (t = {}) => ({ ...vr(t), name: "InboundFilters" }); function _r(t = {}, n = {}) { return { allowUrls: [...t.allowUrls || [], ...n.allowUrls || []], denyUrls: [...t.denyUrls || [], ...n.denyUrls || []], ignoreErrors: [...t.ignoreErrors || [], ...n.ignoreErrors || [], ...t.disableErrorDefaults ? [] : gr], ignoreTransactions: [...t.ignoreTransactions || [], ...n.ignoreTransactions || []] } } function wr(t) { try { const n = [...t.exception?.values ?? []].reverse().find(t => void 0 === t.mechanism?.parent_id && t.stacktrace?.frames?.length), e = n?.stacktrace?.frames; return e ? function (t = []) { for (let n = t.length - 1; n >= 0; n--) { const e = t[n]; if (e && "<anonymous>" !== e.filename && "[native code]" !== e.filename) return e.filename || null } return null }(e) : null } catch { return null } } function Sr(t, n, e, r, o, i) { if (!o.exception?.values || !i || !k(i.originalException)) return; const s = o.exception.values.length > 0 ? o.exception.values[o.exception.values.length - 1] : void 0; s && (o.exception.values = Er(t, n, r, i.originalException, e, o.exception.values, s, 0)) } function Er(t, n, e, r, o, i, s, c) { if (i.length >= e + 1) return i; let u = [...i]; if (k(r[o])) { xr(s, c, r); const i = t(n, r[o]), a = u.length; Ir(i, o, a, c), u = Er(t, n, e, r[o], o, [i, ...u], i, a) }
4 return $r(r) && r.errors.forEach((i, a) => { if (k(i)) { xr(s, c, r); const f = t(n, i), l = u.length; Ir(f, `errors[${a}]`, l, c), u = Er(t, n, e, i, o, [f, ...u], f, l) } }), u } function $r(t) { return Array.isArray(t.errors) } function xr(t, n, e) { t.mechanism = { handled: !0, type: "auto.core.linked_errors", ...$r(e) && { is_exception_group: !0 }, ...t.mechanism, exception_id: n } } function Ir(t, n, e, r) { t.mechanism = { handled: !0, ...t.mechanism, type: "chained", source: n, exception_id: e, parent_id: r } } function kr(t) { return function (t) { return k(t) && "__sentry_fetch_url_host__" in t && "string" == typeof t.__sentry_fetch_url_host__ }(t) ? `${t.message} (${t.__sentry_fetch_url_host__})` : t.message } const jr = new Set([]); const Or = new Set; function Tr() { "console" in n && s.forEach(function (t) { !Or.has(t) && t in n.console && (Or.add(t), B(n.console, t, function (e) { return c[t] = e, function (...e) { const r = e[0], o = c[t], i = jr.size && "string" == typeof r && ct(r, jr); i || w("console", { args: e, level: t }), i || o?.apply(n.console, e) } })) }) } function Rr(t) { return "warn" === t ? "warning" : ["fatal", "error", "warning", "log", "info", "debug"].includes(t) ? t : "log" } const Cr = () => { let t; return { name: "Dedupe", processEvent(n) { if (n.type) return n; try { if (function (t, n) { if (!n) return !1; if (function (t, n) { const e = t.message, r = n.message; if (!e && !r) return !1; if (e && !r || !e && r) return !1; if (e !== r) return !1; if (!Lr(t, n)) return !1; if (!Ar(t, n)) return !1; return !0 }(t, n)) return !0; if (function (t, n) { const e = Mr(n), r = Mr(t); if (!e || !r) return !1; if (e.type !== r.type || e.value !== r.value) return !1; if (!Lr(t, n)) return !1; if (!Ar(t, n)) return !1; return !0 }(t, n)) return !0; return !1 }(n, t)) return null } catch { } return t = n } } }; function Ar(t, n) { let e = y(t), r = y(n); if (!e && !r) return !0; if (e && !r || !e && r) return !1; if (r.length !== e.length) return !1; for (let t = 0; t < r.length; t++) { const n = r[t], o = e[t]; if (n.filename !== o.filename || n.lineno !== o.lineno || n.colno !== o.colno || n.function !== o.function) return !1 } return !0 } function Lr(t, n) { let e = t.fingerprint, r = n.fingerprint; if (!e && !r) return !0; if (e && !r || !e && r) return !1; try { return !(e.join("") !== r.join("")) } catch { return !1 } } function Mr(t) { return t.exception?.values?.[0] } const Nr = () => ({ name: "ConversationId", setup(t) { t.on("spanStart", t => { const n = Dt().getScopeData(), e = qt().getScopeData(), r = n.conversationId || e.conversationId; if (r) { const { op: n, data: e, description: o } = _n(t); if (!n?.startsWith("gen_ai.") && !e["ai.operationId"] && !o?.startsWith("ai.")) return; t.setAttribute("gen_ai.conversation.id", r) } }) } }); function Pr(t, n, e, r) { qe({ type: t, name: n, value: e, unit: r?.unit, attributes: r?.attributes }, { scope: r?.scope }) } var Dr = Object.freeze({ __proto__: null, count: function (t, n = 1, e) { Pr("counter", t, n, e) }, distribution: function (t, n, e) { Pr("distribution", t, n, e) }, gauge: function (t, n, e) { Pr("gauge", t, n, e) } }); function qr(t) { return void 0 === t ? void 0 : t >= 400 && t < 500 ? "warning" : t >= 500 ? "error" : void 0 } const Br = n; function Fr(t) { return t && /^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(t.toString()) } function Ur() { if ("string" == typeof EdgeRuntime) return !0; if (!function () { if (!("fetch" in Br)) return !1; try { return new Headers, new Request("data:,"), new Response, !0 } catch { return !1 } }()) return !1; if (Fr(Br.fetch)) return !0; let t = !1; const n = Br.document; if (n && "function" == typeof n.createElement) try { const e = n.createElement("iframe"); e.hidden = !0, n.head.appendChild(e), e.contentWindow?.fetch && (t = Fr(e.contentWindow.fetch)), n.head.removeChild(e) } catch (t) { } return t } function Hr(t, e) { const r = "fetch", o = b(r, t); return _(r, () => function (t, e = !1) { if (e && !Ur()) return; B(n, "fetch", function (t) { return function (...e) { const r = new Error, { method: o, url: i } = function (t) { if (0 === t.length) return { method: "GET", url: "" }; if (2 === t.length) { const [n, e] = t; return { url: zr(n), method: Wr(e, "method") ? String(e.method).toUpperCase() : q(n) && Wr(n, "method") ? String(n.method).toUpperCase() : "GET" } } const n = t[0]; return { url: zr(n), method: Wr(n, "method") ? String(n.method).toUpperCase() : "GET" } }(e), s = { args: e, fetchData: { method: o, url: i }, startTimestamp: 1e3 * yt(), virtualError: r, headers: Gr(e) }; return w("fetch", { ...s }), t.apply(n, e).then(async t => (w("fetch", { ...s, endTimestamp: 1e3 * yt(), response: t }), t), t => { w("fetch", { ...s, endTimestamp: 1e3 * yt(), error: t }), k(t) && void 0 === t.stack && (t.stack = r.stack, F(t, "framesToPop", 1)); const n = Ut(), e = n?.getOptions().enhanceFetchErrorMessages ?? "always";
4 if (!1 !== e && k(t) && "TypeError" === t.name && ("Failed to fetch" === t.message || "Load failed" === t.message || "NetworkError when attempting to fetch resource." === t.message)) try { const n = new URL(s.fetchData.url).host; "always" === e ? t.message = `${t.message} (${n})` : F(t, "__sentry_fetch_url_host__", n) } catch { } throw t }) } }) }(0, e)), o } function Wr(t, n) { return M(t) && !!t[n] } function zr(t) { return "string" == typeof t ? t : t ? Wr(t, "url") ? t.url : t.toString ? t.toString() : "" : "" } function Gr(t) { const [n, e] = t; try { if ("object" == typeof e && null !== e && "headers" in e && e.headers) return new Headers(e.headers); if (q(n)) return new Headers(n.headers) } catch { } } const Qr = n; function Yr() { try { return Qr.document.location.href } catch { return "" } } const Jr = () => { }, Xr = ["attachTo", "createForm", "createWidget", "remove"], Kr = Object.assign(t => (u(() => { console.warn("You are using feedbackIntegration() even though this bundle does not include feedback.") }), { name: "Feedback", ...Xr.reduce((t, n) => (t[n] = Jr, t), {}) }), { _isShim: !0 }), Vr = ["start", "stop", "flush"]; const Zr = t => (u(() => { console.warn("You are using browserTracingIntegration() even though this bundle does not include tracing.") }), { name: "BrowserTracing" }), to = () => (u(() => { console.warn("You are using elementTimingIntegration() even though this bundle does not include element timing.") }), { name: "ElementTiming" }); function no(t, n) { } const eo = { trace: no, debug: no, info: no, warn: no, error: no, fatal: no, fmt: function (t, ...n) { return "" } }, ro = t => ({ name: "ConsoleLogs", setup: Jr }), oo = () => (u(() => { console.warn("You are using spanStreamingIntegration() even though this bundle does not include tracing.") }), { name: "SpanStreaming" }), io = () => (u(() => { console.warn("You are using fetchStreamPerformanceIntegration() even though this bundle does not include tracing.") }), { name: "FetchStreamPerformance" }), so = n; let co = 0; function uo() { return co > 0 } function ao(t, e = {}) { if ("function" != typeof t) return t; try { if (Object.prototype.hasOwnProperty.call(t, "__sentry_wrapped__")) { const n = t.__sentry_wrapped__; return "function" == typeof n ? n : t } if (H(t)) return t } catch { return t } const sentryWrapped = function (...r) { n.ht = (n.ht || 0) + 1; try { const n = r.map(t => ao(t, e)); return t.apply(this, n) } catch (t) { throw co++, setTimeout(() => { co-- }), Ft(n => { n.addEventProcessor(t => (e.mechanism && (lt(t, void 0), dt(t, e.mechanism)), t.extra = { ...t.extra, arguments: r }, t)), captureException(t) }), t } finally { n.ht = (n.ht || 0) - 1 } }; try { for (const n in t) Object.prototype.hasOwnProperty.call(t, n) && (sentryWrapped[n] = t[n]) } catch { } U(sentryWrapped, t), F(t, "__sentry_wrapped__", sentryWrapped); try { Object.getOwnPropertyDescriptor(sentryWrapped, "name").configurable && Object.defineProperty(sentryWrapped, "name", { get: () => t.name }) } catch { } return sentryWrapped } function fo() { const t = Yr(), { referrer: n } = so.document || {}, { userAgent: e } = so.navigator || {}; return { url: t, headers: { ...n && { Referer: n }, ...e && { "User-Agent": e } } } } function lo(t, n) { const e = mo(t, n), r = { type: vo(n), value: bo(n) }; return e.length && (r.stacktrace = { frames: e }), void 0 === r.type && "" === r.value && (r.value = "Unrecoverable error caught"), r } function po(t, n, e, r) { const o = Ut(), i = o?.getOptions().normalizeDepth, s = (c = n, Object.values(c).find(k)); var c; const u = { __serialized__: nt(n, i) }; if (s) return { exception: { values: [lo(t, s)] }, extra: u }; const a = { exception: { values: [{ type: N(n) ? n.constructor.name : r ? "UnhandledRejection" : "Error", value: $o(n, { isUnhandledRejection: r }) }] }, extra: u }; if (e) { const n = mo(t, e); n.length && (a.exception.values[0].stacktrace = { frames: n }) } return a } function ho(t, n) { return { exception: { values: [lo(t, n)] } } } function mo(t, n) { const e = n.stacktrace || n.stack || "", r = function (t) { if (t && yo.test(t.message)) return 1; return 0 }(n), o = function (t) { if ("number" == typeof t.framesToPop) return t.framesToPop; return 0 }(n); try { return t(e, r, o) } catch { } return [] } const yo = /Minified React error #\d+;/i; function go(t) { return "undefined" != typeof WebAssembly && void 0 !== WebAssembly.Exception && t instanceof WebAssembly.Exception } function vo(t) { const n = t?.name; if (!n && go(t)) { return t.message && Array.isArray(t.message) && 2 == t.message.length ? t.message[0] : "WebAssembly.Exception" } return n } function bo(t) { const n = t?.message; return go(t) ? Array.isArray(t.message) && 2 == t.message.length ? t.message[1] : "wasm exception" : n ? n.error && "string" == typeof n.error.message ? kr(n.error) : kr(t) : "No error message" } function _o(t, n, e, r) { const o = So(t, n, e?.syntheticException || void 0, r); return dt(o), o.level = "error", e?.event_id && (o.event_id = e.event_id), re(o) } function wo(t, n, e = "info", r, o) { const i = Eo(t, n, r?.syntheticException || void 0, o); return i.level = e, r?.event_id && (i.event_id = r.event_id), re(i) } function So(t, n, e, r, o) { let i; if (O(n) && n.error) { return ho(t, n.error) } if (T(n) || j(n, "DOMException")) { const o = n; if ("stack" in n) { i = ho(t, n); const o = i.exception?.values?.[0]; if (r && e && o && !o.stacktrace) { const n = mo(t, e); n.length && (o.stacktrace = { frames: n }, dt(i, { synthetic: !0 })) } } else { const n = o.name || (T(o) ? "DOMError" : "DOMException"), s = o.message ? `${n}: ${o.message}` : n; i = Eo(t, s, e, r), lt(i, s) } return "code" in o && (i.tags = { ...i.tags, "DOMException.code": `${o.code}` }), i } if (k(n)) return ho(t, n); if (L(n) || N(n)) { return i = po(t, n, e, o), dt(i, { synthetic: !0 }), i } return i = Eo(t, n, e, r), lt(i, `${n}`), dt(i, { synthetic: !0 }), i } function Eo(t, n, e, r) { const o = {}; if (r && e) { const r = mo(t, e); r.length && (o.exception = { values: [{ value: n, stacktrace: { frames: r } }] }), dt(o, { synthetic: !0 }) }
4 if (C(n)) { const { __sentry_template_string__: t, __sentry_template_values__: e } = n; return o.logentry = { message: t, params: e }, o } return o.message = n, o } function $o(t, { isUnhandledRejection: n }) { const e = function (t) { const n = Object.keys(W(t)); return n.sort(), n[0] ? n.join(", ") : "[object has no keys]" }(t), r = n ? "promise rejection" : "exception"; if (O(t)) return `Event \`ErrorEvent\` captured as ${r} with message \`${t.message}\``; if (N(t)) { return `Event \`${function (t) { try { const n = Object.getPrototypeOf(t); return n ? n.constructor.name : void 0 } catch { } }(t)}\` (type=${t.type}) captured as ${r}` } return `Object captured as ${r} with keys: ${e}` } class xo extends er { constructor(t) { const n = (r = t, { release: "string" == typeof __SENTRY_RELEASE__ ? __SENTRY_RELEASE__ : so.SENTRY_RELEASE?.id, sendClientReports: !0, parentSpanIsAlwaysRootSpan: !0, ...r }); var r; !function (t, n, r = [n], o = "npm") { const i = (t._metadata = t._metadata || {}).sdk = t._metadata.sdk || {}; i.name || (i.name = `sentry.javascript.${n}`, i.packages = r.map(t => ({ name: `${o}:@sentry/${t}`, version: e })), i.version = e) }(n, "browser", ["browser"], so.SENTRY_SDK_SOURCE || "cdn"), super(n); const { userInfo: o } = this.getDataCollectionOptions(); n._metadata?.sdk && (n._metadata.sdk.settings = { infer_ip: o ? "auto" : "never", ...n._metadata.sdk.settings }); const { sendClientReports: i } = this.Y; so.document && so.document.addEventListener("visibilitychange", () => { "hidden" === so.document.visibilityState && (i && this.dt(), queueMicrotask(() => { this.flush() })) }), o && this.on("beforeSendSession", dr) } eventFromException(t, n) { return _o(this.Y.stackParser, t, n, this.Y.attachStacktrace) } eventFromMessage(t, n = "info", e) { return wo(this.Y.stackParser, t, n, e, this.Y.attachStacktrace) } ut(t, n, e, r) { return t.platform = t.platform || "javascript", super.ut(t, n, e, r) } } const Io = n; function ko(t, n, e) { Io.document && Io.addEventListener(t, n, e) } function jo(t, n, e) { Io.document && Io.removeEventListener(t, n, e) } const Oo = {}; try { "undefined" != typeof Node && (Oo.parentNode = Object.getOwnPropertyDescriptor(Node.prototype, "parentNode").get), "undefined" != typeof Element && (Oo.tagName = Object.getOwnPropertyDescriptor(Element.prototype, "tagName").get, Oo.id = Object.getOwnPropertyDescriptor(Element.prototype, "id").get, Oo.className = Object.getOwnPropertyDescriptor(Element.prototype, "className").get, Oo.getAttribute = Element.prototype.getAttribute), "undefined" != typeof HTMLElement && (Oo.dataset = Object.getOwnPropertyDescriptor(HTMLElement.prototype, "dataset").get) } catch { } function To(t, n, e) { const r = Oo[n]; if (r) try { return r.call(t, e) } catch { } const o = t[n]; return "function" == typeof o ? o.call(t, e) : o } function Ro(t, n = {}) { if (!t) return "<unknown>"; try { let e = t; const r = 5, o = []; let i = 0, s = 0; const c = " > ", u = c.length; let a; const f = Array.isArray(n) ? n : n.keyAttrs, l = !Array.isArray(n) && n.maxStringLength || 80; for (; e && i++ < r && (a = Co(e, f), !("html" === a || i > 1 && s + o.length * u + a.length >= l));)o.push(a), s += a.length, e = To(e, "parentNode"); return o.reverse().join(c) } catch { return "<unknown>" } } function Co(t, n) { const e = [], r = To(t, "tagName"); if (!r) return ""; if ("undefined" != typeof HTMLElement && t instanceof HTMLElement) { const n = To(t, "dataset"); if (n) { if (n.sentryComponent) return n.sentryComponent; if (n.sentryElement) return n.sentryElement } } e.push(r.toLowerCase()); const o = n?.length ? n.filter(n => To(t, "getAttribute", n)).map(n => [n, To(t, "getAttribute", n)]) : null; if (o?.length) o.forEach(t => { e.push(`[${t[0]}="${t[1]}"]`) }); else { const n = To(t, "id"); n && e.push(`#${n}`); const r = To(t, "className"); if (r && R(r)) { const t = r.split(/\s+/); for (const n of t) e.push(`.${n}`) } } for (const n of ["aria-label", "type", "name", "title", "alt"]) { const r = To(t, "getAttribute", n); r && e.push(`[${n}="${r}"]`) } return e.join("") } let Ao, Lo, Mo, No; function Po() { if (!Io.document) return; const t = w.bind(null, "dom"), n = Do(t, !0); Io.document.addEventListener("click", n, !1), Io.document.addEventListener("keypress", n, !1), ["EventTarget", "Node"].forEach(n => { const e = Io, r = e[n]?.prototype; r?.hasOwnProperty?.("addEventListener") && (B(r, "addEventListener", function (n) { return function (e, r, o) { if ("click" === e || "ke
4ypress" == e) try { const r = this.__sentry_instrumentation_handlers__ = this.__sentry_instrumentation_handlers__ || {}, i = r[e] = r[e] || { refCount: 0 }; if (!i.handler) { const r = Do(t); i.handler = r, n.call(this, e, r, o) } i.refCount++ } catch { } return n.call(this, e, r, o) } }), B(r, "removeEventListener", function (t) { return function (n, e, r) { if ("click" === n || "keypress" == n) try { const e = this.__sentry_instrumentation_handlers__ || {}, o = e[n]; o && (o.refCount--, o.refCount <= 0 && (t.call(this, n, o.handler, r), o.handler = void 0, delete e[n]), 0 === Object.keys(e).length && delete this.__sentry_instrumentation_handlers__) } catch { } return t.call(this, n, e, r) } })) }) } function Do(t, n = !1) { return e => { if (!e || e._sentryCaptured) return; const r = function (t) { try { return t.target } catch { return null } }(e); if (function (t, n) { return "keypress" === t && (!n?.tagName || "INPUT" !== n.tagName && "TEXTAREA" !== n.tagName && !n.isContentEditable) }(e.type, r)) return; F(e, "_sentryCaptured", !0), r && !r._sentryId && F(r, "_sentryId", ut()); const o = "keypress" === e.type ? "input" : e.type; if (!function (t) { if (t.type !== Lo) return !1; try { if (!t.target || t.target._sentryId !== Mo) return !1 } catch { } return !0 }(e)) { t({ event: e, name: o, global: n }), Lo = e.type, Mo = r ? r._sentryId : void 0 } clearTimeout(Ao), Ao = Io.setTimeout(() => { Mo = void 0, Lo = void 0 }, 1e3) } } function qo(t) { const n = "history"; b(n, t), _(n, Bo) } function Bo() { function t(t) { return function (...n) { const e = n.length > 2 ? n[2] : void 0; if (e) { const r = No, o = function (t) { try { return new URL(t, Io.location.origin).toString() } catch { return t } }(String(e)); if (No = o, r === o) return t.apply(this, n); w("history", { from: r, to: o }) } return t.apply(this, n) } } Io.addEventListener("popstate", () => { const t = Io.location.href, n = No; if (No = t, n === t) return; w("history", { from: n, to: t }) }), "history" in Br && Br.history && (B(Io.history, "pushState", t), B(Io.history, "replaceState", t)) } const Fo = {}; const Uo = "__sentry_xhr_v3__"; function Ho() { if (!Io.XMLHttpRequest) return; const t = XMLHttpRequest.prototype; t.open = new Proxy(t.open, { apply(t, n, e) { const r = new Error, o = 1e3 * yt(), i = R(e[0]) ? e[0].toUpperCase() : void 0, s = function (t) { if (R(t)) return t; try { return t.toString() } catch { } return }(e[1]); if (!i || !s) return t.apply(n, e); n[Uo] = { method: i, url: s, request_headers: {} }, "POST" === i && s.match(/sentry_key/) && (n.__sentry_own_request__ = !0); const c = () => { const t = n[Uo]; if (t && 4 === n.readyState) { try { t.status_code = n.status } catch { } w("xhr", { endTimestamp: 1e3 * yt(), startTimestamp: o, xhr: n, virtualError: r }), n.removeEventListener("readystatechange", c) } }; return "onreadystatechange" in n && "function" == typeof n.onreadystatechange ? n.onreadystatechange = new Proxy(n.onreadystatechange, { apply: (t, n, e) => (c(), t.apply(n, e)) }) : n.addEventListener("readystatechange", c), n.setRequestHeader = new Proxy(n.setRequestHeader, { apply(t, n, e) { const [r, o] = e, i = n[Uo]; return i && R(r) && R(o) && (i.request_headers[r.toLowerCase()] = o), t.apply(n, e) } }), t.apply(n, e) } }), t.send = new Proxy(t.send, { apply(t, n, e) { const r = n[Uo]; if (!r) return t.apply(n, e); void 0 !== e[0] && (r.body = e[0]); return w("xhr", { startTimestamp: 1e3 * yt(), xhr: n }), t.apply(n, e) } }) } function Wo(t, n = function (t) { const n = Fo[t]; if (n) return n; let e = Io[t]; if (Fr(e)) return Fo[t] = e.bind(Io); const r = Io.document; if (r && "function" == typeof r.createElement) try { const n = r.createElement("iframe"); n.hidden = !0, r.head.appendChild(n); const o = n.contentWindow; o?.[t] && (e = o[t]), r.head.removeChild(n) } catch (t) { } return e ? Fo[t] = e.bind(Io) : e }("fetch")) { let e = 0, r = 0; return Qe(t, async function (o) { const i = o.body.length; e += i, r++; const s = { body: o.body, method: "POST", referrerPolicy: "strict-origin", headers: t.headers, keepalive: e <= 6e4 && r < 15, ...t.fetchOptions }; try { const e = await n(t.url, s); return { statusCode: e.status, headers: { "x-sentry-rate-limits": e.headers.get("X-Sentry-Rate-Limits"), "retry-after": e.headers.get("Retry-After") } } } catch (t) { throw Fo["fetch"] = void 0, t } finally { e -= i, r-- } }
4, ze(t.bufferSize || 40)) } const zo = { startProfiler: function () { const t = Ut(); if (!t) return; t.getIntegrationByName("BrowserProfiling") && t.emit("startUIProfiler") }, stopProfiler: function () { const t = Ut(); if (!t) return; t.getIntegrationByName("BrowserProfiling") && t.emit("stopUIProfiler") } }; function Go(t, n, e, r) { const o = { filename: t, function: "<anonymous>" === n ? a : n, in_app: !0 }; return void 0 !== e && (o.lineno = e), void 0 !== r && (o.colno = r), o } const Qo = /^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i, Yo = /^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i, Jo = /\((\S*)(?::(\d+))(?::(\d+))\)/, Xo = /at (.+?) ?\(data:(.+?),/, Ko = [30, t => { const n = t.match(Xo); if (n) return { filename: `<data:${n[2]}>`, function: n[1] }; const e = Qo.exec(t); if (e) { const [, t, n, r] = e; return Go(t, a, +n, +r) } const r = Yo.exec(t); if (r) { if (0 === r[2]?.indexOf("eval")) { const t = Jo.exec(r[2]); t && (r[2] = t[1], r[3] = t[2], r[4] = t[3]) } const [t, n] = ai(r[1] || a, r[2]); return Go(n, t, r[3] ? +r[3] : void 0, r[4] ? +r[4] : void 0) } }], Vo = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i, Zo = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i, ti = [50, t => { const n = Vo.exec(t); if (n) { if (n[3] && n[3].indexOf(" > eval") > -1) { const t = Zo.exec(n[3]); t && (n[1] = n[1] || "eval", n[3] = t[1], n[4] = t[2], n[5] = "") } let t = n[3], e = n[1] || a; return [e, t] = ai(e, t), Go(t, e, n[4] ? +n[4] : void 0, n[5] ? +n[5] : void 0) } }], ni = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i, ei = [40, t => { const n = ni.exec(t); return n ? Go(n[2], n[1] || a, +n[3], n[4] ? +n[4] : void 0) : void 0 }], ri = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i, oi = [10, t => { const n = ri.exec(t); return n ? Go(n[2], n[3] || a, +n[1]) : void 0 }], ii = / line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i, si = [20, t => { const n = ii.exec(t); return n ? Go(n[5], n[3] || n[4] || a, +n[1], +n[2]) : void 0 }], ci = [Ko, ti], ui = d(...ci), ai = (t, n) => { const e = -1 !== t.indexOf("safari-extension"), r = -1 !== t.indexOf("safari-web-extension"); return e || r ? [-1 !== t.indexOf("@") ? t.split("@")[0] : a, e ? `safari-extension:${n}` : `safari-web-extension:${n}`] : [t, n] }; const fi = 1024, li = (t = {}) => { const n = { console: !0, dom: !0, fetch: !0, history: !0, sentry: !0, xhr: !0, ...t }; return { name: "Breadcrumbs", setup(t) { var e; n.console && function (t) { const n = "console", e = b(n, t); _(n, Tr) }(function (t) { return function (n) { if (Ut() !== t) return; const e = { category: "console", data: { arguments: n.args, logger: "console" }, level: Rr(n.level), message: it(n.args, " ") }; if ("assert" === n.level) { if (!1 !== n.args[0]) return; e.message = `Assertion failed: ${it(n.args.slice(1), " ") || "console.assert"}`, e.data.arguments = n.args.slice(1) }
4 hr(e, { input: n.args, level: n.level }) } }(t)), n.dom && (e = function (t, n) { return function (e) { if (Ut() !== t) return; let r, o, i = "object" == typeof n ? n.serializeAttribute : void 0, s = "object" == typeof n && "number" == typeof n.maxStringLength ? n.maxStringLength : void 0; s && s > fi && (s = fi), "string" == typeof i && (i = [i]); try { const t = e.event, n = function (t) { return !!t && !!t.target }(t) ? t.target : t; r = Ro(n, { keyAttrs: i, maxStringLength: s }), o = function (t, n = 5) { if (!Qr.HTMLElement) return null; let e = t; for (let t = 0; t < n; t++) { if (!e) return null; if (e instanceof HTMLElement) { if (e.dataset.sentryComponent) return e.dataset.sentryComponent; if (e.dataset.sentryElement) return e.dataset.sentryElement } e = e.parentNode } return null }(n) } catch { r = "<unknown>" } if (0 === r.length) return; const c = { category: `ui.${e.name}`, message: r }; o && (c.data = { "ui.component_name": o }), hr(c, { event: e.event, name: e.name, global: e.global }) } }(t, n.dom), b("dom", e), _("dom", Po)), n.xhr && function (t) { b("xhr", t), _("xhr", Ho) }(function (t) { return function (n) { if (Ut() !== t) return; const { startTimestamp: e, endTimestamp: r } = n, o = n.xhr[Uo]; if (!e || !r || !o) return; const { method: i, url: s, status_code: c, body: u } = o, a = { method: i, url: s, status_code: c }, f = { xhr: n.xhr, input: u, startTimestamp: e, endTimestamp: r }, l = { category: "xhr", data: a, type: "http", level: qr(c) }; t.emit("beforeOutgoingRequestBreadcrumb", l, f), hr(l, f) } }(t)), n.fetch && Hr(function (t) { return function (n) { if (Ut() !== t) return; const { startTimestamp: e, endTimestamp: r } = n; if (r && (!n.fetchData.url.match(/sentry_key/) || "POST" !== n.fetchData.method)) if (n.error) { const o = { data: n.error, input: n.args, startTimestamp: e, endTimestamp: r }, i = { category: "fetch", data: n.fetchData, level: "error", type: "http" }; t.emit("beforeOutgoingRequestBreadcrumb", i, o), hr(i, o) } else { const o = n.response, i = { ...n.fetchData, status_code: o?.status }, s = { input: n.args, response: o, startTimestamp: e, endTimestamp: r }, c = { category: "fetch", data: i, type: "http", level: qr(i.status_code) }; t.emit("beforeOutgoingRequestBreadcrumb", c, s), hr(c, s) } } }(t)), n.history && qo(function (t) { return function (n) { if (Ut() !== t) return; let e = n.from, r = n.to; const o = lr(so.location.href); let i = e ? lr(e) : void 0; const s = lr(r); i?.path || (i = o), o.protocol === s.protocol && o.host === s.host && (r = s.relative), o.protocol === i.protocol && o.host === i.host && (e = i.relative), hr({ category: "navigation", data: { from: e, to: r } }) } }(t)), n.sentry && t.on("beforeSendEvent", function (t) { return function (n) { Ut() === t && hr({ category: "sentry." + ("transaction" === n.type ? "transaction" : "event"), event_id: n.event_id, level: n.level, message: ft(n) }, { event: n }) } }(t)) } } }; const di = "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".split(","), pi = (t = {}) => { const n = { XMLHttpRequest: !0, eventTarget: !0, requestAnimationFrame: !0, setInterval: !0, setTimeout: !0, unregisterOriginalCallbacks: !1, ...t }; return { name: "BrowserApiErrors", setupOnce() { n.setTimeout && B(so, "setTimeout", hi), n.setInterval && B(so, "setInterval", hi), n.requestAnimationFrame && B(so, "requestAnimationFrame", mi), n.XMLHttpRequest && "XMLHttpRequest" in so && B(XMLHttpRequest.prototype, "send", yi); const t = n.eventTarget; if (t) { (Array.isArray(t) ? t : di).forEach(t => function (t, n) { const e = so, r = e[t]?.prototype; if (!r?.hasOwnProperty?.("addEventListener")) return; B(r, "addEventListener", function (e) { return function (r, o, i) { try { "function" == typeof o.handleEvent && (o.handleEvent = ao(o.handleEvent, { mechanism: { data: { handler: m(o), target: t }, handled: !1, type: "auto.browser.browserapierrors.handleEvent" } })) } catch { } return n.unregisterOriginalCallbacks && function (t, n, e) { t && "object" == typeof t && "removeEventListener" in t && "function" == typeof t.removeEventListener && t.removeEventListener(n, e) }(this, r, o), e.apply(this, [r, ao(o, { mechanism: { data: { handler: m(o), target: t }, handled: !1, type: "auto.browser.browserapierrors.addEventListener" } }), i]) } }), B(r, "removeEventListener", function (t) { return function (n, e, r) { try { if (Object.prototype.hasOwnProperty.call(e, "__sentry_wrapped__")) { const o = e.__sentry_wrapped__; o && t.call(this, n, o, r) } } catch { } return t.call(this, n, e, r) } }) }(t, n)) } } } }; function hi(t) { return function (...n) { const e = n[0]; return n[0] = ao(e, { mechanism: { handled: !1, type: `auto.browser.browserapierrors.${m(t)}` } }), t.apply(this, n) } } function mi(t) { return function (n) { return t.apply(this, [ao(n, { mechanism: { data: { handler: m(t) }, handled: !1, type: "auto.browser.browserapierrors.requestAnimationFrame" } })]) } } function yi(t) { return function (...n) { const e = this; return ["onload", "onerror", "onprogress", "onreadystatechange"].forEach(t => { t in e && "function" == typeof e[t] && B(e, t, function (n) { const e = { mechanism: { data: { handler: m(n) }, handled: !1, type: `auto.browser.browserapierrors.xhr.${t}` } }, r = H(n); return r && (e.mechanism.data.handler = m(r)), ao(n, e) }) }), t.apply(this, n) } } const gi = (t = {}) => { const n = t.lifecycle ?? "route"; return { name: "BrowserSession", setupOnce() { if (void 0 === so.document) return; ve({ ignoreDuration: !0 }); let t = !1; (t => { const n = Io.requestIdleCallback || Io.setTimeout; "hidden" === Io.document?.visibilityState ? t() : (ko("visibilitychange", t = (t => { let n = !1; return () => { n || (t(), n = !0) } })(t), { once: !0, capture: !0 }), ko("pagehide", t, { once: !0, capture: !0 }), n(() => { t(), jo("visibilitychange", t, { capture: !0 }), jo("pagehide", t, { capture: !0 }) })) })(() => { t || (we(), t = !0) }); const e = qt(); let r = e.getUser(); e.addScopeListener(n => { const e = n.getUser(); r?.id === e?.id && r?.ip_address === e?.ip_address || (r = e, t && we()) }), "route" === n && qo(({ from: n, to: e }) => { n !== e && (ve({ ignoreDuration: !0 }), we(), t = !0) }) } } }, vi = () => ({ name: "CultureContext", preprocessEvent(t) { const n = bi(); n && (t.contexts = { ...t.contexts, culture: { ...n, ...t.contexts?.culture } }) }, processSegmentSpan(t) { const n = bi(); n && ee(t, { "culture.locale": n.locale, "culture.timezone": n.timezone, "culture.calendar": n.calendar }) } }); function bi() { try { const t = so.Intl; if (!t) return; const n = t.DateTimeFormat().resolvedOptions(); return { locale: n.locale, timezone: n.timeZone, calendar: n.calendar } } catch { return } } const _i = (t = {}) => { const n = { onerror: !0, onunhandledrejection: !0, ...t }; return { name: "GlobalHandlers", setupOnce() { Error.stackTraceLimit = 50 }, setup(t) { n.onerror && function (t) { !function (t) { const n = "error"; b(n, t), _(n, E) }(n => { const { stackParser: e, attachStacktrace: r } = wi(); if (Ut() !== t || uo()) return; const { msg: o, url: i, line: s, column: c, error: u } = n, f = function (t, n, e, r) { const o = t.exception = t.exception || {}, i = o.values = o.values || [], s = i[0] = i[0] || {}, c = s.stacktrace = s.stacktrace || {}, u = c.frames = c.frames || []; 0 === u.length && u.push({ colno: r, lineno: e, filename: Si(n) ?? Yr(), function: a, in_app: !0 }); return t }(So(e, u || o, void 0, r, !1), i, s, c); f.level = "error", me(f, { originalException: u, mechanism: { handled: !1, type: "auto.browser.global_handlers.onerror" } }) }) }(t), n.onunhandledrejection && function (t) { !function (t) { const n = "unhandledrejection"; b(n, t), _(n, x) }(n => { const { stackParser: e, attachStacktrace: r } = wi(); if (Ut() !== t || uo()) return; const o = function (t) { if (A(t)) return t; try { if ("reason" in t) return t.reason; if ("detail" in t && "reason" in t.detail) return t.detail.reason } catch { } return t }(n), i = A(o) ? { exception: { values: [{ type: "UnhandledRejection", value: `Non-Error promise rejection captured with value: ${String(o)}` }] } } : So(e, o, void 0, r, !0); i.level = "error", me(i, { originalException: o, mechanism: { handled: !1, type: "auto.browser.global_handlers.onunhandledrejection" } }) }) }(t) } } }; function wi() { const t = Ut(); return t?.getOptions() || { stackParser: () => [], attachStacktrace: !1 } } function Si(t) { if (R(t) && 0 !== t.length) return t.startsWith("data:") ? `<${function (t, n = !0) { if (t.startsWith("data:")) { const e = t.match(/^data:([^;,]+)/), r = e ? e[1] : "text/plain", o = t.includes(";base64,"), i = t.indexOf(","); let s = ""; if (n && -1 !== i) { const n = t.slice(i + 1); s = n.length > 10 ? `${n.slice(0, 10)}... [truncated]` : n } return `data:${r}${o ? ",base64" : ""}${s ? `,${s}` : ""}` } return t }(t, !1)}>` : t } const Ei = () => ({ name: "HttpContext", preprocessEvent(t) { if (!so.navigator && !so.location && !so.document) return; const n = fo(), e = { ...n.headers, ...t.request?.headers }; t.request = { ...n, ...t.request, headers: e } }, processSpan(t) { if (!so.navigator && !so.location && !so.document) return; const n = fo(); ee(t, { [ne]: n.headers["User-Agent"], ...t.is_segment && { [te]: "http.client" !== t.attributes?.["sentry.op"] ? n.url : void 0, "http.request.header.referer": n.headers.Referer } }) } }), $i = (t = {}) =>
4 { const n = t.limit || 5, e = t.key || "cause"; return { name: "LinkedErrors", preprocessEvent(t, r, o) { Sr(lo, o.getOptions().stackParser, e, n, t, r) } } }, xi = /^HTML(\w*)Element$/; function Ii(t) { if ("undefined" != typeof window && t === window) return "[Window]"; if ("undefined" != typeof document && t === document) return "[Document]"; if (function (t) { if ("undefined" == typeof Element) return !1; try { return t instanceof Element } catch { return !1 } }(t)) { const n = function (t) { const n = Object.getPrototypeOf(t); return n?.constructor ? n.constructor.name : "null prototype" }(t); if (xi.test(n)) return `[HTMLElement: ${Ro(t)}]` } } function ki() { return !!function () { if (void 0 === so.window) return !1; const t = so; if (t.nw) return !1; const n = t.chrome || t.browser; if (!n?.runtime?.id) return !1; const e = Yr(); return !(so === so.top && /^(?:chrome-extension|moz-extension|ms-browser-extension|safari-web-extension):\/\//.test(e)) }() } function ji(t) { return [br(), yr(), Nr(), pi(), li(), _i(), $i(), Cr(), Ei(), vi(), gi()] } const Oi = ["replayIntegration", "replayCanvasIntegration", "feedbackIntegration", "feedbackModalIntegration", "feedbackScreenshotIntegration", "captureConsoleIntegration", "contextLinesIntegration", "linkedErrorsIntegration", "dedupeIntegration", "extraErrorDataIntegration", "graphqlClientIntegration", "httpClientIntegration", "reportingObserverIntegration", "rewriteFramesIntegration", "browserProfilingIntegration", "moduleMetadataIntegration", "instrumentAnthropicAiClient", "instrumentOpenAiClient", "instrumentGoogleGenAIClient", "instrumentStateGraph", "instrumentLangGraph", "createLangChainCallbackHandler", "instrumentLangChainEmbeddings"], Ti = { replayCanvasIntegration: "replay-canvas", feedbackModalIntegration: "feedback-modal", feedbackScreenshotIntegration: "feedback-screenshot" }; const Ri = so; return t.BrowserClient = xo, t.SDK_VERSION = e, t.SEMANTIC_ATTRIBUTE_SENTRY_OP = Gt, t.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = Qt, t.SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE = zt, t.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE = Wt, t.Scope = It, t.WINDOW = so, t.addBreadcrumb = hr, t.addEventProcessor = function (t) { qt().addEventProcessor(t) }, t.addIntegration = function (t) { const n = Ut(); n && n.addIntegration(t) }, t.breadcrumbsIntegration = li, t.browserApiErrorsIntegration = pi, t.browserSessionIntegration = gi, t.browserTracingIntegration = Zr, t.captureEvent = me, t.captureException = captureException, t.captureFeedback = function (t, n = {}, e = Dt()) { const { message: r, name: o, email: i, url: s, source: c, associatedEventId: u, tags: a } = t, f = { contexts: { feedback: { contact_email: i, name: o, message: r, url: s, source: c, associated_event_id: u } }, type: "feedback", level: "info", tags: a }, l = e?.getClient() || Ut(); return l && l.emit("beforeSendFeedback", f, n), e.captureEvent(f, n) }, t.captureMessage = function (t, n) { const e = "string" == typeof n ? n : void 0, r = "string" != typeof n ? { captureContext: n } : void 0; return Dt().captureMessage(t, e, r) }, t.captureSession = we, t.chromeStackLineParser = Ko, t.close = async function (t) { const n = Ut(); return n ? n.close(t) : Promise.resolve(!1) }, t.consoleLoggingIntegration = ro, t.continueTrace = (t, n) => { const e = Mt(r()); if (e.continueTrace) return e.continueTrace(t, n); const { sentryTrace: o, baggage: i } = t, s = Ut(), c = Zt(i); return s && !function (t, n) { const e = cn(t); return (!n || !e || n === e) && (!t.getOptions().strictTraceContinuation || !(n && !e || !n && e)) }(s, c?.org_id) ? function (t) { const n = Jn(); if (n.startNewTrace) return n.startNewTrace(t); return Ft(n => (n.setPropagationContext({ traceId: _t(), sampleRand: Y() }), function (t, n) { const e = Jn(); if (e.withActiveSpan) return e.withActiveSpan(t, n); return Ft(t => ($t(t, void 0), n(t))) }(null, t))) }(n) : Ft(t => { const e = ln(o, i); return t.setPropagationContext(e), $t(t, void 0), n() }) }, t.createTransport = Qe, t.createUserFeedbackEnvelope = function (t, { metadata: n, tunnel: e, dsn: r }) { const o = { event_id: t.event_id, sent_at: (new Date).toISOString(), ...n?.sdk && { sdk: { name: n.sdk.name, version: n.sdk.version } }, ...!!e && !!r && { dsn: on(r) } }, i = function (t) { return [{ type: "user_report" }, t] }(t); return Dn(o, [i]) }, t.dedupeIntegration = Cr, t.defaultStackLineParsers = ci, t.defaultStackParser = ui, t.elementTimingIntegration = to, t.endSession = be, t.eventFiltersIntegration = vr, t.eventFromException = _o, t.eventFromMessage = wo, t.exceptionFromError = lo, t.feedbackAsyncIntegration = Kr, t.feedbackIntegration = Kr, t.fetchStreamPerformanceIntegration = io, t.flush = async function (t) { const n = Ut(); return n ? n.flush(t) : Promise.resolve(!1) }, t.forceLoad = function () { }, t.functionToStringIntegration = yr, t.geckoStackLineParser = ti, t.getClient = Ut, t.getCurrentScope = Dt, t.getDefaultIntegrations = ji, t.getGlobalScope = Bt, t.getIsolationScope = qt, t.getTraceData = function (t = {}) { const n = t.client || Ut(); if (!ge() || !n) return {}; const e = Mt(r()); if (e.getTraceData) return e.getTraceData(t); const o = t.scope || Dt(), i = t.span || xn(), s = An(i) && !kn(n.getOptions()), c = i && !s ? yn(i) : function (t) { const { traceId: n, sampled: e, propagationSpanId: r } = t.getPropagationContext(); return dn(n, r, e) }(o), u = tn(i ? Pn(i) : Nn(n, o)); if (!fn.test(c)) return {}; const a = { "sentry-trace": c, baggage: u }; return t.propagateTraceparent && (a.traceparent = i && !s ? function (t) { const { traceId: n, spanId: e } = t.spanContext(); return pn(n, e, Sn(t)) }(i) : function (t) { const { traceId: n, sampled: e, propagationSpanId: r } = t.getPropagationContext(); return pn(n, r, e) }(o)), a }, t.globalHandlersIntegration = _i, t.httpContextIntegration = Ei, t.inboundFiltersIntegration = br, t.init = function (t = {}) { const n = !t.skipBrowserExtensionCheck && ki(); let e = null == t.defaultIntegrations ? ji() : t.defaultIntegrations; const r = { ...t, enabled: !n && t.enabled, stackParser: (o = t.stackParser || ui, Array.isArray(o) ? d(...o) : o), integrations: Ie({ integrations: t.integrations, defaultIntegrations: e }), transport: t.transport || Wo }; var o; return V = Ii, function (t, n) { !0 === n.debug && u(() => { console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.") }), Dt().update(n.initialScope); const e = new t(n);
4 return fr(e), e.init(), e }(xo, r) }, t.isEnabled = ge, t.isInitialized = function () { return !!Ut() }, t.lastEventId = ye, t.lazyLoadIntegration = async function (t, n) { const r = Oi.includes(t) ? function (t) { return Ti[t] || t.replace("Integration", "").toLowerCase() }(t) : void 0, o = Ri.Sentry = Ri.Sentry || {}; if (!r) throw new Error(`Cannot lazy load integration: ${t}`); const i = o[t]; if ("function" == typeof i && !("_isShim" in i)) return i; const s = function (t) { const n = Ut(), r = n?.getOptions()?.cdnBaseUrl || "https://browser.sentry-cdn.com"; return new URL(`/${e}/${t}.min.js`, r).toString() }(r), c = so.document.createElement("script"); c.src = s, c.crossOrigin = "anonymous", c.referrerPolicy = "strict-origin", n && c.setAttribute("nonce", n); const u = new Promise((t, n) => { c.addEventListener("load", () => t()), c.addEventListener("error", n) }), a = so.document.currentScript, f = so.document.body || so.document.head || a?.parentElement; if (!f) throw new Error(`Could not find parent element to insert lazy-loaded ${t} script`); f.appendChild(c); try { await u } catch { throw new Error(`Error when loading integration: ${t}`) } const l = o[t]; if ("function" != typeof l) throw new Error(`Could not load integration: ${t}`); return l }, t.linkedErrorsIntegration = $i, t.logger = eo, t.makeFetchTransport = Wo, t.metrics = Dr, t.onLoad = function (t) { t() }, t.opera10StackLineParser = oi, t.opera11StackLineParser = si, t.parameterize = function (t, ...n) { const e = new String(String.raw(t, ...n)); return e.__sentry_template_string__ = t.join("\0").replace(/%/g, "%%").replace(/\0/g, "%s"), e.__sentry_template_values__ = n, e }, t.replayIntegration = function (t) { return u(() => { console.warn("You are using replayIntegration() even though this bundle does not include replay.") }), { name: "Replay", ...Vr.reduce((t, n) => (t[n] = Jr, t), {}) } }, t.setAttribute = function (t, n) { qt().setAttribute(t, n) }, t.setAttributes = function (t) { qt().setAttributes(t) }, t.setContext = function (t, n) { qt().setContext(t, n) }, t.setConversationId = function (t) { qt().setConversationId(t) }, t.setCurrentClient = fr, t.setExtra = function (t, n) { qt().setExtra(t, n) }, t.setExtras = function (t) { qt().setExtras(t) }, t.setTag = function (t, n) { qt().setTag(t, n) }, t.setTags = function (t) { qt().setTags(t) }, t.setUser = function (t) { qt().setUser(t) }, t.showReportDialog = function (t = {}) { const n = so.document, e = n?.head || n?.body; if (!e) return; const r = Dt(), o = Ut(), i = o?.getDsn(); if (!i) return; const s = { ...t, user: { ...r.getUser(), ...t.user }, eventId: t.eventId || ye() }, c = so.document.createElement("script"); c.async = !0, c.crossOrigin = "anonymous", c.src = function (t, n) { const e = un(t); if (!e) return ""; const r = `${Ee(e)}embed/error-page/`; let o = `dsn=${on(e)}`; for (const t in n) if ("dsn" !== t && "onClose" !== t) if ("user" === t) { const t = n.user; if (!t) continue; t.name && (o += `&name=${encodeURIComponent(t.name)}`), t.email && (o += `&email=${encodeURIComponent(t.email)}`) } else o += `&${encodeURIComponent(t)}=${encodeURIComponent(n[t])}`; return `${r}?${o}` }(i, s); const { onLoad: u, onClose: a } = s; if (u && (c.onload = u), a) { const t = n => { if ("__sentry_reportdialog_closed__" === n.data) try { a() } finally { so.removeEventListener("message", t) } }; so.addEventListener("message", t) } e.appendChild(c) }, t.spanStreamingIntegration = oo, t.spanToBaggageHeader = function (t) { return tn(Pn(t)) }, t.spanToJSON = _n, t.spanToTraceHeader = yn, t.startSession = ve, t.suppressTracing = function (t) { const n = Jn(); return n.suppressTracing ? n.suppressTracing(t) : Ft(n => { n.setSDKProcessingMetadata({ [Yn]: !0 }); const e = t(); return n.setSDKProcessingMetadata({ [Yn]: void 0 }), e }) }, t.uiProfiler = zo, t.updateSpanName = function (t, n) { t.updateName(n), t.setAttributes({ [Wt]: "custom", [Yt]: n }) }, t.winjsStackLineParser = ei, t.withIsolationScope = function (...t) { const n = Mt(r()); if (2 === t.length) { const [e, r] = t; return e ? n.withSetIsolationScope(e, r) : n.withIsolationScope(r) } return n.withIsolationScope(t[0]) }, t.withScope = Ft, t.withStreamedSpan = function (t) { return F(t, "_streamed", !0), t }, t }({});
5//# sourceMappingURL=bundle.min.js.map

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