@evelan/jexity-widget 0.28.1 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/index.mjs +1833 -1818
- package/dist/index.mjs.map +1 -1
- package/dist/loader.js +2 -2
- package/dist/loader.js.map +1 -1
- package/dist/react.mjs +1854 -1830
- package/dist/react.mjs.map +1 -1
- package/dist/types/entries/react.d.ts +2 -0
- package/dist/types/entries/react.d.ts.map +1 -1
- package/dist/types/features/chat/components/ChatScreen.d.ts.map +1 -1
- package/dist/types/module/shell/mount.d.ts.map +1 -1
- package/dist/types/module/shell/shell.state.d.ts +2 -0
- package/dist/types/module/shell/shell.state.d.ts.map +1 -1
- package/dist/types/module/shell/widget-instance.d.ts.map +1 -1
- package/dist/types/types.d.ts +2 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/widget.js +28 -28
- package/dist/widget.js.map +1 -1
- package/package.json +1 -1
package/dist/react.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.mjs","sources":["../src/lib/logger.ts","../src/entries/react.tsx","index.mjs"],"sourcesContent":["type LogArg = unknown\n\nconst sink = globalThis.console\n\nfunction isDebugEnabled(): boolean {\n // Vite compile-time constant, not a process env var — nothing for turbo to hash.\n // eslint-disable-next-line turbo/no-undeclared-env-vars\n return import.meta.env.DEV\n}\n\nexport const widgetLogger = {\n warn(...args: LogArg[]): void {\n sink.warn(...args)\n },\n error(...args: LogArg[]): void {\n sink.error(...args)\n },\n debug(...args: LogArg[]): void {\n if (isDebugEnabled()) {\n sink.debug(...args)\n }\n },\n}\n","import {\n createContext,\n createElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type { ReactNode } from 'react'\nimport type { JexityChatOptions, JexityChatInstance } from '../types'\nimport { widgetLogger } from '../lib/logger'\n\ninterface JexityChatContextValue {\n open: () => void\n close: () => void\n toggle: () => void\n isOpen: boolean\n}\n\nconst JexityChatContext = createContext<JexityChatContextValue | null>(null)\n\nexport interface JexityChatProviderProps extends JexityChatOptions {\n children?: ReactNode\n}\n\nexport function JexityChatProvider(props: JexityChatProviderProps) {\n const { children, ...options } = props\n const [isOpen, setIsOpen] = useState(false)\n const instanceRef = useRef<JexityChatInstance | null>(null)\n const unsubRef = useRef<(() => void) | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n const cancelledRef = useRef(false)\n const loadRef = useRef<Promise<void> | null>(null)\n\n const embedded = options.mode === 'embedded'\n // Headless: no core import on mount — the host's own button drives open().\n const headless = options.trigger === 'none'\n\n // Latest options without re-triggering the mount effect (mirrors the existing\n // orgSlug/projSlug-only dependency contract).\n //\n // Synced in an effect, not during render: writing a ref while rendering is a\n // side effect, and React may render without committing (StrictMode, an\n // abandoned concurrent render), which would publish options that never took\n // effect. useRef's initial value covers the first commit, and every reader\n // (the mount effect below, open/close/toggle handlers) runs post-commit — so\n // the value they see is always the committed one. This effect is declared\n // first so it lands before the mount effect on any given commit.\n const optionsRef = useRef(options)\n useEffect(() => {\n optionsRef.current = options\n })\n\n // Loads index.mjs + mounts the core exactly once (deduped via loadRef). Shared\n // by eager mount (non-headless) and first open()/toggle() (headless).\n const ensureMounted = (): Promise<void> => {\n if (loadRef.current) { return loadRef.current }\n loadRef.current = (\n // @ts-expect-error -- resolved at runtime, not in TS source tree\n import('./index.mjs') as Promise<{ JexityChat: (opts: JexityChatOptions) => JexityChatInstance }>\n ).then((mod) => {\n if (cancelledRef.current) { return }\n const opts = optionsRef.current\n // Embedded mounts into the provider's own div; floating uses document.body.\n const mountOptions = embedded && containerRef.current\n ? { ...opts, container: containerRef.current }\n : opts\n const inst = mod.JexityChat(mountOptions)\n instanceRef.current = inst\n unsubRef.current = inst.subscribe((open) => { setIsOpen(open) })\n }).catch((err: unknown) => {\n // Clear so a later explicit open() retries instead of replaying the failure.\n loadRef.current = null\n if (!cancelledRef.current) {\n widgetLogger.error('[jexity] Failed to load widget core:', err)\n }\n })\n return loadRef.current\n }\n\n useEffect(() => {\n cancelledRef.current = false\n // Non-headless keeps eager mount; headless waits for the host's open().\n if (!headless) { void ensureMounted() }\n\n return () => {\n cancelledRef.current = true\n unsubRef.current?.()\n instanceRef.current?.shutdown()\n instanceRef.current = null\n unsubRef.current = null\n loadRef.current = null\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.orgSlug, options.projSlug])\n\n // Before mount, open()/toggle() mean \"load then open\" (closed is the only\n // pre-mount state); close() is a no-op. After mount, all forward to the core.\n const value: JexityChatContextValue = {\n open: () => {\n if (instanceRef.current) { instanceRef.current.open(); return }\n void ensureMounted().then(() => {\n if (!cancelledRef.current) { instanceRef.current?.open() }\n })\n },\n close: () => { instanceRef.current?.close() },\n toggle: () => {\n if (instanceRef.current) { instanceRef.current.toggle(); return }\n void ensureMounted().then(() => {\n if (!cancelledRef.current) { instanceRef.current?.open() }\n })\n },\n isOpen,\n }\n\n // In embedded mode, render a host div that the widget mounts into.\n // In floating mode, render children only (widget mounts on document.body).\n return createElement(\n JexityChatContext.Provider,\n { value },\n embedded\n ? createElement('div', {\n ref: containerRef,\n style: { width: '100%', height: '100%' },\n })\n : children,\n )\n}\n\nexport function useJexityChat(): JexityChatContextValue {\n const ctx = useContext(JexityChatContext)\n if (!ctx) {\n throw new Error('useJexityChat must be used within a <JexityChatProvider>')\n }\n return ctx\n}\n","var or, L, Es, Is, Pt, ta, Ms, Ps, bi, Ar, Hn, Ns, uo, Li, Oi, Ls, Nr = {}, Lr = [], Qc = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, ar = Array.isArray;\nfunction mt(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction ho(t) {\n t && t.parentNode && t.parentNode.removeChild(t);\n}\nfunction Je(t, e, n) {\n var r, i, o, a = {};\n for (o in e) o == \"key\" ? r = e[o] : o == \"ref\" ? i = e[o] : a[o] = e[o];\n if (arguments.length > 2 && (a.children = arguments.length > 3 ? or.call(arguments, 2) : n), typeof t == \"function\" && t.defaultProps != null) for (o in t.defaultProps) a[o] === void 0 && (a[o] = t.defaultProps[o]);\n return Wn(t, a, r, i, null);\n}\nfunction Wn(t, e, n, r, i) {\n var o = { type: t, props: e, key: n, ref: r, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: i ?? ++Es, __i: -1, __u: 0 };\n return i == null && L.vnode != null && L.vnode(o), o;\n}\nfunction Gc() {\n return { current: null };\n}\nfunction J(t) {\n return t.children;\n}\nfunction ot(t, e) {\n this.props = t, this.context = e;\n}\nfunction vn(t, e) {\n if (e == null) return t.__ ? vn(t.__, t.__i + 1) : null;\n for (var n; e < t.__k.length; e++) if ((n = t.__k[e]) != null && n.__e != null) return n.__e;\n return typeof t.type == \"function\" ? vn(t) : null;\n}\nfunction Kc(t) {\n if (t.__P && t.__d) {\n var e = t.__v, n = e.__e, r = [], i = [], o = mt({}, e);\n o.__v = e.__v + 1, L.vnode && L.vnode(o), fo(t.__P, o, e, t.__n, t.__P.namespaceURI, 32 & e.__u ? [n] : null, r, n ?? vn(e), !!(32 & e.__u), i), o.__v = e.__v, o.__.__k[o.__i] = o, qs(r, o, i), e.__e = e.__ = null, o.__e != n && Os(o);\n }\n}\nfunction Os(t) {\n if ((t = t.__) != null && t.__c != null) return t.__e = t.__c.base = null, t.__k.some(function(e) {\n if (e != null && e.__e != null) return t.__e = t.__c.base = e.__e;\n }), Os(t);\n}\nfunction $i(t) {\n (!t.__d && (t.__d = !0) && Pt.push(t) && !Or.__r++ || ta != L.debounceRendering) && ((ta = L.debounceRendering) || Ms)(Or);\n}\nfunction Or() {\n try {\n for (var t, e = 1; Pt.length; ) Pt.length > e && Pt.sort(Ps), t = Pt.shift(), e = Pt.length, Kc(t);\n } finally {\n Pt.length = Or.__r = 0;\n }\n}\nfunction $s(t, e, n, r, i, o, a, l, c, u, d) {\n var m, h, p, x, w, b, v, k = r && r.__k || Lr, A = e.length;\n for (c = Yc(n, e, k, c, A), m = 0; m < A; m++) (p = n.__k[m]) != null && (h = p.__i != -1 && k[p.__i] || Nr, p.__i = m, b = fo(t, p, h, i, o, a, l, c, u, d), x = p.__e, p.ref && h.ref != p.ref && (h.ref && po(h.ref, null, p), d.push(p.ref, p.__c || x, p)), w == null && x != null && (w = x), (v = !!(4 & p.__u)) || h.__k === p.__k ? (c = Ds(p, c, t, v), v && h.__e && (h.__e = null)) : typeof p.type == \"function\" && b !== void 0 ? c = b : x && (c = x.nextSibling), p.__u &= -7);\n return n.__e = w, c;\n}\nfunction Yc(t, e, n, r, i) {\n var o, a, l, c, u, d = n.length, m = d, h = 0;\n for (t.__k = new Array(i), o = 0; o < i; o++) (a = e[o]) != null && typeof a != \"boolean\" && typeof a != \"function\" ? (typeof a == \"string\" || typeof a == \"number\" || typeof a == \"bigint\" || a.constructor == String ? a = t.__k[o] = Wn(null, a, null, null, null) : ar(a) ? a = t.__k[o] = Wn(J, { children: a }, null, null, null) : a.constructor === void 0 && a.__b > 0 ? a = t.__k[o] = Wn(a.type, a.props, a.key, a.ref ? a.ref : null, a.__v) : t.__k[o] = a, c = o + h, a.__ = t, a.__b = t.__b + 1, l = null, (u = a.__i = Xc(a, n, c, m)) != -1 && (m--, (l = n[u]) && (l.__u |= 2)), l == null || l.__v == null ? (u == -1 && (i > d ? h-- : i < d && h++), typeof a.type != \"function\" && (a.__u |= 4)) : u != c && (u == c - 1 ? h-- : u == c + 1 ? h++ : (u > c ? h-- : h++, a.__u |= 4))) : t.__k[o] = null;\n if (m) for (o = 0; o < d; o++) (l = n[o]) != null && (2 & l.__u) == 0 && (l.__e == r && (r = vn(l)), Fs(l, l));\n return r;\n}\nfunction Ds(t, e, n, r) {\n var i, o;\n if (typeof t.type == \"function\") {\n for (i = t.__k, o = 0; i && o < i.length; o++) i[o] && (i[o].__ = t, e = Ds(i[o], e, n, r));\n return e;\n }\n t.__e != e && (r && (e && t.type && !e.parentNode && (e = vn(t)), n.insertBefore(t.__e, e || null)), e = t.__e);\n do\n e = e && e.nextSibling;\n while (e != null && e.nodeType == 8);\n return e;\n}\nfunction xt(t, e) {\n return e = e || [], t == null || typeof t == \"boolean\" || (ar(t) ? t.some(function(n) {\n xt(n, e);\n }) : e.push(t)), e;\n}\nfunction Xc(t, e, n, r) {\n var i, o, a, l = t.key, c = t.type, u = e[n], d = u != null && (2 & u.__u) == 0;\n if (u === null && l == null || d && l == u.key && c == u.type) return n;\n if (r > (d ? 1 : 0)) {\n for (i = n - 1, o = n + 1; i >= 0 || o < e.length; ) if ((u = e[a = i >= 0 ? i-- : o++]) != null && (2 & u.__u) == 0 && l == u.key && c == u.type) return a;\n }\n return -1;\n}\nfunction na(t, e, n) {\n e[0] == \"-\" ? t.setProperty(e, n ?? \"\") : t[e] = n == null ? \"\" : typeof n != \"number\" || Qc.test(e) ? n : n + \"px\";\n}\nfunction yr(t, e, n, r, i) {\n var o, a;\n e: if (e == \"style\") if (typeof n == \"string\") t.style.cssText = n;\n else {\n if (typeof r == \"string\" && (t.style.cssText = r = \"\"), r) for (e in r) n && e in n || na(t.style, e, \"\");\n if (n) for (e in n) r && n[e] == r[e] || na(t.style, e, n[e]);\n }\n else if (e[0] == \"o\" && e[1] == \"n\") o = e != (e = e.replace(Ns, \"$1\")), a = e.toLowerCase(), e = a in t || e == \"onFocusOut\" || e == \"onFocusIn\" ? a.slice(2) : e.slice(2), t.l || (t.l = {}), t.l[e + o] = n, n ? r ? n[Hn] = r[Hn] : (n[Hn] = uo, t.addEventListener(e, o ? Oi : Li, o)) : t.removeEventListener(e, o ? Oi : Li, o);\n else {\n if (i == \"http://www.w3.org/2000/svg\") e = e.replace(/xlink(H|:h)/, \"h\").replace(/sName$/, \"s\");\n else if (e != \"width\" && e != \"height\" && e != \"href\" && e != \"list\" && e != \"form\" && e != \"tabIndex\" && e != \"download\" && e != \"rowSpan\" && e != \"colSpan\" && e != \"role\" && e != \"popover\" && e in t) try {\n t[e] = n ?? \"\";\n break e;\n } catch {\n }\n typeof n == \"function\" || (n == null || n === !1 && e[4] != \"-\" ? t.removeAttribute(e) : t.setAttribute(e, e == \"popover\" && n == 1 ? \"\" : n));\n }\n}\nfunction ra(t) {\n return function(e) {\n if (this.l) {\n var n = this.l[e.type + t];\n if (e[Ar] == null) e[Ar] = uo++;\n else if (e[Ar] < n[Hn]) return;\n return n(L.event ? L.event(e) : e);\n }\n };\n}\nfunction fo(t, e, n, r, i, o, a, l, c, u) {\n var d, m, h, p, x, w, b, v, k, A, P, M, T, $, R, ae, V = e.type;\n if (e.constructor !== void 0) return null;\n 128 & n.__u && (c = !!(32 & n.__u), o = [l = e.__e = n.__e]), (d = L.__b) && d(e);\n e: if (typeof V == \"function\") {\n m = a.length;\n try {\n if (k = e.props, A = V.prototype && V.prototype.render, P = (d = V.contextType) && r[d.__c], M = d ? P ? P.props.value : d.__ : r, n.__c ? v = (h = e.__c = n.__c).__ = h.__E : (A ? e.__c = h = new V(k, M) : (e.__c = h = new ot(k, M), h.constructor = V, h.render = Jc), P && P.sub(h), h.state || (h.state = {}), h.__n = r, p = h.__d = !0, h.__h = [], h._sb = []), A && h.__s == null && (h.__s = h.state), A && V.getDerivedStateFromProps != null && (h.__s == h.state && (h.__s = mt({}, h.__s)), mt(h.__s, V.getDerivedStateFromProps(k, h.__s))), x = h.props, w = h.state, h.__v = e, p) A && V.getDerivedStateFromProps == null && h.componentWillMount != null && h.componentWillMount(), A && h.componentDidMount != null && h.__h.push(h.componentDidMount);\n else {\n if (A && V.getDerivedStateFromProps == null && k !== x && h.componentWillReceiveProps != null && h.componentWillReceiveProps(k, M), e.__v == n.__v || !h.__e && h.shouldComponentUpdate != null && h.shouldComponentUpdate(k, h.__s, M) === !1) {\n e.__v != n.__v && (h.props = k, h.state = h.__s, h.__d = !1), e.__e = n.__e, e.__k = n.__k, e.__k.some(function(y) {\n y && (y.__ = e);\n }), Lr.push.apply(h.__h, h._sb), h._sb = [], h.__h.length && a.push(h);\n break e;\n }\n h.componentWillUpdate != null && h.componentWillUpdate(k, h.__s, M), A && h.componentDidUpdate != null && h.__h.push(function() {\n h.componentDidUpdate(x, w, b);\n });\n }\n if (h.context = M, h.props = k, h.__P = t, h.__e = !1, T = L.__r, $ = 0, A) h.state = h.__s, h.__d = !1, T && T(e), d = h.render(h.props, h.state, h.context), Lr.push.apply(h.__h, h._sb), h._sb = [];\n else do\n h.__d = !1, T && T(e), d = h.render(h.props, h.state, h.context), h.state = h.__s;\n while (h.__d && ++$ < 25);\n h.state = h.__s, h.getChildContext != null && (r = mt(mt({}, r), h.getChildContext())), A && !p && h.getSnapshotBeforeUpdate != null && (b = h.getSnapshotBeforeUpdate(x, w)), R = d != null && d.type === J && d.key == null ? zs(d.props.children) : d, l = $s(t, ar(R) ? R : [R], e, n, r, i, o, a, l, c, u), h.base = e.__e, e.__u &= -161, h.__h.length && a.push(h), v && (h.__E = h.__ = null);\n } catch (y) {\n if (a.length = m, e.__v = null, c || o != null) if (y.then) {\n for (e.__u |= c ? 160 : 128; l && l.nodeType == 8 && l.nextSibling; ) l = l.nextSibling;\n o != null && (o[o.indexOf(l)] = null), e.__e = l;\n } else {\n if (o != null) for (ae = o.length; ae--; ) ho(o[ae]);\n Di(e);\n }\n else e.__e = n.__e, !e.__k && n.__k && (e.__k = n.__k), y.then || Di(e);\n L.__e(y, e, n);\n }\n } else o == null && e.__v == n.__v ? (e.__k = n.__k, e.__e = n.__e) : l = e.__e = Zc(n.__e, e, n, r, i, o, a, c, u);\n return (d = L.diffed) && d(e), 128 & e.__u ? void 0 : l;\n}\nfunction Di(t) {\n t && (t.__c && (t.__c.__e = !0), t.__k && t.__k.some(Di));\n}\nfunction qs(t, e, n) {\n for (var r = 0; r < n.length; r++) po(n[r], n[++r], n[++r]);\n L.__c && L.__c(e, t), t.some(function(i) {\n try {\n t = i.__h, i.__h = [], t.some(function(o) {\n o.call(i);\n });\n } catch (o) {\n L.__e(o, i.__v);\n }\n });\n}\nfunction zs(t) {\n return typeof t != \"object\" || t == null || t.__b > 0 ? t : ar(t) ? t.map(zs) : t.constructor !== void 0 ? null : mt({}, t);\n}\nfunction Zc(t, e, n, r, i, o, a, l, c) {\n var u, d, m, h, p, x, w, b = n.props || Nr, v = e.props, k = e.type;\n if (k == \"svg\" ? i = \"http://www.w3.org/2000/svg\" : k == \"math\" ? i = \"http://www.w3.org/1998/Math/MathML\" : i || (i = \"http://www.w3.org/1999/xhtml\"), o != null) {\n for (u = 0; u < o.length; u++) if ((p = o[u]) && \"setAttribute\" in p == !!k && (k ? p.localName == k : p.nodeType == 3)) {\n t = p, o[u] = null;\n break;\n }\n }\n if (t == null) {\n if (k == null) return document.createTextNode(v);\n t = document.createElementNS(i, k, v.is && v), l && (L.__m && L.__m(e, o), l = !1), o = null;\n }\n if (k == null) b === v || l && t.data == v || (t.data = v);\n else {\n if (o = k == \"textarea\" && v.defaultValue != null ? null : o && or.call(t.childNodes), !l && o != null) for (b = {}, u = 0; u < t.attributes.length; u++) b[(p = t.attributes[u]).name] = p.value;\n for (u in b) p = b[u], u == \"dangerouslySetInnerHTML\" ? m = p : u == \"children\" || u in v || u == \"value\" && \"defaultValue\" in v || u == \"checked\" && \"defaultChecked\" in v || yr(t, u, null, p, i);\n for (u in v) p = v[u], u == \"children\" ? h = p : u == \"dangerouslySetInnerHTML\" ? d = p : u == \"value\" ? x = p : u == \"checked\" ? w = p : l && typeof p != \"function\" || b[u] === p || yr(t, u, p, b[u], i);\n if (d) l || m && (d.__html == m.__html || d.__html == t.innerHTML) || (t.innerHTML = d.__html), e.__k = [];\n else if (m && (t.innerHTML = \"\"), $s(e.type == \"template\" ? t.content : t, ar(h) ? h : [h], e, n, r, k == \"foreignObject\" ? \"http://www.w3.org/1999/xhtml\" : i, o, a, o ? o[0] : n.__k && vn(n, 0), l, c), o != null) for (u = o.length; u--; ) ho(o[u]);\n l && k != \"textarea\" || (u = \"value\", k == \"progress\" && x == null ? t.removeAttribute(\"value\") : x != null && (x !== t[u] || k == \"progress\" && !x || k == \"option\" && x != b[u]) && yr(t, u, x, b[u], i), u = \"checked\", w != null && w != t[u] && yr(t, u, w, b[u], i));\n }\n return t;\n}\nfunction po(t, e, n) {\n try {\n if (typeof t == \"function\") {\n var r = typeof t.__u == \"function\";\n r && t.__u(), r && e == null || (t.__u = t(e));\n } else t.current = e;\n } catch (i) {\n L.__e(i, n);\n }\n}\nfunction Fs(t, e, n) {\n var r, i;\n if (L.unmount && L.unmount(t), (r = t.ref) && (r.current && r.current != t.__e || po(r, null, e)), (r = t.__c) != null) {\n if (r.componentWillUnmount) try {\n r.componentWillUnmount();\n } catch (o) {\n L.__e(o, e);\n }\n r.base = r.__P = r.__n = null;\n }\n if (r = t.__k) for (i = 0; i < r.length; i++) r[i] && Fs(r[i], e, n || typeof t.type != \"function\");\n n || ho(t.__e), t.__c = t.__ = t.__e = void 0;\n}\nfunction Jc(t, e, n) {\n return this.constructor(t, n);\n}\nfunction Yt(t, e, n) {\n var r, i, o, a;\n e == document && (e = document.documentElement), L.__ && L.__(t, e), i = (r = typeof n == \"function\") ? null : n && n.__k || e.__k, o = [], a = [], fo(e, t = (!r && n || e).__k = Je(J, null, [t]), i || Nr, Nr, e.namespaceURI, !r && n ? [n] : i ? null : e.firstChild ? or.call(e.childNodes) : null, o, !r && n ? n : i ? i.__e : e.firstChild, r, a), qs(o, t, a), t.props.children = null;\n}\nfunction Us(t, e) {\n Yt(t, e, Us);\n}\nfunction eu(t, e, n) {\n var r, i, o, a, l = mt({}, t.props);\n for (o in t.type && t.type.defaultProps && (a = t.type.defaultProps), e) o == \"key\" ? r = e[o] : o == \"ref\" ? i = e[o] : l[o] = e[o] === void 0 && a != null ? a[o] : e[o];\n return arguments.length > 2 && (l.children = arguments.length > 3 ? or.call(arguments, 2) : n), Wn(t.type, l, r || t.key, i || t.ref, null);\n}\nfunction tu(t) {\n function e(n) {\n var r, i;\n return this.getChildContext || (r = /* @__PURE__ */ new Set(), (i = {})[e.__c] = this, this.getChildContext = function() {\n return i;\n }, this.componentWillUnmount = function() {\n r = null;\n }, this.shouldComponentUpdate = function(o) {\n this.props.value != o.value && r.forEach(function(a) {\n a.__e = !0, $i(a);\n });\n }, this.sub = function(o) {\n r.add(o);\n var a = o.componentWillUnmount;\n o.componentWillUnmount = function() {\n r && r.delete(o), a && a.call(o);\n };\n }), n.children;\n }\n return e.__c = \"__cC\" + Ls++, e.__ = t, e.Provider = e.__l = (e.Consumer = function(n, r) {\n return n.children(r);\n }).contextType = e, e;\n}\nor = Lr.slice, L = { __e: function(t, e, n, r) {\n for (var i, o, a; e = e.__; ) if ((i = e.__c) && !i.__) try {\n if ((o = i.constructor) && o.getDerivedStateFromError != null && (i.setState(o.getDerivedStateFromError(t)), a = i.__d), i.componentDidCatch != null && (i.componentDidCatch(t, r || {}), a = i.__d), a) return i.__E = i;\n } catch (l) {\n t = l;\n }\n throw t;\n} }, Es = 0, Is = function(t) {\n return t != null && t.constructor === void 0;\n}, ot.prototype.setState = function(t, e) {\n var n;\n n = this.__s != null && this.__s != this.state ? this.__s : this.__s = mt({}, this.state), typeof t == \"function\" && (t = t(mt({}, n), this.props)), t && mt(n, t), t != null && this.__v && (e && this._sb.push(e), $i(this));\n}, ot.prototype.forceUpdate = function(t) {\n this.__v && (this.__e = !0, t && this.__h.push(t), $i(this));\n}, ot.prototype.render = J, Pt = [], Ms = typeof Promise == \"function\" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, Ps = function(t, e) {\n return t.__v.__b - e.__v.__b;\n}, Or.__r = 0, bi = Math.random().toString(8), Ar = \"__d\" + bi, Hn = \"__a\" + bi, Ns = /(PointerCapture)$|Capture$/i, uo = 0, Li = ra(!1), Oi = ra(!0), Ls = 0;\nvar nu = 0;\nfunction s(t, e, n, r, i, o) {\n e || (e = {});\n var a, l, c = e;\n if (\"ref\" in c) for (l in c = {}, e) l == \"ref\" ? a = e[l] : c[l] = e[l];\n var u = { type: t, props: c, key: n, ref: a, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --nu, __i: -1, __u: 0, __source: i, __self: o };\n if (typeof t == \"function\" && (a = t.defaultProps)) for (l in a) c[l] === void 0 && (c[l] = a[l]);\n return L.vnode && L.vnode(u), u;\n}\nvar zt, ie, vi, ia, yn = 0, Bs = [], de = L, oa = de.__b, aa = de.__r, sa = de.diffed, la = de.__c, ca = de.unmount, ua = de.__;\nfunction jn(t, e) {\n de.__h && de.__h(ie, t, yn || e), yn = 0;\n var n = ie.__H || (ie.__H = { __: [], __h: [] });\n return t >= n.__.length && n.__.push({}), n.__[t];\n}\nfunction O(t) {\n return yn = 1, He(Gs, t);\n}\nfunction He(t, e, n) {\n var r = jn(zt++, 2);\n if (r.t = t, !r.__c && (r.__ = [n ? n(e) : Gs(void 0, e), function(l) {\n var c = r.__N ? r.__N[0] : r.__[0], u = r.t(c, l);\n c !== u && (r.__N = [u, r.__[1]], r.__c.setState({}));\n }], r.__c = ie, !ie.__f)) {\n var i = function(l, c, u) {\n if (!r.__c.__H) return !0;\n var d = !1, m = r.__c.props !== l;\n if (r.__c.__H.__.some(function(p) {\n if (p.__N) {\n d = !0;\n var x = p.__[0];\n p.__ = p.__N, p.__N = void 0, x !== p.__[0] && (m = !0);\n }\n }), o) {\n var h = o.call(this, l, c, u);\n return d ? h || m : h;\n }\n return !d || m;\n };\n ie.__f = !0;\n var o = ie.shouldComponentUpdate, a = ie.componentWillUpdate;\n ie.componentWillUpdate = function(l, c, u) {\n if (this.__e) {\n var d = o;\n o = void 0, i(l, c, u), o = d;\n }\n a && a.call(this, l, c, u);\n }, ie.shouldComponentUpdate = i;\n }\n return r.__N || r.__;\n}\nfunction N(t, e) {\n var n = jn(zt++, 3);\n !de.__s && mo(n.__H, e) && (n.__ = t, n.u = e, ie.__H.__h.push(n));\n}\nfunction Sn(t, e) {\n var n = jn(zt++, 4);\n !de.__s && mo(n.__H, e) && (n.__ = t, n.u = e, ie.__h.push(n));\n}\nfunction re(t) {\n return yn = 5, ke(function() {\n return { current: t };\n }, []);\n}\nfunction Vs(t, e, n) {\n yn = 6, Sn(function() {\n if (typeof t == \"function\") {\n var r = t(e());\n return function() {\n t(null), r && typeof r == \"function\" && r();\n };\n }\n if (t) return t.current = e(), function() {\n return t.current = null;\n };\n }, n == null ? n : n.concat(t));\n}\nfunction ke(t, e) {\n var n = jn(zt++, 7);\n return mo(n.__H, e) && (n.__ = t(), n.__H = e, n.__h = t), n.__;\n}\nfunction Z(t, e) {\n return yn = 8, ke(function() {\n return t;\n }, e);\n}\nfunction sr(t) {\n var e = ie.context[t.__c], n = jn(zt++, 9);\n return n.c = t, e ? (n.__ == null && (n.__ = !0, e.sub(ie)), e.props.value) : t.__;\n}\nfunction Hs(t, e) {\n de.useDebugValue && de.useDebugValue(e ? e(t) : t);\n}\nfunction Ws() {\n var t = jn(zt++, 11);\n if (!t.__) {\n for (var e = ie.__v; e !== null && !e.__m && e.__ !== null; ) e = e.__;\n var n = e.__m || (e.__m = [0, 0]);\n t.__ = \"P\" + n[0] + \"-\" + n[1]++;\n }\n return t.__;\n}\nfunction da() {\n for (var t; t = Bs.shift(); ) {\n var e = t.__H;\n if (t.__P && e) try {\n e.__h.some(qi), e.__h.some(Qs), e.__h = [];\n } catch (n) {\n e.__h = [], de.__e(n, t.__v);\n }\n }\n}\nde.__b = function(t) {\n ie = null, oa && oa(t);\n}, de.__ = function(t, e) {\n t && e.__k && e.__k.__m && (t.__m = e.__k.__m), ua && ua(t, e);\n}, de.__r = function(t) {\n aa && aa(t), zt = 0;\n var e = (ie = t.__c).__H;\n e && (vi === ie ? (e.__h = [], ie.__h = [], e.__.some(function(n) {\n n.__N && (n.__ = n.__N), n.u = n.__N = void 0;\n })) : (e.__h.length && da(), zt = 0)), vi = ie;\n}, de.diffed = function(t) {\n sa && sa(t);\n var e = t.__c;\n e && e.__H && (e.__H.__h.length && (Bs.push(e) !== 1 && ia === de.requestAnimationFrame || ((ia = de.requestAnimationFrame) || ru)(da)), e.__H.__.some(function(n) {\n n.u && (n.__H = n.u, n.u = void 0);\n })), vi = ie = null;\n}, de.__c = function(t, e) {\n e.some(function(n) {\n try {\n n.__h.some(qi), n.__h = n.__h.filter(function(r) {\n return !r.__ || Qs(r);\n });\n } catch (r) {\n e.some(function(i) {\n i.__h && (i.__h = []);\n }), e = [], de.__e(r, n.__v);\n }\n }), la && la(t, e);\n}, de.unmount = function(t) {\n ca && ca(t);\n var e, n = t.__c;\n n && n.__H && (n.__H.__.some(function(r) {\n try {\n qi(r);\n } catch (i) {\n e = i;\n }\n }), n.__H = void 0, e && de.__e(e, n.__v));\n};\nvar ha = typeof requestAnimationFrame == \"function\";\nfunction ru(t) {\n var e, n = function() {\n clearTimeout(r), ha && cancelAnimationFrame(e), setTimeout(t);\n }, r = setTimeout(n, 35);\n ha && (e = requestAnimationFrame(n));\n}\nfunction qi(t) {\n var e = ie, n = t.__c;\n typeof n == \"function\" && (t.__c = void 0, n()), ie = e;\n}\nfunction Qs(t) {\n var e = ie;\n t.__c = t.__(), ie = e;\n}\nfunction mo(t, e) {\n return !t || t.length !== e.length || e.some(function(n, r) {\n return n !== t[r];\n });\n}\nfunction Gs(t, e) {\n return typeof e == \"function\" ? e(t) : e;\n}\nfunction Ks(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction zi(t, e) {\n for (var n in t) if (n !== \"__source\" && !(n in e)) return !0;\n for (var r in e) if (r !== \"__source\" && t[r] !== e[r]) return !0;\n return !1;\n}\nfunction Ys(t, e) {\n var n = e(), r = O({ t: { __: n, u: e } }), i = r[0].t, o = r[1];\n return Sn(function() {\n i.__ = n, i.u = e, yi(i) && o({ t: i });\n }, [t, n, e]), N(function() {\n return yi(i) && o({ t: i }), t(function() {\n yi(i) && o({ t: i });\n });\n }, [t]), n;\n}\nfunction yi(t) {\n try {\n return !((e = t.__) === (n = t.u()) && (e !== 0 || 1 / e == 1 / n) || e != e && n != n);\n } catch {\n return !0;\n }\n var e, n;\n}\nfunction Xs(t) {\n t();\n}\nfunction Zs(t) {\n return t;\n}\nfunction Js() {\n return [!1, Xs];\n}\nvar el = Sn;\nfunction Fi(t, e) {\n this.props = t, this.context = e;\n}\nfunction iu(t, e) {\n function n(i) {\n var o = this.props.ref;\n return o != i.ref && o && (typeof o == \"function\" ? o(null) : o.current = null), e ? !e(this.props, i) || o != i.ref : zi(this.props, i);\n }\n function r(i) {\n return this.shouldComponentUpdate = n, Je(t, i);\n }\n return r.displayName = \"Memo(\" + (t.displayName || t.name) + \")\", r.__f = r.prototype.isReactComponent = !0, r.type = t, r;\n}\n(Fi.prototype = new ot()).isPureReactComponent = !0, Fi.prototype.shouldComponentUpdate = function(t, e) {\n return zi(this.props, t) || zi(this.state, e);\n};\nvar fa = L.__b;\nL.__b = function(t) {\n t.type && t.type.__f && t.ref && (t.props.ref = t.ref, t.ref = null), fa && fa(t);\n};\nvar ou = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.forward_ref\") || 3911;\nfunction au(t) {\n function e(n) {\n var r = Ks({}, n);\n return delete r.ref, t(r, n.ref || null);\n }\n return e.$$typeof = ou, e.render = t, e.prototype.isReactComponent = e.__f = !0, e.displayName = \"ForwardRef(\" + (t.displayName || t.name) + \")\", e;\n}\nvar pa = function(t, e) {\n return t == null ? null : xt(xt(t).map(e));\n}, su = { map: pa, forEach: pa, count: function(t) {\n return t ? xt(t).length : 0;\n}, only: function(t) {\n var e = xt(t);\n if (e.length !== 1) throw \"Children.only\";\n return e[0];\n}, toArray: xt }, lu = L.__e;\nL.__e = function(t, e, n, r) {\n if (t.then) {\n for (var i, o = e; o = o.__; ) if ((i = o.__c) && i.__c) return e.__e == null && (e.__e = n.__e, e.__k = n.__k), i.__c(t, e);\n }\n lu(t, e, n, r);\n};\nvar ma = L.unmount;\nfunction tl(t, e, n) {\n return t && (t.__c && t.__c.__H && (t.__c.__H.__.forEach(function(r) {\n typeof r.__c == \"function\" && r.__c();\n }), t.__c.__H = null), (t = Ks({}, t)).__c != null && (t.__c.__P === n && (t.__c.__P = e), t.__c.__e = !0, t.__c = null), t.__k = t.__k && t.__k.map(function(r) {\n return tl(r, e, n);\n })), t;\n}\nfunction nl(t, e, n) {\n return t && n && (t.__v = null, t.__k = t.__k && t.__k.map(function(r) {\n return nl(r, e, n);\n }), t.__c && t.__c.__P === e && (t.__e && n.appendChild(t.__e), t.__c.__e = !0, t.__c.__P = n)), t;\n}\nfunction Rr() {\n this.__u = 0, this.o = null, this.__b = null;\n}\nfunction rl(t) {\n var e = t.__ && t.__.__c;\n return e && e.__a && e.__a(t);\n}\nfunction cu(t) {\n var e, n, r, i = null;\n function o(a) {\n if (e || (e = t()).then(function(l) {\n l && (i = l.default || l), r = !0;\n }, function(l) {\n n = l, r = !0;\n }), n) throw n;\n if (!r) throw e;\n return i ? Je(i, a) : null;\n }\n return o.displayName = \"Lazy\", o.__f = !0, o;\n}\nfunction zn() {\n this.i = null, this.l = null;\n}\nL.unmount = function(t) {\n var e = t.__c;\n e && (e.__z = !0), e && e.__R && e.__R(), e && 32 & t.__u && (t.type = null), ma && ma(t);\n}, (Rr.prototype = new ot()).__c = function(t, e) {\n var n = e.__c, r = this;\n r.o == null && (r.o = []), r.o.push(n);\n var i = rl(r.__v), o = !1, a = function() {\n o || r.__z || (o = !0, n.__R = null, i ? i(c) : c());\n };\n n.__R = a;\n var l = n.__P;\n n.__P = null;\n var c = function() {\n if (!--r.__u) {\n if (r.state.__a) {\n var u = r.state.__a;\n r.__v.__k[0] = nl(u, u.__c.__P, u.__c.__O);\n }\n var d;\n for (r.setState({ __a: r.__b = null }); d = r.o.pop(); ) d.__P = l, d.forceUpdate();\n }\n };\n r.__u++ || 32 & e.__u || r.setState({ __a: r.__b = r.__v.__k[0] }), t.then(a, a);\n}, Rr.prototype.componentWillUnmount = function() {\n this.o = [];\n}, Rr.prototype.render = function(t, e) {\n var n = this.__v;\n if (!n.__m) {\n for (var r = n; r.__; ) r = r.__;\n r = r.__m || (r.__m = [0, 0]), n.__m = [r[1]++, 0];\n }\n if (this.__b) {\n if (n.__k) {\n var i = document.createElement(\"div\"), o = n.__k[0].__c;\n n.__k[0] = tl(this.__b, i, o.__O = o.__P);\n }\n this.__b = null;\n }\n var a = e.__a && Je(J, null, t.fallback);\n return a && (a.__u &= -33), [Je(J, null, e.__a ? null : t.children), a];\n};\nvar ga = function(t, e, n) {\n if (++n[1] === n[0] && t.l.delete(e), t.props.revealOrder && (t.props.revealOrder[0] !== \"t\" || !t.l.size)) for (n = t.i; n; ) {\n for (; n.length > 3; ) n.pop()();\n if (n[1] < n[0]) break;\n t.i = n = n[2];\n }\n};\nfunction uu(t) {\n return this.getChildContext = function() {\n return t.context;\n }, t.children;\n}\nfunction du(t) {\n var e = this, n = t.v;\n if (e.componentWillUnmount = function() {\n Yt(null, e.h), e.h = null, e.v = null;\n }, e.v && e.v !== n && e.componentWillUnmount(), !e.h) {\n for (var r = e.__v; r !== null && !r.__m && r.__ !== null; ) r = r.__;\n e.v = n, e.h = { nodeType: 1, parentNode: n, childNodes: [], __k: { __m: r.__m }, contains: function() {\n return !0;\n }, namespaceURI: n.namespaceURI, insertBefore: function(i, o) {\n this.childNodes.push(i), e.v.insertBefore(i, o);\n }, removeChild: function(i) {\n this.childNodes.splice(this.childNodes.indexOf(i) >>> 1, 1), e.v.removeChild(i);\n } };\n }\n Yt(Je(uu, { context: e.context }, t.__v), e.h);\n}\nfunction hu(t, e) {\n var n = Je(du, { __v: t, v: e });\n return n.containerInfo = e, n;\n}\n(zn.prototype = new ot()).__a = function(t) {\n var e = this, n = rl(e.__v), r = e.l.get(t);\n return r[0]++, function(i) {\n var o = function() {\n e.props.revealOrder ? (r.push(i), ga(e, t, r)) : i();\n };\n n ? n(o) : o();\n };\n}, zn.prototype.render = function(t) {\n this.i = null, this.l = /* @__PURE__ */ new Map();\n var e = xt(t.children);\n t.revealOrder && t.revealOrder[0] === \"b\" && e.reverse();\n for (var n = e.length; n--; ) this.l.set(e[n], this.i = [1, 0, this.i]);\n return t.children;\n}, zn.prototype.componentDidUpdate = zn.prototype.componentDidMount = function() {\n var t = this;\n this.l.forEach(function(e, n) {\n ga(t, n, e);\n });\n};\nvar il = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.element\") || 60103, fu = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, pu = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, mu = /[A-Z0-9]/g, gu = typeof document < \"u\", xu = function(t) {\n return (typeof Symbol < \"u\" && typeof /* @__PURE__ */ Symbol() == \"symbol\" ? /fil|che|rad/ : /fil|che|ra/).test(t);\n};\nfunction bu(t, e, n) {\n return e.__k == null && (e.textContent = \"\"), Yt(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\nfunction vu(t, e, n) {\n return Us(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\not.prototype.isReactComponent = !0, [\"componentWillMount\", \"componentWillReceiveProps\", \"componentWillUpdate\"].forEach(function(t) {\n Object.defineProperty(ot.prototype, t, { configurable: !0, get: function() {\n return this[\"UNSAFE_\" + t];\n }, set: function(e) {\n Object.defineProperty(this, t, { configurable: !0, writable: !0, value: e });\n } });\n});\nvar xa = L.event;\nL.event = function(t) {\n return xa && (t = xa(t)), t.persist = function() {\n }, t.isPropagationStopped = function() {\n return this.cancelBubble;\n }, t.isDefaultPrevented = function() {\n return this.defaultPrevented;\n }, t.nativeEvent = t;\n};\nvar go, yu = { configurable: !0, get: function() {\n return this.class;\n} }, ba = L.vnode;\nL.vnode = function(t) {\n typeof t.type == \"string\" && (function(e) {\n var n = e.props, r = e.type, i = {}, o = r.indexOf(\"-\") == -1;\n for (var a in n) {\n var l = n[a];\n if (!(a === \"value\" && \"defaultValue\" in n && l == null || gu && a === \"children\" && r === \"noscript\" || a === \"class\" || a === \"className\")) {\n var c = a.toLowerCase();\n a === \"defaultValue\" && \"value\" in n && n.value == null ? a = \"value\" : a === \"download\" && l === !0 ? l = \"\" : c === \"translate\" && l === \"no\" ? l = !1 : c[0] === \"o\" && c[1] === \"n\" ? c === \"ondoubleclick\" ? a = \"ondblclick\" : c !== \"onchange\" || r !== \"input\" && r !== \"textarea\" || xu(n.type) ? c === \"onfocus\" ? a = \"onfocusin\" : c === \"onblur\" ? a = \"onfocusout\" : pu.test(a) && (a = c) : c = a = \"oninput\" : o && fu.test(a) ? a = a.replace(mu, \"-$&\").toLowerCase() : l === null && (l = void 0), c === \"oninput\" && i[a = c] && (a = \"oninputCapture\"), i[a] = l;\n }\n }\n r == \"select\" && (i.multiple && Array.isArray(i.value) && (i.value = xt(n.children).forEach(function(u) {\n u.props.selected = i.value.indexOf(u.props.value) != -1;\n })), i.defaultValue != null && (i.value = xt(n.children).forEach(function(u) {\n u.props.selected = i.multiple ? i.defaultValue.indexOf(u.props.value) != -1 : i.defaultValue == u.props.value;\n }))), n.class && !n.className ? (i.class = n.class, Object.defineProperty(i, \"className\", yu)) : n.className && (i.class = i.className = n.className), e.props = i;\n })(t), t.$$typeof = il, ba && ba(t);\n};\nvar va = L.__r;\nL.__r = function(t) {\n va && va(t), go = t.__c;\n};\nvar ya = L.diffed;\nL.diffed = function(t) {\n ya && ya(t);\n var e = t.props, n = t.__e;\n n != null && t.type === \"textarea\" && \"value\" in e && e.value !== n.value && (n.value = e.value == null ? \"\" : e.value), go = null;\n};\nvar wu = { ReactCurrentDispatcher: { current: { readContext: function(t) {\n return go.__n[t.__c].props.value;\n}, useCallback: Z, useContext: sr, useDebugValue: Hs, useDeferredValue: Zs, useEffect: N, useId: Ws, useImperativeHandle: Vs, useInsertionEffect: el, useLayoutEffect: Sn, useMemo: ke, useReducer: He, useRef: re, useState: O, useSyncExternalStore: Ys, useTransition: Js } } };\nfunction ku(t) {\n return Je.bind(null, t);\n}\nfunction ei(t) {\n return !!t && t.$$typeof === il;\n}\nfunction _u(t) {\n return ei(t) && t.type === J;\n}\nfunction ju(t) {\n return !!t && typeof t.displayName == \"string\" && t.displayName.indexOf(\"Memo(\") == 0;\n}\nfunction Su(t) {\n return ei(t) ? eu.apply(null, arguments) : t;\n}\nfunction Tu(t) {\n return !!t.__k && (Yt(null, t), !0);\n}\nfunction Cu(t) {\n return t && (t.base || t.nodeType === 1 && t) || null;\n}\nvar Au = function(t, e) {\n return t(e);\n}, Ru = function(t, e) {\n var n = L.debounceRendering;\n L.debounceRendering = function(i) {\n return i();\n };\n var r = t(e);\n return L.debounceRendering = n, r;\n}, Eu = ei, xo = { useState: O, useId: Ws, useReducer: He, useEffect: N, useLayoutEffect: Sn, useInsertionEffect: el, useTransition: Js, useDeferredValue: Zs, useSyncExternalStore: Ys, startTransition: Xs, useRef: re, useImperativeHandle: Vs, useMemo: ke, useCallback: Z, useContext: sr, useDebugValue: Hs, version: \"18.3.1\", Children: su, render: bu, hydrate: vu, unmountComponentAtNode: Tu, createPortal: hu, createElement: Je, createContext: tu, createFactory: ku, cloneElement: Su, createRef: Gc, Fragment: J, isValidElement: ei, isElement: Eu, isFragment: _u, isMemo: ju, findDOMNode: Cu, Component: ot, PureComponent: Fi, memo: iu, forwardRef: au, flushSync: Ru, unstable_batchedUpdates: Au, StrictMode: J, Suspense: Rr, SuspenseList: zn, lazy: cu, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: wu }, pt = [], Xe = [], Iu = Uint8Array, wi = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nfor (var un = 0, Mu = wi.length; un < Mu; ++un)\n pt[un] = wi[un], Xe[wi.charCodeAt(un)] = un;\nXe[45] = 62;\nXe[95] = 63;\nfunction Pu(t) {\n var e = t.length;\n if (e % 4 > 0)\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var n = t.indexOf(\"=\");\n n === -1 && (n = e);\n var r = n === e ? 0 : 4 - n % 4;\n return [n, r];\n}\nfunction Nu(t, e, n) {\n return (e + n) * 3 / 4 - n;\n}\nfunction Xn(t) {\n var e, n = Pu(t), r = n[0], i = n[1], o = new Iu(Nu(t, r, i)), a = 0, l = i > 0 ? r - 4 : r, c;\n for (c = 0; c < l; c += 4)\n e = Xe[t.charCodeAt(c)] << 18 | Xe[t.charCodeAt(c + 1)] << 12 | Xe[t.charCodeAt(c + 2)] << 6 | Xe[t.charCodeAt(c + 3)], o[a++] = e >> 16 & 255, o[a++] = e >> 8 & 255, o[a++] = e & 255;\n return i === 2 && (e = Xe[t.charCodeAt(c)] << 2 | Xe[t.charCodeAt(c + 1)] >> 4, o[a++] = e & 255), i === 1 && (e = Xe[t.charCodeAt(c)] << 10 | Xe[t.charCodeAt(c + 1)] << 4 | Xe[t.charCodeAt(c + 2)] >> 2, o[a++] = e >> 8 & 255, o[a++] = e & 255), o;\n}\nfunction Lu(t) {\n return pt[t >> 18 & 63] + pt[t >> 12 & 63] + pt[t >> 6 & 63] + pt[t & 63];\n}\nfunction Ou(t, e, n) {\n for (var r, i = [], o = e; o < n; o += 3)\n r = (t[o] << 16 & 16711680) + (t[o + 1] << 8 & 65280) + (t[o + 2] & 255), i.push(Lu(r));\n return i.join(\"\");\n}\nfunction Zn(t) {\n for (var e, n = t.length, r = n % 3, i = [], o = 16383, a = 0, l = n - r; a < l; a += o)\n i.push(\n Ou(\n t,\n a,\n a + o > l ? l : a + o\n )\n );\n return r === 1 ? (e = t[n - 1], i.push(pt[e >> 2] + pt[e << 4 & 63] + \"==\")) : r === 2 && (e = (t[n - 2] << 8) + t[n - 1], i.push(\n pt[e >> 10] + pt[e >> 4 & 63] + pt[e << 2 & 63] + \"=\"\n )), i.join(\"\");\n}\nfunction _t(t) {\n if (t === void 0)\n return {};\n if (!ol(t))\n throw new Error(\n `The arguments to a Convex function must be an object. Received: ${t}`\n );\n return t;\n}\nfunction $u(t) {\n if (typeof t > \"u\")\n throw new Error(\n \"Client created with undefined deployment address. If you used an environment variable, check that it's set.\"\n );\n if (typeof t != \"string\")\n throw new Error(\n `Invalid deployment address: found ${t}\".`\n );\n if (!(t.startsWith(\"http:\") || t.startsWith(\"https:\")))\n throw new Error(\n `Invalid deployment address: Must start with \"https://\" or \"http://\". Found \"${t}\".`\n );\n try {\n new URL(t);\n } catch {\n throw new Error(\n `Invalid deployment address: \"${t}\" is not a valid URL. If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n }\n if (t.endsWith(\".convex.site\"))\n throw new Error(\n `Invalid deployment address: \"${t}\" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n}\nfunction ol(t) {\n const e = typeof t == \"object\", n = Object.getPrototypeOf(t), r = n === null || n === Object.prototype || // Objects generated from other contexts (e.g. across Node.js `vm` modules) will not satisfy the previous\n // conditions but are still simple objects.\n n?.constructor?.name === \"Object\";\n return e && r;\n}\nconst al = !0, wn = BigInt(\"-9223372036854775808\"), bo = BigInt(\"9223372036854775807\"), Ui = BigInt(\"0\"), Du = BigInt(\"8\"), qu = BigInt(\"256\"), ki = \"This commit timestamp is unresolved: its value is assigned when the mutation commits. Read the document after the mutation completes to get its value.\";\nclass sl {\n [Symbol.toPrimitive](e) {\n if (e === \"string\")\n return this.toString();\n throw new Error(ki);\n }\n valueOf() {\n throw new Error(ki);\n }\n toJSON() {\n throw new Error(ki);\n }\n toString() {\n return \"[unresolved commit timestamp]\";\n }\n}\nconst zu = new sl();\nfunction ll(t) {\n return Number.isNaN(t) || !Number.isFinite(t) || Object.is(t, -0);\n}\nfunction Fu(t) {\n t < Ui && (t -= wn + wn);\n let e = t.toString(16);\n e.length % 2 === 1 && (e = \"0\" + e);\n const n = new Uint8Array(new ArrayBuffer(8));\n let r = 0;\n for (const i of e.match(/.{2}/g).reverse())\n n.set([parseInt(i, 16)], r++), t >>= Du;\n return Zn(n);\n}\nfunction Uu(t) {\n const e = Xn(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n let n = Ui, r = Ui;\n for (const i of e)\n n += BigInt(i) * qu ** r, r++;\n return n > bo && (n += wn + wn), n;\n}\nfunction Bu(t) {\n if (t < wn || bo < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n const e = new ArrayBuffer(8);\n return new DataView(e).setBigInt64(0, t, !0), Zn(new Uint8Array(e));\n}\nfunction Vu(t) {\n const e = Xn(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n return new DataView(e.buffer).getBigInt64(0, !0);\n}\nconst Hu = DataView.prototype.setBigInt64 ? Bu : Fu, Wu = DataView.prototype.getBigInt64 ? Vu : Uu, wa = 1024;\nfunction cl(t) {\n if (t.length > wa)\n throw new Error(\n `Field name ${t} exceeds maximum field name length ${wa}.`\n );\n if (t.startsWith(\"$\"))\n throw new Error(`Field name ${t} starts with a '$', which is reserved.`);\n for (let e = 0; e < t.length; e += 1) {\n const n = t.charCodeAt(e);\n if (n < 32 || n >= 127)\n throw new Error(\n `Field name ${t} has invalid character '${t[e]}': Field names can only contain non-control ASCII characters`\n );\n }\n}\nfunction kn(t) {\n if (t === null || typeof t == \"boolean\" || typeof t == \"number\" || typeof t == \"string\")\n return t;\n if (Array.isArray(t))\n return t.map((r) => kn(r));\n if (typeof t != \"object\")\n throw new Error(`Unexpected type of ${t}`);\n const e = Object.entries(t);\n if (e.length === 1) {\n const r = e[0][0];\n if (r === \"$bytes\") {\n if (typeof t.$bytes != \"string\")\n throw new Error(`Malformed $bytes field on ${t}`);\n return Xn(t.$bytes).buffer;\n }\n if (r === \"$integer\") {\n if (typeof t.$integer != \"string\")\n throw new Error(`Malformed $integer field on ${t}`);\n return Wu(t.$integer);\n }\n if (r === \"$float\") {\n if (typeof t.$float != \"string\")\n throw new Error(`Malformed $float field on ${t}`);\n const i = Xn(t.$float);\n if (i.byteLength !== 8)\n throw new Error(\n `Received ${i.byteLength} bytes, expected 8 for $float`\n );\n const a = new DataView(i.buffer).getFloat64(0, al);\n if (!ll(a))\n throw new Error(`Float ${a} should be encoded as a number`);\n return a;\n }\n if (r === \"$commitTs\") {\n if (t.$commitTs !== null)\n throw new Error(`Malformed $commitTs field on ${t}`);\n return zu;\n }\n if (r === \"$set\")\n throw new Error(\n \"Received a Set which is no longer supported as a Convex type.\"\n );\n if (r === \"$map\")\n throw new Error(\n \"Received a Map which is no longer supported as a Convex type.\"\n );\n }\n const n = {};\n for (const [r, i] of Object.entries(t))\n cl(r), n[r] = kn(i);\n return n;\n}\nconst ka = 16384;\nfunction Qn(t) {\n const e = JSON.stringify(t, (n, r) => r === void 0 ? \"undefined\" : typeof r == \"bigint\" ? `${r.toString()}n` : r);\n if (e.length > ka) {\n const n = \"[...truncated]\";\n let r = ka - n.length;\n const i = e.codePointAt(r - 1);\n return i !== void 0 && i > 65535 && (r -= 1), e.substring(0, r) + n;\n }\n return e;\n}\nfunction Bi(t, e, n, r) {\n if (t === void 0) {\n const a = n && ` (present at path ${n} in original object ${Qn(\n e\n )})`;\n throw new Error(\n `undefined is not a valid Convex value${a}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`\n );\n }\n if (t === null)\n return t;\n if (typeof t == \"bigint\") {\n if (t < wn || bo < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n return { $integer: Hu(t) };\n }\n if (typeof t == \"number\")\n if (ll(t)) {\n const a = new ArrayBuffer(8);\n return new DataView(a).setFloat64(0, t, al), { $float: Zn(new Uint8Array(a)) };\n } else\n return t;\n if (typeof t == \"boolean\" || typeof t == \"string\")\n return t;\n if (t instanceof ArrayBuffer)\n return { $bytes: Zn(new Uint8Array(t)) };\n if (t instanceof sl)\n return { $commitTs: null };\n if (Array.isArray(t))\n return t.map(\n (a, l) => Bi(a, e, n + `[${l}]`)\n );\n if (t instanceof Set)\n throw new Error(\n _i(n, \"Set\", [...t], e)\n );\n if (t instanceof Map)\n throw new Error(\n _i(n, \"Map\", [...t], e)\n );\n if (!ol(t)) {\n const a = t?.constructor?.name, l = a ? `${a} ` : \"\";\n throw new Error(\n _i(n, l, t, e)\n );\n }\n const i = {}, o = Object.entries(t);\n o.sort(([a, l], [c, u]) => a === c ? 0 : a < c ? -1 : 1);\n for (const [a, l] of o)\n l !== void 0 && (cl(a), i[a] = Bi(l, e, n + `.${a}`));\n return i;\n}\nfunction _i(t, e, n, r) {\n return t ? `${e}${Qn(\n n\n )} is not a supported Convex type (present at path ${t} in original object ${Qn(\n r\n )}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.` : `${e}${Qn(\n n\n )} is not a supported Convex type.`;\n}\nfunction bt(t) {\n return Bi(t, t, \"\");\n}\nvar Qu = Object.defineProperty, Gu = (t, e, n) => e in t ? Qu(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ji = (t, e, n) => Gu(t, typeof e != \"symbol\" ? e + \"\" : e, n), _a, ja;\nconst Ku = /* @__PURE__ */ Symbol.for(\"ConvexError\");\nclass $r extends (ja = Error, _a = Ku, ja) {\n constructor(e) {\n super(typeof e == \"string\" ? e : Qn(e)), ji(this, \"name\", \"ConvexError\"), ji(this, \"data\"), ji(this, _a, !0), this.data = e;\n }\n}\nconst ul = () => Array.from({ length: 4 }, () => 0);\nul();\nul();\nconst Sa = \"1.46.0\";\nvar Yu = Object.defineProperty, Xu = (t, e, n) => e in t ? Yu(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Ta = (t, e, n) => Xu(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Zu = \"color:rgb(0, 145, 255)\";\nfunction dl(t) {\n switch (t) {\n case \"query\":\n return \"Q\";\n case \"mutation\":\n return \"M\";\n case \"action\":\n return \"A\";\n case \"any\":\n return \"?\";\n }\n}\nclass hl {\n constructor(e) {\n Ta(this, \"_onLogLineFuncs\"), Ta(this, \"_verbose\"), this._onLogLineFuncs = {}, this._verbose = e.verbose;\n }\n addLogLineListener(e) {\n let n = Math.random().toString(36).substring(2, 15);\n for (let r = 0; r < 10 && this._onLogLineFuncs[n] !== void 0; r++)\n n = Math.random().toString(36).substring(2, 15);\n return this._onLogLineFuncs[n] = e, () => {\n delete this._onLogLineFuncs[n];\n };\n }\n logVerbose(...e) {\n if (this._verbose)\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"debug\", `${(/* @__PURE__ */ new Date()).toISOString()}`, ...e);\n }\n log(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"info\", ...e);\n }\n warn(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"warn\", ...e);\n }\n error(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"error\", ...e);\n }\n}\nfunction fl(t) {\n const e = new hl(t);\n return e.addLogLineListener((n, ...r) => {\n switch (n) {\n case \"debug\":\n console.debug(...r);\n break;\n case \"info\":\n console.log(...r);\n break;\n case \"warn\":\n console.warn(...r);\n break;\n case \"error\":\n console.error(...r);\n break;\n default:\n console.log(...r);\n }\n }), e;\n}\nfunction pl(t) {\n return new hl(t);\n}\nfunction Dr(t, e, n, r, i) {\n const o = dl(n);\n if (typeof i == \"object\" && (i = `ConvexError ${JSON.stringify(i.errorData, null, 2)}`), e === \"info\") {\n const a = i.match(/^\\[.*?\\] /);\n if (a === null) {\n t.error(\n `[CONVEX ${o}(${r})] Could not parse console.log`\n );\n return;\n }\n const l = i.slice(1, a[0].length - 2), c = i.slice(a[0].length);\n t.log(`%c[CONVEX ${o}(${r})] [${l}]`, Zu, c);\n } else\n t.error(`[CONVEX ${o}(${r})] ${i}`);\n}\nfunction Ju(t, e) {\n const n = `[CONVEX FATAL ERROR] ${e}`;\n return t.error(n), new Error(n);\n}\nfunction gn(t, e, n) {\n return `[CONVEX ${dl(t)}(${e})] ${n.errorMessage}\n Called by client`;\n}\nfunction Vi(t, e) {\n return e.data = t.errorData, e;\n}\nfunction Xt(t) {\n const e = t.split(\":\");\n let n, r;\n return e.length === 1 ? (n = e[0], r = \"default\") : (n = e.slice(0, e.length - 1).join(\":\"), r = e[e.length - 1]), n.endsWith(\".js\") && (n = n.slice(0, -3)), `${n}:${r}`;\n}\nfunction Kt(t, e) {\n return JSON.stringify({\n udfPath: Xt(t),\n args: bt(e)\n });\n}\nfunction Ca(t, e, n) {\n const { initialNumItems: r, id: i } = n;\n return JSON.stringify({\n type: \"paginated\",\n udfPath: Xt(t),\n args: bt(e),\n options: bt({ initialNumItems: r, id: i })\n });\n}\nvar ed = Object.defineProperty, td = (t, e, n) => e in t ? ed(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ut = (t, e, n) => td(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass nd {\n constructor() {\n ut(this, \"nextQueryId\"), ut(this, \"querySetVersion\"), ut(this, \"querySet\"), ut(this, \"queryIdToToken\"), ut(this, \"identityVersion\"), ut(this, \"auth\"), ut(this, \"outstandingQueriesOlderThanRestart\"), ut(this, \"outstandingAuthOlderThanRestart\"), ut(this, \"paused\"), ut(this, \"pendingQuerySetModifications\"), this.nextQueryId = 0, this.querySetVersion = 0, this.identityVersion = 0, this.querySet = /* @__PURE__ */ new Map(), this.queryIdToToken = /* @__PURE__ */ new Map(), this.outstandingQueriesOlderThanRestart = /* @__PURE__ */ new Set(), this.outstandingAuthOlderThanRestart = !1, this.paused = !1, this.pendingQuerySetModifications = /* @__PURE__ */ new Map();\n }\n hasSyncedPastLastReconnect() {\n return this.outstandingQueriesOlderThanRestart.size === 0 && !this.outstandingAuthOlderThanRestart;\n }\n markAuthCompletion() {\n this.outstandingAuthOlderThanRestart = !1;\n }\n subscribe(e, n, r, i) {\n const o = Xt(e), a = Kt(o, n), l = this.querySet.get(a);\n if (l !== void 0)\n return l.numSubscribers += 1, {\n queryToken: a,\n modification: null,\n unsubscribe: () => this.removeSubscriber(a)\n };\n {\n const c = this.nextQueryId++, u = {\n id: c,\n canonicalizedUdfPath: o,\n args: n,\n numSubscribers: 1,\n journal: r,\n componentPath: i\n };\n this.querySet.set(a, u), this.queryIdToToken.set(c, a);\n const d = this.querySetVersion, m = this.querySetVersion + 1, h = {\n type: \"Add\",\n queryId: c,\n udfPath: o,\n args: [bt(n)],\n journal: r,\n componentPath: i\n };\n return this.paused ? this.pendingQuerySetModifications.set(c, h) : this.querySetVersion = m, {\n queryToken: a,\n modification: {\n type: \"ModifyQuerySet\",\n baseVersion: d,\n newVersion: m,\n modifications: [h]\n },\n unsubscribe: () => this.removeSubscriber(a)\n };\n }\n }\n transition(e) {\n for (const n of e.modifications)\n switch (n.type) {\n case \"QueryUpdated\":\n case \"QueryFailed\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n const r = n.journal;\n if (r !== void 0) {\n const i = this.queryIdToToken.get(n.queryId);\n i !== void 0 && (this.querySet.get(i).journal = r);\n }\n break;\n }\n case \"QueryRemoved\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${n.type}`);\n }\n }\n queryId(e, n) {\n const r = Xt(e), i = Kt(r, n), o = this.querySet.get(i);\n return o !== void 0 ? o.id : null;\n }\n isCurrentOrNewerAuthVersion(e) {\n return e >= this.identityVersion;\n }\n getAuth() {\n return this.auth;\n }\n setAuth(e) {\n this.auth = {\n tokenType: \"User\",\n value: e\n };\n const n = this.identityVersion;\n return this.paused || (this.identityVersion = n + 1), {\n type: \"Authenticate\",\n baseVersion: n,\n ...this.auth\n };\n }\n setAdminAuth(e, n) {\n const r = {\n tokenType: \"Admin\",\n value: e,\n impersonating: n\n };\n this.auth = r;\n const i = this.identityVersion;\n return this.paused || (this.identityVersion = i + 1), {\n type: \"Authenticate\",\n baseVersion: i,\n ...r\n };\n }\n clearAuth() {\n this.auth = void 0, this.markAuthCompletion();\n const e = this.identityVersion;\n return this.paused || (this.identityVersion = e + 1), {\n type: \"Authenticate\",\n tokenType: \"None\",\n baseVersion: e\n };\n }\n hasAuth() {\n return !!this.auth;\n }\n isNewAuth(e) {\n return this.auth?.value !== e;\n }\n queryPath(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).canonicalizedUdfPath : null;\n }\n queryArgs(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).args : null;\n }\n queryToken(e) {\n return this.queryIdToToken.get(e) ?? null;\n }\n queryJournal(e) {\n return this.querySet.get(e)?.journal;\n }\n restart() {\n this.unpause(), this.outstandingQueriesOlderThanRestart.clear();\n const e = [];\n for (const i of this.querySet.values()) {\n const o = {\n type: \"Add\",\n queryId: i.id,\n udfPath: i.canonicalizedUdfPath,\n args: [bt(i.args)],\n journal: i.journal,\n componentPath: i.componentPath\n };\n e.push(o), this.outstandingQueriesOlderThanRestart.add(i.id);\n }\n this.querySetVersion = 1;\n const n = {\n type: \"ModifyQuerySet\",\n baseVersion: 0,\n newVersion: 1,\n modifications: e\n };\n if (!this.auth)\n return this.identityVersion = 0, [n, void 0];\n this.outstandingAuthOlderThanRestart = !0;\n const r = {\n type: \"Authenticate\",\n baseVersion: 0,\n ...this.auth\n };\n return this.identityVersion = 1, [n, r];\n }\n pause() {\n this.paused = !0;\n }\n resume() {\n const e = this.pendingQuerySetModifications.size > 0 ? {\n type: \"ModifyQuerySet\",\n baseVersion: this.querySetVersion,\n newVersion: ++this.querySetVersion,\n modifications: Array.from(\n this.pendingQuerySetModifications.values()\n )\n } : void 0, n = this.auth !== void 0 ? {\n type: \"Authenticate\",\n baseVersion: this.identityVersion++,\n ...this.auth\n } : void 0;\n return this.unpause(), [e, n];\n }\n unpause() {\n this.paused = !1, this.pendingQuerySetModifications.clear();\n }\n removeSubscriber(e) {\n const n = this.querySet.get(e);\n if (n.numSubscribers > 1)\n return n.numSubscribers -= 1, null;\n {\n this.querySet.delete(e), this.queryIdToToken.delete(n.id), this.outstandingQueriesOlderThanRestart.delete(n.id);\n const r = this.querySetVersion, i = this.querySetVersion + 1, o = {\n type: \"Remove\",\n queryId: n.id\n };\n return this.paused ? this.pendingQuerySetModifications.has(n.id) ? this.pendingQuerySetModifications.delete(n.id) : this.pendingQuerySetModifications.set(n.id, o) : this.querySetVersion = i, {\n type: \"ModifyQuerySet\",\n baseVersion: r,\n newVersion: i,\n modifications: [o]\n };\n }\n }\n}\nvar rd = Object.defineProperty, id = (t, e, n) => e in t ? rd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, wr = (t, e, n) => id(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass od {\n constructor(e, n) {\n this.logger = e, this.markConnectionStateDirty = n, wr(this, \"inflightRequests\"), wr(this, \"requestsOlderThanRestart\"), wr(this, \"inflightMutationsCount\", 0), wr(this, \"inflightActionsCount\", 0), this.inflightRequests = /* @__PURE__ */ new Map(), this.requestsOlderThanRestart = /* @__PURE__ */ new Set();\n }\n request(e, n) {\n const r = new Promise((i) => {\n const o = n ? \"Requested\" : \"NotSent\";\n this.inflightRequests.set(e.requestId, {\n message: e,\n status: { status: o, requestedAt: /* @__PURE__ */ new Date(), onResult: i }\n }), e.type === \"Mutation\" ? this.inflightMutationsCount++ : e.type === \"Action\" && this.inflightActionsCount++;\n });\n return this.markConnectionStateDirty(), r;\n }\n /**\n * Update the state after receiving a response.\n *\n * @returns A RequestId if the request is complete and its optimistic update\n * can be dropped, null otherwise.\n */\n onResponse(e) {\n const n = this.inflightRequests.get(e.requestId);\n if (n === void 0 || n.status.status === \"Completed\")\n return null;\n const r = n.message.type === \"Mutation\" ? \"mutation\" : \"action\", i = n.message.udfPath;\n for (const c of e.logLines)\n Dr(this.logger, \"info\", r, i, c);\n const o = n.status;\n let a, l;\n if (e.success)\n a = {\n success: !0,\n logLines: e.logLines,\n value: kn(e.result)\n }, l = () => o.onResult(a);\n else {\n const c = e.result, { errorData: u } = e;\n Dr(this.logger, \"error\", r, i, c), a = {\n success: !1,\n errorMessage: c,\n errorData: u !== void 0 ? kn(u) : void 0,\n logLines: e.logLines\n }, l = () => o.onResult(a);\n }\n return e.type === \"ActionResponse\" || !e.success ? (l(), this.inflightRequests.delete(e.requestId), this.requestsOlderThanRestart.delete(e.requestId), n.message.type === \"Action\" ? this.inflightActionsCount-- : n.message.type === \"Mutation\" && this.inflightMutationsCount--, this.markConnectionStateDirty(), { requestId: e.requestId, result: a }) : (n.status = {\n status: \"Completed\",\n result: a,\n ts: e.ts,\n onResolve: l\n }, null);\n }\n // Remove and returns completed requests.\n removeCompleted(e) {\n const n = /* @__PURE__ */ new Map();\n for (const [r, i] of this.inflightRequests.entries()) {\n const o = i.status;\n o.status === \"Completed\" && o.ts.lessThanOrEqual(e) && (o.onResolve(), n.set(r, o.result), i.message.type === \"Mutation\" ? this.inflightMutationsCount-- : i.message.type === \"Action\" && this.inflightActionsCount--, this.inflightRequests.delete(r), this.requestsOlderThanRestart.delete(r));\n }\n return n.size > 0 && this.markConnectionStateDirty(), n;\n }\n restart() {\n this.requestsOlderThanRestart = new Set(this.inflightRequests.keys());\n const e = [];\n for (const [n, r] of this.inflightRequests) {\n if (r.status.status === \"NotSent\") {\n r.status.status = \"Requested\", e.push(r.message);\n continue;\n }\n if (r.message.type === \"Mutation\")\n e.push(r.message);\n else if (r.message.type === \"Action\") {\n if (this.inflightRequests.delete(n), this.requestsOlderThanRestart.delete(n), this.inflightActionsCount--, r.status.status === \"Completed\")\n throw new Error(\"Action should never be in 'Completed' state\");\n r.status.onResult({\n success: !1,\n errorMessage: \"Connection lost while action was in flight\",\n logLines: []\n });\n }\n }\n return this.markConnectionStateDirty(), e;\n }\n resume() {\n const e = [];\n for (const [, n] of this.inflightRequests)\n if (n.status.status === \"NotSent\") {\n n.status.status = \"Requested\", e.push(n.message);\n continue;\n }\n return e;\n }\n /**\n * @returns true if there are any requests that have been requested but have\n * not be completed yet.\n */\n hasIncompleteRequests() {\n for (const e of this.inflightRequests.values())\n if (e.status.status === \"Requested\")\n return !0;\n return !1;\n }\n /**\n * @returns true if there are any inflight requests, including ones that have\n * completed on the server, but have not been applied.\n */\n hasInflightRequests() {\n return this.inflightRequests.size > 0;\n }\n /**\n * @returns true if there are any inflight requests, that have been hanging around\n * since prior to the most recent restart.\n */\n hasSyncedPastLastReconnect() {\n return this.requestsOlderThanRestart.size === 0;\n }\n timeOfOldestInflightRequest() {\n if (this.inflightRequests.size === 0)\n return null;\n let e = Date.now();\n for (const n of this.inflightRequests.values())\n n.status.status !== \"Completed\" && n.status.requestedAt.getTime() < e && (e = n.status.requestedAt.getTime());\n return new Date(e);\n }\n /**\n * @returns The number of mutations currently in flight.\n */\n inflightMutations() {\n return this.inflightMutationsCount;\n }\n /**\n * @returns The number of actions currently in flight.\n */\n inflightActions() {\n return this.inflightActionsCount;\n }\n}\nconst Jn = /* @__PURE__ */ Symbol.for(\"functionName\"), ad = /* @__PURE__ */ Symbol.for(\"toReferencePath\");\nfunction sd(t) {\n return t[ad] ?? null;\n}\nfunction ld(t) {\n return t.startsWith(\"function://\");\n}\nfunction cd(t) {\n let e;\n if (typeof t == \"string\")\n ld(t) ? e = { functionHandle: t } : e = { name: t };\n else if (t[Jn])\n e = { name: t[Jn] };\n else {\n const n = sd(t);\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n e = { reference: n };\n }\n return e;\n}\nfunction De(t) {\n const e = cd(t);\n if (e.name === void 0)\n throw e.functionHandle !== void 0 ? new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received function handle ${e.functionHandle}`\n ) : e.reference !== void 0 ? new Error(\n `Expected function reference in the current component like \"api.file.func\" or \"internal.file.func\", but received reference ${e.reference}`\n ) : new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received ${JSON.stringify(e)}`\n );\n if (typeof t == \"string\") return t;\n const n = t[Jn];\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n return n;\n}\nfunction vo(t) {\n return { [Jn]: t };\n}\nfunction ml(t = []) {\n const e = {\n get(n, r) {\n if (typeof r == \"string\") {\n const i = [...t, r];\n return ml(i);\n } else if (r === Jn) {\n if (t.length < 2) {\n const a = [\"api\", ...t].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`api.moduleName.functionName\\`. Found: \\`${a}\\``\n );\n }\n const i = t.slice(0, -1).join(\"/\"), o = t[t.length - 1];\n return o === \"default\" ? i : i + \":\" + o;\n } else return r === Symbol.toStringTag ? \"FunctionReference\" : void 0;\n }\n };\n return new Proxy({}, e);\n}\nml();\nvar ud = Object.defineProperty, dd = (t, e, n) => e in t ? ud(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, qr = (t, e, n) => dd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass er {\n constructor(e) {\n qr(this, \"queryResults\"), qr(this, \"modifiedQueries\"), this.queryResults = e, this.modifiedQueries = [];\n }\n getQuery(e, ...n) {\n const r = _t(n[0]), i = De(e), o = this.queryResults.get(\n Kt(i, r)\n );\n if (o !== void 0)\n return er.queryValue(o.result);\n }\n getAllQueries(e) {\n const n = [], r = De(e);\n for (const i of this.queryResults.values())\n i.udfPath === Xt(r) && n.push({\n args: i.args,\n value: er.queryValue(i.result)\n });\n return n;\n }\n setQuery(e, n, r) {\n const i = _t(n), o = De(e), a = Kt(o, i);\n let l;\n r === void 0 ? l = void 0 : l = {\n success: !0,\n value: r,\n // It's an optimistic update, so there are no function logs to show.\n logLines: []\n };\n const c = {\n udfPath: o,\n args: i,\n result: l\n };\n this.queryResults.set(a, c), this.modifiedQueries.push(a);\n }\n static queryValue(e) {\n if (e !== void 0)\n return e.success ? e.value : void 0;\n }\n}\nclass hd {\n constructor() {\n qr(this, \"queryResults\"), qr(this, \"optimisticUpdates\"), this.queryResults = /* @__PURE__ */ new Map(), this.optimisticUpdates = [];\n }\n /**\n * Apply all optimistic updates on top of server query results\n */\n ingestQueryResultsFromServer(e, n) {\n this.optimisticUpdates = this.optimisticUpdates.filter((a) => !n.has(a.mutationId));\n const r = this.queryResults;\n this.queryResults = new Map(e);\n const i = new er(this.queryResults);\n for (const a of this.optimisticUpdates)\n a.update(i);\n const o = [];\n for (const [a, l] of this.queryResults) {\n const c = r.get(a);\n (c === void 0 || c.result !== l.result) && o.push(a);\n }\n return o;\n }\n applyOptimisticUpdate(e, n) {\n this.optimisticUpdates.push({\n update: e,\n mutationId: n\n });\n const r = new er(this.queryResults);\n return e(r), r.modifiedQueries;\n }\n /**\n * \"Raw\" with respect to errors vs values, but query results still have\n * optimistic updates applied.\n *\n * @internal\n */\n rawQueryResult(e) {\n const n = this.queryResults.get(e);\n if (n !== void 0)\n return n.result;\n }\n queryResult(e) {\n const n = this.queryResults.get(e);\n if (n === void 0)\n return;\n const r = n.result;\n if (r !== void 0) {\n if (r.success)\n return r.value;\n throw r.errorData !== void 0 ? Vi(\n r,\n new $r(\n gn(\"query\", n.udfPath, r)\n )\n ) : new Error(\n gn(\"query\", n.udfPath, r)\n );\n }\n }\n hasQueryResult(e) {\n return this.queryResults.get(e) !== void 0;\n }\n /**\n * @internal\n */\n queryLogs(e) {\n return this.queryResults.get(e)?.result?.logLines;\n }\n}\nvar fd = Object.defineProperty, pd = (t, e, n) => e in t ? fd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Si = (t, e, n) => pd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Fe {\n constructor(e, n) {\n Si(this, \"low\"), Si(this, \"high\"), Si(this, \"__isUnsignedLong__\"), this.low = e | 0, this.high = n | 0, this.__isUnsignedLong__ = !0;\n }\n static isLong(e) {\n return (e && e.__isUnsignedLong__) === !0;\n }\n // prettier-ignore\n static fromBytesLE(e) {\n return new Fe(\n e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24,\n e[4] | e[5] << 8 | e[6] << 16 | e[7] << 24\n );\n }\n // prettier-ignore\n toBytesLE() {\n const e = this.high, n = this.low;\n return [\n n & 255,\n n >>> 8 & 255,\n n >>> 16 & 255,\n n >>> 24,\n e & 255,\n e >>> 8 & 255,\n e >>> 16 & 255,\n e >>> 24\n ];\n }\n static fromNumber(e) {\n return isNaN(e) || e < 0 ? Aa : e >= md ? gd : new Fe(e % Gn | 0, e / Gn | 0);\n }\n toString() {\n return (BigInt(this.high) * BigInt(Gn) + BigInt(this.low)).toString();\n }\n equals(e) {\n return Fe.isLong(e) || (e = Fe.fromValue(e)), this.high >>> 31 === 1 && e.high >>> 31 === 1 ? !1 : this.high === e.high && this.low === e.low;\n }\n notEquals(e) {\n return !this.equals(e);\n }\n comp(e) {\n return Fe.isLong(e) || (e = Fe.fromValue(e)), this.equals(e) ? 0 : e.high >>> 0 > this.high >>> 0 || e.high === this.high && e.low >>> 0 > this.low >>> 0 ? -1 : 1;\n }\n lessThanOrEqual(e) {\n return this.comp(\n /* validates */\n e\n ) <= 0;\n }\n static fromValue(e) {\n return typeof e == \"number\" ? Fe.fromNumber(e) : new Fe(e.low, e.high);\n }\n}\nconst Aa = new Fe(0, 0), Ra = 65536, Gn = Ra * Ra, md = Gn * Gn, gd = new Fe(-1, -1);\nvar xd = Object.defineProperty, bd = (t, e, n) => e in t ? xd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, kr = (t, e, n) => bd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Ea {\n constructor(e, n) {\n kr(this, \"version\"), kr(this, \"remoteQuerySet\"), kr(this, \"queryPath\"), kr(this, \"logger\"), this.version = { querySet: 0, ts: Fe.fromNumber(0), identity: 0 }, this.remoteQuerySet = /* @__PURE__ */ new Map(), this.queryPath = e, this.logger = n;\n }\n transition(e) {\n const n = e.startVersion;\n if (this.version.querySet !== n.querySet || this.version.ts.notEquals(n.ts) || this.version.identity !== n.identity)\n throw new Error(\n `Invalid start version: ${n.ts.toString()}:${n.querySet}:${n.identity}, transitioning from ${this.version.ts.toString()}:${this.version.querySet}:${this.version.identity}`\n );\n for (const r of e.modifications)\n switch (r.type) {\n case \"QueryUpdated\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const a of r.logLines)\n Dr(this.logger, \"info\", \"query\", i, a);\n const o = kn(r.value ?? null);\n this.remoteQuerySet.set(r.queryId, {\n success: !0,\n value: o,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryFailed\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const a of r.logLines)\n Dr(this.logger, \"info\", \"query\", i, a);\n const { errorData: o } = r;\n this.remoteQuerySet.set(r.queryId, {\n success: !1,\n errorMessage: r.errorMessage,\n errorData: o !== void 0 ? kn(o) : void 0,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryRemoved\": {\n this.remoteQuerySet.delete(r.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${r.type}`);\n }\n this.version = e.endVersion;\n }\n remoteQueryResults() {\n return this.remoteQuerySet;\n }\n timestamp() {\n return this.version.ts;\n }\n}\nfunction Ti(t) {\n const e = Xn(t);\n return Fe.fromBytesLE(Array.from(e));\n}\nfunction vd(t) {\n const e = new Uint8Array(t.toBytesLE());\n return Zn(e);\n}\nfunction Ia(t) {\n switch (t.type) {\n case \"FatalError\":\n case \"AuthError\":\n case \"ActionResponse\":\n case \"TransitionChunk\":\n case \"Ping\":\n return { ...t };\n case \"MutationResponse\":\n return t.success ? { ...t, ts: Ti(t.ts) } : { ...t };\n case \"Transition\":\n return {\n ...t,\n startVersion: {\n ...t.startVersion,\n ts: Ti(t.startVersion.ts)\n },\n endVersion: {\n ...t.endVersion,\n ts: Ti(t.endVersion.ts)\n }\n };\n }\n}\nfunction yd(t) {\n switch (t.type) {\n case \"Authenticate\":\n case \"ModifyQuerySet\":\n case \"Mutation\":\n case \"Action\":\n case \"Event\":\n return { ...t };\n case \"Connect\":\n return t.maxObservedTimestamp !== void 0 ? {\n ...t,\n maxObservedTimestamp: vd(t.maxObservedTimestamp)\n } : { ...t, maxObservedTimestamp: void 0 };\n }\n}\nvar wd = Object.defineProperty, kd = (t, e, n) => e in t ? wd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, be = (t, e, n) => kd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst _d = 1e3, jd = 1001, Sd = 1005, Td = 4040;\nlet Er;\nfunction fn() {\n return Er === void 0 && (Er = Date.now()), typeof performance > \"u\" || !performance.now ? Date.now() : Math.round(Er + performance.now());\n}\nfunction Ma() {\n return `t=${Math.round((fn() - Er) / 100) / 10}s`;\n}\nconst gl = {\n // A known error, e.g. during a restart or push\n InternalServerError: { timeout: 1e3 },\n // ErrorMetadata::overloaded() messages that we realy should back off\n SubscriptionsWorkerFullError: { timeout: 3e3 },\n TooManyConcurrentRequests: { timeout: 3e3 },\n CommitterFullError: { timeout: 3e3 },\n AwsTooManyRequestsException: { timeout: 3e3 },\n ExecuteFullError: { timeout: 3e3 },\n SystemTimeoutError: { timeout: 3e3 },\n ExpiredInQueue: { timeout: 3e3 },\n // ErrorMetadata::feature_temporarily_unavailable() that typically indicate a deploy just happened\n VectorIndexesUnavailable: { timeout: 1e3 },\n SearchIndexesUnavailable: { timeout: 1e3 },\n TableSummariesUnavailable: { timeout: 1e3 },\n // More ErrorMetadata::overloaded()\n VectorIndexTooLarge: { timeout: 3e3 },\n SearchIndexTooLarge: { timeout: 3e3 },\n TooManyWritesInTimePeriod: { timeout: 3e3 }\n};\nfunction Cd(t) {\n if (t === void 0) return \"Unknown\";\n for (const e of Object.keys(\n gl\n ))\n if (t.startsWith(e))\n return e;\n return \"Unknown\";\n}\nclass Ad {\n constructor(e, n, r, i, o, a) {\n this.markConnectionStateDirty = o, this.debug = a, be(this, \"socket\"), be(this, \"connectionCount\"), be(this, \"_hasEverConnected\", !1), be(this, \"lastCloseReason\"), be(this, \"transitionChunkBuffer\", null), be(this, \"defaultInitialBackoff\"), be(this, \"maxBackoff\"), be(this, \"retries\"), be(this, \"serverInactivityThreshold\"), be(this, \"reconnectDueToServerInactivityTimeout\"), be(this, \"scheduledReconnect\", null), be(this, \"networkOnlineHandler\", null), be(this, \"pendingNetworkRecoveryInfo\", null), be(this, \"uri\"), be(this, \"onOpen\"), be(this, \"onResume\"), be(this, \"onMessage\"), be(this, \"webSocketConstructor\"), be(this, \"logger\"), be(this, \"onServerDisconnectError\"), this.webSocketConstructor = r, this.socket = { state: \"disconnected\" }, this.connectionCount = 0, this.lastCloseReason = \"InitialConnect\", this.defaultInitialBackoff = 1e3, this.maxBackoff = 16e3, this.retries = 0, this.serverInactivityThreshold = 6e4, this.reconnectDueToServerInactivityTimeout = null, this.uri = e, this.onOpen = n.onOpen, this.onResume = n.onResume, this.onMessage = n.onMessage, this.onServerDisconnectError = n.onServerDisconnectError, this.logger = i, this.setupNetworkListener(), this.connect();\n }\n setSocketState(e) {\n this.socket = e, this._logVerbose(\n `socket state changed: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}`\n ), this.markConnectionStateDirty();\n }\n setupNetworkListener() {\n typeof window > \"u\" || typeof window.addEventListener != \"function\" || this.networkOnlineHandler === null && (this.networkOnlineHandler = () => {\n this._logVerbose(\"network online event detected\"), this.tryReconnectImmediately();\n }, window.addEventListener(\"online\", this.networkOnlineHandler), this._logVerbose(\"network online event listener registered\"));\n }\n cleanupNetworkListener() {\n this.networkOnlineHandler && typeof window < \"u\" && typeof window.removeEventListener == \"function\" && (window.removeEventListener(\"online\", this.networkOnlineHandler), this.networkOnlineHandler = null, this._logVerbose(\"network online event listener removed\"));\n }\n assembleTransition(e) {\n if (e.partNumber < 0 || e.partNumber >= e.totalParts || e.totalParts === 0 || this.transitionChunkBuffer && (this.transitionChunkBuffer.totalParts !== e.totalParts || this.transitionChunkBuffer.transitionId !== e.transitionId))\n throw this.transitionChunkBuffer = null, new Error(\"Invalid TransitionChunk\");\n if (this.transitionChunkBuffer === null && (this.transitionChunkBuffer = {\n chunks: [],\n totalParts: e.totalParts,\n transitionId: e.transitionId\n }), e.partNumber !== this.transitionChunkBuffer.chunks.length) {\n const n = this.transitionChunkBuffer.chunks.length;\n throw this.transitionChunkBuffer = null, new Error(\n `TransitionChunk received out of order: expected part ${n}, got ${e.partNumber}`\n );\n }\n if (this.transitionChunkBuffer.chunks.push(e.chunk), this.transitionChunkBuffer.chunks.length === e.totalParts) {\n const n = this.transitionChunkBuffer.chunks.join(\"\");\n this.transitionChunkBuffer = null;\n const r = Ia(JSON.parse(n));\n if (r.type !== \"Transition\")\n throw new Error(\n `Expected Transition, got ${r.type} after assembling chunks`\n );\n return r;\n }\n return null;\n }\n connect() {\n if (this.socket.state === \"terminated\")\n return;\n if (this.socket.state !== \"disconnected\" && this.socket.state !== \"stopped\")\n throw new Error(\n \"Didn't start connection from disconnected state: \" + this.socket.state\n );\n const e = new this.webSocketConstructor(this.uri);\n this._logVerbose(\"constructed WebSocket\"), this.setSocketState({\n state: \"connecting\",\n ws: e,\n paused: \"no\"\n }), this.resetServerInactivityTimeout(), e.onopen = () => {\n if (this.logger.logVerbose(\"begin ws.onopen\"), this.socket.state !== \"connecting\")\n throw new Error(\"onopen called with socket not in connecting state\");\n if (this.setSocketState({\n state: \"ready\",\n ws: e,\n paused: this.socket.paused === \"yes\" ? \"uninitialized\" : \"no\"\n }), this.resetServerInactivityTimeout(), this.socket.paused === \"no\" && (this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: fn()\n })), this.lastCloseReason !== \"InitialConnect\" && (this.lastCloseReason ? this.logger.log(\n \"WebSocket reconnected at\",\n Ma(),\n \"after disconnect due to\",\n this.lastCloseReason\n ) : this.logger.log(\"WebSocket reconnected at\", Ma())), this.connectionCount += 1, this.lastCloseReason = null, this.pendingNetworkRecoveryInfo !== null) {\n const { timeSavedMs: n } = this.pendingNetworkRecoveryInfo;\n this.pendingNetworkRecoveryInfo = null, this.sendMessage({\n type: \"Event\",\n eventType: \"NetworkRecoveryReconnect\",\n event: { timeSavedMs: n }\n }), this.logger.log(\n `Network recovery reconnect saved ~${Math.round(n / 1e3)}s of waiting`\n );\n }\n }, e.onerror = (n) => {\n this.transitionChunkBuffer = null;\n const r = n.message;\n r && this.logger.log(`WebSocket error message: ${r}`);\n }, e.onmessage = (n) => {\n this.resetServerInactivityTimeout();\n const r = n.data.length;\n let i = Ia(JSON.parse(n.data));\n if (this._logVerbose(`received ws message with type ${i.type}`), i.type === \"Ping\")\n return;\n if (i.type === \"TransitionChunk\") {\n const a = this.assembleTransition(i);\n if (!a)\n return;\n i = a, this._logVerbose(\n `assembled full ws message of type ${i.type}`\n );\n }\n this.transitionChunkBuffer !== null && (this.transitionChunkBuffer = null, this.logger.log(\n `Received unexpected ${i.type} while buffering TransitionChunks`\n )), i.type === \"Transition\" && this.reportLargeTransition({\n messageLength: r,\n transition: i\n }), this.onMessage(i).hasSyncedPastLastReconnect && (this.retries = 0, this.markConnectionStateDirty());\n }, e.onclose = (n) => {\n if (this._logVerbose(\"begin ws.onclose\"), this.transitionChunkBuffer = null, this.lastCloseReason === null && (this.lastCloseReason = n.reason || `closed with code ${n.code}`), n.code !== _d && n.code !== jd && // This commonly gets fired on mobile apps when the app is backgrounded\n n.code !== Sd && n.code !== Td) {\n let i = `WebSocket closed with code ${n.code}`;\n n.reason && (i += `: ${n.reason}`), this.logger.log(i), this.onServerDisconnectError && n.reason && this.onServerDisconnectError(i);\n }\n const r = Cd(n.reason);\n this.scheduleReconnect(r);\n };\n }\n /**\n * @returns The state of the {@link Socket}.\n */\n socketState() {\n return this.socket.state;\n }\n /**\n * @param message - A ClientMessage to send.\n * @returns Whether the message (might have been) sent.\n */\n sendMessage(e) {\n const n = {\n type: e.type,\n ...e.type === \"Authenticate\" && e.tokenType === \"User\" ? {\n value: `...${e.value.slice(-7)}`\n } : {}\n };\n if (this.socket.state === \"ready\" && this.socket.paused === \"no\") {\n const r = yd(e), i = JSON.stringify(r);\n let o = !1;\n try {\n this.socket.ws.send(i), o = !0;\n } catch (a) {\n this.logger.log(\n `Failed to send message on WebSocket, reconnecting: ${a}`\n ), this.closeAndReconnect(\"FailedToSendMessage\");\n }\n return this._logVerbose(\n `${o ? \"sent\" : \"failed to send\"} message with type ${e.type}: ${JSON.stringify(\n n\n )}`\n ), !0;\n }\n return this._logVerbose(\n `message not sent (socket state: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}): ${JSON.stringify(\n n\n )}`\n ), !1;\n }\n resetServerInactivityTimeout() {\n this.socket.state !== \"terminated\" && (this.reconnectDueToServerInactivityTimeout !== null && (clearTimeout(this.reconnectDueToServerInactivityTimeout), this.reconnectDueToServerInactivityTimeout = null), this.reconnectDueToServerInactivityTimeout = setTimeout(() => {\n this.closeAndReconnect(\"InactiveServer\");\n }, this.serverInactivityThreshold));\n }\n scheduleReconnect(e) {\n this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.socket = { state: \"disconnected\" };\n const n = this.nextBackoff(e);\n this.markConnectionStateDirty(), this.logger.log(`Attempting reconnect in ${Math.round(n)}ms`);\n const r = fn(), i = setTimeout(() => {\n this.scheduledReconnect?.timeout === i && (this.scheduledReconnect = null, this.connect());\n }, n);\n this.scheduledReconnect = {\n timeout: i,\n scheduledAt: r,\n backoffMs: n\n };\n }\n /**\n * Close the WebSocket and schedule a reconnect.\n *\n * This should be used when we hit an error and would like to restart the session.\n */\n closeAndReconnect(e) {\n switch (this._logVerbose(`begin closeAndReconnect with reason ${e}`), this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.lastCloseReason = e, this.close(), this.scheduleReconnect(\"client\");\n return;\n }\n default:\n this.socket;\n }\n }\n /**\n * Close the WebSocket, being careful to clear the onclose handler to avoid re-entrant\n * calls. Use this instead of directly calling `ws.close()`\n *\n * It is the callers responsibility to update the state after this method is called so that the\n * closed socket is not accessible or used again after this method is called\n */\n close() {\n switch (this.transitionChunkBuffer = null, this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return Promise.resolve();\n case \"connecting\": {\n const e = this.socket.ws;\n return e.onmessage = (n) => {\n this._logVerbose(\"Ignoring message received after close\");\n }, new Promise((n) => {\n e.onclose = () => {\n this._logVerbose(\"Closed after connecting\"), n();\n }, e.onopen = () => {\n this._logVerbose(\"Opened after connecting\"), e.close();\n };\n });\n }\n case \"ready\": {\n this._logVerbose(\"ws.close called\");\n const e = this.socket.ws;\n e.onmessage = (r) => {\n this._logVerbose(\"Ignoring message received after close\");\n };\n const n = new Promise((r) => {\n e.onclose = () => {\n r();\n };\n });\n return e.close(), n;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Close the WebSocket and do not reconnect.\n * @returns A Promise that resolves when the WebSocket `onClose` callback is called.\n */\n terminate() {\n switch (this.reconnectDueToServerInactivityTimeout && clearTimeout(this.reconnectDueToServerInactivityTimeout), this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.cleanupNetworkListener(), this.socket.state) {\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n case \"connecting\":\n case \"ready\": {\n const e = this.close();\n return this.setSocketState({ state: \"terminated\" }), e;\n }\n default:\n throw this.socket, new Error(\n `Invalid websocket state: ${this.socket.state}`\n );\n }\n }\n stop() {\n switch (this.socket.state) {\n case \"terminated\":\n return Promise.resolve();\n case \"connecting\":\n case \"stopped\":\n case \"disconnected\":\n case \"ready\": {\n this.cleanupNetworkListener();\n const e = this.close();\n return this.socket = { state: \"stopped\" }, e;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Create a new WebSocket after a previous `stop()`, unless `terminate()` was\n * called before.\n */\n tryRestart() {\n switch (this.socket.state) {\n case \"stopped\":\n break;\n case \"terminated\":\n case \"connecting\":\n case \"ready\":\n case \"disconnected\":\n this.logger.logVerbose(\"Restart called without stopping first\");\n return;\n default:\n this.socket;\n }\n this.setupNetworkListener(), this.connect();\n }\n pause() {\n switch (this.socket.state) {\n case \"disconnected\":\n case \"stopped\":\n case \"terminated\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.socket = { ...this.socket, paused: \"yes\" };\n return;\n }\n default: {\n this.socket;\n return;\n }\n }\n }\n /**\n * Try to reconnect immediately, canceling any scheduled reconnect.\n * This is useful when detecting network recovery.\n * Only takes action if we're in disconnected state (waiting to reconnect).\n */\n tryReconnectImmediately() {\n if (this._logVerbose(\"tryReconnectImmediately called\"), this.socket.state !== \"disconnected\") {\n this._logVerbose(\n `tryReconnectImmediately called but socket state is ${this.socket.state}, no action taken`\n );\n return;\n }\n let e = null;\n if (this.scheduledReconnect) {\n const n = fn() - this.scheduledReconnect.scheduledAt;\n e = Math.max(0, this.scheduledReconnect.backoffMs - n), this._logVerbose(\n `would have waited ${Math.round(e)}ms more (backoff was ${Math.round(this.scheduledReconnect.backoffMs)}ms, elapsed ${Math.round(n)}ms)`\n ), clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null, this._logVerbose(\"canceled scheduled reconnect\");\n }\n this.logger.log(\"Network recovery detected, reconnecting immediately\"), this.pendingNetworkRecoveryInfo = e !== null ? { timeSavedMs: e } : null, this.connect();\n }\n /**\n * Resume the state machine if previously paused.\n */\n resume() {\n switch (this.socket.state) {\n case \"connecting\":\n this.socket = { ...this.socket, paused: \"no\" };\n return;\n case \"ready\":\n this.socket.paused === \"uninitialized\" ? (this.socket = { ...this.socket, paused: \"no\" }, this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: fn()\n })) : this.socket.paused === \"yes\" && (this.socket = { ...this.socket, paused: \"no\" }, this.onResume());\n return;\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n return;\n default:\n this.socket;\n }\n this.connect();\n }\n connectionState() {\n return {\n isConnected: this.socket.state === \"ready\",\n hasEverConnected: this._hasEverConnected,\n connectionCount: this.connectionCount,\n connectionRetries: this.retries\n };\n }\n _logVerbose(e) {\n this.logger.logVerbose(e);\n }\n nextBackoff(e) {\n const r = (e === \"client\" ? 100 : e === \"Unknown\" ? this.defaultInitialBackoff : gl[e].timeout) * Math.pow(2, this.retries);\n this.retries += 1;\n const i = Math.min(r, this.maxBackoff), o = i * (Math.random() - 0.5);\n return i + o;\n }\n reportLargeTransition({\n transition: e,\n messageLength: n\n }) {\n if (e.clientClockSkew === void 0 || e.serverTs === void 0)\n return;\n const r = fn() - // client time now\n // clientClockSkew = (server time + upstream latency) - client time\n // clientClockSkew is \"how many milliseconds behind (slow) is the client clock\"\n // but the latency of the Connect message inflates this, making it appear further behind\n e.clientClockSkew - e.serverTs / 1e6, i = `${Math.round(r)}ms`, o = `${Math.round(n / 1e4) / 100}MB`, a = n / (r / 1e3), l = `${Math.round(a / 1e4) / 100}MB per second`;\n this._logVerbose(\n `received ${o} transition in ${i} at ${l}`\n ), n > 2e7 ? this.logger.log(\n `received query results totaling more that 20MB (${o}) which will take a long time to download on slower connections`\n ) : r > 2e4 && this.logger.log(\n `received query results totaling ${o} which took more than 20s to arrive (${i})`\n ), this.debug && this.sendMessage({\n type: \"Event\",\n eventType: \"ClientReceivedTransition\",\n event: { transitionTransitTime: r, messageLength: n }\n });\n }\n}\nfunction Rd() {\n return Ed();\n}\nfunction Ed() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (t) => {\n const e = Math.random() * 16 | 0;\n return (t === \"x\" ? e : e & 3 | 8).toString(16);\n });\n}\nclass Fn extends Error {\n}\nFn.prototype.name = \"InvalidTokenError\";\nfunction Id(t) {\n return decodeURIComponent(\n atob(t).replace(/(.)/g, (e, n) => {\n let r = n.charCodeAt(0).toString(16).toUpperCase();\n return r.length < 2 && (r = \"0\" + r), \"%\" + r;\n })\n );\n}\nfunction Md(t) {\n let e = t.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (e.length % 4) {\n case 0:\n break;\n case 2:\n e += \"==\";\n break;\n case 3:\n e += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return Id(e);\n } catch {\n return atob(e);\n }\n}\nfunction xl(t, e) {\n if (typeof t != \"string\")\n throw new Fn(\"Invalid token specified: must be a string\");\n e || (e = {});\n const n = e.header === !0 ? 0 : 1, r = t.split(\".\")[n];\n if (typeof r != \"string\")\n throw new Fn(\n `Invalid token specified: missing part #${n + 1}`\n );\n let i;\n try {\n i = Md(r);\n } catch (o) {\n throw new Fn(\n `Invalid token specified: invalid base64 for part #${n + 1} (${o.message})`\n );\n }\n try {\n return JSON.parse(i);\n } catch (o) {\n throw new Fn(\n `Invalid token specified: invalid json for part #${n + 1} (${o.message})`\n );\n }\n}\nvar Pd = Object.defineProperty, Nd = (t, e, n) => e in t ? Pd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ze = (t, e, n) => Nd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Ld = 480 * 60 * 60 * 1e3, Pa = 2;\nclass Od {\n constructor(e, n, r) {\n ze(this, \"authState\", { state: \"noAuth\" }), ze(this, \"configVersion\", 0), ze(this, \"syncState\"), ze(this, \"authenticate\"), ze(this, \"stopSocket\"), ze(this, \"tryRestartSocket\"), ze(this, \"pauseSocket\"), ze(this, \"resumeSocket\"), ze(this, \"clearAuth\"), ze(this, \"logger\"), ze(this, \"refreshTokenLeewaySeconds\"), ze(this, \"initialAuthTokenReuse\"), ze(this, \"lastRefreshChange\"), ze(this, \"tokenConfirmationAttempts\", 0), this.syncState = e, this.authenticate = n.authenticate, this.stopSocket = n.stopSocket, this.tryRestartSocket = n.tryRestartSocket, this.pauseSocket = n.pauseSocket, this.resumeSocket = n.resumeSocket, this.clearAuth = n.clearAuth, this.logger = r.logger, this.refreshTokenLeewaySeconds = r.refreshTokenLeewaySeconds, this.initialAuthTokenReuse = r.initialAuthTokenReuse, this.lastRefreshChange = !1;\n }\n notifyRefreshChange(e) {\n this.authState.state !== \"noAuth\" && this.authState.state !== \"initialRefetch\" && this.authState.config.onRefreshChange && this.lastRefreshChange !== e && (this.lastRefreshChange = e, this.authState.config.onRefreshChange(e));\n }\n async setConfig(e, n, r) {\n this.resetAuthState(), this._logVerbose(\"pausing WS for auth token fetch\"), this.pauseSocket();\n const i = await this.fetchTokenAndGuardAgainstRace(e, {\n forceRefreshToken: !1\n });\n if (i.isFromOutdatedConfig)\n return;\n const o = {\n fetchToken: e,\n onAuthChange: n,\n onRefreshChange: r\n };\n i.value ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfCachedToken\",\n config: o,\n hasRetried: !1\n }), this.authenticate(i.value)) : (this.setAuthState({\n state: \"initialRefetch\",\n config: o\n }), await this.refetchToken()), this._logVerbose(\"resuming WS after auth token fetch\"), this.resumeSocket();\n }\n onTransition(e) {\n if (this.syncState.isCurrentOrNewerAuthVersion(\n e.endVersion.identity\n ) && !(e.endVersion.identity <= e.startVersion.identity)) {\n if (this._logVerbose(\n `auth state is ${this.authState.state} when handling transition`\n ), this.syncState.markAuthCompletion(), this.authState.state === \"waitingForServerConfirmationOfCachedToken\") {\n this._logVerbose(\"server confirmed auth token is valid\");\n const n = this.syncState.getAuth()?.value;\n this.initialAuthTokenReuse && n ? this.scheduleTokenRefetch(n, e.clientClockSkew) : this.refetchToken(), this.authState.config.onAuthChange(!0);\n return;\n }\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this._logVerbose(\"server confirmed new auth token is valid\"), this.notifyRefreshChange(!1), this.scheduleTokenRefetch(this.authState.token), this.tokenConfirmationAttempts = 0, this.authState.hadAuth || this.authState.config.onAuthChange(!0));\n }\n }\n onAuthError(e) {\n if (e.authUpdateAttempted === !1 && (this.authState.state === \"waitingForServerConfirmationOfFreshToken\" || this.authState.state === \"waitingForServerConfirmationOfCachedToken\")) {\n this._logVerbose(\"ignoring non-auth token expired error\");\n return;\n }\n const { baseVersion: n } = e;\n if (!this.syncState.isCurrentOrNewerAuthVersion(n + 1)) {\n this._logVerbose(\"ignoring auth error for previous auth attempt\");\n return;\n }\n this.tryToReauthenticate(e);\n }\n // This is similar to `refetchToken` defined below, in fact we\n // don't represent them as different states, but it is different\n // in that we pause the WebSocket so that mutations\n // don't retry with bad auth.\n async tryToReauthenticate(e) {\n if (this._logVerbose(`attempting to reauthenticate: ${e.error}`), // No way to fetch another token, kaboom\n this.authState.state === \"noAuth\" || // We failed on a fresh token. After a small number of retries, we give up\n // and clear the auth state to avoid infinite retries.\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && this.tokenConfirmationAttempts >= Pa) {\n this.logger.error(\n `Failed to authenticate: \"${e.error}\", check your server auth config`\n ), this.syncState.hasAuth() && this.syncState.clearAuth(), this.authState.state !== \"noAuth\" && this.setAndReportAuthFailed(this.authState.config.onAuthChange);\n return;\n }\n if (this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this.tokenConfirmationAttempts++, this._logVerbose(\n `retrying reauthentication, ${Pa - this.tokenConfirmationAttempts} attempts remaining`\n )), this.notifyRefreshChange(!0), await this.stopSocket(), this.authState.state === \"noAuth\")\n return;\n const n = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n n.isFromOutdatedConfig || (n.value && this.syncState.isNewAuth(n.value) ? (this.authenticate(n.value), this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n config: this.authState.config,\n token: n.value,\n hadAuth: this.authState.state === \"notRefetching\" || this.authState.state === \"waitingForScheduledRefetch\"\n })) : (this._logVerbose(\"reauthentication failed, could not fetch a new token\"), this.syncState.hasAuth() && this.syncState.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this.tryRestartSocket());\n }\n // Force refetch the token and schedule another refetch\n // before the token expires - an active client should never\n // need to reauthenticate.\n async refetchToken() {\n if (this.authState.state === \"noAuth\")\n return;\n this._logVerbose(\"refetching auth token\");\n const e = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n e.isFromOutdatedConfig || (e.value ? this.syncState.isNewAuth(e.value) ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n hadAuth: this.syncState.hasAuth(),\n token: e.value,\n config: this.authState.config\n }), this.authenticate(e.value)) : this.setAuthState({\n state: \"notRefetching\",\n config: this.authState.config\n }) : (this._logVerbose(\"refetching token failed\"), this.syncState.hasAuth() && this.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this._logVerbose(\n \"restarting WS after auth token fetch (if currently stopped)\"\n ), this.tryRestartSocket());\n }\n scheduleTokenRefetch(e, n) {\n if (this.authState.state === \"noAuth\")\n return;\n const r = this.decodeToken(e);\n if (!r) {\n this.logger.error(\n \"Auth token is not a valid JWT, cannot refetch the token\"\n );\n return;\n }\n const { iat: i, exp: o } = r;\n if (!i || !o) {\n this.logger.error(\n \"Auth token does not have required fields, cannot refetch the token\"\n );\n return;\n }\n const a = o - i;\n if (a <= 2) {\n this.logger.error(\n \"Auth token does not live long enough, cannot refetch the token\"\n );\n return;\n }\n let l;\n if (n !== void 0) {\n const d = (Date.now() - n) / 1e3;\n l = o - d, l <= 0 && (l = 0);\n } else\n l = a;\n let c = Math.min(\n Ld,\n (l - this.refreshTokenLeewaySeconds) * 1e3\n );\n c <= 0 && (this.logger.warn(\n `Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${l}s`\n ), c = 0);\n const u = setTimeout(() => {\n this._logVerbose(\"running scheduled token refetch\"), this.refetchToken();\n }, c);\n this.setAuthState({\n state: \"waitingForScheduledRefetch\",\n refetchTokenTimeoutId: u,\n config: this.authState.config\n }), this._logVerbose(\n `scheduled preemptive auth token refetching in ${c}ms`\n );\n }\n // Protects against simultaneous calls to `setConfig`\n // while we're fetching a token\n async fetchTokenAndGuardAgainstRace(e, n) {\n const r = ++this.configVersion;\n this._logVerbose(\n `fetching token with config version ${r}`\n );\n const i = await e(n);\n return this.configVersion !== r ? (this._logVerbose(\n `stale config version, expected ${r}, got ${this.configVersion}`\n ), { isFromOutdatedConfig: !0 }) : { isFromOutdatedConfig: !1, value: i };\n }\n stop() {\n this.resetAuthState(), this.configVersion++, this._logVerbose(`config version bumped to ${this.configVersion}`);\n }\n setAndReportAuthFailed(e) {\n e(!1), this.resetAuthState();\n }\n // The sole path to `state === \"noAuth\"`; consumers rely on this firing\n // `notifyRefreshChange(false)` to pair any in-flight `(true)`. May run\n // when refresh state is already false.\n resetAuthState() {\n this.notifyRefreshChange(!1), this.setAuthState({ state: \"noAuth\" });\n }\n setAuthState(e) {\n const n = e.state === \"waitingForServerConfirmationOfFreshToken\" ? {\n hadAuth: e.hadAuth,\n state: e.state,\n token: `...${e.token.slice(-7)}`\n } : { state: e.state };\n switch (this._logVerbose(\n `setting auth state to ${JSON.stringify(n)}`\n ), e.state) {\n case \"waitingForScheduledRefetch\":\n case \"notRefetching\":\n case \"noAuth\":\n this.tokenConfirmationAttempts = 0;\n break;\n }\n this.authState.state === \"waitingForScheduledRefetch\" && clearTimeout(this.authState.refetchTokenTimeoutId), this.authState = e;\n }\n decodeToken(e) {\n try {\n return xl(e);\n } catch (n) {\n return this._logVerbose(\n `Error decoding token: ${n instanceof Error ? n.message : \"Unknown error\"}`\n ), null;\n }\n }\n _logVerbose(e) {\n this.logger.logVerbose(`${e} [v${this.configVersion}]`);\n }\n}\nconst $d = [\n \"convexClientConstructed\",\n \"convexWebSocketOpen\",\n \"convexFirstMessageReceived\"\n];\nfunction Dd(t, e) {\n const n = { sessionId: e };\n typeof performance > \"u\" || !performance.mark || performance.mark(t, { detail: n });\n}\nfunction qd(t) {\n let e = t.name.slice(6);\n return e = e.charAt(0).toLowerCase() + e.slice(1), {\n name: e,\n startTime: t.startTime\n };\n}\nfunction zd(t) {\n if (typeof performance > \"u\" || !performance.getEntriesByName)\n return [];\n const e = [];\n for (const n of $d) {\n const r = performance.getEntriesByName(n).filter((i) => i.entryType === \"mark\").filter((i) => i.detail.sessionId === t);\n e.push(...r);\n }\n return e.map(qd);\n}\nvar Fd = Object.defineProperty, Ud = (t, e, n) => e in t ? Fd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ve = (t, e, n) => Ud(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Bd {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param onTransition - A callback receiving an array of query tokens\n * corresponding to query results that have changed -- additional handlers\n * can be added via `addOnTransitionHandler`.\n * @param options - See {@link BaseConvexClientOptions} for a full description.\n */\n constructor(e, n, r) {\n if (ve(this, \"address\"), ve(this, \"state\"), ve(this, \"requestManager\"), ve(this, \"webSocketManager\"), ve(this, \"authenticationManager\"), ve(this, \"remoteQuerySet\"), ve(this, \"optimisticQueryResults\"), ve(this, \"_transitionHandlerCounter\", 0), ve(this, \"_nextRequestId\"), ve(this, \"_onTransitionFns\", /* @__PURE__ */ new Map()), ve(this, \"_sessionId\"), ve(this, \"firstMessageReceived\", !1), ve(this, \"debug\"), ve(this, \"logger\"), ve(this, \"maxObservedTimestamp\"), ve(this, \"connectionStateSubscribers\", /* @__PURE__ */ new Map()), ve(this, \"nextConnectionStateSubscriberId\", 0), ve(this, \"_lastPublishedConnectionState\"), ve(this, \"markConnectionStateDirty\", () => {\n Promise.resolve().then(() => {\n const p = this.connectionState();\n if (JSON.stringify(p) !== JSON.stringify(this._lastPublishedConnectionState)) {\n this._lastPublishedConnectionState = p;\n for (const x of this.connectionStateSubscribers.values())\n x(p);\n }\n });\n }), ve(this, \"mark\", (p) => {\n this.debug && Dd(p, this.sessionId);\n }), typeof e == \"object\")\n throw new Error(\n \"Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.\"\n );\n r?.skipConvexDeploymentUrlCheck !== !0 && $u(e), r = { ...r };\n const i = r.authRefreshTokenLeewaySeconds ?? 10;\n let o = r.webSocketConstructor;\n if (!o && typeof WebSocket > \"u\")\n throw new Error(\n \"No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient\"\n );\n o = o || WebSocket, this.debug = r.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = r.logger === !1 ? pl({ verbose: r.verbose ?? !1 }) : r.logger !== !0 && r.logger ? r.logger : fl({ verbose: r.verbose ?? !1 });\n const a = e.search(\"://\");\n if (a === -1)\n throw new Error(\"Provided address was not an absolute URL.\");\n const l = e.substring(a + 3), c = e.substring(0, a);\n let u;\n if (c === \"http\")\n u = \"ws\";\n else if (c === \"https\")\n u = \"wss\";\n else\n throw new Error(`Unknown parent protocol ${c}`);\n const d = `${u}://${l}/api/${Sa}/sync`;\n this.state = new nd(), this.remoteQuerySet = new Ea(\n (p) => this.state.queryPath(p),\n this.logger\n ), this.requestManager = new od(\n this.logger,\n this.markConnectionStateDirty\n );\n const m = () => {\n this.webSocketManager.pause(), this.state.pause();\n };\n this.authenticationManager = new Od(\n this.state,\n {\n authenticate: (p) => {\n const x = this.state.setAuth(p);\n return this.webSocketManager.sendMessage(x), x.baseVersion;\n },\n stopSocket: () => this.webSocketManager.stop(),\n tryRestartSocket: () => this.webSocketManager.tryRestart(),\n pauseSocket: m,\n resumeSocket: () => this.webSocketManager.resume(),\n clearAuth: () => {\n this.clearAuth();\n }\n },\n {\n logger: this.logger,\n refreshTokenLeewaySeconds: i,\n initialAuthTokenReuse: r.initialAuthTokenReuse ?? !1\n }\n ), this.optimisticQueryResults = new hd(), this.addOnTransitionHandler((p) => {\n n(p.queries.map((x) => x.token));\n }), this._nextRequestId = 0, this._sessionId = Rd();\n const { unsavedChangesWarning: h } = r;\n if (typeof window > \"u\" || typeof window.addEventListener > \"u\") {\n if (h === !0)\n throw new Error(\n \"unsavedChangesWarning requested, but window.addEventListener not found! Remove {unsavedChangesWarning: true} from Convex client options.\"\n );\n } else h !== !1 && window.addEventListener(\"beforeunload\", (p) => {\n if (this.requestManager.hasIncompleteRequests()) {\n p.preventDefault();\n const x = \"Are you sure you want to leave? Your changes may not be saved.\";\n return (p || window.event).returnValue = x, x;\n }\n });\n this.webSocketManager = new Ad(\n d,\n {\n onOpen: (p) => {\n this.mark(\"convexWebSocketOpen\"), this.webSocketManager.sendMessage({\n ...p,\n type: \"Connect\",\n sessionId: this._sessionId,\n maxObservedTimestamp: this.maxObservedTimestamp\n }), this.remoteQuerySet = new Ea(\n (b) => this.state.queryPath(b),\n this.logger\n );\n const [x, w] = this.state.restart();\n w && this.webSocketManager.sendMessage(w), this.webSocketManager.sendMessage(x);\n for (const b of this.requestManager.restart())\n this.webSocketManager.sendMessage(b);\n },\n onResume: () => {\n const [p, x] = this.state.resume();\n x && this.webSocketManager.sendMessage(x), p && this.webSocketManager.sendMessage(p);\n for (const w of this.requestManager.resume())\n this.webSocketManager.sendMessage(w);\n },\n onMessage: (p) => {\n switch (this.firstMessageReceived || (this.firstMessageReceived = !0, this.mark(\"convexFirstMessageReceived\"), this.reportMarks()), p.type) {\n case \"Transition\": {\n this.observedTimestamp(p.endVersion.ts), this.authenticationManager.onTransition(p), this.remoteQuerySet.transition(p), this.state.transition(p);\n const x = this.requestManager.removeCompleted(\n this.remoteQuerySet.timestamp()\n );\n this.notifyOnQueryResultChanges(x);\n break;\n }\n case \"MutationResponse\": {\n p.success && this.observedTimestamp(p.ts);\n const x = this.requestManager.onResponse(p);\n x !== null && this.notifyOnQueryResultChanges(\n /* @__PURE__ */ new Map([\n [\n x.requestId,\n x.result\n ]\n ])\n );\n break;\n }\n case \"ActionResponse\": {\n this.requestManager.onResponse(p);\n break;\n }\n case \"AuthError\": {\n this.authenticationManager.onAuthError(p);\n break;\n }\n case \"FatalError\": {\n const x = Ju(this.logger, p.error);\n throw this.webSocketManager.terminate(), x;\n }\n }\n return {\n hasSyncedPastLastReconnect: this.hasSyncedPastLastReconnect()\n };\n },\n onServerDisconnectError: r.onServerDisconnectError\n },\n o,\n this.logger,\n this.markConnectionStateDirty,\n this.debug\n ), this.mark(\"convexClientConstructed\"), r.expectAuth && m();\n }\n /**\n * Return true if there is outstanding work from prior to the time of the most recent restart.\n * This indicates that the client has not proven itself to have gotten past the issue that\n * potentially led to the restart. Use this to influence when to reset backoff after a failure.\n */\n hasSyncedPastLastReconnect() {\n return this.requestManager.hasSyncedPastLastReconnect() && this.state.hasSyncedPastLastReconnect();\n }\n observedTimestamp(e) {\n (this.maxObservedTimestamp === void 0 || this.maxObservedTimestamp.lessThanOrEqual(e)) && (this.maxObservedTimestamp = e);\n }\n getMaxObservedTimestamp() {\n return this.maxObservedTimestamp;\n }\n /**\n * Compute the current query results based on the remoteQuerySet and the\n * current optimistic updates and call `onTransition` for all the changed\n * queries.\n *\n * @param completedMutations - A set of mutation IDs whose optimistic updates\n * are no longer needed.\n */\n notifyOnQueryResultChanges(e) {\n const n = this.remoteQuerySet.remoteQueryResults(), r = /* @__PURE__ */ new Map();\n for (const [o, a] of n) {\n const l = this.state.queryToken(o);\n if (l !== null) {\n const c = {\n result: a,\n udfPath: this.state.queryPath(o),\n args: this.state.queryArgs(o)\n };\n r.set(l, c);\n }\n }\n const i = this.optimisticQueryResults.ingestQueryResultsFromServer(\n r,\n new Set(e.keys())\n );\n this.handleTransition({\n queries: i.map((o) => {\n const a = this.optimisticQueryResults.rawQueryResult(o);\n return {\n token: o,\n modification: {\n kind: \"Updated\",\n result: a\n }\n };\n }),\n reflectedMutations: Array.from(e).map(\n ([o, a]) => ({\n requestId: o,\n result: a\n })\n ),\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n handleTransition(e) {\n for (const n of this._onTransitionFns.values())\n n(e);\n }\n /**\n * Add a handler that will be called on a transition.\n *\n * Any external side effects (e.g. setting React state) should be handled here.\n *\n * @param fn\n *\n * @returns\n */\n addOnTransitionHandler(e) {\n const n = this._transitionHandlerCounter++;\n return this._onTransitionFns.set(n, e), () => this._onTransitionFns.delete(n);\n }\n /**\n * Get the current JWT auth token and decoded claims.\n */\n getCurrentAuthClaims() {\n const e = this.state.getAuth();\n let n = {};\n if (e && e.tokenType === \"User\")\n try {\n n = e ? xl(e.value) : {};\n } catch {\n n = {};\n }\n else\n return;\n return { token: e.value, decoded: n };\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n * @param onRefreshChange - a callback called with `true` when the socket is paused to fetch a replacement token after a server rejection, and `false` when refresh completes\n */\n setAuth(e, n, r) {\n this.authenticationManager.setConfig(\n e,\n n,\n r\n );\n }\n hasAuth() {\n return this.state.hasAuth();\n }\n /** @internal */\n setAdminAuth(e, n) {\n const r = this.state.setAdminAuth(e, n);\n this.webSocketManager.sendMessage(r);\n }\n clearAuth() {\n const e = this.state.clearAuth();\n this.webSocketManager.sendMessage(e);\n }\n /**\n * Subscribe to a query function.\n *\n * Whenever this query's result changes, the `onTransition` callback\n * passed into the constructor will be called.\n *\n * @param name - The name of the query.\n * @param args - An arguments object for the query. If this is omitted, the\n * arguments will be `{}`.\n * @param options - A {@link SubscribeOptions} options object for this query.\n \n * @returns An object containing a {@link QueryToken} corresponding to this\n * query and an `unsubscribe` callback.\n */\n subscribe(e, n, r) {\n const i = _t(n), { modification: o, queryToken: a, unsubscribe: l } = this.state.subscribe(\n e,\n i,\n r?.journal,\n r?.componentPath\n );\n return o !== null && this.webSocketManager.sendMessage(o), {\n queryToken: a,\n unsubscribe: () => {\n const c = l();\n c && this.webSocketManager.sendMessage(c);\n }\n };\n }\n /**\n * A query result based only on the current, local state.\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n */\n localQueryResult(e, n) {\n const r = _t(n), i = Kt(e, r);\n return this.optimisticQueryResults.queryResult(i);\n }\n /**\n * Get query result by query token based on current, local state\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n *\n * @internal\n */\n localQueryResultByToken(e) {\n return this.optimisticQueryResults.queryResult(e);\n }\n /**\n * Whether local query result is available for a token.\n *\n * This method does not throw if the result is an error.\n *\n * @internal\n */\n hasLocalQueryResultByToken(e) {\n return this.optimisticQueryResults.hasQueryResult(e);\n }\n /**\n * @internal\n */\n localQueryLogs(e, n) {\n const r = _t(n), i = Kt(e, r);\n return this.optimisticQueryResults.queryLogs(i);\n }\n /**\n * Retrieve the current {@link QueryJournal} for this query function.\n *\n * If we have not yet received a result for this query, this will be `undefined`.\n *\n * @param name - The name of the query.\n * @param args - The arguments object for this query.\n * @returns The query's {@link QueryJournal} or `undefined`.\n */\n queryJournal(e, n) {\n const r = _t(n), i = Kt(e, r);\n return this.state.queryJournal(i);\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n const e = this.webSocketManager.connectionState();\n return {\n hasInflightRequests: this.requestManager.hasInflightRequests(),\n isWebSocketConnected: e.isConnected,\n hasEverConnected: e.hasEverConnected,\n connectionCount: e.connectionCount,\n connectionRetries: e.connectionRetries,\n timeOfOldestInflightRequest: this.requestManager.timeOfOldestInflightRequest(),\n inflightMutations: this.requestManager.inflightMutations(),\n inflightActions: this.requestManager.inflightActions()\n };\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n const n = this.nextConnectionStateSubscriberId++;\n return this.connectionStateSubscribers.set(n, e), () => {\n this.connectionStateSubscribers.delete(n);\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param name - The name of the mutation.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for this mutation.\n \n * @returns - A promise of the mutation's result.\n */\n async mutation(e, n, r) {\n const i = await this.mutationInternal(e, n, r);\n if (!i.success)\n throw i.errorData !== void 0 ? Vi(\n i,\n new $r(\n gn(\"mutation\", e, i)\n )\n ) : new Error(gn(\"mutation\", e, i));\n return i.value;\n }\n /**\n * @internal\n */\n async mutationInternal(e, n, r, i) {\n const { mutationPromise: o } = this.enqueueMutation(\n e,\n n,\n r,\n i\n );\n return o;\n }\n /**\n * @internal\n */\n enqueueMutation(e, n, r, i) {\n const o = _t(n);\n this.tryReportLongDisconnect();\n const a = this.nextRequestId;\n if (this._nextRequestId++, r !== void 0) {\n const d = r.optimisticUpdate;\n if (d !== void 0) {\n const m = (x) => {\n d(\n x,\n o\n ) instanceof Promise && this.logger.warn(\n \"Optimistic update handler returned a Promise. Optimistic updates should be synchronous.\"\n );\n }, p = this.optimisticQueryResults.applyOptimisticUpdate(\n m,\n a\n ).map((x) => {\n const w = this.localQueryResultByToken(x);\n return {\n token: x,\n modification: {\n kind: \"Updated\",\n result: w === void 0 ? void 0 : {\n success: !0,\n value: w,\n logLines: []\n }\n }\n };\n });\n this.handleTransition({\n queries: p,\n reflectedMutations: [],\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n }\n const l = {\n type: \"Mutation\",\n requestId: a,\n udfPath: e,\n componentPath: i,\n args: [bt(o)]\n }, c = this.webSocketManager.sendMessage(l), u = this.requestManager.request(l, c);\n return {\n requestId: a,\n mutationPromise: u\n };\n }\n /**\n * Execute an action function.\n *\n * @param name - The name of the action.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n async action(e, n) {\n const r = await this.actionInternal(e, n);\n if (!r.success)\n throw r.errorData !== void 0 ? Vi(\n r,\n new $r(gn(\"action\", e, r))\n ) : new Error(gn(\"action\", e, r));\n return r.value;\n }\n /**\n * @internal\n */\n async actionInternal(e, n, r) {\n const i = _t(n), o = this.nextRequestId;\n this._nextRequestId++, this.tryReportLongDisconnect();\n const a = {\n type: \"Action\",\n requestId: o,\n udfPath: e,\n componentPath: r,\n args: [bt(i)]\n }, l = this.webSocketManager.sendMessage(a);\n return this.requestManager.request(a, l);\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with an {@link BaseConvexClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n return this.authenticationManager.stop(), this.webSocketManager.terminate();\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * @internal\n */\n get nextRequestId() {\n return this._nextRequestId;\n }\n /**\n * @internal\n */\n get sessionId() {\n return this._sessionId;\n }\n /**\n * Reports performance marks to the server. This should only be called when\n * we have a functional websocket.\n */\n reportMarks() {\n if (this.debug) {\n const e = zd(this.sessionId);\n this.webSocketManager.sendMessage({\n type: \"Event\",\n eventType: \"ClientConnect\",\n event: e\n });\n }\n }\n tryReportLongDisconnect() {\n if (!this.debug)\n return;\n const e = this.connectionState().timeOfOldestInflightRequest;\n if (e === null || Date.now() - e.getTime() <= 60 * 1e3)\n return;\n const n = `${this.address}/api/debug_event`;\n fetch(n, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Convex-Client\": `npm-${Sa}`\n },\n body: JSON.stringify({ event: \"LongWebsocketDisconnect\" })\n }).then((r) => {\n r.ok || this.logger.warn(\n \"Analytics request failed with response:\",\n r.body\n );\n }).catch((r) => {\n this.logger.warn(\"Analytics response failed with error:\", r);\n });\n }\n}\nfunction Ci(t) {\n if (typeof t != \"object\" || t === null || !Array.isArray(t.page) || typeof t.isDone != \"boolean\" || typeof t.continueCursor != \"string\")\n throw new Error(`Not a valid paginated query result: ${t?.toString()}`);\n return t;\n}\nvar Vd = Object.defineProperty, Hd = (t, e, n) => e in t ? Vd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Na = (t, e, n) => Hd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Wd {\n constructor(e, n) {\n this.client = e, this.onTransition = n, Na(this, \"paginatedQuerySet\", /* @__PURE__ */ new Map()), Na(this, \"lastTransitionTs\"), this.lastTransitionTs = Fe.fromNumber(0), this.client.addOnTransitionHandler(\n (r) => this.onBaseTransition(r)\n );\n }\n /**\n * Subscribe to a paginated query.\n *\n * @param name - The name of the paginated query function\n * @param args - Arguments for the query (excluding paginationOpts)\n * @param options - Pagination options including initialNumItems\n * @returns Object with paginatedQueryToken and unsubscribe function\n */\n subscribe(e, n, r) {\n const i = Xt(e), o = Ca(\n i,\n n,\n r\n ), a = () => this.removePaginatedQuerySubscriber(o), l = this.paginatedQuerySet.get(o);\n return l ? (l.numSubscribers += 1, {\n paginatedQueryToken: o,\n unsubscribe: a\n }) : (this.paginatedQuerySet.set(o, {\n token: o,\n canonicalizedUdfPath: i,\n args: n,\n numSubscribers: 1,\n options: { initialNumItems: r.initialNumItems },\n nextPageKey: 0,\n pageKeys: [],\n pageKeyToQuery: /* @__PURE__ */ new Map(),\n ongoingSplits: /* @__PURE__ */ new Map(),\n skip: !1,\n id: r.id\n }), this.addPageToPaginatedQuery(o, null, r.initialNumItems), {\n paginatedQueryToken: o,\n unsubscribe: a\n });\n }\n /**\n * Get current results for a paginated query based on local state.\n *\n * Throws an error when one of the pages has errored.\n */\n localQueryResult(e, n, r) {\n const i = Xt(e), o = Ca(\n i,\n n,\n r\n );\n return this.localQueryResultByToken(o);\n }\n /**\n * @internal\n */\n localQueryResultByToken(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n return;\n const r = this.activePageQueryTokens(n);\n if (r.length === 0)\n return {\n results: [],\n status: \"LoadingFirstPage\",\n loadMore: (c) => this.loadMoreOfPaginatedQuery(e, c)\n };\n let i = [], o = !1, a = !1;\n for (const c of r) {\n const u = this.client.localQueryResultByToken(c);\n if (u === void 0) {\n o = !0, a = !1;\n continue;\n }\n const d = Ci(u);\n i = i.concat(d.page), a = !!d.isDone;\n }\n let l;\n return o ? l = i.length === 0 ? \"LoadingFirstPage\" : \"LoadingMore\" : a ? l = \"Exhausted\" : l = \"CanLoadMore\", {\n results: i,\n status: l,\n loadMore: (c) => this.loadMoreOfPaginatedQuery(e, c)\n };\n }\n onBaseTransition(e) {\n const n = e.queries.map((a) => a.token), r = this.queriesContainingTokens(n);\n let i = [];\n r.length > 0 && (this.processPaginatedQuerySplits(\n r,\n (a) => this.client.localQueryResultByToken(a)\n ), i = r.map((a) => ({\n token: a,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(a)\n }\n })));\n const o = {\n ...e,\n paginatedQueries: i\n };\n this.onTransition(o);\n }\n /**\n * Load more items for a paginated query.\n *\n * This *always* causes a transition, the status of the query\n * has probably changed from \"CanLoadMore\" to \"LoadingMore\".\n * Data might have changed too: maybe a subscription to this page\n * query already exists (unlikely but possible) or this page query\n * has an optimistic update providing some initial data.\n *\n * @internal\n */\n loadMoreOfPaginatedQuery(e, n) {\n this.mustGetPaginatedQuery(e);\n const r = this.queryTokenForLastPageOfPaginatedQuery(e), i = this.client.localQueryResultByToken(r);\n if (!i)\n return !1;\n const o = Ci(i);\n if (o.isDone)\n return !1;\n this.addPageToPaginatedQuery(\n e,\n o.continueCursor,\n n\n );\n const a = {\n timestamp: this.lastTransitionTs,\n reflectedMutations: [],\n queries: [],\n paginatedQueries: [\n {\n token: e,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(e)\n }\n }\n ]\n };\n return this.onTransition(a), !0;\n }\n /**\n * @internal\n */\n queriesContainingTokens(e) {\n if (e.length === 0)\n return [];\n const n = [], r = new Set(e);\n for (const [i, o] of this.paginatedQuerySet)\n for (const a of this.allQueryTokens(o))\n if (r.has(a)) {\n n.push(i);\n break;\n }\n return n;\n }\n /**\n * @internal\n */\n processPaginatedQuerySplits(e, n) {\n for (const r of e) {\n const i = this.mustGetPaginatedQuery(r), { ongoingSplits: o, pageKeyToQuery: a, pageKeys: l } = i;\n for (const [c, [u, d]] of o)\n n(a.get(u).queryToken) !== void 0 && n(a.get(d).queryToken) !== void 0 && this.completePaginatedQuerySplit(\n i,\n c,\n u,\n d\n );\n for (const c of l) {\n if (o.has(c))\n continue;\n const u = a.get(c);\n if (!u)\n throw new Error(`No page query for active pageKey ${c}`);\n const d = n(u.queryToken);\n if (!d)\n continue;\n const m = Ci(d);\n m.splitCursor && (m.pageStatus === \"SplitRecommended\" || m.pageStatus === \"SplitRequired\" || // This client-driven page splitting condition will change in the future.\n m.page.length > i.options.initialNumItems * 2) && this.splitPaginatedQueryPage(\n i,\n c,\n u.cursor,\n m.splitCursor,\n // we just checked\n m.continueCursor\n );\n }\n }\n }\n splitPaginatedQueryPage(e, n, r, i, o) {\n const a = e.nextPageKey++, l = e.nextPageKey++, c = {\n numItems: e.options.initialNumItems,\n id: e.id\n }, u = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...c,\n cursor: r,\n endCursor: i\n }\n }\n );\n e.pageKeyToQuery.set(a, {\n ...u,\n cursor: r\n });\n const d = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...c,\n cursor: i,\n endCursor: o\n }\n }\n );\n e.pageKeyToQuery.set(l, {\n ...d,\n cursor: i\n }), e.ongoingSplits.set(n, [a, l]);\n }\n /**\n * @internal\n */\n addPageToPaginatedQuery(e, n, r) {\n const i = this.mustGetPaginatedQuery(e), o = i.nextPageKey++, a = {\n cursor: n,\n numItems: r,\n id: i.id\n }, l = {\n ...i.args,\n paginationOpts: a\n }, c = this.client.subscribe(\n i.canonicalizedUdfPath,\n l\n );\n return i.pageKeys.push(o), i.pageKeyToQuery.set(o, {\n ...c,\n cursor: n\n }), c;\n }\n removePaginatedQuerySubscriber(e) {\n const n = this.paginatedQuerySet.get(e);\n if (n && (n.numSubscribers -= 1, !(n.numSubscribers > 0))) {\n for (const r of n.pageKeyToQuery.values())\n r.unsubscribe();\n this.paginatedQuerySet.delete(e);\n }\n }\n completePaginatedQuerySplit(e, n, r, i) {\n const o = e.pageKeyToQuery.get(n);\n e.pageKeyToQuery.delete(n);\n const a = e.pageKeys.indexOf(n);\n e.pageKeys.splice(a, 1, r, i), e.ongoingSplits.delete(n), o.unsubscribe();\n }\n /** The query tokens for all active pages, in result order */\n activePageQueryTokens(e) {\n return e.pageKeys.map(\n (n) => e.pageKeyToQuery.get(n).queryToken\n );\n }\n allQueryTokens(e) {\n return Array.from(e.pageKeyToQuery.values()).map(\n (n) => n.queryToken\n );\n }\n queryTokenForLastPageOfPaginatedQuery(e) {\n const n = this.mustGetPaginatedQuery(e), r = n.pageKeys[n.pageKeys.length - 1];\n if (r === void 0)\n throw new Error(`No pages for paginated query ${e}`);\n return n.pageKeyToQuery.get(r).queryToken;\n }\n mustGetPaginatedQuery(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n throw new Error(\"paginated query no longer exists for token \" + e);\n return n;\n }\n}\nfunction Qd({\n // (Synchronously) returns the current value of our subscription.\n getCurrentValue: t,\n // This function is passed an event handler to attach to the subscription.\n // It should return an unsubscribe function that removes the handler.\n subscribe: e\n}) {\n const [n, r] = O(() => ({\n getCurrentValue: t,\n subscribe: e,\n value: t()\n }));\n let i = n.value;\n return (n.getCurrentValue !== t || n.subscribe !== e) && (i = t(), r({\n getCurrentValue: t,\n subscribe: e,\n value: i\n })), N(() => {\n let o = !1;\n const a = () => {\n o || r((c) => {\n if (c.getCurrentValue !== t || c.subscribe !== e)\n return c;\n const u = t();\n return c.value === u ? c : { ...c, value: u };\n });\n }, l = e(a);\n return a(), () => {\n o = !0, l();\n };\n }, [t, e]), i;\n}\nvar Gd = Object.defineProperty, Kd = (t, e, n) => e in t ? Gd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, kt = (t, e, n) => Kd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Yd = 5e3;\nif (typeof xo > \"u\")\n throw new Error(\"Required dependency 'react' not found\");\nfunction bl(t, e, n) {\n function r(i) {\n return th(i), e.mutation(t, i, {\n optimisticUpdate: n\n });\n }\n return r.withOptimisticUpdate = function(o) {\n if (n !== void 0)\n throw new Error(\n `Already specified optimistic update for mutation ${De(\n t\n )}`\n );\n return bl(t, e, o);\n }, r;\n}\nfunction Xd(t, e) {\n return function(n) {\n return e.action(t, n);\n };\n}\nclass Zd {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param options - See {@link ConvexReactClientOptions} for a full description.\n */\n constructor(e, n) {\n if (kt(this, \"address\"), kt(this, \"cachedSync\"), kt(this, \"cachedPaginatedQueryClient\"), kt(this, \"listeners\"), kt(this, \"options\"), kt(this, \"closed\", !1), kt(this, \"_logger\"), kt(this, \"adminAuth\"), kt(this, \"fakeUserIdentity\"), e === void 0)\n throw new Error(\n \"No address provided to ConvexReactClient.\\nIf trying to deploy to production, make sure to follow all the instructions found at https://docs.convex.dev/production/hosting/\\nIf running locally, make sure to run `convex dev` and ensure the .env.local file is populated.\"\n );\n if (typeof e != \"string\")\n throw new Error(\n `ConvexReactClient requires a URL like 'https://happy-otter-123.convex.cloud', received something of type ${typeof e} instead.`\n );\n if (!e.includes(\"://\"))\n throw new Error(\"Provided address was not an absolute URL.\");\n this.address = e, this.listeners = /* @__PURE__ */ new Map(), this._logger = n?.logger === !1 ? pl({ verbose: n?.verbose ?? !1 }) : n?.logger !== !0 && n?.logger ? n.logger : fl({ verbose: n?.verbose ?? !1 }), this.options = { ...n, logger: this._logger };\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * Lazily instantiate the `BaseConvexClient` so we don't create the WebSocket\n * when server-side rendering.\n *\n * @internal\n */\n get sync() {\n if (this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n return this.cachedSync ? this.cachedSync : (this.cachedSync = this.options.baseClient ?? new Bd(\n this.address,\n () => {\n },\n // Use the PaginatedQueryClient's transition instead.\n this.options\n ), this.adminAuth && this.cachedSync.setAdminAuth(this.adminAuth, this.fakeUserIdentity), this.cachedPaginatedQueryClient = new Wd(\n this.cachedSync,\n (e) => this.handleTransition(e)\n ), this.cachedSync);\n }\n /**\n * Lazily instantiate the `PaginatedQueryClient` so we don't create it\n * when server-side rendering.\n *\n * @internal\n */\n get paginatedQueryClient() {\n if (this.sync, this.cachedPaginatedQueryClient)\n return this.cachedPaginatedQueryClient;\n throw new Error(\"Should already be instantiated\");\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n * @param onRefreshChange - a callback called with `true` when the socket is paused to fetch a replacement token after a server rejection, and `false` when refresh completes\n */\n setAuth(e, n, r) {\n if (typeof e == \"string\")\n throw new Error(\n \"Passing a string to ConvexReactClient.setAuth is no longer supported, please upgrade to passing in an async function to handle reauthentication.\"\n );\n this.sync.setAuth(\n e,\n n ?? (() => {\n }),\n r\n );\n }\n /**\n * Clear the current authentication token if set.\n */\n clearAuth() {\n this.sync.clearAuth();\n }\n /**\n * @internal\n */\n setAdminAuth(e, n) {\n if (this.adminAuth = e, this.fakeUserIdentity = n, this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n this.cachedSync && this.sync.setAdminAuth(e, n);\n }\n /**\n * Construct a new {@link Watch} on a Convex query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link useQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchQueryOptions} options object for this query.\n *\n * @returns The {@link Watch} object.\n */\n watchQuery(e, ...n) {\n const [r, i] = n, o = De(e);\n return {\n onUpdate: (a) => {\n const { queryToken: l, unsubscribe: c } = this.sync.subscribe(\n o,\n r,\n i\n ), u = this.listeners.get(l);\n return u !== void 0 ? u.add(a) : this.listeners.set(l, /* @__PURE__ */ new Set([a])), () => {\n if (this.closed)\n return;\n const d = this.listeners.get(l);\n d.delete(a), d.size === 0 && this.listeners.delete(l), c();\n };\n },\n localQueryResult: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryResult(o, r);\n },\n localQueryLogs: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryLogs(o, r);\n },\n journal: () => {\n if (this.cachedSync)\n return this.cachedSync.queryJournal(o, r);\n }\n };\n }\n // Let's try out a queryOptions-style API.\n // This method is similar to the React Query API `queryClient.prefetchQuery()`.\n // In the future an ensureQueryData(): Promise<Data> method could exist.\n /**\n * Indicates likely future interest in a query subscription.\n *\n * The implementation currently immediately subscribes to a query. In the future this method\n * may prioritize some queries over others, fetch the query result without subscribing, or\n * do nothing in slow network connections or high load scenarios.\n *\n * To use this in a React component, call useQuery() and ignore the return value.\n *\n * @param queryOptions - A query (function reference from an api object) and its args, plus\n * an optional extendSubscriptionFor for how long to subscribe to the query.\n */\n prewarmQuery(e) {\n const n = e.extendSubscriptionFor ?? Yd, i = this.watchQuery(e.query, e.args || {}).onUpdate(() => {\n });\n setTimeout(i, n);\n }\n /**\n * Construct a new {@link PaginatedWatch} on a Convex paginated query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link usePaginatedQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchPaginatedQueryOptions} options object for this query.\n *\n * @returns The {@link PaginatedWatch} object.\n *\n * @internal\n */\n watchPaginatedQuery(e, n, r) {\n const i = De(e);\n return {\n onUpdate: (o) => {\n const { paginatedQueryToken: a, unsubscribe: l } = this.paginatedQueryClient.subscribe(i, n || {}, r), c = this.listeners.get(a);\n return c !== void 0 ? c.add(o) : this.listeners.set(a, /* @__PURE__ */ new Set([o])), () => {\n if (this.closed)\n return;\n const u = this.listeners.get(a);\n u.delete(o), u.size === 0 && this.listeners.delete(a), l();\n };\n },\n localQueryResult: () => this.paginatedQueryClient.localQueryResult(i, n, r)\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param mutation - A {@link server.FunctionReference} for the public mutation\n * to run.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for the mutation.\n * @returns A promise of the mutation's result.\n */\n mutation(e, ...n) {\n const [r, i] = n, o = De(e);\n return this.sync.mutation(o, r, i);\n }\n /**\n * Execute an action function.\n *\n * @param action - A {@link server.FunctionReference} for the public action\n * to run.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n action(e, ...n) {\n const r = De(e);\n return this.sync.action(r, ...n);\n }\n /**\n * Fetch a query result once.\n *\n * **Most application code should subscribe to queries instead, using\n * the {@link useQuery} hook.**\n *\n * @param query - A {@link server.FunctionReference} for the public query\n * to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the query's result.\n */\n query(e, ...n) {\n const r = this.watchQuery(e, ...n), i = r.localQueryResult();\n return i !== void 0 ? Promise.resolve(i) : new Promise((o, a) => {\n const l = r.onUpdate(() => {\n l();\n try {\n o(r.localQueryResult());\n } catch (c) {\n a(c);\n }\n });\n });\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n return this.sync.connectionState();\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n * ConnectionState may also *lose* properties in future versions as we figure\n * out what information is most useful. As such this API is considered unstable.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n return this.sync.subscribeToConnectionState(e);\n }\n /**\n * Get the logger for this client.\n *\n * @returns The {@link Logger} for this client.\n */\n get logger() {\n return this._logger;\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with a {@link ConvexReactClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n if (this.closed = !0, this.listeners = /* @__PURE__ */ new Map(), this.cachedPaginatedQueryClient && (this.cachedPaginatedQueryClient = void 0), this.cachedSync) {\n const e = this.cachedSync;\n this.cachedSync = void 0, await e.close();\n }\n }\n /**\n * Handle transitions from both base client and paginated client.\n * This ensures all transitions are processed synchronously and in order.\n */\n handleTransition(e) {\n const n = e.queries.map((i) => i.token), r = e.paginatedQueries.map((i) => i.token);\n this.transition([...n, ...r]);\n }\n transition(e) {\n for (const n of e) {\n const r = this.listeners.get(n);\n if (r)\n for (const i of r)\n i();\n }\n }\n}\nconst ti = xo.createContext(\n void 0\n // in the future this will be a mocked client for testing\n);\nfunction Jd() {\n return sr(ti);\n}\nconst eh = ({ client: t, children: e }) => xo.createElement(\n ti.Provider,\n { value: t },\n e\n);\nfunction St(t, ...e) {\n const n = e[0] === \"skip\", r = e[0] === \"skip\" ? {} : _t(e[0]), i = typeof t == \"string\" ? vo(t) : t, o = De(i), a = ke(\n () => n ? {} : { query: { query: i, args: r } },\n // Stringify args so args that are semantically the same don't trigger a\n // rerender. Saves developers from adding `useMemo` on every args usage.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(bt(r)), o, n]\n ), c = oh(a).query;\n if (c instanceof Error)\n throw c;\n return c;\n}\nfunction Ct(t) {\n const e = typeof t == \"string\" ? vo(t) : t, n = sr(ti);\n if (n === void 0)\n throw new Error(\n \"Could not find Convex client! `useMutation` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n return ke(\n () => bl(e, n),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [n, De(e)]\n );\n}\nfunction Jt(t) {\n const e = sr(ti), n = typeof t == \"string\" ? vo(t) : t;\n if (e === void 0)\n throw new Error(\n \"Could not find Convex client! `useAction` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n return ke(\n () => Xd(n, e),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [e, De(n)]\n );\n}\nfunction th(t) {\n if (typeof t == \"object\" && t !== null && \"bubbles\" in t && \"persist\" in t && \"isDefaultPrevented\" in t)\n throw new Error(\n \"Convex function called with SyntheticEvent object. Did you use a Convex function as an event handler directly? Event handlers like onClick receive an event object as their first argument. These SyntheticEvent objects are not valid Convex values. Try wrapping the function like `const handler = () => myMutation();` and using `handler` in the event handler.\"\n );\n}\nvar nh = Object.defineProperty, rh = (t, e, n) => e in t ? nh(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Ai = (t, e, n) => rh(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass ih {\n constructor(e) {\n Ai(this, \"createWatch\"), Ai(this, \"queries\"), Ai(this, \"listeners\"), this.createWatch = e, this.queries = {}, this.listeners = /* @__PURE__ */ new Set();\n }\n setQueries(e) {\n for (const n of Object.keys(e)) {\n const { query: r, args: i, paginationOptions: o } = e[n];\n if (De(r), this.queries[n] === void 0)\n this.addQuery(\n n,\n r,\n i,\n o ? { paginationOptions: o } : {}\n );\n else {\n const a = this.queries[n];\n (De(r) !== De(a.query) || JSON.stringify(bt(i)) !== JSON.stringify(bt(a.args)) || JSON.stringify(o) !== JSON.stringify(a.paginationOptions)) && (this.removeQuery(n), this.addQuery(\n n,\n r,\n i,\n o ? { paginationOptions: o } : {}\n ));\n }\n }\n for (const n of Object.keys(this.queries))\n e[n] === void 0 && this.removeQuery(n);\n }\n subscribe(e) {\n return this.listeners.add(e), () => {\n this.listeners.delete(e);\n };\n }\n getLocalResults(e) {\n const n = {};\n for (const r of Object.keys(e)) {\n const { query: i, args: o } = e[r], a = e[r].paginationOptions;\n De(i);\n const l = this.createWatch(\n i,\n o,\n a ? { paginationOptions: a } : {}\n );\n let c;\n try {\n c = l.localQueryResult();\n } catch (u) {\n if (u instanceof Error)\n c = u;\n else\n throw u;\n }\n n[r] = c;\n }\n return n;\n }\n setCreateWatch(e) {\n this.createWatch = e;\n for (const n of Object.keys(this.queries)) {\n const { query: r, args: i, watch: o, paginationOptions: a } = this.queries[n], l = \"journal\" in o ? o.journal() : void 0;\n this.removeQuery(n), this.addQuery(n, r, i, {\n ...l ? { journal: l } : [],\n ...a ? { paginationOptions: a } : {}\n });\n }\n }\n destroy() {\n for (const e of Object.keys(this.queries))\n this.removeQuery(e);\n this.listeners = /* @__PURE__ */ new Set();\n }\n addQuery(e, n, r, {\n paginationOptions: i,\n journal: o\n }) {\n if (this.queries[e] !== void 0)\n throw new Error(\n `Tried to add a new query with identifier ${e} when it already exists.`\n );\n const a = this.createWatch(n, r, {\n ...o ? { journal: o } : [],\n ...i ? { paginationOptions: i } : {}\n }), l = a.onUpdate(() => this.notifyListeners());\n this.queries[e] = {\n query: n,\n args: r,\n watch: a,\n unsubscribe: l,\n ...i ? { paginationOptions: i } : {}\n };\n }\n removeQuery(e) {\n const n = this.queries[e];\n if (n === void 0)\n throw new Error(`No query found with identifier ${e}.`);\n n.unsubscribe(), delete this.queries[e];\n }\n notifyListeners() {\n for (const e of this.listeners)\n e();\n }\n}\nfunction oh(t) {\n const e = Jd();\n if (e === void 0)\n throw new Error(\n \"Could not find Convex client! `useQuery` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n const n = ke(() => (r, i, {\n journal: o,\n paginationOptions: a\n }) => a ? e.watchPaginatedQuery(r, i, a) : e.watchQuery(r, i, o ? { journal: o } : {}), [e]);\n return ah(t, n);\n}\nfunction ah(t, e) {\n const [n] = O(() => new ih(e));\n n.createWatch !== e && n.setCreateWatch(e), N(() => () => n.destroy(), [n]);\n const r = ke(\n () => ({\n getCurrentValue: () => n.getLocalResults(t),\n subscribe: (i) => (n.setQueries(t), n.subscribe(i))\n }),\n [n, t]\n );\n return Qd(r);\n}\nvar sh = /* @__PURE__ */ Symbol.for(\"preact-signals\");\nfunction ni() {\n if (Tt > 1)\n Tt--;\n else {\n var t, e = !1;\n for ((function() {\n var i = Fr;\n for (Fr = void 0; i !== void 0; )\n i.S.v === i.v && (i.S.i = i.i), i = i.o;\n })(); Kn !== void 0; ) {\n var n = Kn;\n for (Kn = void 0, zr++; n !== void 0; ) {\n var r = n.u;\n if (n.u = void 0, n.f &= -3, !(8 & n.f) && yl(n)) try {\n n.c();\n } catch (i) {\n e || (t = i, e = !0);\n }\n n = r;\n }\n }\n if (zr = 0, Tt--, e) throw t;\n }\n}\nfunction lh(t) {\n if (Tt > 0) return t();\n Hi = ++ch, Tt++;\n try {\n return t();\n } finally {\n ni();\n }\n}\nvar le = void 0;\nfunction ri(t) {\n var e = le;\n le = void 0;\n try {\n return t();\n } finally {\n le = e;\n }\n}\nvar Kn = void 0, Tt = 0, zr = 0, ch = 0, Hi = 0, Fr = void 0, Ur = 0;\nfunction vl(t) {\n if (le !== void 0) {\n var e = t.n;\n if (e === void 0 || e.t !== le)\n return e = { i: 0, S: t, p: le.s, n: void 0, t: le, e: void 0, x: void 0, r: e }, le.s !== void 0 && (le.s.n = e), le.s = e, t.n = e, 32 & le.f && t.S(e), e;\n if (e.i === -1)\n return e.i = 0, e.n !== void 0 && (e.n.p = e.p, e.p !== void 0 && (e.p.n = e.n), e.p = le.s, e.n = void 0, le.s.n = e, le.s = e), e;\n }\n}\nfunction Re(t, e) {\n this.v = t, this.i = 0, this.n = void 0, this.t = void 0, this.l = 0, this.W = e?.watched, this.Z = e?.unwatched, this.name = e?.name;\n}\nRe.prototype.brand = sh;\nRe.prototype.h = function() {\n return !0;\n};\nRe.prototype.S = function(t) {\n var e = this, n = this.t;\n n !== t && t.e === void 0 && (t.x = n, this.t = t, n !== void 0 ? n.e = t : ri(function() {\n var r;\n (r = e.W) == null || r.call(e);\n }));\n};\nRe.prototype.U = function(t) {\n var e = this;\n if (this.t !== void 0) {\n var n = t.e, r = t.x;\n n !== void 0 && (n.x = r, t.e = void 0), r !== void 0 && (r.e = n, t.x = void 0), t === this.t && (this.t = r, r === void 0 && ri(function() {\n var i;\n (i = e.Z) == null || i.call(e);\n }));\n }\n};\nRe.prototype.subscribe = function(t) {\n var e = this;\n return lr(function() {\n var n = e.value;\n ri(function() {\n return t(n);\n });\n }, { name: \"sub\" });\n};\nRe.prototype.valueOf = function() {\n return this.value;\n};\nRe.prototype.toString = function() {\n return this.value + \"\";\n};\nRe.prototype.toJSON = function() {\n return this.value;\n};\nRe.prototype.peek = function() {\n var t = this;\n return ri(function() {\n return t.value;\n });\n};\nObject.defineProperty(Re.prototype, \"value\", { get: function() {\n var t = vl(this);\n return t !== void 0 && (t.i = this.i), this.v;\n}, set: function(t) {\n if (t !== this.v) {\n if (zr > 100) throw new Error(\"Cycle detected\");\n (function(n) {\n Tt !== 0 && zr === 0 && n.l !== Hi && (n.l = Hi, Fr = { S: n, v: n.v, i: n.i, o: Fr });\n })(this), this.v = t, this.i++, Ur++, Tt++;\n try {\n for (var e = this.t; e !== void 0; e = e.x) e.t.N();\n } finally {\n ni();\n }\n }\n} });\nfunction H(t, e) {\n return new Re(t, e);\n}\nfunction yl(t) {\n for (var e = t.s; e !== void 0; e = e.n) if (e.S.i !== e.i || !e.S.h() || e.S.i !== e.i) return !0;\n return !1;\n}\nfunction wl(t) {\n for (var e = t.s; e !== void 0; e = e.n) {\n var n = e.S.n;\n if (n !== void 0 && (e.r = n), e.S.n = e, e.i = -1, e.n === void 0) {\n t.s = e;\n break;\n }\n }\n}\nfunction kl(t) {\n for (var e = t.s, n = void 0; e !== void 0; ) {\n var r = e.p;\n e.i === -1 ? (e.S.U(e), r !== void 0 && (r.n = e.n), e.n !== void 0 && (e.n.p = r)) : n = e, e.S.n = e.r, e.r !== void 0 && (e.r = void 0), e = r;\n }\n t.s = n;\n}\nfunction en(t, e) {\n Re.call(this, void 0, e), this.x = t, this.s = void 0, this.g = Ur - 1, this.f = 4;\n}\nen.prototype = new Re();\nen.prototype.h = function() {\n if (this.f &= -3, 1 & this.f) return !1;\n if ((36 & this.f) == 32 || (this.f &= -5, this.g === Ur)) return !0;\n if (this.g = Ur, this.f |= 1, this.i > 0 && !yl(this))\n return this.f &= -2, !0;\n var t = le;\n try {\n wl(this), le = this;\n var e = this.x();\n (16 & this.f || this.v !== e || this.i === 0) && (this.v = e, this.f &= -17, this.i++);\n } catch (n) {\n this.v = n, this.f |= 16, this.i++;\n }\n return le = t, kl(this), this.f &= -2, !0;\n};\nen.prototype.S = function(t) {\n if (this.t === void 0) {\n this.f |= 36;\n for (var e = this.s; e !== void 0; e = e.n) e.S.S(e);\n }\n Re.prototype.S.call(this, t);\n};\nen.prototype.U = function(t) {\n if (this.t !== void 0 && (Re.prototype.U.call(this, t), this.t === void 0)) {\n this.f &= -33;\n for (var e = this.s; e !== void 0; e = e.n) e.S.U(e);\n }\n};\nen.prototype.N = function() {\n if (!(2 & this.f)) {\n this.f |= 6;\n for (var t = this.t; t !== void 0; t = t.x) t.t.N();\n }\n};\nObject.defineProperty(en.prototype, \"value\", { get: function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n var t = vl(this);\n if (this.h(), t !== void 0 && (t.i = this.i), 16 & this.f) throw this.v;\n return this.v;\n} });\nfunction Wi(t, e) {\n return new en(t, e);\n}\nfunction _l(t) {\n var e = t.m;\n if (t.m = void 0, typeof e == \"function\") {\n Tt++;\n var n = le;\n le = void 0;\n try {\n e();\n } catch (r) {\n throw t.f &= -2, t.f |= 8, yo(t), r;\n } finally {\n le = n, ni();\n }\n }\n}\nfunction yo(t) {\n for (var e = t.s; e !== void 0; e = e.n) e.S.U(e);\n t.x = void 0, t.s = void 0, _l(t);\n}\nfunction uh(t) {\n if (le !== this) throw new Error(\"Out-of-order effect\");\n kl(this), le = t, this.f &= -2, 8 & this.f && yo(this), ni();\n}\nfunction Tn(t, e) {\n this.x = t, this.m = void 0, this.s = void 0, this.u = void 0, this.f = 32, this.name = e?.name;\n}\nTn.prototype.c = function() {\n var t = this.S();\n try {\n if (8 & this.f || this.x === void 0) return;\n var e = this.x();\n typeof e == \"function\" && (this.m = e);\n } finally {\n t();\n }\n};\nTn.prototype.S = function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n this.f |= 1, this.f &= -9, _l(this), wl(this), Tt++;\n var t = le;\n return le = this, uh.bind(this, t);\n};\nTn.prototype.N = function() {\n 2 & this.f || (this.f |= 2, this.u = Kn, Kn = this);\n};\nTn.prototype.d = function() {\n this.f |= 8, 1 & this.f || yo(this);\n};\nTn.prototype.dispose = function() {\n this.d();\n};\nfunction lr(t, e) {\n var n = new Tn(t, e);\n try {\n n.c();\n } catch (i) {\n throw n.d(), i;\n }\n var r = n.d.bind(n);\n return r[Symbol.dispose] = r, r;\n}\nvar jl, _r, dh = typeof window < \"u\" && !!window.__PREACT_SIGNALS_DEVTOOLS__, Sl = [];\nlr(function() {\n jl = this.N;\n})();\nfunction Cn(t, e) {\n L[t] = e.bind(null, L[t] || function() {\n });\n}\nfunction Br(t) {\n if (_r) {\n var e = _r;\n _r = void 0, e();\n }\n _r = t && t.S();\n}\nfunction Tl(t) {\n var e = this, n = t.data, r = xn(n);\n r.value = n;\n var i = ke(function() {\n for (var l = e, c = e.__v; c = c.__; ) if (c.__c) {\n c.__c.__$f |= 4;\n break;\n }\n var u = Wi(function() {\n var p = r.value.value;\n return p === 0 ? 0 : p === !0 ? \"\" : p || \"\";\n }), d = Wi(function() {\n return !Array.isArray(u.value) && !Is(u.value);\n }), m = lr(function() {\n if (this.N = Cl, d.value) {\n var p = u.value;\n l.__v && l.__v.__e && l.__v.__e.nodeType === 3 && (l.__v.__e.data = p);\n }\n }), h = e.__$u.d;\n return e.__$u.d = function() {\n m(), h.call(this);\n }, [d, u];\n }, []), o = i[0], a = i[1];\n return o.value ? a.peek() : a.value;\n}\nTl.displayName = \"ReactiveTextNode\";\nObject.defineProperties(Re.prototype, { constructor: { configurable: !0, value: void 0 }, type: { configurable: !0, value: Tl }, props: { configurable: !0, get: function() {\n var t = this;\n return { data: { get value() {\n return t.value;\n } } };\n} }, __b: { configurable: !0, value: 1 } });\nCn(\"__b\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n, r = e.props;\n for (var i in r) if (i !== \"children\") {\n var o = r[i];\n o instanceof Re && (n || (e.__np = n = {}), n[i] = o, r[i] = o.peek());\n }\n }\n t(e);\n});\nCn(\"__r\", function(t, e) {\n if (t(e), e.type !== J) {\n Br();\n var n, r = e.__c;\n r && (r.__$f &= -2, (n = r.__$u) === void 0 && (r.__$u = n = (function(i, o) {\n var a;\n return lr(function() {\n a = this;\n }, { name: o }), a.c = i, a;\n })(function() {\n var i;\n dh && ((i = n.y) == null || i.call(n)), r.__$f |= 1, r.setState({});\n }, typeof e.type == \"function\" ? e.type.displayName || e.type.name : \"\"))), Br(n);\n }\n});\nCn(\"__e\", function(t, e, n, r) {\n Br(), t(e, n, r);\n});\nCn(\"diffed\", function(t, e) {\n Br();\n var n;\n if (typeof e.type == \"string\" && (n = e.__e)) {\n var r = e.__np, i = e.props;\n if (r) {\n var o = n.U;\n if (o) for (var a in o) {\n var l = o[a];\n l !== void 0 && !(a in r) && (l.d(), o[a] = void 0);\n }\n else\n o = {}, n.U = o;\n for (var c in r) {\n var u = o[c], d = r[c];\n u === void 0 ? (u = hh(n, c, d, i), o[c] = u) : u.o(d, i);\n }\n }\n }\n t(e);\n});\nfunction hh(t, e, n, r) {\n var i = e in t && t.ownerSVGElement === void 0, o = H(n);\n return { o: function(a, l) {\n o.value = a, r = l;\n }, d: lr(function() {\n this.N = Cl;\n var a = o.value.value;\n r[e] !== a && (r[e] = a, i ? t[e] = a : a != null && (a !== !1 || e[4] === \"-\") ? t.setAttribute(e, a) : t.removeAttribute(e));\n }) };\n}\nCn(\"unmount\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n = e.__e;\n if (n) {\n var r = n.U;\n if (r) {\n n.U = void 0;\n for (var i in r) {\n var o = r[i];\n o && o.d();\n }\n }\n }\n var a = e.__np;\n if (a) {\n var l = e.props;\n for (var c in a) l[c] = a[c];\n }\n e.__np = void 0;\n } else {\n var u = e.__c;\n if (u) {\n var d = u.__$u;\n d && (u.__$u = void 0, d.d());\n }\n }\n t(e);\n});\nCn(\"__h\", function(t, e, n, r) {\n (r < 3 || r === 9) && (e.__$f |= 2), t(e, n, r);\n});\not.prototype.shouldComponentUpdate = function(t, e) {\n if (this.__R) return !0;\n var n = this.__$u, r = n && n.s !== void 0;\n for (var i in e) return !0;\n if (this.__f || typeof this.u == \"boolean\" && this.u === !0) {\n var o = 2 & this.__$f;\n if (!(r || o || 4 & this.__$f) || 1 & this.__$f) return !0;\n } else if (!(r || 4 & this.__$f) || 3 & this.__$f) return !0;\n for (var a in t) if (a !== \"__source\" && t[a] !== this.props[a]) return !0;\n for (var l in this.props) if (!(l in t)) return !0;\n return !1;\n};\nfunction xn(t, e) {\n return ke(function() {\n return H(t, e);\n }, []);\n}\nvar fh = function(t) {\n queueMicrotask(function() {\n queueMicrotask(t);\n });\n};\nfunction ph() {\n lh(function() {\n for (var t; t = Sl.shift(); ) jl.call(t);\n });\n}\nfunction Cl() {\n Sl.push(this) === 1 && (L.requestAnimationFrame || fh)(ph);\n}\nconst he = H(!1), Vr = H(void 0), cr = \"https://jexitychat.de/privacy\", ur = H(cr), wo = H(\"chip\"), Al = H(!1), Dt = H(void 0), Qi = H([]), Gi = H([]), Rl = H(null), Ki = H(!1);\nBigInt(\"-9223372036854775808\");\nBigInt(\"9223372036854775807\");\nBigInt(\"0\");\nBigInt(\"8\");\nBigInt(\"256\");\nconst mh = /* @__PURE__ */ Symbol.for(\"functionName\"), gh = /* @__PURE__ */ Symbol.for(\"toReferencePath\");\nfunction El(t = []) {\n const e = {\n get(n, r) {\n if (typeof r == \"string\") {\n const i = [...t, r];\n return El(i);\n } else if (r === mh) {\n if (t.length < 2) {\n const a = [\"api\", ...t].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`api.moduleName.functionName\\`. Found: \\`${a}\\``\n );\n }\n const i = t.slice(0, -1).join(\"/\"), o = t[t.length - 1];\n return o === \"default\" ? i : i + \":\" + o;\n } else return r === Symbol.toStringTag ? \"FunctionReference\" : void 0;\n }\n };\n return new Proxy({}, e);\n}\nconst xh = El();\nfunction Il(t, e) {\n const n = {\n get(r, i) {\n if (typeof i == \"string\") {\n const o = [...e, i];\n return Il(t, o);\n } else if (i === gh) {\n if (e.length < 1) {\n const o = [t, ...e].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`${t}.childComponent.functionName\\`. Found: \\`${o}\\``\n );\n }\n return \"_reference/childComponent/\" + e.join(\"/\");\n } else\n return;\n }\n };\n return new Proxy({}, n);\n}\nconst bh = () => Il(\"components\", []), oe = xh;\nbh();\nfunction Ml() {\n return St(oe.maintenance.isFrozen, {})?.frozen ?? Ki.value;\n}\nfunction vh(t) {\n return t.replace(/\\.convex\\.site\\b/, \".convex.cloud\");\n}\nfunction Pl(t) {\n return t.replace(/\\.convex\\.cloud\\b/, \".convex.site\");\n}\nfunction La(t) {\n return typeof t != \"number\" || !Number.isFinite(t) ? 24 : Math.min(100, Math.max(0, t));\n}\nfunction yh(t) {\n const e = t?.trim();\n if (e)\n try {\n const n = new URL(e);\n if (n.protocol === \"http:\" || n.protocol === \"https:\")\n return e;\n } catch {\n return;\n }\n}\nfunction wh(t, e) {\n const n = t.title ?? e?.title ?? \"Assistant\", r = t.privacyPolicyMode ?? e?.privacyPolicyMode ?? \"platform\", i = kh(\n t.privacyNoticeStyle ?? e?.privacyNoticeStyle\n );\n return {\n title: n,\n // Bot bubble name. Option first (dashboard test panel passes the live form\n // value), then remote (saved config for production embeds); blank/absent on\n // both falls back to the widget title.\n botName: t.botName?.trim() || e?.botName?.trim() || n,\n greeting: t.greeting ?? e?.welcomeMessage ?? `Hi! I'm ${n}. How can I help?`,\n // Option first (dashboard live preview/test passes the form value), then\n // remote (saved config for production embeds). Already sanitized server-side.\n starterQuestions: t.starterQuestions ?? e?.starterQuestions ?? [],\n locale: t.locale ?? e?.locale,\n position: t.position ?? e?.position,\n colorScheme: t.colorScheme ?? e?.colorScheme,\n hideBranding: t.hideBranding ?? e?.hideBranding ?? !1,\n allowVisitorLocale: e?.allowVisitorLocale ?? !1,\n visitorAttachmentsEnabled: e?.visitorAttachmentsEnabled ?? !1,\n privacyPolicyMode: r,\n privacyPolicyUrl: r === \"custom\" ? yh(t.privacyPolicyUrl ?? e?.privacyPolicyUrl) : void 0,\n privacyNoticeStyle: i,\n sessionTimeoutMs: _h(e?.sessionTimeout),\n triggerIcon: t.triggerIcon ?? e?.triggerIcon ?? \"chat\",\n triggerRadius: t.triggerRadius ?? e?.triggerRadius ?? \"full\",\n triggerLabel: t.triggerLabel ?? e?.triggerLabel ?? \"Chatte mit uns\",\n // Clamp 0–100; default 24 = the legacy corner gap. Backstop behind the\n // dashboard slider for bad/stale stored values.\n triggerOffsetX: La(t.triggerOffsetX ?? e?.triggerOffsetX),\n triggerOffsetY: La(t.triggerOffsetY ?? e?.triggerOffsetY),\n mode: t.mode ?? \"floating\",\n proactiveMode: e?.proactiveMode ?? \"off\",\n // Clamp 0–15; bad/huge stored values just mean \"never shows\" otherwise.\n proactiveDelaySeconds: Math.min(15, Math.max(0, e?.proactiveDelaySeconds ?? 5)),\n primaryColor: t.primaryColor ?? e?.primaryColor,\n accentColor: t.accentColor ?? e?.accentColor,\n fontFamily: t.fontFamily ?? e?.fontFamily,\n fontSize: t.fontSize ?? e?.fontSize,\n borderRadius: t.borderRadius ?? e?.borderRadius,\n windowWidth: t.windowWidth ?? e?.windowWidth,\n windowHeight: t.windowHeight ?? e?.windowHeight\n };\n}\nfunction kh(t) {\n return t === \"explicit\" || t === \"sheet\" ? \"explicit\" : \"chip\";\n}\nfunction _h(t) {\n switch (t) {\n case \"never\":\n return null;\n case \"1h\":\n return 3600 * 1e3;\n case \"6h\":\n return 360 * 60 * 1e3;\n case \"7d\":\n return 10080 * 60 * 1e3;\n case \"24h\":\n return 1440 * 60 * 1e3;\n case void 0:\n return 3600 * 1e3;\n }\n}\nasync function jh({\n siteUrl: t,\n orgSlug: e,\n projSlug: n,\n signal: r\n}) {\n const i = new URL(`${t}/widget/config`);\n i.searchParams.set(\"orgSlug\", e), n && i.searchParams.set(\"projSlug\", n);\n const o = await fetch(i.toString(), { signal: r, keepalive: !0 });\n return o.ok ? o.json() : null;\n}\nfunction Sh(t, e, n, r) {\n const [i, o] = O(\n r !== void 0 ? { config: r, settled: !0 } : { config: null, settled: !1 }\n );\n return N(() => {\n if (r !== void 0)\n return;\n o({ config: null, settled: !1 });\n const a = n ?? \"https://festive-mouse-978.eu-west-1.convex.cloud\", l = a ? Pl(a) : void 0;\n if (!l || !t) {\n o({ config: null, settled: !0 });\n return;\n }\n const c = new AbortController();\n async function u(d) {\n try {\n const m = await jh({ siteUrl: d, orgSlug: t, projSlug: e, signal: c.signal });\n c.signal.aborted || o({ config: m, settled: !0 });\n } catch (m) {\n if (m instanceof Error && m.name === \"AbortError\")\n return;\n c.signal.aborted || o({ config: null, settled: !0 });\n }\n }\n return u(l), () => {\n c.abort();\n };\n }, [t, e, n, r]), i;\n}\nconst Oa = globalThis.console, ne = {\n warn(...t) {\n Oa.warn(...t);\n },\n error(...t) {\n Oa.error(...t);\n },\n debug(...t) {\n }\n};\nasync function Nl(t, e, n) {\n try {\n const r = await fetch(`${e}/widget/bootstrap`, {\n method: \"POST\",\n // Keep this a simple CORS request; application/json triggers OPTIONS preflight.\n // (keepalive below also requires it.)\n body: JSON.stringify(n ? { orgSlug: t, projSlug: n } : { orgSlug: t }),\n credentials: \"omit\",\n // A visitor navigating away mid-request no longer cancels it, so Convex\n // stops logging \"POST /widget/bootstrap failed: Client disconnected\".\n keepalive: !0\n });\n if (r.ok) {\n const i = await r.json(), o = i.allowedUrls ?? (i.allowedUrl ? [i.allowedUrl] : []);\n return {\n ok: !0,\n token: i.token,\n excludePaths: i.excludePaths,\n allowedUrls: o,\n widgetLazyLoadMode: i.widgetLazyLoadMode,\n maintenance: i.maintenance\n };\n }\n return r.status === 403 ? { ok: !1, error: \"unauthorized\" } : r.status === 404 ? { ok: !1, error: \"not_found\" } : r.status === 429 ? { ok: !1, error: \"rate_limited\", retryAfterSec: Number(r.headers.get(\"Retry-After\")) || 60 } : { ok: !1, error: \"network\" };\n } catch {\n return { ok: !1, error: \"network\" };\n }\n}\nfunction Th(t, e) {\n return e.some((n) => n === \"/\" ? t === \"/\" : t === n || t.startsWith(n + \"/\"));\n}\nfunction $a(t, e) {\n try {\n const n = new URL(t), r = new URL(e);\n if (n.origin !== r.origin)\n return !1;\n const i = r.pathname.replace(/\\/$/, \"\");\n if (!i)\n return !0;\n const o = n.pathname.replace(/\\/$/, \"\");\n return o === i || o.startsWith(i + \"/\");\n } catch {\n return !1;\n }\n}\nfunction Ch({\n orgSlug: t,\n projSlug: e,\n preToken: n,\n convexUrl: r,\n preAllowedUrls: i,\n preExcludedPaths: o,\n preMaintenance: a\n}) {\n N(() => {\n const u = r ?? \"https://festive-mouse-978.eu-west-1.convex.cloud\", d = u ? Pl(u) : void 0;\n if (!d || !t || (Rl.value = { orgSlug: t, projSlug: e, siteUrl: d }, n))\n return;\n let m = !1;\n return (async () => {\n const h = await Nl(t, d, e);\n if (!m)\n if (h.ok)\n Dt.value = h.token, Qi.value = h.allowedUrls, Gi.value = h.excludePaths, Ki.value = h.maintenance ?? !1;\n else {\n const p = e ? `project '${t}/${e}'` : `org '${t}'`;\n h.error === \"unauthorized\" ? ne.warn(\n `[JexityChat] Domain not authorized for ${p}. Check the widget's domain rules.`\n ) : h.error === \"not_found\" ? ne.error(`[JexityChat] No active widget config found for ${p}.`) : h.error === \"rate_limited\" ? ne.error(\n `[JexityChat] Bootstrap rate-limited for ${p}. Retry after ${h.retryAfterSec ?? 60}s.`\n ) : ne.error(`[JexityChat] Bootstrap failed: ${h.error}`);\n }\n })(), () => {\n m = !0;\n };\n }, [t, e, n, r]);\n const l = i?.join(`\n`) ?? \"\", c = o?.join(`\n`) ?? \"\";\n N(() => {\n n && (Qi.value = l ? l.split(`\n`) : [], Gi.value = c ? c.split(`\n`) : [], Ki.value = a ?? !1);\n }, [n, l, c, a]);\n}\nconst Hr = /* @__PURE__ */ new Set();\nlet Da = !1;\nfunction Ah() {\n if (Da)\n return;\n Da = !0;\n const t = history.pushState.bind(history), e = history.replaceState.bind(history);\n history.pushState = function(...n) {\n t(...n), Hr.forEach((r) => r());\n }, history.replaceState = function(...n) {\n e(...n), Hr.forEach((r) => r());\n };\n}\nfunction Rh(t) {\n return Hr.add(t), window.addEventListener(\"popstate\", t), Ah(), () => {\n Hr.delete(t), window.removeEventListener(\"popstate\", t);\n };\n}\nfunction Eh() {\n const t = xn(window.location.href);\n N(() => Rh(() => {\n t.value = window.location.href;\n }), [t]);\n const e = Qi.value, n = Gi.value, r = new URL(t.value).pathname, i = Th(r, n);\n return N(() => {\n i ? ne.warn(\n `[JexityChat] Widget hidden — current path is in the exclude list: ${r}`\n ) : e.length > 0 && !e.some((o) => $a(t.value, o)) && ne.warn(\n `[JexityChat] Widget hidden — current page does not match path rule. Allowed: ${e.join(\", \")}`\n );\n }, [t.value, e, n, i, r]), i ? !1 : e.length === 0 ? !0 : e.some((o) => $a(t.value, o));\n}\nconst ko = {\n title: \"Assistant\",\n statusOnline: \"Online · Responds in seconds\",\n inputPlaceholder: \"Type a message…\",\n aiThinking: \"AI is responding…\",\n sendAriaLabel: \"Send message\",\n attachFiles: \"Attach files\",\n attachmentUploading: \"Uploading…\",\n attachmentFailed: \"Upload failed\",\n attachmentRejected: \"Only images (PNG, JPG, WebP) and PDFs up to 10 MB, 4 per message.\",\n attachmentRateLimited: \"Too many files at once. Try again in a few minutes.\",\n attachmentNotAllowed: \"Files can’t be sent in this chat right now.\",\n attachmentGone: \"A file is no longer available. Remove it and attach it again.\",\n attachmentPrivacy: \"Files go to the support team only.\",\n attachmentUnavailable: \"File no longer available\",\n attachmentOpen: \"Open {name}\",\n attachmentLoadFailed: \"Couldn’t load the files.\",\n attachmentRetry: \"Try again\",\n voiceStart: \"Start voice input\",\n voiceStop: \"Stop voice input\",\n voiceListening: \"Listening… speak now.\",\n voiceProviderNote: \"Your speech is transcribed by your browser’s provider (e.g. Google or Apple).\",\n voiceErrorPermission: \"Microphone access is blocked. Allow it in your browser settings.\",\n voiceErrorNoMic: \"No microphone found.\",\n voiceErrorNetwork: \"Voice input isn’t available in this browser right now. It works in Chrome, Edge and Safari. Please type instead.\",\n voiceErrorLang: \"Voice input isn’t available in this language.\",\n removeAttachmentAriaLabel: \"Remove {name}\",\n openChatAriaLabel: \"Open chat\",\n closeChatAriaLabel: \"Close chat\",\n proactiveDismiss: \"Dismiss\",\n proactiveOpenAria: \"Open chat\",\n errorNetwork: \"Network error. Please try again.\",\n errorQuota: \"Message limit reached. Please try again later.\",\n errorRateLimited: \"Too many messages. Try again in {seconds}s.\",\n errorSessionNoToken: \"Could not connect to chat. Check your connection and try again.\",\n errorMaintenance: \"Chat is paused for maintenance. Your message was not sent, but it is still in the box, so you can try again shortly.\",\n errorSessionUnauthorized: \"This chat is not authorised on this page. Please reload.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Resuming conversation…\",\n startingConversation: \"Starting conversation…\",\n sessionNotFound: \"Your previous session was not found. Starting a new conversation.\",\n startNewConversation: \"Start new conversation\",\n chatWith: \"Send us a message\",\n homeStatusOnline: \"Online\",\n homeStatusOffline: \"Offline\",\n haveReferenceNumber: \"Have a reference number?\",\n referencePlaceholder: \"e.g. JEX-A3B7C2\",\n resume: \"Resume\",\n howCanWeHelp: \"How can we help?\",\n getInstantHelp: \"Get instant help\",\n submitTicket: \"Submit a ticket\",\n replyByEmail: \"We'll reply by email\",\n ticketSubmitted: \"Ticket submitted\",\n yourReferenceNumber: \"Your reference number:\",\n sentToEmailHint: \"We've sent it to your email. Use this number to follow up.\",\n done: \"Done\",\n submittingTicket: \"Submitting your ticket…\",\n yourName: \"Your name\",\n yourEmail: \"Your email\",\n submit: \"Submit\",\n back: \"Go back\",\n localePickerLabel: \"Language\",\n // Escalation form\n escalationFormTitle: \"Leave your details\",\n escalationSubtitle: \"Our team will get back to you by email so you don’t have to wait here.\",\n escalationOfflineSubtitle: \"Our team is offline right now — leave your email and we’ll get back to you.\",\n escalationNameLabel: \"Your name\",\n escalationEmailLabel: \"Your email\",\n escalationSubmit: \"Send to team\",\n escalationSubmitting: \"Sending…\",\n escalationSubmitted: \"Request submitted\",\n escalationConsent: \"By submitting, you agree to our\",\n escalationPrivacyLinkText: \"Privacy Policy\",\n escalationSkip: \"Skip, I’ll wait here\",\n escalationPromptTitle: \"Talk to our team\",\n escalationPromptSubtitle: \"We can notify you by email when our team replies.\",\n escalationPromptSubmit: \"Leave details\",\n escalationSubmitFailed: \"Failed to submit. Please try again.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Session not found. Would you like to start a new conversation?\",\n sessionLocked: \"For your privacy, this conversation was closed after a period of inactivity. Enter your reference to resume, or start a new conversation.\",\n // Resolved session\n sessionResolved: \"This conversation has been resolved.\",\n tryAgain: \"Try again\",\n goBack: \"Go back\",\n somethingWentWrong: \"Something went wrong\",\n fabLabel: \"Chat with us\",\n chatNoLongerAvailable: \"This chat is no longer available.\",\n // Handoff & resume list\n talkToHuman: \"Talk to human\",\n talkToHumanAria: \"Talk to a human agent\",\n handoffPending: \"Connecting you to a human agent…\",\n handoffFailed: \"Could not request a human agent. Try again.\",\n handoffRateLimited: \"You requested an agent recently. Please wait before trying again.\",\n handoffAvailable: \"An agent is available\",\n handoffOffline: \"No agent online — leave your details\",\n handoffMaintenance: \"Paused for maintenance. You can reach an agent again shortly.\",\n resumeListLabel: \"Continue conversation\",\n resumeListTimestamp: \"{minutes}m ago\",\n pickUpWhereLeftOff: \"Pick up where you left off\",\n noticeAgentJoined: \"{name} has joined the conversation.\",\n noticeHumanRequested: \"You requested to speak with a human agent.\",\n noticeHumanRequestedForm: \"You requested to speak with a human agent. Please share your contact details below.\",\n noticeEscalationConfirmed: `Thank you {name}! A human agent will be available soon.\nWe will contact you at {email} when an agent is ready.\n\nYour reference: **{ref}**\nUse it to resume this conversation from any device.`,\n noticeMessageReceived: \"Your message has been received. A team member will respond shortly.\",\n noticeAgentHandling: \"Your conversation is with a human agent who will respond shortly.\",\n noticeAiResumed: \"The assistant is back and can answer your questions again.\",\n quoteMessage: \"Quote this message\",\n quotedYourMessage: \"Your message\",\n cancelReply: \"Cancel reply\",\n sourcesCountOne: \"{count} source\",\n sourcesCountOther: \"{count} sources\",\n privacyNoticePre: \"By chatting, you agree to our\",\n privacyPolicyLinkText: \"Privacy Policy\",\n privacyChipText: \"We respect your privacy - read our policy\",\n privacyExplicitTitle: \"Before you send\",\n privacyExplicitBodyPre: \"Messages are processed to assist you. By continuing you agree to our\",\n privacyExplicitButton: \"Got it, continue\",\n // Magicline integration forms\n magiclineTrialTitle: \"Book a trial session\",\n magiclineLeadTitle: \"Request more information\",\n magiclineFirstName: \"First name\",\n magiclineLastName: \"Last name\",\n magiclineEmail: \"Email\",\n magiclinePhone: \"Phone\",\n magiclineBirthDate: \"Date of birth\",\n magiclineInterest: \"What are you interested in? (optional)\",\n magiclineMessage: \"Message (optional)\",\n magiclineSlotLabel: \"Preferred time\",\n magiclineSlotPlaceholder: \"Select a time…\",\n magiclineLoadingSlots: \"Loading available times…\",\n magiclineNoSlots: \"No trial times are available right now. Please check back later or ask us for help.\",\n magiclineSubmit: \"Submit\",\n magiclineSubmitting: \"Submitting…\",\n magiclineSubmitted: \"Request submitted\",\n magiclineSubmittedDetail: \"We’ve received your request and will be in touch shortly.\",\n magiclineTrialSuccessTitle: \"Book a trial session\",\n magiclineTrialSuccessDetail: \"Done! Your trial session is booked. You'll receive a confirmation email shortly – please check your inbox.\",\n magiclineFailed: \"Submission failed\",\n magiclineFailedDetail: \"Something went wrong submitting your request. Please try again.\",\n magiclineConsent: \"I agree to the processing of my data in accordance with the\",\n magiclinePrivacyLinkText: \"Privacy Policy\",\n magiclineRequiredError: \"Please fill in all required fields.\",\n magiclineEmailError: \"Please enter a valid email address.\",\n magiclineConsentError: \"Please accept the privacy policy to continue.\",\n // Dynamic per-studio trial form (v2)\n magiclineConfigLoading: \"Loading the booking form…\",\n magiclineConfigUnsupported: \"Online trial booking is not supported for this studio. Please ask us for help.\",\n magiclineConfigInconsistent: \"The booking form is temporarily misconfigured. Please ask us for help.\",\n magiclineConfigUnavailable: \"Trial booking is not available right now. Please try again later or ask us for help.\",\n magiclineGender: \"Gender\",\n magiclineGenderPlaceholder: \"Select gender…\",\n magiclineGenderMale: \"Male\",\n magiclineGenderFemale: \"Female\",\n magiclineGenderUnisex: \"Diverse\",\n magiclineStreet: \"Street\",\n magiclineHouseNumber: \"House number\",\n magiclineZip: \"Postal code\",\n magiclineCity: \"City\",\n magiclineCountry: \"Country\",\n magiclineCountryPlaceholder: \"Select a country…\",\n magiclineNote: \"Note (optional)\",\n magiclineOptionalSuffix: \" (optional)\",\n magiclineTrainerRequired: \"I want a trainer present\",\n magiclineMinAgeError: \"You must be at least {age} years old to book a trial.\",\n magiclineSlotRequiredError: \"Please select an available time.\",\n magiclineSlotUnavailableNotice: \"That time is no longer available. Please pick another time below.\",\n // Step wizard (v3)\n magiclineStepTrainer: \"Trainer\",\n magiclineStepSlot: \"Choose a time\",\n magiclineStepPersonal: \"Your details\",\n magiclineStepAddress: \"Your address\",\n magiclineStepConfirm: \"Confirm\",\n magiclineStepCounter: \"Step {n} of {total}\",\n magiclineWizardBack: \"Back\",\n magiclineWizardNext: \"Next\",\n magiclineTrainerWith: \"Trial session with trainer\",\n magiclineTrainerWithout: \"Trial session without trainer\",\n magiclineSummaryTrainer: \"Trainer\",\n magiclineSummarySlot: \"Time\",\n magiclineSummaryName: \"Name\",\n magiclineRetry: \"Try again\",\n magiclineSlotsError: \"We couldn’t load available times right now. Please try again.\",\n // Membership signup wizard (contract creation)\n magiclineContractTitle: \"Become a member\",\n magiclineStepOffer: \"Choose a membership\",\n magiclineStepUpgrades: \"Add-ons\",\n magiclineStepPayment: \"Payment\",\n magiclineStepReview: \"Review\",\n magiclineOffersLoading: \"Loading memberships…\",\n magiclineOffersError: \"We couldn’t load the memberships right now. Please try again.\",\n magiclineNoOffers: \"No memberships are available to sign up for online right now. Please ask us for help.\",\n magiclineTermLength: \"{value} {unit}\",\n magiclineFreqPerDay: \"per day\",\n magiclineFreqPerWeek: \"per week\",\n magiclineFreqPerMonth: \"per month\",\n magiclineFreqPerYear: \"per year\",\n magiclineFreqEveryDays: \"every {n} days\",\n magiclineFreqEveryWeeks: \"every {n} weeks\",\n magiclineFreqEveryMonths: \"every {n} months\",\n magiclineFreqEveryYears: \"every {n} years\",\n magiclineModulePerTerm: \"per term\",\n magiclineModuleOneTime: \"one-time\",\n magiclineModuleIncluded: \"included\",\n magiclineRenewalNone: \"No automatic renewal\",\n magiclineRenewalTerm: \"Renewal: {n} {unit}\",\n magiclineCancellationPeriod: \"Cancellation period\",\n magiclineStarterPackage: \"Starter package\",\n magiclineFlatFee: \"One-time fee\",\n magiclineIncludedModules: \"Included\",\n magiclineDetails: \"Details\",\n magiclineRequired: \"Required\",\n magiclineUpgradesIntro: \"Add optional upgrades to your membership.\",\n magiclineUpgradesNone: \"No optional upgrades are available for this membership.\",\n magiclineUpgradeAdd: \"Add\",\n magiclineUpgradeAdded: \"Added\",\n magiclineUpgradeOneTime: \"one-time\",\n magiclineUpgradeConsentError: \"Please accept the terms for your selected upgrade to keep it.\",\n magiclineOfferRequiredError: \"Please select a membership.\",\n magiclineCountryStatic: \"Germany\",\n magiclineAccountHolder: \"Account holder\",\n magiclineIban: \"IBAN\",\n magiclineIbanInvalidError: \"Please enter a valid IBAN.\",\n magiclineSepaConsent: \"I authorise the studio to collect payments from my account by SEPA direct debit and instruct my bank to honour these debits.\",\n magiclineReviewLoading: \"Calculating your price…\",\n magiclineReviewError: \"We couldn’t calculate your price right now. Please try again.\",\n magiclineReviewOffer: \"Membership\",\n magiclineReviewPriceSummary: \"Price summary\",\n magiclineReviewBasePrice: \"Price per month\",\n magiclineReviewOneTimeFees: \"One-time fees\",\n magiclineReviewPreUseCharge: \"Pre-use charge\",\n magiclineReviewSelectedUpgrades: \"Your selected upgrades\",\n magiclineReviewContractVolume: \"Total contract volume\",\n magiclineReviewStartsOn: \"Starts on\",\n magiclineReviewPayment: \"Payment\",\n magiclineReviewTerms: \"Terms & conditions\",\n magiclineConfirmPrompt: \"Please confirm the following to continue:\",\n magiclineConfirmRequiredError: \"Please confirm all required terms before submitting.\",\n magiclineSummaryAddress: \"Address\",\n magiclineContractSubmitted: \"Your membership is confirmed and the studio will be in touch shortly.\",\n magiclineContractSuccessTitle: \"Sign up for membership\",\n magiclineContractSuccessDetail: \"Welcome aboard! Your membership is all set. Your confirmation email is on its way.\",\n magiclineCustomerNumber: \"Your customer number: {number}\",\n magiclinePriceChangedNotice: \"The price has changed. Please review the new price and confirm again.\",\n magiclineOfferUnavailableNotice: \"That membership is no longer available. Please choose another one.\",\n magiclineConfirmationRequiredNotice: \"Please confirm all required terms before submitting.\",\n magiclineLiveSubmissionDisabled: \"Live submission is disabled for this project — please contact the studio.\",\n magiclineDuplicateNotice: \"A membership for this offer was already created recently.\",\n magiclineUnknownOutcome: \"We couldn’t confirm your signup. The studio will verify it and contact you — please do not submit again.\",\n magiclineFeeStarterPackage: \"Starter package\",\n magiclineFeeTrainerFee: \"Trainer fee\",\n // Voucher code (contract-creation Review step)\n magiclineVoucherLabel: \"Voucher code\",\n magiclineVoucherPlaceholder: \"Enter voucher code…\",\n magiclineVoucherApply: \"Apply\",\n magiclineVoucherAppliedDiscount: \"Discount ({discount})\",\n magiclineVoucherCreditNotice: \"Account credit applied — not deducted from contract total.\",\n magiclineVoucherRemarks: \"Voucher remarks\",\n magiclineVoucherInvalid: 'Voucher \"{code}\" is not valid. Please check the code and try again.',\n magiclineVoucherDisabled: \"Voucher codes are not available for this membership.\",\n magiclineGesamtpreisBeforeDiscount: \"Total contract volume (before voucher discount)\",\n newReplyTitle: \"New reply\",\n // Waiting-for-agent card\n waitingTitle: \"You’re in the queue\",\n waitingSubtitle: \"Keep this tab open — we’ll alert you right here the moment someone replies.\",\n waitingLeaveEmail: \"Rather get an email? Leave your details\"\n}, Ll = {\n title: \"Assistent\",\n statusOnline: \"Online · Antwortet in Sekunden\",\n inputPlaceholder: \"Nachricht eingeben…\",\n aiThinking: \"KI antwortet…\",\n sendAriaLabel: \"Nachricht senden\",\n attachFiles: \"Dateien anhängen\",\n attachmentUploading: \"Wird hochgeladen…\",\n attachmentFailed: \"Hochladen fehlgeschlagen\",\n attachmentRejected: \"Nur Bilder (PNG, JPG, WebP) und PDFs bis 10 MB, 4 pro Nachricht.\",\n attachmentRateLimited: \"Zu viele Dateien auf einmal. Bitte in ein paar Minuten erneut versuchen.\",\n attachmentNotAllowed: \"In diesem Chat können gerade keine Dateien gesendet werden.\",\n attachmentGone: \"Eine Datei ist nicht mehr verfügbar. Bitte entfernen und neu anhängen.\",\n attachmentPrivacy: \"Dateien sieht nur das Support-Team.\",\n attachmentUnavailable: \"Datei nicht mehr verfügbar\",\n attachmentOpen: \"{name} öffnen\",\n attachmentLoadFailed: \"Die Dateien konnten nicht geladen werden.\",\n attachmentRetry: \"Erneut versuchen\",\n voiceStart: \"Spracheingabe starten\",\n voiceStop: \"Spracheingabe beenden\",\n voiceListening: \"Ich höre zu… sprich jetzt.\",\n voiceProviderNote: \"Deine Sprache wird vom Anbieter deines Browsers (z. B. Google oder Apple) in Text umgewandelt.\",\n voiceErrorPermission: \"Der Mikrofonzugriff ist blockiert. Erlaube ihn in den Browsereinstellungen.\",\n voiceErrorNoMic: \"Kein Mikrofon gefunden.\",\n voiceErrorNetwork: \"Spracheingabe ist in diesem Browser gerade nicht verfügbar. Sie funktioniert in Chrome, Edge und Safari. Bitte tippe stattdessen.\",\n voiceErrorLang: \"Spracheingabe ist in dieser Sprache nicht verfügbar.\",\n removeAttachmentAriaLabel: \"{name} entfernen\",\n openChatAriaLabel: \"Chat öffnen\",\n closeChatAriaLabel: \"Chat schließen\",\n proactiveDismiss: \"Schließen\",\n proactiveOpenAria: \"Chat öffnen\",\n errorNetwork: \"Netzwerkfehler. Bitte versuche es erneut.\",\n errorQuota: \"Nachrichtenlimit erreicht. Bitte versuche es später erneut.\",\n errorRateLimited: \"Zu viele Nachrichten. Bitte in {seconds} Sek. erneut versuchen.\",\n errorSessionNoToken: \"Verbindung zum Chat fehlgeschlagen. Bitte Internet prüfen und erneut versuchen.\",\n errorMaintenance: \"Der Chat pausiert wegen Wartungsarbeiten. Deine Nachricht wurde nicht gesendet, sie steht noch im Feld. Bitte versuche es gleich erneut.\",\n errorSessionUnauthorized: \"Dieser Chat ist auf dieser Seite nicht autorisiert. Bitte neu laden.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Gespräch wird fortgesetzt…\",\n startingConversation: \"Konversation wird gestartet…\",\n sessionNotFound: \"Ihre vorherige Sitzung wurde nicht gefunden. Ein neues Gespräch wird gestartet.\",\n startNewConversation: \"Neues Gespräch beginnen\",\n chatWith: \"Schreib uns eine Nachricht\",\n homeStatusOnline: \"Online\",\n homeStatusOffline: \"Offline\",\n haveReferenceNumber: \"Hast du eine Referenznummer?\",\n referencePlaceholder: \"z.B. JEX-A3B7C2\",\n resume: \"Fortsetzen\",\n howCanWeHelp: \"Wie können wir helfen?\",\n getInstantHelp: \"Soforthilfe erhalten\",\n submitTicket: \"Ticket einreichen\",\n replyByEmail: \"Wir antworten per E-Mail\",\n ticketSubmitted: \"Ticket eingereicht\",\n yourReferenceNumber: \"Deine Referenznummer:\",\n sentToEmailHint: \"Wir haben sie an deine E-Mail gesendet. Verwende diese Nummer für Rückfragen.\",\n done: \"Fertig\",\n submittingTicket: \"Dein Ticket wird übermittelt…\",\n yourName: \"Dein Name\",\n yourEmail: \"Deine E-Mail\",\n submit: \"Absenden\",\n back: \"Zurück\",\n localePickerLabel: \"Sprache\",\n // Escalation form\n escalationFormTitle: \"Hinterlassen Sie Ihre Daten\",\n escalationSubtitle: \"Unser Team meldet sich per E-Mail bei Ihnen — Sie müssen nicht hier warten.\",\n escalationOfflineSubtitle: \"Unser Team ist gerade offline — hinterlasse deine E-Mail und wir melden uns bei dir.\",\n escalationNameLabel: \"Ihr Name\",\n escalationEmailLabel: \"Ihre E-Mail\",\n escalationSubmit: \"An Team senden\",\n escalationSubmitting: \"Wird gesendet…\",\n escalationSubmitted: \"Anfrage gesendet\",\n escalationConsent: \"Mit dem Absenden stimmen Sie unserer\",\n escalationPrivacyLinkText: \"Datenschutzerklärung\",\n escalationSkip: \"Überspringen, ich warte hier\",\n escalationPromptTitle: \"Sprechen Sie mit unserem Team\",\n escalationPromptSubtitle: \"Wir benachrichtigen Sie per E-Mail, wenn wir antworten.\",\n escalationPromptSubmit: \"Daten hinterlassen\",\n escalationSubmitFailed: \"Senden fehlgeschlagen. Bitte versuche es erneut.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Sitzung nicht gefunden. Möchten Sie ein neues Gespräch beginnen?\",\n sessionLocked: \"Aus Datenschutzgründen wurde dieses Gespräch nach einer Inaktivitätszeit geschlossen. Geben Sie Ihre Referenz ein, um fortzufahren, oder beginnen Sie ein neues Gespräch.\",\n // Resolved session\n sessionResolved: \"Diese Unterhaltung wurde abgeschlossen.\",\n tryAgain: \"Erneut versuchen\",\n goBack: \"Zurück\",\n somethingWentWrong: \"Etwas ist schiefgelaufen\",\n fabLabel: \"Chatte mit uns\",\n chatNoLongerAvailable: \"Dieser Chat ist nicht mehr verfügbar.\",\n // Handoff & resume list\n talkToHuman: \"Mit Mitarbeiter sprechen\",\n talkToHumanAria: \"Mit einem menschlichen Mitarbeiter sprechen\",\n handoffPending: \"Sie werden mit einem Mitarbeiter verbunden…\",\n handoffFailed: \"Anfrage konnte nicht gesendet werden. Erneut versuchen.\",\n handoffRateLimited: \"Sie haben kürzlich einen Mitarbeiter angefragt. Bitte warten Sie.\",\n handoffAvailable: \"Ein Mitarbeiter ist verfügbar\",\n handoffOffline: \"Kein Mitarbeiter online — hinterlasse deine Daten\",\n handoffMaintenance: \"Wegen Wartungsarbeiten pausiert. Du kannst gleich wieder einen Mitarbeiter erreichen.\",\n resumeListLabel: \"Unterhaltung fortsetzen\",\n resumeListTimestamp: \"vor {minutes} Min.\",\n pickUpWhereLeftOff: \"Da weitermachen, wo Sie aufgehört haben\",\n noticeAgentJoined: \"{name} ist der Unterhaltung beigetreten.\",\n noticeHumanRequested: \"Sie haben darum gebeten, mit einem Mitarbeiter zu sprechen.\",\n noticeHumanRequestedForm: \"Sie haben darum gebeten, mit einem Mitarbeiter zu sprechen. Bitte teilen Sie unten Ihre Kontaktdaten mit.\",\n noticeEscalationConfirmed: `Vielen Dank, {name}! Ein Mitarbeiter wird in Kürze verfügbar sein.\nWir kontaktieren Sie unter {email}, sobald ein Mitarbeiter bereit ist.\n\nIhre Referenz: **{ref}**\nVerwenden Sie sie, um diese Unterhaltung auf jedem Gerät fortzusetzen.`,\n noticeMessageReceived: \"Ihre Nachricht ist eingegangen. Ein Mitarbeiter wird in Kürze antworten.\",\n noticeAgentHandling: \"Ihre Unterhaltung wird von einem menschlichen Mitarbeiter betreut, der in Kürze antwortet.\",\n noticeAiResumed: \"Der Assistent ist wieder da und kann Ihre Fragen beantworten.\",\n quoteMessage: \"Diese Nachricht zitieren\",\n quotedYourMessage: \"Ihre Nachricht\",\n cancelReply: \"Antwort abbrechen\",\n sourcesCountOne: \"{count} Quelle\",\n sourcesCountOther: \"{count} Quellen\",\n privacyNoticePre: \"Mit dem Chatten stimmst du unserer\",\n privacyPolicyLinkText: \"Datenschutzerklärung\",\n privacyChipText: \"Wir respektieren Ihre Privatsphäre - Richtlinie lesen\",\n privacyExplicitTitle: \"Vor dem Senden\",\n privacyExplicitBodyPre: \"Nachrichten werden verarbeitet, um Ihnen zu helfen. Durch Fortfahren stimmen Sie unserer\",\n privacyExplicitButton: \"Verstanden, fortfahren\",\n // Magicline integration forms\n magiclineTrialTitle: \"Probetraining buchen\",\n magiclineLeadTitle: \"Weitere Informationen anfordern\",\n magiclineFirstName: \"Vorname\",\n magiclineLastName: \"Nachname\",\n magiclineEmail: \"E-Mail\",\n magiclinePhone: \"Telefon\",\n magiclineBirthDate: \"Geburtsdatum\",\n magiclineInterest: \"Wofür interessieren Sie sich? (optional)\",\n magiclineMessage: \"Nachricht (optional)\",\n magiclineSlotLabel: \"Wunschtermin\",\n magiclineSlotPlaceholder: \"Termin auswählen…\",\n magiclineLoadingSlots: \"Verfügbare Termine werden geladen…\",\n magiclineNoSlots: \"Derzeit sind keine Probetermine verfügbar. Bitte versuchen Sie es später erneut oder fragen Sie uns um Hilfe.\",\n magiclineSubmit: \"Absenden\",\n magiclineSubmitting: \"Wird gesendet…\",\n magiclineSubmitted: \"Anfrage gesendet\",\n magiclineSubmittedDetail: \"Wir haben Ihre Anfrage erhalten und melden uns in Kürze bei Ihnen.\",\n magiclineTrialSuccessTitle: \"Probetraining buchen\",\n magiclineTrialSuccessDetail: \"Geschafft! Dein Probetraining ist gebucht. Du bekommst gleich eine Bestätigung per E-Mail – schau bitte in dein Postfach.\",\n magiclineFailed: \"Senden fehlgeschlagen\",\n magiclineFailedDetail: \"Beim Senden Ihrer Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.\",\n magiclineConsent: \"Ich stimme der Verarbeitung meiner Daten gemäß der\",\n magiclinePrivacyLinkText: \"Datenschutzerklärung\",\n magiclineRequiredError: \"Bitte füllen Sie alle Pflichtfelder aus.\",\n magiclineEmailError: \"Bitte geben Sie eine gültige E-Mail-Adresse ein.\",\n magiclineConsentError: \"Bitte akzeptieren Sie die Datenschutzerklärung, um fortzufahren.\",\n // Dynamisches studiospezifisches Probetraining-Formular (v2)\n magiclineConfigLoading: \"Buchungsformular wird geladen…\",\n magiclineConfigUnsupported: \"Die Online-Buchung eines Probetrainings wird für dieses Studio nicht unterstützt. Bitte fragen Sie uns um Hilfe.\",\n magiclineConfigInconsistent: \"Das Buchungsformular ist vorübergehend falsch konfiguriert. Bitte fragen Sie uns um Hilfe.\",\n magiclineConfigUnavailable: \"Die Buchung eines Probetrainings ist derzeit nicht verfügbar. Bitte versuchen Sie es später erneut oder fragen Sie uns um Hilfe.\",\n magiclineGender: \"Geschlecht\",\n magiclineGenderPlaceholder: \"Geschlecht auswählen…\",\n magiclineGenderMale: \"Männlich\",\n magiclineGenderFemale: \"Weiblich\",\n magiclineGenderUnisex: \"Divers\",\n magiclineStreet: \"Straße\",\n magiclineHouseNumber: \"Hausnummer\",\n magiclineZip: \"Postleitzahl\",\n magiclineCity: \"Stadt\",\n magiclineCountry: \"Land\",\n magiclineCountryPlaceholder: \"Land auswählen…\",\n magiclineNote: \"Anmerkung (optional)\",\n magiclineOptionalSuffix: \" (optional)\",\n magiclineTrainerRequired: \"Ich wünsche einen Trainer vor Ort\",\n magiclineMinAgeError: \"Sie müssen mindestens {age} Jahre alt sein, um ein Probetraining zu buchen.\",\n magiclineSlotRequiredError: \"Bitte wählen Sie einen verfügbaren Termin aus.\",\n magiclineSlotUnavailableNotice: \"Dieser Termin ist nicht mehr verfügbar. Bitte wählen Sie unten einen anderen Termin aus.\",\n // Schritt-Assistent (v3)\n magiclineStepTrainer: \"Trainer\",\n magiclineStepSlot: \"Termin wählen\",\n magiclineStepPersonal: \"Ihre Daten\",\n magiclineStepAddress: \"Ihre Adresse\",\n magiclineStepConfirm: \"Bestätigen\",\n magiclineStepCounter: \"Schritt {n} von {total}\",\n magiclineWizardBack: \"Zurück\",\n magiclineWizardNext: \"Weiter\",\n magiclineTrainerWith: \"Probetraining mit Trainer\",\n magiclineTrainerWithout: \"Probetraining ohne Trainer\",\n magiclineSummaryTrainer: \"Trainer\",\n magiclineSummarySlot: \"Termin\",\n magiclineSummaryName: \"Name\",\n magiclineRetry: \"Erneut versuchen\",\n magiclineSlotsError: \"Die verfügbaren Termine konnten gerade nicht geladen werden. Bitte versuchen Sie es erneut.\",\n // Mitgliedschafts-Assistent (Vertragsabschluss)\n magiclineContractTitle: \"Mitglied werden\",\n magiclineStepOffer: \"Mitgliedschaft wählen\",\n magiclineStepUpgrades: \"Zusatzoptionen\",\n magiclineStepPayment: \"Zahlung\",\n magiclineStepReview: \"Überprüfen\",\n magiclineOffersLoading: \"Mitgliedschaften werden geladen…\",\n magiclineOffersError: \"Die Mitgliedschaften konnten gerade nicht geladen werden. Bitte versuchen Sie es erneut.\",\n magiclineNoOffers: \"Derzeit sind keine Mitgliedschaften für den Online-Abschluss verfügbar. Bitte fragen Sie uns um Hilfe.\",\n magiclineTermLength: \"{value} {unit}\",\n magiclineFreqPerDay: \"pro Tag\",\n magiclineFreqPerWeek: \"pro Woche\",\n magiclineFreqPerMonth: \"pro Monat\",\n magiclineFreqPerYear: \"pro Jahr\",\n magiclineFreqEveryDays: \"alle {n} Tage\",\n magiclineFreqEveryWeeks: \"alle {n} Wochen\",\n magiclineFreqEveryMonths: \"alle {n} Monate\",\n magiclineFreqEveryYears: \"alle {n} Jahre\",\n magiclineModulePerTerm: \"pro Laufzeit\",\n magiclineModuleOneTime: \"einmalig\",\n magiclineModuleIncluded: \"inklusive\",\n magiclineRenewalNone: \"Keine automatische Verlängerung\",\n magiclineRenewalTerm: \"Verlängerung: {n} {unit}\",\n magiclineCancellationPeriod: \"Kündigungsfrist\",\n magiclineStarterPackage: \"Startpaket\",\n magiclineFlatFee: \"Einmalige Gebühr\",\n magiclineIncludedModules: \"Inklusive\",\n magiclineDetails: \"Details\",\n magiclineRequired: \"Erforderlich\",\n magiclineUpgradesIntro: \"Fügen Sie Ihrer Mitgliedschaft optionale Zusatzoptionen hinzu.\",\n magiclineUpgradesNone: \"Für diese Mitgliedschaft sind keine optionalen Zusatzoptionen verfügbar.\",\n magiclineUpgradeAdd: \"Hinzufügen\",\n magiclineUpgradeAdded: \"Hinzugefügt\",\n magiclineUpgradeOneTime: \"einmalig\",\n magiclineUpgradeConsentError: \"Bitte akzeptieren Sie die Bedingungen für Ihre gewählte Zusatzoption, um sie beizubehalten.\",\n magiclineOfferRequiredError: \"Bitte wählen Sie eine Mitgliedschaft aus.\",\n magiclineCountryStatic: \"Deutschland\",\n magiclineAccountHolder: \"Kontoinhaber\",\n magiclineIban: \"IBAN\",\n magiclineIbanInvalidError: \"Bitte geben Sie eine gültige IBAN ein.\",\n magiclineSepaConsent: \"Ich ermächtige das Studio, Zahlungen von meinem Konto per SEPA-Lastschrift einzuziehen, und weise mein Kreditinstitut an, diese Lastschriften einzulösen.\",\n magiclineReviewLoading: \"Ihr Preis wird berechnet…\",\n magiclineReviewError: \"Ihr Preis konnte gerade nicht berechnet werden. Bitte versuchen Sie es erneut.\",\n magiclineReviewOffer: \"Mitgliedschaft\",\n magiclineReviewPriceSummary: \"Preisübersicht\",\n magiclineReviewBasePrice: \"Preis pro Monat\",\n magiclineReviewOneTimeFees: \"Einmalige Gebühren\",\n magiclineReviewPreUseCharge: \"Vorab-Nutzungsgebühr\",\n magiclineReviewSelectedUpgrades: \"Deine gewählten Zusatzoptionen\",\n magiclineReviewContractVolume: \"Gesamtes Vertragsvolumen\",\n magiclineReviewStartsOn: \"Beginnt am\",\n magiclineReviewPayment: \"Zahlung\",\n magiclineReviewTerms: \"Vertragsbedingungen\",\n magiclineConfirmPrompt: \"Bitte bestätigen Sie zum Fortfahren das Folgende:\",\n magiclineConfirmRequiredError: \"Bitte bestätigen Sie alle erforderlichen Bedingungen vor dem Absenden.\",\n magiclineSummaryAddress: \"Adresse\",\n magiclineContractSubmitted: \"Ihre Mitgliedschaft ist bestätigt. Das Studio meldet sich in Kürze bei Ihnen.\",\n magiclineContractSuccessTitle: \"Mitgliedschaft abschließen\",\n magiclineContractSuccessDetail: \"Willkommen an Bord! Deine Mitgliedschaft ist abgeschlossen. Die Bestätigung kommt gleich per E-Mail.\",\n magiclineCustomerNumber: \"Ihre Kundennummer: {number}\",\n magiclinePriceChangedNotice: \"Der Preis hat sich geändert. Bitte prüfen Sie den neuen Preis und bestätigen Sie erneut.\",\n magiclineOfferUnavailableNotice: \"Diese Mitgliedschaft ist nicht mehr verfügbar. Bitte wählen Sie eine andere aus.\",\n magiclineConfirmationRequiredNotice: \"Bitte bestätigen Sie alle erforderlichen Bedingungen vor dem Absenden.\",\n magiclineLiveSubmissionDisabled: \"Die Live-Übermittlung ist für dieses Projekt deaktiviert — bitte wenden Sie sich an das Studio.\",\n magiclineDuplicateNotice: \"Für dieses Angebot wurde kürzlich bereits eine Mitgliedschaft erstellt.\",\n magiclineUnknownOutcome: \"Wir konnten Ihre Anmeldung nicht bestätigen. Das Studio prüft sie und meldet sich bei Ihnen — bitte senden Sie das Formular nicht erneut ab.\",\n magiclineFeeStarterPackage: \"Startpaket\",\n magiclineFeeTrainerFee: \"Trainerpauschale\",\n // Gutscheincode (Vertragsabschluss-Schritt: Überprüfen)\n magiclineVoucherLabel: \"Gutscheincode\",\n magiclineVoucherPlaceholder: \"Gutscheincode eingeben…\",\n magiclineVoucherApply: \"Einlösen\",\n magiclineVoucherAppliedDiscount: \"Rabatt ({discount})\",\n magiclineVoucherCreditNotice: \"Guthaben wird angerechnet — nicht vom Vertragsvolumen abgezogen.\",\n magiclineVoucherRemarks: \"Hinweis zum Gutschein\",\n magiclineVoucherInvalid: 'Gutscheincode „{code}\" ist nicht gültig. Bitte überprüfen Sie den Code und versuchen Sie es erneut.',\n magiclineVoucherDisabled: \"Gutscheincodes sind für diese Mitgliedschaft nicht verfügbar.\",\n magiclineGesamtpreisBeforeDiscount: \"Gesamtes Vertragsvolumen (vor Gutscheinrabatt)\",\n newReplyTitle: \"Neue Antwort\",\n // Waiting-for-agent card\n waitingTitle: \"Du bist in der Warteschlange\",\n waitingSubtitle: \"Lass diesen Tab offen — wir benachrichtigen dich hier, sobald jemand antwortet.\",\n waitingLeaveEmail: \"Lieber per E-Mail? Hinterlasse deine Daten\"\n}, Yi = [\n { value: \"de\", label: \"Deutsch\" },\n { value: \"en\", label: \"English\" }\n], Ih = \"de\", Ol = \"jex-locale\", Qe = H(\"de\"), Mh = { en: ko, de: Ll };\nfunction I() {\n return Mh[Qe.value] ?? ko;\n}\nfunction Ph(t) {\n Qe.value = t;\n try {\n localStorage.setItem(Ol, t);\n } catch {\n }\n}\nfunction Ir(t) {\n if (!t)\n return null;\n const e = (t.split(\"-\")[0] ?? \"\").toLowerCase();\n return Yi.some((r) => r.value === e) ? e : null;\n}\nfunction Nh(t, e) {\n if (e)\n try {\n const r = Ir(localStorage.getItem(Ol));\n if (r)\n return r;\n } catch {\n }\n const n = Ir(t);\n if (n)\n return n;\n if (typeof navigator < \"u\") {\n const r = Ir(navigator.language);\n if (r)\n return r;\n }\n return Ih;\n}\nfunction Lh(t) {\n N(() => {\n function e(n) {\n const r = t ?? window.location.origin;\n if (n.origin !== r || n.data?.type !== \"jexity:config\")\n return;\n const { locale: i } = n.data.payload, o = Ir(i);\n o && (Qe.value = o);\n }\n return window.addEventListener(\"message\", e), () => {\n window.removeEventListener(\"message\", e);\n };\n }, [t]);\n}\nconst $l = \"jex-session-history\", Dl = $l, ql = 1440 * 60 * 1e3, Me = H([]), We = H(null), Nt = H(void 0), Xi = H(!1), _o = Wi(() => Me.value.length > 0), bn = H(null), Oh = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\", $h = 6;\nfunction Dh() {\n let t = \"\";\n const e = new Uint8Array(1);\n for (; t.length < $h; ) {\n crypto.getRandomValues(e);\n const n = e[0] ?? 0;\n n < 252 && (t += Oh[n % 36]);\n }\n return \"JEX-\" + t;\n}\nfunction qh(t) {\n if (t === null)\n return null;\n if (typeof t == \"number\" && Number.isFinite(t) && t >= 0)\n return t;\n}\nfunction zl(t, e, n) {\n if (n === null)\n return t;\n const r = typeof n == \"number\" ? n : ql;\n return t.filter((i) => e - i.lastActivityAt <= r);\n}\nfunction zh(t, e, n, r) {\n return n ? zl(t, e, r) : t;\n}\nfunction Fh(t) {\n try {\n const e = sessionStorage.getItem(Dl);\n if (!e)\n return Nt.value = void 0, [];\n const n = JSON.parse(e);\n if (n.v !== 1 || !Array.isArray(n.entries))\n return Nt.value = void 0, [];\n const r = Object.prototype.hasOwnProperty.call(n, \"timeoutMs\");\n return Nt.value = qh(n.timeoutMs), zh(\n n.entries,\n t,\n r,\n Nt.value\n );\n } catch {\n return Nt.value = void 0, [];\n }\n}\nfunction dr(t) {\n try {\n const e = { v: 1, entries: t, timeoutMs: Nt.value };\n sessionStorage.setItem(Dl, JSON.stringify(e));\n } catch {\n }\n}\nfunction Uh() {\n const t = Date.now(), e = Fh(t);\n Me.value = e, dr(e), We.value = e[e.length - 1]?.ref ?? null, Xi.value = !0;\n}\nfunction Bh(t) {\n Nt.value = t;\n const e = Date.now(), n = zl(Me.value, e, t), r = We.value !== null && !n.some((i) => i.ref === We.value);\n return Me.value = n, r && (We.value = null), dr(n), { activeRefPruned: r };\n}\nfunction qa() {\n const t = Dh(), e = Date.now(), n = [...Me.value, { ref: t, startedAt: e, lastActivityAt: e }];\n return Me.value = n, We.value = t, dr(n), t;\n}\nfunction za() {\n We.value = null;\n}\nfunction Fa(t) {\n const e = Date.now(), n = Me.value.map(\n (r) => r.ref === t ? { ...r, lastActivityAt: e } : r\n );\n Me.value = n, We.value = t, dr(n);\n}\nfunction jo(t) {\n if (!t)\n return;\n const e = Date.now(), n = Me.value.map(\n (r) => r.ref === t ? { ...r, lastActivityAt: e } : r\n );\n Me.value = n, dr(n);\n}\nconst Ue = H(Fl());\nfunction Fl() {\n return _o.value ? [{ id: \"home\" }] : [{ id: \"home\" }, { id: \"chat\" }];\n}\nfunction Vh() {\n Ue.value = Fl();\n}\nconst Hh = H(\"screen\");\nfunction jt(t) {\n Ue.value = [...Ue.value, t];\n}\nfunction So() {\n Ue.value.length > 1 && (Ue.value = Ue.value.slice(0, -1));\n}\nfunction Zi(t) {\n Ue.value = [...Ue.value.slice(0, -1), t];\n}\nconst Wh = 6e4, tr = H(!1), Ji = H(!1), eo = /* @__PURE__ */ new Set();\nfunction Qh(t) {\n return eo.add(t), () => {\n eo.delete(t);\n };\n}\nfunction Gh() {\n const t = We.value;\n return t ? Me.value.find((n) => n.ref === t)?.lastActivityAt ?? null : null;\n}\nfunction Ua(t) {\n const e = Gh();\n return e === null ? !1 : Date.now() - e > t;\n}\nfunction to() {\n if (!(tr.value && Me.value.length === 0)) {\n Me.value = [], We.value = null;\n try {\n sessionStorage.removeItem($l);\n } catch (t) {\n ne.warn(\"[JexityChat] Idle-lock storage clear failed:\", t);\n }\n for (const t of eo)\n try {\n t();\n } catch (e) {\n ne.warn(\"[JexityChat] Lock reset callback threw:\", e);\n }\n Ue.value = [{ id: \"home\" }], tr.value = !0;\n }\n}\nfunction jr() {\n tr.value && (tr.value = !1);\n}\nfunction Kh(t = ql) {\n let e = document.visibilityState === \"hidden\" ? Date.now() : null;\n const n = () => {\n if (document.visibilityState === \"hidden\") {\n e = Date.now();\n return;\n }\n (e !== null && Date.now() - e > t || Ua(t)) && to(), e = null;\n };\n document.addEventListener(\"visibilitychange\", n);\n const r = setInterval(() => {\n Ji.value || Ua(t) && to();\n }, Wh);\n return () => {\n document.removeEventListener(\"visibilitychange\", n), clearInterval(r), e = null;\n };\n}\nfunction Yh(t) {\n const e = {}, { primaryColor: n, theme: r } = t;\n if (n && (e[\"--jex-primary\"] = n, e[\"--jex-bg-trigger\"] = n, e[\"--jex-bg-header\"] = n, e[\"--jex-bg-msg-user\"] = n, e[\"--jex-bg-send-btn\"] = n), t.accentColor && (e[\"--jex-accent\"] = t.accentColor), r?.bg) {\n const i = r.bg;\n i.trigger && (e[\"--jex-bg-trigger\"] = i.trigger), i.header && (e[\"--jex-bg-header\"] = i.header), i.msgUser && (e[\"--jex-bg-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-bg-msg-bot\"] = i.msgBot), i.window && (e[\"--jex-bg-window\"] = i.window), i.sendBtn && (e[\"--jex-bg-send-btn\"] = i.sendBtn);\n }\n if (r?.text) {\n const i = r.text;\n i.header && (e[\"--jex-text-header\"] = i.header), i.msgUser && (e[\"--jex-text-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-text-msg-bot\"] = i.msgBot), i.main && (e[\"--jex-text-main\"] = i.main), i.muted && (e[\"--jex-text-muted\"] = i.muted);\n }\n if (r?.border) {\n const i = r.border;\n i.window && (e[\"--jex-border-window\"] = i.window), i.input && (e[\"--jex-border-input\"] = i.input);\n }\n return t.fontFamily && (e[\"--jex-font-family\"] = t.fontFamily), t.fontSize && (e[\"--jex-font-size\"] = `${t.fontSize}px`), t.borderRadius && (e[\"--jex-radius\"] = t.borderRadius), t.windowWidth && (e[\"--jex-window-width\"] = `${t.windowWidth}px`), t.windowHeight && (e[\"--jex-window-height\"] = `${t.windowHeight}px`), typeof t.triggerOffsetX == \"number\" && (e[\"--jex-offset-x\"] = `${t.triggerOffsetX}px`), typeof t.triggerOffsetY == \"number\" && (e[\"--jex-offset-y\"] = `${t.triggerOffsetY}px`), Object.keys(e).length > 0 ? e : void 0;\n}\nfunction ii({ size: t = 24 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M12 8V4H8\" }),\n /* @__PURE__ */ s(\"rect\", { width: \"16\", height: \"12\", x: \"4\", y: \"8\", rx: \"2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M2 14h2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M20 14h2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M15 13v2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M9 13v2\" })\n ] });\n}\nfunction Xh() {\n const t = I();\n return Ue.value.length > 1 ? /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-back\",\n onClick: So,\n \"aria-label\": t.back || \"Go back\",\n children: /* @__PURE__ */ s(\"svg\", { width: 20, height: 20, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"m15 18-6-6 6-6\" }) })\n }\n ) : /* @__PURE__ */ s(ii, { size: 24 });\n}\nfunction Zh({ title: t }) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-header-info\", children: /* @__PURE__ */ s(\"h3\", { children: t }) });\n}\nfunction Ul({ size: t = 28 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M18 6 6 18\" }),\n /* @__PURE__ */ s(\"path\", { d: \"m6 6 12 12\" })\n ] });\n}\nfunction Jh() {\n const t = I();\n return /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-close\",\n type: \"button\",\n onClick: () => {\n he.value = !1;\n },\n \"aria-label\": t.closeChatAriaLabel,\n title: t.closeChatAriaLabel,\n children: /* @__PURE__ */ s(Ul, { size: 18 })\n }\n );\n}\nfunction Ba({ code: t }) {\n return /* @__PURE__ */ s(\"span\", { class: \"jex-flag\", \"aria-hidden\": \"true\", children: t === \"de\" ? /* @__PURE__ */ s(\"svg\", { viewBox: \"0 0 5 3\", preserveAspectRatio: \"none\", children: [\n /* @__PURE__ */ s(\"rect\", { width: \"5\", height: \"1\", fill: \"#000\" }),\n /* @__PURE__ */ s(\"rect\", { width: \"5\", height: \"1\", y: \"1\", fill: \"#DD0000\" }),\n /* @__PURE__ */ s(\"rect\", { width: \"5\", height: \"1\", y: \"2\", fill: \"#FFCE00\" })\n ] }) : /* @__PURE__ */ s(\"svg\", { viewBox: \"0 0 60 30\", preserveAspectRatio: \"xMidYMid slice\", children: [\n /* @__PURE__ */ s(\"clipPath\", { id: \"jex-flag-gb-diag\", children: /* @__PURE__ */ s(\"path\", { d: \"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\" }) }),\n /* @__PURE__ */ s(\"rect\", { width: \"60\", height: \"30\", fill: \"#012169\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M0,0 L60,30 M60,0 L0,30\", stroke: \"#fff\", \"stroke-width\": \"6\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M0,0 L60,30 M60,0 L0,30\", \"clip-path\": \"url(#jex-flag-gb-diag)\", stroke: \"#C8102E\", \"stroke-width\": \"4\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M30,0 v30 M0,15 h60\", stroke: \"#fff\", \"stroke-width\": \"10\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M30,0 v30 M0,15 h60\", stroke: \"#C8102E\", \"stroke-width\": \"6\" })\n ] }) });\n}\nfunction ef() {\n const t = I(), [e, n] = O(!1), r = re(null), i = Qe.value, o = Yi.find((a) => a.value === i)?.label ?? i;\n return N(() => {\n if (!e)\n return;\n const a = (c) => {\n r.current && !c.composedPath().includes(r.current) && n(!1);\n }, l = (c) => {\n c.key === \"Escape\" && n(!1);\n };\n return document.addEventListener(\"pointerdown\", a), document.addEventListener(\"keydown\", l), () => {\n document.removeEventListener(\"pointerdown\", a), document.removeEventListener(\"keydown\", l);\n };\n }, [e]), /* @__PURE__ */ s(\"div\", { class: \"jex-locale-picker\", ref: r, children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-header-locale\",\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": e,\n \"aria-label\": `${t.localePickerLabel}: ${o}`,\n title: o,\n onClick: () => n((a) => !a),\n children: /* @__PURE__ */ s(Ba, { code: i })\n }\n ),\n e && /* @__PURE__ */ s(\"div\", { class: \"jex-locale-menu\", role: \"menu\", \"aria-label\": t.localePickerLabel, children: Yi.map((a) => /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n role: \"menuitemradio\",\n \"aria-checked\": a.value === i,\n lang: a.value,\n class: `jex-locale-option${a.value === i ? \" jex-locale-active\" : \"\"}`,\n onClick: () => {\n Ph(a.value), n(!1);\n },\n children: [\n /* @__PURE__ */ s(Ba, { code: a.value }),\n /* @__PURE__ */ s(\"span\", { children: a.label })\n ]\n },\n a.value\n )) })\n ] });\n}\nfunction tf({ action: t, showClose: e = !0, showLocalePicker: n }) {\n return !t && !e && !n ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-header-right\", children: [\n n && /* @__PURE__ */ s(ef, {}),\n t,\n e && /* @__PURE__ */ s(Jh, {})\n ] });\n}\nfunction Va({ title: t, rightAction: e, showClose: n = !0, showLocalePicker: r }) {\n return /* @__PURE__ */ s(\"header\", { class: \"jex-chat-header\", children: [\n /* @__PURE__ */ s(Xh, {}),\n /* @__PURE__ */ s(Zh, { title: t }),\n /* @__PURE__ */ s(tf, { action: e, showClose: n, showLocalePicker: r })\n ] });\n}\nfunction nf({ size: t = 14 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\" }) });\n}\nfunction Ha() {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-widget-footer\", children: /* @__PURE__ */ s(\n \"a\",\n {\n href: \"https://jexitychat.de\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-branding\",\n children: [\n /* @__PURE__ */ s(nf, { size: 14 }),\n /* @__PURE__ */ s(\"span\", { children: [\n \"Powered by \",\n /* @__PURE__ */ s(\"strong\", { children: \"Jexity\" })\n ] })\n ]\n }\n ) });\n}\nfunction Bl({ size: t = 28 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" }) });\n}\nfunction rf({ size: t = 24, ...e }) {\n return /* @__PURE__ */ s(\n \"svg\",\n {\n width: t,\n height: t,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n ...e,\n children: /* @__PURE__ */ s(\"path\", { d: \"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\" })\n }\n );\n}\nconst of = {\n chat: /* @__PURE__ */ s(Bl, { size: 28 }),\n bot: /* @__PURE__ */ s(ii, { size: 28 }),\n sparkles: /* @__PURE__ */ s(rf, { size: 28 })\n}, af = {\n none: \"0px\",\n sm: \"0.5rem\",\n md: \"0.75rem\",\n lg: \"1.25rem\",\n full: \"9999px\"\n};\nfunction sf({ radius: t = \"full\", iconOption: e = \"chat\", label: n }) {\n const r = I(), i = n ?? r.fabLabel, o = i !== \"\";\n return /* @__PURE__ */ s(\n \"button\",\n {\n class: `jex-floating-button${he.value ? \"\" : \" jex-fab-pulse\"}${!he.value && o ? \" jex-has-label\" : \"\"}`,\n style: { borderRadius: af[t] ?? \"9999px\" },\n onClick: () => {\n he.value = !he.value;\n },\n \"aria-label\": he.value ? r.closeChatAriaLabel : r.openChatAriaLabel,\n children: he.value ? /* @__PURE__ */ s(Ul, { size: 28 }) : /* @__PURE__ */ s(\"div\", { class: \"jex-fab-inner\", children: [\n of[e],\n o && /* @__PURE__ */ s(\"span\", { class: \"jex-fab-label\", children: i })\n ] })\n }\n );\n}\nconst Wr = H(!1);\nfunction lf(t, e) {\n return e ? `jex-proactive-dismissed:${t}:${e}` : `jex-proactive-dismissed:${t}`;\n}\nfunction Wa(t) {\n try {\n return sessionStorage.getItem(t) !== null;\n } catch {\n return !1;\n }\n}\nfunction cf(t) {\n try {\n sessionStorage.setItem(t, \"1\");\n } catch {\n }\n}\nfunction uf(t) {\n return t.isOpen || t.mode === \"off\" || t.hasHistory || t.dismissed ? \"skip\" : t.mode === \"teaser\" ? \"teaser\" : \"open\";\n}\nfunction df({ title: t, message: e, guardKey: n }) {\n const r = I();\n function i() {\n Wr.value = !1, he.value = !0;\n }\n function o(a) {\n a.stopPropagation(), cf(n), Wr.value = !1;\n }\n return /* @__PURE__ */ s(\n \"div\",\n {\n class: \"jex-proactive-teaser\",\n role: \"button\",\n tabIndex: 0,\n \"aria-label\": r.proactiveOpenAria,\n onClick: i,\n onKeyDown: (a) => {\n (a.key === \"Enter\" || a.key === \" \") && i();\n },\n children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-proactive-avatar\", children: /* @__PURE__ */ s(ii, { size: 20 }) }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-proactive-body\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-proactive-title\", children: t }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-proactive-message\", children: e })\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-proactive-dismiss\",\n \"aria-label\": r.proactiveDismiss,\n onClick: o,\n children: /* @__PURE__ */ s(\"svg\", { width: 14, height: 14, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M18 6 6 18\" }),\n /* @__PURE__ */ s(\"path\", { d: \"m6 6 12 12\" })\n ] })\n }\n )\n ]\n }\n );\n}\nconst qt = H(\"\"), Un = H(0), _n = H(null);\nfunction no(t) {\n _n.value = t, t && (Un.value += 1);\n}\nconst Qa = 100;\nfunction Vl(t) {\n const e = t.replace(/\\s+/g, \" \").trim();\n return e.length > Qa ? `${e.slice(0, Qa)}…` : e;\n}\nconst nr = H(null), ro = H(Date.now()), Mr = H(!1), To = H(!1), rr = H(!1), Qr = H(null);\nfunction Gr() {\n return wo.value === \"explicit\" && !To.value;\n}\nfunction Kr() {\n Gr() && (rr.value = !0);\n}\nfunction hf() {\n To.value = !0, rr.value = !1;\n}\nfunction Ga() {\n To.value = !1, rr.value = !1, Qr.value = null;\n}\nconst ff = 10 * 1024 * 1024, Hl = [\n \"pdf\",\n \"docx\",\n \"txt\",\n \"md\",\n \"csv\",\n \"png\",\n \"jpg\",\n \"jpeg\",\n \"webp\",\n \"gif\"\n], Wl = {\n pdf: { kind: \"document\", mimeType: \"application/pdf\" },\n docx: {\n kind: \"document\",\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\n },\n txt: { kind: \"document\", mimeType: \"text/plain\" },\n md: { kind: \"document\", mimeType: \"text/markdown\" },\n csv: { kind: \"document\", mimeType: \"text/csv\" },\n png: { kind: \"image\", mimeType: \"image/png\" },\n jpg: { kind: \"image\", mimeType: \"image/jpeg\" },\n jpeg: { kind: \"image\", mimeType: \"image/jpeg\" },\n webp: { kind: \"image\", mimeType: \"image/webp\" },\n gif: { kind: \"image\", mimeType: \"image/gif\" }\n};\nfunction Ql(t) {\n return [\n ...t.map((e) => `.${e}`),\n ...new Set(t.map((e) => Wl[e].mimeType))\n ].join(\",\");\n}\nQl(Hl);\nQl(\n Hl.filter((t) => Wl[t].kind === \"document\")\n);\nconst pf = 4, mf = [\"png\", \"jpg\", \"jpeg\", \"webp\", \"pdf\"], gf = \".png,.jpg,.jpeg,.webp,.pdf,image/png,image/jpeg,image/webp,application/pdf\";\nfunction xf() {\n return typeof crypto < \"u\" && typeof crypto.randomUUID == \"function\" ? crypto.randomUUID() : `att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 11)}`;\n}\nconst Pe = H([]);\nfunction bf(t) {\n const e = t.lastIndexOf(\".\");\n return e < 0 ? \"\" : t.slice(e + 1).toLowerCase();\n}\nfunction vf(t, e) {\n const n = t.filter(\n (o) => mf.includes(bf(o.name)) && o.size > 0 && o.size <= ff\n ), r = Math.max(0, pf - e), i = n.slice(0, r);\n return { accepted: i, rejected: t.length - i.length };\n}\nfunction yf(t) {\n const e = {\n id: xf(),\n file: t,\n previewUrl: t.type.startsWith(\"image/\") ? URL.createObjectURL(t) : null,\n status: \"uploading\",\n attachmentId: null,\n errorCode: null\n };\n return Pe.value = [...Pe.value, e], e;\n}\nfunction pn(t, e) {\n Pe.value = Pe.value.map((n) => n.id === t ? { ...n, ...e } : n);\n}\nfunction Gl(t) {\n const e = Pe.value.find((n) => n.id === t);\n e?.previewUrl && URL.revokeObjectURL(e.previewUrl), Pe.value = Pe.value.filter((n) => n.id !== t);\n}\nfunction wf() {\n for (const t of Pe.value)\n t.previewUrl && URL.revokeObjectURL(t.previewUrl);\n Pe.value = [];\n}\nfunction Co() {\n return Pe.value.flatMap((t) => t.status === \"ready\" && t.attachmentId ? [t.attachmentId] : []);\n}\nfunction Kl() {\n return Pe.value.some((t) => t.status === \"uploading\");\n}\nfunction Yl(t) {\n const e = t?.data;\n return typeof e?.code == \"string\" ? e.code : null;\n}\nfunction kf(t, e) {\n const n = Yl(t);\n if (n === null || !n.startsWith(\"ATTACHMENT\"))\n return;\n const r = t.data?.attachmentId, i = n === \"ATTACHMENT_NOT_FOUND\" && typeof r == \"string\" ? [r] : e;\n for (const o of Pe.value)\n o.attachmentId !== null && i.includes(o.attachmentId) && pn(o.id, { status: \"failed\", errorCode: n });\n}\nfunction Xl(t) {\n if (typeof t != \"object\" || t === null)\n return !1;\n const e = t.data;\n return typeof e != \"object\" || e === null ? !1 : e.kind === \"maintenance\";\n}\nconst Lt = H(null), ir = H(null);\nfunction Zl() {\n ir.value = null;\n}\nfunction Jl({ sessionId: t, visitorId: e, ensureSession: n }) {\n const r = Ct(oe.functions.chat.public.conversations.send);\n return async function(o) {\n if (Gr()) {\n Qr.value = o, Kr();\n return;\n }\n if (!Mr.value) {\n Mr.value = !0;\n try {\n const a = t && e ? { sessionId: t, visitorId: e } : await n();\n if (!a)\n return;\n const l = _n.value?.id;\n qt.value = \"\", _n.value = null;\n const c = Co();\n try {\n const u = await r({\n sessionId: a.sessionId,\n visitorId: a.visitorId,\n content: o,\n ...l !== void 0 ? { replyToId: l } : {},\n ...c.length > 0 ? { attachmentIds: c } : {},\n ...typeof window < \"u\" ? { pagePath: window.location.pathname } : {}\n });\n if (u.ok) {\n jo(a.visitorId);\n for (const d of Pe.value)\n d.attachmentId !== null && c.includes(d.attachmentId) && Gl(d.id);\n } else u.reason === \"rate_limited\" && (nr.value = Date.now() + u.retryAfterMs);\n } catch (u) {\n ne.error(\"[jexity] Failed to send message:\", u), Xl(u) && (Lt.value = \"maintenance\"), kf(u, c), qt.value.trim() || (qt.value = o);\n }\n } finally {\n Mr.value = !1;\n }\n }\n };\n}\nfunction _f({ sessionId: t, visitorId: e }) {\n const n = Ct(oe.conversationAttachments.visitor.reserveUpload), r = Jt(oe.conversationAttachments.visitor.finalizeUpload);\n async function i(a, l, c, u) {\n try {\n const d = await n({ sessionId: c, visitorId: u, name: l.name, sizeBytes: l.size });\n if (d.kind === \"rejected\") {\n pn(a, { status: \"failed\", errorCode: d.code });\n return;\n }\n const m = await fetch(d.uploadUrl, {\n method: \"PUT\",\n headers: { \"Content-Type\": d.contentType },\n body: l\n });\n if (!m.ok) {\n ne.error(\"[jexity] File upload failed\", { status: m.status }), pn(a, { status: \"failed\", errorCode: \"ATTACHMENT_UPLOAD_INCOMPLETE\" });\n return;\n }\n const h = await r({ sessionId: c, visitorId: u, attachmentId: d.attachmentId });\n h.kind === \"ready\" ? pn(a, { status: \"ready\", attachmentId: d.attachmentId }) : pn(a, { status: \"failed\", errorCode: h.code });\n } catch (d) {\n ne.error(\"[jexity] File upload failed\", d), pn(a, { status: \"failed\", errorCode: Yl(d) ?? \"ATTACHMENT_UPLOAD_INCOMPLETE\" });\n }\n }\n function o(a) {\n if (!t || !e)\n return a.length;\n const { accepted: l, rejected: c } = vf(\n a,\n Pe.value.filter((u) => u.status !== \"failed\").length\n );\n for (const u of l) {\n const d = yf(u);\n i(d.id, u, t, e);\n }\n return c;\n }\n return { addFiles: o };\n}\nfunction Ka(t, e) {\n switch (t) {\n case \"ATTACHMENT_TYPE_UNSUPPORTED\":\n case \"ATTACHMENT_TOO_LARGE\":\n case \"ATTACHMENT_FILE_EMPTY\":\n case \"ATTACHMENT_NAME_INVALID\":\n case \"ATTACHMENTS_TOO_MANY\":\n return e.attachmentRejected;\n case \"RATE_LIMITED\":\n return e.attachmentRateLimited;\n case \"ATTACHMENTS_DISABLED\":\n case \"ATTACHMENTS_ESCALATION_REQUIRED\":\n return e.attachmentNotAllowed;\n case \"ATTACHMENT_NOT_FOUND\":\n case \"ATTACHMENT_UPLOAD_EXPIRED\":\n return e.attachmentGone;\n default:\n return e.attachmentFailed;\n }\n}\nfunction jf() {\n const t = nr.value, e = ro.value;\n N(() => {\n if (t === null)\n return;\n const i = setInterval(() => {\n ro.value = Date.now();\n }, 1e3), o = setTimeout(() => {\n nr.value = null;\n }, Math.max(0, t - Date.now()));\n return () => {\n clearInterval(i), clearTimeout(o);\n };\n }, [t]);\n const n = t !== null, r = n ? Math.max(0, Math.ceil((t - e) / 1e3)) : 0;\n return { isActive: n, remainingSeconds: r };\n}\nfunction Sf() {\n const t = I(), { isActive: e, remainingSeconds: n } = jf();\n return e ? /* @__PURE__ */ s(\"div\", { class: \"jex-rate-limit-notice\", role: \"status\", \"aria-live\": \"polite\", children: t.errorRateLimited.replace(\"{seconds}\", String(n)) }) : null;\n}\nfunction Tf(t, e) {\n return t ?? (e ? \"maintenance\" : null);\n}\nfunction Cf({ maintenance: t = !1 } = {}) {\n const e = I(), n = Tf(Lt.value, t);\n if (n === null)\n return null;\n const r = n === \"no-token\" ? e.errorSessionNoToken : n === \"unauthorized\" ? e.errorSessionUnauthorized : n === \"network\" ? e.errorNetwork : n === \"maintenance\" ? e.errorMaintenance : e.somethingWentWrong;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-session-error-notice\", role: \"alert\", \"aria-live\": \"assertive\", children: r });\n}\nfunction Af({ size: t = 18 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M22 2 11 13\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M22 2 15 22 11 13 2 9l20-7z\" })\n ] });\n}\nconst Ya = 132;\nfunction Rf({ onSend: t, onFiles: e }) {\n const n = re(null), r = re(null);\n N(() => {\n const u = n.current;\n if (!u)\n return;\n u.style.height = \"0\";\n const d = Math.min(u.scrollHeight, Ya);\n u.style.height = `${d}px`, u.style.overflowY = u.scrollHeight > Ya ? \"auto\" : \"hidden\";\n }, [qt.value]);\n const i = re(Un.value);\n N(() => {\n if (Un.value === i.current)\n return;\n i.current = Un.value;\n const u = n.current;\n u && (u.focus(), u.setSelectionRange(u.value.length, u.value.length));\n }, [Un.value]);\n function o(u) {\n u.key === \"Enter\" && !u.shiftKey && (u.preventDefault(), t());\n }\n function a() {\n r.current?.click();\n }\n function l(u) {\n const d = u.currentTarget;\n d.files && d.files.length > 0 && e(Array.from(d.files)), d.value = \"\";\n }\n function c(u) {\n const d = u.target;\n (d === u.currentTarget || !d.closest(\"button, textarea, img\")) && n.current?.focus();\n }\n return { textareaRef: n, fileInputRef: r, onKeyDown: o, onAttachClick: a, onFilesPicked: l, onCardClick: c };\n}\nfunction Ef(t) {\n return !t || t.isSecureContext !== !0 ? null : t.SpeechRecognition ?? t.webkitSpeechRecognition ?? null;\n}\nfunction If(t) {\n return t === \"en\" ? \"en-US\" : \"de-DE\";\n}\nfunction Mf(t) {\n switch (t) {\n case \"not-allowed\":\n case \"service-not-allowed\":\n return \"permission\";\n case \"audio-capture\":\n return \"no-mic\";\n case \"no-speech\":\n return \"no-speech\";\n case \"language-not-supported\":\n return \"lang\";\n case \"aborted\":\n return null;\n default:\n return \"network\";\n }\n}\nfunction Pf(t, e) {\n const n = `voice error ${e} (raw: ${t})`;\n return e !== \"network\" ? n : `${n} — the browser's speech service is unreachable. Brave and some Chromium forks ship without one; Firefox has none. Not an app bug. Works in Chrome/Edge/Safari.`;\n}\nfunction Nf(t) {\n let e = \"\";\n for (let n = 0; n < t.results.length; n++)\n e += t.results[n]?.[0]?.transcript ?? \"\";\n return e;\n}\nfunction Lf(t, e) {\n const n = e.trim();\n return n ? t === \"\" || /\\s$/.test(t) ? t + n : `${t} ${n}` : t;\n}\nconst Of = 0.01, $f = 4;\nfunction Df(t) {\n if (t.length === 0)\n return 0;\n let e = 0;\n for (let r = 0; r < t.length; r++) {\n const i = t[r] ?? 0;\n e += i * i;\n }\n const n = Math.sqrt(e / t.length);\n return n < Of ? 0 : Math.round(Math.min(1, n * $f) * 20) / 20;\n}\nconst qf = 6e4, zf = 300;\nfunction Ff() {\n return window.matchMedia?.(\"(pointer: coarse)\").matches === !0;\n}\nfunction Uf({ locale: t, getDraft: e, setDraft: n }) {\n const [r] = O(\n () => Ef(typeof window > \"u\" ? void 0 : window)\n ), [i, o] = O(!1), [a, l] = O(null), c = re(null), u = re(\"\"), d = re(\"\"), m = re(null), h = re(0), p = re(!1), x = re(!1), w = re(0), b = re(!1), v = re(!1);\n function k() {\n m.current && (clearTimeout(m.current), m.current = null);\n const T = c.current;\n T && (T.onresult = null, T.onerror = null, T.onend = null, ne.debug(\"[jexity] voice stop\", { ms: Date.now() - w.current })), c.current = null, x.current = !1, o(!1);\n }\n function A() {\n l(null);\n const T = c.current;\n if (T) {\n try {\n T.abort();\n } catch {\n }\n k();\n }\n }\n function P() {\n if (!r || c.current)\n return;\n if (b.current) {\n l(\"permission\");\n return;\n }\n if (v.current) {\n l(\"network\");\n return;\n }\n l(null);\n const T = new r();\n T.lang = If(t), T.continuous = !Ff(), T.interimResults = !0, u.current = e(), d.current = u.current, p.current = !1, T.onresult = ($) => {\n if (e() !== d.current) {\n A();\n return;\n }\n const R = Lf(u.current, Nf($));\n d.current = R, n(R);\n }, T.onerror = ($) => {\n const R = Mf($.error);\n if (R !== null) {\n if (R === \"no-speech\") {\n p.current || (p.current = !0, x.current = !0);\n return;\n }\n R === \"permission\" && (b.current = !0), R === \"network\" && (v.current = !0), l(R), ne.warn(`[jexity] ${Pf($.error, R)}`);\n }\n }, T.onend = () => {\n if (x.current && c.current === T) {\n x.current = !1, u.current = d.current;\n try {\n T.start();\n return;\n } catch {\n }\n }\n k();\n };\n try {\n T.start();\n } catch {\n l(\"network\");\n return;\n }\n c.current = T, w.current = Date.now(), o(!0), m.current = setTimeout(() => {\n c.current?.stop();\n }, qf), ne.debug(\"[jexity] voice start\", { lang: T.lang });\n }\n function M() {\n const T = Date.now();\n if (T - h.current < zf)\n return;\n h.current = T;\n const $ = c.current;\n if ($) {\n x.current = !1, $.stop();\n return;\n }\n P();\n }\n return N(() => {\n if (!r)\n return;\n navigator.permissions?.query({ name: \"microphone\" }).then(($) => {\n b.current = $.state === \"denied\", $.onchange = () => {\n b.current = $.state === \"denied\";\n };\n }).catch(() => {\n });\n const T = () => {\n document.visibilityState === \"hidden\" && A();\n };\n return document.addEventListener(\"visibilitychange\", T), () => {\n document.removeEventListener(\"visibilitychange\", T), A();\n };\n }, []), { supported: r !== null, listening: i, error: a, toggle: M, cancel: A };\n}\nfunction Bf(t) {\n const [e, n] = O(0);\n return N(() => {\n if (!t || typeof window > \"u\" || window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches || window.matchMedia?.(\"(pointer: coarse)\").matches || !navigator.mediaDevices?.getUserMedia)\n return;\n let r = !1, i = null, o = null, a = 0;\n return navigator.mediaDevices.getUserMedia({ audio: !0 }).then((l) => {\n if (r) {\n l.getTracks().forEach((m) => {\n m.stop();\n });\n return;\n }\n i = l, o = new AudioContext();\n const c = o.createAnalyser();\n c.fftSize = 512, o.createMediaStreamSource(l).connect(c);\n const u = new Float32Array(c.fftSize), d = () => {\n c.getFloatTimeDomainData(u);\n const m = Df(u);\n n((h) => h === m ? h : m), a = requestAnimationFrame(d);\n };\n a = requestAnimationFrame(d);\n }).catch(() => {\n }), () => {\n r = !0, cancelAnimationFrame(a), i?.getTracks().forEach((l) => {\n l.stop();\n }), o?.close();\n };\n }, [t]), t ? e : 0;\n}\nfunction Vf({ listening: t, disabled: e, onClick: n }) {\n const r = I(), i = Bf(t);\n return /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: `jex-attach-btn jex-mic-btn${t ? \" jex-mic-btn-listening\" : \"\"}`,\n \"aria-pressed\": t,\n \"aria-label\": t ? r.voiceStop : r.voiceStart,\n title: r.voiceProviderNote,\n disabled: e,\n onClick: n,\n children: [\n /* @__PURE__ */ s(\n \"span\",\n {\n class: \"jex-mic-ring\",\n \"aria-hidden\": \"true\",\n style: { transform: `scale(${1 + i * 0.6})`, opacity: t ? 0.25 + i * 0.5 : 0 }\n }\n ),\n /* @__PURE__ */ s(\"svg\", { width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M19 10v2a7 7 0 0 1-14 0v-2\" }),\n /* @__PURE__ */ s(\"line\", { x1: \"12\", y1: \"19\", x2: \"12\", y2: \"22\" })\n ] })\n ]\n }\n );\n}\nfunction Hf({ isStreaming: t, disabled: e, inputDisabled: n, onSend: r, onFocus: i, canAttach: o, onFiles: a }) {\n const l = I(), c = qt, u = Pe, m = St(oe.functions.flags.getAll, {})?.voiceDictationEnabled === !0, h = Uf({\n locale: Qe.value,\n getDraft: () => qt.value,\n setDraft: (q) => {\n qt.value = q;\n }\n });\n function p() {\n h.cancel(), r();\n }\n N(() => {\n n && h.cancel();\n }, [n]), N(() => {\n m || h.cancel();\n }, [m]);\n function x() {\n if (!h.listening && Gr()) {\n Kr();\n return;\n }\n h.toggle();\n }\n const w = h.error === null || h.error === \"no-speech\" ? null : h.error, b = {\n permission: l.voiceErrorPermission,\n \"no-mic\": l.voiceErrorNoMic,\n network: l.voiceErrorNetwork,\n lang: l.voiceErrorLang\n };\n let v = \"\";\n w ? v = b[w] : h.listening && (v = `${l.voiceListening} ${l.voiceProviderNote}`);\n const { textareaRef: k, fileInputRef: A, onKeyDown: P, onAttachClick: M, onFilesPicked: T, onCardClick: $ } = Rf({ onSend: p, onFiles: a });\n function R() {\n if (Gr()) {\n Kr();\n return;\n }\n M();\n }\n const ae = c.value.trim().length > 0, V = u.value.length > 0, y = Kl(), se = Co().length > 0, C = (ae || se) && !e && !y, D = u.value.find((q) => q.status === \"failed\");\n let me = \"\";\n return y ? me = l.attachmentUploading : D && (me = Ka(D.errorCode, l)), /* @__PURE__ */ s(\"div\", { class: \"jex-composer-card\", onClick: $, children: [\n /* @__PURE__ */ s(\"p\", { class: `jex-voice-status${w ? \" jex-voice-status-error\" : \"\"}`, role: \"status\", \"aria-live\": \"polite\", children: v || null }),\n /* @__PURE__ */ s(\n \"p\",\n {\n class: `jex-attachment-status${D && !y ? \" jex-attachment-status-error\" : \"\"}`,\n role: \"status\",\n \"aria-live\": \"polite\",\n children: me || null\n }\n ),\n V && /* @__PURE__ */ s(\"div\", { class: \"jex-composer-attachments\", role: \"list\", children: u.value.map((q) => /* @__PURE__ */ s(\n \"div\",\n {\n class: \"jex-attachment-chip\",\n role: \"listitem\",\n \"data-status\": q.status,\n title: q.status === \"failed\" ? Ka(q.errorCode, l) : q.file.name,\n children: [\n q.previewUrl ? /* @__PURE__ */ s(\"img\", { src: q.previewUrl, alt: q.file.name, class: \"jex-attachment-thumb\" }) : /* @__PURE__ */ s(\"span\", { class: \"jex-attachment-file\", children: [\n /* @__PURE__ */ s(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" }),\n /* @__PURE__ */ s(\"polyline\", { points: \"14 2 14 8 20 8\" })\n ] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-attachment-file-name\", children: q.file.name })\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-attachment-remove\",\n \"aria-label\": l.removeAttachmentAriaLabel.replace(\"{name}\", q.file.name),\n onClick: () => {\n Gl(q.id);\n },\n children: /* @__PURE__ */ s(\"svg\", { width: \"10\", height: \"10\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2.5\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"line\", { x1: \"18\", y1: \"6\", x2: \"6\", y2: \"18\" }),\n /* @__PURE__ */ s(\"line\", { x1: \"6\", y1: \"6\", x2: \"18\", y2: \"18\" })\n ] })\n }\n )\n ]\n },\n q.id\n )) }),\n V && /* @__PURE__ */ s(\"p\", { class: \"jex-attachment-note\", children: l.attachmentPrivacy }),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n ref: k,\n class: \"jex-composer-textarea\",\n \"aria-label\": l.inputPlaceholder,\n placeholder: t ? l.aiThinking : l.inputPlaceholder,\n value: c.value,\n rows: 1,\n onInput: (q) => {\n c.value = q.currentTarget.value;\n },\n onKeyDown: P,\n onFocus: i,\n disabled: n\n }\n ),\n /* @__PURE__ */ s(\"div\", { class: \"jex-composer-actions\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-composer-actions-left\", children: [\n o && /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n ref: A,\n class: \"jex-visually-hidden\",\n type: \"file\",\n accept: gf,\n multiple: !0,\n onChange: T,\n tabIndex: -1,\n \"aria-hidden\": \"true\"\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-attach-btn\",\n \"aria-label\": l.attachFiles,\n title: l.attachFiles,\n disabled: n,\n onClick: R,\n children: /* @__PURE__ */ s(\"svg\", { width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\" }) })\n }\n )\n ] }),\n m && h.supported && /* @__PURE__ */ s(Vf, { listening: h.listening, disabled: n, onClick: x })\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: `jex-send-btn${C ? \" jex-send-btn-active\" : \"\"}`,\n type: \"button\",\n onClick: p,\n \"aria-label\": l.sendAriaLabel,\n disabled: e || y || !ae && !se,\n children: /* @__PURE__ */ s(Af, { size: 16 })\n }\n )\n ] })\n ] });\n}\nconst Wf = (...t) => t.filter((e, n, r) => !!e && e.trim() !== \"\" && r.indexOf(e) === n).join(\" \").trim();\nconst Xa = (t) => t.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst Qf = (t) => t.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (e, n, r) => r ? r.toUpperCase() : n.toLowerCase()\n);\nconst Za = (t) => {\n const e = Qf(t);\n return e.charAt(0).toUpperCase() + e.slice(1);\n};\nvar Gf = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n};\nconst Kf = (t) => {\n for (const e in t)\n if (e.startsWith(\"aria-\") || e === \"role\" || e === \"title\")\n return !0;\n return !1;\n};\nconst Yf = ({\n color: t = \"currentColor\",\n size: e = 24,\n strokeWidth: n = 2,\n absoluteStrokeWidth: r,\n children: i,\n iconNode: o,\n class: a = \"\",\n ...l\n}) => Je(\n \"svg\",\n {\n ...Gf,\n width: String(e),\n height: e,\n stroke: t,\n \"stroke-width\": r ? Number(n) * 24 / Number(e) : n,\n class: [\"lucide\", a].join(\" \"),\n ...!i && !Kf(l) && { \"aria-hidden\": \"true\" },\n ...l\n },\n [...o.map(([c, u]) => Je(c, u)), ...xt(i)]\n);\nconst oi = (t, e) => {\n const n = ({ class: r = \"\", className: i = \"\", children: o, ...a }) => Je(\n Yf,\n {\n ...a,\n iconNode: e,\n class: Wf(\n `lucide-${Xa(Za(t))}`,\n `lucide-${Xa(t)}`,\n r,\n i\n )\n },\n o\n );\n return n.displayName = Za(t), n;\n};\nconst Ao = oi(\"corner-up-left\", [\n [\"path\", { d: \"M20 20v-7a4 4 0 0 0-4-4H4\", key: \"1nkjon\" }],\n [\"path\", { d: \"M9 14 4 9l5-5\", key: \"102s5s\" }]\n]);\nconst Xf = oi(\"file-text\", [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n]);\nconst Zf = oi(\"file-x\", [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"m14.5 12.5-5 5\", key: \"b62r18\" }],\n [\"path\", { d: \"m9.5 12.5 5 5\", key: \"1rk7el\" }]\n]);\nconst Jf = oi(\"x\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\nfunction ep() {\n const t = I(), e = _n.value;\n if (!e)\n return null;\n const n = e.role === \"user\" ? t.quotedYourMessage : e.authorName;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-reply-preview\", children: [\n /* @__PURE__ */ s(Ao, { size: 13, class: \"jex-reply-preview-icon\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-reply-preview-text\", children: [\n n && /* @__PURE__ */ s(\"span\", { class: \"jex-reply-preview-author\", children: [\n n,\n \": \"\n ] }),\n Vl(e.content)\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-reply-preview-cancel\",\n \"aria-label\": t.cancelReply,\n title: t.cancelReply,\n onClick: () => {\n no(null);\n },\n children: /* @__PURE__ */ s(Jf, { size: 14 })\n }\n )\n ] });\n}\nfunction Ja({ variant: t, isOpen: e = !1, onAcknowledge: n }) {\n const r = I(), i = ur.value;\n return t === \"explicit\" ? e ? /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit\", role: \"dialog\", \"aria-label\": r.privacyExplicitTitle, children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-content\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-icon\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", children: /* @__PURE__ */ s(\"path\", { d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\" }) }) }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-copy\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-title\", children: r.privacyExplicitTitle }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-privacy-explicit-body\", children: [\n r.privacyExplicitBodyPre,\n \" \",\n /* @__PURE__ */ s(\n \"a\",\n {\n href: i,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-privacy-notice-link\",\n children: r.privacyPolicyLinkText\n }\n ),\n \".\"\n ] })\n ] })\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-privacy-explicit-button\",\n onClick: n,\n children: r.privacyExplicitButton\n }\n )\n ] }) : null : /* @__PURE__ */ s(\"p\", { class: \"jex-privacy-chip\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-privacy-chip-icon\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"svg\", { width: \"12\", height: \"12\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", children: /* @__PURE__ */ s(\"path\", { d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\" }) }) }),\n /* @__PURE__ */ s(\n \"a\",\n {\n href: i,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-privacy-chip-link\",\n children: r.privacyChipText\n }\n )\n ] });\n}\nfunction tp({\n sessionId: t,\n visitorId: e,\n isLoading: n,\n isStreaming: r,\n sessionStatus: i,\n ensureSession: o,\n onStartFresh: a,\n maintenance: l = !1\n}) {\n const c = I(), u = qt, d = wo.value, m = Jl({ sessionId: t, visitorId: e, ensureSession: o }), h = St(oe.functions.flags.getAll, {}), p = Al.value && (i === \"escalated\" || i === \"assigned\") && h?.mediaManagementMode === \"live\" && !l, { addFiles: x } = _f({ sessionId: t, visitorId: e }), [w, b] = O(!1), v = i !== null && h !== void 0;\n N(() => {\n v && !p && Pe.value.length > 0 && wf();\n }, [v, p]), N(() => {\n if (!w)\n return;\n const R = setTimeout(() => {\n b(!1);\n }, 5e3);\n return () => {\n clearTimeout(R);\n };\n }, [w]);\n function k(R) {\n x(R) > 0 && b(!0);\n }\n const A = nr.value !== null && nr.value > ro.value, P = n || r || A || l, M = d === \"explicit\" && rr.value;\n function T() {\n hf();\n const R = Qr.value;\n Qr.value = null, R !== null && m(R);\n }\n if (i === \"resolved\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-input-resolved\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-resolved-notice\", children: c.sessionResolved }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-resolved-new-btn\",\n type: \"button\",\n onClick: () => {\n a();\n },\n children: c.startNewConversation\n }\n )\n ] });\n async function $() {\n const R = u.value.trim();\n !R && Co().length === 0 || P || Kl() || await m(R);\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-input\", children: [\n /* @__PURE__ */ s(Sf, {}),\n /* @__PURE__ */ s(Cf, { maintenance: l }),\n d === \"chip\" && /* @__PURE__ */ s(Ja, { variant: \"chip\" }),\n /* @__PURE__ */ s(ep, {}),\n w && /* @__PURE__ */ s(\"p\", { class: \"jex-attachment-status jex-attachment-status-error\", role: \"alert\", children: c.attachmentRejected }),\n /* @__PURE__ */ s(\"div\", { class: `jex-chat-input-composer-gate${M ? \" jex-chat-input-composer-gate-open\" : \"\"}`, children: [\n /* @__PURE__ */ s(\n Hf,\n {\n isStreaming: r,\n disabled: P,\n inputDisabled: n || r || M || l,\n onSend: $,\n onFocus: Kr,\n canAttach: p,\n onFiles: k\n }\n ),\n d === \"explicit\" && /* @__PURE__ */ s(\n Ja,\n {\n variant: \"explicit\",\n isOpen: rr.value,\n onAcknowledge: T\n }\n )\n ] })\n ] });\n}\nfunction Ro() {\n return { async: !1, breaks: !1, extensions: null, gfm: !0, hooks: null, pedantic: !1, renderer: null, silent: !1, tokenizer: null, walkTokens: null };\n}\nvar tn = Ro();\nfunction ec(t) {\n tn = t;\n}\nvar Gt = { exec: () => null };\nfunction dn(t) {\n let e = [];\n return (n) => {\n let r = Math.max(0, Math.min(3, n - 1)), i = e[r];\n return i || (i = t(r), e[r] = i), i;\n };\n}\nfunction G(t, e = \"\") {\n let n = typeof t == \"string\" ? t : t.source, r = { replace: (i, o) => {\n let a = typeof o == \"string\" ? o : o.source;\n return a = a.replace(Ie.caret, \"$1\"), n = n.replace(i, a), r;\n }, getRegex: () => new RegExp(n, e) };\n return r;\n}\nvar np = ((t = \"\") => {\n try {\n return !!new RegExp(\"(?<=1)(?<!1)\" + t);\n } catch {\n return !1;\n }\n})(), Ie = { codeRemoveIndent: /^(?: {1,4}| {0,3}\\t)/gm, outputLinkReplace: /\\\\([\\[\\]])/g, indentCodeCompensation: /^(\\s+)(?:```)/, beginningSpace: /^\\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\\n/g, tabCharGlobal: /\\t/g, multipleSpaceGlobal: /\\s+/g, blankLine: /^[ \\t]*$/, doubleBlankLine: /\\n[ \\t]*\\n[ \\t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \\t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\\[[ xX]\\] +\\S/, listReplaceTask: /^\\[[ xX]\\] +/, listTaskCheckbox: /\\[[ xX]\\]/, anyLine: /\\n.*\\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\\||\\| *$/g, tableRowBlankLine: /\\n[ \\t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\\s|>)/i, endPreScriptTag: /^<\\/(pre|code|kbd|script)(\\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/, unicodeAlphaNumeric: /[\\p{L}\\p{N}]/u, escapeTest: /[&<>\"']/, escapeReplace: /[&<>\"']/g, escapeTestNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/, escapeReplaceNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g, caret: /(^|[^\\[])\\^/g, percentDecode: /%25/g, findPipe: /\\|/g, splitPipe: / \\|/, slashPipe: /\\\\\\|/g, carriageReturn: /\\r\\n|\\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\\S*/, endingNewline: /\\n$/, listItemRegex: (t) => new RegExp(`^( {0,3}${t})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`), nextBulletRegex: dn((t) => new RegExp(`^ {0,${t}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`)), hrRegex: dn((t) => new RegExp(`^ {0,${t}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`)), fencesBeginRegex: dn((t) => new RegExp(`^ {0,${t}}(?:\\`\\`\\`|~~~)`)), headingBeginRegex: dn((t) => new RegExp(`^ {0,${t}}#`)), htmlBeginRegex: dn((t) => new RegExp(`^ {0,${t}}<(?:[a-z].*>|!--)`, \"i\")), blockquoteBeginRegex: dn((t) => new RegExp(`^ {0,${t}}>`)) }, rp = /^(?:[ \\t]*(?:\\n|$))+/, ip = /^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/, op = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/, hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/, ap = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/, Eo = / {0,3}(?:[*+-]|\\d{1,9}[.)])/, tc = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, nc = G(tc).replace(/bull/g, Eo).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g, \"\").getRegex(), sp = G(tc).replace(/bull/g, Eo).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/table/g, / {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(), Io = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/, lp = /^[^\\n]+/, Mo = /(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/, cp = G(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\", Mo).replace(\"title\", /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(), up = G(/^(bull)([ \\t][^\\n]*?)?(?:\\n|$)/).replace(/bull/g, Eo).getRegex(), ai = \"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\", Po = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/, dp = G(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\", \"i\").replace(\"comment\", Po).replace(\"tag\", ai).replace(\"attribute\", / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(), rc = G(Io).replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]+[^ \\\\t\\\\n]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", ai).getRegex(), hp = G(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\", rc).getRegex(), No = { blockquote: hp, code: ip, def: cp, fences: op, heading: ap, hr, html: dp, lheading: nc, list: up, newline: rp, paragraph: rc, table: Gt, text: lp }, es = G(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\", \" {0,3}>\").replace(\"code\", \"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", ai).getRegex(), fp = { ...No, lheading: sp, table: es, paragraph: G(Io).replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"table\", es).replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]+[^ \\\\t\\\\n]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", ai).getRegex() }, pp = { ...No, html: G(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\", Po).replace(/tag/g, \"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(), def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/, heading: /^(#{1,6})(.*)(?:\\n+|$)/, fences: Gt, lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, paragraph: G(Io).replace(\"hr\", hr).replace(\"heading\", ` *#{1,6} *[^\n]`).replace(\"lheading\", nc).replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"|fences\", \"\").replace(\"|list\", \"\").replace(\"|html\", \"\").replace(\"|tag\", \"\").getRegex() }, mp = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/, gp = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/, ic = /^( {2,}|\\\\)\\n(?!\\s*$)/, xp = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/, An = /[\\p{P}\\p{S}]/u, si = /[\\s\\p{P}\\p{S}]/u, Lo = /[^\\s\\p{P}\\p{S}]/u, bp = G(/^((?![*_])punctSpace)/, \"u\").replace(/punctSpace/g, si).getRegex(), oc = /(?!~)[\\p{P}\\p{S}]/u, vp = /(?!~)[\\s\\p{P}\\p{S}]/u, yp = /(?:[^\\s\\p{P}\\p{S}]|~)/u, wp = G(/link|precode-code|html/, \"g\").replace(\"link\", /\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\", np ? \"(?<!`)()\" : \"(^^|[^`])\").replace(\"code\", /(?<b>`+)[^`]+\\k<b>(?!`)/).replace(\"html\", /<(?! )[^<>]*?>/).getRegex(), ac = /^(?:\\*+(?:((?!\\*)punct)|([^\\s*]))?)|^_+(?:((?!_)punct)|([^\\s_]))?/, kp = G(ac, \"u\").replace(/punct/g, An).getRegex(), _p = G(ac, \"u\").replace(/punct/g, oc).getRegex(), sc = \"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\", jp = G(sc, \"gu\").replace(/notPunctSpace/g, Lo).replace(/punctSpace/g, si).replace(/punct/g, An).getRegex(), Sp = G(sc, \"gu\").replace(/notPunctSpace/g, yp).replace(/punctSpace/g, vp).replace(/punct/g, oc).getRegex(), Tp = G(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\", \"gu\").replace(/notPunctSpace/g, Lo).replace(/punctSpace/g, si).replace(/punct/g, An).getRegex(), Cp = G(/^~~?(?:((?!~)punct)|[^\\s~])/, \"u\").replace(/punct/g, An).getRegex(), Ap = \"^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)\", Rp = G(Ap, \"gu\").replace(/notPunctSpace/g, Lo).replace(/punctSpace/g, si).replace(/punct/g, An).getRegex(), Ep = G(/\\\\(punct)/, \"gu\").replace(/punct/g, An).getRegex(), Ip = G(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), Mp = G(Po).replace(\"(?:-->|$)\", \"-->\").getRegex(), Pp = G(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\", Mp).replace(\"attribute\", /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(), Yr = /(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\\])|[^\\[\\]\\\\`])*?/, Np = G(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]+(?:\\n[ \\t]*)?|\\n[ \\t]*)(title))?\\s*\\)/).replace(\"label\", Yr).replace(\"href\", /<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\", /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(), lc = G(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\", Yr).replace(\"ref\", Mo).getRegex(), cc = G(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\", Mo).getRegex(), Lp = G(\"reflink|nolink(?!\\\\()\", \"g\").replace(\"reflink\", lc).replace(\"nolink\", cc).getRegex(), ts = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, Oo = { _backpedal: Gt, anyPunctuation: Ep, autolink: Ip, blockSkip: wp, br: ic, code: gp, del: Gt, delLDelim: Gt, delRDelim: Gt, emStrongLDelim: kp, emStrongRDelimAst: jp, emStrongRDelimUnd: Tp, escape: mp, link: Np, nolink: cc, punctuation: bp, reflink: lc, reflinkSearch: Lp, tag: Pp, text: xp, url: Gt }, Op = { ...Oo, link: G(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\", Yr).getRegex(), reflink: G(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\", Yr).getRegex() }, io = { ...Oo, emStrongRDelimAst: Sp, emStrongLDelim: _p, delLDelim: Cp, delRDelim: Rp, url: G(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\", ts).replace(\"email\", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/, del: /^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/, text: G(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|protocol:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/).replace(\"protocol\", ts).getRegex() }, $p = { ...io, br: G(ic).replace(\"{2,}\", \"*\").getRegex(), text: G(io.text).replace(\"\\\\b_\", \"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g, \"*\").getRegex() }, Sr = { normal: No, gfm: fp, pedantic: pp }, Ln = { normal: Oo, gfm: io, breaks: $p, pedantic: Op }, Dp = { \"&\": \"&\", \"<\": \"<\", \">\": \">\", '\"': \""\", \"'\": \"'\" }, ns = (t) => Dp[t];\nfunction ht(t, e) {\n if (e) {\n if (Ie.escapeTest.test(t)) return t.replace(Ie.escapeReplace, ns);\n } else if (Ie.escapeTestNoEncode.test(t)) return t.replace(Ie.escapeReplaceNoEncode, ns);\n return t;\n}\nfunction rs(t) {\n try {\n t = encodeURI(t).replace(Ie.percentDecode, \"%\");\n } catch {\n return null;\n }\n return t;\n}\nfunction is(t, e) {\n let n = t.replace(Ie.findPipe, (o, a, l) => {\n let c = !1, u = a;\n for (; --u >= 0 && l[u] === \"\\\\\"; ) c = !c;\n return c ? \"|\" : \" |\";\n }), r = n.split(Ie.splitPipe), i = 0;\n if (r[0].trim() || r.shift(), r.length > 0 && !r.at(-1)?.trim() && r.pop(), e) if (r.length > e) r.splice(e);\n else for (; r.length < e; ) r.push(\"\");\n for (; i < r.length; i++) r[i] = r[i].trim().replace(Ie.slashPipe, \"|\");\n return r;\n}\nfunction It(t, e, n) {\n let r = t.length;\n if (r === 0) return \"\";\n let i = 0;\n for (; i < r && t.charAt(r - i - 1) === e; )\n i++;\n return t.slice(0, r - i);\n}\nfunction os(t) {\n let e = t.split(`\n`), n = e.length - 1;\n for (; n >= 0 && Ie.blankLine.test(e[n]); ) n--;\n return e.length - n <= 2 ? t : e.slice(0, n + 1).join(`\n`);\n}\nfunction qp(t, e) {\n if (t.indexOf(e[1]) === -1) return -1;\n let n = 0;\n for (let r = 0; r < t.length; r++) if (t[r] === \"\\\\\") r++;\n else if (t[r] === e[0]) n++;\n else if (t[r] === e[1] && (n--, n < 0)) return r;\n return n > 0 ? -2 : -1;\n}\nfunction zp(t, e = 0) {\n let n = e, r = \"\";\n for (let i of t) if (i === \"\t\") {\n let o = 4 - n % 4;\n r += \" \".repeat(o), n += o;\n } else r += i, n++;\n return r;\n}\nfunction as(t, e, n, r, i) {\n let o = e.href, a = e.title || null, l = t[1].replace(i.other.outputLinkReplace, \"$1\");\n r.state.inLink = !0;\n let c = { type: t[0].charAt(0) === \"!\" ? \"image\" : \"link\", raw: n, href: o, title: a, text: l, tokens: r.inlineTokens(l) };\n return r.state.inLink = !1, c;\n}\nfunction Fp(t, e, n) {\n let r = t.match(n.other.indentCodeCompensation);\n if (r === null) return e;\n let i = r[1];\n return e.split(`\n`).map((o) => {\n let a = o.match(n.other.beginningSpace);\n if (a === null) return o;\n let [l] = a;\n return l.length >= i.length ? o.slice(i.length) : o;\n }).join(`\n`);\n}\nvar Xr = class {\n options;\n rules;\n lexer;\n constructor(t) {\n this.options = t || tn;\n }\n space(t) {\n let e = this.rules.block.newline.exec(t);\n if (e && e[0].length > 0) return { type: \"space\", raw: e[0] };\n }\n code(t) {\n let e = this.rules.block.code.exec(t);\n if (e) {\n let n = this.options.pedantic ? e[0] : os(e[0]), r = n.replace(this.rules.other.codeRemoveIndent, \"\");\n return { type: \"code\", raw: n, codeBlockStyle: \"indented\", text: r };\n }\n }\n fences(t) {\n let e = this.rules.block.fences.exec(t);\n if (e) {\n let n = e[0], r = Fp(n, e[3] || \"\", this.rules);\n return { type: \"code\", raw: n, lang: e[2] ? e[2].trim().replace(this.rules.inline.anyPunctuation, \"$1\") : e[2], text: r };\n }\n }\n heading(t) {\n let e = this.rules.block.heading.exec(t);\n if (e) {\n let n = e[2].trim();\n if (this.rules.other.endingHash.test(n)) {\n let r = It(n, \"#\");\n (this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim());\n }\n return { type: \"heading\", raw: It(e[0], `\n`), depth: e[1].length, text: n, tokens: this.lexer.inline(n) };\n }\n }\n hr(t) {\n let e = this.rules.block.hr.exec(t);\n if (e) return { type: \"hr\", raw: It(e[0], `\n`) };\n }\n blockquote(t) {\n let e = this.rules.block.blockquote.exec(t);\n if (e) {\n let n = It(e[0], `\n`).split(`\n`), r = \"\", i = \"\", o = [];\n for (; n.length > 0; ) {\n let a = !1, l = [], c;\n for (c = 0; c < n.length; c++) if (this.rules.other.blockquoteStart.test(n[c])) l.push(n[c]), a = !0;\n else if (!a) l.push(n[c]);\n else break;\n n = n.slice(c);\n let u = l.join(`\n`), d = u.replace(this.rules.other.blockquoteSetextReplace, `\n $1`).replace(this.rules.other.blockquoteSetextReplace2, \"\");\n r = r ? `${r}\n${u}` : u, i = i ? `${i}\n${d}` : d;\n let m = this.lexer.state.top;\n if (this.lexer.state.top = !0, this.lexer.blockTokens(d, o, !0), this.lexer.state.top = m, n.length === 0) break;\n let h = o.at(-1);\n if (h?.type === \"code\") break;\n if (h?.type === \"blockquote\") {\n let p = h, x = p.raw + `\n` + n.join(`\n`), w = this.blockquote(x);\n o[o.length - 1] = w, r = r.substring(0, r.length - p.raw.length) + w.raw, i = i.substring(0, i.length - p.text.length) + w.text;\n break;\n } else if (h?.type === \"list\") {\n let p = h, x = p.raw + `\n` + n.join(`\n`), w = this.list(x);\n o[o.length - 1] = w, r = r.substring(0, r.length - h.raw.length) + w.raw, i = i.substring(0, i.length - p.raw.length) + w.raw, n = x.substring(o.at(-1).raw.length).split(`\n`);\n continue;\n }\n }\n return { type: \"blockquote\", raw: r, tokens: o, text: i };\n }\n }\n list(t) {\n let e = this.rules.block.list.exec(t);\n if (e) {\n let n = e[1].trim(), r = n.length > 1, i = { type: \"list\", raw: \"\", ordered: r, start: r ? +n.slice(0, -1) : \"\", loose: !1, items: [] };\n n = r ? `\\\\d{1,9}\\\\${n.slice(-1)}` : `\\\\${n}`, this.options.pedantic && (n = r ? n : \"[*+-]\");\n let o = this.rules.other.listItemRegex(n), a = !1;\n for (; t; ) {\n let c = !1, u = \"\", d = \"\";\n if (!(e = o.exec(t)) || this.rules.block.hr.test(t)) break;\n u = e[0], t = t.substring(u.length);\n let m = zp(e[2].split(`\n`, 1)[0], e[1].length), h = t.split(`\n`, 1)[0], p = !m.trim(), x = 0;\n if (this.options.pedantic ? (x = 2, d = m.trimStart()) : p ? x = e[1].length + 1 : (x = m.search(this.rules.other.nonSpaceChar), x = x > 4 ? 1 : x, d = m.slice(x), x += e[1].length), p && this.rules.other.blankLine.test(h) && (u += h + `\n`, t = t.substring(h.length + 1), c = !0), !c) {\n let w = this.rules.other.nextBulletRegex(x), b = this.rules.other.hrRegex(x), v = this.rules.other.fencesBeginRegex(x), k = this.rules.other.headingBeginRegex(x), A = this.rules.other.htmlBeginRegex(x), P = this.rules.other.blockquoteBeginRegex(x);\n for (; t; ) {\n let M = t.split(`\n`, 1)[0], T;\n if (h = M, this.options.pedantic ? (h = h.replace(this.rules.other.listReplaceNesting, \" \"), T = h) : T = h.replace(this.rules.other.tabCharGlobal, \" \"), v.test(h) || k.test(h) || A.test(h) || P.test(h) || w.test(h) || b.test(h)) break;\n if (T.search(this.rules.other.nonSpaceChar) >= x || !h.trim()) d += `\n` + T.slice(x);\n else {\n if (p || m.replace(this.rules.other.tabCharGlobal, \" \").search(this.rules.other.nonSpaceChar) >= 4 || v.test(m) || k.test(m) || b.test(m)) break;\n d += `\n` + h;\n }\n p = !h.trim(), u += M + `\n`, t = t.substring(M.length + 1), m = T.slice(x);\n }\n }\n i.loose || (a ? i.loose = !0 : this.rules.other.doubleBlankLine.test(u) && (a = !0)), i.items.push({ type: \"list_item\", raw: u, task: !!this.options.gfm && this.rules.other.listIsTask.test(d), loose: !1, text: d, tokens: [] }), i.raw += u;\n }\n let l = i.items.at(-1);\n if (l) l.raw = l.raw.trimEnd(), l.text = l.text.trimEnd();\n else return;\n i.raw = i.raw.trimEnd();\n for (let c of i.items) {\n this.lexer.state.top = !1, c.tokens = this.lexer.blockTokens(c.text, []);\n let u = c.tokens[0];\n if (c.task && (u?.type === \"text\" || u?.type === \"paragraph\")) {\n c.text = c.text.replace(this.rules.other.listReplaceTask, \"\"), u.raw = u.raw.replace(this.rules.other.listReplaceTask, \"\"), u.text = u.text.replace(this.rules.other.listReplaceTask, \"\");\n for (let m = this.lexer.inlineQueue.length - 1; m >= 0; m--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[m].src)) {\n this.lexer.inlineQueue[m].src = this.lexer.inlineQueue[m].src.replace(this.rules.other.listReplaceTask, \"\");\n break;\n }\n let d = this.rules.other.listTaskCheckbox.exec(c.raw);\n if (d) {\n let m = { type: \"checkbox\", raw: d[0] + \" \", checked: d[0] !== \"[ ]\" };\n c.checked = m.checked, i.loose ? c.tokens[0] && [\"paragraph\", \"text\"].includes(c.tokens[0].type) && \"tokens\" in c.tokens[0] && c.tokens[0].tokens ? (c.tokens[0].raw = m.raw + c.tokens[0].raw, c.tokens[0].text = m.raw + c.tokens[0].text, c.tokens[0].tokens.unshift(m)) : c.tokens.unshift({ type: \"paragraph\", raw: m.raw, text: m.raw, tokens: [m] }) : c.tokens.unshift(m);\n }\n } else c.task && (c.task = !1);\n if (!i.loose) {\n let d = c.tokens.filter((h) => h.type === \"space\"), m = d.length > 0 && d.some((h) => this.rules.other.anyLine.test(h.raw));\n i.loose = m;\n }\n }\n if (i.loose) for (let c of i.items) {\n c.loose = !0;\n for (let u of c.tokens) u.type === \"text\" && (u.type = \"paragraph\");\n }\n return i;\n }\n }\n html(t) {\n let e = this.rules.block.html.exec(t);\n if (e) {\n let n = os(e[0]);\n return { type: \"html\", block: !0, raw: n, pre: e[1] === \"pre\" || e[1] === \"script\" || e[1] === \"style\", text: n };\n }\n }\n def(t) {\n let e = this.rules.block.def.exec(t);\n if (e) {\n let n = e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, \" \"), r = e[2] ? e[2].replace(this.rules.other.hrefBrackets, \"$1\").replace(this.rules.inline.anyPunctuation, \"$1\") : \"\", i = e[3] ? e[3].substring(1, e[3].length - 1).replace(this.rules.inline.anyPunctuation, \"$1\") : e[3];\n return { type: \"def\", tag: n, raw: It(e[0], `\n`), href: r, title: i };\n }\n }\n table(t) {\n let e = this.rules.block.table.exec(t);\n if (!e || !this.rules.other.tableDelimiter.test(e[2])) return;\n let n = is(e[1]), r = e[2].replace(this.rules.other.tableAlignChars, \"\").split(\"|\"), i = e[3]?.trim() ? e[3].replace(this.rules.other.tableRowBlankLine, \"\").split(`\n`) : [], o = { type: \"table\", raw: It(e[0], `\n`), header: [], align: [], rows: [] };\n if (n.length === r.length) {\n for (let a of r) this.rules.other.tableAlignRight.test(a) ? o.align.push(\"right\") : this.rules.other.tableAlignCenter.test(a) ? o.align.push(\"center\") : this.rules.other.tableAlignLeft.test(a) ? o.align.push(\"left\") : o.align.push(null);\n for (let a = 0; a < n.length; a++) o.header.push({ text: n[a], tokens: this.lexer.inline(n[a]), header: !0, align: o.align[a] });\n for (let a of i) o.rows.push(is(a, o.header.length).map((l, c) => ({ text: l, tokens: this.lexer.inline(l), header: !1, align: o.align[c] })));\n return o;\n }\n }\n lheading(t) {\n let e = this.rules.block.lheading.exec(t);\n if (e) {\n let n = e[1].trim();\n return { type: \"heading\", raw: It(e[0], `\n`), depth: e[2].charAt(0) === \"=\" ? 1 : 2, text: n, tokens: this.lexer.inline(n) };\n }\n }\n paragraph(t) {\n let e = this.rules.block.paragraph.exec(t);\n if (e) {\n let n = e[1].charAt(e[1].length - 1) === `\n` ? e[1].slice(0, -1) : e[1];\n return { type: \"paragraph\", raw: e[0], text: n, tokens: this.lexer.inline(n) };\n }\n }\n text(t) {\n let e = this.rules.block.text.exec(t);\n if (e) return { type: \"text\", raw: e[0], text: e[0], tokens: this.lexer.inline(e[0]) };\n }\n escape(t) {\n let e = this.rules.inline.escape.exec(t);\n if (e) return { type: \"escape\", raw: e[0], text: e[1] };\n }\n tag(t) {\n let e = this.rules.inline.tag.exec(t);\n if (e) return !this.lexer.state.inLink && this.rules.other.startATag.test(e[0]) ? this.lexer.state.inLink = !0 : this.lexer.state.inLink && this.rules.other.endATag.test(e[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(e[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(e[0]) && (this.lexer.state.inRawBlock = !1), { type: \"html\", raw: e[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: !1, text: e[0] };\n }\n link(t) {\n let e = this.rules.inline.link.exec(t);\n if (e) {\n let n = e[2].trim();\n if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) {\n if (!this.rules.other.endAngleBracket.test(n)) return;\n let o = It(n.slice(0, -1), \"\\\\\");\n if ((n.length - o.length) % 2 === 0) return;\n } else {\n let o = qp(e[2], \"()\");\n if (o === -2) return;\n if (o > -1) {\n let a = (e[0].indexOf(\"!\") === 0 ? 5 : 4) + e[1].length + o;\n e[2] = e[2].substring(0, o), e[0] = e[0].substring(0, a).trim(), e[3] = \"\";\n }\n }\n let r = e[2], i = \"\";\n if (this.options.pedantic) {\n let o = this.rules.other.pedanticHrefTitle.exec(r);\n o && (r = o[1], i = o[3]);\n } else i = e[3] ? e[3].slice(1, -1) : \"\";\n return r = r.trim(), this.rules.other.startAngleBracket.test(r) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? r = r.slice(1) : r = r.slice(1, -1)), as(e, { href: r && r.replace(this.rules.inline.anyPunctuation, \"$1\"), title: i && i.replace(this.rules.inline.anyPunctuation, \"$1\") }, e[0], this.lexer, this.rules);\n }\n }\n reflink(t, e) {\n let n;\n if ((n = this.rules.inline.reflink.exec(t)) || (n = this.rules.inline.nolink.exec(t))) {\n let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, \" \"), i = e[r.toLowerCase()];\n if (!i) {\n let o = n[0].charAt(0);\n return { type: \"text\", raw: o, text: o };\n }\n return as(n, i, n[0], this.lexer, this.rules);\n }\n }\n emStrong(t, e, n = \"\") {\n let r = this.rules.inline.emStrongLDelim.exec(t);\n if (!(!r || !r[1] && !r[2] && !r[3] && !r[4] || r[4] && n.match(this.rules.other.unicodeAlphaNumeric)) && (!(r[1] || r[3]) || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, o, a, l = i, c = 0, u = r[0][0] === \"*\" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n for (u.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = u.exec(e)) !== null; ) {\n if (o = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !o) continue;\n if (a = [...o].length, r[3] || r[4]) {\n l += a;\n continue;\n } else if ((r[5] || r[6]) && i % 3 && !((i + a) % 3)) {\n c += a;\n continue;\n }\n if (l -= a, l > 0) continue;\n a = Math.min(a, a + l + c);\n let d = [...r[0]][0].length, m = t.slice(0, i + r.index + d + a);\n if (Math.min(i, a) % 2) {\n let p = m.slice(1, -1);\n return { type: \"em\", raw: m, text: p, tokens: this.lexer.inlineTokens(p) };\n }\n let h = m.slice(2, -2);\n return { type: \"strong\", raw: m, text: h, tokens: this.lexer.inlineTokens(h) };\n }\n }\n }\n codespan(t) {\n let e = this.rules.inline.code.exec(t);\n if (e) {\n let n = e[2].replace(this.rules.other.newLineCharGlobal, \" \"), r = this.rules.other.nonSpaceChar.test(n), i = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n);\n return r && i && (n = n.substring(1, n.length - 1)), { type: \"codespan\", raw: e[0], text: n };\n }\n }\n br(t) {\n let e = this.rules.inline.br.exec(t);\n if (e) return { type: \"br\", raw: e[0] };\n }\n del(t, e, n = \"\") {\n let r = this.rules.inline.delLDelim.exec(t);\n if (r && (!r[1] || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, o, a, l = i, c = this.rules.inline.delRDelim;\n for (c.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = c.exec(e)) !== null; ) {\n if (o = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !o || (a = [...o].length, a !== i)) continue;\n if (r[3] || r[4]) {\n l += a;\n continue;\n }\n if (l -= a, l > 0) continue;\n a = Math.min(a, a + l);\n let u = [...r[0]][0].length, d = t.slice(0, i + r.index + u + a), m = d.slice(i, -i);\n return { type: \"del\", raw: d, text: m, tokens: this.lexer.inlineTokens(m) };\n }\n }\n }\n autolink(t) {\n let e = this.rules.inline.autolink.exec(t);\n if (e) {\n let n, r;\n return e[2] === \"@\" ? (n = e[1], r = \"mailto:\" + n) : (n = e[1], r = n), { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n url(t) {\n let e;\n if (e = this.rules.inline.url.exec(t)) {\n let n, r;\n if (e[2] === \"@\") n = e[0], r = \"mailto:\" + n;\n else {\n let i;\n do\n i = e[0], e[0] = this.rules.inline._backpedal.exec(e[0])?.[0] ?? \"\";\n while (i !== e[0]);\n n = e[0], e[1] === \"www.\" ? r = \"http://\" + e[0] : r = e[0];\n }\n return { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n inlineText(t) {\n let e = this.rules.inline.text.exec(t);\n if (e) {\n let n = this.lexer.state.inRawBlock;\n return { type: \"text\", raw: e[0], text: e[0], escaped: n };\n }\n }\n}, nt = class oo {\n tokens;\n options;\n state;\n inlineQueue;\n tokenizer;\n constructor(e) {\n this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || tn, this.options.tokenizer = this.options.tokenizer || new Xr(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: !1, inRawBlock: !1, top: !0 };\n let n = { other: Ie, block: Sr.normal, inline: Ln.normal };\n this.options.pedantic ? (n.block = Sr.pedantic, n.inline = Ln.pedantic) : this.options.gfm && (n.block = Sr.gfm, this.options.breaks ? n.inline = Ln.breaks : n.inline = Ln.gfm), this.tokenizer.rules = n;\n }\n static get rules() {\n return { block: Sr, inline: Ln };\n }\n static lex(e, n) {\n return new oo(n).lex(e);\n }\n static lexInline(e, n) {\n return new oo(n).inlineTokens(e);\n }\n lex(e) {\n e = e.replace(Ie.carriageReturn, `\n`), this.blockTokens(e, this.tokens);\n for (let n = 0; n < this.inlineQueue.length; n++) {\n let r = this.inlineQueue[n];\n this.inlineTokens(r.src, r.tokens);\n }\n return this.inlineQueue = [], this.tokens;\n }\n blockTokens(e, n = [], r = !1) {\n this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(Ie.tabCharGlobal, \" \").replace(Ie.spaceLine, \"\"));\n let i = 1 / 0;\n for (; e; ) {\n if (e.length < i) i = e.length;\n else {\n this.infiniteLoopError(e.charCodeAt(0));\n break;\n }\n let o;\n if (this.options.extensions?.block?.some((l) => (o = l.call({ lexer: this }, e, n)) ? (e = e.substring(o.raw.length), n.push(o), !0) : !1)) continue;\n if (o = this.tokenizer.space(e)) {\n e = e.substring(o.raw.length);\n let l = n.at(-1);\n o.raw.length === 1 && l !== void 0 ? l.raw += `\n` : n.push(o);\n continue;\n }\n if (o = this.tokenizer.code(e)) {\n e = e.substring(o.raw.length);\n let l = n.at(-1);\n l?.type === \"paragraph\" || l?.type === \"text\" ? (l.raw += (l.raw.endsWith(`\n`) ? \"\" : `\n`) + o.raw, l.text += `\n` + o.text, this.inlineQueue.at(-1).src = l.text) : n.push(o);\n continue;\n }\n if (o = this.tokenizer.fences(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.heading(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.hr(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.blockquote(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.list(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.html(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.def(e)) {\n e = e.substring(o.raw.length);\n let l = n.at(-1);\n l?.type === \"paragraph\" || l?.type === \"text\" ? (l.raw += (l.raw.endsWith(`\n`) ? \"\" : `\n`) + o.raw, l.text += `\n` + o.raw, this.inlineQueue.at(-1).src = l.text) : this.tokens.links[o.tag] || (this.tokens.links[o.tag] = { href: o.href, title: o.title }, n.push(o));\n continue;\n }\n if (o = this.tokenizer.table(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.lheading(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n let a = e;\n if (this.options.extensions?.startBlock) {\n let l = 1 / 0, c = e.slice(1), u;\n this.options.extensions.startBlock.forEach((d) => {\n u = d.call({ lexer: this }, c), typeof u == \"number\" && u >= 0 && (l = Math.min(l, u));\n }), l < 1 / 0 && l >= 0 && (a = e.substring(0, l + 1));\n }\n if (this.state.top && (o = this.tokenizer.paragraph(a))) {\n let l = n.at(-1);\n r && l?.type === \"paragraph\" ? (l.raw += (l.raw.endsWith(`\n`) ? \"\" : `\n`) + o.raw, l.text += `\n` + o.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = l.text) : n.push(o), r = a.length !== e.length, e = e.substring(o.raw.length);\n continue;\n }\n if (o = this.tokenizer.text(e)) {\n e = e.substring(o.raw.length);\n let l = n.at(-1);\n l?.type === \"text\" ? (l.raw += (l.raw.endsWith(`\n`) ? \"\" : `\n`) + o.raw, l.text += `\n` + o.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = l.text) : n.push(o);\n continue;\n }\n if (e) {\n this.infiniteLoopError(e.charCodeAt(0));\n break;\n }\n }\n return this.state.top = !0, n;\n }\n inline(e, n = []) {\n return this.inlineQueue.push({ src: e, tokens: n }), n;\n }\n inlineTokens(e, n = []) {\n this.tokenizer.lexer = this;\n let r = e, i = null;\n if (this.tokens.links) {\n let u = Object.keys(this.tokens.links);\n if (u.length > 0) for (; (i = this.tokenizer.rules.inline.reflinkSearch.exec(r)) !== null; ) u.includes(i[0].slice(i[0].lastIndexOf(\"[\") + 1, -1)) && (r = r.slice(0, i.index) + \"[\" + \"a\".repeat(i[0].length - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));\n }\n for (; (i = this.tokenizer.rules.inline.anyPunctuation.exec(r)) !== null; ) r = r.slice(0, i.index) + \"++\" + r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n let o;\n for (; (i = this.tokenizer.rules.inline.blockSkip.exec(r)) !== null; ) o = i[2] ? i[2].length : 0, r = r.slice(0, i.index + o) + \"[\" + \"a\".repeat(i[0].length - o - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n r = this.options.hooks?.emStrongMask?.call({ lexer: this }, r) ?? r;\n let a = !1, l = \"\", c = 1 / 0;\n for (; e; ) {\n if (e.length < c) c = e.length;\n else {\n this.infiniteLoopError(e.charCodeAt(0));\n break;\n }\n a || (l = \"\"), a = !1;\n let u;\n if (this.options.extensions?.inline?.some((m) => (u = m.call({ lexer: this }, e, n)) ? (e = e.substring(u.raw.length), n.push(u), !0) : !1)) continue;\n if (u = this.tokenizer.escape(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.tag(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.link(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.reflink(e, this.tokens.links)) {\n e = e.substring(u.raw.length);\n let m = n.at(-1);\n u.type === \"text\" && m?.type === \"text\" ? (m.raw += u.raw, m.text += u.text) : n.push(u);\n continue;\n }\n if (u = this.tokenizer.emStrong(e, r, l)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.codespan(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.br(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.del(e, r, l)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.autolink(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (!this.state.inLink && (u = this.tokenizer.url(e))) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n let d = e;\n if (this.options.extensions?.startInline) {\n let m = 1 / 0, h = e.slice(1), p;\n this.options.extensions.startInline.forEach((x) => {\n p = x.call({ lexer: this }, h), typeof p == \"number\" && p >= 0 && (m = Math.min(m, p));\n }), m < 1 / 0 && m >= 0 && (d = e.substring(0, m + 1));\n }\n if (u = this.tokenizer.inlineText(d)) {\n e = e.substring(u.raw.length), u.raw.slice(-1) !== \"_\" && (l = u.raw.slice(-1)), a = !0;\n let m = n.at(-1);\n m?.type === \"text\" ? (m.raw += u.raw, m.text += u.text) : n.push(u);\n continue;\n }\n if (e) {\n this.infiniteLoopError(e.charCodeAt(0));\n break;\n }\n }\n return n;\n }\n infiniteLoopError(e) {\n let n = \"Infinite loop on byte: \" + e;\n if (this.options.silent) console.error(n);\n else throw new Error(n);\n }\n}, Zr = class {\n options;\n parser;\n constructor(t) {\n this.options = t || tn;\n }\n space(t) {\n return \"\";\n }\n code({ text: t, lang: e, escaped: n }) {\n let r = (e || \"\").match(Ie.notSpaceStart)?.[0], i = t.replace(Ie.endingNewline, \"\") + `\n`;\n return r ? '<pre><code class=\"language-' + ht(r) + '\">' + (n ? i : ht(i, !0)) + `</code></pre>\n` : \"<pre><code>\" + (n ? i : ht(i, !0)) + `</code></pre>\n`;\n }\n blockquote({ tokens: t }) {\n return `<blockquote>\n${this.parser.parse(t)}</blockquote>\n`;\n }\n html({ text: t }) {\n return t;\n }\n def(t) {\n return \"\";\n }\n heading({ tokens: t, depth: e }) {\n return `<h${e}>${this.parser.parseInline(t)}</h${e}>\n`;\n }\n hr(t) {\n return `<hr>\n`;\n }\n list(t) {\n let e = t.ordered, n = t.start, r = \"\";\n for (let a = 0; a < t.items.length; a++) {\n let l = t.items[a];\n r += this.listitem(l);\n }\n let i = e ? \"ol\" : \"ul\", o = e && n !== 1 ? ' start=\"' + n + '\"' : \"\";\n return \"<\" + i + o + `>\n` + r + \"</\" + i + `>\n`;\n }\n listitem(t) {\n return `<li>${this.parser.parse(t.tokens)}</li>\n`;\n }\n checkbox({ checked: t }) {\n return \"<input \" + (t ? 'checked=\"\" ' : \"\") + 'disabled=\"\" type=\"checkbox\"> ';\n }\n paragraph({ tokens: t }) {\n return `<p>${this.parser.parseInline(t)}</p>\n`;\n }\n table(t) {\n let e = \"\", n = \"\";\n for (let i = 0; i < t.header.length; i++) n += this.tablecell(t.header[i]);\n e += this.tablerow({ text: n });\n let r = \"\";\n for (let i = 0; i < t.rows.length; i++) {\n let o = t.rows[i];\n n = \"\";\n for (let a = 0; a < o.length; a++) n += this.tablecell(o[a]);\n r += this.tablerow({ text: n });\n }\n return r && (r = `<tbody>${r}</tbody>`), `<table>\n<thead>\n` + e + `</thead>\n` + r + `</table>\n`;\n }\n tablerow({ text: t }) {\n return `<tr>\n${t}</tr>\n`;\n }\n tablecell(t) {\n let e = this.parser.parseInline(t.tokens), n = t.header ? \"th\" : \"td\";\n return (t.align ? `<${n} align=\"${t.align}\">` : `<${n}>`) + e + `</${n}>\n`;\n }\n strong({ tokens: t }) {\n return `<strong>${this.parser.parseInline(t)}</strong>`;\n }\n em({ tokens: t }) {\n return `<em>${this.parser.parseInline(t)}</em>`;\n }\n codespan({ text: t }) {\n return `<code>${ht(t, !0)}</code>`;\n }\n br(t) {\n return \"<br>\";\n }\n del({ tokens: t }) {\n return `<del>${this.parser.parseInline(t)}</del>`;\n }\n link({ href: t, title: e, tokens: n }) {\n let r = this.parser.parseInline(n), i = rs(t);\n if (i === null) return r;\n t = i;\n let o = '<a href=\"' + t + '\"';\n return e && (o += ' title=\"' + ht(e) + '\"'), o += \">\" + r + \"</a>\", o;\n }\n image({ href: t, title: e, text: n, tokens: r }) {\n r && (n = this.parser.parseInline(r, this.parser.textRenderer));\n let i = rs(t);\n if (i === null) return ht(n);\n t = i;\n let o = `<img src=\"${t}\" alt=\"${ht(n)}\"`;\n return e && (o += ` title=\"${ht(e)}\"`), o += \">\", o;\n }\n text(t) {\n return \"tokens\" in t && t.tokens ? this.parser.parseInline(t.tokens) : \"escaped\" in t && t.escaped ? t.text : ht(t.text);\n }\n}, $o = class {\n strong({ text: t }) {\n return t;\n }\n em({ text: t }) {\n return t;\n }\n codespan({ text: t }) {\n return t;\n }\n del({ text: t }) {\n return t;\n }\n html({ text: t }) {\n return t;\n }\n text({ text: t }) {\n return t;\n }\n link({ text: t }) {\n return \"\" + t;\n }\n image({ text: t }) {\n return \"\" + t;\n }\n br() {\n return \"\";\n }\n checkbox({ raw: t }) {\n return t;\n }\n}, rt = class ao {\n options;\n renderer;\n textRenderer;\n constructor(e) {\n this.options = e || tn, this.options.renderer = this.options.renderer || new Zr(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new $o();\n }\n static parse(e, n) {\n return new ao(n).parse(e);\n }\n static parseInline(e, n) {\n return new ao(n).parseInline(e);\n }\n parse(e) {\n this.renderer.parser = this;\n let n = \"\";\n for (let r = 0; r < e.length; r++) {\n let i = e[r];\n if (this.options.extensions?.renderers?.[i.type]) {\n let a = i, l = this.options.extensions.renderers[a.type].call({ parser: this }, a);\n if (l !== !1 || ![\"space\", \"hr\", \"heading\", \"code\", \"table\", \"blockquote\", \"list\", \"html\", \"def\", \"paragraph\", \"text\"].includes(a.type)) {\n n += l || \"\";\n continue;\n }\n }\n let o = i;\n switch (o.type) {\n case \"space\": {\n n += this.renderer.space(o);\n break;\n }\n case \"hr\": {\n n += this.renderer.hr(o);\n break;\n }\n case \"heading\": {\n n += this.renderer.heading(o);\n break;\n }\n case \"code\": {\n n += this.renderer.code(o);\n break;\n }\n case \"table\": {\n n += this.renderer.table(o);\n break;\n }\n case \"blockquote\": {\n n += this.renderer.blockquote(o);\n break;\n }\n case \"list\": {\n n += this.renderer.list(o);\n break;\n }\n case \"checkbox\": {\n n += this.renderer.checkbox(o);\n break;\n }\n case \"html\": {\n n += this.renderer.html(o);\n break;\n }\n case \"def\": {\n n += this.renderer.def(o);\n break;\n }\n case \"paragraph\": {\n n += this.renderer.paragraph(o);\n break;\n }\n case \"text\": {\n n += this.renderer.text(o);\n break;\n }\n default: {\n let a = 'Token with \"' + o.type + '\" type was not found.';\n if (this.options.silent) return console.error(a), \"\";\n throw new Error(a);\n }\n }\n }\n return n;\n }\n parseInline(e, n = this.renderer) {\n this.renderer.parser = this;\n let r = \"\";\n for (let i = 0; i < e.length; i++) {\n let o = e[i];\n if (this.options.extensions?.renderers?.[o.type]) {\n let l = this.options.extensions.renderers[o.type].call({ parser: this }, o);\n if (l !== !1 || ![\"escape\", \"html\", \"link\", \"image\", \"strong\", \"em\", \"codespan\", \"br\", \"del\", \"text\"].includes(o.type)) {\n r += l || \"\";\n continue;\n }\n }\n let a = o;\n switch (a.type) {\n case \"escape\": {\n r += n.text(a);\n break;\n }\n case \"html\": {\n r += n.html(a);\n break;\n }\n case \"link\": {\n r += n.link(a);\n break;\n }\n case \"image\": {\n r += n.image(a);\n break;\n }\n case \"checkbox\": {\n r += n.checkbox(a);\n break;\n }\n case \"strong\": {\n r += n.strong(a);\n break;\n }\n case \"em\": {\n r += n.em(a);\n break;\n }\n case \"codespan\": {\n r += n.codespan(a);\n break;\n }\n case \"br\": {\n r += n.br(a);\n break;\n }\n case \"del\": {\n r += n.del(a);\n break;\n }\n case \"text\": {\n r += n.text(a);\n break;\n }\n default: {\n let l = 'Token with \"' + a.type + '\" type was not found.';\n if (this.options.silent) return console.error(l), \"\";\n throw new Error(l);\n }\n }\n }\n return r;\n }\n}, Bn = class {\n options;\n block;\n constructor(t) {\n this.options = t || tn;\n }\n static passThroughHooks = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\", \"emStrongMask\"]);\n static passThroughHooksRespectAsync = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\"]);\n preprocess(t) {\n return t;\n }\n postprocess(t) {\n return t;\n }\n processAllTokens(t) {\n return t;\n }\n emStrongMask(t) {\n return t;\n }\n provideLexer(t = this.block) {\n return t ? nt.lex : nt.lexInline;\n }\n provideParser(t = this.block) {\n return t ? rt.parse : rt.parseInline;\n }\n}, Up = class {\n defaults = Ro();\n options = this.setOptions;\n parse = this.parseMarkdown(!0);\n parseInline = this.parseMarkdown(!1);\n Parser = rt;\n Renderer = Zr;\n TextRenderer = $o;\n Lexer = nt;\n Tokenizer = Xr;\n Hooks = Bn;\n constructor(...t) {\n this.use(...t);\n }\n walkTokens(t, e) {\n let n = [];\n for (let r of t) switch (n = n.concat(e.call(this, r)), r.type) {\n case \"table\": {\n let i = r;\n for (let o of i.header) n = n.concat(this.walkTokens(o.tokens, e));\n for (let o of i.rows) for (let a of o) n = n.concat(this.walkTokens(a.tokens, e));\n break;\n }\n case \"list\": {\n let i = r;\n n = n.concat(this.walkTokens(i.items, e));\n break;\n }\n default: {\n let i = r;\n this.defaults.extensions?.childTokens?.[i.type] ? this.defaults.extensions.childTokens[i.type].forEach((o) => {\n let a = i[o].flat(1 / 0);\n n = n.concat(this.walkTokens(a, e));\n }) : i.tokens && (n = n.concat(this.walkTokens(i.tokens, e)));\n }\n }\n return n;\n }\n use(...t) {\n let e = this.defaults.extensions || { renderers: {}, childTokens: {} };\n return t.forEach((n) => {\n let r = { ...n };\n if (r.async = this.defaults.async || r.async || !1, n.extensions && (n.extensions.forEach((i) => {\n if (!i.name) throw new Error(\"extension name required\");\n if (\"renderer\" in i) {\n let o = e.renderers[i.name];\n o ? e.renderers[i.name] = function(...a) {\n let l = i.renderer.apply(this, a);\n return l === !1 && (l = o.apply(this, a)), l;\n } : e.renderers[i.name] = i.renderer;\n }\n if (\"tokenizer\" in i) {\n if (!i.level || i.level !== \"block\" && i.level !== \"inline\") throw new Error(\"extension level must be 'block' or 'inline'\");\n let o = e[i.level];\n o ? o.unshift(i.tokenizer) : e[i.level] = [i.tokenizer], i.start && (i.level === \"block\" ? e.startBlock ? e.startBlock.push(i.start) : e.startBlock = [i.start] : i.level === \"inline\" && (e.startInline ? e.startInline.push(i.start) : e.startInline = [i.start]));\n }\n \"childTokens\" in i && i.childTokens && (e.childTokens[i.name] = i.childTokens);\n }), r.extensions = e), n.renderer) {\n let i = this.defaults.renderer || new Zr(this.defaults);\n for (let o in n.renderer) {\n if (!(o in i)) throw new Error(`renderer '${o}' does not exist`);\n if ([\"options\", \"parser\"].includes(o)) continue;\n let a = o, l = n.renderer[a], c = i[a];\n i[a] = (...u) => {\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d || \"\";\n };\n }\n r.renderer = i;\n }\n if (n.tokenizer) {\n let i = this.defaults.tokenizer || new Xr(this.defaults);\n for (let o in n.tokenizer) {\n if (!(o in i)) throw new Error(`tokenizer '${o}' does not exist`);\n if ([\"options\", \"rules\", \"lexer\"].includes(o)) continue;\n let a = o, l = n.tokenizer[a], c = i[a];\n i[a] = (...u) => {\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d;\n };\n }\n r.tokenizer = i;\n }\n if (n.hooks) {\n let i = this.defaults.hooks || new Bn();\n for (let o in n.hooks) {\n if (!(o in i)) throw new Error(`hook '${o}' does not exist`);\n if ([\"options\", \"block\"].includes(o)) continue;\n let a = o, l = n.hooks[a], c = i[a];\n Bn.passThroughHooks.has(o) ? i[a] = (u) => {\n if (this.defaults.async && Bn.passThroughHooksRespectAsync.has(o)) return (async () => {\n let m = await l.call(i, u);\n return c.call(i, m);\n })();\n let d = l.call(i, u);\n return c.call(i, d);\n } : i[a] = (...u) => {\n if (this.defaults.async) return (async () => {\n let m = await l.apply(i, u);\n return m === !1 && (m = await c.apply(i, u)), m;\n })();\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d;\n };\n }\n r.hooks = i;\n }\n if (n.walkTokens) {\n let i = this.defaults.walkTokens, o = n.walkTokens;\n r.walkTokens = function(a) {\n let l = [];\n return l.push(o.call(this, a)), i && (l = l.concat(i.call(this, a))), l;\n };\n }\n this.defaults = { ...this.defaults, ...r };\n }), this;\n }\n setOptions(t) {\n return this.defaults = { ...this.defaults, ...t }, this;\n }\n lexer(t, e) {\n return nt.lex(t, e ?? this.defaults);\n }\n parser(t, e) {\n return rt.parse(t, e ?? this.defaults);\n }\n parseMarkdown(t) {\n return (e, n) => {\n let r = { ...n }, i = { ...this.defaults, ...r }, o = this.onError(!!i.silent, !!i.async);\n if (this.defaults.async === !0 && r.async === !1) return o(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));\n if (typeof e > \"u\" || e === null) return o(new Error(\"marked(): input parameter is undefined or null\"));\n if (typeof e != \"string\") return o(new Error(\"marked(): input parameter is of type \" + Object.prototype.toString.call(e) + \", string expected\"));\n if (i.hooks && (i.hooks.options = i, i.hooks.block = t), i.async) return (async () => {\n let a = i.hooks ? await i.hooks.preprocess(e) : e, l = await (i.hooks ? await i.hooks.provideLexer(t) : t ? nt.lex : nt.lexInline)(a, i), c = i.hooks ? await i.hooks.processAllTokens(l) : l;\n i.walkTokens && await Promise.all(this.walkTokens(c, i.walkTokens));\n let u = await (i.hooks ? await i.hooks.provideParser(t) : t ? rt.parse : rt.parseInline)(c, i);\n return i.hooks ? await i.hooks.postprocess(u) : u;\n })().catch(o);\n try {\n i.hooks && (e = i.hooks.preprocess(e));\n let a = (i.hooks ? i.hooks.provideLexer(t) : t ? nt.lex : nt.lexInline)(e, i);\n i.hooks && (a = i.hooks.processAllTokens(a)), i.walkTokens && this.walkTokens(a, i.walkTokens);\n let l = (i.hooks ? i.hooks.provideParser(t) : t ? rt.parse : rt.parseInline)(a, i);\n return i.hooks && (l = i.hooks.postprocess(l)), l;\n } catch (a) {\n return o(a);\n }\n };\n }\n onError(t, e) {\n return (n) => {\n if (n.message += `\nPlease report this to https://github.com/markedjs/marked.`, t) {\n let r = \"<p>An error occurred:</p><pre>\" + ht(n.message + \"\", !0) + \"</pre>\";\n return e ? Promise.resolve(r) : r;\n }\n if (e) return Promise.reject(n);\n throw n;\n };\n }\n}, Zt = new Up();\nfunction X(t, e) {\n return Zt.parse(t, e);\n}\nX.options = X.setOptions = function(t) {\n return Zt.setOptions(t), X.defaults = Zt.defaults, ec(X.defaults), X;\n};\nX.getDefaults = Ro;\nX.defaults = tn;\nX.use = function(...t) {\n return Zt.use(...t), X.defaults = Zt.defaults, ec(X.defaults), X;\n};\nX.walkTokens = function(t, e) {\n return Zt.walkTokens(t, e);\n};\nX.parseInline = Zt.parseInline;\nX.Parser = rt;\nX.parser = rt.parse;\nX.Renderer = Zr;\nX.TextRenderer = $o;\nX.Lexer = nt;\nX.lexer = nt.lex;\nX.Tokenizer = Xr;\nX.Hooks = Bn;\nX.parse = X;\nX.options;\nX.setOptions;\nX.use;\nX.walkTokens;\nX.parseInline;\nrt.parse;\nnt.lex;\nfunction ss(t, e) {\n (e == null || e > t.length) && (e = t.length);\n for (var n = 0, r = Array(e); n < e; n++) r[n] = t[n];\n return r;\n}\nfunction Bp(t) {\n if (Array.isArray(t)) return t;\n}\nfunction Vp(t, e) {\n var n = t == null ? null : typeof Symbol < \"u\" && t[Symbol.iterator] || t[\"@@iterator\"];\n if (n != null) {\n var r, i, o, a, l = [], c = !0, u = !1;\n try {\n if (o = (n = n.call(t)).next, e !== 0) for (; !(c = (r = o.call(n)).done) && (l.push(r.value), l.length !== e); c = !0) ;\n } catch (d) {\n u = !0, i = d;\n } finally {\n try {\n if (!c && n.return != null && (a = n.return(), Object(a) !== a)) return;\n } finally {\n if (u) throw i;\n }\n }\n return l;\n }\n}\nfunction Hp() {\n throw new TypeError(`Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);\n}\nfunction Wp(t, e) {\n return Bp(t) || Vp(t, e) || Qp(t, e) || Hp();\n}\nfunction Qp(t, e) {\n if (t) {\n if (typeof t == \"string\") return ss(t, e);\n var n = {}.toString.call(t).slice(8, -1);\n return n === \"Object\" && t.constructor && (n = t.constructor.name), n === \"Map\" || n === \"Set\" ? Array.from(t) : n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? ss(t, e) : void 0;\n }\n}\nconst uc = Object.entries, ls = Object.setPrototypeOf, Gp = Object.isFrozen, Kp = Object.getPrototypeOf, Yp = Object.getOwnPropertyDescriptor;\nlet Ce = Object.freeze, Ae = Object.seal, mn = Object.create, dc = typeof Reflect < \"u\" && Reflect, so = dc.apply, lo = dc.construct;\nCe || (Ce = function(e) {\n return e;\n});\nAe || (Ae = function(e) {\n return e;\n});\nso || (so = function(e, n) {\n for (var r = arguments.length, i = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)\n i[o - 2] = arguments[o];\n return e.apply(n, i);\n});\nlo || (lo = function(e) {\n for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), i = 1; i < n; i++)\n r[i - 1] = arguments[i];\n return new e(...r);\n});\nconst On = ye(Array.prototype.forEach), Xp = ye(Array.prototype.lastIndexOf), cs = ye(Array.prototype.pop), hn = ye(Array.prototype.push), Zp = ye(Array.prototype.splice), Ot = Array.isArray, Vn = ye(String.prototype.toLowerCase), Ri = ye(String.prototype.toString), us = ye(String.prototype.match), $n = ye(String.prototype.replace), ds = ye(String.prototype.indexOf), Jp = ye(String.prototype.trim), em = ye(Number.prototype.toString), tm = ye(Boolean.prototype.toString), hs = typeof BigInt > \"u\" ? null : ye(BigInt.prototype.toString), fs = typeof Symbol > \"u\" ? null : ye(Symbol.prototype.toString), je = ye(Object.prototype.hasOwnProperty), Dn = ye(Object.prototype.toString), Te = ye(RegExp.prototype.test), Wt = nm(TypeError);\nfunction ye(t) {\n return function(e) {\n e instanceof RegExp && (e.lastIndex = 0);\n for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), i = 1; i < n; i++)\n r[i - 1] = arguments[i];\n return so(t, e, r);\n };\n}\nfunction nm(t) {\n return function() {\n for (var e = arguments.length, n = new Array(e), r = 0; r < e; r++)\n n[r] = arguments[r];\n return lo(t, n);\n };\n}\nfunction Q(t, e) {\n let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Vn;\n if (ls && ls(t, null), !Ot(e))\n return t;\n let r = e.length;\n for (; r--; ) {\n let i = e[r];\n if (typeof i == \"string\") {\n const o = n(i);\n o !== i && (Gp(e) || (e[r] = o), i = o);\n }\n t[i] = !0;\n }\n return t;\n}\nfunction rm(t) {\n for (let e = 0; e < t.length; e++)\n je(t, e) || (t[e] = null);\n return t;\n}\nfunction $e(t) {\n const e = mn(null);\n for (const r of uc(t)) {\n var n = Wp(r, 2);\n const i = n[0], o = n[1];\n je(t, i) && (Ot(o) ? e[i] = rm(o) : o && typeof o == \"object\" && o.constructor === Object ? e[i] = $e(o) : e[i] = o);\n }\n return e;\n}\nfunction im(t) {\n switch (typeof t) {\n case \"string\":\n return t;\n case \"number\":\n return em(t);\n case \"boolean\":\n return tm(t);\n case \"bigint\":\n return hs ? hs(t) : \"0\";\n case \"symbol\":\n return fs ? fs(t) : \"Symbol()\";\n case \"undefined\":\n return Dn(t);\n case \"function\":\n case \"object\": {\n if (t === null)\n return Dn(t);\n const e = t, n = ft(e, \"toString\");\n if (typeof n == \"function\") {\n const r = n(e);\n return typeof r == \"string\" ? r : Dn(r);\n }\n return Dn(t);\n }\n default:\n return Dn(t);\n }\n}\nfunction ft(t, e) {\n for (; t !== null; ) {\n const r = Yp(t, e);\n if (r) {\n if (r.get)\n return ye(r.get);\n if (typeof r.value == \"function\")\n return ye(r.value);\n }\n t = Kp(t);\n }\n function n() {\n return null;\n }\n return n;\n}\nfunction om(t) {\n try {\n return Te(t, \"\"), !0;\n } catch {\n return !1;\n }\n}\nconst ps = Ce([\"a\", \"abbr\", \"acronym\", \"address\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"bdi\", \"bdo\", \"big\", \"blink\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"center\", \"cite\", \"code\", \"col\", \"colgroup\", \"content\", \"data\", \"datalist\", \"dd\", \"decorator\", \"del\", \"details\", \"dfn\", \"dialog\", \"dir\", \"div\", \"dl\", \"dt\", \"element\", \"em\", \"fieldset\", \"figcaption\", \"figure\", \"font\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"img\", \"input\", \"ins\", \"kbd\", \"label\", \"legend\", \"li\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meter\", \"nav\", \"nobr\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"picture\", \"pre\", \"progress\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"search\", \"section\", \"select\", \"shadow\", \"slot\", \"small\", \"source\", \"spacer\", \"span\", \"strike\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"template\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"tr\", \"track\", \"tt\", \"u\", \"ul\", \"var\", \"video\", \"wbr\"]), Ei = Ce([\"svg\", \"a\", \"altglyph\", \"altglyphdef\", \"altglyphitem\", \"animatecolor\", \"animatemotion\", \"animatetransform\", \"circle\", \"clippath\", \"defs\", \"desc\", \"ellipse\", \"enterkeyhint\", \"exportparts\", \"filter\", \"font\", \"g\", \"glyph\", \"glyphref\", \"hkern\", \"image\", \"inputmode\", \"line\", \"lineargradient\", \"marker\", \"mask\", \"metadata\", \"mpath\", \"part\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialgradient\", \"rect\", \"stop\", \"style\", \"switch\", \"symbol\", \"text\", \"textpath\", \"title\", \"tref\", \"tspan\", \"view\", \"vkern\"]), Ii = Ce([\"feBlend\", \"feColorMatrix\", \"feComponentTransfer\", \"feComposite\", \"feConvolveMatrix\", \"feDiffuseLighting\", \"feDisplacementMap\", \"feDistantLight\", \"feDropShadow\", \"feFlood\", \"feFuncA\", \"feFuncB\", \"feFuncG\", \"feFuncR\", \"feGaussianBlur\", \"feImage\", \"feMerge\", \"feMergeNode\", \"feMorphology\", \"feOffset\", \"fePointLight\", \"feSpecularLighting\", \"feSpotLight\", \"feTile\", \"feTurbulence\"]), am = Ce([\"animate\", \"color-profile\", \"cursor\", \"discard\", \"font-face\", \"font-face-format\", \"font-face-name\", \"font-face-src\", \"font-face-uri\", \"foreignobject\", \"hatch\", \"hatchpath\", \"mesh\", \"meshgradient\", \"meshpatch\", \"meshrow\", \"missing-glyph\", \"script\", \"set\", \"solidcolor\", \"unknown\", \"use\"]), Mi = Ce([\"math\", \"menclose\", \"merror\", \"mfenced\", \"mfrac\", \"mglyph\", \"mi\", \"mlabeledtr\", \"mmultiscripts\", \"mn\", \"mo\", \"mover\", \"mpadded\", \"mphantom\", \"mroot\", \"mrow\", \"ms\", \"mspace\", \"msqrt\", \"mstyle\", \"msub\", \"msup\", \"msubsup\", \"mtable\", \"mtd\", \"mtext\", \"mtr\", \"munder\", \"munderover\", \"mprescripts\"]), sm = Ce([\"maction\", \"maligngroup\", \"malignmark\", \"mlongdiv\", \"mscarries\", \"mscarry\", \"msgroup\", \"mstack\", \"msline\", \"msrow\", \"semantics\", \"annotation\", \"annotation-xml\", \"mprescripts\", \"none\"]), ms = Ce([\"#text\"]), gs = Ce([\"accept\", \"action\", \"align\", \"alt\", \"autocapitalize\", \"autocomplete\", \"autopictureinpicture\", \"autoplay\", \"background\", \"bgcolor\", \"border\", \"capture\", \"cellpadding\", \"cellspacing\", \"checked\", \"cite\", \"class\", \"clear\", \"color\", \"cols\", \"colspan\", \"command\", \"commandfor\", \"controls\", \"controlslist\", \"coords\", \"crossorigin\", \"datetime\", \"decoding\", \"default\", \"dir\", \"disabled\", \"disablepictureinpicture\", \"disableremoteplayback\", \"download\", \"draggable\", \"enctype\", \"enterkeyhint\", \"exportparts\", \"face\", \"for\", \"headers\", \"height\", \"hidden\", \"high\", \"href\", \"hreflang\", \"id\", \"inert\", \"inputmode\", \"integrity\", \"ismap\", \"kind\", \"label\", \"lang\", \"list\", \"loading\", \"loop\", \"low\", \"max\", \"maxlength\", \"media\", \"method\", \"min\", \"minlength\", \"multiple\", \"muted\", \"name\", \"nonce\", \"noshade\", \"novalidate\", \"nowrap\", \"open\", \"optimum\", \"part\", \"pattern\", \"placeholder\", \"playsinline\", \"popover\", \"popovertarget\", \"popovertargetaction\", \"poster\", \"preload\", \"pubdate\", \"radiogroup\", \"readonly\", \"rel\", \"required\", \"rev\", \"reversed\", \"role\", \"rows\", \"rowspan\", \"spellcheck\", \"scope\", \"selected\", \"shape\", \"size\", \"sizes\", \"slot\", \"span\", \"srclang\", \"start\", \"src\", \"srcset\", \"step\", \"style\", \"summary\", \"tabindex\", \"title\", \"translate\", \"type\", \"usemap\", \"valign\", \"value\", \"width\", \"wrap\", \"xmlns\"]), Pi = Ce([\"accent-height\", \"accumulate\", \"additive\", \"alignment-baseline\", \"amplitude\", \"ascent\", \"attributename\", \"attributetype\", \"azimuth\", \"basefrequency\", \"baseline-shift\", \"begin\", \"bias\", \"by\", \"class\", \"clip\", \"clippathunits\", \"clip-path\", \"clip-rule\", \"color\", \"color-interpolation\", \"color-interpolation-filters\", \"color-profile\", \"color-rendering\", \"cx\", \"cy\", \"d\", \"dx\", \"dy\", \"diffuseconstant\", \"direction\", \"display\", \"divisor\", \"dur\", \"edgemode\", \"elevation\", \"end\", \"exponent\", \"fill\", \"fill-opacity\", \"fill-rule\", \"filter\", \"filterunits\", \"flood-color\", \"flood-opacity\", \"font-family\", \"font-size\", \"font-size-adjust\", \"font-stretch\", \"font-style\", \"font-variant\", \"font-weight\", \"fx\", \"fy\", \"g1\", \"g2\", \"glyph-name\", \"glyphref\", \"gradientunits\", \"gradienttransform\", \"height\", \"href\", \"id\", \"image-rendering\", \"in\", \"in2\", \"intercept\", \"k\", \"k1\", \"k2\", \"k3\", \"k4\", \"kerning\", \"keypoints\", \"keysplines\", \"keytimes\", \"lang\", \"lengthadjust\", \"letter-spacing\", \"kernelmatrix\", \"kernelunitlength\", \"lighting-color\", \"local\", \"marker-end\", \"marker-mid\", \"marker-start\", \"markerheight\", \"markerunits\", \"markerwidth\", \"maskcontentunits\", \"maskunits\", \"max\", \"mask\", \"mask-type\", \"media\", \"method\", \"mode\", \"min\", \"name\", \"numoctaves\", \"offset\", \"operator\", \"opacity\", \"order\", \"orient\", \"orientation\", \"origin\", \"overflow\", \"paint-order\", \"path\", \"pathlength\", \"patterncontentunits\", \"patterntransform\", \"patternunits\", \"points\", \"preservealpha\", \"preserveaspectratio\", \"primitiveunits\", \"r\", \"rx\", \"ry\", \"radius\", \"refx\", \"refy\", \"repeatcount\", \"repeatdur\", \"restart\", \"result\", \"rotate\", \"scale\", \"seed\", \"shape-rendering\", \"slope\", \"specularconstant\", \"specularexponent\", \"spreadmethod\", \"startoffset\", \"stddeviation\", \"stitchtiles\", \"stop-color\", \"stop-opacity\", \"stroke-dasharray\", \"stroke-dashoffset\", \"stroke-linecap\", \"stroke-linejoin\", \"stroke-miterlimit\", \"stroke-opacity\", \"stroke\", \"stroke-width\", \"style\", \"surfacescale\", \"systemlanguage\", \"tabindex\", \"tablevalues\", \"targetx\", \"targety\", \"transform\", \"transform-origin\", \"text-anchor\", \"text-decoration\", \"text-rendering\", \"textlength\", \"type\", \"u1\", \"u2\", \"unicode\", \"values\", \"viewbox\", \"visibility\", \"version\", \"vert-adv-y\", \"vert-origin-x\", \"vert-origin-y\", \"width\", \"word-spacing\", \"wrap\", \"writing-mode\", \"xchannelselector\", \"ychannelselector\", \"x\", \"x1\", \"x2\", \"xmlns\", \"y\", \"y1\", \"y2\", \"z\", \"zoomandpan\"]), xs = Ce([\"accent\", \"accentunder\", \"align\", \"bevelled\", \"close\", \"columnalign\", \"columnlines\", \"columnspacing\", \"columnspan\", \"denomalign\", \"depth\", \"dir\", \"display\", \"displaystyle\", \"encoding\", \"fence\", \"frame\", \"height\", \"href\", \"id\", \"largeop\", \"length\", \"linethickness\", \"lquote\", \"lspace\", \"mathbackground\", \"mathcolor\", \"mathsize\", \"mathvariant\", \"maxsize\", \"minsize\", \"movablelimits\", \"notation\", \"numalign\", \"open\", \"rowalign\", \"rowlines\", \"rowspacing\", \"rowspan\", \"rspace\", \"rquote\", \"scriptlevel\", \"scriptminsize\", \"scriptsizemultiplier\", \"selection\", \"separator\", \"separators\", \"stretchy\", \"subscriptshift\", \"supscriptshift\", \"symmetric\", \"voffset\", \"width\", \"xmlns\"]), Tr = Ce([\"xlink:href\", \"xml:id\", \"xlink:title\", \"xml:space\", \"xmlns:xlink\"]), lm = Ae(/{{[\\w\\W]*|^[\\w\\W]*}}/g), cm = Ae(/<%[\\w\\W]*|^[\\w\\W]*%>/g), um = Ae(/\\${[\\w\\W]*/g), dm = Ae(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/), hm = Ae(/^aria-[\\-\\w]+$/), bs = Ae(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i\n // eslint-disable-line no-useless-escape\n), fm = Ae(/^(?:\\w+script|data):/i), pm = Ae(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g\n // eslint-disable-line no-control-regex\n), mm = Ae(/^html$/i), gm = Ae(/^[a-z][.\\w]*(-[.\\w]+)+$/i), vs = Ae(/<[/\\w!]/g), xm = Ae(/<[/\\w]/g), bm = Ae(/<\\/no(script|embed|frames)/i), vm = Ae(/\\/>/i), dt = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n processingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12\n // Deprecated\n}, ym = function() {\n return typeof window > \"u\" ? null : window;\n}, wm = function(e, n) {\n if (typeof e != \"object\" || typeof e.createPolicy != \"function\")\n return null;\n let r = null;\n const i = \"data-tt-policy-suffix\";\n n && n.hasAttribute(i) && (r = n.getAttribute(i));\n const o = \"dompurify\" + (r ? \"#\" + r : \"\");\n try {\n return e.createPolicy(o, {\n createHTML(a) {\n return a;\n },\n createScriptURL(a) {\n return a;\n }\n });\n } catch {\n return console.warn(\"TrustedTypes policy \" + o + \" could not be created.\"), null;\n }\n}, ys = function() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n}, Mt = function(e, n, r, i) {\n return je(e, n) && Ot(e[n]) ? Q(i.base ? $e(i.base) : {}, e[n], i.transform) : r;\n};\nfunction hc() {\n let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ym();\n const e = (S) => hc(S);\n if (e.version = \"3.4.11\", e.removed = [], !t || !t.document || t.document.nodeType !== dt.document || !t.Element)\n return e.isSupported = !1, e;\n let n = t.document;\n const r = n, i = r.currentScript;\n t.DocumentFragment;\n const o = t.HTMLTemplateElement, a = t.Node, l = t.Element, c = t.NodeFilter, u = t.NamedNodeMap;\n u === void 0 && (t.NamedNodeMap || t.MozNamedAttrMap), t.HTMLFormElement;\n const d = t.DOMParser, m = t.trustedTypes, h = l.prototype, p = ft(h, \"cloneNode\"), x = ft(h, \"remove\"), w = ft(h, \"nextSibling\"), b = ft(h, \"childNodes\"), v = ft(h, \"parentNode\"), k = ft(h, \"shadowRoot\"), A = ft(h, \"attributes\"), P = a && a.prototype ? ft(a.prototype, \"nodeType\") : null, M = a && a.prototype ? ft(a.prototype, \"nodeName\") : null;\n if (typeof o == \"function\") {\n const S = n.createElement(\"template\");\n S.content && S.content.ownerDocument && (n = S.content.ownerDocument);\n }\n let T, $ = \"\", R, ae = !1, V = 0;\n const y = function() {\n if (V > 0)\n throw Wt('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the \"DOMPurify and Trusted Types\" section of the README.');\n }, se = function(f) {\n y(), V++;\n try {\n return T.createHTML(f);\n } finally {\n V--;\n }\n }, C = function(f) {\n y(), V++;\n try {\n return T.createScriptURL(f);\n } finally {\n V--;\n }\n }, D = function() {\n return ae || (R = wm(m, i), ae = !0), R;\n }, me = n, q = me.implementation, Ne = me.createNodeIterator, at = me.createDocumentFragment, vt = me.getElementsByTagName, Ft = r.importNode;\n let te = ys();\n e.isSupported = typeof uc == \"function\" && typeof v == \"function\" && q && q.createHTMLDocument !== void 0;\n const Be = lm, At = cm, ce = um, z = dm, Ee = hm, Ut = fm, we = pm, Ge = gm;\n let Se = bs, ee = null;\n const Bt = Q({}, [...ps, ...Ei, ...Ii, ...Mi, ...ms]);\n let _ = null;\n const U = Q({}, [...gs, ...Pi, ...xs, ...Tr]);\n let W = Object.seal(mn(null, {\n tagNameCheck: {\n writable: !0,\n configurable: !1,\n enumerable: !0,\n value: null\n },\n attributeNameCheck: {\n writable: !0,\n configurable: !1,\n enumerable: !0,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: !0,\n configurable: !1,\n enumerable: !0,\n value: !1\n }\n })), ue = null, st = null;\n const Le = Object.seal(mn(null, {\n tagCheck: {\n writable: !0,\n configurable: !1,\n enumerable: !0,\n value: null\n },\n attributeCheck: {\n writable: !0,\n configurable: !1,\n enumerable: !0,\n value: null\n }\n }));\n let Ve = !0, nn = !0, fr = !1, pr = !0, lt = !1, Vt = !0, yt = !1, Rn = !1, En = null, In = null, rn = !1, Rt = !1, on = !1, an = !1, K = !0, B = !1;\n const fe = \"user-content-\";\n let et = !0, ge = !1, qe = {}, Ke = null;\n const Mn = Q({}, [\n \"annotation-xml\",\n \"audio\",\n \"colgroup\",\n \"desc\",\n \"foreignobject\",\n \"head\",\n \"iframe\",\n \"math\",\n \"mi\",\n \"mn\",\n \"mo\",\n \"ms\",\n \"mtext\",\n \"noembed\",\n \"noframes\",\n \"noscript\",\n \"plaintext\",\n \"script\",\n // <selectedcontent> mirrors the selected <option>'s subtree, cloned by\n // the UA (customizable <select>) — including any on* handlers — and the\n // engine re-mirrors synchronously whenever a removal changes which\n // option/selectedcontent is current, even inside DOMPurify's inert\n // DOMParser document. Hoisting its children on removal re-inserts a fresh\n // mirror target ahead of the walk, which the engine refills, looping\n // forever (DoS) and amplifying output. Dropping its content on removal\n // (rather than hoisting) breaks that cascade; the content is a duplicate\n // of the option, which is sanitized on its own. See campaign-3 F1/F6.\n \"selectedcontent\",\n \"style\",\n \"svg\",\n \"template\",\n \"thead\",\n \"title\",\n \"video\",\n \"xmp\"\n ]);\n let zo = null;\n const Fo = Q({}, [\"audio\", \"video\", \"img\", \"source\", \"image\", \"track\"]);\n let ci = null;\n const Uo = Q({}, [\"alt\", \"class\", \"for\", \"id\", \"label\", \"name\", \"pattern\", \"placeholder\", \"role\", \"summary\", \"title\", \"value\", \"style\", \"xmlns\"]), mr = \"http://www.w3.org/1998/Math/MathML\", gr = \"http://www.w3.org/2000/svg\", ct = \"http://www.w3.org/1999/xhtml\";\n let sn = ct, ui = !1, di = null;\n const Ic = Q({}, [mr, gr, ct], Ri), Bo = Ce([\"mi\", \"mo\", \"mn\", \"ms\", \"mtext\"]);\n let hi = Q({}, Bo);\n const Vo = Ce([\"annotation-xml\"]);\n let fi = Q({}, Vo);\n const Mc = Q({}, [\"title\", \"style\", \"font\", \"a\", \"script\"]);\n let Pn = null;\n const Pc = [\"application/xhtml+xml\", \"text/html\"], Nc = \"text/html\";\n let pe = null, ln = null;\n const Lc = n.createElement(\"form\"), Ho = function(f) {\n return f instanceof RegExp || f instanceof Function;\n }, pi = function() {\n let f = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n if (ln && ln === f)\n return;\n (!f || typeof f != \"object\") && (f = {}), f = $e(f), Pn = // eslint-disable-next-line unicorn/prefer-includes\n Pc.indexOf(f.PARSER_MEDIA_TYPE) === -1 ? Nc : f.PARSER_MEDIA_TYPE, pe = Pn === \"application/xhtml+xml\" ? Ri : Vn, ee = Mt(f, \"ALLOWED_TAGS\", Bt, {\n transform: pe\n }), _ = Mt(f, \"ALLOWED_ATTR\", U, {\n transform: pe\n }), di = Mt(f, \"ALLOWED_NAMESPACES\", Ic, {\n transform: Ri\n }), ci = Mt(f, \"ADD_URI_SAFE_ATTR\", Uo, {\n transform: pe,\n base: Uo\n }), zo = Mt(f, \"ADD_DATA_URI_TAGS\", Fo, {\n transform: pe,\n base: Fo\n }), Ke = Mt(f, \"FORBID_CONTENTS\", Mn, {\n transform: pe\n }), ue = Mt(f, \"FORBID_TAGS\", $e({}), {\n transform: pe\n }), st = Mt(f, \"FORBID_ATTR\", $e({}), {\n transform: pe\n }), qe = je(f, \"USE_PROFILES\") ? f.USE_PROFILES && typeof f.USE_PROFILES == \"object\" ? $e(f.USE_PROFILES) : f.USE_PROFILES : !1, Ve = f.ALLOW_ARIA_ATTR !== !1, nn = f.ALLOW_DATA_ATTR !== !1, fr = f.ALLOW_UNKNOWN_PROTOCOLS || !1, pr = f.ALLOW_SELF_CLOSE_IN_ATTR !== !1, lt = f.SAFE_FOR_TEMPLATES || !1, Vt = f.SAFE_FOR_XML !== !1, yt = f.WHOLE_DOCUMENT || !1, Rt = f.RETURN_DOM || !1, on = f.RETURN_DOM_FRAGMENT || !1, an = f.RETURN_TRUSTED_TYPE || !1, rn = f.FORCE_BODY || !1, K = f.SANITIZE_DOM !== !1, B = f.SANITIZE_NAMED_PROPS || !1, et = f.KEEP_CONTENT !== !1, ge = f.IN_PLACE || !1, Se = om(f.ALLOWED_URI_REGEXP) ? f.ALLOWED_URI_REGEXP : bs, sn = typeof f.NAMESPACE == \"string\" ? f.NAMESPACE : ct, hi = je(f, \"MATHML_TEXT_INTEGRATION_POINTS\") && f.MATHML_TEXT_INTEGRATION_POINTS && typeof f.MATHML_TEXT_INTEGRATION_POINTS == \"object\" ? $e(f.MATHML_TEXT_INTEGRATION_POINTS) : Q({}, Bo), fi = je(f, \"HTML_INTEGRATION_POINTS\") && f.HTML_INTEGRATION_POINTS && typeof f.HTML_INTEGRATION_POINTS == \"object\" ? $e(f.HTML_INTEGRATION_POINTS) : Q({}, Vo);\n const g = je(f, \"CUSTOM_ELEMENT_HANDLING\") && f.CUSTOM_ELEMENT_HANDLING && typeof f.CUSTOM_ELEMENT_HANDLING == \"object\" ? $e(f.CUSTOM_ELEMENT_HANDLING) : mn(null);\n if (W = mn(null), je(g, \"tagNameCheck\") && Ho(g.tagNameCheck) && (W.tagNameCheck = g.tagNameCheck), je(g, \"attributeNameCheck\") && Ho(g.attributeNameCheck) && (W.attributeNameCheck = g.attributeNameCheck), je(g, \"allowCustomizedBuiltInElements\") && typeof g.allowCustomizedBuiltInElements == \"boolean\" && (W.allowCustomizedBuiltInElements = g.allowCustomizedBuiltInElements), Ae(W), lt && (nn = !1), on && (Rt = !0), qe && (ee = Q({}, ms), _ = mn(null), qe.html === !0 && (Q(ee, ps), Q(_, gs)), qe.svg === !0 && (Q(ee, Ei), Q(_, Pi), Q(_, Tr)), qe.svgFilters === !0 && (Q(ee, Ii), Q(_, Pi), Q(_, Tr)), qe.mathMl === !0 && (Q(ee, Mi), Q(_, xs), Q(_, Tr))), Le.tagCheck = null, Le.attributeCheck = null, je(f, \"ADD_TAGS\") && (typeof f.ADD_TAGS == \"function\" ? Le.tagCheck = f.ADD_TAGS : Ot(f.ADD_TAGS) && (ee === Bt && (ee = $e(ee)), Q(ee, f.ADD_TAGS, pe))), je(f, \"ADD_ATTR\") && (typeof f.ADD_ATTR == \"function\" ? Le.attributeCheck = f.ADD_ATTR : Ot(f.ADD_ATTR) && (_ === U && (_ = $e(_)), Q(_, f.ADD_ATTR, pe))), je(f, \"ADD_URI_SAFE_ATTR\") && Ot(f.ADD_URI_SAFE_ATTR) && Q(ci, f.ADD_URI_SAFE_ATTR, pe), je(f, \"FORBID_CONTENTS\") && Ot(f.FORBID_CONTENTS) && (Ke === Mn && (Ke = $e(Ke)), Q(Ke, f.FORBID_CONTENTS, pe)), je(f, \"ADD_FORBID_CONTENTS\") && Ot(f.ADD_FORBID_CONTENTS) && (Ke === Mn && (Ke = $e(Ke)), Q(Ke, f.ADD_FORBID_CONTENTS, pe)), et && (ee[\"#text\"] = !0), yt && Q(ee, [\"html\", \"head\", \"body\"]), ee.table && (Q(ee, [\"tbody\"]), delete ue.tbody), f.TRUSTED_TYPES_POLICY) {\n if (typeof f.TRUSTED_TYPES_POLICY.createHTML != \"function\")\n throw Wt('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n if (typeof f.TRUSTED_TYPES_POLICY.createScriptURL != \"function\")\n throw Wt('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n const j = T;\n T = f.TRUSTED_TYPES_POLICY;\n try {\n $ = se(\"\");\n } catch (E) {\n throw T = j, E;\n }\n } else f.TRUSTED_TYPES_POLICY === null ? (T = void 0, $ = \"\") : (T === void 0 && (T = D()), T && typeof $ == \"string\" && ($ = se(\"\")));\n Ce && Ce(f), ln = f;\n }, Wo = Q({}, [...Ei, ...Ii, ...am]), Qo = Q({}, [...Mi, ...sm]), Oc = function(f, g, j) {\n return g.namespaceURI === ct ? f === \"svg\" : g.namespaceURI === mr ? f === \"svg\" && (j === \"annotation-xml\" || hi[j]) : !!Wo[f];\n }, $c = function(f, g, j) {\n return g.namespaceURI === ct ? f === \"math\" : g.namespaceURI === gr ? f === \"math\" && fi[j] : !!Qo[f];\n }, Dc = function(f, g, j) {\n return g.namespaceURI === gr && !fi[j] || g.namespaceURI === mr && !hi[j] ? !1 : !Qo[f] && (Mc[f] || !Wo[f]);\n }, qc = function(f) {\n let g = v(f);\n (!g || !g.tagName) && (g = {\n namespaceURI: sn,\n tagName: \"template\"\n });\n const j = Vn(f.tagName), E = Vn(g.tagName);\n return di[f.namespaceURI] ? f.namespaceURI === gr ? Oc(j, g, E) : f.namespaceURI === mr ? $c(j, g, E) : f.namespaceURI === ct ? Dc(j, g, E) : !!(Pn === \"application/xhtml+xml\" && di[f.namespaceURI]) : !1;\n }, Et = function(f) {\n hn(e.removed, {\n element: f\n });\n try {\n v(f).removeChild(f);\n } catch {\n if (x(f), !v(f))\n throw Wt(\"a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place\");\n }\n }, Go = function(f) {\n const g = b(f);\n if (g) {\n const E = [];\n On(g, (F) => {\n hn(E, F);\n }), On(E, (F) => {\n try {\n x(F);\n } catch {\n }\n });\n }\n const j = A(f);\n if (j)\n for (let E = j.length - 1; E >= 0; --E) {\n const F = j[E], Y = F && F.name;\n if (typeof Y == \"string\")\n try {\n f.removeAttribute(Y);\n } catch {\n }\n }\n }, Ht = function(f, g) {\n try {\n hn(e.removed, {\n attribute: g.getAttributeNode(f),\n from: g\n });\n } catch {\n hn(e.removed, {\n attribute: null,\n from: g\n });\n }\n if (g.removeAttribute(f), f === \"is\")\n if (Rt || on)\n try {\n Et(g);\n } catch {\n }\n else\n try {\n g.setAttribute(f, \"\");\n } catch {\n }\n }, zc = function(f) {\n const g = A(f);\n if (g)\n for (let j = g.length - 1; j >= 0; --j) {\n const E = g[j], F = E && E.name;\n if (!(typeof F != \"string\" || _[pe(F)]))\n try {\n f.removeAttribute(F);\n } catch {\n }\n }\n }, Fc = function(f) {\n const g = [f];\n for (; g.length > 0; ) {\n const j = g.pop();\n (P ? P(j) : j.nodeType) === dt.element && zc(j);\n const F = b(j);\n if (F)\n for (let Y = F.length - 1; Y >= 0; --Y)\n g.push(F[Y]);\n }\n }, Ko = function(f) {\n let g = null, j = null;\n if (rn)\n f = \"<remove></remove>\" + f;\n else {\n const Y = us(f, /^[\\r\\n\\t ]+/);\n j = Y && Y[0];\n }\n Pn === \"application/xhtml+xml\" && sn === ct && (f = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + f + \"</body></html>\");\n const E = T ? se(f) : f;\n if (sn === ct)\n try {\n g = new d().parseFromString(E, Pn);\n } catch {\n }\n if (!g || !g.documentElement) {\n g = q.createDocument(sn, \"template\", null);\n try {\n g.documentElement.innerHTML = ui ? $ : E;\n } catch {\n }\n }\n const F = g.body || g.documentElement;\n return f && j && F.insertBefore(n.createTextNode(j), F.childNodes[0] || null), sn === ct ? vt.call(g, yt ? \"html\" : \"body\")[0] : yt ? g.documentElement : F;\n }, Yo = function(f) {\n return Ne.call(\n f.ownerDocument || f,\n f,\n // eslint-disable-next-line no-bitwise\n c.SHOW_ELEMENT | c.SHOW_COMMENT | c.SHOW_TEXT | c.SHOW_PROCESSING_INSTRUCTION | c.SHOW_CDATA_SECTION,\n null\n );\n }, xr = function(f) {\n return f = $n(f, Be, \" \"), f = $n(f, At, \" \"), f = $n(f, ce, \" \"), f;\n }, mi = function(f) {\n var g;\n f.normalize();\n const j = Ne.call(\n f.ownerDocument || f,\n f,\n // eslint-disable-next-line no-bitwise\n c.SHOW_TEXT | c.SHOW_COMMENT | c.SHOW_CDATA_SECTION | c.SHOW_PROCESSING_INSTRUCTION,\n null\n );\n let E = j.nextNode();\n for (; E; )\n E.data = xr(E.data), E = j.nextNode();\n const F = (g = f.querySelectorAll) === null || g === void 0 ? void 0 : g.call(f, \"template\");\n F && On(F, (Y) => {\n cn(Y.content) && mi(Y.content);\n });\n }, br = function(f) {\n const g = M ? M(f) : null;\n return typeof g != \"string\" || pe(g) !== \"form\" ? !1 : typeof f.nodeName != \"string\" || typeof f.textContent != \"string\" || typeof f.removeChild != \"function\" || // Realm-safe NamedNodeMap detection: equality against the cached\n // prototype getter. Clobbered .attributes (e.g. <input name=\"attributes\">)\n // makes the direct read diverge from the cached read; a clean form\n // (same-realm OR foreign-realm) has both reads pointing at the same\n // canonical NamedNodeMap.\n f.attributes !== A(f) || typeof f.removeAttribute != \"function\" || typeof f.setAttribute != \"function\" || typeof f.namespaceURI != \"string\" || typeof f.insertBefore != \"function\" || typeof f.hasChildNodes != \"function\" || // NodeType clobbering probe. Cached Node.prototype.nodeType getter\n // returns the integer 1 for any Element regardless of realm; direct\n // read on a clobbered form (e.g. <input name=\"nodeType\">) returns\n // the named child element. Cheap addition — nodeType is read from\n // an internal slot, no serialization cost — and removes a residual\n // clobbering surface used by several mXSS / PI / comment branches\n // in _sanitizeElements that compare currentNode.nodeType directly.\n f.nodeType !== P(f) || // HTMLFormElement has [LegacyOverrideBuiltIns]: a descendant named\n // \"childNodes\" shadows the prototype getter. Direct reads of\n // form.childNodes from a clobbered form return the named child\n // instead of the real NodeList, so any walk that reads it directly\n // skips the form's real children. Compare the direct read to the\n // cached Node.prototype getter — when the form's named-property\n // getter intercepts the read, the two values differ and we flag\n // the form. This catches every clobbering child type (input,\n // select, etc.) regardless of whether the named child happens to\n // carry a numeric .length, which a typeof-based probe would miss\n // (e.g. HTMLSelectElement.length is a defined unsigned-long).\n f.childNodes !== b(f);\n }, cn = function(f) {\n if (!P || typeof f != \"object\" || f === null)\n return !1;\n try {\n return P(f) === dt.documentFragment;\n } catch {\n return !1;\n }\n }, Nn = function(f) {\n if (!P || typeof f != \"object\" || f === null)\n return !1;\n try {\n return typeof P(f) == \"number\";\n } catch {\n return !1;\n }\n };\n function wt(S, f, g) {\n S.length !== 0 && On(S, (j) => {\n j.call(e, f, g, ln);\n });\n }\n const Uc = function(f, g) {\n return !!(Vt && f.hasChildNodes() && !Nn(f.firstElementChild) && Te(vs, f.textContent) && Te(vs, f.innerHTML) || Vt && f.namespaceURI === ct && g === \"style\" && Nn(f.firstElementChild) || f.nodeType === dt.processingInstruction || Vt && f.nodeType === dt.comment && Te(xm, f.data));\n }, Bc = function(f, g) {\n if (!ue[g] && Jo(g) && (W.tagNameCheck instanceof RegExp && Te(W.tagNameCheck, g) || W.tagNameCheck instanceof Function && W.tagNameCheck(g)))\n return !1;\n if (et && !Ke[g]) {\n const j = v(f), E = b(f);\n if (E && j) {\n const F = E.length;\n for (let Y = F - 1; Y >= 0; --Y) {\n const _e = ge ? E[Y] : p(E[Y], !0);\n j.insertBefore(_e, w(f));\n }\n }\n }\n return Et(f), !0;\n }, Xo = function(f) {\n if (wt(te.beforeSanitizeElements, f, null), br(f))\n return Et(f), !0;\n const g = pe(M ? M(f) : f.nodeName);\n if (wt(te.uponSanitizeElement, f, {\n tagName: g,\n allowedTags: ee\n }), Uc(f, g))\n return Et(f), !0;\n if (ue[g] || !(Le.tagCheck instanceof Function && Le.tagCheck(g)) && !ee[g])\n return Bc(f, g);\n if ((P ? P(f) : f.nodeType) === dt.element && !qc(f) || (g === \"noscript\" || g === \"noembed\" || g === \"noframes\") && Te(bm, f.innerHTML))\n return Et(f), !0;\n if (lt && f.nodeType === dt.text) {\n const E = xr(f.textContent);\n f.textContent !== E && (hn(e.removed, {\n element: f.cloneNode()\n }), f.textContent = E);\n }\n return wt(te.afterSanitizeElements, f, null), !1;\n }, Zo = function(f, g, j) {\n if (st[g] || K && (g === \"id\" || g === \"name\") && (j in n || j in Lc))\n return !1;\n const E = _[g] || Le.attributeCheck instanceof Function && Le.attributeCheck(g, f);\n if (!(nn && Te(z, g))) {\n if (!(Ve && Te(Ee, g))) {\n if (E) {\n if (!ci[g]) {\n if (!Te(Se, $n(j, we, \"\"))) {\n if (!((g === \"src\" || g === \"xlink:href\" || g === \"href\") && f !== \"script\" && ds(j, \"data:\") === 0 && zo[f])) {\n if (!(fr && !Te(Ut, $n(j, we, \"\")))) {\n if (j)\n return !1;\n }\n }\n }\n }\n } else if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n !(Jo(f) && (W.tagNameCheck instanceof RegExp && Te(W.tagNameCheck, f) || W.tagNameCheck instanceof Function && W.tagNameCheck(f)) && (W.attributeNameCheck instanceof RegExp && Te(W.attributeNameCheck, g) || W.attributeNameCheck instanceof Function && W.attributeNameCheck(g, f)) || // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n g === \"is\" && W.allowCustomizedBuiltInElements && (W.tagNameCheck instanceof RegExp && Te(W.tagNameCheck, j) || W.tagNameCheck instanceof Function && W.tagNameCheck(j)))\n ) return !1;\n }\n }\n return !0;\n }, Vc = Q({}, [\"annotation-xml\", \"color-profile\", \"font-face\", \"font-face-format\", \"font-face-name\", \"font-face-src\", \"font-face-uri\", \"missing-glyph\"]), Jo = function(f) {\n return !Vc[Vn(f)] && Te(Ge, f);\n }, Hc = function(f, g, j, E) {\n if (T && typeof m == \"object\" && typeof m.getAttributeType == \"function\" && !j)\n switch (m.getAttributeType(f, g)) {\n case \"TrustedHTML\":\n return se(E);\n case \"TrustedScriptURL\":\n return C(E);\n }\n return E;\n }, Wc = function(f, g, j, E) {\n try {\n j ? f.setAttributeNS(j, g, E) : f.setAttribute(g, E), br(f) ? Et(f) : cs(e.removed);\n } catch {\n Ht(g, f);\n }\n }, ea = function(f) {\n wt(te.beforeSanitizeAttributes, f, null);\n const g = f.attributes;\n if (!g || br(f))\n return;\n const j = {\n attrName: \"\",\n attrValue: \"\",\n keepAttr: !0,\n allowedAttributes: _,\n forceKeepAttr: void 0\n };\n let E = g.length;\n const F = pe(f.nodeName);\n for (; E--; ) {\n const Y = g[E], _e = Y.name, xe = Y.namespaceURI, Ye = Y.value, tt = pe(_e), xi = Ye;\n let Oe = _e === \"value\" ? xi : Jp(xi);\n if (j.attrName = tt, j.attrValue = Oe, j.keepAttr = !0, j.forceKeepAttr = void 0, wt(te.uponSanitizeAttribute, f, j), Oe = j.attrValue, B && (tt === \"id\" || tt === \"name\") && ds(Oe, fe) !== 0 && (Ht(_e, f), Oe = fe + Oe), Vt && Te(/((--!?|])>)|<\\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, Oe)) {\n Ht(_e, f);\n continue;\n }\n if (tt === \"attributename\" && us(Oe, \"href\")) {\n Ht(_e, f);\n continue;\n }\n if (!j.forceKeepAttr) {\n if (!j.keepAttr) {\n Ht(_e, f);\n continue;\n }\n if (!pr && Te(vm, Oe)) {\n Ht(_e, f);\n continue;\n }\n if (lt && (Oe = xr(Oe)), !Zo(F, tt, Oe)) {\n Ht(_e, f);\n continue;\n }\n Oe = Hc(F, tt, xe, Oe), Oe !== xi && Wc(f, _e, xe, Oe);\n }\n }\n wt(te.afterSanitizeAttributes, f, null);\n }, vr = function(f) {\n let g = null;\n const j = Yo(f);\n for (wt(te.beforeSanitizeShadowDOM, f, null); g = j.nextNode(); )\n if (wt(te.uponSanitizeShadowNode, g, null), Xo(g), ea(g), cn(g.content) && vr(g.content), (P ? P(g) : g.nodeType) === dt.element) {\n const F = k(g);\n cn(F) && (gi(F), vr(F));\n }\n wt(te.afterSanitizeShadowDOM, f, null);\n }, gi = function(f) {\n const g = [{\n node: f,\n shadow: null\n }];\n for (; g.length > 0; ) {\n const j = g.pop();\n if (j.shadow) {\n vr(j.shadow);\n continue;\n }\n const E = j.node, Y = (P ? P(E) : E.nodeType) === dt.element, _e = b(E);\n if (_e)\n for (let xe = _e.length - 1; xe >= 0; --xe)\n g.push({\n node: _e[xe],\n shadow: null\n });\n if (Y) {\n const xe = M ? M(E) : null;\n if (typeof xe == \"string\" && pe(xe) === \"template\") {\n const Ye = E.content;\n cn(Ye) && g.push({\n node: Ye,\n shadow: null\n });\n }\n }\n if (Y) {\n const xe = k(E);\n cn(xe) && g.push({\n node: null,\n shadow: xe\n }, {\n node: xe,\n shadow: null\n });\n }\n }\n };\n return e.sanitize = function(S) {\n let f = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, g = null, j = null, E = null, F = null;\n if (ui = !S, ui && (S = \"<!-->\"), typeof S != \"string\" && !Nn(S) && (S = im(S), typeof S != \"string\"))\n throw Wt(\"dirty is not a string, aborting\");\n if (!e.isSupported)\n return S;\n Rn ? (ee = En, _ = In) : pi(f), (te.uponSanitizeElement.length > 0 || te.uponSanitizeAttribute.length > 0) && (ee = $e(ee)), te.uponSanitizeAttribute.length > 0 && (_ = $e(_)), e.removed = [];\n const Y = ge && typeof S != \"string\" && Nn(S);\n if (Y) {\n const Ye = M ? M(S) : S.nodeName;\n if (typeof Ye == \"string\") {\n const tt = pe(Ye);\n if (!ee[tt] || ue[tt])\n throw Wt(\"root node is forbidden and cannot be sanitized in-place\");\n }\n if (br(S))\n throw Wt(\"root node is clobbered and cannot be sanitized in-place\");\n try {\n gi(S);\n } catch (tt) {\n throw Go(S), tt;\n }\n } else if (Nn(S))\n g = Ko(\"<!---->\"), j = g.ownerDocument.importNode(S, !0), j.nodeType === dt.element && j.nodeName === \"BODY\" || j.nodeName === \"HTML\" ? g = j : g.appendChild(j), gi(j);\n else {\n if (!Rt && !lt && !yt && // eslint-disable-next-line unicorn/prefer-includes\n S.indexOf(\"<\") === -1)\n return T && an ? se(S) : S;\n if (g = Ko(S), !g)\n return Rt ? null : an ? $ : \"\";\n }\n g && rn && Et(g.firstChild);\n const _e = Yo(Y ? S : g);\n try {\n for (; E = _e.nextNode(); )\n Xo(E), ea(E), cn(E.content) && vr(E.content);\n } catch (Ye) {\n throw Y && Go(S), Ye;\n }\n if (Y)\n return On(e.removed, (Ye) => {\n Ye.element && Fc(Ye.element);\n }), lt && mi(S), S;\n if (Rt) {\n if (lt && mi(g), on)\n for (F = at.call(g.ownerDocument); g.firstChild; )\n F.appendChild(g.firstChild);\n else\n F = g;\n return (_.shadowroot || _.shadowrootmode) && (F = Ft.call(r, F, !0)), F;\n }\n let xe = yt ? g.outerHTML : g.innerHTML;\n return yt && ee[\"!doctype\"] && g.ownerDocument && g.ownerDocument.doctype && g.ownerDocument.doctype.name && Te(mm, g.ownerDocument.doctype.name) && (xe = \"<!DOCTYPE \" + g.ownerDocument.doctype.name + `>\n` + xe), lt && (xe = xr(xe)), T && an ? se(xe) : xe;\n }, e.setConfig = function() {\n let S = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n pi(S), Rn = !0, En = ee, In = _;\n }, e.clearConfig = function() {\n ln = null, Rn = !1, En = null, In = null, T = R, $ = \"\";\n }, e.isValidAttribute = function(S, f, g) {\n ln || pi({});\n const j = pe(S), E = pe(f);\n return Zo(j, E, g);\n }, e.addHook = function(S, f) {\n typeof f == \"function\" && je(te, S) && hn(te[S], f);\n }, e.removeHook = function(S, f) {\n if (je(te, S)) {\n if (f !== void 0) {\n const g = Xp(te[S], f);\n return g === -1 ? void 0 : Zp(te[S], g, 1)[0];\n }\n return cs(te[S]);\n }\n }, e.removeHooks = function(S) {\n je(te, S) && (te[S] = []);\n }, e.removeAllHooks = function() {\n te = ys();\n }, e;\n}\nvar km = hc();\nfunction _m(t) {\n return t.trim().split(/\\n\\s*-{3,}\\s*\\n/).map((e) => {\n const [n = \"\", ...r] = e.trim().split(`\n`);\n return {\n title: n.replace(/^\\*+|\\*+$/g, \"\").trim(),\n body: r.join(`\n`).trim()\n };\n }).filter((e) => (e.title !== \"\" || e.body !== \"\") && !/^-{3,}$/.test(e.title));\n}\nfunction jm(t) {\n const e = _m(t);\n return e.length === 0 ? \"\" : `<div class=\"jex-card-grid\">${e.map((r) => {\n const i = r.title ? `<div class=\"jex-card-title\">${X.parseInline(r.title)}</div>` : \"\", o = r.body ? X.parse(r.body) : \"\";\n return `<div class=\"jex-card\">${i}${o}</div>`;\n }).join(\"\")}</div>`;\n}\nX.setOptions({\n breaks: !0,\n gfm: !0\n});\nfunction Cr(t) {\n return t.replace(/&/g, \"&\").replace(/\"/g, \""\").replace(/</g, \"<\").replace(/>/g, \">\");\n}\nX.use({\n renderer: {\n code(t) {\n return t.lang === \"cards\" && t.raw.trimEnd().endsWith(\"```\") ? jm(t.text) : !1;\n },\n /**\n * Documentation screenshots arrive at full width, so an unstyled <img>\n * overflows the bubble and gives the whole thread a horizontal scrollbar.\n * Sizing is CSS (`.jex-md img`); the wrapper is here because clicking a\n * shrunk screenshot has to be able to open the full-size original.\n *\n * Only http(s) sources are wrapped — a data: or blob: image has nothing\n * useful to open. The anchor picks up `target=\"_blank\"` and\n * `rel=\"noopener noreferrer\"` from the afterSanitizeAttributes hook below,\n * same as every other link in a reply.\n */\n image(t) {\n const e = t.href ?? \"\", n = `<img src=\"${Cr(e)}\" alt=\"${Cr(t.text ?? \"\")}\"` + (t.title ? ` title=\"${Cr(t.title)}\"` : \"\") + ' loading=\"lazy\" />';\n return /^https?:\\/\\//i.test(e) ? `<a href=\"${Cr(e)}\" class=\"jex-md-img-link\">${n}</a>` : n;\n }\n }\n});\nconst Yn = typeof window < \"u\" ? km : null;\nYn && typeof Yn.addHook == \"function\" && Yn.addHook(\"afterSanitizeAttributes\", (t) => {\n t.tagName === \"A\" && t.hasAttribute(\"href\") && (t.setAttribute(\"target\", \"_blank\"), t.setAttribute(\"rel\", \"noopener noreferrer\"));\n});\nfunction Sm(t) {\n return t.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n}\nfunction Tm(t) {\n if (!t)\n return \"\";\n if (!Yn)\n return Sm(t);\n const e = X.parse(t), n = typeof e == \"string\" ? e : \"\";\n return Yn.sanitize(n);\n}\nfunction Cm({ text: t }) {\n const e = ke(() => Tm(t), [t]);\n return /* @__PURE__ */ s(\"div\", { class: \"jex-md\", dangerouslySetInnerHTML: { __html: e } });\n}\nfunction fc({ onQuote: t }) {\n const e = I();\n return /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-quote-btn\",\n \"aria-label\": e.quoteMessage,\n title: e.quoteMessage,\n onClick: t,\n children: /* @__PURE__ */ s(Ao, { size: 12 })\n }\n );\n}\nfunction Am(t, e, n) {\n return t.role === \"user\" ? n : t.authorName ?? e ?? \"\";\n}\nfunction Rm({ authorLabel: t, content: e, onClick: n }) {\n return /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-quoted-chip\", onClick: n, children: [\n /* @__PURE__ */ s(Ao, { size: 11 }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-quoted-chip-text\", children: [\n t && /* @__PURE__ */ s(\"span\", { class: \"jex-quoted-chip-author\", children: [\n t,\n \": \"\n ] }),\n Vl(e)\n ] })\n ] });\n}\nfunction pc({ quotes: t, botName: e, yourMessageLabel: n, onQuotedClick: r }) {\n return t.length === 0 ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-quoted-list\", children: t.map((i) => /* @__PURE__ */ s(\n Rm,\n {\n authorLabel: Am(i, e, n),\n content: i.content,\n onClick: r ? (o) => {\n r(i.id, o);\n } : void 0\n },\n i.id\n )) });\n}\nfunction Em(t) {\n const e = t.trim().split(/\\s+/).filter(Boolean);\n return e.length === 0 ? \"?\" : e.map((n) => n[0]).join(\"\").slice(0, 2).toUpperCase();\n}\nfunction Qt({ text: t, streaming: e, error: n, authorId: r, authorName: i, authorImage: o, botAvatarUrl: a, botName: l, onQuote: c, id: u, quoted: d, onQuotedClick: m }) {\n const h = I(), p = !!r, [x, w] = O(!1), b = Z(() => w(!0), []), v = p ? i ?? \"\" : l ?? \"\", k = [\n \"jex-message bot\",\n n ? \"jex-message-error\" : \"\"\n ].filter(Boolean).join(\" \");\n return /* @__PURE__ */ s(\"div\", { class: \"jex-message-row bot\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-message-head\", children: [\n /* @__PURE__ */ s(\"div\", { class: `jex-avatar ${p ? \"jex-avatar-agent\" : \"jex-avatar-bot\"}`, children: p && o && !x ? /* @__PURE__ */ s(\"img\", { src: o, alt: i ?? \"\", class: \"jex-avatar-img\", onError: b }) : p ? /* @__PURE__ */ s(\"span\", { class: \"jex-avatar-initials\", children: Em(i ?? \"\") }) : a && !x ? /* @__PURE__ */ s(\"img\", { src: a, alt: \"\", class: \"jex-avatar-img\", onError: b }) : /* @__PURE__ */ s(ii, { size: 14 }) }),\n v && /* @__PURE__ */ s(\"span\", { class: \"jex-message-author\", children: v })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: k, id: u, children: [\n /* @__PURE__ */ s(\n pc,\n {\n quotes: d ?? [],\n botName: l,\n yourMessageLabel: h.quotedYourMessage,\n onQuotedClick: m\n }\n ),\n /* @__PURE__ */ s(Cm, { text: t }),\n e && /* @__PURE__ */ s(\"span\", { class: \"jex-streaming-cursor\" }),\n c && /* @__PURE__ */ s(fc, { onQuote: c })\n ] })\n ] });\n}\nfunction Im({ questions: t, disabled: e, onPick: n }) {\n return t.length === 0 ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-starter-chips\", children: t.map((r) => /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-starter-chip\",\n disabled: e,\n onClick: () => {\n n(r);\n },\n children: r\n },\n r\n )) });\n}\nfunction Mm(t, e) {\n const n = [\n ...new Set(\n e.flatMap((c) => c.split(/\\s+/)).filter((c) => c.length > 1)\n )\n ];\n if (n.length === 0)\n return [t];\n const r = n.map((c) => c.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")), i = new RegExp(`@(?:${r.join(\"|\")})\\\\b`, \"gi\"), o = [];\n let a = 0, l;\n for (; (l = i.exec(t)) !== null; )\n l.index > a && o.push(t.slice(a, l.index)), o.push(/* @__PURE__ */ s(\"span\", { class: \"jex-mention\", children: l[0] }, l.index)), a = l.index + l[0].length;\n return a < t.length && o.push(t.slice(a)), o;\n}\nfunction Pm({ text: t, id: e, onQuote: n, botName: r, quoted: i, onQuotedClick: o, agentNames: a }) {\n const l = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-message user\", id: e, children: [\n /* @__PURE__ */ s(\n pc,\n {\n quotes: i ?? [],\n botName: r,\n yourMessageLabel: l.quotedYourMessage,\n onQuotedClick: o\n }\n ),\n Mm(t, a ?? []),\n n && /* @__PURE__ */ s(fc, { onQuote: n })\n ] });\n}\nfunction mc() {\n return Ct(oe.escalations.public.submitEscalation);\n}\nfunction gc() {\n const t = Ct(oe.escalations.public.markEscalationWaiting);\n return (e) => {\n ir.value = e, t({ sessionId: e.sessionId, visitorId: e.visitorId }).catch((n) => {\n ne.error(\"[waiting] markEscalationWaiting failed:\", n);\n });\n };\n}\nfunction li() {\n const t = Ct(oe.analytics.formEvents.recordFormClick);\n return (e) => {\n t(e).catch((n) => {\n ne.warn(\"[useFormClick] click not recorded:\", n);\n });\n };\n}\nfunction Nm({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {\n const i = I();\n return t.formData ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: i.escalationSubmitted }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: [\n t.formData.visitorName,\n \" · \",\n t.formData.visitorEmail\n ] })\n ] })\n ] }) : /* @__PURE__ */ s(\"div\", { class: \"jex-message-row bot\", children: /* @__PURE__ */ s(\n Lm,\n {\n messageId: t._id,\n sessionId: e,\n visitorId: n,\n waitingSetAt: r\n }\n ) });\n}\nfunction Lm({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: r }) {\n const i = I(), [o, a] = O(\"\"), [l, c] = O(\"\"), [u, d] = O(!1), m = ur.value, h = /^https?:\\/\\//i.test(m) ? m : cr, p = mc(), x = gc(), w = li();\n async function b(v) {\n if (v.preventDefault(), !u) {\n d(!0);\n try {\n await p({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: o.trim(),\n visitorEmail: l.trim(),\n locale: Qe.value\n });\n } catch (k) {\n ne.error(\"[FormMessage] Submit failed:\", k), d(!1);\n }\n }\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: i.escalationFormTitle }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (v) => {\n b(v);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: i.escalationNameLabel,\n value: o,\n required: !0,\n disabled: u,\n onInput: (v) => {\n a(v.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: i.escalationEmailLabel,\n value: l,\n required: !0,\n disabled: u,\n onInput: (v) => {\n c(v.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-form-submit\",\n type: \"submit\",\n disabled: u,\n onClick: () => {\n w({ sessionId: e, visitorId: n, formMessageId: t });\n },\n children: u ? i.escalationSubmitting : i.escalationSubmit\n }\n )\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-escalation-skip\",\n onClick: () => {\n x({ formMessageId: t, sessionId: e, visitorId: n, waitingSetAt: r });\n },\n children: i.escalationSkip\n }\n ),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-consent\", children: [\n i.escalationConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: h, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: i.escalationPrivacyLinkText }),\n \".\"\n ] })\n ] });\n}\nfunction Om() {\n return Ct(oe.functions.magicline.public.submitForm);\n}\nfunction $m() {\n return Jt(oe.functions.magicline.actions.getTrialConfig);\n}\nfunction Dm() {\n return Jt(oe.functions.magicline.actions.listTrialSlots);\n}\nfunction qm() {\n return Jt(oe.functions.magicline.actions.getRateBundles);\n}\nfunction xc() {\n return Jt(oe.functions.magicline.actions.getContractPreview);\n}\nfunction zm() {\n return Jt(oe.functions.magicline.actions.submitContractCreation);\n}\nconst Do = { en: ko, de: Ll }, Fm = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\nfunction bc(t) {\n return Fm.test(t.trim());\n}\nfunction Um(t, e = /* @__PURE__ */ new Date()) {\n const n = t.trim();\n if (n === \"\")\n return null;\n const r = n.split(\"-\");\n if (r.length !== 3)\n return null;\n const i = Number(r[0]), o = Number(r[1]), a = Number(r[2]);\n if (!Number.isInteger(i) || !Number.isInteger(o) || !Number.isInteger(a) || o < 1 || o > 12 || a < 1 || a > 31)\n return null;\n let l = e.getFullYear() - i;\n const c = e.getMonth() + 1 - o;\n return (c < 0 || c === 0 && e.getDate() < a) && (l -= 1), l;\n}\nfunction vc(t = /* @__PURE__ */ new Date()) {\n const e = t.getFullYear(), n = String(t.getMonth() + 1).padStart(2, \"0\"), r = String(t.getDate()).padStart(2, \"0\");\n return `${e}-${n}-${r}`;\n}\nfunction yc() {\n const t = ur.value;\n return /^https?:\\/\\//i.test(t) ? t : cr;\n}\nconst Bm = {\n DE: 22,\n AT: 20,\n CH: 21,\n GB: 22,\n FR: 27,\n NL: 18,\n BE: 16,\n ES: 24,\n IT: 27,\n PL: 28,\n SE: 24,\n NO: 15,\n DK: 18,\n FI: 18,\n PT: 25\n}, Vm = 15, Hm = 34;\nfunction wc(t) {\n return t.replace(/\\s+/g, \"\").toUpperCase();\n}\nfunction Wm(t) {\n const e = wc(t), n = e.slice(0, 2), r = Bm[n];\n if (r !== void 0) {\n if (e.length !== r)\n return !1;\n } else if (e.length < Vm || e.length > Hm)\n return !1;\n const i = e.slice(4) + e.slice(0, 4);\n let o = \"\";\n for (const l of i) {\n const c = l.charCodeAt(0);\n if (c >= 65 && c <= 90)\n o += String(c - 55);\n else if (c >= 48 && c <= 57)\n o += l;\n else\n return !1;\n }\n let a = 0;\n for (let l = 0; l < o.length; l += 9) {\n const c = String(a) + o.slice(l, l + 9);\n a = Number(c) % 97;\n }\n return a === 1;\n}\nfunction Qm(t) {\n const e = wc(t);\n if (e.length <= 8)\n return e;\n const n = e.slice(0, 4), r = e.slice(-4);\n return (n + \"•\".repeat(e.length - 8) + r).replace(/(.{4})/g, \"$1 \").trim();\n}\nfunction it(t, e, n) {\n const r = n === \"de\" ? \"de-DE\" : \"en-GB\";\n try {\n return new Intl.NumberFormat(r, {\n style: \"currency\",\n currency: e\n }).format(t);\n } catch {\n return `${t.toFixed(2)} ${e}`;\n }\n}\nfunction Jr(t, e, n) {\n const r = t !== 1, o = {\n DAY: { en: [\"day\", \"days\"], de: [\"Tag\", \"Tage\"] },\n WEEK: { en: [\"week\", \"weeks\"], de: [\"Woche\", \"Wochen\"] },\n MONTH: { en: [\"month\", \"months\"], de: [\"Monat\", \"Monate\"] },\n YEAR: { en: [\"year\", \"years\"], de: [\"Jahr\", \"Jahre\"] }\n }[e.toUpperCase()];\n if (!o)\n return `${t} ${e.toLowerCase()}`;\n const [a, l] = o[n];\n return `${t} ${r ? l : a}`;\n}\nfunction Gm(t, e) {\n const n = t.trim();\n if (n === \"\")\n return \"—\";\n const r = e === \"de\" ? \"de-DE\" : \"en-GB\", i = new Date(n);\n return Number.isNaN(i.getTime()) ? t : i.toLocaleDateString(r, { day: \"2-digit\", month: \"long\", year: \"numeric\" });\n}\nfunction qo(t, e, n) {\n const r = Do[n], i = e.toUpperCase();\n if (t === 1)\n return {\n DAY: r.magiclineFreqPerDay,\n WEEK: r.magiclineFreqPerWeek,\n MONTH: r.magiclineFreqPerMonth,\n YEAR: r.magiclineFreqPerYear\n }[i] ?? e.toLowerCase();\n const a = {\n DAY: r.magiclineFreqEveryDays,\n WEEK: r.magiclineFreqEveryWeeks,\n MONTH: r.magiclineFreqEveryMonths,\n YEAR: r.magiclineFreqEveryYears\n }[i];\n return a === void 0 ? `${t} ${e.toLowerCase()}` : a.replace(\"{n}\", String(t));\n}\nfunction Km(t, e, n, r, i) {\n const o = Do[i], a = it(t, e, i);\n switch (n) {\n case \"TERM_BASED\":\n return `${a} ${o.magiclineModulePerTerm}`;\n case \"RECURRING\":\n return `${a} ${qo(1, r ?? \"MONTH\", i)}`;\n case \"NON_RECURRING\":\n return `${a} ${o.magiclineModuleOneTime}`;\n case \"MONTH_DAY\":\n return `${a} ${o.magiclineModuleOneTime}`;\n case \"FREE\":\n return o.magiclineModuleIncluded;\n default:\n return a;\n }\n}\nfunction Ym(t, e, n, r) {\n return e === \"PERCENTAGE\" ? `-${t}%` : `-${it(t, n, r)}`;\n}\nconst Xm = {\n startpaket: \"magiclineFeeStarterPackage\",\n \"starter package\": \"magiclineFeeStarterPackage\",\n trainerpauschale: \"magiclineFeeTrainerFee\"\n};\nfunction kc(t, e) {\n const n = t.trim().toLowerCase(), r = Xm[n];\n return r !== void 0 ? e[r] : t;\n}\nfunction Zm(t, e, n) {\n const r = Do[n];\n if (t === \"NONE\")\n return r.magiclineRenewalNone;\n if (t === \"TERM_EXTENSION\" && e !== null) {\n const i = Jr(e.value, e.unit, n);\n return r.magiclineRenewalTerm.replace(\"{n} {unit}\", i);\n }\n return \"\";\n}\nconst _c = [\"MALE\", \"FEMALE\", \"UNISEX\"], Jm = [\n { code: \"DE\", label: \"Germany / Deutschland\" },\n { code: \"AT\", label: \"Austria / Österreich\" },\n { code: \"CH\", label: \"Switzerland / Schweiz\" },\n { code: \"LI\", label: \"Liechtenstein\" },\n { code: \"LU\", label: \"Luxembourg / Luxemburg\" },\n { code: \"NL\", label: \"Netherlands / Niederlande\" },\n { code: \"BE\", label: \"Belgium / Belgien\" },\n { code: \"FR\", label: \"France / Frankreich\" },\n { code: \"IT\", label: \"Italy / Italien\" },\n { code: \"ES\", label: \"Spain / Spanien\" },\n { code: \"PL\", label: \"Poland / Polen\" },\n { code: \"CZ\", label: \"Czechia / Tschechien\" },\n { code: \"DK\", label: \"Denmark / Dänemark\" },\n { code: \"GB\", label: \"United Kingdom\" },\n { code: \"US\", label: \"United States\" }\n];\nfunction eg(t, e) {\n const n = [];\n return e && n.push(\"trainer\"), n.push(\"slot\"), n.push(\"personal\"), (t.address.visible || t.zip.visible) && n.push(\"address\"), n.push(\"confirm\"), n;\n}\nconst tg = {\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n phone: \"\",\n birthDate: \"\",\n gender: \"\",\n street: \"\",\n houseNumber: \"\",\n zip: \"\",\n city: \"\",\n country: \"\",\n note: \"\",\n slotId: \"\",\n consent: !1,\n trainerRequired: !0\n};\nfunction ng(t, e) {\n switch (e.type) {\n case \"set\":\n return { ...t, [e.key]: e.value };\n case \"setTrainer\":\n return { ...t, trainerRequired: e.trainerRequired, slotId: \"\" };\n case \"clearSlotIfAbsent\":\n return t.slotId !== \"\" && !e.available.includes(t.slotId) ? { ...t, slotId: \"\" } : t;\n default:\n return t;\n }\n}\nfunction rg({\n sessionId: t,\n visitorId: e\n}) {\n const n = $m(), r = Dm(), [i, o] = He(ng, tg), [a, l] = He(\n (v, k) => k,\n { phase: \"loading\" }\n ), [c, u] = He(\n (v, k) => k,\n { phase: \"loading\" }\n ), [d, m] = He((v) => v + 1, 0), h = Z((v, k) => {\n o({ type: \"set\", key: v, value: k });\n }, []), p = Z((v) => {\n o({ type: \"setTrainer\", trainerRequired: v }), m();\n }, []), x = Z(() => {\n m();\n }, []);\n N(() => {\n let v = !1;\n return (async () => {\n try {\n const k = await n({ sessionId: t, visitorId: e });\n if (v)\n return;\n k.status === \"ok\" ? l({\n phase: \"ready\",\n config: {\n plan: k.plan,\n minimumAge: k.minimumAge,\n bookingWithoutTrainerAllowed: k.bookingWithoutTrainerAllowed,\n studioZoneId: k.studioZoneId\n }\n }) : l({\n phase: \"error\",\n code: k.status,\n backendMessage: k.message\n });\n } catch {\n v || l({ phase: \"error\", code: \"unavailable\", backendMessage: \"\" });\n }\n })(), () => {\n v = !0;\n };\n }, [n, t, e]);\n const w = a.phase === \"ready\", { trainerRequired: b } = i;\n return N(() => {\n if (!w)\n return;\n let v = !1;\n return u({ phase: \"loading\" }), (async () => {\n try {\n const k = await r({ sessionId: t, visitorId: e, trainerRequired: b });\n if (v)\n return;\n k.status === \"ok\" ? k.slots.length > 0 ? (u({ phase: \"ready\", slots: k.slots }), o({\n type: \"clearSlotIfAbsent\",\n available: k.slots.map((A) => A.startDateTime)\n })) : u({ phase: \"empty\" }) : u({ phase: \"error\" });\n } catch {\n v || u({ phase: \"error\" });\n }\n })(), () => {\n v = !0;\n };\n }, [w, r, t, e, b, d]), {\n fields: i,\n setField: h,\n setTrainerRequired: p,\n configState: a,\n slotsState: c,\n refetchSlots: x\n };\n}\nfunction ig({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r = !1,\n retryPending: i = !1\n}) {\n const o = I(), a = Om(), { fields: l, setField: c, setTrainerRequired: u, configState: d, slotsState: m, refetchSlots: h } = rg({ sessionId: e, visitorId: n });\n return d.phase === \"loading\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: o.magiclineConfigLoading })\n ] }) : d.phase === \"error\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", children: hg(d.code, d.backendMessage, o) })\n ] }) : /* @__PURE__ */ s(\n og,\n {\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r,\n retryPending: i,\n config: d.config,\n fields: l,\n setField: c,\n setTrainerRequired: u,\n slotsState: m,\n refetchSlots: h,\n submitForm: a\n }\n );\n}\nfunction og({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r,\n retryPending: i,\n config: o,\n fields: a,\n setField: l,\n setTrainerRequired: c,\n slotsState: u,\n refetchSlots: d,\n submitForm: m\n}) {\n const h = I(), p = li(), { plan: x, minimumAge: w, bookingWithoutTrainerAllowed: b, studioZoneId: v } = o, k = ke(\n () => eg(x, b),\n [x, b]\n ), A = r ? Math.max(k.indexOf(\"slot\"), 0) : 0, [P, M] = O(A), [T, $] = O({}), [R, ae] = O(!1), [V, y] = O(null), se = ke(() => yc(), []), C = Math.min(P, k.length - 1), D = k[C] ?? \"slot\", me = C === k.length - 1, q = C === 0;\n function Ne(ce) {\n const z = {};\n if (ce === \"slot\")\n return a.slotId === \"\" && (z.slotId = h.magiclineSlotRequiredError), z;\n if (ce === \"personal\") {\n if (a.firstName.trim() === \"\" && (z.firstName = h.magiclineRequiredError), a.lastName.trim() === \"\" && (z.lastName = h.magiclineRequiredError), x.email.visible && x.email.required && a.email.trim() === \"\" && (z.email = h.magiclineRequiredError), a.email.trim() !== \"\" && !bc(a.email) && (z.email = h.magiclineEmailError), x.phone.visible && x.phone.required && a.phone.trim() === \"\" && (z.phone = h.magiclineRequiredError), x.gender.visible && x.gender.required && a.gender === \"\" && (z.gender = h.magiclineRequiredError), x.dateOfBirth.visible && (x.dateOfBirth.required && a.birthDate.trim() === \"\" && (z.birthDate = h.magiclineRequiredError), a.birthDate.trim() !== \"\")) {\n const Ee = Um(a.birthDate);\n Ee !== null && Ee < 0 ? z.birthDate = h.magiclineRequiredError : w > 0 && Ee !== null && Ee < w && (z.birthDate = h.magiclineMinAgeError.replace(\"{age}\", String(w)));\n }\n return z;\n }\n return ce === \"address\" ? (x.address.visible && x.address.required && (a.street.trim() === \"\" && (z.street = h.magiclineRequiredError), a.houseNumber.trim() === \"\" && (z.houseNumber = h.magiclineRequiredError), a.city.trim() === \"\" && (z.city = h.magiclineRequiredError), a.country === \"\" && (z.country = h.magiclineRequiredError)), x.zip.visible && x.zip.required && a.zip.trim() === \"\" && (z.zip = h.magiclineRequiredError), z) : (ce === \"confirm\" && (a.consent || (z.consent = h.magiclineConsentError)), z);\n }\n function at() {\n const ce = Ne(D);\n if (Object.keys(ce).length > 0) {\n $(ce);\n return;\n }\n $({}), M((z) => Math.min(z + 1, k.length - 1));\n }\n function vt() {\n $({}), y(null), M((ce) => Math.max(ce - 1, 0));\n }\n async function Ft() {\n if (R)\n return;\n const ce = Ne(\"confirm\");\n if (Object.keys(ce).length > 0) {\n $(ce);\n return;\n }\n $({}), y(null), ae(!0);\n try {\n const z = fg(x, a);\n await m({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n action: \"trialSessionBooking\",\n fields: z\n });\n } catch (z) {\n ne.error(\"[TrialSessionBookingForm] Submit failed:\", z), y(h.magiclineFailedDetail), ae(!1);\n }\n }\n function te() {\n p({ sessionId: e, visitorId: n, formMessageId: t }), me ? Ft() : at();\n }\n const Be = dg(D, h), At = `jex-ml-consent-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-header\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: h.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-progress\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-step-label\", children: Be }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-counter\", children: h.magiclineStepCounter.replace(\"{n}\", String(C + 1)).replace(\"{total}\", String(k.length)) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-dots\", \"aria-hidden\": \"true\", children: k.map((ce, z) => /* @__PURE__ */ s(\n \"span\",\n {\n class: z === C ? \"jex-magicline-wizard-dot jex-magicline-wizard-dot-active\" : \"jex-magicline-wizard-dot\"\n },\n ce\n )) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-form\", role: \"group\", \"aria-label\": Be, children: [\n D === \"trainer\" ? /* @__PURE__ */ s(\n ag,\n {\n formMessageId: t,\n trainerRequired: a.trainerRequired,\n disabled: R,\n onChange: c\n }\n ) : null,\n D === \"slot\" ? /* @__PURE__ */ s(\n sg,\n {\n slotsState: u,\n slotId: a.slotId,\n studioZoneId: v,\n disabled: R,\n retryPending: i,\n slotUnavailable: r,\n error: T.slotId,\n onSelect: (ce) => {\n l(\"slotId\", ce);\n },\n onRetry: d\n }\n ) : null,\n D === \"personal\" ? /* @__PURE__ */ s(\n lg,\n {\n plan: x,\n fields: a,\n errors: T,\n disabled: R,\n setField: l\n }\n ) : null,\n D === \"address\" ? /* @__PURE__ */ s(\n cg,\n {\n plan: x,\n fields: a,\n errors: T,\n disabled: R,\n setField: l\n }\n ) : null,\n D === \"confirm\" ? /* @__PURE__ */ s(\n ug,\n {\n consentId: At,\n privacyUrl: se,\n studioZoneId: v,\n fields: a,\n disabled: R,\n consentError: T.consent,\n setField: l\n }\n ) : null,\n V !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: V }) : null,\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-nav\", children: [\n q ? null : /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-wizard-back\",\n disabled: R,\n onClick: vt,\n children: h.magiclineWizardBack\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-form-submit jex-magicline-wizard-next\",\n disabled: R,\n onClick: te,\n children: me ? R ? h.magiclineSubmitting : h.magiclineSubmit : h.magiclineWizardNext\n }\n )\n ] })\n ] })\n ] });\n}\nfunction ag({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r }) {\n const i = I(), o = `jex-ml-trainer-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-radio-group\", role: \"radiogroup\", \"aria-label\": i.magiclineStepTrainer, children: [\n /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card jex-magicline-radio-card-active\" : \"jex-magicline-radio-card\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: o,\n checked: e,\n disabled: n,\n onChange: () => {\n r(!0);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: i.magiclineTrainerWith })\n ]\n }\n ),\n /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card\" : \"jex-magicline-radio-card jex-magicline-radio-card-active\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: o,\n checked: !e,\n disabled: n,\n onChange: () => {\n r(!1);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: i.magiclineTrainerWithout })\n ]\n }\n )\n ] });\n}\nfunction sg({\n slotsState: t,\n slotId: e,\n studioZoneId: n,\n disabled: r,\n retryPending: i,\n slotUnavailable: o,\n error: a,\n onSelect: l,\n onRetry: c\n}) {\n const u = I();\n return /* @__PURE__ */ s(J, { children: [\n o ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: u.magiclineSlotUnavailableNotice }) : null,\n i || t.phase === \"loading\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: u.magiclineLoadingSlots }) : t.phase === \"ready\" ? /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": u.magiclineSlotLabel,\n value: e,\n required: !0,\n disabled: r,\n \"aria-invalid\": a !== void 0,\n onChange: (d) => {\n l(d.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: !0, children: u.magiclineSlotPlaceholder }),\n t.slots.map((d) => /* @__PURE__ */ s(\"option\", { value: d.startDateTime, children: Sc(d.startDateTime, Qe.value, n) }, d.startDateTime))\n ]\n }\n ) : t.phase === \"error\" ? (\n // distinct error state with a Retry affordance.\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: u.magiclineSlotsError }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-retry\",\n disabled: r,\n onClick: c,\n children: u.magiclineRetry\n }\n )\n ] })\n ) : (\n // empty → healthy no-availability message (no retry, can't advance).\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: u.magiclineNoSlots })\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction lg({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {\n const o = I(), a = ke(() => vc(), []);\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n $t,\n {\n label: o.magiclineFirstName,\n value: e.firstName,\n required: !0,\n disabled: r,\n error: n.firstName,\n fieldKey: \"firstName\",\n onInput: (l) => {\n i(\"firstName\", l);\n }\n }\n ),\n /* @__PURE__ */ s(\n $t,\n {\n label: o.magiclineLastName,\n value: e.lastName,\n required: !0,\n disabled: r,\n error: n.lastName,\n fieldKey: \"lastName\",\n onInput: (l) => {\n i(\"lastName\", l);\n }\n }\n )\n ] }),\n t.email.visible ? /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclineEmail, t.email.required, o),\n type: \"email\",\n value: e.email,\n required: t.email.required,\n disabled: r,\n error: n.email,\n fieldKey: \"email\",\n onInput: (l) => {\n i(\"email\", l);\n }\n }\n ) : null,\n t.phone.visible ? /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclinePhone, t.phone.required, o),\n type: \"tel\",\n value: e.phone,\n required: t.phone.required,\n disabled: r,\n error: n.phone,\n fieldKey: \"phone\",\n onInput: (l) => {\n i(\"phone\", l);\n }\n }\n ) : null,\n t.dateOfBirth.visible ? /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: Ze(o.magiclineBirthDate, t.dateOfBirth.required, o) }),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"date\",\n \"aria-label\": Ze(o.magiclineBirthDate, t.dateOfBirth.required, o),\n value: e.birthDate,\n max: a,\n required: t.dateOfBirth.required,\n disabled: r,\n \"aria-invalid\": n.birthDate !== void 0,\n onInput: (l) => {\n i(\"birthDate\", l.currentTarget.value);\n }\n }\n ),\n n.birthDate !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: n.birthDate }) : null\n ] }) : null,\n t.gender.visible ? /* @__PURE__ */ s(\n jc,\n {\n label: Ze(o.magiclineGender, t.gender.required, o),\n value: e.gender,\n required: t.gender.required,\n disabled: r,\n placeholder: Ze(o.magiclineGenderPlaceholder, t.gender.required, o),\n error: n.gender,\n onChange: (l) => {\n i(\"gender\", l);\n },\n options: _c.map((l) => ({ value: l, label: pg(l, o) }))\n }\n ) : null\n ] });\n}\nfunction cg({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {\n const o = I();\n return /* @__PURE__ */ s(J, { children: [\n t.address.visible ? /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclineStreet, t.address.required, o),\n value: e.street,\n required: t.address.required,\n disabled: r,\n error: n.street,\n fieldKey: \"street\",\n onInput: (a) => {\n i(\"street\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclineHouseNumber, t.address.required, o),\n value: e.houseNumber,\n required: t.address.required,\n disabled: r,\n error: n.houseNumber,\n fieldKey: \"houseNumber\",\n onInput: (a) => {\n i(\"houseNumber\", a);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclineCity, t.address.required, o),\n value: e.city,\n required: t.address.required,\n disabled: r,\n error: n.city,\n fieldKey: \"city\",\n onInput: (a) => {\n i(\"city\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n jc,\n {\n label: Ze(o.magiclineCountry, t.address.required, o),\n value: e.country,\n required: t.address.required,\n disabled: r,\n placeholder: Ze(o.magiclineCountryPlaceholder, t.address.required, o),\n error: n.country,\n onChange: (a) => {\n i(\"country\", a);\n },\n options: Jm.map((a) => ({ value: a.code, label: a.label }))\n }\n )\n ] }) : null,\n t.zip.visible ? /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclineZip, t.zip.required, o),\n value: e.zip,\n required: t.zip.required,\n disabled: r,\n error: n.zip,\n fieldKey: \"zip\",\n onInput: (a) => {\n i(\"zip\", a);\n }\n }\n ) : null\n ] });\n}\nfunction ug({\n consentId: t,\n privacyUrl: e,\n studioZoneId: n,\n fields: r,\n disabled: i,\n consentError: o,\n setField: a\n}) {\n const l = I(), c = r.slotId !== \"\" ? Sc(r.slotId, Qe.value, n) : \"—\", u = `${r.firstName} ${r.lastName}`.trim();\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummaryTrainer }),\n /* @__PURE__ */ s(\"dd\", { children: r.trainerRequired ? l.magiclineTrainerWith : l.magiclineTrainerWithout })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummarySlot }),\n /* @__PURE__ */ s(\"dd\", { children: c })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummaryName }),\n /* @__PURE__ */ s(\"dd\", { children: u !== \"\" ? u : \"—\" })\n ] })\n ] }),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n class: \"jex-form-textarea\",\n \"aria-label\": l.magiclineNote,\n placeholder: l.magiclineNote,\n value: r.note,\n disabled: i,\n onInput: (d) => {\n a(\"note\", d.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: t, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: t,\n type: \"checkbox\",\n checked: r.consent,\n disabled: i,\n \"aria-invalid\": o !== void 0,\n onChange: (d) => {\n a(\"consent\", d.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: [\n l.magiclineConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: e, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: l.magiclinePrivacyLinkText }),\n \".\"\n ] })\n ] }),\n o !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction $t({\n label: t,\n value: e,\n fieldKey: n,\n type: r = \"text\",\n required: i = !1,\n disabled: o,\n error: a,\n onInput: l\n}) {\n const c = a !== void 0 ? `jex-ml-err-${n}` : void 0;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: r,\n \"aria-label\": t,\n placeholder: t,\n value: e,\n required: i,\n disabled: o,\n \"aria-invalid\": a !== void 0,\n \"aria-describedby\": c,\n onInput: (u) => {\n l(u.currentTarget.value);\n }\n }\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"span\", { id: c, class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction jc({\n label: t,\n value: e,\n required: n,\n disabled: r,\n placeholder: i,\n error: o,\n options: a,\n onChange: l\n}) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": t,\n value: e,\n required: n,\n disabled: r,\n \"aria-invalid\": o !== void 0,\n onChange: (c) => {\n l(c.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: n, children: i }),\n a.map((c) => /* @__PURE__ */ s(\"option\", { value: c.value, children: c.label }, c.value))\n ]\n }\n ),\n o !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction Ze(t, e, n) {\n return e ? t : t + n.magiclineOptionalSuffix;\n}\nfunction dg(t, e) {\n switch (t) {\n case \"trainer\":\n return e.magiclineStepTrainer;\n case \"slot\":\n return e.magiclineStepSlot;\n case \"personal\":\n return e.magiclineStepPersonal;\n case \"address\":\n return e.magiclineStepAddress;\n case \"confirm\":\n return e.magiclineStepConfirm;\n default:\n return \"\";\n }\n}\nfunction hg(t, e, n) {\n return e.trim() !== \"\" ? e : t === \"unsupported\" ? n.magiclineConfigUnsupported : t === \"inconsistent\" ? n.magiclineConfigInconsistent : n.magiclineConfigUnavailable;\n}\nfunction fg(t, e) {\n const n = {\n firstname: e.firstName.trim(),\n lastname: e.lastName.trim(),\n slotId: e.slotId,\n trainerRequired: e.trainerRequired,\n privacyConsent: e.consent\n };\n return t.email.visible && e.email.trim() !== \"\" && (n.email = e.email.trim()), t.phone.visible && e.phone.trim() !== \"\" && (n.phone = e.phone.trim()), t.dateOfBirth.visible && e.birthDate.trim() !== \"\" && (n.dateOfBirth = e.birthDate.trim()), t.gender.visible && e.gender !== \"\" && (n.gender = e.gender), t.address.visible && (e.street.trim() !== \"\" && (n.street = e.street.trim()), e.houseNumber.trim() !== \"\" && (n.houseNumber = e.houseNumber.trim()), e.city.trim() !== \"\" && (n.city = e.city.trim()), e.country !== \"\" && (n.country = e.country)), t.zip.visible && e.zip.trim() !== \"\" && (n.zip = e.zip.trim()), e.note.trim() !== \"\" && (n.note = e.note.trim()), n;\n}\nfunction pg(t, e) {\n return t === \"MALE\" ? e.magiclineGenderMale : t === \"FEMALE\" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;\n}\nfunction Sc(t, e, n) {\n const r = e === \"de\" ? \"de-DE\" : \"en-GB\", i = t.match(/\\[([^\\]]+)\\]\\s*$/), o = i ? i[1] : n ?? void 0, a = t.replace(/\\[[^\\]]+\\]\\s*$/, \"\"), l = new Date(a);\n if (Number.isNaN(l.getTime()))\n return t;\n try {\n return l.toLocaleString(r, {\n weekday: \"short\",\n day: \"2-digit\",\n month: \"short\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n ...o ? { timeZone: o, timeZoneName: \"short\" } : { timeZoneName: \"short\" }\n });\n } catch {\n return l.toLocaleString(r, {\n weekday: \"short\",\n day: \"2-digit\",\n month: \"short\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n timeZoneName: \"short\"\n });\n }\n}\nfunction Tc(t) {\n const e = re(t);\n return Sn(() => {\n e.current = t;\n }), Z((...n) => e.current(...n), []);\n}\nconst mg = {\n termId: null,\n selectedModuleIds: [],\n acknowledgedBlocks: {},\n personal: {\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n dateOfBirth: \"\",\n gender: \"\",\n phone: \"\"\n },\n address: {\n street: \"\",\n houseNumber: \"\",\n zipCode: \"\",\n city: \"\"\n },\n payment: {\n accountHolder: \"\",\n accountHolderTouched: !1,\n iban: \"\"\n },\n consents: {\n privacy: !1,\n sepa: !1\n }\n};\nfunction gg(t, e) {\n switch (e.type) {\n case \"setTermId\":\n return t.termId === e.termId ? t : {\n ...t,\n termId: e.termId,\n selectedModuleIds: [],\n acknowledgedBlocks: {}\n };\n case \"toggleModule\": {\n if (e.selected)\n return t.selectedModuleIds.includes(e.moduleId) ? t : {\n ...t,\n selectedModuleIds: [...t.selectedModuleIds, e.moduleId]\n };\n const n = { ...t.acknowledgedBlocks };\n return e.consentAckKey !== void 0 && delete n[e.consentAckKey], {\n ...t,\n selectedModuleIds: t.selectedModuleIds.filter((r) => r !== e.moduleId),\n acknowledgedBlocks: n\n };\n }\n case \"setBlockAck\":\n return {\n ...t,\n acknowledgedBlocks: { ...t.acknowledgedBlocks, [e.ackKey]: e.value }\n };\n case \"setPersonal\":\n return { ...t, personal: { ...t.personal, [e.key]: e.value } };\n case \"setAddress\":\n return { ...t, address: { ...t.address, [e.key]: e.value } };\n case \"setAccountHolder\":\n return {\n ...t,\n payment: { ...t.payment, accountHolder: e.value, accountHolderTouched: !0 }\n };\n case \"setIban\":\n return { ...t, payment: { ...t.payment, iban: e.value } };\n case \"setConsent\":\n return { ...t, consents: { ...t.consents, [e.key]: e.value } };\n case \"clearIban\":\n return { ...t, payment: { ...t.payment, iban: \"\" } };\n case \"clearTermId\":\n return {\n ...t,\n termId: null,\n selectedModuleIds: [],\n acknowledgedBlocks: {}\n };\n case \"prefillAccountHolder\":\n return t.payment.accountHolderTouched || t.payment.accountHolder !== \"\" ? t : { ...t, payment: { ...t.payment, accountHolder: e.value } };\n default:\n return t;\n }\n}\nconst ws = {\n draftVoucherCode: \"\",\n appliedVoucherCode: null,\n appliedVoucher: null,\n voucherStatus: \"idle\",\n voucherRequestId: 0,\n voucherUnavailable: !1\n}, xg = \"voucher:\";\nfunction bg(t) {\n const e = {};\n for (const n of Object.keys(t))\n n.startsWith(xg) || (e[n] = t[n]);\n return e;\n}\nfunction vg(t, e) {\n switch (e.type) {\n case \"SET_VOUCHER_DRAFT\": {\n const n = t.appliedVoucher !== null || t.voucherStatus === \"applied\";\n return {\n ...t,\n draftVoucherCode: e.value,\n ...n ? {\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"idle\"\n } : {}\n };\n }\n case \"VOUCHER_APPLYING\":\n return {\n ...t,\n voucherStatus: \"applying\",\n voucherRequestId: t.voucherRequestId + 1\n };\n case \"VOUCHER_APPLIED\":\n return e.requestId !== t.voucherRequestId ? t : {\n ...t,\n appliedVoucher: e.voucher,\n appliedVoucherCode: e.appliedCode,\n voucherStatus: \"applied\"\n };\n case \"VOUCHER_INVALID\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"invalid\"\n };\n case \"VOUCHER_DISABLED\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"disabled\",\n voucherUnavailable: !0\n };\n case \"CLEAR_VOUCHER\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"idle\"\n };\n default:\n return t;\n }\n}\nfunction yg(t, e) {\n switch (e.type) {\n case \"dropVoucherAcks\": {\n const n = bg(t.acknowledgedBlocks);\n return Object.keys(n).length === Object.keys(t.acknowledgedBlocks).length ? t : { ...t, acknowledgedBlocks: n };\n }\n case \"seedVoucherAcks\": {\n if (e.ackKeys.length === 0)\n return t;\n const n = { ...t.acknowledgedBlocks };\n for (const r of e.ackKeys)\n r in n || (n[r] = !1);\n return { ...t, acknowledgedBlocks: n };\n }\n default:\n return gg(t, e);\n }\n}\nfunction wg({\n sessionId: t,\n visitorId: e\n}) {\n const n = qm(), r = xc(), [i, o] = He(yg, mg), [a, l] = He(vg, ws), [c, u] = He(\n (_, U) => U,\n { phase: \"loading\" }\n ), d = re(null), [m, h] = He(\n (_, U) => U,\n { phase: \"idle\" }\n ), p = Z((_) => {\n _.phase === \"ready\" ? d.current = _.pricing : (_.phase === \"idle\" || _.phase === \"error\") && (d.current = null), h(_);\n }, []), [x, w] = He((_) => _ + 1, 0), [b, v] = He((_) => _ + 1, 0), k = Z((_) => {\n o({ type: \"setTermId\", termId: _ }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), A = Z((_, U) => {\n o({ type: \"setPersonal\", key: _, value: U });\n }, []), P = Z((_, U) => {\n o({ type: \"setAddress\", key: _, value: U });\n }, []), M = Z((_, U, W) => {\n o({ type: \"toggleModule\", moduleId: _, selected: U, consentAckKey: W }), o({ type: \"dropVoucherAcks\" }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), T = Z((_, U) => {\n o({ type: \"setBlockAck\", ackKey: _, value: U });\n }, []), $ = Z((_) => {\n o({ type: \"setAccountHolder\", value: _ });\n }, []), R = Z((_) => {\n o({ type: \"setIban\", value: _ });\n }, []), ae = Z((_, U) => {\n o({ type: \"setConsent\", key: _, value: U });\n }, []), V = Z(() => {\n o({ type: \"clearIban\" });\n }, []), y = Z(() => {\n o({ type: \"clearTermId\" }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), se = Z((_) => {\n l({ type: \"SET_VOUCHER_DRAFT\", value: _ }), o({ type: \"dropVoucherAcks\" });\n }, []), C = re(ws.voucherRequestId), D = Z(() => {\n const _ = C.current + 1;\n return C.current = _, l({ type: \"VOUCHER_APPLYING\" }), _;\n }, []), me = Z(\n (_) => {\n _.requestId === C.current && (l({\n type: \"VOUCHER_APPLIED\",\n requestId: _.requestId,\n voucher: _.voucher,\n appliedCode: _.appliedCode,\n voucherAckKeys: _.voucherAckKeys\n }), p({ phase: \"ready\", pricing: _.pricing }), o({ type: \"seedVoucherAcks\", ackKeys: _.voucherAckKeys }));\n },\n [p]\n ), q = Z(() => {\n l({ type: \"VOUCHER_INVALID\" }), o({ type: \"dropVoucherAcks\" }), v();\n }, []), Ne = Z(() => {\n l({ type: \"VOUCHER_DISABLED\" }), o({ type: \"dropVoucherAcks\" }), v();\n }, []), at = Z(() => {\n l({ type: \"CLEAR_VOUCHER\" }), o({ type: \"dropVoucherAcks\" }), v();\n }, []), vt = Z(() => {\n w();\n }, []), Ft = Z(() => {\n p({ phase: \"idle\" });\n }, [p]), te = Z(() => {\n v();\n }, []), Be = c.phase === \"ready\" && i.termId !== null ? c.terms.find((_) => _.termId === i.termId) ?? null : null, { selectedModuleIds: At, acknowledgedBlocks: ce } = i, { appliedVoucher: z } = a, Ee = ke(() => {\n if (Be === null)\n return [];\n const _ = /* @__PURE__ */ new Set();\n for (const U of Be.textBlocks)\n U.isConfirmationRequired && _.add(U.ackKey);\n for (const U of At) {\n const W = Be.optionalModules.find((ue) => ue.id === U);\n W?.consent && _.add(W.consent.ackKey);\n }\n if (z !== null)\n for (const U of z.textBlocks)\n _.add(U.ackKey);\n return [..._];\n }, [Be, At, z]), Ut = ke(\n () => Ee.every((_) => ce[_] === !0),\n [Ee, ce]\n ), { firstName: we, lastName: Ge } = i.personal, { accountHolder: Se, accountHolderTouched: ee } = i.payment;\n N(() => {\n ee || Se !== \"\" || we.trim() !== \"\" && Ge.trim() !== \"\" && o({\n type: \"prefillAccountHolder\",\n value: `${we.trim()} ${Ge.trim()}`\n });\n }, [we, Ge, Se, ee]), N(() => {\n let _ = !1;\n return u({ phase: \"loading\" }), (async () => {\n try {\n const U = await n({ sessionId: t, visitorId: e });\n if (_)\n return;\n U.status === \"ok\" ? U.terms.length > 0 ? u({ phase: \"ready\", terms: U.terms, allowVoucherCodes: U.allowVoucherCodes }) : u({ phase: \"empty\" }) : u({ phase: \"error\" });\n } catch {\n _ || u({ phase: \"error\" });\n }\n })(), () => {\n _ = !0;\n };\n }, [n, t, e, x]);\n const Bt = Tc(() => {\n const _ = Be;\n return _ ? {\n sessionId: t,\n visitorId: e,\n termId: _.termId,\n startDate: _.defaultContractStartDate ?? \"\",\n fields: {\n firstname: i.personal.firstName.trim(),\n lastname: i.personal.lastName.trim(),\n email: i.personal.email.trim(),\n dateOfBirth: i.personal.dateOfBirth.trim(),\n gender: i.personal.gender,\n phone: i.personal.phone.trim(),\n street: i.address.street.trim(),\n houseNumber: i.address.houseNumber.trim(),\n zipCode: i.address.zipCode.trim(),\n city: i.address.city.trim()\n },\n // Only modules still offered by the (re-fetched) term are sent; a vanished\n // module is dropped by the term-change reset before this runs.\n selectedModuleIds: _.optionalModules.filter((U) => i.selectedModuleIds.includes(U.id)).map((U) => U.id),\n privacyConsent: i.consents.privacy,\n sepaConsent: i.consents.sepa\n } : null;\n });\n return N(() => {\n if (b === 0)\n return;\n const _ = Bt();\n if (!_) {\n p({ phase: \"error\", code: \"offer_unavailable\" });\n return;\n }\n let U = !1;\n const W = d.current;\n return p(W !== null ? { phase: \"reloading\", pricing: W } : { phase: \"loading\" }), (async () => {\n try {\n const ue = await r(_);\n if (U)\n return;\n ue.status === \"ok\" ? p({\n phase: \"ready\",\n pricing: {\n basePrice: ue.basePrice,\n preUseCharge: ue.preUseCharge,\n currencyCode: ue.currencyCode,\n flatFees: ue.flatFees,\n modules: ue.modules,\n contractVolume: ue.contractVolume,\n startDate: ue.startDate,\n paymentFrequency: ue.paymentFrequency,\n fingerprint: ue.pricingFingerprint\n }\n }) : p({\n phase: \"error\",\n code: ue.status === \"voucher_invalid\" || ue.status === \"voucher_disabled\" ? \"unavailable\" : ue.status\n });\n } catch {\n U || p({ phase: \"error\", code: \"unavailable\" });\n }\n })(), () => {\n U = !0;\n };\n }, [b, r, t, e, p]), {\n fields: i,\n offersState: c,\n previewState: m,\n selectedTerm: Be,\n requiredAckKeys: Ee,\n allAcknowledged: Ut,\n /**\n * Server-authoritative flag: true only when the server confirmed\n * `allowVoucherCodes` in the getRateBundles ok-result. Defaults to false\n * (fail-closed) while loading or on error.\n */\n serverAllowVoucherCodes: c.phase === \"ready\" ? c.allowVoucherCodes : !1,\n // Voucher state (read)\n voucherStatus: a.voucherStatus,\n draftVoucherCode: a.draftVoucherCode,\n appliedVoucherCode: a.appliedVoucherCode,\n appliedVoucher: a.appliedVoucher,\n voucherUnavailable: a.voucherUnavailable,\n // Field actions\n setTermId: k,\n setPersonal: A,\n setAddress: P,\n toggleModule: M,\n setBlockAck: T,\n setAccountHolder: $,\n setIban: R,\n setConsent: ae,\n clearIban: V,\n clearTermId: y,\n refetchOffers: vt,\n fetchPreview: te,\n resetPreview: Ft,\n // Voucher actions\n setVoucherDraft: se,\n beginVoucherApply: D,\n commitVoucherApplied: me,\n markVoucherInvalid: q,\n markVoucherDisabled: Ne,\n clearVoucher: at\n };\n}\nfunction kg(t) {\n return t !== null && t.optionalModules.length > 0 ? [\"offer\", \"upgrades\", \"personal\", \"address\", \"payment\", \"review\"] : [\"offer\", \"personal\", \"address\", \"payment\", \"review\"];\n}\nfunction _g({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n projectId: r,\n formStatus: i\n}) {\n const o = I(), a = Qe.value, l = zm(), c = xc(), u = wg({ sessionId: e, visitorId: n }), {\n fields: d,\n offersState: m,\n previewState: h,\n selectedTerm: p,\n requiredAckKeys: x,\n allAcknowledged: w,\n serverAllowVoucherCodes: b,\n voucherStatus: v,\n draftVoucherCode: k,\n appliedVoucher: A,\n appliedVoucherCode: P,\n voucherUnavailable: M,\n setTermId: T,\n setPersonal: $,\n setAddress: R,\n toggleModule: ae,\n setBlockAck: V,\n setAccountHolder: y,\n setIban: se,\n setConsent: C,\n clearIban: D,\n clearTermId: me,\n refetchOffers: q,\n fetchPreview: Ne,\n resetPreview: at,\n setVoucherDraft: vt,\n beginVoucherApply: Ft,\n commitVoucherApplied: te,\n markVoucherInvalid: Be,\n markVoucherDisabled: At\n } = u, [ce, z] = O(0), [Ee, Ut] = O({}), [we, Ge] = O(!1), [Se, ee] = O(null), [Bt, _] = O(null), [U, W] = O(null), ue = ke(() => yc(), []);\n if (Se !== null && Se.status === \"succeeded\")\n return /* @__PURE__ */ s(ks, { customerNumber: Se.customerNumber });\n if (Se !== null && Se.status === \"failed\" && !Se.retryable) {\n const K = Se.errorCode === \"duplicate_submission\" ? o.magiclineDuplicateNotice : Se.errorCode === \"unknown_outcome\" ? o.magiclineUnknownOutcome : Se.errorCode === \"live_submission_disabled\" ? o.magiclineLiveSubmissionDisabled : o.magiclineFailedDetail;\n return /* @__PURE__ */ s(_s, { message: K });\n }\n if (Se === null && !we && i === \"submitted\")\n return /* @__PURE__ */ s(ks, { customerNumber: null });\n if (Se === null && !we && i === \"failed\")\n return /* @__PURE__ */ s(_s, { message: o.magiclineFailedDetail });\n const st = kg(p), Le = Math.min(ce, st.length - 1), Ve = st[Le] ?? \"offer\", nn = Le === st.length - 1, fr = Le === 0;\n function pr(K) {\n const B = {};\n if (K === \"offer\")\n return d.termId === null && (B.termId = o.magiclineOfferRequiredError), B;\n if (K === \"upgrades\") {\n if (p !== null)\n for (const fe of d.selectedModuleIds) {\n const et = p.optionalModules.find((ge) => ge.id === fe);\n if (et?.consent && d.acknowledgedBlocks[et.consent.ackKey] !== !0) {\n B.upgrades = o.magiclineUpgradeConsentError;\n break;\n }\n }\n return B;\n }\n if (K === \"personal\") {\n const fe = d.personal;\n return fe.firstName.trim() === \"\" && (B.firstName = o.magiclineRequiredError), fe.lastName.trim() === \"\" && (B.lastName = o.magiclineRequiredError), fe.email.trim() === \"\" ? B.email = o.magiclineRequiredError : bc(fe.email) || (B.email = o.magiclineEmailError), fe.dateOfBirth.trim() === \"\" && (B.dateOfBirth = o.magiclineRequiredError), fe.gender === \"\" && (B.gender = o.magiclineRequiredError), fe.phone.trim() === \"\" && (B.phone = o.magiclineRequiredError), B;\n }\n if (K === \"address\") {\n const fe = d.address;\n return fe.street.trim() === \"\" && (B.street = o.magiclineRequiredError), fe.houseNumber.trim() === \"\" && (B.houseNumber = o.magiclineRequiredError), fe.zipCode.trim() === \"\" && (B.zipCode = o.magiclineRequiredError), fe.city.trim() === \"\" && (B.city = o.magiclineRequiredError), B;\n }\n return K === \"payment\" && (d.payment.accountHolder.trim() === \"\" && (B.accountHolder = o.magiclineRequiredError), Wm(d.payment.iban) || (B.iban = o.magiclineIbanInvalidError), d.consents.privacy || (B.privacy = o.magiclineConsentError), d.consents.sepa || (B.sepa = o.magiclineConsentError)), B;\n }\n function lt() {\n const K = pr(Ve);\n if (Object.keys(K).length > 0) {\n Ut(K);\n return;\n }\n Ut({}), _(null);\n const B = Math.min(Le + 1, st.length - 1);\n st[B] === \"review\" && Ne(), z(B);\n }\n function Vt() {\n Ut({}), _(null), Ve === \"review\" && at(), z((K) => Math.max(K - 1, 0));\n }\n function yt() {\n _(null), Ne();\n }\n async function Rn() {\n if (!we && !(h.phase !== \"ready\" || p === null)) {\n if (!w) {\n _(o.magiclineConfirmRequiredError);\n return;\n }\n Ge(!0), _(null);\n try {\n const K = await l({\n sessionId: e,\n visitorId: n,\n projectId: r,\n formMessageId: t,\n fields: {\n firstname: d.personal.firstName.trim(),\n lastname: d.personal.lastName.trim(),\n email: d.personal.email.trim(),\n phone: d.personal.phone.trim(),\n dateOfBirth: d.personal.dateOfBirth.trim(),\n gender: d.personal.gender,\n street: d.address.street.trim(),\n houseNumber: d.address.houseNumber.trim(),\n zipCode: d.address.zipCode.trim(),\n city: d.address.city.trim(),\n rateBundleTermId: p.termId,\n privacyConsent: d.consents.privacy,\n sepaConsent: d.consents.sepa\n },\n bankAccount: {\n accountHolder: d.payment.accountHolder.trim(),\n iban: d.payment.iban\n },\n // Only modules still offered by the selected term are sent.\n selectedModuleIds: p.optionalModules.filter((B) => d.selectedModuleIds.includes(B.id)).map((B) => B.id),\n // Required text-block + selected-module consent ackKeys (the submit\n // button is gated on all of these being ticked).\n acknowledgedAckKeys: x,\n pricingFingerprint: h.pricing.fingerprint,\n voucherCode: P ?? void 0\n });\n if (K.status === \"succeeded\") {\n ee(K);\n return;\n }\n if (K.errorCode === \"price_changed\") {\n _(o.magiclinePriceChangedNotice), Ne(), Ge(!1);\n return;\n }\n if (K.errorCode === \"offer_unavailable\") {\n me(), q(), at(), _(o.magiclineOfferUnavailableNotice), z(0), Ge(!1);\n return;\n }\n if (K.errorCode === \"confirmation_required\") {\n _(o.magiclineConfirmationRequiredNotice), Ge(!1);\n return;\n }\n if (K.errorCode === \"live_submission_disabled\") {\n ee(K);\n return;\n }\n if (!K.retryable) {\n ee(K);\n return;\n }\n D(), _(K.message !== \"\" ? K.message : o.magiclineFailedDetail), Ge(!1);\n } catch (K) {\n ne.error(\"[ContractCreationForm] Submit failed:\", K), D(), _(o.magiclineFailedDetail), Ge(!1);\n }\n }\n }\n async function En() {\n if (h.phase !== \"ready\" || p === null || k.trim() === \"\")\n return;\n const K = k.trim(), B = Ft();\n W(null);\n const fe = (ge) => {\n Be(), vt(\"\"), W(ge);\n }, et = o.magiclineVoucherInvalid.replace(\"{code}\", K);\n try {\n const ge = await c({\n sessionId: e,\n visitorId: n,\n termId: p.termId,\n startDate: p.defaultContractStartDate ?? \"\",\n fields: {\n firstname: d.personal.firstName.trim(),\n lastname: d.personal.lastName.trim(),\n email: d.personal.email.trim(),\n dateOfBirth: d.personal.dateOfBirth.trim(),\n gender: d.personal.gender,\n phone: d.personal.phone.trim(),\n street: d.address.street.trim(),\n houseNumber: d.address.houseNumber.trim(),\n zipCode: d.address.zipCode.trim(),\n city: d.address.city.trim()\n },\n selectedModuleIds: p.optionalModules.filter((qe) => d.selectedModuleIds.includes(qe.id)).map((qe) => qe.id),\n privacyConsent: d.consents.privacy,\n sepaConsent: d.consents.sepa,\n voucherCode: k.trim()\n });\n if (ge.status === \"ok\") {\n const qe = ge.voucher;\n if (qe !== null) {\n const Ke = qe.textBlocks.map((Mn) => Mn.ackKey);\n te({\n requestId: B,\n voucher: qe,\n appliedCode: k.trim(),\n voucherAckKeys: Ke,\n // Thread the voucher-inclusive pricing from this same response so\n // previewState.pricing.fingerprint is updated atomically. Without\n // this the submitted fingerprint is the base (no-voucher) one and\n // the backend always returns price_changed.\n pricing: {\n basePrice: ge.basePrice,\n preUseCharge: ge.preUseCharge,\n currencyCode: ge.currencyCode,\n flatFees: ge.flatFees,\n modules: ge.modules,\n contractVolume: ge.contractVolume,\n startDate: ge.startDate,\n paymentFrequency: ge.paymentFrequency,\n fingerprint: ge.pricingFingerprint\n }\n });\n } else\n fe(et);\n } else ge.status === \"voucher_invalid\" ? fe(et) : ge.status === \"voucher_disabled\" ? (At(), vt(\"\"), W(o.magiclineVoucherDisabled)) : fe(et);\n } catch {\n fe(et);\n }\n }\n function In() {\n nn ? Rn() : lt();\n }\n const rn = Og(Ve, o), Rt = v === \"applying\" || k.trim() !== \"\" && k.trim() !== (P ?? \"\"), on = Ve === \"review\" && (h.phase !== \"ready\" || !w || Rt), an = we || on;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-header\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineContractTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-progress\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-step-label\", children: rn }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-counter\", children: o.magiclineStepCounter.replace(\"{n}\", String(Le + 1)).replace(\"{total}\", String(st.length)) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-dots\", \"aria-hidden\": \"true\", children: st.map((K, B) => /* @__PURE__ */ s(\n \"span\",\n {\n class: B === Le ? \"jex-magicline-wizard-dot jex-magicline-wizard-dot-active\" : \"jex-magicline-wizard-dot\"\n },\n K\n )) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-form\", role: \"group\", \"aria-label\": rn, children: [\n Ve === \"offer\" ? /* @__PURE__ */ s(\n jg,\n {\n offersState: m,\n selectedTermId: d.termId,\n widgetLocale: a,\n disabled: we,\n error: Ee.termId,\n onSelect: T,\n onRetry: q\n }\n ) : null,\n Ve === \"upgrades\" && p !== null ? /* @__PURE__ */ s(\n Cg,\n {\n modules: p.optionalModules,\n selectedModuleIds: d.selectedModuleIds,\n acknowledgedBlocks: d.acknowledgedBlocks,\n widgetLocale: a,\n disabled: we,\n error: Ee.upgrades,\n onToggle: ae,\n onAck: V\n }\n ) : null,\n Ve === \"personal\" ? /* @__PURE__ */ s(\n Rg,\n {\n personal: d.personal,\n errors: Ee,\n disabled: we,\n setPersonal: $\n }\n ) : null,\n Ve === \"address\" ? /* @__PURE__ */ s(\n Eg,\n {\n address: d.address,\n errors: Ee,\n disabled: we,\n setAddress: R\n }\n ) : null,\n Ve === \"payment\" ? /* @__PURE__ */ s(\n Ig,\n {\n formMessageId: t,\n fields: d,\n errors: Ee,\n privacyUrl: ue,\n disabled: we,\n setAccountHolder: y,\n setIban: se,\n setConsent: C\n }\n ) : null,\n Ve === \"review\" ? /* @__PURE__ */ s(\n Mg,\n {\n fields: d,\n term: p,\n previewState: h,\n widgetLocale: a,\n disabled: we,\n acknowledgedBlocks: d.acknowledgedBlocks,\n onToggleAck: V,\n onRetry: yt,\n allowVoucherCodes: b,\n voucherUnavailable: M,\n voucherStatus: v,\n draftVoucherCode: k,\n appliedVoucher: A,\n voucherBanner: U,\n onVoucherDraftChange: vt,\n onApplyVoucher: () => {\n En();\n }\n }\n ) : null,\n Bt !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: Bt }) : null,\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-nav\", children: [\n fr ? null : /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-wizard-back\",\n disabled: we,\n onClick: Vt,\n children: o.magiclineWizardBack\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-form-submit jex-magicline-wizard-next\",\n disabled: an,\n onClick: In,\n children: nn ? we ? o.magiclineSubmitting : o.magiclineSubmit : o.magiclineWizardNext\n }\n )\n ] })\n ] })\n ] });\n}\nfunction ks({ customerNumber: t }) {\n const e = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: e.magiclineContractSuccessTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: e.magiclineContractSuccessDetail }),\n t !== null && t !== \"\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: e.magiclineCustomerNumber.replace(\"{number}\", t) }) : null\n ] })\n ] });\n}\nfunction _s({ message: t }) {\n const e = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted jex-magicline-failed\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check jex-magicline-failed-icon\", children: \"!\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: e.magiclineFailed }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: t })\n ] })\n ] });\n}\nfunction jg({\n offersState: t,\n selectedTermId: e,\n widgetLocale: n,\n disabled: r,\n error: i,\n onSelect: o,\n onRetry: a\n}) {\n const l = I();\n if (t.phase === \"loading\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: l.magiclineOffersLoading });\n if (t.phase === \"error\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: l.magiclineOffersError }),\n /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-magicline-retry\", disabled: r, onClick: a, children: l.magiclineRetry })\n ] });\n if (t.phase === \"empty\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: l.magiclineNoOffers });\n const c = Lg(t.terms);\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-radio-group\", role: \"radiogroup\", \"aria-label\": l.magiclineStepOffer, children: c.map((u) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-group\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-bundle-name\", children: u.bundleName }),\n u.bundleDescription !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-bundle-desc\", children: u.bundleDescription }) : null,\n u.terms.map((d) => /* @__PURE__ */ s(\n Sg,\n {\n term: d,\n checked: e === d.termId,\n widgetLocale: n,\n disabled: r,\n onSelect: o\n },\n d.termId\n )),\n /* @__PURE__ */ s(\n Tg,\n {\n subDescription: u.bundleSubDescription,\n footnote: u.footnote\n }\n )\n ] }, u.bundleId)) }),\n i !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: i }) : null\n ] });\n}\nfunction Sg({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i }) {\n const o = I(), a = Jr(t.termValue, t.termUnit, n), l = it(t.price, t.currencyCode, n), c = t.flatFees.find((d) => d.isStarterPackage), u = t.flatFees.filter((d) => !d.isStarterPackage);\n return /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card jex-magicline-radio-card-active\" : \"jex-magicline-radio-card\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: \"jex-ml-offer\",\n checked: e,\n disabled: r,\n onChange: () => {\n i(t.termId);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-head\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-length\", children: a }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-price\", children: [\n l,\n \" \",\n qo(\n t.paymentFrequency.value,\n t.paymentFrequency.unit,\n n\n )\n ] })\n ] }),\n t.cancellationPeriod !== null ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineCancellationPeriod,\n \":\",\n \" \",\n Jr(\n t.cancellationPeriod.value,\n t.cancellationPeriod.unit,\n n\n )\n ] }) : null,\n c !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineStarterPackage,\n \":\",\n \" \",\n it(c.price, t.currencyCode, n)\n ] }) : null,\n u.map((d) => /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n kc(d.name, o),\n \": \",\n it(d.price, t.currencyCode, n)\n ] }, d.name)),\n t.includedModuleNames.length > 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineIncludedModules,\n \": \",\n t.includedModuleNames.join(\", \")\n ] }) : null\n ] })\n ]\n }\n );\n}\nfunction Tg({ subDescription: t, footnote: e }) {\n const n = I(), r = Ng(t), i = e !== null && e.trim() !== \"\";\n return r.length === 0 && !i ? null : /* @__PURE__ */ s(\"details\", { class: \"jex-magicline-bundle-details\", children: [\n /* @__PURE__ */ s(\"summary\", { class: \"jex-magicline-bundle-details-summary\", children: n.magiclineDetails }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-bundle-details-body\", children: [\n r.length > 0 ? /* @__PURE__ */ s(\"ul\", { class: \"jex-magicline-bundle-details-list\", children: r.map((o, a) => /* @__PURE__ */ s(\"li\", { children: o }, `${a}-${o}`)) }) : null,\n i ? /* @__PURE__ */ s(\"p\", { class: \"jex-magicline-bundle-details-footnote\", children: e }) : null\n ] })\n ] });\n}\nfunction Cg({\n modules: t,\n selectedModuleIds: e,\n acknowledgedBlocks: n,\n widgetLocale: r,\n disabled: i,\n error: o,\n onToggle: a,\n onAck: l\n}) {\n const c = I();\n return t.length === 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: c.magiclineUpgradesNone }) : /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: c.magiclineUpgradesIntro }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-upgrade-group\", children: t.map((u) => /* @__PURE__ */ s(\n Ag,\n {\n module: u,\n selected: e.includes(u.id),\n consentChecked: u.consent !== null && n[u.consent.ackKey] === !0,\n widgetLocale: r,\n disabled: i,\n onToggle: a,\n onAck: l\n },\n u.id\n )) }),\n o !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction Ag({\n module: t,\n selected: e,\n consentChecked: n,\n widgetLocale: r,\n disabled: i,\n onToggle: o,\n onAck: a\n}) {\n const l = I(), c = Km(\n t.price,\n t.currencyCode,\n t.paymentFrequencyType,\n t.recurringUnit,\n r\n ), u = Zm(t.extensionType, t.termExtension, r), d = t.termLabel !== null && t.termLabel !== \"\" ? t.termLabel : l.magiclineUpgradeOneTime, m = t.consent;\n return /* @__PURE__ */ s(\"div\", { class: e ? \"jex-magicline-upgrade-card jex-magicline-upgrade-card-active\" : \"jex-magicline-upgrade-card\", children: [\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-upgrade-head\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"checkbox\",\n checked: e,\n disabled: i,\n onChange: (h) => {\n o(t.id, h.currentTarget.checked, m?.ackKey);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-info\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-name\", children: t.name }),\n t.description !== null && t.description !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: t.description }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-price\", children: c }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: d }),\n u !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: u }) : null\n ] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-status\", children: e ? l.magiclineUpgradeAdded : l.magiclineUpgradeAdd })\n ] }),\n e && m !== null ? /* @__PURE__ */ s(\n co,\n {\n ackKey: m.ackKey,\n title: m.title,\n text: m.text,\n attachmentLabel: m.attachmentLabel,\n attachmentUrl: m.attachmentUrl,\n checked: n,\n disabled: i,\n onToggle: a,\n showRequiredPill: !0\n }\n ) : null\n ] });\n}\nfunction Rg({ personal: t, errors: e, disabled: n, setPersonal: r }) {\n const i = I(), o = ke(() => vc(), []);\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n gt,\n {\n label: i.magiclineFirstName,\n value: t.firstName,\n required: !0,\n disabled: n,\n error: e.firstName,\n fieldKey: \"firstName\",\n onInput: (a) => {\n r(\"firstName\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n gt,\n {\n label: i.magiclineLastName,\n value: t.lastName,\n required: !0,\n disabled: n,\n error: e.lastName,\n fieldKey: \"lastName\",\n onInput: (a) => {\n r(\"lastName\", a);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\n gt,\n {\n label: i.magiclineEmail,\n type: \"email\",\n value: t.email,\n required: !0,\n disabled: n,\n error: e.email,\n fieldKey: \"email\",\n onInput: (a) => {\n r(\"email\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: i.magiclineBirthDate }),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"date\",\n \"aria-label\": i.magiclineBirthDate,\n value: t.dateOfBirth,\n max: o,\n required: !0,\n disabled: n,\n \"aria-invalid\": e.dateOfBirth !== void 0,\n onInput: (a) => {\n r(\"dateOfBirth\", a.currentTarget.value);\n }\n }\n ),\n e.dateOfBirth !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: e.dateOfBirth }) : null\n ] }),\n /* @__PURE__ */ s(\n Pg,\n {\n label: i.magiclineGender,\n value: t.gender,\n required: !0,\n disabled: n,\n placeholder: i.magiclineGenderPlaceholder,\n error: e.gender,\n onChange: (a) => {\n r(\"gender\", a);\n },\n options: _c.map((a) => ({ value: a, label: $g(a, i) }))\n }\n ),\n /* @__PURE__ */ s(\n gt,\n {\n label: i.magiclinePhone,\n type: \"tel\",\n value: t.phone,\n required: !0,\n disabled: n,\n error: e.phone,\n fieldKey: \"phone\",\n onInput: (a) => {\n r(\"phone\", a);\n }\n }\n )\n ] });\n}\nfunction Eg({ address: t, errors: e, disabled: n, setAddress: r }) {\n const i = I();\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n gt,\n {\n label: i.magiclineStreet,\n value: t.street,\n required: !0,\n disabled: n,\n error: e.street,\n fieldKey: \"street\",\n onInput: (o) => {\n r(\"street\", o);\n }\n }\n ),\n /* @__PURE__ */ s(\n gt,\n {\n label: i.magiclineHouseNumber,\n value: t.houseNumber,\n required: !0,\n disabled: n,\n error: e.houseNumber,\n fieldKey: \"houseNumber\",\n onInput: (o) => {\n r(\"houseNumber\", o);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n gt,\n {\n label: i.magiclineZip,\n value: t.zipCode,\n required: !0,\n disabled: n,\n error: e.zipCode,\n fieldKey: \"zipCode\",\n onInput: (o) => {\n r(\"zipCode\", o);\n }\n }\n ),\n /* @__PURE__ */ s(\n gt,\n {\n label: i.magiclineCity,\n value: t.city,\n required: !0,\n disabled: n,\n error: e.city,\n fieldKey: \"city\",\n onInput: (o) => {\n r(\"city\", o);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: i.magiclineCountry }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-static-value\", children: i.magiclineCountryStatic })\n ] })\n ] });\n}\nfunction Ig({\n formMessageId: t,\n fields: e,\n errors: n,\n privacyUrl: r,\n disabled: i,\n setAccountHolder: o,\n setIban: a,\n setConsent: l\n}) {\n const c = I(), u = `jex-ml-privacy-${t}`, d = `jex-ml-sepa-${t}`;\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\n gt,\n {\n label: c.magiclineAccountHolder,\n value: e.payment.accountHolder,\n required: !0,\n disabled: i,\n error: n.accountHolder,\n fieldKey: \"accountHolder\",\n onInput: o\n }\n ),\n /* @__PURE__ */ s(\n gt,\n {\n label: c.magiclineIban,\n value: e.payment.iban,\n required: !0,\n disabled: i,\n error: n.iban,\n fieldKey: \"iban\",\n onInput: a\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: u, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: u,\n type: \"checkbox\",\n checked: e.consents.privacy,\n disabled: i,\n \"aria-invalid\": n.privacy !== void 0,\n onChange: (m) => {\n l(\"privacy\", m.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: [\n c.magiclineConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: r, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: c.magiclinePrivacyLinkText }),\n \".\"\n ] })\n ] }),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: d, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: d,\n type: \"checkbox\",\n checked: e.consents.sepa,\n disabled: i,\n \"aria-invalid\": n.sepa !== void 0,\n onChange: (m) => {\n l(\"sepa\", m.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: c.magiclineSepaConsent })\n ] }),\n n.privacy !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: n.privacy }) : null,\n n.sepa !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: n.sepa }) : null\n ] });\n}\nfunction Mg({\n fields: t,\n term: e,\n previewState: n,\n widgetLocale: r,\n disabled: i,\n acknowledgedBlocks: o,\n onToggleAck: a,\n onRetry: l,\n allowVoucherCodes: c,\n voucherUnavailable: u,\n voucherStatus: d,\n draftVoucherCode: m,\n appliedVoucher: h,\n voucherBanner: p,\n onVoucherDraftChange: x,\n onApplyVoucher: w\n}) {\n const b = I();\n if (n.phase === \"loading\" || n.phase === \"idle\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: b.magiclineReviewLoading });\n if (n.phase === \"error\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: n.code === \"offer_unavailable\" ? b.magiclineOfferUnavailableNotice : b.magiclineReviewError }),\n /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-magicline-retry\", disabled: i, onClick: l, children: b.magiclineRetry })\n ] });\n const v = n.pricing, k = n.phase === \"reloading\", A = v.contractVolume, P = `${t.personal.firstName} ${t.personal.lastName}`.trim(), M = t.address, T = [\n `${M.street} ${M.houseNumber}`.trim(),\n `${M.zipCode} ${M.city}`.trim(),\n b.magiclineCountryStatic\n ].filter((C) => C !== \"\").join(\", \"), $ = e !== null ? `${e.bundleName} · ${Jr(e.termValue, e.termUnit, r)}` : \"—\", R = e !== null ? e.textBlocks.filter((C) => C.isConfirmationRequired) : [], ae = e !== null ? e.textBlocks.filter((C) => !C.isConfirmationRequired) : [], V = e !== null ? e.optionalModules.filter((C) => t.selectedModuleIds.includes(C.id) && C.consent !== null).map((C) => ({ module: C, consent: C.consent })) : [], y = h !== null ? h.textBlocks.filter((C) => C.ackKey.startsWith(\"voucher:\")) : [], se = c && !u;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-review-wrap\", children: [\n /* @__PURE__ */ s(\n \"div\",\n {\n class: k ? \"jex-magicline-review-body jex-magicline-review-body--reloading\" : \"jex-magicline-review-body\",\n \"aria-busy\": k,\n children: [\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineReviewOffer }),\n /* @__PURE__ */ s(\"dd\", { children: $ })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineReviewBasePrice }),\n /* @__PURE__ */ s(\"dd\", { children: [\n h !== null && h.voucherType === \"DISCOUNT\" ? it(h.discountedBasePrice, v.currencyCode, r) : it(v.basePrice, v.currencyCode, r),\n \" \",\n qo(\n v.paymentFrequency.value,\n v.paymentFrequency.unit,\n r\n )\n ] })\n ] }),\n h !== null && h.voucherType === \"DISCOUNT\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-voucher-discount-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineVoucherAppliedDiscount.replace(\n \"{discount}\",\n Ym(\n h.discountValue,\n h.discountType,\n v.currencyCode,\n r\n )\n ) }),\n /* @__PURE__ */ s(\"dd\", {})\n ] }) : null,\n h !== null && h.remarks !== null && h.remarks !== \"\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-voucher-remarks-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineVoucherRemarks }),\n /* @__PURE__ */ s(\"dd\", { children: h.remarks })\n ] }) : null,\n v.flatFees.map((C, D) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: kc(C.name, b) }),\n /* @__PURE__ */ s(\"dd\", { children: it(C.price, v.currencyCode, r) })\n ] }, `${C.name}-${D}`)),\n v.preUseCharge > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineReviewPreUseCharge }),\n /* @__PURE__ */ s(\"dd\", { children: it(v.preUseCharge, v.currencyCode, r) })\n ] }) : null\n ] }),\n v.modules.length > 0 ? /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-heading\", children: b.magiclineReviewSelectedUpgrades }),\n v.modules.map((C, D) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: C.name }),\n /* @__PURE__ */ s(\"dd\", { children: it(C.amount, C.currencyCode, r) })\n ] }, `${C.moduleId}-${D}`))\n ] }) : null,\n A !== null && A.total !== null ? /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section jex-magicline-summary-totals\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-summary-total-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: h !== null && h.voucherType === \"DISCOUNT\" ? b.magiclineGesamtpreisBeforeDiscount : b.magiclineReviewContractVolume }),\n /* @__PURE__ */ s(\"dd\", { children: it(A.total, v.currencyCode, r) })\n ] }) }) : null,\n h !== null && h.voucherType === \"CREDIT\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-voucher-credit-notice\", role: \"note\", children: b.magiclineVoucherCreditNotice }) : null,\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineReviewStartsOn }),\n /* @__PURE__ */ s(\"dd\", { children: Gm(v.startDate, r) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineSummaryName }),\n /* @__PURE__ */ s(\"dd\", { children: P !== \"\" ? P : \"—\" })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineSummaryAddress }),\n /* @__PURE__ */ s(\"dd\", { children: T })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineReviewPayment }),\n /* @__PURE__ */ s(\"dd\", { children: Qm(t.payment.iban) })\n ] })\n ] }),\n se ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-voucher-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field jex-magicline-voucher-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n \"aria-label\": b.magiclineVoucherLabel,\n placeholder: b.magiclineVoucherPlaceholder,\n value: m,\n disabled: i || d === \"applying\",\n onInput: (C) => {\n x(C.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-voucher-apply\",\n disabled: i || d === \"applying\" || m.trim() === \"\",\n onClick: w,\n children: b.magiclineVoucherApply\n }\n )\n ] }),\n p !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: p }) : null\n ] }) : null,\n V.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms\", role: \"group\", \"aria-label\": b.magiclineReviewSelectedUpgrades, children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-upgrades-recap-title\", children: b.magiclineReviewSelectedUpgrades }),\n V.map(({ module: C, consent: D }) => /* @__PURE__ */ s(\n js,\n {\n title: D.title !== \"\" ? D.title : C.name,\n text: D.text,\n attachmentLabel: D.attachmentLabel,\n attachmentUrl: D.attachmentUrl\n },\n D.ackKey\n ))\n ] }) : null,\n R.length > 0 || ae.length > 0 || y.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms\", role: \"group\", \"aria-label\": b.magiclineReviewTerms, children: [\n R.length > 0 || y.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms-prompt\", children: [\n b.magiclineConfirmPrompt,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-required-pill\", children: b.magiclineRequired })\n ] }) : null,\n R.map((C) => /* @__PURE__ */ s(\n co,\n {\n ackKey: C.ackKey,\n title: C.title,\n text: C.text,\n attachmentLabel: C.attachmentLabel,\n attachmentUrl: C.attachmentUrl,\n checked: o[C.ackKey] === !0,\n disabled: i,\n onToggle: a\n },\n C.ackKey\n )),\n y.map((C) => /* @__PURE__ */ s(\n co,\n {\n ackKey: C.ackKey,\n title: C.title,\n text: C.text,\n attachmentLabel: C.attachmentLabel,\n attachmentUrl: C.attachmentUrl,\n checked: o[C.ackKey] === !0,\n disabled: i,\n onToggle: a\n },\n C.ackKey\n )),\n ae.map((C, D) => /* @__PURE__ */ s(\n js,\n {\n title: C.title,\n text: C.text,\n attachmentLabel: C.attachmentLabel,\n attachmentUrl: C.attachmentUrl\n },\n `${C.title}-${D}`\n ))\n ] }) : null\n ]\n }\n ),\n k ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-review-overlay\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-review-spinner\" }) }) : null\n ] });\n}\nfunction co({\n ackKey: t,\n title: e,\n text: n,\n attachmentLabel: r,\n attachmentUrl: i,\n checked: o,\n disabled: a,\n onToggle: l,\n showRequiredPill: c = !1\n}) {\n const u = I(), d = `jex-ml-ack-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-consent-region\", children: [\n c ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-required-pill\", children: u.magiclineRequired }) : null,\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: d, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: d,\n type: \"checkbox\",\n checked: o,\n disabled: a,\n onChange: (m) => {\n l(t, m.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-consent-body\", children: [\n e !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-title\", children: e }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-content\", children: [\n n,\n i !== null ? /* @__PURE__ */ s(J, { children: [\n \" \",\n /* @__PURE__ */ s(\"a\", { href: i, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: r !== null && r !== \"\" ? r : i })\n ] }) : null\n ] })\n ] })\n ] })\n ] });\n}\nfunction js({ title: t, text: e, attachmentLabel: n, attachmentUrl: r }) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-consent-recap\", children: [\n t !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-title\", children: t }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-content\", children: [\n e,\n r !== null ? /* @__PURE__ */ s(J, { children: [\n \" \",\n /* @__PURE__ */ s(\"a\", { href: r, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: n !== null && n !== \"\" ? n : r })\n ] }) : null\n ] })\n ] });\n}\nfunction gt({\n label: t,\n value: e,\n fieldKey: n,\n type: r = \"text\",\n required: i = !1,\n disabled: o,\n error: a,\n onInput: l\n}) {\n const c = a !== void 0 ? `jex-ml-err-${n}` : void 0;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: r,\n \"aria-label\": t,\n placeholder: t,\n value: e,\n required: i,\n disabled: o,\n \"aria-invalid\": a !== void 0,\n \"aria-describedby\": c,\n onInput: (u) => {\n l(u.currentTarget.value);\n }\n }\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"span\", { id: c, class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction Pg({\n label: t,\n value: e,\n required: n,\n disabled: r,\n placeholder: i,\n error: o,\n options: a,\n onChange: l\n}) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": t,\n value: e,\n required: n,\n disabled: r,\n \"aria-invalid\": o !== void 0,\n onChange: (c) => {\n l(c.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: n, children: i }),\n a.map((c) => /* @__PURE__ */ s(\"option\", { value: c.value, children: c.label }, c.value))\n ]\n }\n ),\n o !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction Ng(t) {\n return t === null ? [] : t.split(`\n`).map((e) => e.replace(/^\\s*[-•]\\s*/, \"\").trim()).filter((e) => e !== \"\");\n}\nfunction Lg(t) {\n const e = [], n = /* @__PURE__ */ new Map();\n for (const r of t) {\n let i = n.get(r.bundleId);\n i || (i = {\n bundleId: r.bundleId,\n bundleName: r.bundleName,\n bundleDescription: r.bundleDescription,\n bundleSubDescription: r.bundleSubDescription,\n footnote: r.footnote,\n terms: []\n }, n.set(r.bundleId, i), e.push(i)), i.terms.push(r);\n }\n return e;\n}\nfunction Og(t, e) {\n switch (t) {\n case \"offer\":\n return e.magiclineStepOffer;\n case \"upgrades\":\n return e.magiclineStepUpgrades;\n case \"personal\":\n return e.magiclineStepPersonal;\n case \"address\":\n return e.magiclineStepAddress;\n case \"payment\":\n return e.magiclineStepPayment;\n case \"review\":\n return e.magiclineStepReview;\n default:\n return \"\";\n }\n}\nfunction $g(t, e) {\n return t === \"MALE\" ? e.magiclineGenderMale : t === \"FEMALE\" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;\n}\nfunction Dg({ message: t, sessionId: e, visitorId: n }) {\n const r = I(), i = t.magiclineForm, o = !!i && i.status === \"open\" && !!i.submissionId, a = St(\n oe.functions.magicline.public.getSubmissionStatus,\n o && i?.submissionId ? { sessionId: e, visitorId: n, submissionId: i.submissionId } : \"skip\"\n );\n if (!i)\n return null;\n if (i.action === \"contractCreation\")\n return t.projectId ? /* @__PURE__ */ s(\n _g,\n {\n formMessageId: t._id,\n sessionId: e,\n visitorId: n,\n projectId: t.projectId,\n formStatus: i.status\n }\n ) : null;\n if (i.status === \"submitted\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.magiclineTrialSuccessTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: r.magiclineTrialSuccessDetail })\n ] })\n ] });\n if (i.status === \"failed\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted jex-magicline-failed\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check jex-magicline-failed-icon\", children: \"!\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.magiclineFailed }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: r.magiclineFailedDetail })\n ] })\n ] });\n if (i.action !== \"trialSessionBooking\")\n return null;\n const l = a != null && a.errorCode === \"slot_unavailable\", c = o && a === void 0;\n return /* @__PURE__ */ s(\n ig,\n {\n formMessageId: t._id,\n sessionId: e,\n visitorId: n,\n slotUnavailable: l,\n retryPending: c\n }\n );\n}\nconst qg = {\n crawl: \"🌐\",\n file: \"📄\",\n snippet: \"💡\",\n qa: \"❓\"\n};\nfunction zg({ sources: t }) {\n const e = I(), [n, r] = O(!1);\n return t.length === 0 ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-sources-row\", children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-sources-toggle\",\n onClick: () => {\n r((i) => !i);\n },\n \"aria-expanded\": n,\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-sources-icon\", children: \"📖\" }),\n /* @__PURE__ */ s(\"span\", { children: (t.length === 1 ? e.sourcesCountOne : e.sourcesCountOther).replace(\n \"{count}\",\n String(t.length)\n ) }),\n /* @__PURE__ */ s(\"span\", { class: `jex-sources-chevron${n ? \" jex-sources-chevron--open\" : \"\"}`, children: \"▾\" })\n ]\n }\n ),\n n ? /* @__PURE__ */ s(\"div\", { class: \"jex-sources-pills\", children: t.map((i, o) => {\n const a = i.sourceType === \"crawl\", l = Fg(i), c = a && i.url ? `${i.title}\n${i.url}` : i.title, u = /* @__PURE__ */ s(J, { children: [\n typeof i.id == \"number\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-source-id\", children: i.id }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-type\", children: qg[i.sourceType] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-label\", children: l }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-score\", children: [\n \"· \",\n i.score.toFixed(2)\n ] })\n ] });\n return a && i.url ? /* @__PURE__ */ s(\n \"a\",\n {\n class: \"jex-source-pill\",\n href: i.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n title: c,\n children: u\n },\n o\n ) : /* @__PURE__ */ s(\"span\", { class: \"jex-source-pill\", title: c, children: u }, o);\n }) }) : null\n ] });\n}\nfunction Fg(t) {\n if (t.sourceType === \"crawl\" && t.url)\n try {\n const e = new URL(t.url);\n return !e.pathname || e.pathname === \"/\" ? e.hostname : e.pathname;\n } catch {\n }\n return t.title;\n}\nconst Ug = 840 * 1e3;\nfunction Bg(t) {\n return t < 1024 * 1024 ? `${Math.max(1, Math.round(t / 1024))} KB` : `${(t / 1024 / 1024).toFixed(1)} MB`;\n}\nfunction Vg({ items: t, sessionId: e, visitorId: n, align: r }) {\n const i = I(), o = Jt(oe.conversationAttachments.visitor.mintUrls), [a, l] = O(() => /* @__PURE__ */ new Map()), [c, u] = O(() => /* @__PURE__ */ new Set()), [d, m] = O(0), [h, p] = O(!1), x = t.filter((w) => w.available).map((w) => w._id).join(\",\");\n return N(() => {\n if (x === \"\")\n return;\n let w = !0;\n const b = x.split(\",\");\n o({ sessionId: e, visitorId: n, attachmentIds: b }).then(\n (k) => {\n w && (l(new Map(k.map((A) => [A.attachmentId, A.url]))), p(!1));\n },\n (k) => {\n ne.error(\"[jexity] Could not load files\", k), w && p(!0);\n }\n );\n const v = setTimeout(() => {\n m((k) => k + 1);\n }, Ug);\n return () => {\n w = !1, clearTimeout(v);\n };\n }, [x, e, n, o, d]), t.length === 0 ? null : /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: `jex-msg-files jex-msg-files-${r}`, children: t.map((w) => {\n if (!w.available)\n return /* @__PURE__ */ s(\"div\", { class: \"jex-msg-file-card jex-msg-file-unavailable\", title: w.name, children: [\n /* @__PURE__ */ s(Zf, { size: 16, \"aria-hidden\": \"true\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-text\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-name\", children: w.name }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-meta\", children: i.attachmentUnavailable })\n ] })\n ] }, w._id);\n const b = a.get(w._id), v = i.attachmentOpen.replace(\"{name}\", w.name);\n if (w.kind === \"image\" && !c.has(w._id) && !(h && !b))\n return b ? /* @__PURE__ */ s(\"a\", { class: \"jex-msg-file-thumb\", href: b, target: \"_blank\", rel: \"noopener noreferrer\", \"aria-label\": v, children: /* @__PURE__ */ s(\n \"img\",\n {\n src: b,\n alt: \"\",\n loading: \"lazy\",\n onError: () => {\n u((A) => new Set(A).add(w._id));\n }\n }\n ) }, w._id) : /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-thumb jex-msg-file-pending\", \"aria-hidden\": \"true\" }, w._id);\n const k = /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(Xf, { size: 16, \"aria-hidden\": \"true\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-text\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-name\", children: w.name }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-meta\", children: [\n w.extension.toUpperCase(),\n \" · \",\n Bg(w.sizeBytes)\n ] })\n ] })\n ] });\n return b ? /* @__PURE__ */ s(\"a\", { class: \"jex-msg-file-card\", href: b, target: \"_blank\", rel: \"noopener noreferrer\", \"aria-label\": v, children: k }, w._id) : /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-card\", \"aria-disabled\": \"true\", children: k }, w._id);\n }) }),\n h && /* @__PURE__ */ s(\"p\", { class: `jex-msg-files-error jex-msg-files-${r}`, role: \"alert\", children: [\n i.attachmentLoadFailed,\n \" \",\n /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-msg-files-retry\", onClick: () => {\n p(!1), m((w) => w + 1);\n }, children: i.attachmentRetry })\n ] })\n ] });\n}\nfunction Hg() {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-typing\", children: [\n /* @__PURE__ */ s(\"span\", {}),\n /* @__PURE__ */ s(\"span\", {}),\n /* @__PURE__ */ s(\"span\", {})\n ] });\n}\nconst Wg = /\\s?\\[\\d+\\]/g;\nfunction Pr(t) {\n return t.replace(Wg, \"\");\n}\nfunction Qg(t) {\n return t?.at(-1)?._creationTime ?? 0;\n}\nfunction Gg(t) {\n return { id: t._id, content: Pr(t.content), role: t.role, authorName: t.authorName };\n}\nfunction Ss(t, e) {\n return (t.replyToIds && t.replyToIds.length > 0 ? t.replyToIds : t.replyToId ? [t.replyToId] : []).map((r) => e?.find((i) => i._id === r)).filter((r) => r !== void 0).map(Gg);\n}\nfunction Ts(t, e) {\n const r = e.getRootNode().getElementById(`jex-msg-${t}`);\n r && (r.scrollIntoView({ behavior: \"smooth\", block: \"center\" }), r.classList.add(\"jex-msg-highlight\"), setTimeout(() => {\n r.classList.remove(\"jex-msg-highlight\");\n }, 1500));\n}\nfunction Kg(t) {\n if (!t)\n return [];\n const e = /* @__PURE__ */ new Set();\n for (const n of t)\n n.authorId && n.authorName && e.add(n.authorName), n.noticeKind === \"agent-joined\" && n.noticeData?.agentName && e.add(n.noticeData.agentName);\n return [...e];\n}\nconst Yg = 6e4;\nfunction Xg({ conversations: t, attachments: e, greeting: n, botName: r, starterQuestions: i, onPickStarter: o, sessionNotFound: a, resumeFailed: l, onStartFresh: c, sessionId: u, visitorId: d }) {\n const m = I(), h = re(null), [p, x] = O(null), [w, b] = O(() => Date.now()), v = (t ?? []).some(\n (y) => y.status === \"streaming\" && y.content === \"\"\n );\n N(() => {\n if (!v)\n return;\n const y = setInterval(() => b(Date.now()), 1e4);\n return () => clearInterval(y);\n }, [v]);\n const k = Qg(t), A = Kg(t), P = /* @__PURE__ */ new Map();\n for (const y of e ?? [])\n P.set(y.messageId, [...P.get(y.messageId) ?? [], y]);\n const M = gc(), T = li(), $ = re(null);\n N(() => {\n if (!d || !t)\n return;\n const y = t.at(-1);\n y && y.role === \"assistant\" && y.status !== \"streaming\" && y._id !== $.current && ($.current = y._id, jo(d));\n }, [t, d]);\n const R = t?.at(-1)?.content;\n N(() => {\n h.current?.scrollIntoView({ behavior: \"smooth\" });\n }, [t?.length, R]);\n const ae = u === null || t !== void 0 && t.length === 0, V = i.length > 0 && !a && !l && ae;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-messages\", children: [\n /* @__PURE__ */ s(Qt, { text: n, botName: r }),\n V ? /* @__PURE__ */ s(\n Im,\n {\n questions: i,\n disabled: Mr.value,\n onPick: o\n }\n ) : null,\n a && l && c ? /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt-text\", children: m.sessionNotFoundPrompt }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-session-prompt-btn\",\n type: \"button\",\n onClick: () => {\n c();\n },\n children: m.startNewConversation\n }\n )\n ] }) : a ? /* @__PURE__ */ s(\"div\", { class: \"jex-session-notice\", children: m.sessionNotFound }) : null,\n t?.map((y) => {\n if (y.contentType === \"human-notice\") {\n const q = y.noticeKind === \"agent-joined\" ? m.noticeAgentJoined.replace(\"{name}\", y.noticeData?.agentName ?? \"\") : y.noticeKind === \"human-requested\" ? m.noticeHumanRequested : y.noticeKind === \"human-requested-form\" ? m.noticeHumanRequestedForm : y.noticeKind === \"message-received\" ? m.noticeMessageReceived : y.noticeKind === \"agent-handling\" ? m.noticeAgentHandling : y.noticeKind === \"ai-resumed\" ? m.noticeAiResumed : y.content;\n return /* @__PURE__ */ s(Qt, { text: q, botName: r }, y._id);\n }\n if (y.contentType === \"escalation-form\" && u && d)\n return Hh.value === \"screen\" && !y.formData ? p === y._id ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-inline-form-card\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: m.escalationPromptTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-subtitle\", children: m.escalationPromptSubtitle }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-form-submit\",\n type: \"button\",\n onClick: () => {\n T({ formMessageId: y._id, sessionId: u, visitorId: d }), jt({ id: \"escalation-form\", formMessageId: y._id, sessionId: u, visitorId: d, waitingSetAt: k });\n },\n children: m.escalationPromptSubmit\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-escalation-skip\",\n type: \"button\",\n onClick: () => {\n M({ formMessageId: y._id, sessionId: u, visitorId: d, waitingSetAt: k }), x(y._id);\n },\n children: m.escalationSkip\n }\n )\n ] }, y._id) : /* @__PURE__ */ s(Nm, { message: y, sessionId: u, visitorId: d, waitingSetAt: k }, y._id);\n if (y.contentType === \"magicline-form\" && u && d)\n return /* @__PURE__ */ s(Dg, { message: y, sessionId: u, visitorId: d }, y._id);\n if (y.contentType === \"escalation-confirm\") {\n const q = y.noticeKind === \"escalation-confirmed\" ? m.noticeEscalationConfirmed.replace(\"{name}\", y.noticeData?.visitorName ?? \"\").replace(\"{email}\", y.noticeData?.visitorEmail ?? \"\").replace(\"{ref}\", y.noticeData?.visitorId ?? \"\") : y.content;\n return /* @__PURE__ */ s(Qt, { text: q, botName: r }, y._id);\n }\n const se = P.get(y._id) ?? [], C = se.length > 0 && u && d ? /* @__PURE__ */ s(Vg, { items: se, sessionId: u, visitorId: d, align: y.role === \"user\" ? \"user\" : \"bot\" }) : null;\n if (y.role === \"user\") {\n const q = Ss(y, t);\n return /* @__PURE__ */ s(J, { children: [\n (y.content !== \"\" || se.length === 0) && /* @__PURE__ */ s(\n Pm,\n {\n id: `jex-msg-${y._id}`,\n text: y.content,\n botName: r,\n onQuote: () => {\n no({ id: y._id, content: y.content, role: \"user\" });\n },\n quoted: q,\n onQuotedClick: (Ne, at) => {\n Ts(Ne, at.currentTarget);\n },\n agentNames: A\n }\n ),\n C\n ] }, y._id);\n }\n const D = {\n authorId: y.authorId,\n authorName: y.authorName,\n authorImage: y.authorImage\n };\n if (y.status === \"streaming\" && y.content === \"\")\n return w - y._creationTime > Yg ? /* @__PURE__ */ s(\n Qt,\n {\n id: `jex-msg-${y._id}`,\n text: `${m.somethingWentWrong}. ${m.tryAgain}.`,\n error: !0,\n botName: r,\n ...D\n },\n y._id\n ) : /* @__PURE__ */ s(Hg, {}, y._id);\n if (y.status === \"streaming\")\n return /* @__PURE__ */ s(Qt, { id: `jex-msg-${y._id}`, text: Pr(y.content), streaming: !0, botName: r, ...D }, y._id);\n if (y.status === \"error\")\n return /* @__PURE__ */ s(\n Qt,\n {\n id: `jex-msg-${y._id}`,\n text: y.errorMessage ?? `${m.somethingWentWrong}. ${m.tryAgain}.`,\n error: !0,\n botName: r,\n ...D\n },\n y._id\n );\n const me = Ss(y, t);\n return /* @__PURE__ */ s(\"div\", { children: [\n (y.content !== \"\" || se.length === 0) && /* @__PURE__ */ s(\n Qt,\n {\n id: `jex-msg-${y._id}`,\n text: Pr(y.content),\n botName: r,\n onQuote: () => {\n no({ id: y._id, content: Pr(y.content), role: \"assistant\", authorName: y.authorName });\n },\n quoted: me,\n onQuotedClick: (q, Ne) => {\n Ts(q, Ne.currentTarget);\n },\n ...D\n }\n ),\n C,\n y.sources && y.sources.length > 0 ? /* @__PURE__ */ s(zg, { sources: y.sources }) : null\n ] }, y._id);\n }),\n /* @__PURE__ */ s(\"div\", { ref: h })\n ] });\n}\nfunction Zg() {\n const t = I();\n function e() {\n const n = ir.peek();\n n && (Zl(), jt({ id: \"escalation-form\", formMessageId: n.formMessageId, sessionId: n.sessionId, visitorId: n.visitorId, waitingSetAt: n.waitingSetAt }));\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-waiting-card\", role: \"status\", \"aria-live\": \"polite\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-waiting-indicator\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-waiting-dot\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-waiting-ripple\" })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-waiting-body\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-waiting-title\", children: t.waitingTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-waiting-subtitle\", children: t.waitingSubtitle }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-waiting-leave-email\",\n type: \"button\",\n onClick: e,\n children: t.waitingLeaveEmail\n }\n )\n ] })\n ] });\n}\nfunction Cc({ message: t }) {\n const [e, n] = O(!1);\n return N(() => {\n const r = setTimeout(() => {\n n(!0);\n }, 80);\n return () => {\n clearTimeout(r);\n };\n }, []), e ? /* @__PURE__ */ s(\"div\", { class: \"jex-overlay jex-loading\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-loading-spinner\", \"aria-hidden\": \"true\" }),\n t && /* @__PURE__ */ s(\"p\", { class: \"jex-loading-message\", children: t })\n ] }) : null;\n}\nfunction Jg({ sessionId: t, visitorId: e }) {\n const n = St(\n oe.functions.chat.public.conversations.listBySession,\n t && e ? { sessionId: t, visitorId: e } : \"skip\"\n ), r = St(\n oe.functions.chat.public.sessions.getSessionStatus,\n t && e ? { sessionId: t, visitorId: e } : \"skip\"\n ), i = St(\n oe.conversationAttachments.visitor.list,\n t && e ? { sessionId: t, visitorId: e } : \"skip\"\n ), o = t !== null && n === void 0, a = n?.some((l) => l.status === \"streaming\") ?? !1;\n return {\n conversations: n,\n sessionStatus: r ?? null,\n isLoading: o,\n isStreaming: a,\n attachments: i\n };\n}\nfunction ex(t) {\n const e = I(), n = re(null), r = re(null), [i, o] = O(!1);\n N(() => {\n try {\n n.current = document.title;\n } catch {\n }\n }, []), N(() => {\n if (!t || t.length === 0)\n return;\n const a = t[t.length - 1];\n if (!a)\n return;\n if (r.current === null) {\n r.current = a._id;\n return;\n }\n if (a._id === r.current)\n return;\n r.current = a._id;\n const l = a.role !== \"user\";\n let c = !1;\n try {\n c = document.hidden;\n } catch {\n }\n l && c && o(!0);\n }, [t]), N(() => {\n if (!i)\n return;\n let a = null, l = !1;\n const c = () => {\n if (a !== null) {\n try {\n clearInterval(a);\n } catch {\n }\n a = null;\n }\n try {\n n.current !== null && (document.title = n.current);\n } catch {\n }\n };\n try {\n a = setInterval(() => {\n try {\n const u = `💬 ${e.newReplyTitle}`;\n document.title = l ? n.current ?? \"\" : u, l = !l;\n } catch {\n c();\n }\n }, 1200);\n } catch {\n }\n return c;\n }, [i, e.newReplyTitle]), N(() => {\n const a = () => {\n try {\n document.hidden || o(!1);\n } catch {\n }\n };\n try {\n document.addEventListener(\"visibilitychange\", a);\n } catch {\n }\n return () => {\n try {\n document.removeEventListener(\"visibilitychange\", a);\n } catch {\n }\n };\n }, []);\n}\nfunction tx({ sessionId: t, visitorId: e }) {\n const n = Ct(oe.functions.chat.public.visitorPresence.heartbeat);\n N(() => {\n if (!t || !e)\n return;\n let r = null;\n const i = () => {\n n({ sessionId: t, visitorId: e }).catch(() => {\n });\n }, o = () => {\n r === null && (r = setInterval(i, 6e4));\n }, a = () => {\n r !== null && (clearInterval(r), r = null);\n }, l = () => {\n document.visibilityState === \"visible\" ? (i(), o()) : a();\n };\n return l(), document.addEventListener(\"visibilitychange\", l), () => {\n document.removeEventListener(\"visibilitychange\", l), a();\n };\n }, [t, e, n]);\n}\nfunction nx() {\n return Ct(oe.escalations.public.createEscalationRequest);\n}\nfunction Ac({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: r }) {\n const i = I(), o = nx(), [a, l] = O(!1), [c, u] = O(null);\n async function d() {\n if (!a) {\n l(!0), u(null);\n try {\n const m = t && e ? { sessionId: t, visitorId: e } : await n();\n if (!m)\n return;\n const h = Dt.value;\n if (!h)\n return;\n const p = await o({\n sessionId: m.sessionId,\n visitorId: m.visitorId,\n bootstrapToken: h,\n locale: Qe.value\n });\n if (p.skipForm) {\n r?.();\n return;\n }\n jt({ id: \"escalation-form\", formMessageId: p.formMessageId, sessionId: m.sessionId, visitorId: m.visitorId, waitingSetAt: p.waitingSetAt });\n } catch (m) {\n const h = m instanceof Error ? m.message : String(m);\n u(/RATE_LIMITED|Too many/.test(h) ? i.handoffRateLimited : i.handoffFailed);\n } finally {\n l(!1);\n }\n }\n }\n return { requestHuman: d, busy: a, error: c };\n}\nfunction rx({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visitorId: i, isLoading: o, sessionNotFound: a, resumeFailed: l, isOrgDeleted: c, ensureSession: u, startFresh: d, maintenance: m }) {\n const h = I(), { conversations: p, sessionStatus: x, isLoading: w, isStreaming: b, attachments: v } = Jg({ sessionId: r, visitorId: i });\n ex(p), tx({ sessionId: r, visitorId: i }), N(() => {\n const R = ir.peek();\n if (R === null || !p || p.length === 0)\n return;\n const { waitingSetAt: ae } = R;\n p.some(\n (y) => y._creationTime > ae && (y.noticeKind === \"agent-joined\" || !!y.authorId)\n ) && Zl();\n }, [p]);\n const k = Jl({ sessionId: r, visitorId: i, ensureSession: u }), A = re(\n (() => {\n const R = bn.peek();\n return R !== null ? R : _o.peek() && We.peek() !== null ? \"resume\" : \"fresh\";\n })()\n ).current, { requestHuman: P, error: M } = Ac({ sessionId: r, visitorId: i, ensureSession: u }), T = Tc(() => {\n P();\n });\n return N(() => {\n A === \"escalate\" && T();\n }, [A]), N(() => {\n bn.value = null;\n }, []), N(() => {\n We.peek() !== null && u();\n }, [u]), N(() => {\n i && jo(i);\n }, [i]), c ? /* @__PURE__ */ s(\"div\", { class: \"jex-chat-messages\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-session-notice\", children: h.chatNoLongerAvailable }) }) : A === \"resume\" && !Lt.value && (!r || w) ? /* @__PURE__ */ s(Cc, { message: h.resumeConversation }) : /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\n Xg,\n {\n conversations: p,\n attachments: v,\n greeting: t,\n botName: e,\n starterQuestions: n,\n onPickStarter: (R) => {\n k(R);\n },\n sessionNotFound: a,\n resumeFailed: l,\n onStartFresh: d,\n sessionId: r,\n visitorId: i\n }\n ),\n ir.value !== null && /* @__PURE__ */ s(Zg, {}),\n M && /* @__PURE__ */ s(\"div\", { class: \"jex-session-error-notice\", role: \"alert\", style: { margin: \"8px 16px 0\" }, children: M }),\n /* @__PURE__ */ s(\n tp,\n {\n sessionId: r,\n visitorId: i,\n isLoading: o,\n isStreaming: b,\n sessionStatus: x,\n ensureSession: u,\n onStartFresh: d,\n maintenance: m\n }\n )\n ] });\n}\nfunction ix({ formMessageId: t, sessionId: e, visitorId: n, availability: r }) {\n const i = I(), o = ur.value, a = /^https?:\\/\\//i.test(o) ? o : cr, [l, c] = O(\"\"), [u, d] = O(\"\"), m = r && !r.anyOnline ? i.escalationOfflineSubtitle : i.escalationSubtitle, h = mc(), p = li(), [x, w] = O(!1), [b, v] = O(null);\n async function k(A) {\n A.preventDefault(), w(!0), v(null);\n try {\n await h({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: l.trim(),\n visitorEmail: u.trim(),\n locale: Qe.value\n }), So();\n } catch (P) {\n ne.error(\"[EscalationFormScreen] Submit failed:\", P), v(i.escalationSubmitFailed);\n } finally {\n w(!1);\n }\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-form-title\", children: i.escalationFormTitle }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-escalation-subtitle\", children: m }),\n b && /* @__PURE__ */ s(\"div\", { class: \"jex-form-error\", role: \"alert\", children: b }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (A) => {\n k(A);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: i.escalationNameLabel,\n value: l,\n required: !0,\n onInput: (A) => {\n c(A.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: i.escalationEmailLabel,\n value: u,\n required: !0,\n onInput: (A) => {\n d(A.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-form-submit\",\n type: \"submit\",\n disabled: x,\n onClick: () => {\n p({ sessionId: e, visitorId: n, formMessageId: t });\n },\n children: i.escalationSubmit\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-consent\", style: { textAlign: \"center\", margin: \"16px 0 8px 0\" }, children: [\n i.escalationConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: a, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: i.escalationPrivacyLinkText }),\n \".\"\n ] })\n ] });\n}\nfunction ox(t, e) {\n const n = St(\n oe.functions.chat.public.availability.getChatAvailability,\n t && e ? { orgSlug: t, projSlug: e } : \"skip\"\n ), r = St(\n oe.functions.chat.public.availability.getOrgAvailability,\n t && !e ? { orgSlug: t } : \"skip\"\n );\n return e ? n : r;\n}\nfunction Rc(t) {\n return t?.anyOnline ? \"online\" : t?.anyAway ? \"away\" : \"offline\";\n}\nfunction Cs({ sessionId: t, visitorId: e, ensureSession: n, availability: r }) {\n const i = I(), { requestHuman: o, busy: a, error: l } = Ac({ sessionId: t, visitorId: e, ensureSession: n }), c = Ml(), u = `jex-presence-dot--${Rc(r)}`, d = c ? i.handoffMaintenance : r ? r.anyOnline ? i.handoffAvailable : i.handoffOffline : i.talkToHuman;\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-handoff\",\n type: \"button\",\n onClick: () => {\n o();\n },\n disabled: a || c,\n \"aria-label\": i.talkToHumanAria,\n title: d,\n children: [\n /* @__PURE__ */ s(\"svg\", { width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M3 14v-3a9 9 0 0 1 18 0v3\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M21 14a2 2 0 0 1-2 2h-1a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h3z\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M3 14a2 2 0 0 0 2 2h1a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3z\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M21 14v3a4 4 0 0 1-4 4h-3\" })\n ] }),\n r !== void 0 && /* @__PURE__ */ s(\"span\", { class: `jex-presence-dot ${u}`, \"aria-hidden\": \"true\" })\n ]\n }\n ),\n l && /* @__PURE__ */ s(\"div\", { class: \"jex-handoff-error\", role: \"alert\", children: l })\n ] });\n}\nasync function ax() {\n const t = Rl.value;\n if (!t)\n return ne.warn(\"[JexityChat] Bootstrap refresh skipped — inputs missing\"), { ok: !1, reason: \"no-inputs\" };\n const e = await Nl(t.orgSlug, t.siteUrl, t.projSlug);\n if (!e.ok)\n return ne.warn(\"[JexityChat] Bootstrap refresh failed:\", e.error), { ok: !1, reason: e.error };\n const n = e.token;\n return Dt.value = n, { ok: !0, token: n };\n}\nfunction As(t) {\n return Xl(t) ? \"maintenance\" : Ec(t) ? \"unauthorized\" : t instanceof Error && /network|fetch|failed to fetch/i.test(t.message) ? \"network\" : \"unknown\";\n}\nfunction Ec(t) {\n return t instanceof $r ? t.data?.code === \"UNAUTHORIZED_ORIGIN\" : !1;\n}\nfunction sx(t = 1e4) {\n return Dt.value ? Promise.resolve(Dt.value) : new Promise((e) => {\n let n = !1;\n const r = (a) => {\n n || (n = !0, clearTimeout(i), o(), e(a));\n }, i = setTimeout(() => {\n r(null);\n }, t), o = Dt.subscribe((a) => {\n a && r(a);\n });\n });\n}\nfunction lx(t, e) {\n const n = re(null), r = xn(!1), i = xn(!1), o = xn(!1), a = xn(null), l = Ct(oe.functions.chat.public.sessions.createOrResume), c = Z(async (p) => {\n const x = await sx();\n if (!x)\n return ne.warn(\"[JexityChat] No bootstrap token after 10s — session creation blocked.\"), Lt.value = \"no-token\", null;\n const w = (k) => ({\n orgSlug: t,\n ...e ? { projSlug: e } : {},\n visitorId: p,\n bootstrapToken: k,\n locale: Qe.value,\n ...Vr.value ? { source: Vr.value } : {},\n ...typeof window < \"u\" ? { pagePath: window.location.pathname } : {}\n });\n Ji.value = !0;\n let b;\n try {\n try {\n b = await l(w(x));\n } catch (k) {\n if (!Ec(k))\n throw k;\n const A = await ax();\n if (!A.ok)\n return Lt.value = A.reason === \"rate_limited\" ? \"network\" : \"unauthorized\", null;\n b = await l(w(A.token));\n }\n } finally {\n Ji.value = !1;\n }\n Lt.value = null, a.value = b.status;\n const v = { sessionId: b.sessionId, visitorId: p };\n return n.current = v, { session: v, result: b };\n }, [t, e, l, a]), u = Z(async () => {\n if (n.current)\n return n.current;\n if (o.value)\n return null;\n r.value = !0;\n const p = We.value !== null, x = We.value ?? qa();\n try {\n const w = await c(x);\n return w ? (p && w.result.isNew && (i.value = !0, o.value = !0), w.session) : null;\n } catch (w) {\n return ne.error(\"[JexityChat] Failed to create session:\", w), Lt.value = As(w), null;\n } finally {\n r.value = !1;\n }\n }, [c, r, i, o]), d = Z(() => {\n n.current = null, i.value = !1, o.value = !1, Ga(), _n.value = null;\n }, [i, o]);\n N(() => Qh(d), [d]);\n const m = Z(async () => {\n n.current = null, o.value = !1, i.value = !1, Ga(), _n.value = null;\n const p = qa();\n r.value = !0;\n try {\n return (await c(p))?.session ?? null;\n } catch (x) {\n return ne.error(\"[JexityChat] Failed to create fresh session:\", x), Lt.value = As(x), null;\n } finally {\n r.value = !1;\n }\n }, [c, r, i, o]), h = n.current;\n return {\n sessionId: h?.sessionId ?? null,\n visitorId: h?.visitorId ?? null,\n isLoading: r.value,\n sessionNotFound: i.value,\n resumeFailed: o.value,\n sessionStatus: a.value,\n isOrgDeleted: a.value === \"org_deleted\",\n ensureSession: u,\n startFresh: m,\n resetSession: d\n };\n}\nfunction cx({ botName: t, availability: e, onResetSession: n }) {\n const r = I(), [i, o] = O(\"\"), a = e?.anyOnline === !0, l = Rc(e);\n function c() {\n jr(), bn.value = \"escalate\", n(), za(), jt({ id: \"chat\" });\n }\n function u() {\n jr(), bn.value = \"fresh\", n(), za(), jt({ id: \"chat\" });\n }\n function d(h) {\n jr(), bn.value = \"resume\", n(), Fa(h), jt({ id: \"chat\" });\n }\n function m(h) {\n h.preventDefault();\n const p = i.trim().toUpperCase();\n p && (jr(), bn.value = \"resume\", n(), Fa(p), jt({ id: \"chat\" }));\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-home\", children: [\n tr.value && /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt\", role: \"status\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt-text\", children: r.sessionLocked }) }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-home-hero\",\n type: \"button\",\n onClick: c,\n \"aria-label\": r.talkToHumanAria,\n title: e ? a ? r.handoffAvailable : r.handoffOffline : r.talkToHuman,\n children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-avatar\", children: [\n /* @__PURE__ */ s(Bl, { size: 24 }),\n e !== void 0 && /* @__PURE__ */ s(\"span\", { class: `jex-home-status-dot jex-home-status-dot--${l}`, \"aria-hidden\": \"true\" })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-hero-text\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-home-title\", children: t }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-status\", children: [\n e === void 0 ? r.homeStatusOffline : a ? r.homeStatusOnline : r.homeStatusOffline,\n \" | \",\n r.talkToHuman\n ] })\n ] })\n ]\n }\n ),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-actions\", children: [\n Me.value.length > 0 && /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-section-label\", children: r.pickUpWhereLeftOff }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-history\", children: Me.value.slice().reverse().map((h) => /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-home-resume-card\",\n onClick: () => {\n d(h.ref);\n },\n children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-resume-top\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-label\", children: r.resumeListLabel }),\n /* @__PURE__ */ s(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\", class: \"jex-home-resume-arrow\", children: /* @__PURE__ */ s(\"path\", { d: \"M6 3l5 5-5 5\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\" }) })\n ] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-ref\", children: h.ref }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-meta\", children: r.resumeListTimestamp.replace(\"{minutes}\", String(Math.max(1, Math.round((Date.now() - h.lastActivityAt) / 6e4)))) })\n ]\n },\n h.ref\n )) })\n ] }),\n /* @__PURE__ */ s(\"button\", { class: \"jex-home-new-btn\", onClick: u, children: Me.value.length > 0 ? r.startNewConversation : r.chatWith })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-lookup-section\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-lookup-label\", children: r.haveReferenceNumber }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-home-lookup\", onSubmit: m, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-home-lookup-input\",\n type: \"text\",\n placeholder: r.referencePlaceholder,\n value: i,\n onInput: (h) => {\n o(h.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-home-lookup-submit\",\n type: \"submit\",\n disabled: !i.trim(),\n children: r.resume\n }\n )\n ] })\n ] })\n ] });\n}\nfunction ux({ title: t }) {\n const e = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-selection\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-selection-title\", children: e.howCanWeHelp }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-selection-options\", children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => jt({ id: \"chat\" }),\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-icon\", children: \"💬\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-label\", children: e.chatWith.replace(\"{title}\", t) }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-sub\", children: e.getInstantHelp })\n ]\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => jt({ id: \"form\" }),\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-icon\", children: \"📝\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-label\", children: e.submitTicket }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-sub\", children: e.replyByEmail })\n ]\n }\n )\n ] })\n ] });\n}\nfunction dx() {\n const t = I(), [e, n] = O(\"\"), [r, i] = O(\"\"), [o, a] = O(\"\");\n async function l(c) {\n c.preventDefault(), Zi({ id: \"loading\", message: t.submittingTicket }), await new Promise((d) => {\n setTimeout(d, 1200);\n });\n const u = \"JEX-\" + Math.random().toString(36).slice(2, 8).toUpperCase();\n Zi({ id: \"confirmation\", ref: u });\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-form-title\", children: t.submitTicket }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (c) => {\n l(c);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: t.yourName,\n value: e,\n required: !0,\n onInput: (c) => {\n n(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: t.yourEmail,\n value: r,\n required: !0,\n onInput: (c) => {\n i(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n class: \"jex-form-textarea\",\n placeholder: t.howCanWeHelp,\n value: o,\n required: !0,\n onInput: (c) => {\n a(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"button\", { class: \"jex-form-submit\", type: \"submit\", children: t.submit })\n ] })\n ] });\n}\nfunction hx({ ticketRef: t }) {\n const e = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation-icon\", \"aria-hidden\": \"true\", children: \"✓\" }),\n /* @__PURE__ */ s(\"h2\", { class: \"jex-confirmation-title\", children: e.ticketSubmitted }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-confirmation-body\", children: e.yourReferenceNumber }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation-ref\", children: t }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-confirmation-hint\", children: e.sentToEmailHint }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-confirmation-done\",\n onClick: () => {\n he.value = !1;\n },\n children: e.done\n }\n )\n ] });\n}\nfunction fx({ message: t, onRetry: e, onBack: n }) {\n const r = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-overlay jex-error\", children: [\n /* @__PURE__ */ s(\"p\", { class: \"jex-error-message\", children: t }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-error-actions\", children: [\n e && /* @__PURE__ */ s(\"button\", { class: \"jex-error-retry\", onClick: e, children: r.tryAgain }),\n n && /* @__PURE__ */ s(\"button\", { class: \"jex-error-back\", onClick: n, children: r.goBack })\n ] })\n ] });\n}\nfunction Rs({ greeting: t, starterQuestions: e, title: n, botName: r, availability: i, sessionId: o, visitorId: a, isLoading: l, sessionNotFound: c, resumeFailed: u, isOrgDeleted: d, ensureSession: m, startFresh: h, resetSession: p, maintenance: x }) {\n const w = Ue.value, b = w[w.length - 1], v = [...w].reverse().find(\n (k) => k.id === \"confirmation\"\n );\n return /* @__PURE__ */ s(\"div\", { class: \"jex-screen-container\", children: [\n b.id === \"home\" && /* @__PURE__ */ s(cx, { botName: r, availability: i, onResetSession: p }),\n b.id === \"selection\" && /* @__PURE__ */ s(ux, { title: n }),\n b.id === \"form\" && /* @__PURE__ */ s(dx, {}),\n b.id === \"escalation-form\" && /* @__PURE__ */ s(\n ix,\n {\n formMessageId: b.formMessageId,\n sessionId: b.sessionId,\n visitorId: b.visitorId,\n availability: i,\n waitingSetAt: b.waitingSetAt\n }\n ),\n b.id === \"confirmation\" && v && /* @__PURE__ */ s(hx, { ticketRef: v.ref }),\n b.id === \"chat\" && /* @__PURE__ */ s(\n rx,\n {\n greeting: t,\n botName: r,\n starterQuestions: e,\n sessionId: o,\n visitorId: a,\n isLoading: l,\n sessionNotFound: c,\n resumeFailed: u,\n isOrgDeleted: d,\n ensureSession: m,\n startFresh: h,\n maintenance: x\n }\n ),\n b.id === \"loading\" && /* @__PURE__ */ s(Cc, { message: b.message }),\n b.id === \"error\" && /* @__PURE__ */ s(\n fx,\n {\n message: b.message,\n onRetry: () => Zi({ id: \"loading\" }),\n onBack: So\n }\n )\n ] });\n}\nfunction px({ options: t }) {\n return Ch({\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n preToken: t.bootstrapToken,\n convexUrl: t.convexUrl,\n preAllowedUrls: t.allowedUrls ?? [],\n preExcludedPaths: t.excludePaths,\n preMaintenance: t.maintenance\n }), Eh() ? /* @__PURE__ */ s(mx, { options: t }) : null;\n}\nfunction mx({ options: t }) {\n const e = Ml(), n = Sh(t.orgSlug, t.projSlug, t.convexUrl, t.preloadedConfig);\n Lh(t.parentOrigin), N(() => (Uh(), Vh(), () => {\n Xi.value = !1;\n }), []);\n const { sessionId: r, visitorId: i, isLoading: o, sessionNotFound: a, resumeFailed: l, isOrgDeleted: c, ensureSession: u, startFresh: d, resetSession: m } = lx(t.orgSlug, t.projSlug), h = ox(t.orgSlug, t.projSlug), p = wh(t, n.config), x = Nt.value, w = Xi.value, b = n.config !== null || x !== void 0 || n.settled, v = n.config !== null ? p.sessionTimeoutMs : x !== void 0 ? x : p.sessionTimeoutMs;\n N(() => {\n Qe.value = Nh(p.locale, p.allowVisitorLocale);\n }, [p.locale, p.allowVisitorLocale]), N(() => {\n ur.value = p.privacyPolicyUrl ?? cr, wo.value = p.privacyNoticeStyle, Al.value = p.visitorAttachmentsEnabled;\n }, [p.privacyNoticeStyle, p.privacyPolicyUrl, p.visitorAttachmentsEnabled]), N(() => {\n if (!he.value || p.mode === \"embedded\" || !window.matchMedia(\"(max-width: 480px), (pointer: coarse) and (max-width: 768px)\").matches)\n return;\n const me = document.documentElement.style.overflow;\n return document.documentElement.style.overflow = \"hidden\", () => {\n document.documentElement.style.overflow = me;\n };\n }, [he.value, p.mode]), N(() => {\n if (w && b && p.mode !== \"embedded\" && v !== null)\n try {\n return Kh(v);\n } catch (D) {\n ne.warn(\"[JexityChat] Idle-lock watcher failed to start:\", D);\n return;\n }\n }, [w, p.mode, b, v]), N(() => {\n if (!w || !b)\n return;\n const { activeRefPruned: D } = Bh(v);\n D && to();\n }, [w, b, v]);\n const k = p.position === \"bottom-left\", A = p.colorScheme === \"dark\" || p.colorScheme === \"light\" ? p.colorScheme : \"\", P = Yh({\n ...t,\n primaryColor: p.primaryColor,\n accentColor: p.accentColor,\n fontFamily: p.fontFamily,\n fontSize: p.fontSize,\n borderRadius: p.borderRadius,\n windowWidth: p.windowWidth,\n windowHeight: p.windowHeight,\n triggerOffsetX: p.triggerOffsetX,\n triggerOffsetY: p.triggerOffsetY\n }), M = p.mode === \"embedded\", T = t.trigger === \"none\", $ = t.windowPosition === \"middle-center\", R = Ue.value, V = R[R.length - 1]?.id === \"chat\", y = n.config !== null || M || !!t.parentOrigin, se = y ? P : { ...P, visibility: \"hidden\" }, C = lf(t.orgSlug, t.projSlug);\n return N(() => {\n if (M || T || !y || p.proactiveMode === \"off\" || Wa(C))\n return;\n const D = t.proactiveAlreadyElapsed ? 0 : p.proactiveDelaySeconds * 1e3, me = window.setTimeout(() => {\n const q = uf({\n mode: p.proactiveMode,\n isOpen: he.peek(),\n hasHistory: _o.peek(),\n dismissed: Wa(C)\n });\n q === \"teaser\" ? Wr.value = !0 : q === \"open\" && (he.value = !0);\n }, D);\n return () => {\n window.clearTimeout(me);\n };\n }, [M, T, y, p.proactiveMode, p.proactiveDelaySeconds, C, t.proactiveAlreadyElapsed]), /* @__PURE__ */ s(\n \"div\",\n {\n class: `jex-widget ${A}`.trim(),\n style: se,\n children: M ? /* @__PURE__ */ s(\"div\", { class: \"jex-embedded\", children: [\n /* @__PURE__ */ s(\n Va,\n {\n title: p.title,\n rightAction: V ? /* @__PURE__ */ s(Cs, { sessionId: r, visitorId: i, ensureSession: u, availability: h }) : null,\n showClose: !M,\n showLocalePicker: p.allowVisitorLocale\n }\n ),\n /* @__PURE__ */ s(\n Rs,\n {\n greeting: p.greeting,\n starterQuestions: p.starterQuestions,\n title: p.title,\n botName: p.botName,\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n availability: h,\n sessionId: r,\n visitorId: i,\n isLoading: o,\n sessionNotFound: a,\n resumeFailed: l,\n isOrgDeleted: c,\n ensureSession: u,\n startFresh: d,\n resetSession: m,\n maintenance: e\n }\n ),\n !p.hideBranding && /* @__PURE__ */ s(Ha, {})\n ] }) : /* @__PURE__ */ s(\"div\", { class: `jex-container${k ? \" jex-pos-left\" : \"\"}`, children: [\n he.value && /* @__PURE__ */ s(\"div\", { class: `jex-chat-window${$ ? \" jex-win-center\" : \"\"}`, children: [\n /* @__PURE__ */ s(\n Va,\n {\n title: p.title,\n rightAction: V ? /* @__PURE__ */ s(Cs, { sessionId: r, visitorId: i, ensureSession: u, availability: h }) : null,\n showLocalePicker: p.allowVisitorLocale\n }\n ),\n /* @__PURE__ */ s(\n Rs,\n {\n greeting: p.greeting,\n starterQuestions: p.starterQuestions,\n title: p.title,\n botName: p.botName,\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n availability: h,\n sessionId: r,\n visitorId: i,\n isLoading: o,\n sessionNotFound: a,\n resumeFailed: l,\n isOrgDeleted: c,\n ensureSession: u,\n startFresh: d,\n resetSession: m,\n maintenance: e\n }\n ),\n !p.hideBranding && /* @__PURE__ */ s(Ha, {})\n ] }),\n Wr.value && !he.value && !T && /* @__PURE__ */ s(df, { title: p.title, message: p.greeting, guardKey: C }),\n !T && /* @__PURE__ */ s(\n sf,\n {\n iconOption: p.triggerIcon,\n radius: p.triggerRadius,\n label: p.triggerLabel\n }\n )\n ] })\n }\n );\n}\nconst gx = `.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: \"Inter\", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:var(--jex-offset-y, 24px);right:var(--jex-offset-x, 24px);display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:var(--jex-offset-x, 24px);align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-fab-pulse{animation:jex-fab-pulse 2.4s ease-out infinite}@keyframes jex-fab-pulse{0%{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 50%,transparent)}70%{box-shadow:var(--jex-shadow),0 0 0 14px color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}to{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.jex-fab-pulse{animation:none}}.jex-proactive-teaser{display:flex;align-items:flex-start;gap:10px;width:280px;max-width:calc(100vw - 48px);padding:12px 14px;align-self:flex-end;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:var(--jex-radius);box-shadow:var(--jex-shadow);cursor:pointer;text-align:left;animation:jex-teaser-in .22s ease-out}.jex-proactive-avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;background:var(--jex-bg-avatar-agent);color:var(--jex-text-avatar-agent)}.jex-proactive-body{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-proactive-title{font-weight:600;font-size:13px;line-height:1.2}.jex-proactive-message{font-size:13px;line-height:1.35;color:var(--jex-text-muted)}.jex-proactive-dismiss{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-4px -4px 0 0;padding:0;border:none;background:transparent;color:var(--jex-text-muted);cursor:pointer;border-radius:9999px}.jex-proactive-dismiss:hover{background:var(--jex-bg-msg-bot)}@keyframes jex-teaser-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.jex-proactive-teaser{animation:none}}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right;touch-action:manipulation}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.jex-chat-window.jex-win-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;max-height:82vh;animation:jexCenterIn .34s cubic-bezier(.16,1,.3,1)}@keyframes jexCenterIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.jex-chat-window.jex-win-center{animation:none}}@media(max-width:480px),(pointer:coarse)and (max-width:768px){.jex-chat-window,.jex-chat-window.jex-win-center{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;transform:none;animation:jexSlideUpMobile .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.jex-container:has(.jex-chat-window) .jex-floating-button{display:none}}@keyframes jexSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.jex-chat-header{padding:14px 16px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info{display:flex;align-items:center;gap:8px;min-width:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-locale-picker{position:relative;display:flex}.jex-flag{display:inline-flex;width:20px;height:14px;flex-shrink:0;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,currentColor 25%,transparent)}.jex-flag svg{width:100%;height:100%}.jex-header-locale{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-locale:hover,.jex-header-locale[aria-expanded=true]{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-locale-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;display:flex;flex-direction:column;min-width:140px;padding:4px;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:10px;box-shadow:0 8px 24px #0f172a29}.jex-locale-option{display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:13px;line-height:1.2;text-align:left;background:transparent;border:none;border-radius:6px;color:inherit;cursor:pointer}.jex-locale-option:hover,.jex-locale-option:focus-visible{background:color-mix(in srgb,currentColor 8%,transparent)}.jex-locale-option.jex-locale-active{font-weight:600}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.jex-header-handoff{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jex-header-handoff:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.jex-header-handoff:disabled{opacity:.5;cursor:not-allowed}.jex-header-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-close:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-handoff-error{position:absolute;top:100%;right:8px;background:#fee;color:#b00;padding:4px 8px;font-size:12px;border-radius:4px}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer;animation:jexFadeIn .4s ease both}.jex-home-hero:disabled{cursor:default;opacity:.7}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--jex-dot-color, #9ca3af);border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}.jex-home-status-dot--online{--jex-dot-color: #10b981}.jex-home-status-dot--away{--jex-dot-color: #fbbf24}.jex-home-status-dot--offline{--jex-dot-color: #9ca3af}@keyframes jexPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--jex-dot-color, #9ca3af) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--jex-dot-color, #9ca3af) 0%,transparent)}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:13px;font-weight:500;color:var(--jex-text-muted);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--jex-text-muted)}.jex-home-lookup-section{display:flex;flex-direction:column;gap:8px;margin-top:auto}.jex-home-lookup-label{font-size:12px;font-weight:500;color:var(--jex-text-muted)}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-history{display:flex;flex-direction:column;gap:8px}.jex-home-resume-meta{font-size:12px;color:var(--jex-text-muted);margin-top:4px}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start;flex-direction:column;align-items:stretch;gap:6px;max-width:92%}.jex-message-head{display:flex;align-items:center;gap:8px;padding-left:2px}.jex-message-head .jex-avatar{margin-bottom:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author{font-size:13px;font-weight:600;color:var(--jex-text-main);line-height:1.2}.jex-quote-btn{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--jex-border-window);border-radius:50%;background:var(--jex-bg-window);color:var(--jex-text-muted, #6b7280);box-shadow:0 1px 4px #0000001f;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity .12s,transform .12s,background .15s,color .15s}.jex-quote-btn:hover{background:var(--jex-bg-msg-bot);color:var(--jex-primary, #115A62);transform:scale(1)}.jex-quote-btn:focus-visible{opacity:1;transform:scale(1);outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}@media(hover:hover){.jex-message:hover .jex-quote-btn{opacity:1;transform:scale(1)}}@media(hover:none){.jex-quote-btn{opacity:1;transform:scale(1)}}.jex-message.user .jex-mention{font-weight:700;background:#ffffff38;border-radius:4px;padding:0 3px}.jex-quoted-chip{display:flex;align-items:flex-start;gap:4px;width:100%;margin-bottom:6px;padding-bottom:6px;border:none;border-bottom:1px solid var(--jex-border-window);background:transparent;color:inherit;font:inherit;font-size:12px;opacity:.8;text-align:left;cursor:pointer}.jex-quoted-chip:hover{opacity:1}.jex-quoted-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-quoted-chip-author{font-weight:600}.jex-quoted-list{display:flex;flex-direction:column}.jex-quoted-list .jex-quoted-chip{margin-bottom:3px;padding-bottom:3px}.jex-quoted-list .jex-quoted-chip:last-child{margin-bottom:6px;padding-bottom:6px}.jex-msg-highlight{outline:2px solid var(--jex-primary, #115A62);outline-offset:2px;transition:outline-color .2s}.jex-reply-preview{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);font-size:12px;color:var(--jex-text-muted)}.jex-reply-preview-icon{flex:0 0 auto;color:var(--jex-primary)}.jex-reply-preview-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-reply-preview-author{font-weight:600;color:var(--jex-text-main)}.jex-reply-preview-cancel{flex:0 0 auto;display:inline-flex;padding:2px;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted);cursor:pointer}.jex-reply-preview-cancel:hover{color:var(--jex-text-main);background:#0000000f}.jex-message{position:relative;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-radius:16px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md img{display:block;width:auto;height:auto;max-width:100%;max-height:260px;margin:4px 0;border-radius:8px;background:#0000000a}.jex-md-img-link{display:inline-block;text-decoration:none;cursor:zoom-in}.jex-md-img-link:hover{opacity:1}.jex-md-img-link:hover img{opacity:.9}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);background:color-mix(in srgb,currentColor 6%,transparent);border-radius:0 8px 8px 0;margin:0 0 8px;padding:6px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.jex-md table{width:100%;border-collapse:collapse;margin:0 0 8px;font-size:.95em}.jex-md table:last-child{margin-bottom:0}.jex-md th,.jex-md td{text-align:left;padding:6px 10px;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}.jex-md th{font-weight:600;border-bottom-width:2px}.jex-md tr:last-child td{border-bottom:none}.jex-md tbody tr:nth-child(2n) td{background:color-mix(in srgb,currentColor 5%,transparent)}.jex-md .jex-card-grid{display:flex;flex-direction:column;gap:8px;margin:0 0 8px}.jex-md .jex-card-grid:last-child{margin-bottom:0}.jex-md .jex-card{border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);border-radius:10px;padding:10px 12px}.jex-md .jex-card-title{font-weight:700;margin-bottom:4px}.jex-md .jex-card>:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:\"◊\";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:12px 16px;border-top:1px solid var(--jex-border-window);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.jex-chat-input-composer-gate{position:relative}.jex-chat-input-composer-gate-open{z-index:2}.jex-chat-input-composer-gate-open .jex-composer-card{pointer-events:none}.jex-composer-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px 8px;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:16px;cursor:text;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.jex-composer-card:focus-within{border-color:var(--jex-primary);background:var(--jex-bg-window);box-shadow:0 0 0 3px color-mix(in srgb,var(--jex-primary, #115A62) 14%,transparent)}.jex-composer-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 4px}.jex-attachment-chip{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);flex-shrink:0;box-shadow:0 1px 2px #0000000f}.jex-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.jex-attachment-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#0f172ac7;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s ease,transform .12s ease}.jex-attachment-chip:hover .jex-attachment-remove,.jex-attachment-chip:focus-within .jex-attachment-remove{opacity:1}.jex-attachment-remove:before{content:\"\";position:absolute;inset:-4px}@media(hover:none){.jex-attachment-remove{opacity:1}}.jex-attachment-remove:hover{transform:scale(1.08)}.jex-attachment-chip:has(.jex-attachment-file){width:auto;max-width:160px}.jex-attachment-file{display:flex;align-items:center;gap:6px;height:100%;padding:0 24px 0 10px;font-size:12px;color:var(--jex-text-main, #0f172a)}.jex-attachment-file svg{flex-shrink:0}.jex-attachment-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-attachment-chip[data-status=uploading]{opacity:.6}.jex-attachment-chip[data-status=failed]{box-shadow:0 0 0 2px var(--jex-text-error, #991b1b)}.jex-attachment-chip[data-status=failed] .jex-attachment-remove{opacity:1}.jex-attachment-chip{transition:opacity .15s ease,box-shadow .15s ease}.jex-attachment-note{margin:0 2px 4px;font-size:11px;line-height:1.4;color:var(--jex-text-muted, #64748b)}.jex-attachment-status{margin:0 0 6px;font-size:12px;line-height:1.4;color:var(--jex-text-muted, #64748b)}.jex-attachment-status:empty{margin:0}.jex-attachment-status-error{color:var(--jex-text-error, #991b1b)}.jex-msg-files{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 2px}.jex-msg-files-user{justify-content:flex-end}.jex-msg-files-bot{justify-content:flex-start}.jex-msg-file-thumb{display:block;width:96px;height:96px;border-radius:14px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-window, rgba(226, 232, 240, .8));transition:opacity .15s ease}.jex-msg-file-thumb:hover{opacity:.9}.jex-msg-file-thumb img{width:100%;height:100%;object-fit:cover;display:block}.jex-msg-file-card{display:flex;align-items:center;gap:8px;max-width:220px;padding:8px 10px;border-radius:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-window, rgba(226, 232, 240, .8));color:var(--jex-text-main, #0f172a);text-decoration:none;transition:background-color .15s ease,opacity .15s ease}a.jex-msg-file-card:hover{background:var(--jex-border-window, rgba(226, 232, 240, .8))}.jex-msg-file-card svg{flex-shrink:0;color:var(--jex-text-muted, #64748b)}.jex-msg-file-card[aria-disabled=true],.jex-msg-file-pending{opacity:.7}.jex-msg-files-error{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin:0 0 4px;font-size:12px;line-height:1.4;color:var(--jex-text-error, #991b1b)}.jex-msg-files-retry{padding:0;border:none;background:none;font:inherit;font-weight:600;color:var(--jex-primary, #115A62);cursor:pointer;transition:opacity .15s ease}.jex-msg-files-retry:hover,.jex-msg-files-retry:focus-visible{opacity:.75}.jex-msg-file-text{display:flex;flex-direction:column;min-width:0}.jex-msg-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.jex-msg-file-meta{font-size:11px;color:var(--jex-text-muted, #64748b)}.jex-msg-file-unavailable{border-style:dashed;background:transparent;color:var(--jex-text-muted, #64748b)}@media(prefers-reduced-motion:reduce){.jex-attachment-chip,.jex-msg-file-thumb,.jex-msg-file-card{transition:none}}.jex-composer-textarea{width:100%;min-height:22px;background:transparent;border:none;outline:none;resize:none;padding:2px 4px;color:var(--jex-text-main);font-family:inherit;font-size:16px;line-height:1.45;overflow-y:hidden}.jex-composer-textarea::placeholder{color:var(--jex-text-muted);opacity:.85}.jex-composer-textarea:disabled{cursor:not-allowed;opacity:.7}.jex-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.jex-composer-actions-left{display:inline-flex;align-items:center;gap:4px}.jex-attach-btn{width:30px;height:30px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--jex-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.jex-attach-btn:hover:not(:disabled){background:color-mix(in srgb,var(--jex-text-muted, #64748b) 12%,transparent);color:var(--jex-text-main)}.jex-attach-btn:active:not(:disabled){transform:scale(.92)}.jex-attach-btn:disabled{opacity:.4;cursor:not-allowed}.jex-mic-btn{position:relative}.jex-mic-btn svg{position:relative}.jex-mic-ring{position:absolute;inset:0;border-radius:50%;background:var(--jex-primary);opacity:0;transition:transform 80ms linear,opacity .12s ease;pointer-events:none}.jex-mic-btn-listening{color:var(--jex-primary)}@keyframes jex-mic-pulse{0%,to{opacity:.2}50%{opacity:.45}}@media(prefers-reduced-motion:reduce),(pointer:coarse){.jex-mic-ring{transition:none}.jex-mic-btn-listening .jex-mic-ring{animation:jex-mic-pulse 1.6s ease-in-out infinite}}.jex-voice-status{margin:0 0 6px;font-size:12px;line-height:1.4;color:var(--jex-text-muted, #64748b)}.jex-voice-status:empty{margin:0}.jex-voice-status-error{color:var(--jex-text-error, #991b1b)}.jex-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jex-rate-limit-notice{flex:0 0 auto;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-session-error-notice{flex:0 0 auto;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-error, #fef2f2);border:1px solid var(--jex-border-error, #fecaca);color:var(--jex-text-error, #991b1b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:color-mix(in srgb,var(--jex-text-muted, #64748b) 18%,transparent);color:var(--jex-text-muted);border:none;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease;flex-shrink:0}.jex-send-btn-active{background:var(--jex-bg-send-btn, var(--jex-primary));color:var(--jex-text-header, #fff)}.jex-send-btn-active:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-send-btn:active:not(:disabled){transform:scale(.9)}.jex-send-btn:disabled{opacity:.45;cursor:default}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-privacy-notice-link,.jex-privacy-chip-link{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--jex-primary) 50%,transparent);transition:text-decoration-color .15s}.jex-privacy-notice-link:hover,.jex-privacy-chip-link:hover{text-decoration-color:var(--jex-primary)}.jex-privacy-chip{align-self:center;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);font-size:10px;font-weight:650;line-height:1.2}.jex-privacy-chip-icon{display:inline-flex;flex-shrink:0}.jex-privacy-chip-link{color:inherit;text-decoration:none}.jex-privacy-explicit{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;min-height:100%;padding:10px 12px 12px;border:1px solid var(--jex-border-window);border-radius:14px 14px 10px 10px;background:var(--jex-bg-window);box-shadow:0 -12px 36px #0f172a24;pointer-events:auto}.jex-privacy-explicit-content{display:flex;align-items:flex-start;gap:10px}.jex-privacy-explicit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);flex-shrink:0}.jex-privacy-explicit-copy{min-width:0;flex:1}.jex-privacy-explicit-title{color:var(--jex-text-main);font-size:12px;font-weight:750;line-height:1.2;margin-bottom:3px}.jex-privacy-explicit-body{margin:0;color:var(--jex-text-muted);font-size:10px;line-height:1.35}.jex-privacy-explicit-button{width:100%;border:none;border-radius:10px;background:var(--jex-bg-send-btn);color:var(--jex-text-header);cursor:pointer;font-family:inherit;font-size:12px;font-weight:750;padding:9px 12px;transition:background .15s ease,transform .12s ease}.jex-privacy-explicit-button:hover{background:var(--jex-primary-hover)}.jex-privacy-explicit-button:active{transform:scale(.98)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}@media(pointer:coarse){.jex-form-input,.jex-form-textarea{font-size:16px}}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-magicline-row{display:flex;flex-direction:column;gap:8px}.jex-magicline-row>*{min-width:0}.jex-magicline-field{display:flex;flex-direction:column;gap:4px}.jex-magicline-field-label{font-size:12px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-magicline-select{width:100%;appearance:none;cursor:pointer;padding-right:32px;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px}.jex-magicline-slots-hint{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4;padding:2px 0}.jex-magicline-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35;color:var(--jex-text-muted, #64748b);margin-top:2px;cursor:pointer}.jex-magicline-consent input[type=checkbox]{flex-shrink:0;margin-top:1px;accent-color:var(--jex-primary, #115A62)}.jex-magicline-error{font-size:12px;color:#dc2626;line-height:1.35}.jex-magicline-failed{border-color:color-mix(in srgb,#dc2626 35%,var(--jex-border-input, #e2e8f0))}.jex-magicline-failed-icon{background:color-mix(in srgb,#dc2626 15%,transparent);color:#dc2626}.jex-magicline-wizard-header{display:flex;flex-direction:column;gap:6px}.jex-magicline-wizard-progress{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-wizard-step-label{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-wizard-counter{font-size:11px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-wizard-dots{display:flex;gap:6px}.jex-magicline-wizard-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--jex-text-muted, #64748b) 35%,transparent)}.jex-magicline-wizard-dot-active{background:var(--jex-primary, #115A62)}.jex-magicline-wizard-nav{display:flex;align-items:center;gap:8px;margin-top:4px}.jex-magicline-wizard-next{flex:1;margin-top:0}.jex-magicline-wizard-back{padding:10px 14px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:14px;font-weight:600;cursor:pointer}.jex-magicline-wizard-back:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-wizard-back:disabled,.jex-magicline-wizard-next:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-radio-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-radio-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-radio-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-radio-card input[type=radio]{flex-shrink:0;accent-color:var(--jex-primary, #115A62)}.jex-magicline-slots-error{display:flex;flex-direction:column;gap:6px}.jex-magicline-retry{align-self:flex-start;padding:6px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:13px;font-weight:600;cursor:pointer}.jex-magicline-retry:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-retry:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-voucher-section{display:flex;flex-direction:column;gap:6px;margin-top:4px}.jex-magicline-voucher-field{flex-direction:row;align-items:stretch;gap:8px}.jex-magicline-voucher-field .jex-form-input{flex:1;min-width:0}.jex-magicline-voucher-apply{flex:0 0 auto;padding:10px 16px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.jex-magicline-voucher-apply:hover{background:var(--jex-primary-hover)}.jex-magicline-voucher-apply:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-review-wrap{position:relative}.jex-magicline-review-body{display:flex;flex-direction:column;gap:10px;transition:opacity .15s ease}.jex-magicline-review-body--reloading{opacity:.5;pointer-events:none}.jex-magicline-review-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:48px}.jex-magicline-review-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent);border-top-color:var(--jex-primary, #115A62);animation:jex-magicline-spin .7s linear infinite}@keyframes jex-magicline-spin{to{transform:rotate(360deg)}}.jex-magicline-voucher-discount-row dt,.jex-magicline-voucher-remarks-row dt{flex-shrink:1;min-width:0}.jex-magicline-voucher-remarks-row dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.jex-magicline-summary{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.jex-magicline-summary-row dt{font-size:12px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-summary-row dd{margin:0;font-size:13px;font-weight:500;color:var(--jex-text-main, #0f172a);text-align:right;min-width:0}.jex-magicline-summary-section{margin-top:8px}.jex-magicline-summary-heading{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-summary-totals{background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent);border-color:color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent)}.jex-magicline-summary-total-row dt,.jex-magicline-summary-total-row dd{font-size:14px;font-weight:700;color:var(--jex-text-main, #0f172a)}.jex-magicline-summary-total-row dt{flex-shrink:1;min-width:0}.jex-magicline-summary-total-row dd{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}.jex-magicline-offer-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-offer-bundle-name{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-bundle-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-radio-card .jex-magicline-offer-term{display:flex;flex-direction:column;gap:4px;flex:1}.jex-magicline-offer-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-offer-term-length{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-term-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-offer-term-note{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-static-value{padding:9px 12px;border-radius:8px;font-size:14px;color:var(--jex-text-main, #0f172a);background:var(--jex-bg-window, #f8fafc);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-terms{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-upgrades-recap-title,.jex-magicline-terms-title{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-terms-content{font-size:12px;line-height:1.5;color:var(--jex-text-muted, #64748b);white-space:pre-wrap}.jex-magicline-upgrade-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-upgrade-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-upgrade-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-upgrade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;cursor:pointer}.jex-magicline-upgrade-info{display:flex;flex-direction:column;gap:2px;flex:1}.jex-magicline-upgrade-name{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-upgrade-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-upgrade-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-upgrade-status{flex-shrink:0;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;border:1px solid var(--jex-border-input, #e2e8f0);color:var(--jex-text-muted, #64748b);background:transparent;white-space:nowrap}.jex-magicline-upgrade-card-active .jex-magicline-upgrade-status{border-color:var(--jex-primary, #115A62);color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent)}.jex-magicline-terms-prompt{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:4px}.jex-magicline-bundle-details{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-bundle-details-summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--jex-primary, #115A62);list-style-position:inside}.jex-magicline-bundle-details-summary:hover{text-decoration:underline}.jex-magicline-bundle-details-body{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jex-magicline-bundle-details-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;line-height:1.4}.jex-magicline-bundle-details-footnote{margin:0;line-height:1.4}.jex-magicline-consent-region{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px 8px;border-left:3px solid var(--jex-primary, #115A62);border-radius:6px;background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent)}.jex-magicline-required-pill{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent);vertical-align:middle}.jex-magicline-consent-body{display:flex;flex-direction:column;gap:1px}.jex-magicline-consent-recap{display:flex;flex-direction:column;gap:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:14px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}@media(pointer:coarse){.jex-home-lookup-input{font-size:16px}}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-starter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.jex-starter-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;background:var(--jex-bg-window);border:1px solid var(--jex-border-input);color:var(--jex-primary);text-align:left;font-size:13.5px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.jex-starter-chip:hover:not(:disabled){background:color-mix(in srgb,var(--jex-primary) 8%,var(--jex-bg-window));border-color:var(--jex-primary)}.jex-starter-chip:disabled{opacity:.5;cursor:default}.jex-presence-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px var(--jex-bg-header, #115A62)}.jex-presence-dot--online{background:#10b981}.jex-presence-dot--away{background:#fbbf24}.jex-presence-dot--offline{background:#9ca3af}@keyframes jex-ripple-expand{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.jex-waiting-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0 12px 8px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem)}.jex-waiting-indicator{position:relative;flex-shrink:0;width:20px;height:20px;margin-top:2px;display:flex;align-items:center;justify-content:center}.jex-waiting-dot{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--jex-primary, #115A62)}.jex-waiting-ripple{position:absolute;inset:0;width:8px;height:8px;margin:auto;border-radius:50%;background:var(--jex-primary, #115A62);animation:jex-ripple-expand 1.6s ease-out infinite}@media(prefers-reduced-motion:reduce){.jex-waiting-ripple{animation:none}}.jex-waiting-body{display:flex;flex-direction:column;gap:4px;min-width:0}.jex-waiting-title{font-weight:600;font-size:14px;color:var(--jex-text-main, #0f172a);line-height:1.3}.jex-waiting-subtitle{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4}.jex-waiting-leave-email{margin-top:6px;padding:0;border:none;background:transparent;color:var(--jex-primary, #115A62);font-size:12px;font-family:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.jex-waiting-leave-email:hover{opacity:.8}`;\nfunction xx(t) {\n const e = document.createElement(\"style\");\n e.textContent = gx, t.appendChild(e);\n}\nconst bx = eh, vx = \"https://festive-mouse-978.eu-west-1.convex.cloud\";\nlet Ni = null;\nfunction yx(t) {\n const e = t ?? vx;\n if (!e)\n throw new Error(\"[jexity] No Convex URL — set VITE_CONVEX_URL at build time or data-convex-url on the script tag\");\n return Ni || (Ni = new Zd(vh(e))), Ni;\n}\nfunction wx(t, e) {\n const n = t.shadowRoot ?? t.attachShadow({ mode: \"open\" });\n for (; n.firstChild; )\n n.removeChild(n.firstChild);\n xx(n), Vr.value = e.source, Dt.value = e.bootstrapToken, Ue.value = [{ id: \"home\" }], e.mode === \"embedded\" && (t.classList.add(\"jex-mode-embedded\"), he.value = !0);\n const r = document.createElement(\"div\");\n return e.mode === \"embedded\" && (r.style.cssText = \"width:100%;height:100%\"), n.appendChild(r), Yt(\n /* @__PURE__ */ s(bx, { client: yx(e.convexUrl), children: /* @__PURE__ */ s(px, { options: e }) }),\n r\n ), function() {\n Yt(null, r), he.value = !1, Vr.value = void 0, Dt.value = void 0, Ue.value = [{ id: \"home\" }];\n };\n}\nfunction kx(t, e, n) {\n const r = wx(t, e), i = /* @__PURE__ */ new Set(), o = he.subscribe((l) => {\n for (const c of i)\n c(l);\n });\n return {\n shutdown() {\n o(), i.clear(), r(), n && n();\n },\n open() {\n he.value = !0;\n },\n close() {\n he.value = !1;\n },\n toggle() {\n he.value = !he.value;\n },\n get isOpen() {\n return he.value;\n },\n subscribe(l) {\n return i.add(l), () => {\n i.delete(l);\n };\n }\n };\n}\nlet qn = null;\nfunction _x(t) {\n qn && qn.shutdown();\n let e;\n t.container ? e = typeof t.container == \"string\" ? document.querySelector(t.container) : t.container : (e = document.createElement(\"div\"), e.id = \"jexity-chat-widget\", document.body.appendChild(e));\n const n = kx(e, t, () => {\n t.container || e.remove(), qn === n && (qn = null);\n });\n return qn = n, n;\n}\nexport {\n _x as JexityChat\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["sink","widgetLogger","args","JexityChatContext","createContext","JexityChatProvider","props","children","options","isOpen","setIsOpen","useState","instanceRef","useRef","unsubRef","containerRef","cancelledRef","loadRef","embedded","headless","optionsRef","useEffect","ensureMounted","mod","opts","mountOptions","inst","open","err","value","createElement","useJexityChat","ctx","useContext","or","L","Es","Is","Pt","ta","Ms","Ps","Hn","Ns","Li","Oi","Ls","Nr","Qc","ar","mt","Gc","ot","vn","Kc","fo","qs","Os","$i","Or","m","h","p","x","k","A","Yc","po","Ds","Xc","Fs","xt","na","yr","ra","P","M","$","R","ae","V","Jc","y","zs","Di","Zc","Us","eu","tu","nu","ie","ia","yn","Bs","oa","aa","sa","la","ca","ua","jn","O","He","Gs","N","mo","Sn","re","ke","Vs","Z","sr","Hs","Ws","da","qi","Qs","ru","ha","Ks","zi","Ys","Xs","Zs","Js","el","Fi","iu","fa","ou","au","pa","su","lu","ma","tl","nl","rl","cu","zn","ga","uu","du","hu","il","fu","pu","mu","gu","xu","bu","vu","xa","yu","ba","va","ya","wu","ku","ei","_u","ju","Su","Tu","Cu","Au","Ru","Eu","pt","Xe","Iu","un","Mu","Pu","Nu","Xn","Lu","Ou","Zn","_t","ol","$u","al","wn","Ui","Du","qu","sl","zu","ll","Fu","Uu","Bu","Vu","Hu","Wu","wa","cl","kn","a","ka","Qn","_i","bt","Qu","Gu","ji","_a","ja","Ku","$r","ul","Sa","Yu","Xu","Ta","Zu","dl","hl","fl","pl","Ju","gn","Xt","Kt","Ca","ed","td","ut","nd","rd","id","wr","od","Jn","ad","sd","ld","cd","De","ml","ud","dd","qr","er","hd","fd","pd","Fe","Aa","md","gd","Ra","xd","bd","kr","Ea","vd","Ia","yd","wd","kd","be","_d","jd","Sd","Td","fn","Ma","gl","Cd","Ad","r","i","o","Rd","Ed","Id","Md","xl","Pd","Nd","ze","Ld","Pa","Od","$d","Dd","qd","zd","Fd","Ud","ve","Bd","w","Vd","Hd","Na","Wd","Qd","Gd","Kd","kt","Yd","bl","th","Xd","Zd","ti","Jd","eh","St","c","oh","Ct","Jt","nh","rh","Ai","ih","ah","sh","ni","Tt","Kn","zr","yl","lh","ch","ri","Ur","vl","Re","lr","H","wl","kl","Wi","_l","uh","Tn","jl","dh","Sl","Cn","Br","Tl","xn","Cl","hh","fh","ph","Vr","cr","ur","Al","Dt","Qi","Gi","Rl","Ki","mh","gh","El","xh","Il","bh","oe","Ml","vh","Pl","La","yh","wh","kh","_h","jh","Sh","Oa","ne","Nl","Th","$a","Ch","Hr","Da","Ah","Rh","Eh","Ll","Ih","Ol","Mh","I","Ph","Ir","Nh","Lh","Dl","ql","Me","We","Xi","_o","bn","Oh","$h","Dh","qh","zl","zh","Fh","dr","Uh","Bh","qa","za","Fa","jo","Fl","Vh","Hh","jt","Wh","tr","Ji","Qh","Gh","n","Ua","jr","Kh","Yh","ii","Xh","Zh","Ul","Jh","Ba","ef","tf","Va","nf","Ha","Bl","rf","of","af","sf","lf","Wa","cf","uf","df","Un","Qa","Vl","nr","rr","Qr","Kr","hf","Ga","ff","Hl","Wl","Ql","pf","mf","gf","xf","Pe","bf","vf","yf","pn","Gl","wf","Kl","Yl","kf","Xl","Lt","ir","Zl","Jl","l","u","d","_f","Ka","jf","Sf","Tf","Cf","Af","Ya","Rf","Ef","If","Mf","Pf","Nf","Lf","Of","$f","Df","qf","zf","Ff","Uf","Bf","Vf","Hf","q","b","v","T","se","C","D","me","Wf","Qf","Za","Gf","Kf","Yf","oi","Ao","Xf","Zf","Jf","ep","Ja","tp","Ro","ec","Gt","dn","G","Ie","np","rp","ip","op","hr","ap","Eo","tc","nc","sp","Io","lp","Mo","cp","up","ai","Po","dp","rc","hp","No","es","fp","pp","mp","gp","ic","xp","si","Lo","bp","oc","vp","yp","wp","ac","kp","_p","sc","jp","Sp","Tp","Cp","Ap","Rp","Ep","Ip","Mp","Pp","Yr","Np","lc","cc","Lp","ts","Oo","Op","$p","Sr","Dp","ns","ht","rs","is","It","os","qp","zp","as","Fp","Xr","nt","Zr","$o","rt","Bn","Up","X","ss","Bp","Vp","Hp","Wp","Qp","uc","ls","Gp","Kp","Yp","Ce","Ae","mn","dc","e","On","ye","Xp","cs","hn","Zp","Ot","Vn","Ri","us","$n","ds","Jp","em","tm","hs","je","Te","Wt","nm","rm","$e","im","ft","om","ps","Ei","Ii","am","Mi","sm","ms","gs","Pi","xs","Tr","lm","cm","um","dm","hm","bs","fm","pm","mm","gm","vs","xm","bm","vm","dt","ym","wm","ys","Mt","hc","S","f","at","vt","Ft","Be","At","z","Ee","Ut","we","Ge","Se","ee","Bt","U","W","st","Le","Ve","fr","pr","lt","Vt","yt","In","Rt","B","fe","et","ge","zo","Fo","ci","Uo","mr","gr","ct","ui","di","Ic","hi","fi","Mc","Pc","Nc","pe","Lc","pi","g","E","Wo","Qo","Oc","Dc","qc","Et","Go","F","Y","Ht","zc","Fc","Ko","xr","mi","br","Nn","wt","j","Uc","Bc","Jo","_e","Xo","Vc","Hc","Wc","xe","Ye","tt","xi","Oe","vr","gi","km","_m","jm","Cr","Yn","Sm","Tm","Cm","fc","Am","Rm","pc","Em","Qt","Im","Mm","Pm","mc","gc","li","Nm","Lm","Om","$m","Dm","qm","xc","zm","Do","Fm","bc","Um","vc","yc","Bm","Vm","Hm","wc","Wm","Qm","it","Jr","Gm","qo","Km","Ym","Xm","kc","Zm","_c","Jm","eg","tg","ng","rg","ig","hg","og","fg","dg","ag","sg","lg","cg","ug","Sc","$t","Ze","jc","pg","Tc","mg","gg","ws","xg","bg","vg","yg","wg","kg","_g","ks","_s","Og","jg","Cg","Rg","Eg","Ig","Mg","Lg","Sg","Tg","Ng","Ag","gt","Pg","$g","js","Dg","qg","zg","Fg","Ug","Bg","Vg","Hg","Wg","Qg","Gg","Ss","Ts","Kg","Yg","Xg","Zg","Cc","Jg","ex","tx","nx","Ac","rx","ix","ox","Rc","Cs","ax","As","Ec","sx","lx","cx","ux","dx","hx","fx","Rs","px","mx","gx","xx","bx","vx","Ni","yx","wx","kx","qn","_x"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react.mjs","sources":["../src/lib/logger.ts","../src/entries/react.tsx","index.mjs"],"sourcesContent":["type LogArg = unknown\n\nconst sink = globalThis.console\n\nfunction isDebugEnabled(): boolean {\n // Vite compile-time constant, not a process env var — nothing for turbo to hash.\n // eslint-disable-next-line turbo/no-undeclared-env-vars\n return import.meta.env.DEV\n}\n\nexport const widgetLogger = {\n warn(...args: LogArg[]): void {\n sink.warn(...args)\n },\n error(...args: LogArg[]): void {\n sink.error(...args)\n },\n debug(...args: LogArg[]): void {\n if (isDebugEnabled()) {\n sink.debug(...args)\n }\n },\n}\n","import {\n createContext,\n createElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type { ReactNode } from 'react'\nimport type { JexityChatOptions, JexityChatInstance } from '../types'\nimport { widgetLogger } from '../lib/logger'\n\ninterface JexityChatContextValue {\n open: () => void\n close: () => void\n toggle: () => void\n /** Opens the chat and sends `text` as the visitor's message. */\n ask: (text: string) => void\n isOpen: boolean\n}\n\nconst JexityChatContext = createContext<JexityChatContextValue | null>(null)\n\nexport interface JexityChatProviderProps extends JexityChatOptions {\n children?: ReactNode\n}\n\nexport function JexityChatProvider(props: JexityChatProviderProps) {\n const { children, ...options } = props\n const [isOpen, setIsOpen] = useState(false)\n const instanceRef = useRef<JexityChatInstance | null>(null)\n const unsubRef = useRef<(() => void) | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n const cancelledRef = useRef(false)\n const loadRef = useRef<Promise<void> | null>(null)\n\n const embedded = options.mode === 'embedded'\n // Headless: no core import on mount — the host's own button drives open().\n const headless = options.trigger === 'none'\n\n // Latest options without re-triggering the mount effect (mirrors the existing\n // orgSlug/projSlug-only dependency contract).\n //\n // Synced in an effect, not during render: writing a ref while rendering is a\n // side effect, and React may render without committing (StrictMode, an\n // abandoned concurrent render), which would publish options that never took\n // effect. useRef's initial value covers the first commit, and every reader\n // (the mount effect below, open/close/toggle handlers) runs post-commit — so\n // the value they see is always the committed one. This effect is declared\n // first so it lands before the mount effect on any given commit.\n const optionsRef = useRef(options)\n useEffect(() => {\n optionsRef.current = options\n })\n\n // Loads index.mjs + mounts the core exactly once (deduped via loadRef). Shared\n // by eager mount (non-headless) and first open()/toggle() (headless).\n const ensureMounted = (): Promise<void> => {\n if (loadRef.current) { return loadRef.current }\n loadRef.current = (\n // @ts-expect-error -- resolved at runtime, not in TS source tree\n import('./index.mjs') as Promise<{ JexityChat: (opts: JexityChatOptions) => JexityChatInstance }>\n ).then((mod) => {\n if (cancelledRef.current) { return }\n const opts = optionsRef.current\n // Embedded mounts into the provider's own div; floating uses document.body.\n const mountOptions = embedded && containerRef.current\n ? { ...opts, container: containerRef.current }\n : opts\n const inst = mod.JexityChat(mountOptions)\n instanceRef.current = inst\n unsubRef.current = inst.subscribe((open) => { setIsOpen(open) })\n }).catch((err: unknown) => {\n // Clear so a later explicit open() retries instead of replaying the failure.\n loadRef.current = null\n if (!cancelledRef.current) {\n widgetLogger.error('[jexity] Failed to load widget core:', err)\n }\n })\n return loadRef.current\n }\n\n useEffect(() => {\n cancelledRef.current = false\n // Non-headless keeps eager mount; headless waits for the host's open().\n if (!headless) { void ensureMounted() }\n\n return () => {\n cancelledRef.current = true\n unsubRef.current?.()\n instanceRef.current?.shutdown()\n instanceRef.current = null\n unsubRef.current = null\n loadRef.current = null\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.orgSlug, options.projSlug])\n\n // Before mount, open()/toggle() mean \"load then open\" (closed is the only\n // pre-mount state); close() is a no-op. After mount, all forward to the core.\n const value: JexityChatContextValue = {\n open: () => {\n if (instanceRef.current) { instanceRef.current.open(); return }\n void ensureMounted().then(() => {\n if (!cancelledRef.current) { instanceRef.current?.open() }\n })\n },\n close: () => { instanceRef.current?.close() },\n toggle: () => {\n if (instanceRef.current) { instanceRef.current.toggle(); return }\n void ensureMounted().then(() => {\n if (!cancelledRef.current) { instanceRef.current?.open() }\n })\n },\n ask: (text: string) => {\n if (instanceRef.current) { instanceRef.current.ask(text); return }\n void ensureMounted().then(() => {\n if (!cancelledRef.current) { instanceRef.current?.ask(text) }\n })\n },\n isOpen,\n }\n\n // In embedded mode, render a host div that the widget mounts into.\n // In floating mode, render children only (widget mounts on document.body).\n return createElement(\n JexityChatContext.Provider,\n { value },\n embedded\n ? createElement('div', {\n ref: containerRef,\n style: { width: '100%', height: '100%' },\n })\n : children,\n )\n}\n\nexport function useJexityChat(): JexityChatContextValue {\n const ctx = useContext(JexityChatContext)\n if (!ctx) {\n throw new Error('useJexityChat must be used within a <JexityChatProvider>')\n }\n return ctx\n}\n","var or, O, Ms, Ps, Pt, ra, Ns, Ls, vi, Ar, Hn, Os, fo, Oi, $i, $s, Nr = {}, Lr = [], Gc = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, ar = Array.isArray;\nfunction mt(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction po(t) {\n t && t.parentNode && t.parentNode.removeChild(t);\n}\nfunction Je(t, e, n) {\n var r, i, o, a = {};\n for (o in e) o == \"key\" ? r = e[o] : o == \"ref\" ? i = e[o] : a[o] = e[o];\n if (arguments.length > 2 && (a.children = arguments.length > 3 ? or.call(arguments, 2) : n), typeof t == \"function\" && t.defaultProps != null) for (o in t.defaultProps) a[o] === void 0 && (a[o] = t.defaultProps[o]);\n return Wn(t, a, r, i, null);\n}\nfunction Wn(t, e, n, r, i) {\n var o = { type: t, props: e, key: n, ref: r, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: i ?? ++Ms, __i: -1, __u: 0 };\n return i == null && O.vnode != null && O.vnode(o), o;\n}\nfunction Kc() {\n return { current: null };\n}\nfunction J(t) {\n return t.children;\n}\nfunction ot(t, e) {\n this.props = t, this.context = e;\n}\nfunction vn(t, e) {\n if (e == null) return t.__ ? vn(t.__, t.__i + 1) : null;\n for (var n; e < t.__k.length; e++) if ((n = t.__k[e]) != null && n.__e != null) return n.__e;\n return typeof t.type == \"function\" ? vn(t) : null;\n}\nfunction Yc(t) {\n if (t.__P && t.__d) {\n var e = t.__v, n = e.__e, r = [], i = [], o = mt({}, e);\n o.__v = e.__v + 1, O.vnode && O.vnode(o), mo(t.__P, o, e, t.__n, t.__P.namespaceURI, 32 & e.__u ? [n] : null, r, n ?? vn(e), !!(32 & e.__u), i), o.__v = e.__v, o.__.__k[o.__i] = o, Fs(r, o, i), e.__e = e.__ = null, o.__e != n && Ds(o);\n }\n}\nfunction Ds(t) {\n if ((t = t.__) != null && t.__c != null) return t.__e = t.__c.base = null, t.__k.some(function(e) {\n if (e != null && e.__e != null) return t.__e = t.__c.base = e.__e;\n }), Ds(t);\n}\nfunction Di(t) {\n (!t.__d && (t.__d = !0) && Pt.push(t) && !Or.__r++ || ra != O.debounceRendering) && ((ra = O.debounceRendering) || Ns)(Or);\n}\nfunction Or() {\n try {\n for (var t, e = 1; Pt.length; ) Pt.length > e && Pt.sort(Ls), t = Pt.shift(), e = Pt.length, Yc(t);\n } finally {\n Pt.length = Or.__r = 0;\n }\n}\nfunction qs(t, e, n, r, i, o, a, l, c, u, d) {\n var m, h, p, x, w, b, v, k = r && r.__k || Lr, A = e.length;\n for (c = Xc(n, e, k, c, A), m = 0; m < A; m++) (p = n.__k[m]) != null && (h = p.__i != -1 && k[p.__i] || Nr, p.__i = m, b = mo(t, p, h, i, o, a, l, c, u, d), x = p.__e, p.ref && h.ref != p.ref && (h.ref && go(h.ref, null, p), d.push(p.ref, p.__c || x, p)), w == null && x != null && (w = x), (v = !!(4 & p.__u)) || h.__k === p.__k ? (c = zs(p, c, t, v), v && h.__e && (h.__e = null)) : typeof p.type == \"function\" && b !== void 0 ? c = b : x && (c = x.nextSibling), p.__u &= -7);\n return n.__e = w, c;\n}\nfunction Xc(t, e, n, r, i) {\n var o, a, l, c, u, d = n.length, m = d, h = 0;\n for (t.__k = new Array(i), o = 0; o < i; o++) (a = e[o]) != null && typeof a != \"boolean\" && typeof a != \"function\" ? (typeof a == \"string\" || typeof a == \"number\" || typeof a == \"bigint\" || a.constructor == String ? a = t.__k[o] = Wn(null, a, null, null, null) : ar(a) ? a = t.__k[o] = Wn(J, { children: a }, null, null, null) : a.constructor === void 0 && a.__b > 0 ? a = t.__k[o] = Wn(a.type, a.props, a.key, a.ref ? a.ref : null, a.__v) : t.__k[o] = a, c = o + h, a.__ = t, a.__b = t.__b + 1, l = null, (u = a.__i = Zc(a, n, c, m)) != -1 && (m--, (l = n[u]) && (l.__u |= 2)), l == null || l.__v == null ? (u == -1 && (i > d ? h-- : i < d && h++), typeof a.type != \"function\" && (a.__u |= 4)) : u != c && (u == c - 1 ? h-- : u == c + 1 ? h++ : (u > c ? h-- : h++, a.__u |= 4))) : t.__k[o] = null;\n if (m) for (o = 0; o < d; o++) (l = n[o]) != null && (2 & l.__u) == 0 && (l.__e == r && (r = vn(l)), Bs(l, l));\n return r;\n}\nfunction zs(t, e, n, r) {\n var i, o;\n if (typeof t.type == \"function\") {\n for (i = t.__k, o = 0; i && o < i.length; o++) i[o] && (i[o].__ = t, e = zs(i[o], e, n, r));\n return e;\n }\n t.__e != e && (r && (e && t.type && !e.parentNode && (e = vn(t)), n.insertBefore(t.__e, e || null)), e = t.__e);\n do\n e = e && e.nextSibling;\n while (e != null && e.nodeType == 8);\n return e;\n}\nfunction bt(t, e) {\n return e = e || [], t == null || typeof t == \"boolean\" || (ar(t) ? t.some(function(n) {\n bt(n, e);\n }) : e.push(t)), e;\n}\nfunction Zc(t, e, n, r) {\n var i, o, a, l = t.key, c = t.type, u = e[n], d = u != null && (2 & u.__u) == 0;\n if (u === null && l == null || d && l == u.key && c == u.type) return n;\n if (r > (d ? 1 : 0)) {\n for (i = n - 1, o = n + 1; i >= 0 || o < e.length; ) if ((u = e[a = i >= 0 ? i-- : o++]) != null && (2 & u.__u) == 0 && l == u.key && c == u.type) return a;\n }\n return -1;\n}\nfunction ia(t, e, n) {\n e[0] == \"-\" ? t.setProperty(e, n ?? \"\") : t[e] = n == null ? \"\" : typeof n != \"number\" || Gc.test(e) ? n : n + \"px\";\n}\nfunction yr(t, e, n, r, i) {\n var o, a;\n e: if (e == \"style\") if (typeof n == \"string\") t.style.cssText = n;\n else {\n if (typeof r == \"string\" && (t.style.cssText = r = \"\"), r) for (e in r) n && e in n || ia(t.style, e, \"\");\n if (n) for (e in n) r && n[e] == r[e] || ia(t.style, e, n[e]);\n }\n else if (e[0] == \"o\" && e[1] == \"n\") o = e != (e = e.replace(Os, \"$1\")), a = e.toLowerCase(), e = a in t || e == \"onFocusOut\" || e == \"onFocusIn\" ? a.slice(2) : e.slice(2), t.l || (t.l = {}), t.l[e + o] = n, n ? r ? n[Hn] = r[Hn] : (n[Hn] = fo, t.addEventListener(e, o ? $i : Oi, o)) : t.removeEventListener(e, o ? $i : Oi, o);\n else {\n if (i == \"http://www.w3.org/2000/svg\") e = e.replace(/xlink(H|:h)/, \"h\").replace(/sName$/, \"s\");\n else if (e != \"width\" && e != \"height\" && e != \"href\" && e != \"list\" && e != \"form\" && e != \"tabIndex\" && e != \"download\" && e != \"rowSpan\" && e != \"colSpan\" && e != \"role\" && e != \"popover\" && e in t) try {\n t[e] = n ?? \"\";\n break e;\n } catch {\n }\n typeof n == \"function\" || (n == null || n === !1 && e[4] != \"-\" ? t.removeAttribute(e) : t.setAttribute(e, e == \"popover\" && n == 1 ? \"\" : n));\n }\n}\nfunction oa(t) {\n return function(e) {\n if (this.l) {\n var n = this.l[e.type + t];\n if (e[Ar] == null) e[Ar] = fo++;\n else if (e[Ar] < n[Hn]) return;\n return n(O.event ? O.event(e) : e);\n }\n };\n}\nfunction mo(t, e, n, r, i, o, a, l, c, u) {\n var d, m, h, p, x, w, b, v, k, A, N, M, T, L, E, se, $ = e.type;\n if (e.constructor !== void 0) return null;\n 128 & n.__u && (c = !!(32 & n.__u), o = [l = e.__e = n.__e]), (d = O.__b) && d(e);\n e: if (typeof $ == \"function\") {\n m = a.length;\n try {\n if (k = e.props, A = $.prototype && $.prototype.render, N = (d = $.contextType) && r[d.__c], M = d ? N ? N.props.value : d.__ : r, n.__c ? v = (h = e.__c = n.__c).__ = h.__E : (A ? e.__c = h = new $(k, M) : (e.__c = h = new ot(k, M), h.constructor = $, h.render = eu), N && N.sub(h), h.state || (h.state = {}), h.__n = r, p = h.__d = !0, h.__h = [], h._sb = []), A && h.__s == null && (h.__s = h.state), A && $.getDerivedStateFromProps != null && (h.__s == h.state && (h.__s = mt({}, h.__s)), mt(h.__s, $.getDerivedStateFromProps(k, h.__s))), x = h.props, w = h.state, h.__v = e, p) A && $.getDerivedStateFromProps == null && h.componentWillMount != null && h.componentWillMount(), A && h.componentDidMount != null && h.__h.push(h.componentDidMount);\n else {\n if (A && $.getDerivedStateFromProps == null && k !== x && h.componentWillReceiveProps != null && h.componentWillReceiveProps(k, M), e.__v == n.__v || !h.__e && h.shouldComponentUpdate != null && h.shouldComponentUpdate(k, h.__s, M) === !1) {\n e.__v != n.__v && (h.props = k, h.state = h.__s, h.__d = !1), e.__e = n.__e, e.__k = n.__k, e.__k.some(function(y) {\n y && (y.__ = e);\n }), Lr.push.apply(h.__h, h._sb), h._sb = [], h.__h.length && a.push(h);\n break e;\n }\n h.componentWillUpdate != null && h.componentWillUpdate(k, h.__s, M), A && h.componentDidUpdate != null && h.__h.push(function() {\n h.componentDidUpdate(x, w, b);\n });\n }\n if (h.context = M, h.props = k, h.__P = t, h.__e = !1, T = O.__r, L = 0, A) h.state = h.__s, h.__d = !1, T && T(e), d = h.render(h.props, h.state, h.context), Lr.push.apply(h.__h, h._sb), h._sb = [];\n else do\n h.__d = !1, T && T(e), d = h.render(h.props, h.state, h.context), h.state = h.__s;\n while (h.__d && ++L < 25);\n h.state = h.__s, h.getChildContext != null && (r = mt(mt({}, r), h.getChildContext())), A && !p && h.getSnapshotBeforeUpdate != null && (b = h.getSnapshotBeforeUpdate(x, w)), E = d != null && d.type === J && d.key == null ? Us(d.props.children) : d, l = qs(t, ar(E) ? E : [E], e, n, r, i, o, a, l, c, u), h.base = e.__e, e.__u &= -161, h.__h.length && a.push(h), v && (h.__E = h.__ = null);\n } catch (y) {\n if (a.length = m, e.__v = null, c || o != null) if (y.then) {\n for (e.__u |= c ? 160 : 128; l && l.nodeType == 8 && l.nextSibling; ) l = l.nextSibling;\n o != null && (o[o.indexOf(l)] = null), e.__e = l;\n } else {\n if (o != null) for (se = o.length; se--; ) po(o[se]);\n qi(e);\n }\n else e.__e = n.__e, !e.__k && n.__k && (e.__k = n.__k), y.then || qi(e);\n O.__e(y, e, n);\n }\n } else o == null && e.__v == n.__v ? (e.__k = n.__k, e.__e = n.__e) : l = e.__e = Jc(n.__e, e, n, r, i, o, a, c, u);\n return (d = O.diffed) && d(e), 128 & e.__u ? void 0 : l;\n}\nfunction qi(t) {\n t && (t.__c && (t.__c.__e = !0), t.__k && t.__k.some(qi));\n}\nfunction Fs(t, e, n) {\n for (var r = 0; r < n.length; r++) go(n[r], n[++r], n[++r]);\n O.__c && O.__c(e, t), t.some(function(i) {\n try {\n t = i.__h, i.__h = [], t.some(function(o) {\n o.call(i);\n });\n } catch (o) {\n O.__e(o, i.__v);\n }\n });\n}\nfunction Us(t) {\n return typeof t != \"object\" || t == null || t.__b > 0 ? t : ar(t) ? t.map(Us) : t.constructor !== void 0 ? null : mt({}, t);\n}\nfunction Jc(t, e, n, r, i, o, a, l, c) {\n var u, d, m, h, p, x, w, b = n.props || Nr, v = e.props, k = e.type;\n if (k == \"svg\" ? i = \"http://www.w3.org/2000/svg\" : k == \"math\" ? i = \"http://www.w3.org/1998/Math/MathML\" : i || (i = \"http://www.w3.org/1999/xhtml\"), o != null) {\n for (u = 0; u < o.length; u++) if ((p = o[u]) && \"setAttribute\" in p == !!k && (k ? p.localName == k : p.nodeType == 3)) {\n t = p, o[u] = null;\n break;\n }\n }\n if (t == null) {\n if (k == null) return document.createTextNode(v);\n t = document.createElementNS(i, k, v.is && v), l && (O.__m && O.__m(e, o), l = !1), o = null;\n }\n if (k == null) b === v || l && t.data == v || (t.data = v);\n else {\n if (o = k == \"textarea\" && v.defaultValue != null ? null : o && or.call(t.childNodes), !l && o != null) for (b = {}, u = 0; u < t.attributes.length; u++) b[(p = t.attributes[u]).name] = p.value;\n for (u in b) p = b[u], u == \"dangerouslySetInnerHTML\" ? m = p : u == \"children\" || u in v || u == \"value\" && \"defaultValue\" in v || u == \"checked\" && \"defaultChecked\" in v || yr(t, u, null, p, i);\n for (u in v) p = v[u], u == \"children\" ? h = p : u == \"dangerouslySetInnerHTML\" ? d = p : u == \"value\" ? x = p : u == \"checked\" ? w = p : l && typeof p != \"function\" || b[u] === p || yr(t, u, p, b[u], i);\n if (d) l || m && (d.__html == m.__html || d.__html == t.innerHTML) || (t.innerHTML = d.__html), e.__k = [];\n else if (m && (t.innerHTML = \"\"), qs(e.type == \"template\" ? t.content : t, ar(h) ? h : [h], e, n, r, k == \"foreignObject\" ? \"http://www.w3.org/1999/xhtml\" : i, o, a, o ? o[0] : n.__k && vn(n, 0), l, c), o != null) for (u = o.length; u--; ) po(o[u]);\n l && k != \"textarea\" || (u = \"value\", k == \"progress\" && x == null ? t.removeAttribute(\"value\") : x != null && (x !== t[u] || k == \"progress\" && !x || k == \"option\" && x != b[u]) && yr(t, u, x, b[u], i), u = \"checked\", w != null && w != t[u] && yr(t, u, w, b[u], i));\n }\n return t;\n}\nfunction go(t, e, n) {\n try {\n if (typeof t == \"function\") {\n var r = typeof t.__u == \"function\";\n r && t.__u(), r && e == null || (t.__u = t(e));\n } else t.current = e;\n } catch (i) {\n O.__e(i, n);\n }\n}\nfunction Bs(t, e, n) {\n var r, i;\n if (O.unmount && O.unmount(t), (r = t.ref) && (r.current && r.current != t.__e || go(r, null, e)), (r = t.__c) != null) {\n if (r.componentWillUnmount) try {\n r.componentWillUnmount();\n } catch (o) {\n O.__e(o, e);\n }\n r.base = r.__P = r.__n = null;\n }\n if (r = t.__k) for (i = 0; i < r.length; i++) r[i] && Bs(r[i], e, n || typeof t.type != \"function\");\n n || po(t.__e), t.__c = t.__ = t.__e = void 0;\n}\nfunction eu(t, e, n) {\n return this.constructor(t, n);\n}\nfunction Yt(t, e, n) {\n var r, i, o, a;\n e == document && (e = document.documentElement), O.__ && O.__(t, e), i = (r = typeof n == \"function\") ? null : n && n.__k || e.__k, o = [], a = [], mo(e, t = (!r && n || e).__k = Je(J, null, [t]), i || Nr, Nr, e.namespaceURI, !r && n ? [n] : i ? null : e.firstChild ? or.call(e.childNodes) : null, o, !r && n ? n : i ? i.__e : e.firstChild, r, a), Fs(o, t, a), t.props.children = null;\n}\nfunction Vs(t, e) {\n Yt(t, e, Vs);\n}\nfunction tu(t, e, n) {\n var r, i, o, a, l = mt({}, t.props);\n for (o in t.type && t.type.defaultProps && (a = t.type.defaultProps), e) o == \"key\" ? r = e[o] : o == \"ref\" ? i = e[o] : l[o] = e[o] === void 0 && a != null ? a[o] : e[o];\n return arguments.length > 2 && (l.children = arguments.length > 3 ? or.call(arguments, 2) : n), Wn(t.type, l, r || t.key, i || t.ref, null);\n}\nfunction nu(t) {\n function e(n) {\n var r, i;\n return this.getChildContext || (r = /* @__PURE__ */ new Set(), (i = {})[e.__c] = this, this.getChildContext = function() {\n return i;\n }, this.componentWillUnmount = function() {\n r = null;\n }, this.shouldComponentUpdate = function(o) {\n this.props.value != o.value && r.forEach(function(a) {\n a.__e = !0, Di(a);\n });\n }, this.sub = function(o) {\n r.add(o);\n var a = o.componentWillUnmount;\n o.componentWillUnmount = function() {\n r && r.delete(o), a && a.call(o);\n };\n }), n.children;\n }\n return e.__c = \"__cC\" + $s++, e.__ = t, e.Provider = e.__l = (e.Consumer = function(n, r) {\n return n.children(r);\n }).contextType = e, e;\n}\nor = Lr.slice, O = { __e: function(t, e, n, r) {\n for (var i, o, a; e = e.__; ) if ((i = e.__c) && !i.__) try {\n if ((o = i.constructor) && o.getDerivedStateFromError != null && (i.setState(o.getDerivedStateFromError(t)), a = i.__d), i.componentDidCatch != null && (i.componentDidCatch(t, r || {}), a = i.__d), a) return i.__E = i;\n } catch (l) {\n t = l;\n }\n throw t;\n} }, Ms = 0, Ps = function(t) {\n return t != null && t.constructor === void 0;\n}, ot.prototype.setState = function(t, e) {\n var n;\n n = this.__s != null && this.__s != this.state ? this.__s : this.__s = mt({}, this.state), typeof t == \"function\" && (t = t(mt({}, n), this.props)), t && mt(n, t), t != null && this.__v && (e && this._sb.push(e), Di(this));\n}, ot.prototype.forceUpdate = function(t) {\n this.__v && (this.__e = !0, t && this.__h.push(t), Di(this));\n}, ot.prototype.render = J, Pt = [], Ns = typeof Promise == \"function\" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, Ls = function(t, e) {\n return t.__v.__b - e.__v.__b;\n}, Or.__r = 0, vi = Math.random().toString(8), Ar = \"__d\" + vi, Hn = \"__a\" + vi, Os = /(PointerCapture)$|Capture$/i, fo = 0, Oi = oa(!1), $i = oa(!0), $s = 0;\nvar ru = 0;\nfunction s(t, e, n, r, i, o) {\n e || (e = {});\n var a, l, c = e;\n if (\"ref\" in c) for (l in c = {}, e) l == \"ref\" ? a = e[l] : c[l] = e[l];\n var u = { type: t, props: c, key: n, ref: a, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --ru, __i: -1, __u: 0, __source: i, __self: o };\n if (typeof t == \"function\" && (a = t.defaultProps)) for (l in a) c[l] === void 0 && (c[l] = a[l]);\n return O.vnode && O.vnode(u), u;\n}\nvar zt, oe, yi, aa, yn = 0, Hs = [], he = O, sa = he.__b, la = he.__r, ca = he.diffed, ua = he.__c, da = he.unmount, ha = he.__;\nfunction jn(t, e) {\n he.__h && he.__h(oe, t, yn || e), yn = 0;\n var n = oe.__H || (oe.__H = { __: [], __h: [] });\n return t >= n.__.length && n.__.push({}), n.__[t];\n}\nfunction D(t) {\n return yn = 1, He(Ys, t);\n}\nfunction He(t, e, n) {\n var r = jn(zt++, 2);\n if (r.t = t, !r.__c && (r.__ = [n ? n(e) : Ys(void 0, e), function(l) {\n var c = r.__N ? r.__N[0] : r.__[0], u = r.t(c, l);\n c !== u && (r.__N = [u, r.__[1]], r.__c.setState({}));\n }], r.__c = oe, !oe.__f)) {\n var i = function(l, c, u) {\n if (!r.__c.__H) return !0;\n var d = !1, m = r.__c.props !== l;\n if (r.__c.__H.__.some(function(p) {\n if (p.__N) {\n d = !0;\n var x = p.__[0];\n p.__ = p.__N, p.__N = void 0, x !== p.__[0] && (m = !0);\n }\n }), o) {\n var h = o.call(this, l, c, u);\n return d ? h || m : h;\n }\n return !d || m;\n };\n oe.__f = !0;\n var o = oe.shouldComponentUpdate, a = oe.componentWillUpdate;\n oe.componentWillUpdate = function(l, c, u) {\n if (this.__e) {\n var d = o;\n o = void 0, i(l, c, u), o = d;\n }\n a && a.call(this, l, c, u);\n }, oe.shouldComponentUpdate = i;\n }\n return r.__N || r.__;\n}\nfunction P(t, e) {\n var n = jn(zt++, 3);\n !he.__s && xo(n.__H, e) && (n.__ = t, n.u = e, oe.__H.__h.push(n));\n}\nfunction Sn(t, e) {\n var n = jn(zt++, 4);\n !he.__s && xo(n.__H, e) && (n.__ = t, n.u = e, oe.__h.push(n));\n}\nfunction ie(t) {\n return yn = 5, ke(function() {\n return { current: t };\n }, []);\n}\nfunction Ws(t, e, n) {\n yn = 6, Sn(function() {\n if (typeof t == \"function\") {\n var r = t(e());\n return function() {\n t(null), r && typeof r == \"function\" && r();\n };\n }\n if (t) return t.current = e(), function() {\n return t.current = null;\n };\n }, n == null ? n : n.concat(t));\n}\nfunction ke(t, e) {\n var n = jn(zt++, 7);\n return xo(n.__H, e) && (n.__ = t(), n.__H = e, n.__h = t), n.__;\n}\nfunction Z(t, e) {\n return yn = 8, ke(function() {\n return t;\n }, e);\n}\nfunction sr(t) {\n var e = oe.context[t.__c], n = jn(zt++, 9);\n return n.c = t, e ? (n.__ == null && (n.__ = !0, e.sub(oe)), e.props.value) : t.__;\n}\nfunction Qs(t, e) {\n he.useDebugValue && he.useDebugValue(e ? e(t) : t);\n}\nfunction Gs() {\n var t = jn(zt++, 11);\n if (!t.__) {\n for (var e = oe.__v; e !== null && !e.__m && e.__ !== null; ) e = e.__;\n var n = e.__m || (e.__m = [0, 0]);\n t.__ = \"P\" + n[0] + \"-\" + n[1]++;\n }\n return t.__;\n}\nfunction fa() {\n for (var t; t = Hs.shift(); ) {\n var e = t.__H;\n if (t.__P && e) try {\n e.__h.some(zi), e.__h.some(Ks), e.__h = [];\n } catch (n) {\n e.__h = [], he.__e(n, t.__v);\n }\n }\n}\nhe.__b = function(t) {\n oe = null, sa && sa(t);\n}, he.__ = function(t, e) {\n t && e.__k && e.__k.__m && (t.__m = e.__k.__m), ha && ha(t, e);\n}, he.__r = function(t) {\n la && la(t), zt = 0;\n var e = (oe = t.__c).__H;\n e && (yi === oe ? (e.__h = [], oe.__h = [], e.__.some(function(n) {\n n.__N && (n.__ = n.__N), n.u = n.__N = void 0;\n })) : (e.__h.length && fa(), zt = 0)), yi = oe;\n}, he.diffed = function(t) {\n ca && ca(t);\n var e = t.__c;\n e && e.__H && (e.__H.__h.length && (Hs.push(e) !== 1 && aa === he.requestAnimationFrame || ((aa = he.requestAnimationFrame) || iu)(fa)), e.__H.__.some(function(n) {\n n.u && (n.__H = n.u, n.u = void 0);\n })), yi = oe = null;\n}, he.__c = function(t, e) {\n e.some(function(n) {\n try {\n n.__h.some(zi), n.__h = n.__h.filter(function(r) {\n return !r.__ || Ks(r);\n });\n } catch (r) {\n e.some(function(i) {\n i.__h && (i.__h = []);\n }), e = [], he.__e(r, n.__v);\n }\n }), ua && ua(t, e);\n}, he.unmount = function(t) {\n da && da(t);\n var e, n = t.__c;\n n && n.__H && (n.__H.__.some(function(r) {\n try {\n zi(r);\n } catch (i) {\n e = i;\n }\n }), n.__H = void 0, e && he.__e(e, n.__v));\n};\nvar pa = typeof requestAnimationFrame == \"function\";\nfunction iu(t) {\n var e, n = function() {\n clearTimeout(r), pa && cancelAnimationFrame(e), setTimeout(t);\n }, r = setTimeout(n, 35);\n pa && (e = requestAnimationFrame(n));\n}\nfunction zi(t) {\n var e = oe, n = t.__c;\n typeof n == \"function\" && (t.__c = void 0, n()), oe = e;\n}\nfunction Ks(t) {\n var e = oe;\n t.__c = t.__(), oe = e;\n}\nfunction xo(t, e) {\n return !t || t.length !== e.length || e.some(function(n, r) {\n return n !== t[r];\n });\n}\nfunction Ys(t, e) {\n return typeof e == \"function\" ? e(t) : e;\n}\nfunction Xs(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction Fi(t, e) {\n for (var n in t) if (n !== \"__source\" && !(n in e)) return !0;\n for (var r in e) if (r !== \"__source\" && t[r] !== e[r]) return !0;\n return !1;\n}\nfunction Zs(t, e) {\n var n = e(), r = D({ t: { __: n, u: e } }), i = r[0].t, o = r[1];\n return Sn(function() {\n i.__ = n, i.u = e, wi(i) && o({ t: i });\n }, [t, n, e]), P(function() {\n return wi(i) && o({ t: i }), t(function() {\n wi(i) && o({ t: i });\n });\n }, [t]), n;\n}\nfunction wi(t) {\n try {\n return !((e = t.__) === (n = t.u()) && (e !== 0 || 1 / e == 1 / n) || e != e && n != n);\n } catch {\n return !0;\n }\n var e, n;\n}\nfunction Js(t) {\n t();\n}\nfunction el(t) {\n return t;\n}\nfunction tl() {\n return [!1, Js];\n}\nvar nl = Sn;\nfunction Ui(t, e) {\n this.props = t, this.context = e;\n}\nfunction ou(t, e) {\n function n(i) {\n var o = this.props.ref;\n return o != i.ref && o && (typeof o == \"function\" ? o(null) : o.current = null), e ? !e(this.props, i) || o != i.ref : Fi(this.props, i);\n }\n function r(i) {\n return this.shouldComponentUpdate = n, Je(t, i);\n }\n return r.displayName = \"Memo(\" + (t.displayName || t.name) + \")\", r.__f = r.prototype.isReactComponent = !0, r.type = t, r;\n}\n(Ui.prototype = new ot()).isPureReactComponent = !0, Ui.prototype.shouldComponentUpdate = function(t, e) {\n return Fi(this.props, t) || Fi(this.state, e);\n};\nvar ma = O.__b;\nO.__b = function(t) {\n t.type && t.type.__f && t.ref && (t.props.ref = t.ref, t.ref = null), ma && ma(t);\n};\nvar au = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.forward_ref\") || 3911;\nfunction su(t) {\n function e(n) {\n var r = Xs({}, n);\n return delete r.ref, t(r, n.ref || null);\n }\n return e.$$typeof = au, e.render = t, e.prototype.isReactComponent = e.__f = !0, e.displayName = \"ForwardRef(\" + (t.displayName || t.name) + \")\", e;\n}\nvar ga = function(t, e) {\n return t == null ? null : bt(bt(t).map(e));\n}, lu = { map: ga, forEach: ga, count: function(t) {\n return t ? bt(t).length : 0;\n}, only: function(t) {\n var e = bt(t);\n if (e.length !== 1) throw \"Children.only\";\n return e[0];\n}, toArray: bt }, cu = O.__e;\nO.__e = function(t, e, n, r) {\n if (t.then) {\n for (var i, o = e; o = o.__; ) if ((i = o.__c) && i.__c) return e.__e == null && (e.__e = n.__e, e.__k = n.__k), i.__c(t, e);\n }\n cu(t, e, n, r);\n};\nvar xa = O.unmount;\nfunction rl(t, e, n) {\n return t && (t.__c && t.__c.__H && (t.__c.__H.__.forEach(function(r) {\n typeof r.__c == \"function\" && r.__c();\n }), t.__c.__H = null), (t = Xs({}, t)).__c != null && (t.__c.__P === n && (t.__c.__P = e), t.__c.__e = !0, t.__c = null), t.__k = t.__k && t.__k.map(function(r) {\n return rl(r, e, n);\n })), t;\n}\nfunction il(t, e, n) {\n return t && n && (t.__v = null, t.__k = t.__k && t.__k.map(function(r) {\n return il(r, e, n);\n }), t.__c && t.__c.__P === e && (t.__e && n.appendChild(t.__e), t.__c.__e = !0, t.__c.__P = n)), t;\n}\nfunction Rr() {\n this.__u = 0, this.o = null, this.__b = null;\n}\nfunction ol(t) {\n var e = t.__ && t.__.__c;\n return e && e.__a && e.__a(t);\n}\nfunction uu(t) {\n var e, n, r, i = null;\n function o(a) {\n if (e || (e = t()).then(function(l) {\n l && (i = l.default || l), r = !0;\n }, function(l) {\n n = l, r = !0;\n }), n) throw n;\n if (!r) throw e;\n return i ? Je(i, a) : null;\n }\n return o.displayName = \"Lazy\", o.__f = !0, o;\n}\nfunction zn() {\n this.i = null, this.l = null;\n}\nO.unmount = function(t) {\n var e = t.__c;\n e && (e.__z = !0), e && e.__R && e.__R(), e && 32 & t.__u && (t.type = null), xa && xa(t);\n}, (Rr.prototype = new ot()).__c = function(t, e) {\n var n = e.__c, r = this;\n r.o == null && (r.o = []), r.o.push(n);\n var i = ol(r.__v), o = !1, a = function() {\n o || r.__z || (o = !0, n.__R = null, i ? i(c) : c());\n };\n n.__R = a;\n var l = n.__P;\n n.__P = null;\n var c = function() {\n if (!--r.__u) {\n if (r.state.__a) {\n var u = r.state.__a;\n r.__v.__k[0] = il(u, u.__c.__P, u.__c.__O);\n }\n var d;\n for (r.setState({ __a: r.__b = null }); d = r.o.pop(); ) d.__P = l, d.forceUpdate();\n }\n };\n r.__u++ || 32 & e.__u || r.setState({ __a: r.__b = r.__v.__k[0] }), t.then(a, a);\n}, Rr.prototype.componentWillUnmount = function() {\n this.o = [];\n}, Rr.prototype.render = function(t, e) {\n var n = this.__v;\n if (!n.__m) {\n for (var r = n; r.__; ) r = r.__;\n r = r.__m || (r.__m = [0, 0]), n.__m = [r[1]++, 0];\n }\n if (this.__b) {\n if (n.__k) {\n var i = document.createElement(\"div\"), o = n.__k[0].__c;\n n.__k[0] = rl(this.__b, i, o.__O = o.__P);\n }\n this.__b = null;\n }\n var a = e.__a && Je(J, null, t.fallback);\n return a && (a.__u &= -33), [Je(J, null, e.__a ? null : t.children), a];\n};\nvar ba = function(t, e, n) {\n if (++n[1] === n[0] && t.l.delete(e), t.props.revealOrder && (t.props.revealOrder[0] !== \"t\" || !t.l.size)) for (n = t.i; n; ) {\n for (; n.length > 3; ) n.pop()();\n if (n[1] < n[0]) break;\n t.i = n = n[2];\n }\n};\nfunction du(t) {\n return this.getChildContext = function() {\n return t.context;\n }, t.children;\n}\nfunction hu(t) {\n var e = this, n = t.v;\n if (e.componentWillUnmount = function() {\n Yt(null, e.h), e.h = null, e.v = null;\n }, e.v && e.v !== n && e.componentWillUnmount(), !e.h) {\n for (var r = e.__v; r !== null && !r.__m && r.__ !== null; ) r = r.__;\n e.v = n, e.h = { nodeType: 1, parentNode: n, childNodes: [], __k: { __m: r.__m }, contains: function() {\n return !0;\n }, namespaceURI: n.namespaceURI, insertBefore: function(i, o) {\n this.childNodes.push(i), e.v.insertBefore(i, o);\n }, removeChild: function(i) {\n this.childNodes.splice(this.childNodes.indexOf(i) >>> 1, 1), e.v.removeChild(i);\n } };\n }\n Yt(Je(du, { context: e.context }, t.__v), e.h);\n}\nfunction fu(t, e) {\n var n = Je(hu, { __v: t, v: e });\n return n.containerInfo = e, n;\n}\n(zn.prototype = new ot()).__a = function(t) {\n var e = this, n = ol(e.__v), r = e.l.get(t);\n return r[0]++, function(i) {\n var o = function() {\n e.props.revealOrder ? (r.push(i), ba(e, t, r)) : i();\n };\n n ? n(o) : o();\n };\n}, zn.prototype.render = function(t) {\n this.i = null, this.l = /* @__PURE__ */ new Map();\n var e = bt(t.children);\n t.revealOrder && t.revealOrder[0] === \"b\" && e.reverse();\n for (var n = e.length; n--; ) this.l.set(e[n], this.i = [1, 0, this.i]);\n return t.children;\n}, zn.prototype.componentDidUpdate = zn.prototype.componentDidMount = function() {\n var t = this;\n this.l.forEach(function(e, n) {\n ba(t, n, e);\n });\n};\nvar al = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.element\") || 60103, pu = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, mu = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, gu = /[A-Z0-9]/g, xu = typeof document < \"u\", bu = function(t) {\n return (typeof Symbol < \"u\" && typeof /* @__PURE__ */ Symbol() == \"symbol\" ? /fil|che|rad/ : /fil|che|ra/).test(t);\n};\nfunction vu(t, e, n) {\n return e.__k == null && (e.textContent = \"\"), Yt(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\nfunction yu(t, e, n) {\n return Vs(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\not.prototype.isReactComponent = !0, [\"componentWillMount\", \"componentWillReceiveProps\", \"componentWillUpdate\"].forEach(function(t) {\n Object.defineProperty(ot.prototype, t, { configurable: !0, get: function() {\n return this[\"UNSAFE_\" + t];\n }, set: function(e) {\n Object.defineProperty(this, t, { configurable: !0, writable: !0, value: e });\n } });\n});\nvar va = O.event;\nO.event = function(t) {\n return va && (t = va(t)), t.persist = function() {\n }, t.isPropagationStopped = function() {\n return this.cancelBubble;\n }, t.isDefaultPrevented = function() {\n return this.defaultPrevented;\n }, t.nativeEvent = t;\n};\nvar bo, wu = { configurable: !0, get: function() {\n return this.class;\n} }, ya = O.vnode;\nO.vnode = function(t) {\n typeof t.type == \"string\" && (function(e) {\n var n = e.props, r = e.type, i = {}, o = r.indexOf(\"-\") == -1;\n for (var a in n) {\n var l = n[a];\n if (!(a === \"value\" && \"defaultValue\" in n && l == null || xu && a === \"children\" && r === \"noscript\" || a === \"class\" || a === \"className\")) {\n var c = a.toLowerCase();\n a === \"defaultValue\" && \"value\" in n && n.value == null ? a = \"value\" : a === \"download\" && l === !0 ? l = \"\" : c === \"translate\" && l === \"no\" ? l = !1 : c[0] === \"o\" && c[1] === \"n\" ? c === \"ondoubleclick\" ? a = \"ondblclick\" : c !== \"onchange\" || r !== \"input\" && r !== \"textarea\" || bu(n.type) ? c === \"onfocus\" ? a = \"onfocusin\" : c === \"onblur\" ? a = \"onfocusout\" : mu.test(a) && (a = c) : c = a = \"oninput\" : o && pu.test(a) ? a = a.replace(gu, \"-$&\").toLowerCase() : l === null && (l = void 0), c === \"oninput\" && i[a = c] && (a = \"oninputCapture\"), i[a] = l;\n }\n }\n r == \"select\" && (i.multiple && Array.isArray(i.value) && (i.value = bt(n.children).forEach(function(u) {\n u.props.selected = i.value.indexOf(u.props.value) != -1;\n })), i.defaultValue != null && (i.value = bt(n.children).forEach(function(u) {\n u.props.selected = i.multiple ? i.defaultValue.indexOf(u.props.value) != -1 : i.defaultValue == u.props.value;\n }))), n.class && !n.className ? (i.class = n.class, Object.defineProperty(i, \"className\", wu)) : n.className && (i.class = i.className = n.className), e.props = i;\n })(t), t.$$typeof = al, ya && ya(t);\n};\nvar wa = O.__r;\nO.__r = function(t) {\n wa && wa(t), bo = t.__c;\n};\nvar ka = O.diffed;\nO.diffed = function(t) {\n ka && ka(t);\n var e = t.props, n = t.__e;\n n != null && t.type === \"textarea\" && \"value\" in e && e.value !== n.value && (n.value = e.value == null ? \"\" : e.value), bo = null;\n};\nvar ku = { ReactCurrentDispatcher: { current: { readContext: function(t) {\n return bo.__n[t.__c].props.value;\n}, useCallback: Z, useContext: sr, useDebugValue: Qs, useDeferredValue: el, useEffect: P, useId: Gs, useImperativeHandle: Ws, useInsertionEffect: nl, useLayoutEffect: Sn, useMemo: ke, useReducer: He, useRef: ie, useState: D, useSyncExternalStore: Zs, useTransition: tl } } };\nfunction _u(t) {\n return Je.bind(null, t);\n}\nfunction ti(t) {\n return !!t && t.$$typeof === al;\n}\nfunction ju(t) {\n return ti(t) && t.type === J;\n}\nfunction Su(t) {\n return !!t && typeof t.displayName == \"string\" && t.displayName.indexOf(\"Memo(\") == 0;\n}\nfunction Tu(t) {\n return ti(t) ? tu.apply(null, arguments) : t;\n}\nfunction Cu(t) {\n return !!t.__k && (Yt(null, t), !0);\n}\nfunction Au(t) {\n return t && (t.base || t.nodeType === 1 && t) || null;\n}\nvar Ru = function(t, e) {\n return t(e);\n}, Eu = function(t, e) {\n var n = O.debounceRendering;\n O.debounceRendering = function(i) {\n return i();\n };\n var r = t(e);\n return O.debounceRendering = n, r;\n}, Iu = ti, vo = { useState: D, useId: Gs, useReducer: He, useEffect: P, useLayoutEffect: Sn, useInsertionEffect: nl, useTransition: tl, useDeferredValue: el, useSyncExternalStore: Zs, startTransition: Js, useRef: ie, useImperativeHandle: Ws, useMemo: ke, useCallback: Z, useContext: sr, useDebugValue: Qs, version: \"18.3.1\", Children: lu, render: vu, hydrate: yu, unmountComponentAtNode: Cu, createPortal: fu, createElement: Je, createContext: nu, createFactory: _u, cloneElement: Tu, createRef: Kc, Fragment: J, isValidElement: ti, isElement: Iu, isFragment: ju, isMemo: Su, findDOMNode: Au, Component: ot, PureComponent: Ui, memo: ou, forwardRef: su, flushSync: Eu, unstable_batchedUpdates: Ru, StrictMode: J, Suspense: Rr, SuspenseList: zn, lazy: uu, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ku }, pt = [], Xe = [], Mu = Uint8Array, ki = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nfor (var un = 0, Pu = ki.length; un < Pu; ++un)\n pt[un] = ki[un], Xe[ki.charCodeAt(un)] = un;\nXe[45] = 62;\nXe[95] = 63;\nfunction Nu(t) {\n var e = t.length;\n if (e % 4 > 0)\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var n = t.indexOf(\"=\");\n n === -1 && (n = e);\n var r = n === e ? 0 : 4 - n % 4;\n return [n, r];\n}\nfunction Lu(t, e, n) {\n return (e + n) * 3 / 4 - n;\n}\nfunction Xn(t) {\n var e, n = Nu(t), r = n[0], i = n[1], o = new Mu(Lu(t, r, i)), a = 0, l = i > 0 ? r - 4 : r, c;\n for (c = 0; c < l; c += 4)\n e = Xe[t.charCodeAt(c)] << 18 | Xe[t.charCodeAt(c + 1)] << 12 | Xe[t.charCodeAt(c + 2)] << 6 | Xe[t.charCodeAt(c + 3)], o[a++] = e >> 16 & 255, o[a++] = e >> 8 & 255, o[a++] = e & 255;\n return i === 2 && (e = Xe[t.charCodeAt(c)] << 2 | Xe[t.charCodeAt(c + 1)] >> 4, o[a++] = e & 255), i === 1 && (e = Xe[t.charCodeAt(c)] << 10 | Xe[t.charCodeAt(c + 1)] << 4 | Xe[t.charCodeAt(c + 2)] >> 2, o[a++] = e >> 8 & 255, o[a++] = e & 255), o;\n}\nfunction Ou(t) {\n return pt[t >> 18 & 63] + pt[t >> 12 & 63] + pt[t >> 6 & 63] + pt[t & 63];\n}\nfunction $u(t, e, n) {\n for (var r, i = [], o = e; o < n; o += 3)\n r = (t[o] << 16 & 16711680) + (t[o + 1] << 8 & 65280) + (t[o + 2] & 255), i.push(Ou(r));\n return i.join(\"\");\n}\nfunction Zn(t) {\n for (var e, n = t.length, r = n % 3, i = [], o = 16383, a = 0, l = n - r; a < l; a += o)\n i.push(\n $u(\n t,\n a,\n a + o > l ? l : a + o\n )\n );\n return r === 1 ? (e = t[n - 1], i.push(pt[e >> 2] + pt[e << 4 & 63] + \"==\")) : r === 2 && (e = (t[n - 2] << 8) + t[n - 1], i.push(\n pt[e >> 10] + pt[e >> 4 & 63] + pt[e << 2 & 63] + \"=\"\n )), i.join(\"\");\n}\nfunction jt(t) {\n if (t === void 0)\n return {};\n if (!sl(t))\n throw new Error(\n `The arguments to a Convex function must be an object. Received: ${t}`\n );\n return t;\n}\nfunction Du(t) {\n if (typeof t > \"u\")\n throw new Error(\n \"Client created with undefined deployment address. If you used an environment variable, check that it's set.\"\n );\n if (typeof t != \"string\")\n throw new Error(\n `Invalid deployment address: found ${t}\".`\n );\n if (!(t.startsWith(\"http:\") || t.startsWith(\"https:\")))\n throw new Error(\n `Invalid deployment address: Must start with \"https://\" or \"http://\". Found \"${t}\".`\n );\n try {\n new URL(t);\n } catch {\n throw new Error(\n `Invalid deployment address: \"${t}\" is not a valid URL. If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n }\n if (t.endsWith(\".convex.site\"))\n throw new Error(\n `Invalid deployment address: \"${t}\" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n}\nfunction sl(t) {\n const e = typeof t == \"object\", n = Object.getPrototypeOf(t), r = n === null || n === Object.prototype || // Objects generated from other contexts (e.g. across Node.js `vm` modules) will not satisfy the previous\n // conditions but are still simple objects.\n n?.constructor?.name === \"Object\";\n return e && r;\n}\nconst ll = !0, wn = BigInt(\"-9223372036854775808\"), yo = BigInt(\"9223372036854775807\"), Bi = BigInt(\"0\"), qu = BigInt(\"8\"), zu = BigInt(\"256\"), _i = \"This commit timestamp is unresolved: its value is assigned when the mutation commits. Read the document after the mutation completes to get its value.\";\nclass cl {\n [Symbol.toPrimitive](e) {\n if (e === \"string\")\n return this.toString();\n throw new Error(_i);\n }\n valueOf() {\n throw new Error(_i);\n }\n toJSON() {\n throw new Error(_i);\n }\n toString() {\n return \"[unresolved commit timestamp]\";\n }\n}\nconst Fu = new cl();\nfunction ul(t) {\n return Number.isNaN(t) || !Number.isFinite(t) || Object.is(t, -0);\n}\nfunction Uu(t) {\n t < Bi && (t -= wn + wn);\n let e = t.toString(16);\n e.length % 2 === 1 && (e = \"0\" + e);\n const n = new Uint8Array(new ArrayBuffer(8));\n let r = 0;\n for (const i of e.match(/.{2}/g).reverse())\n n.set([parseInt(i, 16)], r++), t >>= qu;\n return Zn(n);\n}\nfunction Bu(t) {\n const e = Xn(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n let n = Bi, r = Bi;\n for (const i of e)\n n += BigInt(i) * zu ** r, r++;\n return n > yo && (n += wn + wn), n;\n}\nfunction Vu(t) {\n if (t < wn || yo < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n const e = new ArrayBuffer(8);\n return new DataView(e).setBigInt64(0, t, !0), Zn(new Uint8Array(e));\n}\nfunction Hu(t) {\n const e = Xn(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n return new DataView(e.buffer).getBigInt64(0, !0);\n}\nconst Wu = DataView.prototype.setBigInt64 ? Vu : Uu, Qu = DataView.prototype.getBigInt64 ? Hu : Bu, _a = 1024;\nfunction dl(t) {\n if (t.length > _a)\n throw new Error(\n `Field name ${t} exceeds maximum field name length ${_a}.`\n );\n if (t.startsWith(\"$\"))\n throw new Error(`Field name ${t} starts with a '$', which is reserved.`);\n for (let e = 0; e < t.length; e += 1) {\n const n = t.charCodeAt(e);\n if (n < 32 || n >= 127)\n throw new Error(\n `Field name ${t} has invalid character '${t[e]}': Field names can only contain non-control ASCII characters`\n );\n }\n}\nfunction kn(t) {\n if (t === null || typeof t == \"boolean\" || typeof t == \"number\" || typeof t == \"string\")\n return t;\n if (Array.isArray(t))\n return t.map((r) => kn(r));\n if (typeof t != \"object\")\n throw new Error(`Unexpected type of ${t}`);\n const e = Object.entries(t);\n if (e.length === 1) {\n const r = e[0][0];\n if (r === \"$bytes\") {\n if (typeof t.$bytes != \"string\")\n throw new Error(`Malformed $bytes field on ${t}`);\n return Xn(t.$bytes).buffer;\n }\n if (r === \"$integer\") {\n if (typeof t.$integer != \"string\")\n throw new Error(`Malformed $integer field on ${t}`);\n return Qu(t.$integer);\n }\n if (r === \"$float\") {\n if (typeof t.$float != \"string\")\n throw new Error(`Malformed $float field on ${t}`);\n const i = Xn(t.$float);\n if (i.byteLength !== 8)\n throw new Error(\n `Received ${i.byteLength} bytes, expected 8 for $float`\n );\n const a = new DataView(i.buffer).getFloat64(0, ll);\n if (!ul(a))\n throw new Error(`Float ${a} should be encoded as a number`);\n return a;\n }\n if (r === \"$commitTs\") {\n if (t.$commitTs !== null)\n throw new Error(`Malformed $commitTs field on ${t}`);\n return Fu;\n }\n if (r === \"$set\")\n throw new Error(\n \"Received a Set which is no longer supported as a Convex type.\"\n );\n if (r === \"$map\")\n throw new Error(\n \"Received a Map which is no longer supported as a Convex type.\"\n );\n }\n const n = {};\n for (const [r, i] of Object.entries(t))\n dl(r), n[r] = kn(i);\n return n;\n}\nconst ja = 16384;\nfunction Qn(t) {\n const e = JSON.stringify(t, (n, r) => r === void 0 ? \"undefined\" : typeof r == \"bigint\" ? `${r.toString()}n` : r);\n if (e.length > ja) {\n const n = \"[...truncated]\";\n let r = ja - n.length;\n const i = e.codePointAt(r - 1);\n return i !== void 0 && i > 65535 && (r -= 1), e.substring(0, r) + n;\n }\n return e;\n}\nfunction Vi(t, e, n, r) {\n if (t === void 0) {\n const a = n && ` (present at path ${n} in original object ${Qn(\n e\n )})`;\n throw new Error(\n `undefined is not a valid Convex value${a}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`\n );\n }\n if (t === null)\n return t;\n if (typeof t == \"bigint\") {\n if (t < wn || yo < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n return { $integer: Wu(t) };\n }\n if (typeof t == \"number\")\n if (ul(t)) {\n const a = new ArrayBuffer(8);\n return new DataView(a).setFloat64(0, t, ll), { $float: Zn(new Uint8Array(a)) };\n } else\n return t;\n if (typeof t == \"boolean\" || typeof t == \"string\")\n return t;\n if (t instanceof ArrayBuffer)\n return { $bytes: Zn(new Uint8Array(t)) };\n if (t instanceof cl)\n return { $commitTs: null };\n if (Array.isArray(t))\n return t.map(\n (a, l) => Vi(a, e, n + `[${l}]`)\n );\n if (t instanceof Set)\n throw new Error(\n ji(n, \"Set\", [...t], e)\n );\n if (t instanceof Map)\n throw new Error(\n ji(n, \"Map\", [...t], e)\n );\n if (!sl(t)) {\n const a = t?.constructor?.name, l = a ? `${a} ` : \"\";\n throw new Error(\n ji(n, l, t, e)\n );\n }\n const i = {}, o = Object.entries(t);\n o.sort(([a, l], [c, u]) => a === c ? 0 : a < c ? -1 : 1);\n for (const [a, l] of o)\n l !== void 0 && (dl(a), i[a] = Vi(l, e, n + `.${a}`));\n return i;\n}\nfunction ji(t, e, n, r) {\n return t ? `${e}${Qn(\n n\n )} is not a supported Convex type (present at path ${t} in original object ${Qn(\n r\n )}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.` : `${e}${Qn(\n n\n )} is not a supported Convex type.`;\n}\nfunction vt(t) {\n return Vi(t, t, \"\");\n}\nvar Gu = Object.defineProperty, Ku = (t, e, n) => e in t ? Gu(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Si = (t, e, n) => Ku(t, typeof e != \"symbol\" ? e + \"\" : e, n), Sa, Ta;\nconst Yu = /* @__PURE__ */ Symbol.for(\"ConvexError\");\nclass $r extends (Ta = Error, Sa = Yu, Ta) {\n constructor(e) {\n super(typeof e == \"string\" ? e : Qn(e)), Si(this, \"name\", \"ConvexError\"), Si(this, \"data\"), Si(this, Sa, !0), this.data = e;\n }\n}\nconst hl = () => Array.from({ length: 4 }, () => 0);\nhl();\nhl();\nconst Ca = \"1.46.0\";\nvar Xu = Object.defineProperty, Zu = (t, e, n) => e in t ? Xu(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Aa = (t, e, n) => Zu(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Ju = \"color:rgb(0, 145, 255)\";\nfunction fl(t) {\n switch (t) {\n case \"query\":\n return \"Q\";\n case \"mutation\":\n return \"M\";\n case \"action\":\n return \"A\";\n case \"any\":\n return \"?\";\n }\n}\nclass pl {\n constructor(e) {\n Aa(this, \"_onLogLineFuncs\"), Aa(this, \"_verbose\"), this._onLogLineFuncs = {}, this._verbose = e.verbose;\n }\n addLogLineListener(e) {\n let n = Math.random().toString(36).substring(2, 15);\n for (let r = 0; r < 10 && this._onLogLineFuncs[n] !== void 0; r++)\n n = Math.random().toString(36).substring(2, 15);\n return this._onLogLineFuncs[n] = e, () => {\n delete this._onLogLineFuncs[n];\n };\n }\n logVerbose(...e) {\n if (this._verbose)\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"debug\", `${(/* @__PURE__ */ new Date()).toISOString()}`, ...e);\n }\n log(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"info\", ...e);\n }\n warn(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"warn\", ...e);\n }\n error(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"error\", ...e);\n }\n}\nfunction ml(t) {\n const e = new pl(t);\n return e.addLogLineListener((n, ...r) => {\n switch (n) {\n case \"debug\":\n console.debug(...r);\n break;\n case \"info\":\n console.log(...r);\n break;\n case \"warn\":\n console.warn(...r);\n break;\n case \"error\":\n console.error(...r);\n break;\n default:\n console.log(...r);\n }\n }), e;\n}\nfunction gl(t) {\n return new pl(t);\n}\nfunction Dr(t, e, n, r, i) {\n const o = fl(n);\n if (typeof i == \"object\" && (i = `ConvexError ${JSON.stringify(i.errorData, null, 2)}`), e === \"info\") {\n const a = i.match(/^\\[.*?\\] /);\n if (a === null) {\n t.error(\n `[CONVEX ${o}(${r})] Could not parse console.log`\n );\n return;\n }\n const l = i.slice(1, a[0].length - 2), c = i.slice(a[0].length);\n t.log(`%c[CONVEX ${o}(${r})] [${l}]`, Ju, c);\n } else\n t.error(`[CONVEX ${o}(${r})] ${i}`);\n}\nfunction ed(t, e) {\n const n = `[CONVEX FATAL ERROR] ${e}`;\n return t.error(n), new Error(n);\n}\nfunction gn(t, e, n) {\n return `[CONVEX ${fl(t)}(${e})] ${n.errorMessage}\n Called by client`;\n}\nfunction Hi(t, e) {\n return e.data = t.errorData, e;\n}\nfunction Xt(t) {\n const e = t.split(\":\");\n let n, r;\n return e.length === 1 ? (n = e[0], r = \"default\") : (n = e.slice(0, e.length - 1).join(\":\"), r = e[e.length - 1]), n.endsWith(\".js\") && (n = n.slice(0, -3)), `${n}:${r}`;\n}\nfunction Kt(t, e) {\n return JSON.stringify({\n udfPath: Xt(t),\n args: vt(e)\n });\n}\nfunction Ra(t, e, n) {\n const { initialNumItems: r, id: i } = n;\n return JSON.stringify({\n type: \"paginated\",\n udfPath: Xt(t),\n args: vt(e),\n options: vt({ initialNumItems: r, id: i })\n });\n}\nvar td = Object.defineProperty, nd = (t, e, n) => e in t ? td(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ut = (t, e, n) => nd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass rd {\n constructor() {\n ut(this, \"nextQueryId\"), ut(this, \"querySetVersion\"), ut(this, \"querySet\"), ut(this, \"queryIdToToken\"), ut(this, \"identityVersion\"), ut(this, \"auth\"), ut(this, \"outstandingQueriesOlderThanRestart\"), ut(this, \"outstandingAuthOlderThanRestart\"), ut(this, \"paused\"), ut(this, \"pendingQuerySetModifications\"), this.nextQueryId = 0, this.querySetVersion = 0, this.identityVersion = 0, this.querySet = /* @__PURE__ */ new Map(), this.queryIdToToken = /* @__PURE__ */ new Map(), this.outstandingQueriesOlderThanRestart = /* @__PURE__ */ new Set(), this.outstandingAuthOlderThanRestart = !1, this.paused = !1, this.pendingQuerySetModifications = /* @__PURE__ */ new Map();\n }\n hasSyncedPastLastReconnect() {\n return this.outstandingQueriesOlderThanRestart.size === 0 && !this.outstandingAuthOlderThanRestart;\n }\n markAuthCompletion() {\n this.outstandingAuthOlderThanRestart = !1;\n }\n subscribe(e, n, r, i) {\n const o = Xt(e), a = Kt(o, n), l = this.querySet.get(a);\n if (l !== void 0)\n return l.numSubscribers += 1, {\n queryToken: a,\n modification: null,\n unsubscribe: () => this.removeSubscriber(a)\n };\n {\n const c = this.nextQueryId++, u = {\n id: c,\n canonicalizedUdfPath: o,\n args: n,\n numSubscribers: 1,\n journal: r,\n componentPath: i\n };\n this.querySet.set(a, u), this.queryIdToToken.set(c, a);\n const d = this.querySetVersion, m = this.querySetVersion + 1, h = {\n type: \"Add\",\n queryId: c,\n udfPath: o,\n args: [vt(n)],\n journal: r,\n componentPath: i\n };\n return this.paused ? this.pendingQuerySetModifications.set(c, h) : this.querySetVersion = m, {\n queryToken: a,\n modification: {\n type: \"ModifyQuerySet\",\n baseVersion: d,\n newVersion: m,\n modifications: [h]\n },\n unsubscribe: () => this.removeSubscriber(a)\n };\n }\n }\n transition(e) {\n for (const n of e.modifications)\n switch (n.type) {\n case \"QueryUpdated\":\n case \"QueryFailed\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n const r = n.journal;\n if (r !== void 0) {\n const i = this.queryIdToToken.get(n.queryId);\n i !== void 0 && (this.querySet.get(i).journal = r);\n }\n break;\n }\n case \"QueryRemoved\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${n.type}`);\n }\n }\n queryId(e, n) {\n const r = Xt(e), i = Kt(r, n), o = this.querySet.get(i);\n return o !== void 0 ? o.id : null;\n }\n isCurrentOrNewerAuthVersion(e) {\n return e >= this.identityVersion;\n }\n getAuth() {\n return this.auth;\n }\n setAuth(e) {\n this.auth = {\n tokenType: \"User\",\n value: e\n };\n const n = this.identityVersion;\n return this.paused || (this.identityVersion = n + 1), {\n type: \"Authenticate\",\n baseVersion: n,\n ...this.auth\n };\n }\n setAdminAuth(e, n) {\n const r = {\n tokenType: \"Admin\",\n value: e,\n impersonating: n\n };\n this.auth = r;\n const i = this.identityVersion;\n return this.paused || (this.identityVersion = i + 1), {\n type: \"Authenticate\",\n baseVersion: i,\n ...r\n };\n }\n clearAuth() {\n this.auth = void 0, this.markAuthCompletion();\n const e = this.identityVersion;\n return this.paused || (this.identityVersion = e + 1), {\n type: \"Authenticate\",\n tokenType: \"None\",\n baseVersion: e\n };\n }\n hasAuth() {\n return !!this.auth;\n }\n isNewAuth(e) {\n return this.auth?.value !== e;\n }\n queryPath(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).canonicalizedUdfPath : null;\n }\n queryArgs(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).args : null;\n }\n queryToken(e) {\n return this.queryIdToToken.get(e) ?? null;\n }\n queryJournal(e) {\n return this.querySet.get(e)?.journal;\n }\n restart() {\n this.unpause(), this.outstandingQueriesOlderThanRestart.clear();\n const e = [];\n for (const i of this.querySet.values()) {\n const o = {\n type: \"Add\",\n queryId: i.id,\n udfPath: i.canonicalizedUdfPath,\n args: [vt(i.args)],\n journal: i.journal,\n componentPath: i.componentPath\n };\n e.push(o), this.outstandingQueriesOlderThanRestart.add(i.id);\n }\n this.querySetVersion = 1;\n const n = {\n type: \"ModifyQuerySet\",\n baseVersion: 0,\n newVersion: 1,\n modifications: e\n };\n if (!this.auth)\n return this.identityVersion = 0, [n, void 0];\n this.outstandingAuthOlderThanRestart = !0;\n const r = {\n type: \"Authenticate\",\n baseVersion: 0,\n ...this.auth\n };\n return this.identityVersion = 1, [n, r];\n }\n pause() {\n this.paused = !0;\n }\n resume() {\n const e = this.pendingQuerySetModifications.size > 0 ? {\n type: \"ModifyQuerySet\",\n baseVersion: this.querySetVersion,\n newVersion: ++this.querySetVersion,\n modifications: Array.from(\n this.pendingQuerySetModifications.values()\n )\n } : void 0, n = this.auth !== void 0 ? {\n type: \"Authenticate\",\n baseVersion: this.identityVersion++,\n ...this.auth\n } : void 0;\n return this.unpause(), [e, n];\n }\n unpause() {\n this.paused = !1, this.pendingQuerySetModifications.clear();\n }\n removeSubscriber(e) {\n const n = this.querySet.get(e);\n if (n.numSubscribers > 1)\n return n.numSubscribers -= 1, null;\n {\n this.querySet.delete(e), this.queryIdToToken.delete(n.id), this.outstandingQueriesOlderThanRestart.delete(n.id);\n const r = this.querySetVersion, i = this.querySetVersion + 1, o = {\n type: \"Remove\",\n queryId: n.id\n };\n return this.paused ? this.pendingQuerySetModifications.has(n.id) ? this.pendingQuerySetModifications.delete(n.id) : this.pendingQuerySetModifications.set(n.id, o) : this.querySetVersion = i, {\n type: \"ModifyQuerySet\",\n baseVersion: r,\n newVersion: i,\n modifications: [o]\n };\n }\n }\n}\nvar id = Object.defineProperty, od = (t, e, n) => e in t ? id(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, wr = (t, e, n) => od(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass ad {\n constructor(e, n) {\n this.logger = e, this.markConnectionStateDirty = n, wr(this, \"inflightRequests\"), wr(this, \"requestsOlderThanRestart\"), wr(this, \"inflightMutationsCount\", 0), wr(this, \"inflightActionsCount\", 0), this.inflightRequests = /* @__PURE__ */ new Map(), this.requestsOlderThanRestart = /* @__PURE__ */ new Set();\n }\n request(e, n) {\n const r = new Promise((i) => {\n const o = n ? \"Requested\" : \"NotSent\";\n this.inflightRequests.set(e.requestId, {\n message: e,\n status: { status: o, requestedAt: /* @__PURE__ */ new Date(), onResult: i }\n }), e.type === \"Mutation\" ? this.inflightMutationsCount++ : e.type === \"Action\" && this.inflightActionsCount++;\n });\n return this.markConnectionStateDirty(), r;\n }\n /**\n * Update the state after receiving a response.\n *\n * @returns A RequestId if the request is complete and its optimistic update\n * can be dropped, null otherwise.\n */\n onResponse(e) {\n const n = this.inflightRequests.get(e.requestId);\n if (n === void 0 || n.status.status === \"Completed\")\n return null;\n const r = n.message.type === \"Mutation\" ? \"mutation\" : \"action\", i = n.message.udfPath;\n for (const c of e.logLines)\n Dr(this.logger, \"info\", r, i, c);\n const o = n.status;\n let a, l;\n if (e.success)\n a = {\n success: !0,\n logLines: e.logLines,\n value: kn(e.result)\n }, l = () => o.onResult(a);\n else {\n const c = e.result, { errorData: u } = e;\n Dr(this.logger, \"error\", r, i, c), a = {\n success: !1,\n errorMessage: c,\n errorData: u !== void 0 ? kn(u) : void 0,\n logLines: e.logLines\n }, l = () => o.onResult(a);\n }\n return e.type === \"ActionResponse\" || !e.success ? (l(), this.inflightRequests.delete(e.requestId), this.requestsOlderThanRestart.delete(e.requestId), n.message.type === \"Action\" ? this.inflightActionsCount-- : n.message.type === \"Mutation\" && this.inflightMutationsCount--, this.markConnectionStateDirty(), { requestId: e.requestId, result: a }) : (n.status = {\n status: \"Completed\",\n result: a,\n ts: e.ts,\n onResolve: l\n }, null);\n }\n // Remove and returns completed requests.\n removeCompleted(e) {\n const n = /* @__PURE__ */ new Map();\n for (const [r, i] of this.inflightRequests.entries()) {\n const o = i.status;\n o.status === \"Completed\" && o.ts.lessThanOrEqual(e) && (o.onResolve(), n.set(r, o.result), i.message.type === \"Mutation\" ? this.inflightMutationsCount-- : i.message.type === \"Action\" && this.inflightActionsCount--, this.inflightRequests.delete(r), this.requestsOlderThanRestart.delete(r));\n }\n return n.size > 0 && this.markConnectionStateDirty(), n;\n }\n restart() {\n this.requestsOlderThanRestart = new Set(this.inflightRequests.keys());\n const e = [];\n for (const [n, r] of this.inflightRequests) {\n if (r.status.status === \"NotSent\") {\n r.status.status = \"Requested\", e.push(r.message);\n continue;\n }\n if (r.message.type === \"Mutation\")\n e.push(r.message);\n else if (r.message.type === \"Action\") {\n if (this.inflightRequests.delete(n), this.requestsOlderThanRestart.delete(n), this.inflightActionsCount--, r.status.status === \"Completed\")\n throw new Error(\"Action should never be in 'Completed' state\");\n r.status.onResult({\n success: !1,\n errorMessage: \"Connection lost while action was in flight\",\n logLines: []\n });\n }\n }\n return this.markConnectionStateDirty(), e;\n }\n resume() {\n const e = [];\n for (const [, n] of this.inflightRequests)\n if (n.status.status === \"NotSent\") {\n n.status.status = \"Requested\", e.push(n.message);\n continue;\n }\n return e;\n }\n /**\n * @returns true if there are any requests that have been requested but have\n * not be completed yet.\n */\n hasIncompleteRequests() {\n for (const e of this.inflightRequests.values())\n if (e.status.status === \"Requested\")\n return !0;\n return !1;\n }\n /**\n * @returns true if there are any inflight requests, including ones that have\n * completed on the server, but have not been applied.\n */\n hasInflightRequests() {\n return this.inflightRequests.size > 0;\n }\n /**\n * @returns true if there are any inflight requests, that have been hanging around\n * since prior to the most recent restart.\n */\n hasSyncedPastLastReconnect() {\n return this.requestsOlderThanRestart.size === 0;\n }\n timeOfOldestInflightRequest() {\n if (this.inflightRequests.size === 0)\n return null;\n let e = Date.now();\n for (const n of this.inflightRequests.values())\n n.status.status !== \"Completed\" && n.status.requestedAt.getTime() < e && (e = n.status.requestedAt.getTime());\n return new Date(e);\n }\n /**\n * @returns The number of mutations currently in flight.\n */\n inflightMutations() {\n return this.inflightMutationsCount;\n }\n /**\n * @returns The number of actions currently in flight.\n */\n inflightActions() {\n return this.inflightActionsCount;\n }\n}\nconst Jn = /* @__PURE__ */ Symbol.for(\"functionName\"), sd = /* @__PURE__ */ Symbol.for(\"toReferencePath\");\nfunction ld(t) {\n return t[sd] ?? null;\n}\nfunction cd(t) {\n return t.startsWith(\"function://\");\n}\nfunction ud(t) {\n let e;\n if (typeof t == \"string\")\n cd(t) ? e = { functionHandle: t } : e = { name: t };\n else if (t[Jn])\n e = { name: t[Jn] };\n else {\n const n = ld(t);\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n e = { reference: n };\n }\n return e;\n}\nfunction De(t) {\n const e = ud(t);\n if (e.name === void 0)\n throw e.functionHandle !== void 0 ? new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received function handle ${e.functionHandle}`\n ) : e.reference !== void 0 ? new Error(\n `Expected function reference in the current component like \"api.file.func\" or \"internal.file.func\", but received reference ${e.reference}`\n ) : new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received ${JSON.stringify(e)}`\n );\n if (typeof t == \"string\") return t;\n const n = t[Jn];\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n return n;\n}\nfunction wo(t) {\n return { [Jn]: t };\n}\nfunction xl(t = []) {\n const e = {\n get(n, r) {\n if (typeof r == \"string\") {\n const i = [...t, r];\n return xl(i);\n } else if (r === Jn) {\n if (t.length < 2) {\n const a = [\"api\", ...t].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`api.moduleName.functionName\\`. Found: \\`${a}\\``\n );\n }\n const i = t.slice(0, -1).join(\"/\"), o = t[t.length - 1];\n return o === \"default\" ? i : i + \":\" + o;\n } else return r === Symbol.toStringTag ? \"FunctionReference\" : void 0;\n }\n };\n return new Proxy({}, e);\n}\nxl();\nvar dd = Object.defineProperty, hd = (t, e, n) => e in t ? dd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, qr = (t, e, n) => hd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass er {\n constructor(e) {\n qr(this, \"queryResults\"), qr(this, \"modifiedQueries\"), this.queryResults = e, this.modifiedQueries = [];\n }\n getQuery(e, ...n) {\n const r = jt(n[0]), i = De(e), o = this.queryResults.get(\n Kt(i, r)\n );\n if (o !== void 0)\n return er.queryValue(o.result);\n }\n getAllQueries(e) {\n const n = [], r = De(e);\n for (const i of this.queryResults.values())\n i.udfPath === Xt(r) && n.push({\n args: i.args,\n value: er.queryValue(i.result)\n });\n return n;\n }\n setQuery(e, n, r) {\n const i = jt(n), o = De(e), a = Kt(o, i);\n let l;\n r === void 0 ? l = void 0 : l = {\n success: !0,\n value: r,\n // It's an optimistic update, so there are no function logs to show.\n logLines: []\n };\n const c = {\n udfPath: o,\n args: i,\n result: l\n };\n this.queryResults.set(a, c), this.modifiedQueries.push(a);\n }\n static queryValue(e) {\n if (e !== void 0)\n return e.success ? e.value : void 0;\n }\n}\nclass fd {\n constructor() {\n qr(this, \"queryResults\"), qr(this, \"optimisticUpdates\"), this.queryResults = /* @__PURE__ */ new Map(), this.optimisticUpdates = [];\n }\n /**\n * Apply all optimistic updates on top of server query results\n */\n ingestQueryResultsFromServer(e, n) {\n this.optimisticUpdates = this.optimisticUpdates.filter((a) => !n.has(a.mutationId));\n const r = this.queryResults;\n this.queryResults = new Map(e);\n const i = new er(this.queryResults);\n for (const a of this.optimisticUpdates)\n a.update(i);\n const o = [];\n for (const [a, l] of this.queryResults) {\n const c = r.get(a);\n (c === void 0 || c.result !== l.result) && o.push(a);\n }\n return o;\n }\n applyOptimisticUpdate(e, n) {\n this.optimisticUpdates.push({\n update: e,\n mutationId: n\n });\n const r = new er(this.queryResults);\n return e(r), r.modifiedQueries;\n }\n /**\n * \"Raw\" with respect to errors vs values, but query results still have\n * optimistic updates applied.\n *\n * @internal\n */\n rawQueryResult(e) {\n const n = this.queryResults.get(e);\n if (n !== void 0)\n return n.result;\n }\n queryResult(e) {\n const n = this.queryResults.get(e);\n if (n === void 0)\n return;\n const r = n.result;\n if (r !== void 0) {\n if (r.success)\n return r.value;\n throw r.errorData !== void 0 ? Hi(\n r,\n new $r(\n gn(\"query\", n.udfPath, r)\n )\n ) : new Error(\n gn(\"query\", n.udfPath, r)\n );\n }\n }\n hasQueryResult(e) {\n return this.queryResults.get(e) !== void 0;\n }\n /**\n * @internal\n */\n queryLogs(e) {\n return this.queryResults.get(e)?.result?.logLines;\n }\n}\nvar pd = Object.defineProperty, md = (t, e, n) => e in t ? pd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Ti = (t, e, n) => md(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Ue {\n constructor(e, n) {\n Ti(this, \"low\"), Ti(this, \"high\"), Ti(this, \"__isUnsignedLong__\"), this.low = e | 0, this.high = n | 0, this.__isUnsignedLong__ = !0;\n }\n static isLong(e) {\n return (e && e.__isUnsignedLong__) === !0;\n }\n // prettier-ignore\n static fromBytesLE(e) {\n return new Ue(\n e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24,\n e[4] | e[5] << 8 | e[6] << 16 | e[7] << 24\n );\n }\n // prettier-ignore\n toBytesLE() {\n const e = this.high, n = this.low;\n return [\n n & 255,\n n >>> 8 & 255,\n n >>> 16 & 255,\n n >>> 24,\n e & 255,\n e >>> 8 & 255,\n e >>> 16 & 255,\n e >>> 24\n ];\n }\n static fromNumber(e) {\n return isNaN(e) || e < 0 ? Ea : e >= gd ? xd : new Ue(e % Gn | 0, e / Gn | 0);\n }\n toString() {\n return (BigInt(this.high) * BigInt(Gn) + BigInt(this.low)).toString();\n }\n equals(e) {\n return Ue.isLong(e) || (e = Ue.fromValue(e)), this.high >>> 31 === 1 && e.high >>> 31 === 1 ? !1 : this.high === e.high && this.low === e.low;\n }\n notEquals(e) {\n return !this.equals(e);\n }\n comp(e) {\n return Ue.isLong(e) || (e = Ue.fromValue(e)), this.equals(e) ? 0 : e.high >>> 0 > this.high >>> 0 || e.high === this.high && e.low >>> 0 > this.low >>> 0 ? -1 : 1;\n }\n lessThanOrEqual(e) {\n return this.comp(\n /* validates */\n e\n ) <= 0;\n }\n static fromValue(e) {\n return typeof e == \"number\" ? Ue.fromNumber(e) : new Ue(e.low, e.high);\n }\n}\nconst Ea = new Ue(0, 0), Ia = 65536, Gn = Ia * Ia, gd = Gn * Gn, xd = new Ue(-1, -1);\nvar bd = Object.defineProperty, vd = (t, e, n) => e in t ? bd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, kr = (t, e, n) => vd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Ma {\n constructor(e, n) {\n kr(this, \"version\"), kr(this, \"remoteQuerySet\"), kr(this, \"queryPath\"), kr(this, \"logger\"), this.version = { querySet: 0, ts: Ue.fromNumber(0), identity: 0 }, this.remoteQuerySet = /* @__PURE__ */ new Map(), this.queryPath = e, this.logger = n;\n }\n transition(e) {\n const n = e.startVersion;\n if (this.version.querySet !== n.querySet || this.version.ts.notEquals(n.ts) || this.version.identity !== n.identity)\n throw new Error(\n `Invalid start version: ${n.ts.toString()}:${n.querySet}:${n.identity}, transitioning from ${this.version.ts.toString()}:${this.version.querySet}:${this.version.identity}`\n );\n for (const r of e.modifications)\n switch (r.type) {\n case \"QueryUpdated\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const a of r.logLines)\n Dr(this.logger, \"info\", \"query\", i, a);\n const o = kn(r.value ?? null);\n this.remoteQuerySet.set(r.queryId, {\n success: !0,\n value: o,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryFailed\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const a of r.logLines)\n Dr(this.logger, \"info\", \"query\", i, a);\n const { errorData: o } = r;\n this.remoteQuerySet.set(r.queryId, {\n success: !1,\n errorMessage: r.errorMessage,\n errorData: o !== void 0 ? kn(o) : void 0,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryRemoved\": {\n this.remoteQuerySet.delete(r.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${r.type}`);\n }\n this.version = e.endVersion;\n }\n remoteQueryResults() {\n return this.remoteQuerySet;\n }\n timestamp() {\n return this.version.ts;\n }\n}\nfunction Ci(t) {\n const e = Xn(t);\n return Ue.fromBytesLE(Array.from(e));\n}\nfunction yd(t) {\n const e = new Uint8Array(t.toBytesLE());\n return Zn(e);\n}\nfunction Pa(t) {\n switch (t.type) {\n case \"FatalError\":\n case \"AuthError\":\n case \"ActionResponse\":\n case \"TransitionChunk\":\n case \"Ping\":\n return { ...t };\n case \"MutationResponse\":\n return t.success ? { ...t, ts: Ci(t.ts) } : { ...t };\n case \"Transition\":\n return {\n ...t,\n startVersion: {\n ...t.startVersion,\n ts: Ci(t.startVersion.ts)\n },\n endVersion: {\n ...t.endVersion,\n ts: Ci(t.endVersion.ts)\n }\n };\n }\n}\nfunction wd(t) {\n switch (t.type) {\n case \"Authenticate\":\n case \"ModifyQuerySet\":\n case \"Mutation\":\n case \"Action\":\n case \"Event\":\n return { ...t };\n case \"Connect\":\n return t.maxObservedTimestamp !== void 0 ? {\n ...t,\n maxObservedTimestamp: yd(t.maxObservedTimestamp)\n } : { ...t, maxObservedTimestamp: void 0 };\n }\n}\nvar kd = Object.defineProperty, _d = (t, e, n) => e in t ? kd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, be = (t, e, n) => _d(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst jd = 1e3, Sd = 1001, Td = 1005, Cd = 4040;\nlet Er;\nfunction fn() {\n return Er === void 0 && (Er = Date.now()), typeof performance > \"u\" || !performance.now ? Date.now() : Math.round(Er + performance.now());\n}\nfunction Na() {\n return `t=${Math.round((fn() - Er) / 100) / 10}s`;\n}\nconst bl = {\n // A known error, e.g. during a restart or push\n InternalServerError: { timeout: 1e3 },\n // ErrorMetadata::overloaded() messages that we realy should back off\n SubscriptionsWorkerFullError: { timeout: 3e3 },\n TooManyConcurrentRequests: { timeout: 3e3 },\n CommitterFullError: { timeout: 3e3 },\n AwsTooManyRequestsException: { timeout: 3e3 },\n ExecuteFullError: { timeout: 3e3 },\n SystemTimeoutError: { timeout: 3e3 },\n ExpiredInQueue: { timeout: 3e3 },\n // ErrorMetadata::feature_temporarily_unavailable() that typically indicate a deploy just happened\n VectorIndexesUnavailable: { timeout: 1e3 },\n SearchIndexesUnavailable: { timeout: 1e3 },\n TableSummariesUnavailable: { timeout: 1e3 },\n // More ErrorMetadata::overloaded()\n VectorIndexTooLarge: { timeout: 3e3 },\n SearchIndexTooLarge: { timeout: 3e3 },\n TooManyWritesInTimePeriod: { timeout: 3e3 }\n};\nfunction Ad(t) {\n if (t === void 0) return \"Unknown\";\n for (const e of Object.keys(\n bl\n ))\n if (t.startsWith(e))\n return e;\n return \"Unknown\";\n}\nclass Rd {\n constructor(e, n, r, i, o, a) {\n this.markConnectionStateDirty = o, this.debug = a, be(this, \"socket\"), be(this, \"connectionCount\"), be(this, \"_hasEverConnected\", !1), be(this, \"lastCloseReason\"), be(this, \"transitionChunkBuffer\", null), be(this, \"defaultInitialBackoff\"), be(this, \"maxBackoff\"), be(this, \"retries\"), be(this, \"serverInactivityThreshold\"), be(this, \"reconnectDueToServerInactivityTimeout\"), be(this, \"scheduledReconnect\", null), be(this, \"networkOnlineHandler\", null), be(this, \"pendingNetworkRecoveryInfo\", null), be(this, \"uri\"), be(this, \"onOpen\"), be(this, \"onResume\"), be(this, \"onMessage\"), be(this, \"webSocketConstructor\"), be(this, \"logger\"), be(this, \"onServerDisconnectError\"), this.webSocketConstructor = r, this.socket = { state: \"disconnected\" }, this.connectionCount = 0, this.lastCloseReason = \"InitialConnect\", this.defaultInitialBackoff = 1e3, this.maxBackoff = 16e3, this.retries = 0, this.serverInactivityThreshold = 6e4, this.reconnectDueToServerInactivityTimeout = null, this.uri = e, this.onOpen = n.onOpen, this.onResume = n.onResume, this.onMessage = n.onMessage, this.onServerDisconnectError = n.onServerDisconnectError, this.logger = i, this.setupNetworkListener(), this.connect();\n }\n setSocketState(e) {\n this.socket = e, this._logVerbose(\n `socket state changed: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}`\n ), this.markConnectionStateDirty();\n }\n setupNetworkListener() {\n typeof window > \"u\" || typeof window.addEventListener != \"function\" || this.networkOnlineHandler === null && (this.networkOnlineHandler = () => {\n this._logVerbose(\"network online event detected\"), this.tryReconnectImmediately();\n }, window.addEventListener(\"online\", this.networkOnlineHandler), this._logVerbose(\"network online event listener registered\"));\n }\n cleanupNetworkListener() {\n this.networkOnlineHandler && typeof window < \"u\" && typeof window.removeEventListener == \"function\" && (window.removeEventListener(\"online\", this.networkOnlineHandler), this.networkOnlineHandler = null, this._logVerbose(\"network online event listener removed\"));\n }\n assembleTransition(e) {\n if (e.partNumber < 0 || e.partNumber >= e.totalParts || e.totalParts === 0 || this.transitionChunkBuffer && (this.transitionChunkBuffer.totalParts !== e.totalParts || this.transitionChunkBuffer.transitionId !== e.transitionId))\n throw this.transitionChunkBuffer = null, new Error(\"Invalid TransitionChunk\");\n if (this.transitionChunkBuffer === null && (this.transitionChunkBuffer = {\n chunks: [],\n totalParts: e.totalParts,\n transitionId: e.transitionId\n }), e.partNumber !== this.transitionChunkBuffer.chunks.length) {\n const n = this.transitionChunkBuffer.chunks.length;\n throw this.transitionChunkBuffer = null, new Error(\n `TransitionChunk received out of order: expected part ${n}, got ${e.partNumber}`\n );\n }\n if (this.transitionChunkBuffer.chunks.push(e.chunk), this.transitionChunkBuffer.chunks.length === e.totalParts) {\n const n = this.transitionChunkBuffer.chunks.join(\"\");\n this.transitionChunkBuffer = null;\n const r = Pa(JSON.parse(n));\n if (r.type !== \"Transition\")\n throw new Error(\n `Expected Transition, got ${r.type} after assembling chunks`\n );\n return r;\n }\n return null;\n }\n connect() {\n if (this.socket.state === \"terminated\")\n return;\n if (this.socket.state !== \"disconnected\" && this.socket.state !== \"stopped\")\n throw new Error(\n \"Didn't start connection from disconnected state: \" + this.socket.state\n );\n const e = new this.webSocketConstructor(this.uri);\n this._logVerbose(\"constructed WebSocket\"), this.setSocketState({\n state: \"connecting\",\n ws: e,\n paused: \"no\"\n }), this.resetServerInactivityTimeout(), e.onopen = () => {\n if (this.logger.logVerbose(\"begin ws.onopen\"), this.socket.state !== \"connecting\")\n throw new Error(\"onopen called with socket not in connecting state\");\n if (this.setSocketState({\n state: \"ready\",\n ws: e,\n paused: this.socket.paused === \"yes\" ? \"uninitialized\" : \"no\"\n }), this.resetServerInactivityTimeout(), this.socket.paused === \"no\" && (this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: fn()\n })), this.lastCloseReason !== \"InitialConnect\" && (this.lastCloseReason ? this.logger.log(\n \"WebSocket reconnected at\",\n Na(),\n \"after disconnect due to\",\n this.lastCloseReason\n ) : this.logger.log(\"WebSocket reconnected at\", Na())), this.connectionCount += 1, this.lastCloseReason = null, this.pendingNetworkRecoveryInfo !== null) {\n const { timeSavedMs: n } = this.pendingNetworkRecoveryInfo;\n this.pendingNetworkRecoveryInfo = null, this.sendMessage({\n type: \"Event\",\n eventType: \"NetworkRecoveryReconnect\",\n event: { timeSavedMs: n }\n }), this.logger.log(\n `Network recovery reconnect saved ~${Math.round(n / 1e3)}s of waiting`\n );\n }\n }, e.onerror = (n) => {\n this.transitionChunkBuffer = null;\n const r = n.message;\n r && this.logger.log(`WebSocket error message: ${r}`);\n }, e.onmessage = (n) => {\n this.resetServerInactivityTimeout();\n const r = n.data.length;\n let i = Pa(JSON.parse(n.data));\n if (this._logVerbose(`received ws message with type ${i.type}`), i.type === \"Ping\")\n return;\n if (i.type === \"TransitionChunk\") {\n const a = this.assembleTransition(i);\n if (!a)\n return;\n i = a, this._logVerbose(\n `assembled full ws message of type ${i.type}`\n );\n }\n this.transitionChunkBuffer !== null && (this.transitionChunkBuffer = null, this.logger.log(\n `Received unexpected ${i.type} while buffering TransitionChunks`\n )), i.type === \"Transition\" && this.reportLargeTransition({\n messageLength: r,\n transition: i\n }), this.onMessage(i).hasSyncedPastLastReconnect && (this.retries = 0, this.markConnectionStateDirty());\n }, e.onclose = (n) => {\n if (this._logVerbose(\"begin ws.onclose\"), this.transitionChunkBuffer = null, this.lastCloseReason === null && (this.lastCloseReason = n.reason || `closed with code ${n.code}`), n.code !== jd && n.code !== Sd && // This commonly gets fired on mobile apps when the app is backgrounded\n n.code !== Td && n.code !== Cd) {\n let i = `WebSocket closed with code ${n.code}`;\n n.reason && (i += `: ${n.reason}`), this.logger.log(i), this.onServerDisconnectError && n.reason && this.onServerDisconnectError(i);\n }\n const r = Ad(n.reason);\n this.scheduleReconnect(r);\n };\n }\n /**\n * @returns The state of the {@link Socket}.\n */\n socketState() {\n return this.socket.state;\n }\n /**\n * @param message - A ClientMessage to send.\n * @returns Whether the message (might have been) sent.\n */\n sendMessage(e) {\n const n = {\n type: e.type,\n ...e.type === \"Authenticate\" && e.tokenType === \"User\" ? {\n value: `...${e.value.slice(-7)}`\n } : {}\n };\n if (this.socket.state === \"ready\" && this.socket.paused === \"no\") {\n const r = wd(e), i = JSON.stringify(r);\n let o = !1;\n try {\n this.socket.ws.send(i), o = !0;\n } catch (a) {\n this.logger.log(\n `Failed to send message on WebSocket, reconnecting: ${a}`\n ), this.closeAndReconnect(\"FailedToSendMessage\");\n }\n return this._logVerbose(\n `${o ? \"sent\" : \"failed to send\"} message with type ${e.type}: ${JSON.stringify(\n n\n )}`\n ), !0;\n }\n return this._logVerbose(\n `message not sent (socket state: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}): ${JSON.stringify(\n n\n )}`\n ), !1;\n }\n resetServerInactivityTimeout() {\n this.socket.state !== \"terminated\" && (this.reconnectDueToServerInactivityTimeout !== null && (clearTimeout(this.reconnectDueToServerInactivityTimeout), this.reconnectDueToServerInactivityTimeout = null), this.reconnectDueToServerInactivityTimeout = setTimeout(() => {\n this.closeAndReconnect(\"InactiveServer\");\n }, this.serverInactivityThreshold));\n }\n scheduleReconnect(e) {\n this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.socket = { state: \"disconnected\" };\n const n = this.nextBackoff(e);\n this.markConnectionStateDirty(), this.logger.log(`Attempting reconnect in ${Math.round(n)}ms`);\n const r = fn(), i = setTimeout(() => {\n this.scheduledReconnect?.timeout === i && (this.scheduledReconnect = null, this.connect());\n }, n);\n this.scheduledReconnect = {\n timeout: i,\n scheduledAt: r,\n backoffMs: n\n };\n }\n /**\n * Close the WebSocket and schedule a reconnect.\n *\n * This should be used when we hit an error and would like to restart the session.\n */\n closeAndReconnect(e) {\n switch (this._logVerbose(`begin closeAndReconnect with reason ${e}`), this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.lastCloseReason = e, this.close(), this.scheduleReconnect(\"client\");\n return;\n }\n default:\n this.socket;\n }\n }\n /**\n * Close the WebSocket, being careful to clear the onclose handler to avoid re-entrant\n * calls. Use this instead of directly calling `ws.close()`\n *\n * It is the callers responsibility to update the state after this method is called so that the\n * closed socket is not accessible or used again after this method is called\n */\n close() {\n switch (this.transitionChunkBuffer = null, this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return Promise.resolve();\n case \"connecting\": {\n const e = this.socket.ws;\n return e.onmessage = (n) => {\n this._logVerbose(\"Ignoring message received after close\");\n }, new Promise((n) => {\n e.onclose = () => {\n this._logVerbose(\"Closed after connecting\"), n();\n }, e.onopen = () => {\n this._logVerbose(\"Opened after connecting\"), e.close();\n };\n });\n }\n case \"ready\": {\n this._logVerbose(\"ws.close called\");\n const e = this.socket.ws;\n e.onmessage = (r) => {\n this._logVerbose(\"Ignoring message received after close\");\n };\n const n = new Promise((r) => {\n e.onclose = () => {\n r();\n };\n });\n return e.close(), n;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Close the WebSocket and do not reconnect.\n * @returns A Promise that resolves when the WebSocket `onClose` callback is called.\n */\n terminate() {\n switch (this.reconnectDueToServerInactivityTimeout && clearTimeout(this.reconnectDueToServerInactivityTimeout), this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.cleanupNetworkListener(), this.socket.state) {\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n case \"connecting\":\n case \"ready\": {\n const e = this.close();\n return this.setSocketState({ state: \"terminated\" }), e;\n }\n default:\n throw this.socket, new Error(\n `Invalid websocket state: ${this.socket.state}`\n );\n }\n }\n stop() {\n switch (this.socket.state) {\n case \"terminated\":\n return Promise.resolve();\n case \"connecting\":\n case \"stopped\":\n case \"disconnected\":\n case \"ready\": {\n this.cleanupNetworkListener();\n const e = this.close();\n return this.socket = { state: \"stopped\" }, e;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Create a new WebSocket after a previous `stop()`, unless `terminate()` was\n * called before.\n */\n tryRestart() {\n switch (this.socket.state) {\n case \"stopped\":\n break;\n case \"terminated\":\n case \"connecting\":\n case \"ready\":\n case \"disconnected\":\n this.logger.logVerbose(\"Restart called without stopping first\");\n return;\n default:\n this.socket;\n }\n this.setupNetworkListener(), this.connect();\n }\n pause() {\n switch (this.socket.state) {\n case \"disconnected\":\n case \"stopped\":\n case \"terminated\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.socket = { ...this.socket, paused: \"yes\" };\n return;\n }\n default: {\n this.socket;\n return;\n }\n }\n }\n /**\n * Try to reconnect immediately, canceling any scheduled reconnect.\n * This is useful when detecting network recovery.\n * Only takes action if we're in disconnected state (waiting to reconnect).\n */\n tryReconnectImmediately() {\n if (this._logVerbose(\"tryReconnectImmediately called\"), this.socket.state !== \"disconnected\") {\n this._logVerbose(\n `tryReconnectImmediately called but socket state is ${this.socket.state}, no action taken`\n );\n return;\n }\n let e = null;\n if (this.scheduledReconnect) {\n const n = fn() - this.scheduledReconnect.scheduledAt;\n e = Math.max(0, this.scheduledReconnect.backoffMs - n), this._logVerbose(\n `would have waited ${Math.round(e)}ms more (backoff was ${Math.round(this.scheduledReconnect.backoffMs)}ms, elapsed ${Math.round(n)}ms)`\n ), clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null, this._logVerbose(\"canceled scheduled reconnect\");\n }\n this.logger.log(\"Network recovery detected, reconnecting immediately\"), this.pendingNetworkRecoveryInfo = e !== null ? { timeSavedMs: e } : null, this.connect();\n }\n /**\n * Resume the state machine if previously paused.\n */\n resume() {\n switch (this.socket.state) {\n case \"connecting\":\n this.socket = { ...this.socket, paused: \"no\" };\n return;\n case \"ready\":\n this.socket.paused === \"uninitialized\" ? (this.socket = { ...this.socket, paused: \"no\" }, this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: fn()\n })) : this.socket.paused === \"yes\" && (this.socket = { ...this.socket, paused: \"no\" }, this.onResume());\n return;\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n return;\n default:\n this.socket;\n }\n this.connect();\n }\n connectionState() {\n return {\n isConnected: this.socket.state === \"ready\",\n hasEverConnected: this._hasEverConnected,\n connectionCount: this.connectionCount,\n connectionRetries: this.retries\n };\n }\n _logVerbose(e) {\n this.logger.logVerbose(e);\n }\n nextBackoff(e) {\n const r = (e === \"client\" ? 100 : e === \"Unknown\" ? this.defaultInitialBackoff : bl[e].timeout) * Math.pow(2, this.retries);\n this.retries += 1;\n const i = Math.min(r, this.maxBackoff), o = i * (Math.random() - 0.5);\n return i + o;\n }\n reportLargeTransition({\n transition: e,\n messageLength: n\n }) {\n if (e.clientClockSkew === void 0 || e.serverTs === void 0)\n return;\n const r = fn() - // client time now\n // clientClockSkew = (server time + upstream latency) - client time\n // clientClockSkew is \"how many milliseconds behind (slow) is the client clock\"\n // but the latency of the Connect message inflates this, making it appear further behind\n e.clientClockSkew - e.serverTs / 1e6, i = `${Math.round(r)}ms`, o = `${Math.round(n / 1e4) / 100}MB`, a = n / (r / 1e3), l = `${Math.round(a / 1e4) / 100}MB per second`;\n this._logVerbose(\n `received ${o} transition in ${i} at ${l}`\n ), n > 2e7 ? this.logger.log(\n `received query results totaling more that 20MB (${o}) which will take a long time to download on slower connections`\n ) : r > 2e4 && this.logger.log(\n `received query results totaling ${o} which took more than 20s to arrive (${i})`\n ), this.debug && this.sendMessage({\n type: \"Event\",\n eventType: \"ClientReceivedTransition\",\n event: { transitionTransitTime: r, messageLength: n }\n });\n }\n}\nfunction Ed() {\n return Id();\n}\nfunction Id() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (t) => {\n const e = Math.random() * 16 | 0;\n return (t === \"x\" ? e : e & 3 | 8).toString(16);\n });\n}\nclass Fn extends Error {\n}\nFn.prototype.name = \"InvalidTokenError\";\nfunction Md(t) {\n return decodeURIComponent(\n atob(t).replace(/(.)/g, (e, n) => {\n let r = n.charCodeAt(0).toString(16).toUpperCase();\n return r.length < 2 && (r = \"0\" + r), \"%\" + r;\n })\n );\n}\nfunction Pd(t) {\n let e = t.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (e.length % 4) {\n case 0:\n break;\n case 2:\n e += \"==\";\n break;\n case 3:\n e += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return Md(e);\n } catch {\n return atob(e);\n }\n}\nfunction vl(t, e) {\n if (typeof t != \"string\")\n throw new Fn(\"Invalid token specified: must be a string\");\n e || (e = {});\n const n = e.header === !0 ? 0 : 1, r = t.split(\".\")[n];\n if (typeof r != \"string\")\n throw new Fn(\n `Invalid token specified: missing part #${n + 1}`\n );\n let i;\n try {\n i = Pd(r);\n } catch (o) {\n throw new Fn(\n `Invalid token specified: invalid base64 for part #${n + 1} (${o.message})`\n );\n }\n try {\n return JSON.parse(i);\n } catch (o) {\n throw new Fn(\n `Invalid token specified: invalid json for part #${n + 1} (${o.message})`\n );\n }\n}\nvar Nd = Object.defineProperty, Ld = (t, e, n) => e in t ? Nd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Fe = (t, e, n) => Ld(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Od = 480 * 60 * 60 * 1e3, La = 2;\nclass $d {\n constructor(e, n, r) {\n Fe(this, \"authState\", { state: \"noAuth\" }), Fe(this, \"configVersion\", 0), Fe(this, \"syncState\"), Fe(this, \"authenticate\"), Fe(this, \"stopSocket\"), Fe(this, \"tryRestartSocket\"), Fe(this, \"pauseSocket\"), Fe(this, \"resumeSocket\"), Fe(this, \"clearAuth\"), Fe(this, \"logger\"), Fe(this, \"refreshTokenLeewaySeconds\"), Fe(this, \"initialAuthTokenReuse\"), Fe(this, \"lastRefreshChange\"), Fe(this, \"tokenConfirmationAttempts\", 0), this.syncState = e, this.authenticate = n.authenticate, this.stopSocket = n.stopSocket, this.tryRestartSocket = n.tryRestartSocket, this.pauseSocket = n.pauseSocket, this.resumeSocket = n.resumeSocket, this.clearAuth = n.clearAuth, this.logger = r.logger, this.refreshTokenLeewaySeconds = r.refreshTokenLeewaySeconds, this.initialAuthTokenReuse = r.initialAuthTokenReuse, this.lastRefreshChange = !1;\n }\n notifyRefreshChange(e) {\n this.authState.state !== \"noAuth\" && this.authState.state !== \"initialRefetch\" && this.authState.config.onRefreshChange && this.lastRefreshChange !== e && (this.lastRefreshChange = e, this.authState.config.onRefreshChange(e));\n }\n async setConfig(e, n, r) {\n this.resetAuthState(), this._logVerbose(\"pausing WS for auth token fetch\"), this.pauseSocket();\n const i = await this.fetchTokenAndGuardAgainstRace(e, {\n forceRefreshToken: !1\n });\n if (i.isFromOutdatedConfig)\n return;\n const o = {\n fetchToken: e,\n onAuthChange: n,\n onRefreshChange: r\n };\n i.value ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfCachedToken\",\n config: o,\n hasRetried: !1\n }), this.authenticate(i.value)) : (this.setAuthState({\n state: \"initialRefetch\",\n config: o\n }), await this.refetchToken()), this._logVerbose(\"resuming WS after auth token fetch\"), this.resumeSocket();\n }\n onTransition(e) {\n if (this.syncState.isCurrentOrNewerAuthVersion(\n e.endVersion.identity\n ) && !(e.endVersion.identity <= e.startVersion.identity)) {\n if (this._logVerbose(\n `auth state is ${this.authState.state} when handling transition`\n ), this.syncState.markAuthCompletion(), this.authState.state === \"waitingForServerConfirmationOfCachedToken\") {\n this._logVerbose(\"server confirmed auth token is valid\");\n const n = this.syncState.getAuth()?.value;\n this.initialAuthTokenReuse && n ? this.scheduleTokenRefetch(n, e.clientClockSkew) : this.refetchToken(), this.authState.config.onAuthChange(!0);\n return;\n }\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this._logVerbose(\"server confirmed new auth token is valid\"), this.notifyRefreshChange(!1), this.scheduleTokenRefetch(this.authState.token), this.tokenConfirmationAttempts = 0, this.authState.hadAuth || this.authState.config.onAuthChange(!0));\n }\n }\n onAuthError(e) {\n if (e.authUpdateAttempted === !1 && (this.authState.state === \"waitingForServerConfirmationOfFreshToken\" || this.authState.state === \"waitingForServerConfirmationOfCachedToken\")) {\n this._logVerbose(\"ignoring non-auth token expired error\");\n return;\n }\n const { baseVersion: n } = e;\n if (!this.syncState.isCurrentOrNewerAuthVersion(n + 1)) {\n this._logVerbose(\"ignoring auth error for previous auth attempt\");\n return;\n }\n this.tryToReauthenticate(e);\n }\n // This is similar to `refetchToken` defined below, in fact we\n // don't represent them as different states, but it is different\n // in that we pause the WebSocket so that mutations\n // don't retry with bad auth.\n async tryToReauthenticate(e) {\n if (this._logVerbose(`attempting to reauthenticate: ${e.error}`), // No way to fetch another token, kaboom\n this.authState.state === \"noAuth\" || // We failed on a fresh token. After a small number of retries, we give up\n // and clear the auth state to avoid infinite retries.\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && this.tokenConfirmationAttempts >= La) {\n this.logger.error(\n `Failed to authenticate: \"${e.error}\", check your server auth config`\n ), this.syncState.hasAuth() && this.syncState.clearAuth(), this.authState.state !== \"noAuth\" && this.setAndReportAuthFailed(this.authState.config.onAuthChange);\n return;\n }\n if (this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this.tokenConfirmationAttempts++, this._logVerbose(\n `retrying reauthentication, ${La - this.tokenConfirmationAttempts} attempts remaining`\n )), this.notifyRefreshChange(!0), await this.stopSocket(), this.authState.state === \"noAuth\")\n return;\n const n = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n n.isFromOutdatedConfig || (n.value && this.syncState.isNewAuth(n.value) ? (this.authenticate(n.value), this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n config: this.authState.config,\n token: n.value,\n hadAuth: this.authState.state === \"notRefetching\" || this.authState.state === \"waitingForScheduledRefetch\"\n })) : (this._logVerbose(\"reauthentication failed, could not fetch a new token\"), this.syncState.hasAuth() && this.syncState.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this.tryRestartSocket());\n }\n // Force refetch the token and schedule another refetch\n // before the token expires - an active client should never\n // need to reauthenticate.\n async refetchToken() {\n if (this.authState.state === \"noAuth\")\n return;\n this._logVerbose(\"refetching auth token\");\n const e = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n e.isFromOutdatedConfig || (e.value ? this.syncState.isNewAuth(e.value) ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n hadAuth: this.syncState.hasAuth(),\n token: e.value,\n config: this.authState.config\n }), this.authenticate(e.value)) : this.setAuthState({\n state: \"notRefetching\",\n config: this.authState.config\n }) : (this._logVerbose(\"refetching token failed\"), this.syncState.hasAuth() && this.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this._logVerbose(\n \"restarting WS after auth token fetch (if currently stopped)\"\n ), this.tryRestartSocket());\n }\n scheduleTokenRefetch(e, n) {\n if (this.authState.state === \"noAuth\")\n return;\n const r = this.decodeToken(e);\n if (!r) {\n this.logger.error(\n \"Auth token is not a valid JWT, cannot refetch the token\"\n );\n return;\n }\n const { iat: i, exp: o } = r;\n if (!i || !o) {\n this.logger.error(\n \"Auth token does not have required fields, cannot refetch the token\"\n );\n return;\n }\n const a = o - i;\n if (a <= 2) {\n this.logger.error(\n \"Auth token does not live long enough, cannot refetch the token\"\n );\n return;\n }\n let l;\n if (n !== void 0) {\n const d = (Date.now() - n) / 1e3;\n l = o - d, l <= 0 && (l = 0);\n } else\n l = a;\n let c = Math.min(\n Od,\n (l - this.refreshTokenLeewaySeconds) * 1e3\n );\n c <= 0 && (this.logger.warn(\n `Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${l}s`\n ), c = 0);\n const u = setTimeout(() => {\n this._logVerbose(\"running scheduled token refetch\"), this.refetchToken();\n }, c);\n this.setAuthState({\n state: \"waitingForScheduledRefetch\",\n refetchTokenTimeoutId: u,\n config: this.authState.config\n }), this._logVerbose(\n `scheduled preemptive auth token refetching in ${c}ms`\n );\n }\n // Protects against simultaneous calls to `setConfig`\n // while we're fetching a token\n async fetchTokenAndGuardAgainstRace(e, n) {\n const r = ++this.configVersion;\n this._logVerbose(\n `fetching token with config version ${r}`\n );\n const i = await e(n);\n return this.configVersion !== r ? (this._logVerbose(\n `stale config version, expected ${r}, got ${this.configVersion}`\n ), { isFromOutdatedConfig: !0 }) : { isFromOutdatedConfig: !1, value: i };\n }\n stop() {\n this.resetAuthState(), this.configVersion++, this._logVerbose(`config version bumped to ${this.configVersion}`);\n }\n setAndReportAuthFailed(e) {\n e(!1), this.resetAuthState();\n }\n // The sole path to `state === \"noAuth\"`; consumers rely on this firing\n // `notifyRefreshChange(false)` to pair any in-flight `(true)`. May run\n // when refresh state is already false.\n resetAuthState() {\n this.notifyRefreshChange(!1), this.setAuthState({ state: \"noAuth\" });\n }\n setAuthState(e) {\n const n = e.state === \"waitingForServerConfirmationOfFreshToken\" ? {\n hadAuth: e.hadAuth,\n state: e.state,\n token: `...${e.token.slice(-7)}`\n } : { state: e.state };\n switch (this._logVerbose(\n `setting auth state to ${JSON.stringify(n)}`\n ), e.state) {\n case \"waitingForScheduledRefetch\":\n case \"notRefetching\":\n case \"noAuth\":\n this.tokenConfirmationAttempts = 0;\n break;\n }\n this.authState.state === \"waitingForScheduledRefetch\" && clearTimeout(this.authState.refetchTokenTimeoutId), this.authState = e;\n }\n decodeToken(e) {\n try {\n return vl(e);\n } catch (n) {\n return this._logVerbose(\n `Error decoding token: ${n instanceof Error ? n.message : \"Unknown error\"}`\n ), null;\n }\n }\n _logVerbose(e) {\n this.logger.logVerbose(`${e} [v${this.configVersion}]`);\n }\n}\nconst Dd = [\n \"convexClientConstructed\",\n \"convexWebSocketOpen\",\n \"convexFirstMessageReceived\"\n];\nfunction qd(t, e) {\n const n = { sessionId: e };\n typeof performance > \"u\" || !performance.mark || performance.mark(t, { detail: n });\n}\nfunction zd(t) {\n let e = t.name.slice(6);\n return e = e.charAt(0).toLowerCase() + e.slice(1), {\n name: e,\n startTime: t.startTime\n };\n}\nfunction Fd(t) {\n if (typeof performance > \"u\" || !performance.getEntriesByName)\n return [];\n const e = [];\n for (const n of Dd) {\n const r = performance.getEntriesByName(n).filter((i) => i.entryType === \"mark\").filter((i) => i.detail.sessionId === t);\n e.push(...r);\n }\n return e.map(zd);\n}\nvar Ud = Object.defineProperty, Bd = (t, e, n) => e in t ? Ud(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ve = (t, e, n) => Bd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Vd {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param onTransition - A callback receiving an array of query tokens\n * corresponding to query results that have changed -- additional handlers\n * can be added via `addOnTransitionHandler`.\n * @param options - See {@link BaseConvexClientOptions} for a full description.\n */\n constructor(e, n, r) {\n if (ve(this, \"address\"), ve(this, \"state\"), ve(this, \"requestManager\"), ve(this, \"webSocketManager\"), ve(this, \"authenticationManager\"), ve(this, \"remoteQuerySet\"), ve(this, \"optimisticQueryResults\"), ve(this, \"_transitionHandlerCounter\", 0), ve(this, \"_nextRequestId\"), ve(this, \"_onTransitionFns\", /* @__PURE__ */ new Map()), ve(this, \"_sessionId\"), ve(this, \"firstMessageReceived\", !1), ve(this, \"debug\"), ve(this, \"logger\"), ve(this, \"maxObservedTimestamp\"), ve(this, \"connectionStateSubscribers\", /* @__PURE__ */ new Map()), ve(this, \"nextConnectionStateSubscriberId\", 0), ve(this, \"_lastPublishedConnectionState\"), ve(this, \"markConnectionStateDirty\", () => {\n Promise.resolve().then(() => {\n const p = this.connectionState();\n if (JSON.stringify(p) !== JSON.stringify(this._lastPublishedConnectionState)) {\n this._lastPublishedConnectionState = p;\n for (const x of this.connectionStateSubscribers.values())\n x(p);\n }\n });\n }), ve(this, \"mark\", (p) => {\n this.debug && qd(p, this.sessionId);\n }), typeof e == \"object\")\n throw new Error(\n \"Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.\"\n );\n r?.skipConvexDeploymentUrlCheck !== !0 && Du(e), r = { ...r };\n const i = r.authRefreshTokenLeewaySeconds ?? 10;\n let o = r.webSocketConstructor;\n if (!o && typeof WebSocket > \"u\")\n throw new Error(\n \"No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient\"\n );\n o = o || WebSocket, this.debug = r.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = r.logger === !1 ? gl({ verbose: r.verbose ?? !1 }) : r.logger !== !0 && r.logger ? r.logger : ml({ verbose: r.verbose ?? !1 });\n const a = e.search(\"://\");\n if (a === -1)\n throw new Error(\"Provided address was not an absolute URL.\");\n const l = e.substring(a + 3), c = e.substring(0, a);\n let u;\n if (c === \"http\")\n u = \"ws\";\n else if (c === \"https\")\n u = \"wss\";\n else\n throw new Error(`Unknown parent protocol ${c}`);\n const d = `${u}://${l}/api/${Ca}/sync`;\n this.state = new rd(), this.remoteQuerySet = new Ma(\n (p) => this.state.queryPath(p),\n this.logger\n ), this.requestManager = new ad(\n this.logger,\n this.markConnectionStateDirty\n );\n const m = () => {\n this.webSocketManager.pause(), this.state.pause();\n };\n this.authenticationManager = new $d(\n this.state,\n {\n authenticate: (p) => {\n const x = this.state.setAuth(p);\n return this.webSocketManager.sendMessage(x), x.baseVersion;\n },\n stopSocket: () => this.webSocketManager.stop(),\n tryRestartSocket: () => this.webSocketManager.tryRestart(),\n pauseSocket: m,\n resumeSocket: () => this.webSocketManager.resume(),\n clearAuth: () => {\n this.clearAuth();\n }\n },\n {\n logger: this.logger,\n refreshTokenLeewaySeconds: i,\n initialAuthTokenReuse: r.initialAuthTokenReuse ?? !1\n }\n ), this.optimisticQueryResults = new fd(), this.addOnTransitionHandler((p) => {\n n(p.queries.map((x) => x.token));\n }), this._nextRequestId = 0, this._sessionId = Ed();\n const { unsavedChangesWarning: h } = r;\n if (typeof window > \"u\" || typeof window.addEventListener > \"u\") {\n if (h === !0)\n throw new Error(\n \"unsavedChangesWarning requested, but window.addEventListener not found! Remove {unsavedChangesWarning: true} from Convex client options.\"\n );\n } else h !== !1 && window.addEventListener(\"beforeunload\", (p) => {\n if (this.requestManager.hasIncompleteRequests()) {\n p.preventDefault();\n const x = \"Are you sure you want to leave? Your changes may not be saved.\";\n return (p || window.event).returnValue = x, x;\n }\n });\n this.webSocketManager = new Rd(\n d,\n {\n onOpen: (p) => {\n this.mark(\"convexWebSocketOpen\"), this.webSocketManager.sendMessage({\n ...p,\n type: \"Connect\",\n sessionId: this._sessionId,\n maxObservedTimestamp: this.maxObservedTimestamp\n }), this.remoteQuerySet = new Ma(\n (b) => this.state.queryPath(b),\n this.logger\n );\n const [x, w] = this.state.restart();\n w && this.webSocketManager.sendMessage(w), this.webSocketManager.sendMessage(x);\n for (const b of this.requestManager.restart())\n this.webSocketManager.sendMessage(b);\n },\n onResume: () => {\n const [p, x] = this.state.resume();\n x && this.webSocketManager.sendMessage(x), p && this.webSocketManager.sendMessage(p);\n for (const w of this.requestManager.resume())\n this.webSocketManager.sendMessage(w);\n },\n onMessage: (p) => {\n switch (this.firstMessageReceived || (this.firstMessageReceived = !0, this.mark(\"convexFirstMessageReceived\"), this.reportMarks()), p.type) {\n case \"Transition\": {\n this.observedTimestamp(p.endVersion.ts), this.authenticationManager.onTransition(p), this.remoteQuerySet.transition(p), this.state.transition(p);\n const x = this.requestManager.removeCompleted(\n this.remoteQuerySet.timestamp()\n );\n this.notifyOnQueryResultChanges(x);\n break;\n }\n case \"MutationResponse\": {\n p.success && this.observedTimestamp(p.ts);\n const x = this.requestManager.onResponse(p);\n x !== null && this.notifyOnQueryResultChanges(\n /* @__PURE__ */ new Map([\n [\n x.requestId,\n x.result\n ]\n ])\n );\n break;\n }\n case \"ActionResponse\": {\n this.requestManager.onResponse(p);\n break;\n }\n case \"AuthError\": {\n this.authenticationManager.onAuthError(p);\n break;\n }\n case \"FatalError\": {\n const x = ed(this.logger, p.error);\n throw this.webSocketManager.terminate(), x;\n }\n }\n return {\n hasSyncedPastLastReconnect: this.hasSyncedPastLastReconnect()\n };\n },\n onServerDisconnectError: r.onServerDisconnectError\n },\n o,\n this.logger,\n this.markConnectionStateDirty,\n this.debug\n ), this.mark(\"convexClientConstructed\"), r.expectAuth && m();\n }\n /**\n * Return true if there is outstanding work from prior to the time of the most recent restart.\n * This indicates that the client has not proven itself to have gotten past the issue that\n * potentially led to the restart. Use this to influence when to reset backoff after a failure.\n */\n hasSyncedPastLastReconnect() {\n return this.requestManager.hasSyncedPastLastReconnect() && this.state.hasSyncedPastLastReconnect();\n }\n observedTimestamp(e) {\n (this.maxObservedTimestamp === void 0 || this.maxObservedTimestamp.lessThanOrEqual(e)) && (this.maxObservedTimestamp = e);\n }\n getMaxObservedTimestamp() {\n return this.maxObservedTimestamp;\n }\n /**\n * Compute the current query results based on the remoteQuerySet and the\n * current optimistic updates and call `onTransition` for all the changed\n * queries.\n *\n * @param completedMutations - A set of mutation IDs whose optimistic updates\n * are no longer needed.\n */\n notifyOnQueryResultChanges(e) {\n const n = this.remoteQuerySet.remoteQueryResults(), r = /* @__PURE__ */ new Map();\n for (const [o, a] of n) {\n const l = this.state.queryToken(o);\n if (l !== null) {\n const c = {\n result: a,\n udfPath: this.state.queryPath(o),\n args: this.state.queryArgs(o)\n };\n r.set(l, c);\n }\n }\n const i = this.optimisticQueryResults.ingestQueryResultsFromServer(\n r,\n new Set(e.keys())\n );\n this.handleTransition({\n queries: i.map((o) => {\n const a = this.optimisticQueryResults.rawQueryResult(o);\n return {\n token: o,\n modification: {\n kind: \"Updated\",\n result: a\n }\n };\n }),\n reflectedMutations: Array.from(e).map(\n ([o, a]) => ({\n requestId: o,\n result: a\n })\n ),\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n handleTransition(e) {\n for (const n of this._onTransitionFns.values())\n n(e);\n }\n /**\n * Add a handler that will be called on a transition.\n *\n * Any external side effects (e.g. setting React state) should be handled here.\n *\n * @param fn\n *\n * @returns\n */\n addOnTransitionHandler(e) {\n const n = this._transitionHandlerCounter++;\n return this._onTransitionFns.set(n, e), () => this._onTransitionFns.delete(n);\n }\n /**\n * Get the current JWT auth token and decoded claims.\n */\n getCurrentAuthClaims() {\n const e = this.state.getAuth();\n let n = {};\n if (e && e.tokenType === \"User\")\n try {\n n = e ? vl(e.value) : {};\n } catch {\n n = {};\n }\n else\n return;\n return { token: e.value, decoded: n };\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n * @param onRefreshChange - a callback called with `true` when the socket is paused to fetch a replacement token after a server rejection, and `false` when refresh completes\n */\n setAuth(e, n, r) {\n this.authenticationManager.setConfig(\n e,\n n,\n r\n );\n }\n hasAuth() {\n return this.state.hasAuth();\n }\n /** @internal */\n setAdminAuth(e, n) {\n const r = this.state.setAdminAuth(e, n);\n this.webSocketManager.sendMessage(r);\n }\n clearAuth() {\n const e = this.state.clearAuth();\n this.webSocketManager.sendMessage(e);\n }\n /**\n * Subscribe to a query function.\n *\n * Whenever this query's result changes, the `onTransition` callback\n * passed into the constructor will be called.\n *\n * @param name - The name of the query.\n * @param args - An arguments object for the query. If this is omitted, the\n * arguments will be `{}`.\n * @param options - A {@link SubscribeOptions} options object for this query.\n \n * @returns An object containing a {@link QueryToken} corresponding to this\n * query and an `unsubscribe` callback.\n */\n subscribe(e, n, r) {\n const i = jt(n), { modification: o, queryToken: a, unsubscribe: l } = this.state.subscribe(\n e,\n i,\n r?.journal,\n r?.componentPath\n );\n return o !== null && this.webSocketManager.sendMessage(o), {\n queryToken: a,\n unsubscribe: () => {\n const c = l();\n c && this.webSocketManager.sendMessage(c);\n }\n };\n }\n /**\n * A query result based only on the current, local state.\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n */\n localQueryResult(e, n) {\n const r = jt(n), i = Kt(e, r);\n return this.optimisticQueryResults.queryResult(i);\n }\n /**\n * Get query result by query token based on current, local state\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n *\n * @internal\n */\n localQueryResultByToken(e) {\n return this.optimisticQueryResults.queryResult(e);\n }\n /**\n * Whether local query result is available for a token.\n *\n * This method does not throw if the result is an error.\n *\n * @internal\n */\n hasLocalQueryResultByToken(e) {\n return this.optimisticQueryResults.hasQueryResult(e);\n }\n /**\n * @internal\n */\n localQueryLogs(e, n) {\n const r = jt(n), i = Kt(e, r);\n return this.optimisticQueryResults.queryLogs(i);\n }\n /**\n * Retrieve the current {@link QueryJournal} for this query function.\n *\n * If we have not yet received a result for this query, this will be `undefined`.\n *\n * @param name - The name of the query.\n * @param args - The arguments object for this query.\n * @returns The query's {@link QueryJournal} or `undefined`.\n */\n queryJournal(e, n) {\n const r = jt(n), i = Kt(e, r);\n return this.state.queryJournal(i);\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n const e = this.webSocketManager.connectionState();\n return {\n hasInflightRequests: this.requestManager.hasInflightRequests(),\n isWebSocketConnected: e.isConnected,\n hasEverConnected: e.hasEverConnected,\n connectionCount: e.connectionCount,\n connectionRetries: e.connectionRetries,\n timeOfOldestInflightRequest: this.requestManager.timeOfOldestInflightRequest(),\n inflightMutations: this.requestManager.inflightMutations(),\n inflightActions: this.requestManager.inflightActions()\n };\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n const n = this.nextConnectionStateSubscriberId++;\n return this.connectionStateSubscribers.set(n, e), () => {\n this.connectionStateSubscribers.delete(n);\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param name - The name of the mutation.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for this mutation.\n \n * @returns - A promise of the mutation's result.\n */\n async mutation(e, n, r) {\n const i = await this.mutationInternal(e, n, r);\n if (!i.success)\n throw i.errorData !== void 0 ? Hi(\n i,\n new $r(\n gn(\"mutation\", e, i)\n )\n ) : new Error(gn(\"mutation\", e, i));\n return i.value;\n }\n /**\n * @internal\n */\n async mutationInternal(e, n, r, i) {\n const { mutationPromise: o } = this.enqueueMutation(\n e,\n n,\n r,\n i\n );\n return o;\n }\n /**\n * @internal\n */\n enqueueMutation(e, n, r, i) {\n const o = jt(n);\n this.tryReportLongDisconnect();\n const a = this.nextRequestId;\n if (this._nextRequestId++, r !== void 0) {\n const d = r.optimisticUpdate;\n if (d !== void 0) {\n const m = (x) => {\n d(\n x,\n o\n ) instanceof Promise && this.logger.warn(\n \"Optimistic update handler returned a Promise. Optimistic updates should be synchronous.\"\n );\n }, p = this.optimisticQueryResults.applyOptimisticUpdate(\n m,\n a\n ).map((x) => {\n const w = this.localQueryResultByToken(x);\n return {\n token: x,\n modification: {\n kind: \"Updated\",\n result: w === void 0 ? void 0 : {\n success: !0,\n value: w,\n logLines: []\n }\n }\n };\n });\n this.handleTransition({\n queries: p,\n reflectedMutations: [],\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n }\n const l = {\n type: \"Mutation\",\n requestId: a,\n udfPath: e,\n componentPath: i,\n args: [vt(o)]\n }, c = this.webSocketManager.sendMessage(l), u = this.requestManager.request(l, c);\n return {\n requestId: a,\n mutationPromise: u\n };\n }\n /**\n * Execute an action function.\n *\n * @param name - The name of the action.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n async action(e, n) {\n const r = await this.actionInternal(e, n);\n if (!r.success)\n throw r.errorData !== void 0 ? Hi(\n r,\n new $r(gn(\"action\", e, r))\n ) : new Error(gn(\"action\", e, r));\n return r.value;\n }\n /**\n * @internal\n */\n async actionInternal(e, n, r) {\n const i = jt(n), o = this.nextRequestId;\n this._nextRequestId++, this.tryReportLongDisconnect();\n const a = {\n type: \"Action\",\n requestId: o,\n udfPath: e,\n componentPath: r,\n args: [vt(i)]\n }, l = this.webSocketManager.sendMessage(a);\n return this.requestManager.request(a, l);\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with an {@link BaseConvexClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n return this.authenticationManager.stop(), this.webSocketManager.terminate();\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * @internal\n */\n get nextRequestId() {\n return this._nextRequestId;\n }\n /**\n * @internal\n */\n get sessionId() {\n return this._sessionId;\n }\n /**\n * Reports performance marks to the server. This should only be called when\n * we have a functional websocket.\n */\n reportMarks() {\n if (this.debug) {\n const e = Fd(this.sessionId);\n this.webSocketManager.sendMessage({\n type: \"Event\",\n eventType: \"ClientConnect\",\n event: e\n });\n }\n }\n tryReportLongDisconnect() {\n if (!this.debug)\n return;\n const e = this.connectionState().timeOfOldestInflightRequest;\n if (e === null || Date.now() - e.getTime() <= 60 * 1e3)\n return;\n const n = `${this.address}/api/debug_event`;\n fetch(n, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Convex-Client\": `npm-${Ca}`\n },\n body: JSON.stringify({ event: \"LongWebsocketDisconnect\" })\n }).then((r) => {\n r.ok || this.logger.warn(\n \"Analytics request failed with response:\",\n r.body\n );\n }).catch((r) => {\n this.logger.warn(\"Analytics response failed with error:\", r);\n });\n }\n}\nfunction Ai(t) {\n if (typeof t != \"object\" || t === null || !Array.isArray(t.page) || typeof t.isDone != \"boolean\" || typeof t.continueCursor != \"string\")\n throw new Error(`Not a valid paginated query result: ${t?.toString()}`);\n return t;\n}\nvar Hd = Object.defineProperty, Wd = (t, e, n) => e in t ? Hd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Oa = (t, e, n) => Wd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Qd {\n constructor(e, n) {\n this.client = e, this.onTransition = n, Oa(this, \"paginatedQuerySet\", /* @__PURE__ */ new Map()), Oa(this, \"lastTransitionTs\"), this.lastTransitionTs = Ue.fromNumber(0), this.client.addOnTransitionHandler(\n (r) => this.onBaseTransition(r)\n );\n }\n /**\n * Subscribe to a paginated query.\n *\n * @param name - The name of the paginated query function\n * @param args - Arguments for the query (excluding paginationOpts)\n * @param options - Pagination options including initialNumItems\n * @returns Object with paginatedQueryToken and unsubscribe function\n */\n subscribe(e, n, r) {\n const i = Xt(e), o = Ra(\n i,\n n,\n r\n ), a = () => this.removePaginatedQuerySubscriber(o), l = this.paginatedQuerySet.get(o);\n return l ? (l.numSubscribers += 1, {\n paginatedQueryToken: o,\n unsubscribe: a\n }) : (this.paginatedQuerySet.set(o, {\n token: o,\n canonicalizedUdfPath: i,\n args: n,\n numSubscribers: 1,\n options: { initialNumItems: r.initialNumItems },\n nextPageKey: 0,\n pageKeys: [],\n pageKeyToQuery: /* @__PURE__ */ new Map(),\n ongoingSplits: /* @__PURE__ */ new Map(),\n skip: !1,\n id: r.id\n }), this.addPageToPaginatedQuery(o, null, r.initialNumItems), {\n paginatedQueryToken: o,\n unsubscribe: a\n });\n }\n /**\n * Get current results for a paginated query based on local state.\n *\n * Throws an error when one of the pages has errored.\n */\n localQueryResult(e, n, r) {\n const i = Xt(e), o = Ra(\n i,\n n,\n r\n );\n return this.localQueryResultByToken(o);\n }\n /**\n * @internal\n */\n localQueryResultByToken(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n return;\n const r = this.activePageQueryTokens(n);\n if (r.length === 0)\n return {\n results: [],\n status: \"LoadingFirstPage\",\n loadMore: (c) => this.loadMoreOfPaginatedQuery(e, c)\n };\n let i = [], o = !1, a = !1;\n for (const c of r) {\n const u = this.client.localQueryResultByToken(c);\n if (u === void 0) {\n o = !0, a = !1;\n continue;\n }\n const d = Ai(u);\n i = i.concat(d.page), a = !!d.isDone;\n }\n let l;\n return o ? l = i.length === 0 ? \"LoadingFirstPage\" : \"LoadingMore\" : a ? l = \"Exhausted\" : l = \"CanLoadMore\", {\n results: i,\n status: l,\n loadMore: (c) => this.loadMoreOfPaginatedQuery(e, c)\n };\n }\n onBaseTransition(e) {\n const n = e.queries.map((a) => a.token), r = this.queriesContainingTokens(n);\n let i = [];\n r.length > 0 && (this.processPaginatedQuerySplits(\n r,\n (a) => this.client.localQueryResultByToken(a)\n ), i = r.map((a) => ({\n token: a,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(a)\n }\n })));\n const o = {\n ...e,\n paginatedQueries: i\n };\n this.onTransition(o);\n }\n /**\n * Load more items for a paginated query.\n *\n * This *always* causes a transition, the status of the query\n * has probably changed from \"CanLoadMore\" to \"LoadingMore\".\n * Data might have changed too: maybe a subscription to this page\n * query already exists (unlikely but possible) or this page query\n * has an optimistic update providing some initial data.\n *\n * @internal\n */\n loadMoreOfPaginatedQuery(e, n) {\n this.mustGetPaginatedQuery(e);\n const r = this.queryTokenForLastPageOfPaginatedQuery(e), i = this.client.localQueryResultByToken(r);\n if (!i)\n return !1;\n const o = Ai(i);\n if (o.isDone)\n return !1;\n this.addPageToPaginatedQuery(\n e,\n o.continueCursor,\n n\n );\n const a = {\n timestamp: this.lastTransitionTs,\n reflectedMutations: [],\n queries: [],\n paginatedQueries: [\n {\n token: e,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(e)\n }\n }\n ]\n };\n return this.onTransition(a), !0;\n }\n /**\n * @internal\n */\n queriesContainingTokens(e) {\n if (e.length === 0)\n return [];\n const n = [], r = new Set(e);\n for (const [i, o] of this.paginatedQuerySet)\n for (const a of this.allQueryTokens(o))\n if (r.has(a)) {\n n.push(i);\n break;\n }\n return n;\n }\n /**\n * @internal\n */\n processPaginatedQuerySplits(e, n) {\n for (const r of e) {\n const i = this.mustGetPaginatedQuery(r), { ongoingSplits: o, pageKeyToQuery: a, pageKeys: l } = i;\n for (const [c, [u, d]] of o)\n n(a.get(u).queryToken) !== void 0 && n(a.get(d).queryToken) !== void 0 && this.completePaginatedQuerySplit(\n i,\n c,\n u,\n d\n );\n for (const c of l) {\n if (o.has(c))\n continue;\n const u = a.get(c);\n if (!u)\n throw new Error(`No page query for active pageKey ${c}`);\n const d = n(u.queryToken);\n if (!d)\n continue;\n const m = Ai(d);\n m.splitCursor && (m.pageStatus === \"SplitRecommended\" || m.pageStatus === \"SplitRequired\" || // This client-driven page splitting condition will change in the future.\n m.page.length > i.options.initialNumItems * 2) && this.splitPaginatedQueryPage(\n i,\n c,\n u.cursor,\n m.splitCursor,\n // we just checked\n m.continueCursor\n );\n }\n }\n }\n splitPaginatedQueryPage(e, n, r, i, o) {\n const a = e.nextPageKey++, l = e.nextPageKey++, c = {\n numItems: e.options.initialNumItems,\n id: e.id\n }, u = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...c,\n cursor: r,\n endCursor: i\n }\n }\n );\n e.pageKeyToQuery.set(a, {\n ...u,\n cursor: r\n });\n const d = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...c,\n cursor: i,\n endCursor: o\n }\n }\n );\n e.pageKeyToQuery.set(l, {\n ...d,\n cursor: i\n }), e.ongoingSplits.set(n, [a, l]);\n }\n /**\n * @internal\n */\n addPageToPaginatedQuery(e, n, r) {\n const i = this.mustGetPaginatedQuery(e), o = i.nextPageKey++, a = {\n cursor: n,\n numItems: r,\n id: i.id\n }, l = {\n ...i.args,\n paginationOpts: a\n }, c = this.client.subscribe(\n i.canonicalizedUdfPath,\n l\n );\n return i.pageKeys.push(o), i.pageKeyToQuery.set(o, {\n ...c,\n cursor: n\n }), c;\n }\n removePaginatedQuerySubscriber(e) {\n const n = this.paginatedQuerySet.get(e);\n if (n && (n.numSubscribers -= 1, !(n.numSubscribers > 0))) {\n for (const r of n.pageKeyToQuery.values())\n r.unsubscribe();\n this.paginatedQuerySet.delete(e);\n }\n }\n completePaginatedQuerySplit(e, n, r, i) {\n const o = e.pageKeyToQuery.get(n);\n e.pageKeyToQuery.delete(n);\n const a = e.pageKeys.indexOf(n);\n e.pageKeys.splice(a, 1, r, i), e.ongoingSplits.delete(n), o.unsubscribe();\n }\n /** The query tokens for all active pages, in result order */\n activePageQueryTokens(e) {\n return e.pageKeys.map(\n (n) => e.pageKeyToQuery.get(n).queryToken\n );\n }\n allQueryTokens(e) {\n return Array.from(e.pageKeyToQuery.values()).map(\n (n) => n.queryToken\n );\n }\n queryTokenForLastPageOfPaginatedQuery(e) {\n const n = this.mustGetPaginatedQuery(e), r = n.pageKeys[n.pageKeys.length - 1];\n if (r === void 0)\n throw new Error(`No pages for paginated query ${e}`);\n return n.pageKeyToQuery.get(r).queryToken;\n }\n mustGetPaginatedQuery(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n throw new Error(\"paginated query no longer exists for token \" + e);\n return n;\n }\n}\nfunction Gd({\n // (Synchronously) returns the current value of our subscription.\n getCurrentValue: t,\n // This function is passed an event handler to attach to the subscription.\n // It should return an unsubscribe function that removes the handler.\n subscribe: e\n}) {\n const [n, r] = D(() => ({\n getCurrentValue: t,\n subscribe: e,\n value: t()\n }));\n let i = n.value;\n return (n.getCurrentValue !== t || n.subscribe !== e) && (i = t(), r({\n getCurrentValue: t,\n subscribe: e,\n value: i\n })), P(() => {\n let o = !1;\n const a = () => {\n o || r((c) => {\n if (c.getCurrentValue !== t || c.subscribe !== e)\n return c;\n const u = t();\n return c.value === u ? c : { ...c, value: u };\n });\n }, l = e(a);\n return a(), () => {\n o = !0, l();\n };\n }, [t, e]), i;\n}\nvar Kd = Object.defineProperty, Yd = (t, e, n) => e in t ? Kd(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, _t = (t, e, n) => Yd(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Xd = 5e3;\nif (typeof vo > \"u\")\n throw new Error(\"Required dependency 'react' not found\");\nfunction yl(t, e, n) {\n function r(i) {\n return nh(i), e.mutation(t, i, {\n optimisticUpdate: n\n });\n }\n return r.withOptimisticUpdate = function(o) {\n if (n !== void 0)\n throw new Error(\n `Already specified optimistic update for mutation ${De(\n t\n )}`\n );\n return yl(t, e, o);\n }, r;\n}\nfunction Zd(t, e) {\n return function(n) {\n return e.action(t, n);\n };\n}\nclass Jd {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param options - See {@link ConvexReactClientOptions} for a full description.\n */\n constructor(e, n) {\n if (_t(this, \"address\"), _t(this, \"cachedSync\"), _t(this, \"cachedPaginatedQueryClient\"), _t(this, \"listeners\"), _t(this, \"options\"), _t(this, \"closed\", !1), _t(this, \"_logger\"), _t(this, \"adminAuth\"), _t(this, \"fakeUserIdentity\"), e === void 0)\n throw new Error(\n \"No address provided to ConvexReactClient.\\nIf trying to deploy to production, make sure to follow all the instructions found at https://docs.convex.dev/production/hosting/\\nIf running locally, make sure to run `convex dev` and ensure the .env.local file is populated.\"\n );\n if (typeof e != \"string\")\n throw new Error(\n `ConvexReactClient requires a URL like 'https://happy-otter-123.convex.cloud', received something of type ${typeof e} instead.`\n );\n if (!e.includes(\"://\"))\n throw new Error(\"Provided address was not an absolute URL.\");\n this.address = e, this.listeners = /* @__PURE__ */ new Map(), this._logger = n?.logger === !1 ? gl({ verbose: n?.verbose ?? !1 }) : n?.logger !== !0 && n?.logger ? n.logger : ml({ verbose: n?.verbose ?? !1 }), this.options = { ...n, logger: this._logger };\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * Lazily instantiate the `BaseConvexClient` so we don't create the WebSocket\n * when server-side rendering.\n *\n * @internal\n */\n get sync() {\n if (this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n return this.cachedSync ? this.cachedSync : (this.cachedSync = this.options.baseClient ?? new Vd(\n this.address,\n () => {\n },\n // Use the PaginatedQueryClient's transition instead.\n this.options\n ), this.adminAuth && this.cachedSync.setAdminAuth(this.adminAuth, this.fakeUserIdentity), this.cachedPaginatedQueryClient = new Qd(\n this.cachedSync,\n (e) => this.handleTransition(e)\n ), this.cachedSync);\n }\n /**\n * Lazily instantiate the `PaginatedQueryClient` so we don't create it\n * when server-side rendering.\n *\n * @internal\n */\n get paginatedQueryClient() {\n if (this.sync, this.cachedPaginatedQueryClient)\n return this.cachedPaginatedQueryClient;\n throw new Error(\"Should already be instantiated\");\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n * @param onRefreshChange - a callback called with `true` when the socket is paused to fetch a replacement token after a server rejection, and `false` when refresh completes\n */\n setAuth(e, n, r) {\n if (typeof e == \"string\")\n throw new Error(\n \"Passing a string to ConvexReactClient.setAuth is no longer supported, please upgrade to passing in an async function to handle reauthentication.\"\n );\n this.sync.setAuth(\n e,\n n ?? (() => {\n }),\n r\n );\n }\n /**\n * Clear the current authentication token if set.\n */\n clearAuth() {\n this.sync.clearAuth();\n }\n /**\n * @internal\n */\n setAdminAuth(e, n) {\n if (this.adminAuth = e, this.fakeUserIdentity = n, this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n this.cachedSync && this.sync.setAdminAuth(e, n);\n }\n /**\n * Construct a new {@link Watch} on a Convex query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link useQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchQueryOptions} options object for this query.\n *\n * @returns The {@link Watch} object.\n */\n watchQuery(e, ...n) {\n const [r, i] = n, o = De(e);\n return {\n onUpdate: (a) => {\n const { queryToken: l, unsubscribe: c } = this.sync.subscribe(\n o,\n r,\n i\n ), u = this.listeners.get(l);\n return u !== void 0 ? u.add(a) : this.listeners.set(l, /* @__PURE__ */ new Set([a])), () => {\n if (this.closed)\n return;\n const d = this.listeners.get(l);\n d.delete(a), d.size === 0 && this.listeners.delete(l), c();\n };\n },\n localQueryResult: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryResult(o, r);\n },\n localQueryLogs: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryLogs(o, r);\n },\n journal: () => {\n if (this.cachedSync)\n return this.cachedSync.queryJournal(o, r);\n }\n };\n }\n // Let's try out a queryOptions-style API.\n // This method is similar to the React Query API `queryClient.prefetchQuery()`.\n // In the future an ensureQueryData(): Promise<Data> method could exist.\n /**\n * Indicates likely future interest in a query subscription.\n *\n * The implementation currently immediately subscribes to a query. In the future this method\n * may prioritize some queries over others, fetch the query result without subscribing, or\n * do nothing in slow network connections or high load scenarios.\n *\n * To use this in a React component, call useQuery() and ignore the return value.\n *\n * @param queryOptions - A query (function reference from an api object) and its args, plus\n * an optional extendSubscriptionFor for how long to subscribe to the query.\n */\n prewarmQuery(e) {\n const n = e.extendSubscriptionFor ?? Xd, i = this.watchQuery(e.query, e.args || {}).onUpdate(() => {\n });\n setTimeout(i, n);\n }\n /**\n * Construct a new {@link PaginatedWatch} on a Convex paginated query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link usePaginatedQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchPaginatedQueryOptions} options object for this query.\n *\n * @returns The {@link PaginatedWatch} object.\n *\n * @internal\n */\n watchPaginatedQuery(e, n, r) {\n const i = De(e);\n return {\n onUpdate: (o) => {\n const { paginatedQueryToken: a, unsubscribe: l } = this.paginatedQueryClient.subscribe(i, n || {}, r), c = this.listeners.get(a);\n return c !== void 0 ? c.add(o) : this.listeners.set(a, /* @__PURE__ */ new Set([o])), () => {\n if (this.closed)\n return;\n const u = this.listeners.get(a);\n u.delete(o), u.size === 0 && this.listeners.delete(a), l();\n };\n },\n localQueryResult: () => this.paginatedQueryClient.localQueryResult(i, n, r)\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param mutation - A {@link server.FunctionReference} for the public mutation\n * to run.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for the mutation.\n * @returns A promise of the mutation's result.\n */\n mutation(e, ...n) {\n const [r, i] = n, o = De(e);\n return this.sync.mutation(o, r, i);\n }\n /**\n * Execute an action function.\n *\n * @param action - A {@link server.FunctionReference} for the public action\n * to run.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n action(e, ...n) {\n const r = De(e);\n return this.sync.action(r, ...n);\n }\n /**\n * Fetch a query result once.\n *\n * **Most application code should subscribe to queries instead, using\n * the {@link useQuery} hook.**\n *\n * @param query - A {@link server.FunctionReference} for the public query\n * to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the query's result.\n */\n query(e, ...n) {\n const r = this.watchQuery(e, ...n), i = r.localQueryResult();\n return i !== void 0 ? Promise.resolve(i) : new Promise((o, a) => {\n const l = r.onUpdate(() => {\n l();\n try {\n o(r.localQueryResult());\n } catch (c) {\n a(c);\n }\n });\n });\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n return this.sync.connectionState();\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n * ConnectionState may also *lose* properties in future versions as we figure\n * out what information is most useful. As such this API is considered unstable.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n return this.sync.subscribeToConnectionState(e);\n }\n /**\n * Get the logger for this client.\n *\n * @returns The {@link Logger} for this client.\n */\n get logger() {\n return this._logger;\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with a {@link ConvexReactClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n if (this.closed = !0, this.listeners = /* @__PURE__ */ new Map(), this.cachedPaginatedQueryClient && (this.cachedPaginatedQueryClient = void 0), this.cachedSync) {\n const e = this.cachedSync;\n this.cachedSync = void 0, await e.close();\n }\n }\n /**\n * Handle transitions from both base client and paginated client.\n * This ensures all transitions are processed synchronously and in order.\n */\n handleTransition(e) {\n const n = e.queries.map((i) => i.token), r = e.paginatedQueries.map((i) => i.token);\n this.transition([...n, ...r]);\n }\n transition(e) {\n for (const n of e) {\n const r = this.listeners.get(n);\n if (r)\n for (const i of r)\n i();\n }\n }\n}\nconst ni = vo.createContext(\n void 0\n // in the future this will be a mocked client for testing\n);\nfunction eh() {\n return sr(ni);\n}\nconst th = ({ client: t, children: e }) => vo.createElement(\n ni.Provider,\n { value: t },\n e\n);\nfunction St(t, ...e) {\n const n = e[0] === \"skip\", r = e[0] === \"skip\" ? {} : jt(e[0]), i = typeof t == \"string\" ? wo(t) : t, o = De(i), a = ke(\n () => n ? {} : { query: { query: i, args: r } },\n // Stringify args so args that are semantically the same don't trigger a\n // rerender. Saves developers from adding `useMemo` on every args usage.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(vt(r)), o, n]\n ), c = ah(a).query;\n if (c instanceof Error)\n throw c;\n return c;\n}\nfunction Ct(t) {\n const e = typeof t == \"string\" ? wo(t) : t, n = sr(ni);\n if (n === void 0)\n throw new Error(\n \"Could not find Convex client! `useMutation` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n return ke(\n () => yl(e, n),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [n, De(e)]\n );\n}\nfunction Jt(t) {\n const e = sr(ni), n = typeof t == \"string\" ? wo(t) : t;\n if (e === void 0)\n throw new Error(\n \"Could not find Convex client! `useAction` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n return ke(\n () => Zd(n, e),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [e, De(n)]\n );\n}\nfunction nh(t) {\n if (typeof t == \"object\" && t !== null && \"bubbles\" in t && \"persist\" in t && \"isDefaultPrevented\" in t)\n throw new Error(\n \"Convex function called with SyntheticEvent object. Did you use a Convex function as an event handler directly? Event handlers like onClick receive an event object as their first argument. These SyntheticEvent objects are not valid Convex values. Try wrapping the function like `const handler = () => myMutation();` and using `handler` in the event handler.\"\n );\n}\nvar rh = Object.defineProperty, ih = (t, e, n) => e in t ? rh(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Ri = (t, e, n) => ih(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass oh {\n constructor(e) {\n Ri(this, \"createWatch\"), Ri(this, \"queries\"), Ri(this, \"listeners\"), this.createWatch = e, this.queries = {}, this.listeners = /* @__PURE__ */ new Set();\n }\n setQueries(e) {\n for (const n of Object.keys(e)) {\n const { query: r, args: i, paginationOptions: o } = e[n];\n if (De(r), this.queries[n] === void 0)\n this.addQuery(\n n,\n r,\n i,\n o ? { paginationOptions: o } : {}\n );\n else {\n const a = this.queries[n];\n (De(r) !== De(a.query) || JSON.stringify(vt(i)) !== JSON.stringify(vt(a.args)) || JSON.stringify(o) !== JSON.stringify(a.paginationOptions)) && (this.removeQuery(n), this.addQuery(\n n,\n r,\n i,\n o ? { paginationOptions: o } : {}\n ));\n }\n }\n for (const n of Object.keys(this.queries))\n e[n] === void 0 && this.removeQuery(n);\n }\n subscribe(e) {\n return this.listeners.add(e), () => {\n this.listeners.delete(e);\n };\n }\n getLocalResults(e) {\n const n = {};\n for (const r of Object.keys(e)) {\n const { query: i, args: o } = e[r], a = e[r].paginationOptions;\n De(i);\n const l = this.createWatch(\n i,\n o,\n a ? { paginationOptions: a } : {}\n );\n let c;\n try {\n c = l.localQueryResult();\n } catch (u) {\n if (u instanceof Error)\n c = u;\n else\n throw u;\n }\n n[r] = c;\n }\n return n;\n }\n setCreateWatch(e) {\n this.createWatch = e;\n for (const n of Object.keys(this.queries)) {\n const { query: r, args: i, watch: o, paginationOptions: a } = this.queries[n], l = \"journal\" in o ? o.journal() : void 0;\n this.removeQuery(n), this.addQuery(n, r, i, {\n ...l ? { journal: l } : [],\n ...a ? { paginationOptions: a } : {}\n });\n }\n }\n destroy() {\n for (const e of Object.keys(this.queries))\n this.removeQuery(e);\n this.listeners = /* @__PURE__ */ new Set();\n }\n addQuery(e, n, r, {\n paginationOptions: i,\n journal: o\n }) {\n if (this.queries[e] !== void 0)\n throw new Error(\n `Tried to add a new query with identifier ${e} when it already exists.`\n );\n const a = this.createWatch(n, r, {\n ...o ? { journal: o } : [],\n ...i ? { paginationOptions: i } : {}\n }), l = a.onUpdate(() => this.notifyListeners());\n this.queries[e] = {\n query: n,\n args: r,\n watch: a,\n unsubscribe: l,\n ...i ? { paginationOptions: i } : {}\n };\n }\n removeQuery(e) {\n const n = this.queries[e];\n if (n === void 0)\n throw new Error(`No query found with identifier ${e}.`);\n n.unsubscribe(), delete this.queries[e];\n }\n notifyListeners() {\n for (const e of this.listeners)\n e();\n }\n}\nfunction ah(t) {\n const e = eh();\n if (e === void 0)\n throw new Error(\n \"Could not find Convex client! `useQuery` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n const n = ke(() => (r, i, {\n journal: o,\n paginationOptions: a\n }) => a ? e.watchPaginatedQuery(r, i, a) : e.watchQuery(r, i, o ? { journal: o } : {}), [e]);\n return sh(t, n);\n}\nfunction sh(t, e) {\n const [n] = D(() => new oh(e));\n n.createWatch !== e && n.setCreateWatch(e), P(() => () => n.destroy(), [n]);\n const r = ke(\n () => ({\n getCurrentValue: () => n.getLocalResults(t),\n subscribe: (i) => (n.setQueries(t), n.subscribe(i))\n }),\n [n, t]\n );\n return Gd(r);\n}\nvar lh = /* @__PURE__ */ Symbol.for(\"preact-signals\");\nfunction ri() {\n if (Tt > 1)\n Tt--;\n else {\n var t, e = !1;\n for ((function() {\n var i = Fr;\n for (Fr = void 0; i !== void 0; )\n i.S.v === i.v && (i.S.i = i.i), i = i.o;\n })(); Kn !== void 0; ) {\n var n = Kn;\n for (Kn = void 0, zr++; n !== void 0; ) {\n var r = n.u;\n if (n.u = void 0, n.f &= -3, !(8 & n.f) && kl(n)) try {\n n.c();\n } catch (i) {\n e || (t = i, e = !0);\n }\n n = r;\n }\n }\n if (zr = 0, Tt--, e) throw t;\n }\n}\nfunction ch(t) {\n if (Tt > 0) return t();\n Wi = ++uh, Tt++;\n try {\n return t();\n } finally {\n ri();\n }\n}\nvar le = void 0;\nfunction ii(t) {\n var e = le;\n le = void 0;\n try {\n return t();\n } finally {\n le = e;\n }\n}\nvar Kn = void 0, Tt = 0, zr = 0, uh = 0, Wi = 0, Fr = void 0, Ur = 0;\nfunction wl(t) {\n if (le !== void 0) {\n var e = t.n;\n if (e === void 0 || e.t !== le)\n return e = { i: 0, S: t, p: le.s, n: void 0, t: le, e: void 0, x: void 0, r: e }, le.s !== void 0 && (le.s.n = e), le.s = e, t.n = e, 32 & le.f && t.S(e), e;\n if (e.i === -1)\n return e.i = 0, e.n !== void 0 && (e.n.p = e.p, e.p !== void 0 && (e.p.n = e.n), e.p = le.s, e.n = void 0, le.s.n = e, le.s = e), e;\n }\n}\nfunction Re(t, e) {\n this.v = t, this.i = 0, this.n = void 0, this.t = void 0, this.l = 0, this.W = e?.watched, this.Z = e?.unwatched, this.name = e?.name;\n}\nRe.prototype.brand = lh;\nRe.prototype.h = function() {\n return !0;\n};\nRe.prototype.S = function(t) {\n var e = this, n = this.t;\n n !== t && t.e === void 0 && (t.x = n, this.t = t, n !== void 0 ? n.e = t : ii(function() {\n var r;\n (r = e.W) == null || r.call(e);\n }));\n};\nRe.prototype.U = function(t) {\n var e = this;\n if (this.t !== void 0) {\n var n = t.e, r = t.x;\n n !== void 0 && (n.x = r, t.e = void 0), r !== void 0 && (r.e = n, t.x = void 0), t === this.t && (this.t = r, r === void 0 && ii(function() {\n var i;\n (i = e.Z) == null || i.call(e);\n }));\n }\n};\nRe.prototype.subscribe = function(t) {\n var e = this;\n return lr(function() {\n var n = e.value;\n ii(function() {\n return t(n);\n });\n }, { name: \"sub\" });\n};\nRe.prototype.valueOf = function() {\n return this.value;\n};\nRe.prototype.toString = function() {\n return this.value + \"\";\n};\nRe.prototype.toJSON = function() {\n return this.value;\n};\nRe.prototype.peek = function() {\n var t = this;\n return ii(function() {\n return t.value;\n });\n};\nObject.defineProperty(Re.prototype, \"value\", { get: function() {\n var t = wl(this);\n return t !== void 0 && (t.i = this.i), this.v;\n}, set: function(t) {\n if (t !== this.v) {\n if (zr > 100) throw new Error(\"Cycle detected\");\n (function(n) {\n Tt !== 0 && zr === 0 && n.l !== Wi && (n.l = Wi, Fr = { S: n, v: n.v, i: n.i, o: Fr });\n })(this), this.v = t, this.i++, Ur++, Tt++;\n try {\n for (var e = this.t; e !== void 0; e = e.x) e.t.N();\n } finally {\n ri();\n }\n }\n} });\nfunction H(t, e) {\n return new Re(t, e);\n}\nfunction kl(t) {\n for (var e = t.s; e !== void 0; e = e.n) if (e.S.i !== e.i || !e.S.h() || e.S.i !== e.i) return !0;\n return !1;\n}\nfunction _l(t) {\n for (var e = t.s; e !== void 0; e = e.n) {\n var n = e.S.n;\n if (n !== void 0 && (e.r = n), e.S.n = e, e.i = -1, e.n === void 0) {\n t.s = e;\n break;\n }\n }\n}\nfunction jl(t) {\n for (var e = t.s, n = void 0; e !== void 0; ) {\n var r = e.p;\n e.i === -1 ? (e.S.U(e), r !== void 0 && (r.n = e.n), e.n !== void 0 && (e.n.p = r)) : n = e, e.S.n = e.r, e.r !== void 0 && (e.r = void 0), e = r;\n }\n t.s = n;\n}\nfunction en(t, e) {\n Re.call(this, void 0, e), this.x = t, this.s = void 0, this.g = Ur - 1, this.f = 4;\n}\nen.prototype = new Re();\nen.prototype.h = function() {\n if (this.f &= -3, 1 & this.f) return !1;\n if ((36 & this.f) == 32 || (this.f &= -5, this.g === Ur)) return !0;\n if (this.g = Ur, this.f |= 1, this.i > 0 && !kl(this))\n return this.f &= -2, !0;\n var t = le;\n try {\n _l(this), le = this;\n var e = this.x();\n (16 & this.f || this.v !== e || this.i === 0) && (this.v = e, this.f &= -17, this.i++);\n } catch (n) {\n this.v = n, this.f |= 16, this.i++;\n }\n return le = t, jl(this), this.f &= -2, !0;\n};\nen.prototype.S = function(t) {\n if (this.t === void 0) {\n this.f |= 36;\n for (var e = this.s; e !== void 0; e = e.n) e.S.S(e);\n }\n Re.prototype.S.call(this, t);\n};\nen.prototype.U = function(t) {\n if (this.t !== void 0 && (Re.prototype.U.call(this, t), this.t === void 0)) {\n this.f &= -33;\n for (var e = this.s; e !== void 0; e = e.n) e.S.U(e);\n }\n};\nen.prototype.N = function() {\n if (!(2 & this.f)) {\n this.f |= 6;\n for (var t = this.t; t !== void 0; t = t.x) t.t.N();\n }\n};\nObject.defineProperty(en.prototype, \"value\", { get: function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n var t = wl(this);\n if (this.h(), t !== void 0 && (t.i = this.i), 16 & this.f) throw this.v;\n return this.v;\n} });\nfunction Qi(t, e) {\n return new en(t, e);\n}\nfunction Sl(t) {\n var e = t.m;\n if (t.m = void 0, typeof e == \"function\") {\n Tt++;\n var n = le;\n le = void 0;\n try {\n e();\n } catch (r) {\n throw t.f &= -2, t.f |= 8, ko(t), r;\n } finally {\n le = n, ri();\n }\n }\n}\nfunction ko(t) {\n for (var e = t.s; e !== void 0; e = e.n) e.S.U(e);\n t.x = void 0, t.s = void 0, Sl(t);\n}\nfunction dh(t) {\n if (le !== this) throw new Error(\"Out-of-order effect\");\n jl(this), le = t, this.f &= -2, 8 & this.f && ko(this), ri();\n}\nfunction Tn(t, e) {\n this.x = t, this.m = void 0, this.s = void 0, this.u = void 0, this.f = 32, this.name = e?.name;\n}\nTn.prototype.c = function() {\n var t = this.S();\n try {\n if (8 & this.f || this.x === void 0) return;\n var e = this.x();\n typeof e == \"function\" && (this.m = e);\n } finally {\n t();\n }\n};\nTn.prototype.S = function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n this.f |= 1, this.f &= -9, Sl(this), _l(this), Tt++;\n var t = le;\n return le = this, dh.bind(this, t);\n};\nTn.prototype.N = function() {\n 2 & this.f || (this.f |= 2, this.u = Kn, Kn = this);\n};\nTn.prototype.d = function() {\n this.f |= 8, 1 & this.f || ko(this);\n};\nTn.prototype.dispose = function() {\n this.d();\n};\nfunction lr(t, e) {\n var n = new Tn(t, e);\n try {\n n.c();\n } catch (i) {\n throw n.d(), i;\n }\n var r = n.d.bind(n);\n return r[Symbol.dispose] = r, r;\n}\nvar Tl, _r, hh = typeof window < \"u\" && !!window.__PREACT_SIGNALS_DEVTOOLS__, Cl = [];\nlr(function() {\n Tl = this.N;\n})();\nfunction Cn(t, e) {\n O[t] = e.bind(null, O[t] || function() {\n });\n}\nfunction Br(t) {\n if (_r) {\n var e = _r;\n _r = void 0, e();\n }\n _r = t && t.S();\n}\nfunction Al(t) {\n var e = this, n = t.data, r = xn(n);\n r.value = n;\n var i = ke(function() {\n for (var l = e, c = e.__v; c = c.__; ) if (c.__c) {\n c.__c.__$f |= 4;\n break;\n }\n var u = Qi(function() {\n var p = r.value.value;\n return p === 0 ? 0 : p === !0 ? \"\" : p || \"\";\n }), d = Qi(function() {\n return !Array.isArray(u.value) && !Ps(u.value);\n }), m = lr(function() {\n if (this.N = Rl, d.value) {\n var p = u.value;\n l.__v && l.__v.__e && l.__v.__e.nodeType === 3 && (l.__v.__e.data = p);\n }\n }), h = e.__$u.d;\n return e.__$u.d = function() {\n m(), h.call(this);\n }, [d, u];\n }, []), o = i[0], a = i[1];\n return o.value ? a.peek() : a.value;\n}\nAl.displayName = \"ReactiveTextNode\";\nObject.defineProperties(Re.prototype, { constructor: { configurable: !0, value: void 0 }, type: { configurable: !0, value: Al }, props: { configurable: !0, get: function() {\n var t = this;\n return { data: { get value() {\n return t.value;\n } } };\n} }, __b: { configurable: !0, value: 1 } });\nCn(\"__b\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n, r = e.props;\n for (var i in r) if (i !== \"children\") {\n var o = r[i];\n o instanceof Re && (n || (e.__np = n = {}), n[i] = o, r[i] = o.peek());\n }\n }\n t(e);\n});\nCn(\"__r\", function(t, e) {\n if (t(e), e.type !== J) {\n Br();\n var n, r = e.__c;\n r && (r.__$f &= -2, (n = r.__$u) === void 0 && (r.__$u = n = (function(i, o) {\n var a;\n return lr(function() {\n a = this;\n }, { name: o }), a.c = i, a;\n })(function() {\n var i;\n hh && ((i = n.y) == null || i.call(n)), r.__$f |= 1, r.setState({});\n }, typeof e.type == \"function\" ? e.type.displayName || e.type.name : \"\"))), Br(n);\n }\n});\nCn(\"__e\", function(t, e, n, r) {\n Br(), t(e, n, r);\n});\nCn(\"diffed\", function(t, e) {\n Br();\n var n;\n if (typeof e.type == \"string\" && (n = e.__e)) {\n var r = e.__np, i = e.props;\n if (r) {\n var o = n.U;\n if (o) for (var a in o) {\n var l = o[a];\n l !== void 0 && !(a in r) && (l.d(), o[a] = void 0);\n }\n else\n o = {}, n.U = o;\n for (var c in r) {\n var u = o[c], d = r[c];\n u === void 0 ? (u = fh(n, c, d, i), o[c] = u) : u.o(d, i);\n }\n }\n }\n t(e);\n});\nfunction fh(t, e, n, r) {\n var i = e in t && t.ownerSVGElement === void 0, o = H(n);\n return { o: function(a, l) {\n o.value = a, r = l;\n }, d: lr(function() {\n this.N = Rl;\n var a = o.value.value;\n r[e] !== a && (r[e] = a, i ? t[e] = a : a != null && (a !== !1 || e[4] === \"-\") ? t.setAttribute(e, a) : t.removeAttribute(e));\n }) };\n}\nCn(\"unmount\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n = e.__e;\n if (n) {\n var r = n.U;\n if (r) {\n n.U = void 0;\n for (var i in r) {\n var o = r[i];\n o && o.d();\n }\n }\n }\n var a = e.__np;\n if (a) {\n var l = e.props;\n for (var c in a) l[c] = a[c];\n }\n e.__np = void 0;\n } else {\n var u = e.__c;\n if (u) {\n var d = u.__$u;\n d && (u.__$u = void 0, d.d());\n }\n }\n t(e);\n});\nCn(\"__h\", function(t, e, n, r) {\n (r < 3 || r === 9) && (e.__$f |= 2), t(e, n, r);\n});\not.prototype.shouldComponentUpdate = function(t, e) {\n if (this.__R) return !0;\n var n = this.__$u, r = n && n.s !== void 0;\n for (var i in e) return !0;\n if (this.__f || typeof this.u == \"boolean\" && this.u === !0) {\n var o = 2 & this.__$f;\n if (!(r || o || 4 & this.__$f) || 1 & this.__$f) return !0;\n } else if (!(r || 4 & this.__$f) || 3 & this.__$f) return !0;\n for (var a in t) if (a !== \"__source\" && t[a] !== this.props[a]) return !0;\n for (var l in this.props) if (!(l in t)) return !0;\n return !1;\n};\nfunction xn(t, e) {\n return ke(function() {\n return H(t, e);\n }, []);\n}\nvar ph = function(t) {\n queueMicrotask(function() {\n queueMicrotask(t);\n });\n};\nfunction mh() {\n ch(function() {\n for (var t; t = Cl.shift(); ) Tl.call(t);\n });\n}\nfunction Rl() {\n Cl.push(this) === 1 && (O.requestAnimationFrame || ph)(mh);\n}\nconst ce = H(!1), Vr = H(null), Hr = H(void 0), cr = \"https://jexitychat.de/privacy\", ur = H(cr), _o = H(\"chip\"), El = H(!1), Dt = H(void 0), Gi = H([]), Ki = H([]), Il = H(null), Yi = H(!1);\nBigInt(\"-9223372036854775808\");\nBigInt(\"9223372036854775807\");\nBigInt(\"0\");\nBigInt(\"8\");\nBigInt(\"256\");\nconst gh = /* @__PURE__ */ Symbol.for(\"functionName\"), xh = /* @__PURE__ */ Symbol.for(\"toReferencePath\");\nfunction Ml(t = []) {\n const e = {\n get(n, r) {\n if (typeof r == \"string\") {\n const i = [...t, r];\n return Ml(i);\n } else if (r === gh) {\n if (t.length < 2) {\n const a = [\"api\", ...t].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`api.moduleName.functionName\\`. Found: \\`${a}\\``\n );\n }\n const i = t.slice(0, -1).join(\"/\"), o = t[t.length - 1];\n return o === \"default\" ? i : i + \":\" + o;\n } else return r === Symbol.toStringTag ? \"FunctionReference\" : void 0;\n }\n };\n return new Proxy({}, e);\n}\nconst bh = Ml();\nfunction Pl(t, e) {\n const n = {\n get(r, i) {\n if (typeof i == \"string\") {\n const o = [...e, i];\n return Pl(t, o);\n } else if (i === xh) {\n if (e.length < 1) {\n const o = [t, ...e].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`${t}.childComponent.functionName\\`. Found: \\`${o}\\``\n );\n }\n return \"_reference/childComponent/\" + e.join(\"/\");\n } else\n return;\n }\n };\n return new Proxy({}, n);\n}\nconst vh = () => Pl(\"components\", []), ae = bh;\nvh();\nfunction Nl() {\n return St(ae.maintenance.isFrozen, {})?.frozen ?? Yi.value;\n}\nfunction yh(t) {\n return t.replace(/\\.convex\\.site\\b/, \".convex.cloud\");\n}\nfunction Ll(t) {\n return t.replace(/\\.convex\\.cloud\\b/, \".convex.site\");\n}\nfunction $a(t) {\n return typeof t != \"number\" || !Number.isFinite(t) ? 24 : Math.min(100, Math.max(0, t));\n}\nfunction wh(t) {\n const e = t?.trim();\n if (e)\n try {\n const n = new URL(e);\n if (n.protocol === \"http:\" || n.protocol === \"https:\")\n return e;\n } catch {\n return;\n }\n}\nfunction kh(t, e) {\n const n = t.title ?? e?.title ?? \"Assistant\", r = t.privacyPolicyMode ?? e?.privacyPolicyMode ?? \"platform\", i = _h(\n t.privacyNoticeStyle ?? e?.privacyNoticeStyle\n );\n return {\n title: n,\n // Bot bubble name. Option first (dashboard test panel passes the live form\n // value), then remote (saved config for production embeds); blank/absent on\n // both falls back to the widget title.\n botName: t.botName?.trim() || e?.botName?.trim() || n,\n greeting: t.greeting ?? e?.welcomeMessage ?? `Hi! I'm ${n}. How can I help?`,\n // Option first (dashboard live preview/test passes the form value), then\n // remote (saved config for production embeds). Already sanitized server-side.\n starterQuestions: t.starterQuestions ?? e?.starterQuestions ?? [],\n locale: t.locale ?? e?.locale,\n position: t.position ?? e?.position,\n colorScheme: t.colorScheme ?? e?.colorScheme,\n hideBranding: t.hideBranding ?? e?.hideBranding ?? !1,\n allowVisitorLocale: e?.allowVisitorLocale ?? !1,\n visitorAttachmentsEnabled: e?.visitorAttachmentsEnabled ?? !1,\n privacyPolicyMode: r,\n privacyPolicyUrl: r === \"custom\" ? wh(t.privacyPolicyUrl ?? e?.privacyPolicyUrl) : void 0,\n privacyNoticeStyle: i,\n sessionTimeoutMs: jh(e?.sessionTimeout),\n triggerIcon: t.triggerIcon ?? e?.triggerIcon ?? \"chat\",\n triggerRadius: t.triggerRadius ?? e?.triggerRadius ?? \"full\",\n triggerLabel: t.triggerLabel ?? e?.triggerLabel ?? \"Chatte mit uns\",\n // Clamp 0–100; default 24 = the legacy corner gap. Backstop behind the\n // dashboard slider for bad/stale stored values.\n triggerOffsetX: $a(t.triggerOffsetX ?? e?.triggerOffsetX),\n triggerOffsetY: $a(t.triggerOffsetY ?? e?.triggerOffsetY),\n mode: t.mode ?? \"floating\",\n proactiveMode: e?.proactiveMode ?? \"off\",\n // Clamp 0–15; bad/huge stored values just mean \"never shows\" otherwise.\n proactiveDelaySeconds: Math.min(15, Math.max(0, e?.proactiveDelaySeconds ?? 5)),\n primaryColor: t.primaryColor ?? e?.primaryColor,\n accentColor: t.accentColor ?? e?.accentColor,\n fontFamily: t.fontFamily ?? e?.fontFamily,\n fontSize: t.fontSize ?? e?.fontSize,\n borderRadius: t.borderRadius ?? e?.borderRadius,\n windowWidth: t.windowWidth ?? e?.windowWidth,\n windowHeight: t.windowHeight ?? e?.windowHeight\n };\n}\nfunction _h(t) {\n return t === \"explicit\" || t === \"sheet\" ? \"explicit\" : \"chip\";\n}\nfunction jh(t) {\n switch (t) {\n case \"never\":\n return null;\n case \"1h\":\n return 3600 * 1e3;\n case \"6h\":\n return 360 * 60 * 1e3;\n case \"7d\":\n return 10080 * 60 * 1e3;\n case \"24h\":\n return 1440 * 60 * 1e3;\n case void 0:\n return 3600 * 1e3;\n }\n}\nasync function Sh({\n siteUrl: t,\n orgSlug: e,\n projSlug: n,\n signal: r\n}) {\n const i = new URL(`${t}/widget/config`);\n i.searchParams.set(\"orgSlug\", e), n && i.searchParams.set(\"projSlug\", n);\n const o = await fetch(i.toString(), { signal: r, keepalive: !0 });\n return o.ok ? o.json() : null;\n}\nfunction Th(t, e, n, r) {\n const [i, o] = D(\n r !== void 0 ? { config: r, settled: !0 } : { config: null, settled: !1 }\n );\n return P(() => {\n if (r !== void 0)\n return;\n o({ config: null, settled: !1 });\n const a = n ?? \"https://festive-mouse-978.eu-west-1.convex.cloud\", l = a ? Ll(a) : void 0;\n if (!l || !t) {\n o({ config: null, settled: !0 });\n return;\n }\n const c = new AbortController();\n async function u(d) {\n try {\n const m = await Sh({ siteUrl: d, orgSlug: t, projSlug: e, signal: c.signal });\n c.signal.aborted || o({ config: m, settled: !0 });\n } catch (m) {\n if (m instanceof Error && m.name === \"AbortError\")\n return;\n c.signal.aborted || o({ config: null, settled: !0 });\n }\n }\n return u(l), () => {\n c.abort();\n };\n }, [t, e, n, r]), i;\n}\nconst Da = globalThis.console, ne = {\n warn(...t) {\n Da.warn(...t);\n },\n error(...t) {\n Da.error(...t);\n },\n debug(...t) {\n }\n};\nasync function Ol(t, e, n) {\n try {\n const r = await fetch(`${e}/widget/bootstrap`, {\n method: \"POST\",\n // Keep this a simple CORS request; application/json triggers OPTIONS preflight.\n // (keepalive below also requires it.)\n body: JSON.stringify(n ? { orgSlug: t, projSlug: n } : { orgSlug: t }),\n credentials: \"omit\",\n // A visitor navigating away mid-request no longer cancels it, so Convex\n // stops logging \"POST /widget/bootstrap failed: Client disconnected\".\n keepalive: !0\n });\n if (r.ok) {\n const i = await r.json(), o = i.allowedUrls ?? (i.allowedUrl ? [i.allowedUrl] : []);\n return {\n ok: !0,\n token: i.token,\n excludePaths: i.excludePaths,\n allowedUrls: o,\n widgetLazyLoadMode: i.widgetLazyLoadMode,\n maintenance: i.maintenance\n };\n }\n return r.status === 403 ? { ok: !1, error: \"unauthorized\" } : r.status === 404 ? { ok: !1, error: \"not_found\" } : r.status === 429 ? { ok: !1, error: \"rate_limited\", retryAfterSec: Number(r.headers.get(\"Retry-After\")) || 60 } : { ok: !1, error: \"network\" };\n } catch {\n return { ok: !1, error: \"network\" };\n }\n}\nfunction Ch(t, e) {\n return e.some((n) => n === \"/\" ? t === \"/\" : t === n || t.startsWith(n + \"/\"));\n}\nfunction qa(t, e) {\n try {\n const n = new URL(t), r = new URL(e);\n if (n.origin !== r.origin)\n return !1;\n const i = r.pathname.replace(/\\/$/, \"\");\n if (!i)\n return !0;\n const o = n.pathname.replace(/\\/$/, \"\");\n return o === i || o.startsWith(i + \"/\");\n } catch {\n return !1;\n }\n}\nfunction Ah({\n orgSlug: t,\n projSlug: e,\n preToken: n,\n convexUrl: r,\n preAllowedUrls: i,\n preExcludedPaths: o,\n preMaintenance: a\n}) {\n P(() => {\n const u = r ?? \"https://festive-mouse-978.eu-west-1.convex.cloud\", d = u ? Ll(u) : void 0;\n if (!d || !t || (Il.value = { orgSlug: t, projSlug: e, siteUrl: d }, n))\n return;\n let m = !1;\n return (async () => {\n const h = await Ol(t, d, e);\n if (!m)\n if (h.ok)\n Dt.value = h.token, Gi.value = h.allowedUrls, Ki.value = h.excludePaths, Yi.value = h.maintenance ?? !1;\n else {\n const p = e ? `project '${t}/${e}'` : `org '${t}'`;\n h.error === \"unauthorized\" ? ne.warn(\n `[JexityChat] Domain not authorized for ${p}. Check the widget's domain rules.`\n ) : h.error === \"not_found\" ? ne.error(`[JexityChat] No active widget config found for ${p}.`) : h.error === \"rate_limited\" ? ne.error(\n `[JexityChat] Bootstrap rate-limited for ${p}. Retry after ${h.retryAfterSec ?? 60}s.`\n ) : ne.error(`[JexityChat] Bootstrap failed: ${h.error}`);\n }\n })(), () => {\n m = !0;\n };\n }, [t, e, n, r]);\n const l = i?.join(`\n`) ?? \"\", c = o?.join(`\n`) ?? \"\";\n P(() => {\n n && (Gi.value = l ? l.split(`\n`) : [], Ki.value = c ? c.split(`\n`) : [], Yi.value = a ?? !1);\n }, [n, l, c, a]);\n}\nconst Wr = /* @__PURE__ */ new Set();\nlet za = !1;\nfunction Rh() {\n if (za)\n return;\n za = !0;\n const t = history.pushState.bind(history), e = history.replaceState.bind(history);\n history.pushState = function(...n) {\n t(...n), Wr.forEach((r) => r());\n }, history.replaceState = function(...n) {\n e(...n), Wr.forEach((r) => r());\n };\n}\nfunction Eh(t) {\n return Wr.add(t), window.addEventListener(\"popstate\", t), Rh(), () => {\n Wr.delete(t), window.removeEventListener(\"popstate\", t);\n };\n}\nfunction Ih() {\n const t = xn(window.location.href);\n P(() => Eh(() => {\n t.value = window.location.href;\n }), [t]);\n const e = Gi.value, n = Ki.value, r = new URL(t.value).pathname, i = Ch(r, n);\n return P(() => {\n i ? ne.warn(\n `[JexityChat] Widget hidden — current path is in the exclude list: ${r}`\n ) : e.length > 0 && !e.some((o) => qa(t.value, o)) && ne.warn(\n `[JexityChat] Widget hidden — current page does not match path rule. Allowed: ${e.join(\", \")}`\n );\n }, [t.value, e, n, i, r]), i ? !1 : e.length === 0 ? !0 : e.some((o) => qa(t.value, o));\n}\nconst jo = {\n title: \"Assistant\",\n statusOnline: \"Online · Responds in seconds\",\n inputPlaceholder: \"Type a message…\",\n aiThinking: \"AI is responding…\",\n sendAriaLabel: \"Send message\",\n attachFiles: \"Attach files\",\n attachmentUploading: \"Uploading…\",\n attachmentFailed: \"Upload failed\",\n attachmentRejected: \"Only images (PNG, JPG, WebP) and PDFs up to 10 MB, 4 per message.\",\n attachmentRateLimited: \"Too many files at once. Try again in a few minutes.\",\n attachmentNotAllowed: \"Files can’t be sent in this chat right now.\",\n attachmentGone: \"A file is no longer available. Remove it and attach it again.\",\n attachmentPrivacy: \"Files go to the support team only.\",\n attachmentUnavailable: \"File no longer available\",\n attachmentOpen: \"Open {name}\",\n attachmentLoadFailed: \"Couldn’t load the files.\",\n attachmentRetry: \"Try again\",\n voiceStart: \"Start voice input\",\n voiceStop: \"Stop voice input\",\n voiceListening: \"Listening… speak now.\",\n voiceProviderNote: \"Your speech is transcribed by your browser’s provider (e.g. Google or Apple).\",\n voiceErrorPermission: \"Microphone access is blocked. Allow it in your browser settings.\",\n voiceErrorNoMic: \"No microphone found.\",\n voiceErrorNetwork: \"Voice input isn’t available in this browser right now. It works in Chrome, Edge and Safari. Please type instead.\",\n voiceErrorLang: \"Voice input isn’t available in this language.\",\n removeAttachmentAriaLabel: \"Remove {name}\",\n openChatAriaLabel: \"Open chat\",\n closeChatAriaLabel: \"Close chat\",\n proactiveDismiss: \"Dismiss\",\n proactiveOpenAria: \"Open chat\",\n errorNetwork: \"Network error. Please try again.\",\n errorQuota: \"Message limit reached. Please try again later.\",\n errorRateLimited: \"Too many messages. Try again in {seconds}s.\",\n errorSessionNoToken: \"Could not connect to chat. Check your connection and try again.\",\n errorMaintenance: \"Chat is paused for maintenance. Your message was not sent, but it is still in the box, so you can try again shortly.\",\n errorSessionUnauthorized: \"This chat is not authorised on this page. Please reload.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Resuming conversation…\",\n startingConversation: \"Starting conversation…\",\n sessionNotFound: \"Your previous session was not found. Starting a new conversation.\",\n startNewConversation: \"Start new conversation\",\n chatWith: \"Send us a message\",\n homeStatusOnline: \"Online\",\n homeStatusOffline: \"Offline\",\n haveReferenceNumber: \"Have a reference number?\",\n referencePlaceholder: \"e.g. JEX-A3B7C2\",\n resume: \"Resume\",\n howCanWeHelp: \"How can we help?\",\n getInstantHelp: \"Get instant help\",\n submitTicket: \"Submit a ticket\",\n replyByEmail: \"We'll reply by email\",\n ticketSubmitted: \"Ticket submitted\",\n yourReferenceNumber: \"Your reference number:\",\n sentToEmailHint: \"We've sent it to your email. Use this number to follow up.\",\n done: \"Done\",\n submittingTicket: \"Submitting your ticket…\",\n yourName: \"Your name\",\n yourEmail: \"Your email\",\n submit: \"Submit\",\n back: \"Go back\",\n localePickerLabel: \"Language\",\n // Escalation form\n escalationFormTitle: \"Leave your details\",\n escalationSubtitle: \"Our team will get back to you by email so you don’t have to wait here.\",\n escalationOfflineSubtitle: \"Our team is offline right now — leave your email and we’ll get back to you.\",\n escalationNameLabel: \"Your name\",\n escalationEmailLabel: \"Your email\",\n escalationSubmit: \"Send to team\",\n escalationSubmitting: \"Sending…\",\n escalationSubmitted: \"Request submitted\",\n escalationConsent: \"By submitting, you agree to our\",\n escalationPrivacyLinkText: \"Privacy Policy\",\n escalationSkip: \"Skip, I’ll wait here\",\n escalationPromptTitle: \"Talk to our team\",\n escalationPromptSubtitle: \"We can notify you by email when our team replies.\",\n escalationPromptSubmit: \"Leave details\",\n escalationSubmitFailed: \"Failed to submit. Please try again.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Session not found. Would you like to start a new conversation?\",\n sessionLocked: \"For your privacy, this conversation was closed after a period of inactivity. Enter your reference to resume, or start a new conversation.\",\n // Resolved session\n sessionResolved: \"This conversation has been resolved.\",\n tryAgain: \"Try again\",\n goBack: \"Go back\",\n somethingWentWrong: \"Something went wrong\",\n fabLabel: \"Chat with us\",\n chatNoLongerAvailable: \"This chat is no longer available.\",\n // Handoff & resume list\n talkToHuman: \"Talk to human\",\n talkToHumanAria: \"Talk to a human agent\",\n handoffPending: \"Connecting you to a human agent…\",\n handoffFailed: \"Could not request a human agent. Try again.\",\n handoffRateLimited: \"You requested an agent recently. Please wait before trying again.\",\n handoffAvailable: \"An agent is available\",\n handoffOffline: \"No agent online — leave your details\",\n handoffMaintenance: \"Paused for maintenance. You can reach an agent again shortly.\",\n resumeListLabel: \"Continue conversation\",\n resumeListTimestamp: \"{minutes}m ago\",\n pickUpWhereLeftOff: \"Pick up where you left off\",\n noticeAgentJoined: \"{name} has joined the conversation.\",\n noticeHumanRequested: \"You requested to speak with a human agent.\",\n noticeHumanRequestedForm: \"You requested to speak with a human agent. Please share your contact details below.\",\n noticeEscalationConfirmed: `Thank you {name}! A human agent will be available soon.\nWe will contact you at {email} when an agent is ready.\n\nYour reference: **{ref}**\nUse it to resume this conversation from any device.`,\n noticeMessageReceived: \"Your message has been received. A team member will respond shortly.\",\n noticeAgentHandling: \"Your conversation is with a human agent who will respond shortly.\",\n noticeAiResumed: \"The assistant is back and can answer your questions again.\",\n quoteMessage: \"Quote this message\",\n quotedYourMessage: \"Your message\",\n cancelReply: \"Cancel reply\",\n sourcesCountOne: \"{count} source\",\n sourcesCountOther: \"{count} sources\",\n privacyNoticePre: \"By chatting, you agree to our\",\n privacyPolicyLinkText: \"Privacy Policy\",\n privacyChipText: \"We respect your privacy - read our policy\",\n privacyExplicitTitle: \"Before you send\",\n privacyExplicitBodyPre: \"Messages are processed to assist you. By continuing you agree to our\",\n privacyExplicitButton: \"Got it, continue\",\n // Magicline integration forms\n magiclineTrialTitle: \"Book a trial session\",\n magiclineLeadTitle: \"Request more information\",\n magiclineFirstName: \"First name\",\n magiclineLastName: \"Last name\",\n magiclineEmail: \"Email\",\n magiclinePhone: \"Phone\",\n magiclineBirthDate: \"Date of birth\",\n magiclineInterest: \"What are you interested in? (optional)\",\n magiclineMessage: \"Message (optional)\",\n magiclineSlotLabel: \"Preferred time\",\n magiclineSlotPlaceholder: \"Select a time…\",\n magiclineLoadingSlots: \"Loading available times…\",\n magiclineNoSlots: \"No trial times are available right now. Please check back later or ask us for help.\",\n magiclineSubmit: \"Submit\",\n magiclineSubmitting: \"Submitting…\",\n magiclineSubmitted: \"Request submitted\",\n magiclineSubmittedDetail: \"We’ve received your request and will be in touch shortly.\",\n magiclineTrialSuccessTitle: \"Book a trial session\",\n magiclineTrialSuccessDetail: \"Done! Your trial session is booked. You'll receive a confirmation email shortly – please check your inbox.\",\n magiclineFailed: \"Submission failed\",\n magiclineFailedDetail: \"Something went wrong submitting your request. Please try again.\",\n magiclineConsent: \"I agree to the processing of my data in accordance with the\",\n magiclinePrivacyLinkText: \"Privacy Policy\",\n magiclineRequiredError: \"Please fill in all required fields.\",\n magiclineEmailError: \"Please enter a valid email address.\",\n magiclineConsentError: \"Please accept the privacy policy to continue.\",\n // Dynamic per-studio trial form (v2)\n magiclineConfigLoading: \"Loading the booking form…\",\n magiclineConfigUnsupported: \"Online trial booking is not supported for this studio. Please ask us for help.\",\n magiclineConfigInconsistent: \"The booking form is temporarily misconfigured. Please ask us for help.\",\n magiclineConfigUnavailable: \"Trial booking is not available right now. Please try again later or ask us for help.\",\n magiclineGender: \"Gender\",\n magiclineGenderPlaceholder: \"Select gender…\",\n magiclineGenderMale: \"Male\",\n magiclineGenderFemale: \"Female\",\n magiclineGenderUnisex: \"Diverse\",\n magiclineStreet: \"Street\",\n magiclineHouseNumber: \"House number\",\n magiclineZip: \"Postal code\",\n magiclineCity: \"City\",\n magiclineCountry: \"Country\",\n magiclineCountryPlaceholder: \"Select a country…\",\n magiclineNote: \"Note (optional)\",\n magiclineOptionalSuffix: \" (optional)\",\n magiclineTrainerRequired: \"I want a trainer present\",\n magiclineMinAgeError: \"You must be at least {age} years old to book a trial.\",\n magiclineSlotRequiredError: \"Please select an available time.\",\n magiclineSlotUnavailableNotice: \"That time is no longer available. Please pick another time below.\",\n // Step wizard (v3)\n magiclineStepTrainer: \"Trainer\",\n magiclineStepSlot: \"Choose a time\",\n magiclineStepPersonal: \"Your details\",\n magiclineStepAddress: \"Your address\",\n magiclineStepConfirm: \"Confirm\",\n magiclineStepCounter: \"Step {n} of {total}\",\n magiclineWizardBack: \"Back\",\n magiclineWizardNext: \"Next\",\n magiclineTrainerWith: \"Trial session with trainer\",\n magiclineTrainerWithout: \"Trial session without trainer\",\n magiclineSummaryTrainer: \"Trainer\",\n magiclineSummarySlot: \"Time\",\n magiclineSummaryName: \"Name\",\n magiclineRetry: \"Try again\",\n magiclineSlotsError: \"We couldn’t load available times right now. Please try again.\",\n // Membership signup wizard (contract creation)\n magiclineContractTitle: \"Become a member\",\n magiclineStepOffer: \"Choose a membership\",\n magiclineStepUpgrades: \"Add-ons\",\n magiclineStepPayment: \"Payment\",\n magiclineStepReview: \"Review\",\n magiclineOffersLoading: \"Loading memberships…\",\n magiclineOffersError: \"We couldn’t load the memberships right now. Please try again.\",\n magiclineNoOffers: \"No memberships are available to sign up for online right now. Please ask us for help.\",\n magiclineTermLength: \"{value} {unit}\",\n magiclineFreqPerDay: \"per day\",\n magiclineFreqPerWeek: \"per week\",\n magiclineFreqPerMonth: \"per month\",\n magiclineFreqPerYear: \"per year\",\n magiclineFreqEveryDays: \"every {n} days\",\n magiclineFreqEveryWeeks: \"every {n} weeks\",\n magiclineFreqEveryMonths: \"every {n} months\",\n magiclineFreqEveryYears: \"every {n} years\",\n magiclineModulePerTerm: \"per term\",\n magiclineModuleOneTime: \"one-time\",\n magiclineModuleIncluded: \"included\",\n magiclineRenewalNone: \"No automatic renewal\",\n magiclineRenewalTerm: \"Renewal: {n} {unit}\",\n magiclineCancellationPeriod: \"Cancellation period\",\n magiclineStarterPackage: \"Starter package\",\n magiclineFlatFee: \"One-time fee\",\n magiclineIncludedModules: \"Included\",\n magiclineDetails: \"Details\",\n magiclineRequired: \"Required\",\n magiclineUpgradesIntro: \"Add optional upgrades to your membership.\",\n magiclineUpgradesNone: \"No optional upgrades are available for this membership.\",\n magiclineUpgradeAdd: \"Add\",\n magiclineUpgradeAdded: \"Added\",\n magiclineUpgradeOneTime: \"one-time\",\n magiclineUpgradeConsentError: \"Please accept the terms for your selected upgrade to keep it.\",\n magiclineOfferRequiredError: \"Please select a membership.\",\n magiclineCountryStatic: \"Germany\",\n magiclineAccountHolder: \"Account holder\",\n magiclineIban: \"IBAN\",\n magiclineIbanInvalidError: \"Please enter a valid IBAN.\",\n magiclineSepaConsent: \"I authorise the studio to collect payments from my account by SEPA direct debit and instruct my bank to honour these debits.\",\n magiclineReviewLoading: \"Calculating your price…\",\n magiclineReviewError: \"We couldn’t calculate your price right now. Please try again.\",\n magiclineReviewOffer: \"Membership\",\n magiclineReviewPriceSummary: \"Price summary\",\n magiclineReviewBasePrice: \"Price per month\",\n magiclineReviewOneTimeFees: \"One-time fees\",\n magiclineReviewPreUseCharge: \"Pre-use charge\",\n magiclineReviewSelectedUpgrades: \"Your selected upgrades\",\n magiclineReviewContractVolume: \"Total contract volume\",\n magiclineReviewStartsOn: \"Starts on\",\n magiclineReviewPayment: \"Payment\",\n magiclineReviewTerms: \"Terms & conditions\",\n magiclineConfirmPrompt: \"Please confirm the following to continue:\",\n magiclineConfirmRequiredError: \"Please confirm all required terms before submitting.\",\n magiclineSummaryAddress: \"Address\",\n magiclineContractSubmitted: \"Your membership is confirmed and the studio will be in touch shortly.\",\n magiclineContractSuccessTitle: \"Sign up for membership\",\n magiclineContractSuccessDetail: \"Welcome aboard! Your membership is all set. Your confirmation email is on its way.\",\n magiclineCustomerNumber: \"Your customer number: {number}\",\n magiclinePriceChangedNotice: \"The price has changed. Please review the new price and confirm again.\",\n magiclineOfferUnavailableNotice: \"That membership is no longer available. Please choose another one.\",\n magiclineConfirmationRequiredNotice: \"Please confirm all required terms before submitting.\",\n magiclineLiveSubmissionDisabled: \"Live submission is disabled for this project — please contact the studio.\",\n magiclineDuplicateNotice: \"A membership for this offer was already created recently.\",\n magiclineUnknownOutcome: \"We couldn’t confirm your signup. The studio will verify it and contact you — please do not submit again.\",\n magiclineFeeStarterPackage: \"Starter package\",\n magiclineFeeTrainerFee: \"Trainer fee\",\n // Voucher code (contract-creation Review step)\n magiclineVoucherLabel: \"Voucher code\",\n magiclineVoucherPlaceholder: \"Enter voucher code…\",\n magiclineVoucherApply: \"Apply\",\n magiclineVoucherAppliedDiscount: \"Discount ({discount})\",\n magiclineVoucherCreditNotice: \"Account credit applied — not deducted from contract total.\",\n magiclineVoucherRemarks: \"Voucher remarks\",\n magiclineVoucherInvalid: 'Voucher \"{code}\" is not valid. Please check the code and try again.',\n magiclineVoucherDisabled: \"Voucher codes are not available for this membership.\",\n magiclineGesamtpreisBeforeDiscount: \"Total contract volume (before voucher discount)\",\n newReplyTitle: \"New reply\",\n // Waiting-for-agent card\n waitingTitle: \"You’re in the queue\",\n waitingSubtitle: \"Keep this tab open — we’ll alert you right here the moment someone replies.\",\n waitingLeaveEmail: \"Rather get an email? Leave your details\"\n}, $l = {\n title: \"Assistent\",\n statusOnline: \"Online · Antwortet in Sekunden\",\n inputPlaceholder: \"Nachricht eingeben…\",\n aiThinking: \"KI antwortet…\",\n sendAriaLabel: \"Nachricht senden\",\n attachFiles: \"Dateien anhängen\",\n attachmentUploading: \"Wird hochgeladen…\",\n attachmentFailed: \"Hochladen fehlgeschlagen\",\n attachmentRejected: \"Nur Bilder (PNG, JPG, WebP) und PDFs bis 10 MB, 4 pro Nachricht.\",\n attachmentRateLimited: \"Zu viele Dateien auf einmal. Bitte in ein paar Minuten erneut versuchen.\",\n attachmentNotAllowed: \"In diesem Chat können gerade keine Dateien gesendet werden.\",\n attachmentGone: \"Eine Datei ist nicht mehr verfügbar. Bitte entfernen und neu anhängen.\",\n attachmentPrivacy: \"Dateien sieht nur das Support-Team.\",\n attachmentUnavailable: \"Datei nicht mehr verfügbar\",\n attachmentOpen: \"{name} öffnen\",\n attachmentLoadFailed: \"Die Dateien konnten nicht geladen werden.\",\n attachmentRetry: \"Erneut versuchen\",\n voiceStart: \"Spracheingabe starten\",\n voiceStop: \"Spracheingabe beenden\",\n voiceListening: \"Ich höre zu… sprich jetzt.\",\n voiceProviderNote: \"Deine Sprache wird vom Anbieter deines Browsers (z. B. Google oder Apple) in Text umgewandelt.\",\n voiceErrorPermission: \"Der Mikrofonzugriff ist blockiert. Erlaube ihn in den Browsereinstellungen.\",\n voiceErrorNoMic: \"Kein Mikrofon gefunden.\",\n voiceErrorNetwork: \"Spracheingabe ist in diesem Browser gerade nicht verfügbar. Sie funktioniert in Chrome, Edge und Safari. Bitte tippe stattdessen.\",\n voiceErrorLang: \"Spracheingabe ist in dieser Sprache nicht verfügbar.\",\n removeAttachmentAriaLabel: \"{name} entfernen\",\n openChatAriaLabel: \"Chat öffnen\",\n closeChatAriaLabel: \"Chat schließen\",\n proactiveDismiss: \"Schließen\",\n proactiveOpenAria: \"Chat öffnen\",\n errorNetwork: \"Netzwerkfehler. Bitte versuche es erneut.\",\n errorQuota: \"Nachrichtenlimit erreicht. Bitte versuche es später erneut.\",\n errorRateLimited: \"Zu viele Nachrichten. Bitte in {seconds} Sek. erneut versuchen.\",\n errorSessionNoToken: \"Verbindung zum Chat fehlgeschlagen. Bitte Internet prüfen und erneut versuchen.\",\n errorMaintenance: \"Der Chat pausiert wegen Wartungsarbeiten. Deine Nachricht wurde nicht gesendet, sie steht noch im Feld. Bitte versuche es gleich erneut.\",\n errorSessionUnauthorized: \"Dieser Chat ist auf dieser Seite nicht autorisiert. Bitte neu laden.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Gespräch wird fortgesetzt…\",\n startingConversation: \"Konversation wird gestartet…\",\n sessionNotFound: \"Ihre vorherige Sitzung wurde nicht gefunden. Ein neues Gespräch wird gestartet.\",\n startNewConversation: \"Neues Gespräch beginnen\",\n chatWith: \"Schreib uns eine Nachricht\",\n homeStatusOnline: \"Online\",\n homeStatusOffline: \"Offline\",\n haveReferenceNumber: \"Hast du eine Referenznummer?\",\n referencePlaceholder: \"z.B. JEX-A3B7C2\",\n resume: \"Fortsetzen\",\n howCanWeHelp: \"Wie können wir helfen?\",\n getInstantHelp: \"Soforthilfe erhalten\",\n submitTicket: \"Ticket einreichen\",\n replyByEmail: \"Wir antworten per E-Mail\",\n ticketSubmitted: \"Ticket eingereicht\",\n yourReferenceNumber: \"Deine Referenznummer:\",\n sentToEmailHint: \"Wir haben sie an deine E-Mail gesendet. Verwende diese Nummer für Rückfragen.\",\n done: \"Fertig\",\n submittingTicket: \"Dein Ticket wird übermittelt…\",\n yourName: \"Dein Name\",\n yourEmail: \"Deine E-Mail\",\n submit: \"Absenden\",\n back: \"Zurück\",\n localePickerLabel: \"Sprache\",\n // Escalation form\n escalationFormTitle: \"Hinterlassen Sie Ihre Daten\",\n escalationSubtitle: \"Unser Team meldet sich per E-Mail bei Ihnen — Sie müssen nicht hier warten.\",\n escalationOfflineSubtitle: \"Unser Team ist gerade offline — hinterlasse deine E-Mail und wir melden uns bei dir.\",\n escalationNameLabel: \"Ihr Name\",\n escalationEmailLabel: \"Ihre E-Mail\",\n escalationSubmit: \"An Team senden\",\n escalationSubmitting: \"Wird gesendet…\",\n escalationSubmitted: \"Anfrage gesendet\",\n escalationConsent: \"Mit dem Absenden stimmen Sie unserer\",\n escalationPrivacyLinkText: \"Datenschutzerklärung\",\n escalationSkip: \"Überspringen, ich warte hier\",\n escalationPromptTitle: \"Sprechen Sie mit unserem Team\",\n escalationPromptSubtitle: \"Wir benachrichtigen Sie per E-Mail, wenn wir antworten.\",\n escalationPromptSubmit: \"Daten hinterlassen\",\n escalationSubmitFailed: \"Senden fehlgeschlagen. Bitte versuche es erneut.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Sitzung nicht gefunden. Möchten Sie ein neues Gespräch beginnen?\",\n sessionLocked: \"Aus Datenschutzgründen wurde dieses Gespräch nach einer Inaktivitätszeit geschlossen. Geben Sie Ihre Referenz ein, um fortzufahren, oder beginnen Sie ein neues Gespräch.\",\n // Resolved session\n sessionResolved: \"Diese Unterhaltung wurde abgeschlossen.\",\n tryAgain: \"Erneut versuchen\",\n goBack: \"Zurück\",\n somethingWentWrong: \"Etwas ist schiefgelaufen\",\n fabLabel: \"Chatte mit uns\",\n chatNoLongerAvailable: \"Dieser Chat ist nicht mehr verfügbar.\",\n // Handoff & resume list\n talkToHuman: \"Mit Mitarbeiter sprechen\",\n talkToHumanAria: \"Mit einem menschlichen Mitarbeiter sprechen\",\n handoffPending: \"Sie werden mit einem Mitarbeiter verbunden…\",\n handoffFailed: \"Anfrage konnte nicht gesendet werden. Erneut versuchen.\",\n handoffRateLimited: \"Sie haben kürzlich einen Mitarbeiter angefragt. Bitte warten Sie.\",\n handoffAvailable: \"Ein Mitarbeiter ist verfügbar\",\n handoffOffline: \"Kein Mitarbeiter online — hinterlasse deine Daten\",\n handoffMaintenance: \"Wegen Wartungsarbeiten pausiert. Du kannst gleich wieder einen Mitarbeiter erreichen.\",\n resumeListLabel: \"Unterhaltung fortsetzen\",\n resumeListTimestamp: \"vor {minutes} Min.\",\n pickUpWhereLeftOff: \"Da weitermachen, wo Sie aufgehört haben\",\n noticeAgentJoined: \"{name} ist der Unterhaltung beigetreten.\",\n noticeHumanRequested: \"Sie haben darum gebeten, mit einem Mitarbeiter zu sprechen.\",\n noticeHumanRequestedForm: \"Sie haben darum gebeten, mit einem Mitarbeiter zu sprechen. Bitte teilen Sie unten Ihre Kontaktdaten mit.\",\n noticeEscalationConfirmed: `Vielen Dank, {name}! Ein Mitarbeiter wird in Kürze verfügbar sein.\nWir kontaktieren Sie unter {email}, sobald ein Mitarbeiter bereit ist.\n\nIhre Referenz: **{ref}**\nVerwenden Sie sie, um diese Unterhaltung auf jedem Gerät fortzusetzen.`,\n noticeMessageReceived: \"Ihre Nachricht ist eingegangen. Ein Mitarbeiter wird in Kürze antworten.\",\n noticeAgentHandling: \"Ihre Unterhaltung wird von einem menschlichen Mitarbeiter betreut, der in Kürze antwortet.\",\n noticeAiResumed: \"Der Assistent ist wieder da und kann Ihre Fragen beantworten.\",\n quoteMessage: \"Diese Nachricht zitieren\",\n quotedYourMessage: \"Ihre Nachricht\",\n cancelReply: \"Antwort abbrechen\",\n sourcesCountOne: \"{count} Quelle\",\n sourcesCountOther: \"{count} Quellen\",\n privacyNoticePre: \"Mit dem Chatten stimmst du unserer\",\n privacyPolicyLinkText: \"Datenschutzerklärung\",\n privacyChipText: \"Wir respektieren Ihre Privatsphäre - Richtlinie lesen\",\n privacyExplicitTitle: \"Vor dem Senden\",\n privacyExplicitBodyPre: \"Nachrichten werden verarbeitet, um Ihnen zu helfen. Durch Fortfahren stimmen Sie unserer\",\n privacyExplicitButton: \"Verstanden, fortfahren\",\n // Magicline integration forms\n magiclineTrialTitle: \"Probetraining buchen\",\n magiclineLeadTitle: \"Weitere Informationen anfordern\",\n magiclineFirstName: \"Vorname\",\n magiclineLastName: \"Nachname\",\n magiclineEmail: \"E-Mail\",\n magiclinePhone: \"Telefon\",\n magiclineBirthDate: \"Geburtsdatum\",\n magiclineInterest: \"Wofür interessieren Sie sich? (optional)\",\n magiclineMessage: \"Nachricht (optional)\",\n magiclineSlotLabel: \"Wunschtermin\",\n magiclineSlotPlaceholder: \"Termin auswählen…\",\n magiclineLoadingSlots: \"Verfügbare Termine werden geladen…\",\n magiclineNoSlots: \"Derzeit sind keine Probetermine verfügbar. Bitte versuchen Sie es später erneut oder fragen Sie uns um Hilfe.\",\n magiclineSubmit: \"Absenden\",\n magiclineSubmitting: \"Wird gesendet…\",\n magiclineSubmitted: \"Anfrage gesendet\",\n magiclineSubmittedDetail: \"Wir haben Ihre Anfrage erhalten und melden uns in Kürze bei Ihnen.\",\n magiclineTrialSuccessTitle: \"Probetraining buchen\",\n magiclineTrialSuccessDetail: \"Geschafft! Dein Probetraining ist gebucht. Du bekommst gleich eine Bestätigung per E-Mail – schau bitte in dein Postfach.\",\n magiclineFailed: \"Senden fehlgeschlagen\",\n magiclineFailedDetail: \"Beim Senden Ihrer Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.\",\n magiclineConsent: \"Ich stimme der Verarbeitung meiner Daten gemäß der\",\n magiclinePrivacyLinkText: \"Datenschutzerklärung\",\n magiclineRequiredError: \"Bitte füllen Sie alle Pflichtfelder aus.\",\n magiclineEmailError: \"Bitte geben Sie eine gültige E-Mail-Adresse ein.\",\n magiclineConsentError: \"Bitte akzeptieren Sie die Datenschutzerklärung, um fortzufahren.\",\n // Dynamisches studiospezifisches Probetraining-Formular (v2)\n magiclineConfigLoading: \"Buchungsformular wird geladen…\",\n magiclineConfigUnsupported: \"Die Online-Buchung eines Probetrainings wird für dieses Studio nicht unterstützt. Bitte fragen Sie uns um Hilfe.\",\n magiclineConfigInconsistent: \"Das Buchungsformular ist vorübergehend falsch konfiguriert. Bitte fragen Sie uns um Hilfe.\",\n magiclineConfigUnavailable: \"Die Buchung eines Probetrainings ist derzeit nicht verfügbar. Bitte versuchen Sie es später erneut oder fragen Sie uns um Hilfe.\",\n magiclineGender: \"Geschlecht\",\n magiclineGenderPlaceholder: \"Geschlecht auswählen…\",\n magiclineGenderMale: \"Männlich\",\n magiclineGenderFemale: \"Weiblich\",\n magiclineGenderUnisex: \"Divers\",\n magiclineStreet: \"Straße\",\n magiclineHouseNumber: \"Hausnummer\",\n magiclineZip: \"Postleitzahl\",\n magiclineCity: \"Stadt\",\n magiclineCountry: \"Land\",\n magiclineCountryPlaceholder: \"Land auswählen…\",\n magiclineNote: \"Anmerkung (optional)\",\n magiclineOptionalSuffix: \" (optional)\",\n magiclineTrainerRequired: \"Ich wünsche einen Trainer vor Ort\",\n magiclineMinAgeError: \"Sie müssen mindestens {age} Jahre alt sein, um ein Probetraining zu buchen.\",\n magiclineSlotRequiredError: \"Bitte wählen Sie einen verfügbaren Termin aus.\",\n magiclineSlotUnavailableNotice: \"Dieser Termin ist nicht mehr verfügbar. Bitte wählen Sie unten einen anderen Termin aus.\",\n // Schritt-Assistent (v3)\n magiclineStepTrainer: \"Trainer\",\n magiclineStepSlot: \"Termin wählen\",\n magiclineStepPersonal: \"Ihre Daten\",\n magiclineStepAddress: \"Ihre Adresse\",\n magiclineStepConfirm: \"Bestätigen\",\n magiclineStepCounter: \"Schritt {n} von {total}\",\n magiclineWizardBack: \"Zurück\",\n magiclineWizardNext: \"Weiter\",\n magiclineTrainerWith: \"Probetraining mit Trainer\",\n magiclineTrainerWithout: \"Probetraining ohne Trainer\",\n magiclineSummaryTrainer: \"Trainer\",\n magiclineSummarySlot: \"Termin\",\n magiclineSummaryName: \"Name\",\n magiclineRetry: \"Erneut versuchen\",\n magiclineSlotsError: \"Die verfügbaren Termine konnten gerade nicht geladen werden. Bitte versuchen Sie es erneut.\",\n // Mitgliedschafts-Assistent (Vertragsabschluss)\n magiclineContractTitle: \"Mitglied werden\",\n magiclineStepOffer: \"Mitgliedschaft wählen\",\n magiclineStepUpgrades: \"Zusatzoptionen\",\n magiclineStepPayment: \"Zahlung\",\n magiclineStepReview: \"Überprüfen\",\n magiclineOffersLoading: \"Mitgliedschaften werden geladen…\",\n magiclineOffersError: \"Die Mitgliedschaften konnten gerade nicht geladen werden. Bitte versuchen Sie es erneut.\",\n magiclineNoOffers: \"Derzeit sind keine Mitgliedschaften für den Online-Abschluss verfügbar. Bitte fragen Sie uns um Hilfe.\",\n magiclineTermLength: \"{value} {unit}\",\n magiclineFreqPerDay: \"pro Tag\",\n magiclineFreqPerWeek: \"pro Woche\",\n magiclineFreqPerMonth: \"pro Monat\",\n magiclineFreqPerYear: \"pro Jahr\",\n magiclineFreqEveryDays: \"alle {n} Tage\",\n magiclineFreqEveryWeeks: \"alle {n} Wochen\",\n magiclineFreqEveryMonths: \"alle {n} Monate\",\n magiclineFreqEveryYears: \"alle {n} Jahre\",\n magiclineModulePerTerm: \"pro Laufzeit\",\n magiclineModuleOneTime: \"einmalig\",\n magiclineModuleIncluded: \"inklusive\",\n magiclineRenewalNone: \"Keine automatische Verlängerung\",\n magiclineRenewalTerm: \"Verlängerung: {n} {unit}\",\n magiclineCancellationPeriod: \"Kündigungsfrist\",\n magiclineStarterPackage: \"Startpaket\",\n magiclineFlatFee: \"Einmalige Gebühr\",\n magiclineIncludedModules: \"Inklusive\",\n magiclineDetails: \"Details\",\n magiclineRequired: \"Erforderlich\",\n magiclineUpgradesIntro: \"Fügen Sie Ihrer Mitgliedschaft optionale Zusatzoptionen hinzu.\",\n magiclineUpgradesNone: \"Für diese Mitgliedschaft sind keine optionalen Zusatzoptionen verfügbar.\",\n magiclineUpgradeAdd: \"Hinzufügen\",\n magiclineUpgradeAdded: \"Hinzugefügt\",\n magiclineUpgradeOneTime: \"einmalig\",\n magiclineUpgradeConsentError: \"Bitte akzeptieren Sie die Bedingungen für Ihre gewählte Zusatzoption, um sie beizubehalten.\",\n magiclineOfferRequiredError: \"Bitte wählen Sie eine Mitgliedschaft aus.\",\n magiclineCountryStatic: \"Deutschland\",\n magiclineAccountHolder: \"Kontoinhaber\",\n magiclineIban: \"IBAN\",\n magiclineIbanInvalidError: \"Bitte geben Sie eine gültige IBAN ein.\",\n magiclineSepaConsent: \"Ich ermächtige das Studio, Zahlungen von meinem Konto per SEPA-Lastschrift einzuziehen, und weise mein Kreditinstitut an, diese Lastschriften einzulösen.\",\n magiclineReviewLoading: \"Ihr Preis wird berechnet…\",\n magiclineReviewError: \"Ihr Preis konnte gerade nicht berechnet werden. Bitte versuchen Sie es erneut.\",\n magiclineReviewOffer: \"Mitgliedschaft\",\n magiclineReviewPriceSummary: \"Preisübersicht\",\n magiclineReviewBasePrice: \"Preis pro Monat\",\n magiclineReviewOneTimeFees: \"Einmalige Gebühren\",\n magiclineReviewPreUseCharge: \"Vorab-Nutzungsgebühr\",\n magiclineReviewSelectedUpgrades: \"Deine gewählten Zusatzoptionen\",\n magiclineReviewContractVolume: \"Gesamtes Vertragsvolumen\",\n magiclineReviewStartsOn: \"Beginnt am\",\n magiclineReviewPayment: \"Zahlung\",\n magiclineReviewTerms: \"Vertragsbedingungen\",\n magiclineConfirmPrompt: \"Bitte bestätigen Sie zum Fortfahren das Folgende:\",\n magiclineConfirmRequiredError: \"Bitte bestätigen Sie alle erforderlichen Bedingungen vor dem Absenden.\",\n magiclineSummaryAddress: \"Adresse\",\n magiclineContractSubmitted: \"Ihre Mitgliedschaft ist bestätigt. Das Studio meldet sich in Kürze bei Ihnen.\",\n magiclineContractSuccessTitle: \"Mitgliedschaft abschließen\",\n magiclineContractSuccessDetail: \"Willkommen an Bord! Deine Mitgliedschaft ist abgeschlossen. Die Bestätigung kommt gleich per E-Mail.\",\n magiclineCustomerNumber: \"Ihre Kundennummer: {number}\",\n magiclinePriceChangedNotice: \"Der Preis hat sich geändert. Bitte prüfen Sie den neuen Preis und bestätigen Sie erneut.\",\n magiclineOfferUnavailableNotice: \"Diese Mitgliedschaft ist nicht mehr verfügbar. Bitte wählen Sie eine andere aus.\",\n magiclineConfirmationRequiredNotice: \"Bitte bestätigen Sie alle erforderlichen Bedingungen vor dem Absenden.\",\n magiclineLiveSubmissionDisabled: \"Die Live-Übermittlung ist für dieses Projekt deaktiviert — bitte wenden Sie sich an das Studio.\",\n magiclineDuplicateNotice: \"Für dieses Angebot wurde kürzlich bereits eine Mitgliedschaft erstellt.\",\n magiclineUnknownOutcome: \"Wir konnten Ihre Anmeldung nicht bestätigen. Das Studio prüft sie und meldet sich bei Ihnen — bitte senden Sie das Formular nicht erneut ab.\",\n magiclineFeeStarterPackage: \"Startpaket\",\n magiclineFeeTrainerFee: \"Trainerpauschale\",\n // Gutscheincode (Vertragsabschluss-Schritt: Überprüfen)\n magiclineVoucherLabel: \"Gutscheincode\",\n magiclineVoucherPlaceholder: \"Gutscheincode eingeben…\",\n magiclineVoucherApply: \"Einlösen\",\n magiclineVoucherAppliedDiscount: \"Rabatt ({discount})\",\n magiclineVoucherCreditNotice: \"Guthaben wird angerechnet — nicht vom Vertragsvolumen abgezogen.\",\n magiclineVoucherRemarks: \"Hinweis zum Gutschein\",\n magiclineVoucherInvalid: 'Gutscheincode „{code}\" ist nicht gültig. Bitte überprüfen Sie den Code und versuchen Sie es erneut.',\n magiclineVoucherDisabled: \"Gutscheincodes sind für diese Mitgliedschaft nicht verfügbar.\",\n magiclineGesamtpreisBeforeDiscount: \"Gesamtes Vertragsvolumen (vor Gutscheinrabatt)\",\n newReplyTitle: \"Neue Antwort\",\n // Waiting-for-agent card\n waitingTitle: \"Du bist in der Warteschlange\",\n waitingSubtitle: \"Lass diesen Tab offen — wir benachrichtigen dich hier, sobald jemand antwortet.\",\n waitingLeaveEmail: \"Lieber per E-Mail? Hinterlasse deine Daten\"\n}, Xi = [\n { value: \"de\", label: \"Deutsch\" },\n { value: \"en\", label: \"English\" }\n], Mh = \"de\", Dl = \"jex-locale\", Qe = H(\"de\"), Ph = { en: jo, de: $l };\nfunction I() {\n return Ph[Qe.value] ?? jo;\n}\nfunction Nh(t) {\n Qe.value = t;\n try {\n localStorage.setItem(Dl, t);\n } catch {\n }\n}\nfunction Ir(t) {\n if (!t)\n return null;\n const e = (t.split(\"-\")[0] ?? \"\").toLowerCase();\n return Xi.some((r) => r.value === e) ? e : null;\n}\nfunction Lh(t, e) {\n if (e)\n try {\n const r = Ir(localStorage.getItem(Dl));\n if (r)\n return r;\n } catch {\n }\n const n = Ir(t);\n if (n)\n return n;\n if (typeof navigator < \"u\") {\n const r = Ir(navigator.language);\n if (r)\n return r;\n }\n return Mh;\n}\nfunction Oh(t) {\n P(() => {\n function e(n) {\n const r = t ?? window.location.origin;\n if (n.origin !== r || n.data?.type !== \"jexity:config\")\n return;\n const { locale: i } = n.data.payload, o = Ir(i);\n o && (Qe.value = o);\n }\n return window.addEventListener(\"message\", e), () => {\n window.removeEventListener(\"message\", e);\n };\n }, [t]);\n}\nconst ql = \"jex-session-history\", zl = ql, Fl = 1440 * 60 * 1e3, Me = H([]), We = H(null), Nt = H(void 0), Zi = H(!1), So = Qi(() => Me.value.length > 0), bn = H(null), $h = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\", Dh = 6;\nfunction qh() {\n let t = \"\";\n const e = new Uint8Array(1);\n for (; t.length < Dh; ) {\n crypto.getRandomValues(e);\n const n = e[0] ?? 0;\n n < 252 && (t += $h[n % 36]);\n }\n return \"JEX-\" + t;\n}\nfunction zh(t) {\n if (t === null)\n return null;\n if (typeof t == \"number\" && Number.isFinite(t) && t >= 0)\n return t;\n}\nfunction Ul(t, e, n) {\n if (n === null)\n return t;\n const r = typeof n == \"number\" ? n : Fl;\n return t.filter((i) => e - i.lastActivityAt <= r);\n}\nfunction Fh(t, e, n, r) {\n return n ? Ul(t, e, r) : t;\n}\nfunction Uh(t) {\n try {\n const e = sessionStorage.getItem(zl);\n if (!e)\n return Nt.value = void 0, [];\n const n = JSON.parse(e);\n if (n.v !== 1 || !Array.isArray(n.entries))\n return Nt.value = void 0, [];\n const r = Object.prototype.hasOwnProperty.call(n, \"timeoutMs\");\n return Nt.value = zh(n.timeoutMs), Fh(\n n.entries,\n t,\n r,\n Nt.value\n );\n } catch {\n return Nt.value = void 0, [];\n }\n}\nfunction dr(t) {\n try {\n const e = { v: 1, entries: t, timeoutMs: Nt.value };\n sessionStorage.setItem(zl, JSON.stringify(e));\n } catch {\n }\n}\nfunction Bh() {\n const t = Date.now(), e = Uh(t);\n Me.value = e, dr(e), We.value = e[e.length - 1]?.ref ?? null, Zi.value = !0;\n}\nfunction Vh(t) {\n Nt.value = t;\n const e = Date.now(), n = Ul(Me.value, e, t), r = We.value !== null && !n.some((i) => i.ref === We.value);\n return Me.value = n, r && (We.value = null), dr(n), { activeRefPruned: r };\n}\nfunction Fa() {\n const t = qh(), e = Date.now(), n = [...Me.value, { ref: t, startedAt: e, lastActivityAt: e }];\n return Me.value = n, We.value = t, dr(n), t;\n}\nfunction Ua() {\n We.value = null;\n}\nfunction Ba(t) {\n const e = Date.now(), n = Me.value.map(\n (r) => r.ref === t ? { ...r, lastActivityAt: e } : r\n );\n Me.value = n, We.value = t, dr(n);\n}\nfunction To(t) {\n if (!t)\n return;\n const e = Date.now(), n = Me.value.map(\n (r) => r.ref === t ? { ...r, lastActivityAt: e } : r\n );\n Me.value = n, dr(n);\n}\nconst qe = H(Bl());\nfunction Bl() {\n return So.value ? [{ id: \"home\" }] : [{ id: \"home\" }, { id: \"chat\" }];\n}\nfunction Hh() {\n qe.value = Bl();\n}\nconst Wh = H(\"screen\");\nfunction gt(t) {\n qe.value = [...qe.value, t];\n}\nfunction Co() {\n qe.value.length > 1 && (qe.value = qe.value.slice(0, -1));\n}\nfunction Ji(t) {\n qe.value = [...qe.value.slice(0, -1), t];\n}\nconst Qh = 6e4, tr = H(!1), eo = H(!1), to = /* @__PURE__ */ new Set();\nfunction Gh(t) {\n return to.add(t), () => {\n to.delete(t);\n };\n}\nfunction Kh() {\n const t = We.value;\n return t ? Me.value.find((n) => n.ref === t)?.lastActivityAt ?? null : null;\n}\nfunction Va(t) {\n const e = Kh();\n return e === null ? !1 : Date.now() - e > t;\n}\nfunction no() {\n if (!(tr.value && Me.value.length === 0)) {\n Me.value = [], We.value = null;\n try {\n sessionStorage.removeItem(ql);\n } catch (t) {\n ne.warn(\"[JexityChat] Idle-lock storage clear failed:\", t);\n }\n for (const t of to)\n try {\n t();\n } catch (e) {\n ne.warn(\"[JexityChat] Lock reset callback threw:\", e);\n }\n qe.value = [{ id: \"home\" }], tr.value = !0;\n }\n}\nfunction jr() {\n tr.value && (tr.value = !1);\n}\nfunction Yh(t = Fl) {\n let e = document.visibilityState === \"hidden\" ? Date.now() : null;\n const n = () => {\n if (document.visibilityState === \"hidden\") {\n e = Date.now();\n return;\n }\n (e !== null && Date.now() - e > t || Va(t)) && no(), e = null;\n };\n document.addEventListener(\"visibilitychange\", n);\n const r = setInterval(() => {\n eo.value || Va(t) && no();\n }, Qh);\n return () => {\n document.removeEventListener(\"visibilitychange\", n), clearInterval(r), e = null;\n };\n}\nfunction Xh(t) {\n const e = {}, { primaryColor: n, theme: r } = t;\n if (n && (e[\"--jex-primary\"] = n, e[\"--jex-bg-trigger\"] = n, e[\"--jex-bg-header\"] = n, e[\"--jex-bg-msg-user\"] = n, e[\"--jex-bg-send-btn\"] = n), t.accentColor && (e[\"--jex-accent\"] = t.accentColor), r?.bg) {\n const i = r.bg;\n i.trigger && (e[\"--jex-bg-trigger\"] = i.trigger), i.header && (e[\"--jex-bg-header\"] = i.header), i.msgUser && (e[\"--jex-bg-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-bg-msg-bot\"] = i.msgBot), i.window && (e[\"--jex-bg-window\"] = i.window), i.sendBtn && (e[\"--jex-bg-send-btn\"] = i.sendBtn);\n }\n if (r?.text) {\n const i = r.text;\n i.header && (e[\"--jex-text-header\"] = i.header), i.msgUser && (e[\"--jex-text-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-text-msg-bot\"] = i.msgBot), i.main && (e[\"--jex-text-main\"] = i.main), i.muted && (e[\"--jex-text-muted\"] = i.muted);\n }\n if (r?.border) {\n const i = r.border;\n i.window && (e[\"--jex-border-window\"] = i.window), i.input && (e[\"--jex-border-input\"] = i.input);\n }\n return t.fontFamily && (e[\"--jex-font-family\"] = t.fontFamily), t.fontSize && (e[\"--jex-font-size\"] = `${t.fontSize}px`), t.borderRadius && (e[\"--jex-radius\"] = t.borderRadius), t.windowWidth && (e[\"--jex-window-width\"] = `${t.windowWidth}px`), t.windowHeight && (e[\"--jex-window-height\"] = `${t.windowHeight}px`), typeof t.triggerOffsetX == \"number\" && (e[\"--jex-offset-x\"] = `${t.triggerOffsetX}px`), typeof t.triggerOffsetY == \"number\" && (e[\"--jex-offset-y\"] = `${t.triggerOffsetY}px`), Object.keys(e).length > 0 ? e : void 0;\n}\nfunction oi({ size: t = 24 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M12 8V4H8\" }),\n /* @__PURE__ */ s(\"rect\", { width: \"16\", height: \"12\", x: \"4\", y: \"8\", rx: \"2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M2 14h2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M20 14h2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M15 13v2\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M9 13v2\" })\n ] });\n}\nfunction Zh() {\n const t = I();\n return qe.value.length > 1 ? /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-back\",\n onClick: Co,\n \"aria-label\": t.back || \"Go back\",\n children: /* @__PURE__ */ s(\"svg\", { width: 20, height: 20, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"m15 18-6-6 6-6\" }) })\n }\n ) : /* @__PURE__ */ s(oi, { size: 24 });\n}\nfunction Jh({ title: t }) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-header-info\", children: /* @__PURE__ */ s(\"h3\", { children: t }) });\n}\nfunction Vl({ size: t = 28 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M18 6 6 18\" }),\n /* @__PURE__ */ s(\"path\", { d: \"m6 6 12 12\" })\n ] });\n}\nfunction ef() {\n const t = I();\n return /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-close\",\n type: \"button\",\n onClick: () => {\n ce.value = !1;\n },\n \"aria-label\": t.closeChatAriaLabel,\n title: t.closeChatAriaLabel,\n children: /* @__PURE__ */ s(Vl, { size: 18 })\n }\n );\n}\nfunction Ha({ code: t }) {\n return /* @__PURE__ */ s(\"span\", { class: \"jex-flag\", \"aria-hidden\": \"true\", children: t === \"de\" ? /* @__PURE__ */ s(\"svg\", { viewBox: \"0 0 5 3\", preserveAspectRatio: \"none\", children: [\n /* @__PURE__ */ s(\"rect\", { width: \"5\", height: \"1\", fill: \"#000\" }),\n /* @__PURE__ */ s(\"rect\", { width: \"5\", height: \"1\", y: \"1\", fill: \"#DD0000\" }),\n /* @__PURE__ */ s(\"rect\", { width: \"5\", height: \"1\", y: \"2\", fill: \"#FFCE00\" })\n ] }) : /* @__PURE__ */ s(\"svg\", { viewBox: \"0 0 60 30\", preserveAspectRatio: \"xMidYMid slice\", children: [\n /* @__PURE__ */ s(\"clipPath\", { id: \"jex-flag-gb-diag\", children: /* @__PURE__ */ s(\"path\", { d: \"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\" }) }),\n /* @__PURE__ */ s(\"rect\", { width: \"60\", height: \"30\", fill: \"#012169\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M0,0 L60,30 M60,0 L0,30\", stroke: \"#fff\", \"stroke-width\": \"6\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M0,0 L60,30 M60,0 L0,30\", \"clip-path\": \"url(#jex-flag-gb-diag)\", stroke: \"#C8102E\", \"stroke-width\": \"4\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M30,0 v30 M0,15 h60\", stroke: \"#fff\", \"stroke-width\": \"10\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M30,0 v30 M0,15 h60\", stroke: \"#C8102E\", \"stroke-width\": \"6\" })\n ] }) });\n}\nfunction tf() {\n const t = I(), [e, n] = D(!1), r = ie(null), i = Qe.value, o = Xi.find((a) => a.value === i)?.label ?? i;\n return P(() => {\n if (!e)\n return;\n const a = (c) => {\n r.current && !c.composedPath().includes(r.current) && n(!1);\n }, l = (c) => {\n c.key === \"Escape\" && n(!1);\n };\n return document.addEventListener(\"pointerdown\", a), document.addEventListener(\"keydown\", l), () => {\n document.removeEventListener(\"pointerdown\", a), document.removeEventListener(\"keydown\", l);\n };\n }, [e]), /* @__PURE__ */ s(\"div\", { class: \"jex-locale-picker\", ref: r, children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-header-locale\",\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": e,\n \"aria-label\": `${t.localePickerLabel}: ${o}`,\n title: o,\n onClick: () => n((a) => !a),\n children: /* @__PURE__ */ s(Ha, { code: i })\n }\n ),\n e && /* @__PURE__ */ s(\"div\", { class: \"jex-locale-menu\", role: \"menu\", \"aria-label\": t.localePickerLabel, children: Xi.map((a) => /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n role: \"menuitemradio\",\n \"aria-checked\": a.value === i,\n lang: a.value,\n class: `jex-locale-option${a.value === i ? \" jex-locale-active\" : \"\"}`,\n onClick: () => {\n Nh(a.value), n(!1);\n },\n children: [\n /* @__PURE__ */ s(Ha, { code: a.value }),\n /* @__PURE__ */ s(\"span\", { children: a.label })\n ]\n },\n a.value\n )) })\n ] });\n}\nfunction nf({ action: t, showClose: e = !0, showLocalePicker: n }) {\n return !t && !e && !n ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-header-right\", children: [\n n && /* @__PURE__ */ s(tf, {}),\n t,\n e && /* @__PURE__ */ s(ef, {})\n ] });\n}\nfunction Wa({ title: t, rightAction: e, showClose: n = !0, showLocalePicker: r }) {\n return /* @__PURE__ */ s(\"header\", { class: \"jex-chat-header\", children: [\n /* @__PURE__ */ s(Zh, {}),\n /* @__PURE__ */ s(Jh, { title: t }),\n /* @__PURE__ */ s(nf, { action: e, showClose: n, showLocalePicker: r })\n ] });\n}\nfunction rf({ size: t = 14 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\" }) });\n}\nfunction Qa() {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-widget-footer\", children: /* @__PURE__ */ s(\n \"a\",\n {\n href: \"https://jexitychat.de\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-branding\",\n children: [\n /* @__PURE__ */ s(rf, { size: 14 }),\n /* @__PURE__ */ s(\"span\", { children: [\n \"Powered by \",\n /* @__PURE__ */ s(\"strong\", { children: \"Jexity\" })\n ] })\n ]\n }\n ) });\n}\nfunction Hl({ size: t = 28 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" }) });\n}\nfunction of({ size: t = 24, ...e }) {\n return /* @__PURE__ */ s(\n \"svg\",\n {\n width: t,\n height: t,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n ...e,\n children: /* @__PURE__ */ s(\"path\", { d: \"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\" })\n }\n );\n}\nconst af = {\n chat: /* @__PURE__ */ s(Hl, { size: 28 }),\n bot: /* @__PURE__ */ s(oi, { size: 28 }),\n sparkles: /* @__PURE__ */ s(of, { size: 28 })\n}, sf = {\n none: \"0px\",\n sm: \"0.5rem\",\n md: \"0.75rem\",\n lg: \"1.25rem\",\n full: \"9999px\"\n};\nfunction lf({ radius: t = \"full\", iconOption: e = \"chat\", label: n }) {\n const r = I(), i = n ?? r.fabLabel, o = i !== \"\";\n return /* @__PURE__ */ s(\n \"button\",\n {\n class: `jex-floating-button${ce.value ? \"\" : \" jex-fab-pulse\"}${!ce.value && o ? \" jex-has-label\" : \"\"}`,\n style: { borderRadius: sf[t] ?? \"9999px\" },\n onClick: () => {\n ce.value = !ce.value;\n },\n \"aria-label\": ce.value ? r.closeChatAriaLabel : r.openChatAriaLabel,\n children: ce.value ? /* @__PURE__ */ s(Vl, { size: 28 }) : /* @__PURE__ */ s(\"div\", { class: \"jex-fab-inner\", children: [\n af[e],\n o && /* @__PURE__ */ s(\"span\", { class: \"jex-fab-label\", children: i })\n ] })\n }\n );\n}\nconst Qr = H(!1);\nfunction cf(t, e) {\n return e ? `jex-proactive-dismissed:${t}:${e}` : `jex-proactive-dismissed:${t}`;\n}\nfunction Ga(t) {\n try {\n return sessionStorage.getItem(t) !== null;\n } catch {\n return !1;\n }\n}\nfunction uf(t) {\n try {\n sessionStorage.setItem(t, \"1\");\n } catch {\n }\n}\nfunction df(t) {\n return t.isOpen || t.mode === \"off\" || t.hasHistory || t.dismissed ? \"skip\" : t.mode === \"teaser\" ? \"teaser\" : \"open\";\n}\nfunction hf({ title: t, message: e, guardKey: n }) {\n const r = I();\n function i() {\n Qr.value = !1, ce.value = !0;\n }\n function o(a) {\n a.stopPropagation(), uf(n), Qr.value = !1;\n }\n return /* @__PURE__ */ s(\n \"div\",\n {\n class: \"jex-proactive-teaser\",\n role: \"button\",\n tabIndex: 0,\n \"aria-label\": r.proactiveOpenAria,\n onClick: i,\n onKeyDown: (a) => {\n (a.key === \"Enter\" || a.key === \" \") && i();\n },\n children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-proactive-avatar\", children: /* @__PURE__ */ s(oi, { size: 20 }) }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-proactive-body\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-proactive-title\", children: t }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-proactive-message\", children: e })\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-proactive-dismiss\",\n \"aria-label\": r.proactiveDismiss,\n onClick: o,\n children: /* @__PURE__ */ s(\"svg\", { width: 14, height: 14, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M18 6 6 18\" }),\n /* @__PURE__ */ s(\"path\", { d: \"m6 6 12 12\" })\n ] })\n }\n )\n ]\n }\n );\n}\nconst qt = H(\"\"), Un = H(0), _n = H(null);\nfunction ro(t) {\n _n.value = t, t && (Un.value += 1);\n}\nconst Ka = 100;\nfunction Wl(t) {\n const e = t.replace(/\\s+/g, \" \").trim();\n return e.length > Ka ? `${e.slice(0, Ka)}…` : e;\n}\nconst nr = H(null), io = H(Date.now()), Mr = H(!1), Ao = H(!1), rr = H(!1), Gr = H(null);\nfunction Kr() {\n return _o.value === \"explicit\" && !Ao.value;\n}\nfunction Yr() {\n Kr() && (rr.value = !0);\n}\nfunction ff() {\n Ao.value = !0, rr.value = !1;\n}\nfunction Ya() {\n Ao.value = !1, rr.value = !1, Gr.value = null;\n}\nconst pf = 10 * 1024 * 1024, Ql = [\n \"pdf\",\n \"docx\",\n \"txt\",\n \"md\",\n \"csv\",\n \"png\",\n \"jpg\",\n \"jpeg\",\n \"webp\",\n \"gif\"\n], Gl = {\n pdf: { kind: \"document\", mimeType: \"application/pdf\" },\n docx: {\n kind: \"document\",\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\n },\n txt: { kind: \"document\", mimeType: \"text/plain\" },\n md: { kind: \"document\", mimeType: \"text/markdown\" },\n csv: { kind: \"document\", mimeType: \"text/csv\" },\n png: { kind: \"image\", mimeType: \"image/png\" },\n jpg: { kind: \"image\", mimeType: \"image/jpeg\" },\n jpeg: { kind: \"image\", mimeType: \"image/jpeg\" },\n webp: { kind: \"image\", mimeType: \"image/webp\" },\n gif: { kind: \"image\", mimeType: \"image/gif\" }\n};\nfunction Kl(t) {\n return [\n ...t.map((e) => `.${e}`),\n ...new Set(t.map((e) => Gl[e].mimeType))\n ].join(\",\");\n}\nKl(Ql);\nKl(\n Ql.filter((t) => Gl[t].kind === \"document\")\n);\nconst mf = 4, gf = [\"png\", \"jpg\", \"jpeg\", \"webp\", \"pdf\"], xf = \".png,.jpg,.jpeg,.webp,.pdf,image/png,image/jpeg,image/webp,application/pdf\";\nfunction bf() {\n return typeof crypto < \"u\" && typeof crypto.randomUUID == \"function\" ? crypto.randomUUID() : `att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 11)}`;\n}\nconst Pe = H([]);\nfunction vf(t) {\n const e = t.lastIndexOf(\".\");\n return e < 0 ? \"\" : t.slice(e + 1).toLowerCase();\n}\nfunction yf(t, e) {\n const n = t.filter(\n (o) => gf.includes(vf(o.name)) && o.size > 0 && o.size <= pf\n ), r = Math.max(0, mf - e), i = n.slice(0, r);\n return { accepted: i, rejected: t.length - i.length };\n}\nfunction wf(t) {\n const e = {\n id: bf(),\n file: t,\n previewUrl: t.type.startsWith(\"image/\") ? URL.createObjectURL(t) : null,\n status: \"uploading\",\n attachmentId: null,\n errorCode: null\n };\n return Pe.value = [...Pe.value, e], e;\n}\nfunction pn(t, e) {\n Pe.value = Pe.value.map((n) => n.id === t ? { ...n, ...e } : n);\n}\nfunction Yl(t) {\n const e = Pe.value.find((n) => n.id === t);\n e?.previewUrl && URL.revokeObjectURL(e.previewUrl), Pe.value = Pe.value.filter((n) => n.id !== t);\n}\nfunction kf() {\n for (const t of Pe.value)\n t.previewUrl && URL.revokeObjectURL(t.previewUrl);\n Pe.value = [];\n}\nfunction Ro() {\n return Pe.value.flatMap((t) => t.status === \"ready\" && t.attachmentId ? [t.attachmentId] : []);\n}\nfunction Xl() {\n return Pe.value.some((t) => t.status === \"uploading\");\n}\nfunction Zl(t) {\n const e = t?.data;\n return typeof e?.code == \"string\" ? e.code : null;\n}\nfunction _f(t, e) {\n const n = Zl(t);\n if (n === null || !n.startsWith(\"ATTACHMENT\"))\n return;\n const r = t.data?.attachmentId, i = n === \"ATTACHMENT_NOT_FOUND\" && typeof r == \"string\" ? [r] : e;\n for (const o of Pe.value)\n o.attachmentId !== null && i.includes(o.attachmentId) && pn(o.id, { status: \"failed\", errorCode: n });\n}\nfunction Jl(t) {\n if (typeof t != \"object\" || t === null)\n return !1;\n const e = t.data;\n return typeof e != \"object\" || e === null ? !1 : e.kind === \"maintenance\";\n}\nconst Lt = H(null), ir = H(null);\nfunction ec() {\n ir.value = null;\n}\nfunction tc({ sessionId: t, visitorId: e, ensureSession: n }) {\n const r = Ct(ae.functions.chat.public.conversations.send);\n return async function(o) {\n if (Kr()) {\n Gr.value = o, Yr();\n return;\n }\n if (!Mr.value) {\n Mr.value = !0;\n try {\n const a = t && e ? { sessionId: t, visitorId: e } : await n();\n if (!a)\n return;\n const l = _n.value?.id;\n qt.value = \"\", _n.value = null;\n const c = Ro();\n try {\n const u = await r({\n sessionId: a.sessionId,\n visitorId: a.visitorId,\n content: o,\n ...l !== void 0 ? { replyToId: l } : {},\n ...c.length > 0 ? { attachmentIds: c } : {},\n ...typeof window < \"u\" ? { pagePath: window.location.pathname } : {}\n });\n if (u.ok) {\n To(a.visitorId);\n for (const d of Pe.value)\n d.attachmentId !== null && c.includes(d.attachmentId) && Yl(d.id);\n } else u.reason === \"rate_limited\" && (nr.value = Date.now() + u.retryAfterMs);\n } catch (u) {\n ne.error(\"[jexity] Failed to send message:\", u), Jl(u) && (Lt.value = \"maintenance\"), _f(u, c), qt.value.trim() || (qt.value = o);\n }\n } finally {\n Mr.value = !1;\n }\n }\n };\n}\nfunction jf({ sessionId: t, visitorId: e }) {\n const n = Ct(ae.conversationAttachments.visitor.reserveUpload), r = Jt(ae.conversationAttachments.visitor.finalizeUpload);\n async function i(a, l, c, u) {\n try {\n const d = await n({ sessionId: c, visitorId: u, name: l.name, sizeBytes: l.size });\n if (d.kind === \"rejected\") {\n pn(a, { status: \"failed\", errorCode: d.code });\n return;\n }\n const m = await fetch(d.uploadUrl, {\n method: \"PUT\",\n headers: { \"Content-Type\": d.contentType },\n body: l\n });\n if (!m.ok) {\n ne.error(\"[jexity] File upload failed\", { status: m.status }), pn(a, { status: \"failed\", errorCode: \"ATTACHMENT_UPLOAD_INCOMPLETE\" });\n return;\n }\n const h = await r({ sessionId: c, visitorId: u, attachmentId: d.attachmentId });\n h.kind === \"ready\" ? pn(a, { status: \"ready\", attachmentId: d.attachmentId }) : pn(a, { status: \"failed\", errorCode: h.code });\n } catch (d) {\n ne.error(\"[jexity] File upload failed\", d), pn(a, { status: \"failed\", errorCode: Zl(d) ?? \"ATTACHMENT_UPLOAD_INCOMPLETE\" });\n }\n }\n function o(a) {\n if (!t || !e)\n return a.length;\n const { accepted: l, rejected: c } = yf(\n a,\n Pe.value.filter((u) => u.status !== \"failed\").length\n );\n for (const u of l) {\n const d = wf(u);\n i(d.id, u, t, e);\n }\n return c;\n }\n return { addFiles: o };\n}\nfunction Xa(t, e) {\n switch (t) {\n case \"ATTACHMENT_TYPE_UNSUPPORTED\":\n case \"ATTACHMENT_TOO_LARGE\":\n case \"ATTACHMENT_FILE_EMPTY\":\n case \"ATTACHMENT_NAME_INVALID\":\n case \"ATTACHMENTS_TOO_MANY\":\n return e.attachmentRejected;\n case \"RATE_LIMITED\":\n return e.attachmentRateLimited;\n case \"ATTACHMENTS_DISABLED\":\n case \"ATTACHMENTS_ESCALATION_REQUIRED\":\n return e.attachmentNotAllowed;\n case \"ATTACHMENT_NOT_FOUND\":\n case \"ATTACHMENT_UPLOAD_EXPIRED\":\n return e.attachmentGone;\n default:\n return e.attachmentFailed;\n }\n}\nfunction Sf() {\n const t = nr.value, e = io.value;\n P(() => {\n if (t === null)\n return;\n const i = setInterval(() => {\n io.value = Date.now();\n }, 1e3), o = setTimeout(() => {\n nr.value = null;\n }, Math.max(0, t - Date.now()));\n return () => {\n clearInterval(i), clearTimeout(o);\n };\n }, [t]);\n const n = t !== null, r = n ? Math.max(0, Math.ceil((t - e) / 1e3)) : 0;\n return { isActive: n, remainingSeconds: r };\n}\nfunction Tf() {\n const t = I(), { isActive: e, remainingSeconds: n } = Sf();\n return e ? /* @__PURE__ */ s(\"div\", { class: \"jex-rate-limit-notice\", role: \"status\", \"aria-live\": \"polite\", children: t.errorRateLimited.replace(\"{seconds}\", String(n)) }) : null;\n}\nfunction Cf(t, e) {\n return t ?? (e ? \"maintenance\" : null);\n}\nfunction Af({ maintenance: t = !1 } = {}) {\n const e = I(), n = Cf(Lt.value, t);\n if (n === null)\n return null;\n const r = n === \"no-token\" ? e.errorSessionNoToken : n === \"unauthorized\" ? e.errorSessionUnauthorized : n === \"network\" ? e.errorNetwork : n === \"maintenance\" ? e.errorMaintenance : e.somethingWentWrong;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-session-error-notice\", role: \"alert\", \"aria-live\": \"assertive\", children: r });\n}\nfunction Rf({ size: t = 18 }) {\n return /* @__PURE__ */ s(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M22 2 11 13\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M22 2 15 22 11 13 2 9l20-7z\" })\n ] });\n}\nconst Za = 132;\nfunction Ef({ onSend: t, onFiles: e }) {\n const n = ie(null), r = ie(null);\n P(() => {\n const u = n.current;\n if (!u)\n return;\n u.style.height = \"0\";\n const d = Math.min(u.scrollHeight, Za);\n u.style.height = `${d}px`, u.style.overflowY = u.scrollHeight > Za ? \"auto\" : \"hidden\";\n }, [qt.value]);\n const i = ie(Un.value);\n P(() => {\n if (Un.value === i.current)\n return;\n i.current = Un.value;\n const u = n.current;\n u && (u.focus(), u.setSelectionRange(u.value.length, u.value.length));\n }, [Un.value]);\n function o(u) {\n u.key === \"Enter\" && !u.shiftKey && (u.preventDefault(), t());\n }\n function a() {\n r.current?.click();\n }\n function l(u) {\n const d = u.currentTarget;\n d.files && d.files.length > 0 && e(Array.from(d.files)), d.value = \"\";\n }\n function c(u) {\n const d = u.target;\n (d === u.currentTarget || !d.closest(\"button, textarea, img\")) && n.current?.focus();\n }\n return { textareaRef: n, fileInputRef: r, onKeyDown: o, onAttachClick: a, onFilesPicked: l, onCardClick: c };\n}\nfunction If(t) {\n return !t || t.isSecureContext !== !0 ? null : t.SpeechRecognition ?? t.webkitSpeechRecognition ?? null;\n}\nfunction Mf(t) {\n return t === \"en\" ? \"en-US\" : \"de-DE\";\n}\nfunction Pf(t) {\n switch (t) {\n case \"not-allowed\":\n case \"service-not-allowed\":\n return \"permission\";\n case \"audio-capture\":\n return \"no-mic\";\n case \"no-speech\":\n return \"no-speech\";\n case \"language-not-supported\":\n return \"lang\";\n case \"aborted\":\n return null;\n default:\n return \"network\";\n }\n}\nfunction Nf(t, e) {\n const n = `voice error ${e} (raw: ${t})`;\n return e !== \"network\" ? n : `${n} — the browser's speech service is unreachable. Brave and some Chromium forks ship without one; Firefox has none. Not an app bug. Works in Chrome/Edge/Safari.`;\n}\nfunction Lf(t) {\n let e = \"\";\n for (let n = 0; n < t.results.length; n++)\n e += t.results[n]?.[0]?.transcript ?? \"\";\n return e;\n}\nfunction Of(t, e) {\n const n = e.trim();\n return n ? t === \"\" || /\\s$/.test(t) ? t + n : `${t} ${n}` : t;\n}\nconst $f = 0.01, Df = 4;\nfunction qf(t) {\n if (t.length === 0)\n return 0;\n let e = 0;\n for (let r = 0; r < t.length; r++) {\n const i = t[r] ?? 0;\n e += i * i;\n }\n const n = Math.sqrt(e / t.length);\n return n < $f ? 0 : Math.round(Math.min(1, n * Df) * 20) / 20;\n}\nconst zf = 6e4, Ff = 300;\nfunction Uf() {\n return window.matchMedia?.(\"(pointer: coarse)\").matches === !0;\n}\nfunction Bf({ locale: t, getDraft: e, setDraft: n }) {\n const [r] = D(\n () => If(typeof window > \"u\" ? void 0 : window)\n ), [i, o] = D(!1), [a, l] = D(null), c = ie(null), u = ie(\"\"), d = ie(\"\"), m = ie(null), h = ie(0), p = ie(!1), x = ie(!1), w = ie(0), b = ie(!1), v = ie(!1);\n function k() {\n m.current && (clearTimeout(m.current), m.current = null);\n const T = c.current;\n T && (T.onresult = null, T.onerror = null, T.onend = null, ne.debug(\"[jexity] voice stop\", { ms: Date.now() - w.current })), c.current = null, x.current = !1, o(!1);\n }\n function A() {\n l(null);\n const T = c.current;\n if (T) {\n try {\n T.abort();\n } catch {\n }\n k();\n }\n }\n function N() {\n if (!r || c.current)\n return;\n if (b.current) {\n l(\"permission\");\n return;\n }\n if (v.current) {\n l(\"network\");\n return;\n }\n l(null);\n const T = new r();\n T.lang = Mf(t), T.continuous = !Uf(), T.interimResults = !0, u.current = e(), d.current = u.current, p.current = !1, T.onresult = (L) => {\n if (e() !== d.current) {\n A();\n return;\n }\n const E = Of(u.current, Lf(L));\n d.current = E, n(E);\n }, T.onerror = (L) => {\n const E = Pf(L.error);\n if (E !== null) {\n if (E === \"no-speech\") {\n p.current || (p.current = !0, x.current = !0);\n return;\n }\n E === \"permission\" && (b.current = !0), E === \"network\" && (v.current = !0), l(E), ne.warn(`[jexity] ${Nf(L.error, E)}`);\n }\n }, T.onend = () => {\n if (x.current && c.current === T) {\n x.current = !1, u.current = d.current;\n try {\n T.start();\n return;\n } catch {\n }\n }\n k();\n };\n try {\n T.start();\n } catch {\n l(\"network\");\n return;\n }\n c.current = T, w.current = Date.now(), o(!0), m.current = setTimeout(() => {\n c.current?.stop();\n }, zf), ne.debug(\"[jexity] voice start\", { lang: T.lang });\n }\n function M() {\n const T = Date.now();\n if (T - h.current < Ff)\n return;\n h.current = T;\n const L = c.current;\n if (L) {\n x.current = !1, L.stop();\n return;\n }\n N();\n }\n return P(() => {\n if (!r)\n return;\n navigator.permissions?.query({ name: \"microphone\" }).then((L) => {\n b.current = L.state === \"denied\", L.onchange = () => {\n b.current = L.state === \"denied\";\n };\n }).catch(() => {\n });\n const T = () => {\n document.visibilityState === \"hidden\" && A();\n };\n return document.addEventListener(\"visibilitychange\", T), () => {\n document.removeEventListener(\"visibilitychange\", T), A();\n };\n }, []), { supported: r !== null, listening: i, error: a, toggle: M, cancel: A };\n}\nfunction Vf(t) {\n const [e, n] = D(0);\n return P(() => {\n if (!t || typeof window > \"u\" || window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches || window.matchMedia?.(\"(pointer: coarse)\").matches || !navigator.mediaDevices?.getUserMedia)\n return;\n let r = !1, i = null, o = null, a = 0;\n return navigator.mediaDevices.getUserMedia({ audio: !0 }).then((l) => {\n if (r) {\n l.getTracks().forEach((m) => {\n m.stop();\n });\n return;\n }\n i = l, o = new AudioContext();\n const c = o.createAnalyser();\n c.fftSize = 512, o.createMediaStreamSource(l).connect(c);\n const u = new Float32Array(c.fftSize), d = () => {\n c.getFloatTimeDomainData(u);\n const m = qf(u);\n n((h) => h === m ? h : m), a = requestAnimationFrame(d);\n };\n a = requestAnimationFrame(d);\n }).catch(() => {\n }), () => {\n r = !0, cancelAnimationFrame(a), i?.getTracks().forEach((l) => {\n l.stop();\n }), o?.close();\n };\n }, [t]), t ? e : 0;\n}\nfunction Hf({ listening: t, disabled: e, onClick: n }) {\n const r = I(), i = Vf(t);\n return /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: `jex-attach-btn jex-mic-btn${t ? \" jex-mic-btn-listening\" : \"\"}`,\n \"aria-pressed\": t,\n \"aria-label\": t ? r.voiceStop : r.voiceStart,\n title: r.voiceProviderNote,\n disabled: e,\n onClick: n,\n children: [\n /* @__PURE__ */ s(\n \"span\",\n {\n class: \"jex-mic-ring\",\n \"aria-hidden\": \"true\",\n style: { transform: `scale(${1 + i * 0.6})`, opacity: t ? 0.25 + i * 0.5 : 0 }\n }\n ),\n /* @__PURE__ */ s(\"svg\", { width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M19 10v2a7 7 0 0 1-14 0v-2\" }),\n /* @__PURE__ */ s(\"line\", { x1: \"12\", y1: \"19\", x2: \"12\", y2: \"22\" })\n ] })\n ]\n }\n );\n}\nfunction Wf({ isStreaming: t, disabled: e, inputDisabled: n, onSend: r, onFocus: i, canAttach: o, onFiles: a }) {\n const l = I(), c = qt, u = Pe, m = St(ae.functions.flags.getAll, {})?.voiceDictationEnabled === !0, h = Bf({\n locale: Qe.value,\n getDraft: () => qt.value,\n setDraft: (z) => {\n qt.value = z;\n }\n });\n function p() {\n h.cancel(), r();\n }\n P(() => {\n n && h.cancel();\n }, [n]), P(() => {\n m || h.cancel();\n }, [m]);\n function x() {\n if (!h.listening && Kr()) {\n Yr();\n return;\n }\n h.toggle();\n }\n const w = h.error === null || h.error === \"no-speech\" ? null : h.error, b = {\n permission: l.voiceErrorPermission,\n \"no-mic\": l.voiceErrorNoMic,\n network: l.voiceErrorNetwork,\n lang: l.voiceErrorLang\n };\n let v = \"\";\n w ? v = b[w] : h.listening && (v = `${l.voiceListening} ${l.voiceProviderNote}`);\n const { textareaRef: k, fileInputRef: A, onKeyDown: N, onAttachClick: M, onFilesPicked: T, onCardClick: L } = Ef({ onSend: p, onFiles: a });\n function E() {\n if (Kr()) {\n Yr();\n return;\n }\n M();\n }\n const se = c.value.trim().length > 0, $ = u.value.length > 0, y = Xl(), re = Ro().length > 0, C = (se || re) && !e && !y, q = u.value.find((z) => z.status === \"failed\");\n let me = \"\";\n return y ? me = l.attachmentUploading : q && (me = Xa(q.errorCode, l)), /* @__PURE__ */ s(\"div\", { class: \"jex-composer-card\", onClick: L, children: [\n /* @__PURE__ */ s(\"p\", { class: `jex-voice-status${w ? \" jex-voice-status-error\" : \"\"}`, role: \"status\", \"aria-live\": \"polite\", children: v || null }),\n /* @__PURE__ */ s(\n \"p\",\n {\n class: `jex-attachment-status${q && !y ? \" jex-attachment-status-error\" : \"\"}`,\n role: \"status\",\n \"aria-live\": \"polite\",\n children: me || null\n }\n ),\n $ && /* @__PURE__ */ s(\"div\", { class: \"jex-composer-attachments\", role: \"list\", children: u.value.map((z) => /* @__PURE__ */ s(\n \"div\",\n {\n class: \"jex-attachment-chip\",\n role: \"listitem\",\n \"data-status\": z.status,\n title: z.status === \"failed\" ? Xa(z.errorCode, l) : z.file.name,\n children: [\n z.previewUrl ? /* @__PURE__ */ s(\"img\", { src: z.previewUrl, alt: z.file.name, class: \"jex-attachment-thumb\" }) : /* @__PURE__ */ s(\"span\", { class: \"jex-attachment-file\", children: [\n /* @__PURE__ */ s(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" }),\n /* @__PURE__ */ s(\"polyline\", { points: \"14 2 14 8 20 8\" })\n ] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-attachment-file-name\", children: z.file.name })\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-attachment-remove\",\n \"aria-label\": l.removeAttachmentAriaLabel.replace(\"{name}\", z.file.name),\n onClick: () => {\n Yl(z.id);\n },\n children: /* @__PURE__ */ s(\"svg\", { width: \"10\", height: \"10\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2.5\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"line\", { x1: \"18\", y1: \"6\", x2: \"6\", y2: \"18\" }),\n /* @__PURE__ */ s(\"line\", { x1: \"6\", y1: \"6\", x2: \"18\", y2: \"18\" })\n ] })\n }\n )\n ]\n },\n z.id\n )) }),\n $ && /* @__PURE__ */ s(\"p\", { class: \"jex-attachment-note\", children: l.attachmentPrivacy }),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n ref: k,\n class: \"jex-composer-textarea\",\n \"aria-label\": l.inputPlaceholder,\n placeholder: t ? l.aiThinking : l.inputPlaceholder,\n value: c.value,\n rows: 1,\n onInput: (z) => {\n c.value = z.currentTarget.value;\n },\n onKeyDown: N,\n onFocus: i,\n disabled: n\n }\n ),\n /* @__PURE__ */ s(\"div\", { class: \"jex-composer-actions\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-composer-actions-left\", children: [\n o && /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n ref: A,\n class: \"jex-visually-hidden\",\n type: \"file\",\n accept: xf,\n multiple: !0,\n onChange: T,\n tabIndex: -1,\n \"aria-hidden\": \"true\"\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-attach-btn\",\n \"aria-label\": l.attachFiles,\n title: l.attachFiles,\n disabled: n,\n onClick: E,\n children: /* @__PURE__ */ s(\"svg\", { width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"path\", { d: \"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\" }) })\n }\n )\n ] }),\n m && h.supported && /* @__PURE__ */ s(Hf, { listening: h.listening, disabled: n, onClick: x })\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: `jex-send-btn${C ? \" jex-send-btn-active\" : \"\"}`,\n type: \"button\",\n onClick: p,\n \"aria-label\": l.sendAriaLabel,\n disabled: e || y || !se && !re,\n children: /* @__PURE__ */ s(Rf, { size: 16 })\n }\n )\n ] })\n ] });\n}\nconst Qf = (...t) => t.filter((e, n, r) => !!e && e.trim() !== \"\" && r.indexOf(e) === n).join(\" \").trim();\nconst Ja = (t) => t.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst Gf = (t) => t.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (e, n, r) => r ? r.toUpperCase() : n.toLowerCase()\n);\nconst es = (t) => {\n const e = Gf(t);\n return e.charAt(0).toUpperCase() + e.slice(1);\n};\nvar Kf = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n};\nconst Yf = (t) => {\n for (const e in t)\n if (e.startsWith(\"aria-\") || e === \"role\" || e === \"title\")\n return !0;\n return !1;\n};\nconst Xf = ({\n color: t = \"currentColor\",\n size: e = 24,\n strokeWidth: n = 2,\n absoluteStrokeWidth: r,\n children: i,\n iconNode: o,\n class: a = \"\",\n ...l\n}) => Je(\n \"svg\",\n {\n ...Kf,\n width: String(e),\n height: e,\n stroke: t,\n \"stroke-width\": r ? Number(n) * 24 / Number(e) : n,\n class: [\"lucide\", a].join(\" \"),\n ...!i && !Yf(l) && { \"aria-hidden\": \"true\" },\n ...l\n },\n [...o.map(([c, u]) => Je(c, u)), ...bt(i)]\n);\nconst ai = (t, e) => {\n const n = ({ class: r = \"\", className: i = \"\", children: o, ...a }) => Je(\n Xf,\n {\n ...a,\n iconNode: e,\n class: Qf(\n `lucide-${Ja(es(t))}`,\n `lucide-${Ja(t)}`,\n r,\n i\n )\n },\n o\n );\n return n.displayName = es(t), n;\n};\nconst Eo = ai(\"corner-up-left\", [\n [\"path\", { d: \"M20 20v-7a4 4 0 0 0-4-4H4\", key: \"1nkjon\" }],\n [\"path\", { d: \"M9 14 4 9l5-5\", key: \"102s5s\" }]\n]);\nconst Zf = ai(\"file-text\", [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n]);\nconst Jf = ai(\"file-x\", [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"m14.5 12.5-5 5\", key: \"b62r18\" }],\n [\"path\", { d: \"m9.5 12.5 5 5\", key: \"1rk7el\" }]\n]);\nconst ep = ai(\"x\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\nfunction tp() {\n const t = I(), e = _n.value;\n if (!e)\n return null;\n const n = e.role === \"user\" ? t.quotedYourMessage : e.authorName;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-reply-preview\", children: [\n /* @__PURE__ */ s(Eo, { size: 13, class: \"jex-reply-preview-icon\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-reply-preview-text\", children: [\n n && /* @__PURE__ */ s(\"span\", { class: \"jex-reply-preview-author\", children: [\n n,\n \": \"\n ] }),\n Wl(e.content)\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-reply-preview-cancel\",\n \"aria-label\": t.cancelReply,\n title: t.cancelReply,\n onClick: () => {\n ro(null);\n },\n children: /* @__PURE__ */ s(ep, { size: 14 })\n }\n )\n ] });\n}\nfunction ts({ variant: t, isOpen: e = !1, onAcknowledge: n }) {\n const r = I(), i = ur.value;\n return t === \"explicit\" ? e ? /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit\", role: \"dialog\", \"aria-label\": r.privacyExplicitTitle, children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-content\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-icon\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", children: /* @__PURE__ */ s(\"path\", { d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\" }) }) }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-copy\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-privacy-explicit-title\", children: r.privacyExplicitTitle }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-privacy-explicit-body\", children: [\n r.privacyExplicitBodyPre,\n \" \",\n /* @__PURE__ */ s(\n \"a\",\n {\n href: i,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-privacy-notice-link\",\n children: r.privacyPolicyLinkText\n }\n ),\n \".\"\n ] })\n ] })\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-privacy-explicit-button\",\n onClick: n,\n children: r.privacyExplicitButton\n }\n )\n ] }) : null : /* @__PURE__ */ s(\"p\", { class: \"jex-privacy-chip\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-privacy-chip-icon\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"svg\", { width: \"12\", height: \"12\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", children: /* @__PURE__ */ s(\"path\", { d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\" }) }) }),\n /* @__PURE__ */ s(\n \"a\",\n {\n href: i,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-privacy-chip-link\",\n children: r.privacyChipText\n }\n )\n ] });\n}\nfunction np({\n sessionId: t,\n visitorId: e,\n isLoading: n,\n isStreaming: r,\n sessionStatus: i,\n ensureSession: o,\n onStartFresh: a,\n maintenance: l = !1\n}) {\n const c = I(), u = qt, d = _o.value, m = tc({ sessionId: t, visitorId: e, ensureSession: o }), h = St(ae.functions.flags.getAll, {}), p = El.value && (i === \"escalated\" || i === \"assigned\") && h?.mediaManagementMode === \"live\" && !l, { addFiles: x } = jf({ sessionId: t, visitorId: e }), [w, b] = D(!1), v = i !== null && h !== void 0;\n P(() => {\n v && !p && Pe.value.length > 0 && kf();\n }, [v, p]), P(() => {\n if (!w)\n return;\n const E = setTimeout(() => {\n b(!1);\n }, 5e3);\n return () => {\n clearTimeout(E);\n };\n }, [w]);\n function k(E) {\n x(E) > 0 && b(!0);\n }\n const A = nr.value !== null && nr.value > io.value, N = n || r || A || l, M = d === \"explicit\" && rr.value;\n function T() {\n ff();\n const E = Gr.value;\n Gr.value = null, E !== null && m(E);\n }\n if (i === \"resolved\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-input-resolved\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-resolved-notice\", children: c.sessionResolved }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-resolved-new-btn\",\n type: \"button\",\n onClick: () => {\n a();\n },\n children: c.startNewConversation\n }\n )\n ] });\n async function L() {\n const E = u.value.trim();\n !E && Ro().length === 0 || N || Xl() || await m(E);\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-input\", children: [\n /* @__PURE__ */ s(Tf, {}),\n /* @__PURE__ */ s(Af, { maintenance: l }),\n d === \"chip\" && /* @__PURE__ */ s(ts, { variant: \"chip\" }),\n /* @__PURE__ */ s(tp, {}),\n w && /* @__PURE__ */ s(\"p\", { class: \"jex-attachment-status jex-attachment-status-error\", role: \"alert\", children: c.attachmentRejected }),\n /* @__PURE__ */ s(\"div\", { class: `jex-chat-input-composer-gate${M ? \" jex-chat-input-composer-gate-open\" : \"\"}`, children: [\n /* @__PURE__ */ s(\n Wf,\n {\n isStreaming: r,\n disabled: N,\n inputDisabled: n || r || M || l,\n onSend: L,\n onFocus: Yr,\n canAttach: p,\n onFiles: k\n }\n ),\n d === \"explicit\" && /* @__PURE__ */ s(\n ts,\n {\n variant: \"explicit\",\n isOpen: rr.value,\n onAcknowledge: T\n }\n )\n ] })\n ] });\n}\nfunction Io() {\n return { async: !1, breaks: !1, extensions: null, gfm: !0, hooks: null, pedantic: !1, renderer: null, silent: !1, tokenizer: null, walkTokens: null };\n}\nvar tn = Io();\nfunction nc(t) {\n tn = t;\n}\nvar Gt = { exec: () => null };\nfunction dn(t) {\n let e = [];\n return (n) => {\n let r = Math.max(0, Math.min(3, n - 1)), i = e[r];\n return i || (i = t(r), e[r] = i), i;\n };\n}\nfunction G(t, e = \"\") {\n let n = typeof t == \"string\" ? t : t.source, r = { replace: (i, o) => {\n let a = typeof o == \"string\" ? o : o.source;\n return a = a.replace(Ie.caret, \"$1\"), n = n.replace(i, a), r;\n }, getRegex: () => new RegExp(n, e) };\n return r;\n}\nvar rp = ((t = \"\") => {\n try {\n return !!new RegExp(\"(?<=1)(?<!1)\" + t);\n } catch {\n return !1;\n }\n})(), Ie = { codeRemoveIndent: /^(?: {1,4}| {0,3}\\t)/gm, outputLinkReplace: /\\\\([\\[\\]])/g, indentCodeCompensation: /^(\\s+)(?:```)/, beginningSpace: /^\\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\\n/g, tabCharGlobal: /\\t/g, multipleSpaceGlobal: /\\s+/g, blankLine: /^[ \\t]*$/, doubleBlankLine: /\\n[ \\t]*\\n[ \\t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \\t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\\[[ xX]\\] +\\S/, listReplaceTask: /^\\[[ xX]\\] +/, listTaskCheckbox: /\\[[ xX]\\]/, anyLine: /\\n.*\\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\\||\\| *$/g, tableRowBlankLine: /\\n[ \\t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\\s|>)/i, endPreScriptTag: /^<\\/(pre|code|kbd|script)(\\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/, unicodeAlphaNumeric: /[\\p{L}\\p{N}]/u, escapeTest: /[&<>\"']/, escapeReplace: /[&<>\"']/g, escapeTestNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/, escapeReplaceNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g, caret: /(^|[^\\[])\\^/g, percentDecode: /%25/g, findPipe: /\\|/g, splitPipe: / \\|/, slashPipe: /\\\\\\|/g, carriageReturn: /\\r\\n|\\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\\S*/, endingNewline: /\\n$/, listItemRegex: (t) => new RegExp(`^( {0,3}${t})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`), nextBulletRegex: dn((t) => new RegExp(`^ {0,${t}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`)), hrRegex: dn((t) => new RegExp(`^ {0,${t}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`)), fencesBeginRegex: dn((t) => new RegExp(`^ {0,${t}}(?:\\`\\`\\`|~~~)`)), headingBeginRegex: dn((t) => new RegExp(`^ {0,${t}}#`)), htmlBeginRegex: dn((t) => new RegExp(`^ {0,${t}}<(?:[a-z].*>|!--)`, \"i\")), blockquoteBeginRegex: dn((t) => new RegExp(`^ {0,${t}}>`)) }, ip = /^(?:[ \\t]*(?:\\n|$))+/, op = /^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/, ap = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/, hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/, sp = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/, Mo = / {0,3}(?:[*+-]|\\d{1,9}[.)])/, rc = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, ic = G(rc).replace(/bull/g, Mo).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g, \"\").getRegex(), lp = G(rc).replace(/bull/g, Mo).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/table/g, / {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(), Po = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/, cp = /^[^\\n]+/, No = /(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/, up = G(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\", No).replace(\"title\", /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(), dp = G(/^(bull)([ \\t][^\\n]*?)?(?:\\n|$)/).replace(/bull/g, Mo).getRegex(), si = \"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\", Lo = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/, hp = G(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\", \"i\").replace(\"comment\", Lo).replace(\"tag\", si).replace(\"attribute\", / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(), oc = G(Po).replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]+[^ \\\\t\\\\n]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", si).getRegex(), fp = G(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\", oc).getRegex(), Oo = { blockquote: fp, code: op, def: up, fences: ap, heading: sp, hr, html: hp, lheading: ic, list: dp, newline: ip, paragraph: oc, table: Gt, text: cp }, ns = G(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\", \" {0,3}>\").replace(\"code\", \"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", si).getRegex(), pp = { ...Oo, lheading: lp, table: ns, paragraph: G(Po).replace(\"hr\", hr).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"table\", ns).replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]+[^ \\\\t\\\\n]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", si).getRegex() }, mp = { ...Oo, html: G(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\", Lo).replace(/tag/g, \"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(), def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/, heading: /^(#{1,6})(.*)(?:\\n+|$)/, fences: Gt, lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, paragraph: G(Po).replace(\"hr\", hr).replace(\"heading\", ` *#{1,6} *[^\n]`).replace(\"lheading\", ic).replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"|fences\", \"\").replace(\"|list\", \"\").replace(\"|html\", \"\").replace(\"|tag\", \"\").getRegex() }, gp = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/, xp = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/, ac = /^( {2,}|\\\\)\\n(?!\\s*$)/, bp = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/, An = /[\\p{P}\\p{S}]/u, li = /[\\s\\p{P}\\p{S}]/u, $o = /[^\\s\\p{P}\\p{S}]/u, vp = G(/^((?![*_])punctSpace)/, \"u\").replace(/punctSpace/g, li).getRegex(), sc = /(?!~)[\\p{P}\\p{S}]/u, yp = /(?!~)[\\s\\p{P}\\p{S}]/u, wp = /(?:[^\\s\\p{P}\\p{S}]|~)/u, kp = G(/link|precode-code|html/, \"g\").replace(\"link\", /\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\", rp ? \"(?<!`)()\" : \"(^^|[^`])\").replace(\"code\", /(?<b>`+)[^`]+\\k<b>(?!`)/).replace(\"html\", /<(?! )[^<>]*?>/).getRegex(), lc = /^(?:\\*+(?:((?!\\*)punct)|([^\\s*]))?)|^_+(?:((?!_)punct)|([^\\s_]))?/, _p = G(lc, \"u\").replace(/punct/g, An).getRegex(), jp = G(lc, \"u\").replace(/punct/g, sc).getRegex(), cc = \"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\", Sp = G(cc, \"gu\").replace(/notPunctSpace/g, $o).replace(/punctSpace/g, li).replace(/punct/g, An).getRegex(), Tp = G(cc, \"gu\").replace(/notPunctSpace/g, wp).replace(/punctSpace/g, yp).replace(/punct/g, sc).getRegex(), Cp = G(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\", \"gu\").replace(/notPunctSpace/g, $o).replace(/punctSpace/g, li).replace(/punct/g, An).getRegex(), Ap = G(/^~~?(?:((?!~)punct)|[^\\s~])/, \"u\").replace(/punct/g, An).getRegex(), Rp = \"^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)\", Ep = G(Rp, \"gu\").replace(/notPunctSpace/g, $o).replace(/punctSpace/g, li).replace(/punct/g, An).getRegex(), Ip = G(/\\\\(punct)/, \"gu\").replace(/punct/g, An).getRegex(), Mp = G(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), Pp = G(Lo).replace(\"(?:-->|$)\", \"-->\").getRegex(), Np = G(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\", Pp).replace(\"attribute\", /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(), Xr = /(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\\])|[^\\[\\]\\\\`])*?/, Lp = G(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]+(?:\\n[ \\t]*)?|\\n[ \\t]*)(title))?\\s*\\)/).replace(\"label\", Xr).replace(\"href\", /<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\", /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(), uc = G(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\", Xr).replace(\"ref\", No).getRegex(), dc = G(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\", No).getRegex(), Op = G(\"reflink|nolink(?!\\\\()\", \"g\").replace(\"reflink\", uc).replace(\"nolink\", dc).getRegex(), rs = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, Do = { _backpedal: Gt, anyPunctuation: Ip, autolink: Mp, blockSkip: kp, br: ac, code: xp, del: Gt, delLDelim: Gt, delRDelim: Gt, emStrongLDelim: _p, emStrongRDelimAst: Sp, emStrongRDelimUnd: Cp, escape: gp, link: Lp, nolink: dc, punctuation: vp, reflink: uc, reflinkSearch: Op, tag: Np, text: bp, url: Gt }, $p = { ...Do, link: G(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\", Xr).getRegex(), reflink: G(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\", Xr).getRegex() }, oo = { ...Do, emStrongRDelimAst: Tp, emStrongLDelim: jp, delLDelim: Ap, delRDelim: Ep, url: G(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\", rs).replace(\"email\", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/, del: /^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/, text: G(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|protocol:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/).replace(\"protocol\", rs).getRegex() }, Dp = { ...oo, br: G(ac).replace(\"{2,}\", \"*\").getRegex(), text: G(oo.text).replace(\"\\\\b_\", \"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g, \"*\").getRegex() }, Sr = { normal: Oo, gfm: pp, pedantic: mp }, Ln = { normal: Do, gfm: oo, breaks: Dp, pedantic: $p }, qp = { \"&\": \"&\", \"<\": \"<\", \">\": \">\", '\"': \""\", \"'\": \"'\" }, is = (t) => qp[t];\nfunction ht(t, e) {\n if (e) {\n if (Ie.escapeTest.test(t)) return t.replace(Ie.escapeReplace, is);\n } else if (Ie.escapeTestNoEncode.test(t)) return t.replace(Ie.escapeReplaceNoEncode, is);\n return t;\n}\nfunction os(t) {\n try {\n t = encodeURI(t).replace(Ie.percentDecode, \"%\");\n } catch {\n return null;\n }\n return t;\n}\nfunction as(t, e) {\n let n = t.replace(Ie.findPipe, (o, a, l) => {\n let c = !1, u = a;\n for (; --u >= 0 && l[u] === \"\\\\\"; ) c = !c;\n return c ? \"|\" : \" |\";\n }), r = n.split(Ie.splitPipe), i = 0;\n if (r[0].trim() || r.shift(), r.length > 0 && !r.at(-1)?.trim() && r.pop(), e) if (r.length > e) r.splice(e);\n else for (; r.length < e; ) r.push(\"\");\n for (; i < r.length; i++) r[i] = r[i].trim().replace(Ie.slashPipe, \"|\");\n return r;\n}\nfunction It(t, e, n) {\n let r = t.length;\n if (r === 0) return \"\";\n let i = 0;\n for (; i < r && t.charAt(r - i - 1) === e; )\n i++;\n return t.slice(0, r - i);\n}\nfunction ss(t) {\n let e = t.split(`\n`), n = e.length - 1;\n for (; n >= 0 && Ie.blankLine.test(e[n]); ) n--;\n return e.length - n <= 2 ? t : e.slice(0, n + 1).join(`\n`);\n}\nfunction zp(t, e) {\n if (t.indexOf(e[1]) === -1) return -1;\n let n = 0;\n for (let r = 0; r < t.length; r++) if (t[r] === \"\\\\\") r++;\n else if (t[r] === e[0]) n++;\n else if (t[r] === e[1] && (n--, n < 0)) return r;\n return n > 0 ? -2 : -1;\n}\nfunction Fp(t, e = 0) {\n let n = e, r = \"\";\n for (let i of t) if (i === \"\t\") {\n let o = 4 - n % 4;\n r += \" \".repeat(o), n += o;\n } else r += i, n++;\n return r;\n}\nfunction ls(t, e, n, r, i) {\n let o = e.href, a = e.title || null, l = t[1].replace(i.other.outputLinkReplace, \"$1\");\n r.state.inLink = !0;\n let c = { type: t[0].charAt(0) === \"!\" ? \"image\" : \"link\", raw: n, href: o, title: a, text: l, tokens: r.inlineTokens(l) };\n return r.state.inLink = !1, c;\n}\nfunction Up(t, e, n) {\n let r = t.match(n.other.indentCodeCompensation);\n if (r === null) return e;\n let i = r[1];\n return e.split(`\n`).map((o) => {\n let a = o.match(n.other.beginningSpace);\n if (a === null) return o;\n let [l] = a;\n return l.length >= i.length ? o.slice(i.length) : o;\n }).join(`\n`);\n}\nvar Zr = class {\n options;\n rules;\n lexer;\n constructor(t) {\n this.options = t || tn;\n }\n space(t) {\n let e = this.rules.block.newline.exec(t);\n if (e && e[0].length > 0) return { type: \"space\", raw: e[0] };\n }\n code(t) {\n let e = this.rules.block.code.exec(t);\n if (e) {\n let n = this.options.pedantic ? e[0] : ss(e[0]), r = n.replace(this.rules.other.codeRemoveIndent, \"\");\n return { type: \"code\", raw: n, codeBlockStyle: \"indented\", text: r };\n }\n }\n fences(t) {\n let e = this.rules.block.fences.exec(t);\n if (e) {\n let n = e[0], r = Up(n, e[3] || \"\", this.rules);\n return { type: \"code\", raw: n, lang: e[2] ? e[2].trim().replace(this.rules.inline.anyPunctuation, \"$1\") : e[2], text: r };\n }\n }\n heading(t) {\n let e = this.rules.block.heading.exec(t);\n if (e) {\n let n = e[2].trim();\n if (this.rules.other.endingHash.test(n)) {\n let r = It(n, \"#\");\n (this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim());\n }\n return { type: \"heading\", raw: It(e[0], `\n`), depth: e[1].length, text: n, tokens: this.lexer.inline(n) };\n }\n }\n hr(t) {\n let e = this.rules.block.hr.exec(t);\n if (e) return { type: \"hr\", raw: It(e[0], `\n`) };\n }\n blockquote(t) {\n let e = this.rules.block.blockquote.exec(t);\n if (e) {\n let n = It(e[0], `\n`).split(`\n`), r = \"\", i = \"\", o = [];\n for (; n.length > 0; ) {\n let a = !1, l = [], c;\n for (c = 0; c < n.length; c++) if (this.rules.other.blockquoteStart.test(n[c])) l.push(n[c]), a = !0;\n else if (!a) l.push(n[c]);\n else break;\n n = n.slice(c);\n let u = l.join(`\n`), d = u.replace(this.rules.other.blockquoteSetextReplace, `\n $1`).replace(this.rules.other.blockquoteSetextReplace2, \"\");\n r = r ? `${r}\n${u}` : u, i = i ? `${i}\n${d}` : d;\n let m = this.lexer.state.top;\n if (this.lexer.state.top = !0, this.lexer.blockTokens(d, o, !0), this.lexer.state.top = m, n.length === 0) break;\n let h = o.at(-1);\n if (h?.type === \"code\") break;\n if (h?.type === \"blockquote\") {\n let p = h, x = p.raw + `\n` + n.join(`\n`), w = this.blockquote(x);\n o[o.length - 1] = w, r = r.substring(0, r.length - p.raw.length) + w.raw, i = i.substring(0, i.length - p.text.length) + w.text;\n break;\n } else if (h?.type === \"list\") {\n let p = h, x = p.raw + `\n` + n.join(`\n`), w = this.list(x);\n o[o.length - 1] = w, r = r.substring(0, r.length - h.raw.length) + w.raw, i = i.substring(0, i.length - p.raw.length) + w.raw, n = x.substring(o.at(-1).raw.length).split(`\n`);\n continue;\n }\n }\n return { type: \"blockquote\", raw: r, tokens: o, text: i };\n }\n }\n list(t) {\n let e = this.rules.block.list.exec(t);\n if (e) {\n let n = e[1].trim(), r = n.length > 1, i = { type: \"list\", raw: \"\", ordered: r, start: r ? +n.slice(0, -1) : \"\", loose: !1, items: [] };\n n = r ? `\\\\d{1,9}\\\\${n.slice(-1)}` : `\\\\${n}`, this.options.pedantic && (n = r ? n : \"[*+-]\");\n let o = this.rules.other.listItemRegex(n), a = !1;\n for (; t; ) {\n let c = !1, u = \"\", d = \"\";\n if (!(e = o.exec(t)) || this.rules.block.hr.test(t)) break;\n u = e[0], t = t.substring(u.length);\n let m = Fp(e[2].split(`\n`, 1)[0], e[1].length), h = t.split(`\n`, 1)[0], p = !m.trim(), x = 0;\n if (this.options.pedantic ? (x = 2, d = m.trimStart()) : p ? x = e[1].length + 1 : (x = m.search(this.rules.other.nonSpaceChar), x = x > 4 ? 1 : x, d = m.slice(x), x += e[1].length), p && this.rules.other.blankLine.test(h) && (u += h + `\n`, t = t.substring(h.length + 1), c = !0), !c) {\n let w = this.rules.other.nextBulletRegex(x), b = this.rules.other.hrRegex(x), v = this.rules.other.fencesBeginRegex(x), k = this.rules.other.headingBeginRegex(x), A = this.rules.other.htmlBeginRegex(x), N = this.rules.other.blockquoteBeginRegex(x);\n for (; t; ) {\n let M = t.split(`\n`, 1)[0], T;\n if (h = M, this.options.pedantic ? (h = h.replace(this.rules.other.listReplaceNesting, \" \"), T = h) : T = h.replace(this.rules.other.tabCharGlobal, \" \"), v.test(h) || k.test(h) || A.test(h) || N.test(h) || w.test(h) || b.test(h)) break;\n if (T.search(this.rules.other.nonSpaceChar) >= x || !h.trim()) d += `\n` + T.slice(x);\n else {\n if (p || m.replace(this.rules.other.tabCharGlobal, \" \").search(this.rules.other.nonSpaceChar) >= 4 || v.test(m) || k.test(m) || b.test(m)) break;\n d += `\n` + h;\n }\n p = !h.trim(), u += M + `\n`, t = t.substring(M.length + 1), m = T.slice(x);\n }\n }\n i.loose || (a ? i.loose = !0 : this.rules.other.doubleBlankLine.test(u) && (a = !0)), i.items.push({ type: \"list_item\", raw: u, task: !!this.options.gfm && this.rules.other.listIsTask.test(d), loose: !1, text: d, tokens: [] }), i.raw += u;\n }\n let l = i.items.at(-1);\n if (l) l.raw = l.raw.trimEnd(), l.text = l.text.trimEnd();\n else return;\n i.raw = i.raw.trimEnd();\n for (let c of i.items) {\n this.lexer.state.top = !1, c.tokens = this.lexer.blockTokens(c.text, []);\n let u = c.tokens[0];\n if (c.task && (u?.type === \"text\" || u?.type === \"paragraph\")) {\n c.text = c.text.replace(this.rules.other.listReplaceTask, \"\"), u.raw = u.raw.replace(this.rules.other.listReplaceTask, \"\"), u.text = u.text.replace(this.rules.other.listReplaceTask, \"\");\n for (let m = this.lexer.inlineQueue.length - 1; m >= 0; m--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[m].src)) {\n this.lexer.inlineQueue[m].src = this.lexer.inlineQueue[m].src.replace(this.rules.other.listReplaceTask, \"\");\n break;\n }\n let d = this.rules.other.listTaskCheckbox.exec(c.raw);\n if (d) {\n let m = { type: \"checkbox\", raw: d[0] + \" \", checked: d[0] !== \"[ ]\" };\n c.checked = m.checked, i.loose ? c.tokens[0] && [\"paragraph\", \"text\"].includes(c.tokens[0].type) && \"tokens\" in c.tokens[0] && c.tokens[0].tokens ? (c.tokens[0].raw = m.raw + c.tokens[0].raw, c.tokens[0].text = m.raw + c.tokens[0].text, c.tokens[0].tokens.unshift(m)) : c.tokens.unshift({ type: \"paragraph\", raw: m.raw, text: m.raw, tokens: [m] }) : c.tokens.unshift(m);\n }\n } else c.task && (c.task = !1);\n if (!i.loose) {\n let d = c.tokens.filter((h) => h.type === \"space\"), m = d.length > 0 && d.some((h) => this.rules.other.anyLine.test(h.raw));\n i.loose = m;\n }\n }\n if (i.loose) for (let c of i.items) {\n c.loose = !0;\n for (let u of c.tokens) u.type === \"text\" && (u.type = \"paragraph\");\n }\n return i;\n }\n }\n html(t) {\n let e = this.rules.block.html.exec(t);\n if (e) {\n let n = ss(e[0]);\n return { type: \"html\", block: !0, raw: n, pre: e[1] === \"pre\" || e[1] === \"script\" || e[1] === \"style\", text: n };\n }\n }\n def(t) {\n let e = this.rules.block.def.exec(t);\n if (e) {\n let n = e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, \" \"), r = e[2] ? e[2].replace(this.rules.other.hrefBrackets, \"$1\").replace(this.rules.inline.anyPunctuation, \"$1\") : \"\", i = e[3] ? e[3].substring(1, e[3].length - 1).replace(this.rules.inline.anyPunctuation, \"$1\") : e[3];\n return { type: \"def\", tag: n, raw: It(e[0], `\n`), href: r, title: i };\n }\n }\n table(t) {\n let e = this.rules.block.table.exec(t);\n if (!e || !this.rules.other.tableDelimiter.test(e[2])) return;\n let n = as(e[1]), r = e[2].replace(this.rules.other.tableAlignChars, \"\").split(\"|\"), i = e[3]?.trim() ? e[3].replace(this.rules.other.tableRowBlankLine, \"\").split(`\n`) : [], o = { type: \"table\", raw: It(e[0], `\n`), header: [], align: [], rows: [] };\n if (n.length === r.length) {\n for (let a of r) this.rules.other.tableAlignRight.test(a) ? o.align.push(\"right\") : this.rules.other.tableAlignCenter.test(a) ? o.align.push(\"center\") : this.rules.other.tableAlignLeft.test(a) ? o.align.push(\"left\") : o.align.push(null);\n for (let a = 0; a < n.length; a++) o.header.push({ text: n[a], tokens: this.lexer.inline(n[a]), header: !0, align: o.align[a] });\n for (let a of i) o.rows.push(as(a, o.header.length).map((l, c) => ({ text: l, tokens: this.lexer.inline(l), header: !1, align: o.align[c] })));\n return o;\n }\n }\n lheading(t) {\n let e = this.rules.block.lheading.exec(t);\n if (e) {\n let n = e[1].trim();\n return { type: \"heading\", raw: It(e[0], `\n`), depth: e[2].charAt(0) === \"=\" ? 1 : 2, text: n, tokens: this.lexer.inline(n) };\n }\n }\n paragraph(t) {\n let e = this.rules.block.paragraph.exec(t);\n if (e) {\n let n = e[1].charAt(e[1].length - 1) === `\n` ? e[1].slice(0, -1) : e[1];\n return { type: \"paragraph\", raw: e[0], text: n, tokens: this.lexer.inline(n) };\n }\n }\n text(t) {\n let e = this.rules.block.text.exec(t);\n if (e) return { type: \"text\", raw: e[0], text: e[0], tokens: this.lexer.inline(e[0]) };\n }\n escape(t) {\n let e = this.rules.inline.escape.exec(t);\n if (e) return { type: \"escape\", raw: e[0], text: e[1] };\n }\n tag(t) {\n let e = this.rules.inline.tag.exec(t);\n if (e) return !this.lexer.state.inLink && this.rules.other.startATag.test(e[0]) ? this.lexer.state.inLink = !0 : this.lexer.state.inLink && this.rules.other.endATag.test(e[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(e[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(e[0]) && (this.lexer.state.inRawBlock = !1), { type: \"html\", raw: e[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: !1, text: e[0] };\n }\n link(t) {\n let e = this.rules.inline.link.exec(t);\n if (e) {\n let n = e[2].trim();\n if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) {\n if (!this.rules.other.endAngleBracket.test(n)) return;\n let o = It(n.slice(0, -1), \"\\\\\");\n if ((n.length - o.length) % 2 === 0) return;\n } else {\n let o = zp(e[2], \"()\");\n if (o === -2) return;\n if (o > -1) {\n let a = (e[0].indexOf(\"!\") === 0 ? 5 : 4) + e[1].length + o;\n e[2] = e[2].substring(0, o), e[0] = e[0].substring(0, a).trim(), e[3] = \"\";\n }\n }\n let r = e[2], i = \"\";\n if (this.options.pedantic) {\n let o = this.rules.other.pedanticHrefTitle.exec(r);\n o && (r = o[1], i = o[3]);\n } else i = e[3] ? e[3].slice(1, -1) : \"\";\n return r = r.trim(), this.rules.other.startAngleBracket.test(r) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? r = r.slice(1) : r = r.slice(1, -1)), ls(e, { href: r && r.replace(this.rules.inline.anyPunctuation, \"$1\"), title: i && i.replace(this.rules.inline.anyPunctuation, \"$1\") }, e[0], this.lexer, this.rules);\n }\n }\n reflink(t, e) {\n let n;\n if ((n = this.rules.inline.reflink.exec(t)) || (n = this.rules.inline.nolink.exec(t))) {\n let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, \" \"), i = e[r.toLowerCase()];\n if (!i) {\n let o = n[0].charAt(0);\n return { type: \"text\", raw: o, text: o };\n }\n return ls(n, i, n[0], this.lexer, this.rules);\n }\n }\n emStrong(t, e, n = \"\") {\n let r = this.rules.inline.emStrongLDelim.exec(t);\n if (!(!r || !r[1] && !r[2] && !r[3] && !r[4] || r[4] && n.match(this.rules.other.unicodeAlphaNumeric)) && (!(r[1] || r[3]) || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, o, a, l = i, c = 0, u = r[0][0] === \"*\" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n for (u.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = u.exec(e)) !== null; ) {\n if (o = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !o) continue;\n if (a = [...o].length, r[3] || r[4]) {\n l += a;\n continue;\n } else if ((r[5] || r[6]) && i % 3 && !((i + a) % 3)) {\n c += a;\n continue;\n }\n if (l -= a, l > 0) continue;\n a = Math.min(a, a + l + c);\n let d = [...r[0]][0].length, m = t.slice(0, i + r.index + d + a);\n if (Math.min(i, a) % 2) {\n let p = m.slice(1, -1);\n return { type: \"em\", raw: m, text: p, tokens: this.lexer.inlineTokens(p) };\n }\n let h = m.slice(2, -2);\n return { type: \"strong\", raw: m, text: h, tokens: this.lexer.inlineTokens(h) };\n }\n }\n }\n codespan(t) {\n let e = this.rules.inline.code.exec(t);\n if (e) {\n let n = e[2].replace(this.rules.other.newLineCharGlobal, \" \"), r = this.rules.other.nonSpaceChar.test(n), i = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n);\n return r && i && (n = n.substring(1, n.length - 1)), { type: \"codespan\", raw: e[0], text: n };\n }\n }\n br(t) {\n let e = this.rules.inline.br.exec(t);\n if (e) return { type: \"br\", raw: e[0] };\n }\n del(t, e, n = \"\") {\n let r = this.rules.inline.delLDelim.exec(t);\n if (r && (!r[1] || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, o, a, l = i, c = this.rules.inline.delRDelim;\n for (c.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = c.exec(e)) !== null; ) {\n if (o = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !o || (a = [...o].length, a !== i)) continue;\n if (r[3] || r[4]) {\n l += a;\n continue;\n }\n if (l -= a, l > 0) continue;\n a = Math.min(a, a + l);\n let u = [...r[0]][0].length, d = t.slice(0, i + r.index + u + a), m = d.slice(i, -i);\n return { type: \"del\", raw: d, text: m, tokens: this.lexer.inlineTokens(m) };\n }\n }\n }\n autolink(t) {\n let e = this.rules.inline.autolink.exec(t);\n if (e) {\n let n, r;\n return e[2] === \"@\" ? (n = e[1], r = \"mailto:\" + n) : (n = e[1], r = n), { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n url(t) {\n let e;\n if (e = this.rules.inline.url.exec(t)) {\n let n, r;\n if (e[2] === \"@\") n = e[0], r = \"mailto:\" + n;\n else {\n let i;\n do\n i = e[0], e[0] = this.rules.inline._backpedal.exec(e[0])?.[0] ?? \"\";\n while (i !== e[0]);\n n = e[0], e[1] === \"www.\" ? r = \"http://\" + e[0] : r = e[0];\n }\n return { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n inlineText(t) {\n let e = this.rules.inline.text.exec(t);\n if (e) {\n let n = this.lexer.state.inRawBlock;\n return { type: \"text\", raw: e[0], text: e[0], escaped: n };\n }\n }\n}, nt = class ao {\n tokens;\n options;\n state;\n inlineQueue;\n tokenizer;\n constructor(e) {\n this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || tn, this.options.tokenizer = this.options.tokenizer || new Zr(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: !1, inRawBlock: !1, top: !0 };\n let n = { other: Ie, block: Sr.normal, inline: Ln.normal };\n this.options.pedantic ? (n.block = Sr.pedantic, n.inline = Ln.pedantic) : this.options.gfm && (n.block = Sr.gfm, this.options.breaks ? n.inline = Ln.breaks : n.inline = Ln.gfm), this.tokenizer.rules = n;\n }\n static get rules() {\n return { block: Sr, inline: Ln };\n }\n static lex(e, n) {\n return new ao(n).lex(e);\n }\n static lexInline(e, n) {\n return new ao(n).inlineTokens(e);\n }\n lex(e) {\n e = e.replace(Ie.carriageReturn, `\n`), this.blockTokens(e, this.tokens);\n for (let n = 0; n < this.inlineQueue.length; n++) {\n let r = this.inlineQueue[n];\n this.inlineTokens(r.src, r.tokens);\n }\n return this.inlineQueue = [], this.tokens;\n }\n blockTokens(e, n = [], r = !1) {\n this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(Ie.tabCharGlobal, \" \").replace(Ie.spaceLine, \"\"));\n let i = 1 / 0;\n for (; e; ) {\n if (e.length < i) i = e.length;\n else {\n this.infiniteLoopError(e.charCodeAt(0));\n break;\n }\n let o;\n if (this.options.extensions?.block?.some((l) => (o = l.call({ lexer: this }, e, n)) ? (e = e.substring(o.raw.length), n.push(o), !0) : !1)) continue;\n if (o = this.tokenizer.space(e)) {\n e = e.substring(o.raw.length);\n let l = n.at(-1);\n o.raw.length === 1 && l !== void 0 ? l.raw += `\n` : n.push(o);\n continue;\n }\n if (o = this.tokenizer.code(e)) {\n e = e.substring(o.raw.length);\n let l = n.at(-1);\n l?.type === \"paragraph\" || l?.type === \"text\" ? (l.raw += (l.raw.endsWith(`\n`) ? \"\" : `\n`) + o.raw, l.text += `\n` + o.text, this.inlineQueue.at(-1).src = l.text) : n.push(o);\n continue;\n }\n if (o = this.tokenizer.fences(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.heading(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.hr(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.blockquote(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.list(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.html(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.def(e)) {\n e = e.substring(o.raw.length);\n let l = n.at(-1);\n l?.type === \"paragraph\" || l?.type === \"text\" ? (l.raw += (l.raw.endsWith(`\n`) ? \"\" : `\n`) + o.raw, l.text += `\n` + o.raw, this.inlineQueue.at(-1).src = l.text) : this.tokens.links[o.tag] || (this.tokens.links[o.tag] = { href: o.href, title: o.title }, n.push(o));\n continue;\n }\n if (o = this.tokenizer.table(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n if (o = this.tokenizer.lheading(e)) {\n e = e.substring(o.raw.length), n.push(o);\n continue;\n }\n let a = e;\n if (this.options.extensions?.startBlock) {\n let l = 1 / 0, c = e.slice(1), u;\n this.options.extensions.startBlock.forEach((d) => {\n u = d.call({ lexer: this }, c), typeof u == \"number\" && u >= 0 && (l = Math.min(l, u));\n }), l < 1 / 0 && l >= 0 && (a = e.substring(0, l + 1));\n }\n if (this.state.top && (o = this.tokenizer.paragraph(a))) {\n let l = n.at(-1);\n r && l?.type === \"paragraph\" ? (l.raw += (l.raw.endsWith(`\n`) ? \"\" : `\n`) + o.raw, l.text += `\n` + o.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = l.text) : n.push(o), r = a.length !== e.length, e = e.substring(o.raw.length);\n continue;\n }\n if (o = this.tokenizer.text(e)) {\n e = e.substring(o.raw.length);\n let l = n.at(-1);\n l?.type === \"text\" ? (l.raw += (l.raw.endsWith(`\n`) ? \"\" : `\n`) + o.raw, l.text += `\n` + o.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = l.text) : n.push(o);\n continue;\n }\n if (e) {\n this.infiniteLoopError(e.charCodeAt(0));\n break;\n }\n }\n return this.state.top = !0, n;\n }\n inline(e, n = []) {\n return this.inlineQueue.push({ src: e, tokens: n }), n;\n }\n inlineTokens(e, n = []) {\n this.tokenizer.lexer = this;\n let r = e, i = null;\n if (this.tokens.links) {\n let u = Object.keys(this.tokens.links);\n if (u.length > 0) for (; (i = this.tokenizer.rules.inline.reflinkSearch.exec(r)) !== null; ) u.includes(i[0].slice(i[0].lastIndexOf(\"[\") + 1, -1)) && (r = r.slice(0, i.index) + \"[\" + \"a\".repeat(i[0].length - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));\n }\n for (; (i = this.tokenizer.rules.inline.anyPunctuation.exec(r)) !== null; ) r = r.slice(0, i.index) + \"++\" + r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n let o;\n for (; (i = this.tokenizer.rules.inline.blockSkip.exec(r)) !== null; ) o = i[2] ? i[2].length : 0, r = r.slice(0, i.index + o) + \"[\" + \"a\".repeat(i[0].length - o - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n r = this.options.hooks?.emStrongMask?.call({ lexer: this }, r) ?? r;\n let a = !1, l = \"\", c = 1 / 0;\n for (; e; ) {\n if (e.length < c) c = e.length;\n else {\n this.infiniteLoopError(e.charCodeAt(0));\n break;\n }\n a || (l = \"\"), a = !1;\n let u;\n if (this.options.extensions?.inline?.some((m) => (u = m.call({ lexer: this }, e, n)) ? (e = e.substring(u.raw.length), n.push(u), !0) : !1)) continue;\n if (u = this.tokenizer.escape(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.tag(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.link(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.reflink(e, this.tokens.links)) {\n e = e.substring(u.raw.length);\n let m = n.at(-1);\n u.type === \"text\" && m?.type === \"text\" ? (m.raw += u.raw, m.text += u.text) : n.push(u);\n continue;\n }\n if (u = this.tokenizer.emStrong(e, r, l)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.codespan(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.br(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.del(e, r, l)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (u = this.tokenizer.autolink(e)) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n if (!this.state.inLink && (u = this.tokenizer.url(e))) {\n e = e.substring(u.raw.length), n.push(u);\n continue;\n }\n let d = e;\n if (this.options.extensions?.startInline) {\n let m = 1 / 0, h = e.slice(1), p;\n this.options.extensions.startInline.forEach((x) => {\n p = x.call({ lexer: this }, h), typeof p == \"number\" && p >= 0 && (m = Math.min(m, p));\n }), m < 1 / 0 && m >= 0 && (d = e.substring(0, m + 1));\n }\n if (u = this.tokenizer.inlineText(d)) {\n e = e.substring(u.raw.length), u.raw.slice(-1) !== \"_\" && (l = u.raw.slice(-1)), a = !0;\n let m = n.at(-1);\n m?.type === \"text\" ? (m.raw += u.raw, m.text += u.text) : n.push(u);\n continue;\n }\n if (e) {\n this.infiniteLoopError(e.charCodeAt(0));\n break;\n }\n }\n return n;\n }\n infiniteLoopError(e) {\n let n = \"Infinite loop on byte: \" + e;\n if (this.options.silent) console.error(n);\n else throw new Error(n);\n }\n}, Jr = class {\n options;\n parser;\n constructor(t) {\n this.options = t || tn;\n }\n space(t) {\n return \"\";\n }\n code({ text: t, lang: e, escaped: n }) {\n let r = (e || \"\").match(Ie.notSpaceStart)?.[0], i = t.replace(Ie.endingNewline, \"\") + `\n`;\n return r ? '<pre><code class=\"language-' + ht(r) + '\">' + (n ? i : ht(i, !0)) + `</code></pre>\n` : \"<pre><code>\" + (n ? i : ht(i, !0)) + `</code></pre>\n`;\n }\n blockquote({ tokens: t }) {\n return `<blockquote>\n${this.parser.parse(t)}</blockquote>\n`;\n }\n html({ text: t }) {\n return t;\n }\n def(t) {\n return \"\";\n }\n heading({ tokens: t, depth: e }) {\n return `<h${e}>${this.parser.parseInline(t)}</h${e}>\n`;\n }\n hr(t) {\n return `<hr>\n`;\n }\n list(t) {\n let e = t.ordered, n = t.start, r = \"\";\n for (let a = 0; a < t.items.length; a++) {\n let l = t.items[a];\n r += this.listitem(l);\n }\n let i = e ? \"ol\" : \"ul\", o = e && n !== 1 ? ' start=\"' + n + '\"' : \"\";\n return \"<\" + i + o + `>\n` + r + \"</\" + i + `>\n`;\n }\n listitem(t) {\n return `<li>${this.parser.parse(t.tokens)}</li>\n`;\n }\n checkbox({ checked: t }) {\n return \"<input \" + (t ? 'checked=\"\" ' : \"\") + 'disabled=\"\" type=\"checkbox\"> ';\n }\n paragraph({ tokens: t }) {\n return `<p>${this.parser.parseInline(t)}</p>\n`;\n }\n table(t) {\n let e = \"\", n = \"\";\n for (let i = 0; i < t.header.length; i++) n += this.tablecell(t.header[i]);\n e += this.tablerow({ text: n });\n let r = \"\";\n for (let i = 0; i < t.rows.length; i++) {\n let o = t.rows[i];\n n = \"\";\n for (let a = 0; a < o.length; a++) n += this.tablecell(o[a]);\n r += this.tablerow({ text: n });\n }\n return r && (r = `<tbody>${r}</tbody>`), `<table>\n<thead>\n` + e + `</thead>\n` + r + `</table>\n`;\n }\n tablerow({ text: t }) {\n return `<tr>\n${t}</tr>\n`;\n }\n tablecell(t) {\n let e = this.parser.parseInline(t.tokens), n = t.header ? \"th\" : \"td\";\n return (t.align ? `<${n} align=\"${t.align}\">` : `<${n}>`) + e + `</${n}>\n`;\n }\n strong({ tokens: t }) {\n return `<strong>${this.parser.parseInline(t)}</strong>`;\n }\n em({ tokens: t }) {\n return `<em>${this.parser.parseInline(t)}</em>`;\n }\n codespan({ text: t }) {\n return `<code>${ht(t, !0)}</code>`;\n }\n br(t) {\n return \"<br>\";\n }\n del({ tokens: t }) {\n return `<del>${this.parser.parseInline(t)}</del>`;\n }\n link({ href: t, title: e, tokens: n }) {\n let r = this.parser.parseInline(n), i = os(t);\n if (i === null) return r;\n t = i;\n let o = '<a href=\"' + t + '\"';\n return e && (o += ' title=\"' + ht(e) + '\"'), o += \">\" + r + \"</a>\", o;\n }\n image({ href: t, title: e, text: n, tokens: r }) {\n r && (n = this.parser.parseInline(r, this.parser.textRenderer));\n let i = os(t);\n if (i === null) return ht(n);\n t = i;\n let o = `<img src=\"${t}\" alt=\"${ht(n)}\"`;\n return e && (o += ` title=\"${ht(e)}\"`), o += \">\", o;\n }\n text(t) {\n return \"tokens\" in t && t.tokens ? this.parser.parseInline(t.tokens) : \"escaped\" in t && t.escaped ? t.text : ht(t.text);\n }\n}, qo = class {\n strong({ text: t }) {\n return t;\n }\n em({ text: t }) {\n return t;\n }\n codespan({ text: t }) {\n return t;\n }\n del({ text: t }) {\n return t;\n }\n html({ text: t }) {\n return t;\n }\n text({ text: t }) {\n return t;\n }\n link({ text: t }) {\n return \"\" + t;\n }\n image({ text: t }) {\n return \"\" + t;\n }\n br() {\n return \"\";\n }\n checkbox({ raw: t }) {\n return t;\n }\n}, rt = class so {\n options;\n renderer;\n textRenderer;\n constructor(e) {\n this.options = e || tn, this.options.renderer = this.options.renderer || new Jr(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new qo();\n }\n static parse(e, n) {\n return new so(n).parse(e);\n }\n static parseInline(e, n) {\n return new so(n).parseInline(e);\n }\n parse(e) {\n this.renderer.parser = this;\n let n = \"\";\n for (let r = 0; r < e.length; r++) {\n let i = e[r];\n if (this.options.extensions?.renderers?.[i.type]) {\n let a = i, l = this.options.extensions.renderers[a.type].call({ parser: this }, a);\n if (l !== !1 || ![\"space\", \"hr\", \"heading\", \"code\", \"table\", \"blockquote\", \"list\", \"html\", \"def\", \"paragraph\", \"text\"].includes(a.type)) {\n n += l || \"\";\n continue;\n }\n }\n let o = i;\n switch (o.type) {\n case \"space\": {\n n += this.renderer.space(o);\n break;\n }\n case \"hr\": {\n n += this.renderer.hr(o);\n break;\n }\n case \"heading\": {\n n += this.renderer.heading(o);\n break;\n }\n case \"code\": {\n n += this.renderer.code(o);\n break;\n }\n case \"table\": {\n n += this.renderer.table(o);\n break;\n }\n case \"blockquote\": {\n n += this.renderer.blockquote(o);\n break;\n }\n case \"list\": {\n n += this.renderer.list(o);\n break;\n }\n case \"checkbox\": {\n n += this.renderer.checkbox(o);\n break;\n }\n case \"html\": {\n n += this.renderer.html(o);\n break;\n }\n case \"def\": {\n n += this.renderer.def(o);\n break;\n }\n case \"paragraph\": {\n n += this.renderer.paragraph(o);\n break;\n }\n case \"text\": {\n n += this.renderer.text(o);\n break;\n }\n default: {\n let a = 'Token with \"' + o.type + '\" type was not found.';\n if (this.options.silent) return console.error(a), \"\";\n throw new Error(a);\n }\n }\n }\n return n;\n }\n parseInline(e, n = this.renderer) {\n this.renderer.parser = this;\n let r = \"\";\n for (let i = 0; i < e.length; i++) {\n let o = e[i];\n if (this.options.extensions?.renderers?.[o.type]) {\n let l = this.options.extensions.renderers[o.type].call({ parser: this }, o);\n if (l !== !1 || ![\"escape\", \"html\", \"link\", \"image\", \"strong\", \"em\", \"codespan\", \"br\", \"del\", \"text\"].includes(o.type)) {\n r += l || \"\";\n continue;\n }\n }\n let a = o;\n switch (a.type) {\n case \"escape\": {\n r += n.text(a);\n break;\n }\n case \"html\": {\n r += n.html(a);\n break;\n }\n case \"link\": {\n r += n.link(a);\n break;\n }\n case \"image\": {\n r += n.image(a);\n break;\n }\n case \"checkbox\": {\n r += n.checkbox(a);\n break;\n }\n case \"strong\": {\n r += n.strong(a);\n break;\n }\n case \"em\": {\n r += n.em(a);\n break;\n }\n case \"codespan\": {\n r += n.codespan(a);\n break;\n }\n case \"br\": {\n r += n.br(a);\n break;\n }\n case \"del\": {\n r += n.del(a);\n break;\n }\n case \"text\": {\n r += n.text(a);\n break;\n }\n default: {\n let l = 'Token with \"' + a.type + '\" type was not found.';\n if (this.options.silent) return console.error(l), \"\";\n throw new Error(l);\n }\n }\n }\n return r;\n }\n}, Bn = class {\n options;\n block;\n constructor(t) {\n this.options = t || tn;\n }\n static passThroughHooks = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\", \"emStrongMask\"]);\n static passThroughHooksRespectAsync = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\"]);\n preprocess(t) {\n return t;\n }\n postprocess(t) {\n return t;\n }\n processAllTokens(t) {\n return t;\n }\n emStrongMask(t) {\n return t;\n }\n provideLexer(t = this.block) {\n return t ? nt.lex : nt.lexInline;\n }\n provideParser(t = this.block) {\n return t ? rt.parse : rt.parseInline;\n }\n}, Bp = class {\n defaults = Io();\n options = this.setOptions;\n parse = this.parseMarkdown(!0);\n parseInline = this.parseMarkdown(!1);\n Parser = rt;\n Renderer = Jr;\n TextRenderer = qo;\n Lexer = nt;\n Tokenizer = Zr;\n Hooks = Bn;\n constructor(...t) {\n this.use(...t);\n }\n walkTokens(t, e) {\n let n = [];\n for (let r of t) switch (n = n.concat(e.call(this, r)), r.type) {\n case \"table\": {\n let i = r;\n for (let o of i.header) n = n.concat(this.walkTokens(o.tokens, e));\n for (let o of i.rows) for (let a of o) n = n.concat(this.walkTokens(a.tokens, e));\n break;\n }\n case \"list\": {\n let i = r;\n n = n.concat(this.walkTokens(i.items, e));\n break;\n }\n default: {\n let i = r;\n this.defaults.extensions?.childTokens?.[i.type] ? this.defaults.extensions.childTokens[i.type].forEach((o) => {\n let a = i[o].flat(1 / 0);\n n = n.concat(this.walkTokens(a, e));\n }) : i.tokens && (n = n.concat(this.walkTokens(i.tokens, e)));\n }\n }\n return n;\n }\n use(...t) {\n let e = this.defaults.extensions || { renderers: {}, childTokens: {} };\n return t.forEach((n) => {\n let r = { ...n };\n if (r.async = this.defaults.async || r.async || !1, n.extensions && (n.extensions.forEach((i) => {\n if (!i.name) throw new Error(\"extension name required\");\n if (\"renderer\" in i) {\n let o = e.renderers[i.name];\n o ? e.renderers[i.name] = function(...a) {\n let l = i.renderer.apply(this, a);\n return l === !1 && (l = o.apply(this, a)), l;\n } : e.renderers[i.name] = i.renderer;\n }\n if (\"tokenizer\" in i) {\n if (!i.level || i.level !== \"block\" && i.level !== \"inline\") throw new Error(\"extension level must be 'block' or 'inline'\");\n let o = e[i.level];\n o ? o.unshift(i.tokenizer) : e[i.level] = [i.tokenizer], i.start && (i.level === \"block\" ? e.startBlock ? e.startBlock.push(i.start) : e.startBlock = [i.start] : i.level === \"inline\" && (e.startInline ? e.startInline.push(i.start) : e.startInline = [i.start]));\n }\n \"childTokens\" in i && i.childTokens && (e.childTokens[i.name] = i.childTokens);\n }), r.extensions = e), n.renderer) {\n let i = this.defaults.renderer || new Jr(this.defaults);\n for (let o in n.renderer) {\n if (!(o in i)) throw new Error(`renderer '${o}' does not exist`);\n if ([\"options\", \"parser\"].includes(o)) continue;\n let a = o, l = n.renderer[a], c = i[a];\n i[a] = (...u) => {\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d || \"\";\n };\n }\n r.renderer = i;\n }\n if (n.tokenizer) {\n let i = this.defaults.tokenizer || new Zr(this.defaults);\n for (let o in n.tokenizer) {\n if (!(o in i)) throw new Error(`tokenizer '${o}' does not exist`);\n if ([\"options\", \"rules\", \"lexer\"].includes(o)) continue;\n let a = o, l = n.tokenizer[a], c = i[a];\n i[a] = (...u) => {\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d;\n };\n }\n r.tokenizer = i;\n }\n if (n.hooks) {\n let i = this.defaults.hooks || new Bn();\n for (let o in n.hooks) {\n if (!(o in i)) throw new Error(`hook '${o}' does not exist`);\n if ([\"options\", \"block\"].includes(o)) continue;\n let a = o, l = n.hooks[a], c = i[a];\n Bn.passThroughHooks.has(o) ? i[a] = (u) => {\n if (this.defaults.async && Bn.passThroughHooksRespectAsync.has(o)) return (async () => {\n let m = await l.call(i, u);\n return c.call(i, m);\n })();\n let d = l.call(i, u);\n return c.call(i, d);\n } : i[a] = (...u) => {\n if (this.defaults.async) return (async () => {\n let m = await l.apply(i, u);\n return m === !1 && (m = await c.apply(i, u)), m;\n })();\n let d = l.apply(i, u);\n return d === !1 && (d = c.apply(i, u)), d;\n };\n }\n r.hooks = i;\n }\n if (n.walkTokens) {\n let i = this.defaults.walkTokens, o = n.walkTokens;\n r.walkTokens = function(a) {\n let l = [];\n return l.push(o.call(this, a)), i && (l = l.concat(i.call(this, a))), l;\n };\n }\n this.defaults = { ...this.defaults, ...r };\n }), this;\n }\n setOptions(t) {\n return this.defaults = { ...this.defaults, ...t }, this;\n }\n lexer(t, e) {\n return nt.lex(t, e ?? this.defaults);\n }\n parser(t, e) {\n return rt.parse(t, e ?? this.defaults);\n }\n parseMarkdown(t) {\n return (e, n) => {\n let r = { ...n }, i = { ...this.defaults, ...r }, o = this.onError(!!i.silent, !!i.async);\n if (this.defaults.async === !0 && r.async === !1) return o(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));\n if (typeof e > \"u\" || e === null) return o(new Error(\"marked(): input parameter is undefined or null\"));\n if (typeof e != \"string\") return o(new Error(\"marked(): input parameter is of type \" + Object.prototype.toString.call(e) + \", string expected\"));\n if (i.hooks && (i.hooks.options = i, i.hooks.block = t), i.async) return (async () => {\n let a = i.hooks ? await i.hooks.preprocess(e) : e, l = await (i.hooks ? await i.hooks.provideLexer(t) : t ? nt.lex : nt.lexInline)(a, i), c = i.hooks ? await i.hooks.processAllTokens(l) : l;\n i.walkTokens && await Promise.all(this.walkTokens(c, i.walkTokens));\n let u = await (i.hooks ? await i.hooks.provideParser(t) : t ? rt.parse : rt.parseInline)(c, i);\n return i.hooks ? await i.hooks.postprocess(u) : u;\n })().catch(o);\n try {\n i.hooks && (e = i.hooks.preprocess(e));\n let a = (i.hooks ? i.hooks.provideLexer(t) : t ? nt.lex : nt.lexInline)(e, i);\n i.hooks && (a = i.hooks.processAllTokens(a)), i.walkTokens && this.walkTokens(a, i.walkTokens);\n let l = (i.hooks ? i.hooks.provideParser(t) : t ? rt.parse : rt.parseInline)(a, i);\n return i.hooks && (l = i.hooks.postprocess(l)), l;\n } catch (a) {\n return o(a);\n }\n };\n }\n onError(t, e) {\n return (n) => {\n if (n.message += `\nPlease report this to https://github.com/markedjs/marked.`, t) {\n let r = \"<p>An error occurred:</p><pre>\" + ht(n.message + \"\", !0) + \"</pre>\";\n return e ? Promise.resolve(r) : r;\n }\n if (e) return Promise.reject(n);\n throw n;\n };\n }\n}, Zt = new Bp();\nfunction X(t, e) {\n return Zt.parse(t, e);\n}\nX.options = X.setOptions = function(t) {\n return Zt.setOptions(t), X.defaults = Zt.defaults, nc(X.defaults), X;\n};\nX.getDefaults = Io;\nX.defaults = tn;\nX.use = function(...t) {\n return Zt.use(...t), X.defaults = Zt.defaults, nc(X.defaults), X;\n};\nX.walkTokens = function(t, e) {\n return Zt.walkTokens(t, e);\n};\nX.parseInline = Zt.parseInline;\nX.Parser = rt;\nX.parser = rt.parse;\nX.Renderer = Jr;\nX.TextRenderer = qo;\nX.Lexer = nt;\nX.lexer = nt.lex;\nX.Tokenizer = Zr;\nX.Hooks = Bn;\nX.parse = X;\nX.options;\nX.setOptions;\nX.use;\nX.walkTokens;\nX.parseInline;\nrt.parse;\nnt.lex;\nfunction cs(t, e) {\n (e == null || e > t.length) && (e = t.length);\n for (var n = 0, r = Array(e); n < e; n++) r[n] = t[n];\n return r;\n}\nfunction Vp(t) {\n if (Array.isArray(t)) return t;\n}\nfunction Hp(t, e) {\n var n = t == null ? null : typeof Symbol < \"u\" && t[Symbol.iterator] || t[\"@@iterator\"];\n if (n != null) {\n var r, i, o, a, l = [], c = !0, u = !1;\n try {\n if (o = (n = n.call(t)).next, e !== 0) for (; !(c = (r = o.call(n)).done) && (l.push(r.value), l.length !== e); c = !0) ;\n } catch (d) {\n u = !0, i = d;\n } finally {\n try {\n if (!c && n.return != null && (a = n.return(), Object(a) !== a)) return;\n } finally {\n if (u) throw i;\n }\n }\n return l;\n }\n}\nfunction Wp() {\n throw new TypeError(`Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);\n}\nfunction Qp(t, e) {\n return Vp(t) || Hp(t, e) || Gp(t, e) || Wp();\n}\nfunction Gp(t, e) {\n if (t) {\n if (typeof t == \"string\") return cs(t, e);\n var n = {}.toString.call(t).slice(8, -1);\n return n === \"Object\" && t.constructor && (n = t.constructor.name), n === \"Map\" || n === \"Set\" ? Array.from(t) : n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? cs(t, e) : void 0;\n }\n}\nconst hc = Object.entries, us = Object.setPrototypeOf, Kp = Object.isFrozen, Yp = Object.getPrototypeOf, Xp = Object.getOwnPropertyDescriptor;\nlet Ce = Object.freeze, Ae = Object.seal, mn = Object.create, fc = typeof Reflect < \"u\" && Reflect, lo = fc.apply, co = fc.construct;\nCe || (Ce = function(e) {\n return e;\n});\nAe || (Ae = function(e) {\n return e;\n});\nlo || (lo = function(e, n) {\n for (var r = arguments.length, i = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)\n i[o - 2] = arguments[o];\n return e.apply(n, i);\n});\nco || (co = function(e) {\n for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), i = 1; i < n; i++)\n r[i - 1] = arguments[i];\n return new e(...r);\n});\nconst On = ye(Array.prototype.forEach), Zp = ye(Array.prototype.lastIndexOf), ds = ye(Array.prototype.pop), hn = ye(Array.prototype.push), Jp = ye(Array.prototype.splice), Ot = Array.isArray, Vn = ye(String.prototype.toLowerCase), Ei = ye(String.prototype.toString), hs = ye(String.prototype.match), $n = ye(String.prototype.replace), fs = ye(String.prototype.indexOf), em = ye(String.prototype.trim), tm = ye(Number.prototype.toString), nm = ye(Boolean.prototype.toString), ps = typeof BigInt > \"u\" ? null : ye(BigInt.prototype.toString), ms = typeof Symbol > \"u\" ? null : ye(Symbol.prototype.toString), je = ye(Object.prototype.hasOwnProperty), Dn = ye(Object.prototype.toString), Te = ye(RegExp.prototype.test), Wt = rm(TypeError);\nfunction ye(t) {\n return function(e) {\n e instanceof RegExp && (e.lastIndex = 0);\n for (var n = arguments.length, r = new Array(n > 1 ? n - 1 : 0), i = 1; i < n; i++)\n r[i - 1] = arguments[i];\n return lo(t, e, r);\n };\n}\nfunction rm(t) {\n return function() {\n for (var e = arguments.length, n = new Array(e), r = 0; r < e; r++)\n n[r] = arguments[r];\n return co(t, n);\n };\n}\nfunction Q(t, e) {\n let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Vn;\n if (us && us(t, null), !Ot(e))\n return t;\n let r = e.length;\n for (; r--; ) {\n let i = e[r];\n if (typeof i == \"string\") {\n const o = n(i);\n o !== i && (Kp(e) || (e[r] = o), i = o);\n }\n t[i] = !0;\n }\n return t;\n}\nfunction im(t) {\n for (let e = 0; e < t.length; e++)\n je(t, e) || (t[e] = null);\n return t;\n}\nfunction $e(t) {\n const e = mn(null);\n for (const r of hc(t)) {\n var n = Qp(r, 2);\n const i = n[0], o = n[1];\n je(t, i) && (Ot(o) ? e[i] = im(o) : o && typeof o == \"object\" && o.constructor === Object ? e[i] = $e(o) : e[i] = o);\n }\n return e;\n}\nfunction om(t) {\n switch (typeof t) {\n case \"string\":\n return t;\n case \"number\":\n return tm(t);\n case \"boolean\":\n return nm(t);\n case \"bigint\":\n return ps ? ps(t) : \"0\";\n case \"symbol\":\n return ms ? ms(t) : \"Symbol()\";\n case \"undefined\":\n return Dn(t);\n case \"function\":\n case \"object\": {\n if (t === null)\n return Dn(t);\n const e = t, n = ft(e, \"toString\");\n if (typeof n == \"function\") {\n const r = n(e);\n return typeof r == \"string\" ? r : Dn(r);\n }\n return Dn(t);\n }\n default:\n return Dn(t);\n }\n}\nfunction ft(t, e) {\n for (; t !== null; ) {\n const r = Xp(t, e);\n if (r) {\n if (r.get)\n return ye(r.get);\n if (typeof r.value == \"function\")\n return ye(r.value);\n }\n t = Yp(t);\n }\n function n() {\n return null;\n }\n return n;\n}\nfunction am(t) {\n try {\n return Te(t, \"\"), !0;\n } catch {\n return !1;\n }\n}\nconst gs = Ce([\"a\", \"abbr\", \"acronym\", \"address\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"bdi\", \"bdo\", \"big\", \"blink\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"center\", \"cite\", \"code\", \"col\", \"colgroup\", \"content\", \"data\", \"datalist\", \"dd\", \"decorator\", \"del\", \"details\", \"dfn\", \"dialog\", \"dir\", \"div\", \"dl\", \"dt\", \"element\", \"em\", \"fieldset\", \"figcaption\", \"figure\", \"font\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"img\", \"input\", \"ins\", \"kbd\", \"label\", \"legend\", \"li\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meter\", \"nav\", \"nobr\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"picture\", \"pre\", \"progress\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"search\", \"section\", \"select\", \"shadow\", \"slot\", \"small\", \"source\", \"spacer\", \"span\", \"strike\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"template\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"tr\", \"track\", \"tt\", \"u\", \"ul\", \"var\", \"video\", \"wbr\"]), Ii = Ce([\"svg\", \"a\", \"altglyph\", \"altglyphdef\", \"altglyphitem\", \"animatecolor\", \"animatemotion\", \"animatetransform\", \"circle\", \"clippath\", \"defs\", \"desc\", \"ellipse\", \"enterkeyhint\", \"exportparts\", \"filter\", \"font\", \"g\", \"glyph\", \"glyphref\", \"hkern\", \"image\", \"inputmode\", \"line\", \"lineargradient\", \"marker\", \"mask\", \"metadata\", \"mpath\", \"part\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialgradient\", \"rect\", \"stop\", \"style\", \"switch\", \"symbol\", \"text\", \"textpath\", \"title\", \"tref\", \"tspan\", \"view\", \"vkern\"]), Mi = Ce([\"feBlend\", \"feColorMatrix\", \"feComponentTransfer\", \"feComposite\", \"feConvolveMatrix\", \"feDiffuseLighting\", \"feDisplacementMap\", \"feDistantLight\", \"feDropShadow\", \"feFlood\", \"feFuncA\", \"feFuncB\", \"feFuncG\", \"feFuncR\", \"feGaussianBlur\", \"feImage\", \"feMerge\", \"feMergeNode\", \"feMorphology\", \"feOffset\", \"fePointLight\", \"feSpecularLighting\", \"feSpotLight\", \"feTile\", \"feTurbulence\"]), sm = Ce([\"animate\", \"color-profile\", \"cursor\", \"discard\", \"font-face\", \"font-face-format\", \"font-face-name\", \"font-face-src\", \"font-face-uri\", \"foreignobject\", \"hatch\", \"hatchpath\", \"mesh\", \"meshgradient\", \"meshpatch\", \"meshrow\", \"missing-glyph\", \"script\", \"set\", \"solidcolor\", \"unknown\", \"use\"]), Pi = Ce([\"math\", \"menclose\", \"merror\", \"mfenced\", \"mfrac\", \"mglyph\", \"mi\", \"mlabeledtr\", \"mmultiscripts\", \"mn\", \"mo\", \"mover\", \"mpadded\", \"mphantom\", \"mroot\", \"mrow\", \"ms\", \"mspace\", \"msqrt\", \"mstyle\", \"msub\", \"msup\", \"msubsup\", \"mtable\", \"mtd\", \"mtext\", \"mtr\", \"munder\", \"munderover\", \"mprescripts\"]), lm = Ce([\"maction\", \"maligngroup\", \"malignmark\", \"mlongdiv\", \"mscarries\", \"mscarry\", \"msgroup\", \"mstack\", \"msline\", \"msrow\", \"semantics\", \"annotation\", \"annotation-xml\", \"mprescripts\", \"none\"]), xs = Ce([\"#text\"]), bs = Ce([\"accept\", \"action\", \"align\", \"alt\", \"autocapitalize\", \"autocomplete\", \"autopictureinpicture\", \"autoplay\", \"background\", \"bgcolor\", \"border\", \"capture\", \"cellpadding\", \"cellspacing\", \"checked\", \"cite\", \"class\", \"clear\", \"color\", \"cols\", \"colspan\", \"command\", \"commandfor\", \"controls\", \"controlslist\", \"coords\", \"crossorigin\", \"datetime\", \"decoding\", \"default\", \"dir\", \"disabled\", \"disablepictureinpicture\", \"disableremoteplayback\", \"download\", \"draggable\", \"enctype\", \"enterkeyhint\", \"exportparts\", \"face\", \"for\", \"headers\", \"height\", \"hidden\", \"high\", \"href\", \"hreflang\", \"id\", \"inert\", \"inputmode\", \"integrity\", \"ismap\", \"kind\", \"label\", \"lang\", \"list\", \"loading\", \"loop\", \"low\", \"max\", \"maxlength\", \"media\", \"method\", \"min\", \"minlength\", \"multiple\", \"muted\", \"name\", \"nonce\", \"noshade\", \"novalidate\", \"nowrap\", \"open\", \"optimum\", \"part\", \"pattern\", \"placeholder\", \"playsinline\", \"popover\", \"popovertarget\", \"popovertargetaction\", \"poster\", \"preload\", \"pubdate\", \"radiogroup\", \"readonly\", \"rel\", \"required\", \"rev\", \"reversed\", \"role\", \"rows\", \"rowspan\", \"spellcheck\", \"scope\", \"selected\", \"shape\", \"size\", \"sizes\", \"slot\", \"span\", \"srclang\", \"start\", \"src\", \"srcset\", \"step\", \"style\", \"summary\", \"tabindex\", \"title\", \"translate\", \"type\", \"usemap\", \"valign\", \"value\", \"width\", \"wrap\", \"xmlns\"]), Ni = Ce([\"accent-height\", \"accumulate\", \"additive\", \"alignment-baseline\", \"amplitude\", \"ascent\", \"attributename\", \"attributetype\", \"azimuth\", \"basefrequency\", \"baseline-shift\", \"begin\", \"bias\", \"by\", \"class\", \"clip\", \"clippathunits\", \"clip-path\", \"clip-rule\", \"color\", \"color-interpolation\", \"color-interpolation-filters\", \"color-profile\", \"color-rendering\", \"cx\", \"cy\", \"d\", \"dx\", \"dy\", \"diffuseconstant\", \"direction\", \"display\", \"divisor\", \"dur\", \"edgemode\", \"elevation\", \"end\", \"exponent\", \"fill\", \"fill-opacity\", \"fill-rule\", \"filter\", \"filterunits\", \"flood-color\", \"flood-opacity\", \"font-family\", \"font-size\", \"font-size-adjust\", \"font-stretch\", \"font-style\", \"font-variant\", \"font-weight\", \"fx\", \"fy\", \"g1\", \"g2\", \"glyph-name\", \"glyphref\", \"gradientunits\", \"gradienttransform\", \"height\", \"href\", \"id\", \"image-rendering\", \"in\", \"in2\", \"intercept\", \"k\", \"k1\", \"k2\", \"k3\", \"k4\", \"kerning\", \"keypoints\", \"keysplines\", \"keytimes\", \"lang\", \"lengthadjust\", \"letter-spacing\", \"kernelmatrix\", \"kernelunitlength\", \"lighting-color\", \"local\", \"marker-end\", \"marker-mid\", \"marker-start\", \"markerheight\", \"markerunits\", \"markerwidth\", \"maskcontentunits\", \"maskunits\", \"max\", \"mask\", \"mask-type\", \"media\", \"method\", \"mode\", \"min\", \"name\", \"numoctaves\", \"offset\", \"operator\", \"opacity\", \"order\", \"orient\", \"orientation\", \"origin\", \"overflow\", \"paint-order\", \"path\", \"pathlength\", \"patterncontentunits\", \"patterntransform\", \"patternunits\", \"points\", \"preservealpha\", \"preserveaspectratio\", \"primitiveunits\", \"r\", \"rx\", \"ry\", \"radius\", \"refx\", \"refy\", \"repeatcount\", \"repeatdur\", \"restart\", \"result\", \"rotate\", \"scale\", \"seed\", \"shape-rendering\", \"slope\", \"specularconstant\", \"specularexponent\", \"spreadmethod\", \"startoffset\", \"stddeviation\", \"stitchtiles\", \"stop-color\", \"stop-opacity\", \"stroke-dasharray\", \"stroke-dashoffset\", \"stroke-linecap\", \"stroke-linejoin\", \"stroke-miterlimit\", \"stroke-opacity\", \"stroke\", \"stroke-width\", \"style\", \"surfacescale\", \"systemlanguage\", \"tabindex\", \"tablevalues\", \"targetx\", \"targety\", \"transform\", \"transform-origin\", \"text-anchor\", \"text-decoration\", \"text-rendering\", \"textlength\", \"type\", \"u1\", \"u2\", \"unicode\", \"values\", \"viewbox\", \"visibility\", \"version\", \"vert-adv-y\", \"vert-origin-x\", \"vert-origin-y\", \"width\", \"word-spacing\", \"wrap\", \"writing-mode\", \"xchannelselector\", \"ychannelselector\", \"x\", \"x1\", \"x2\", \"xmlns\", \"y\", \"y1\", \"y2\", \"z\", \"zoomandpan\"]), vs = Ce([\"accent\", \"accentunder\", \"align\", \"bevelled\", \"close\", \"columnalign\", \"columnlines\", \"columnspacing\", \"columnspan\", \"denomalign\", \"depth\", \"dir\", \"display\", \"displaystyle\", \"encoding\", \"fence\", \"frame\", \"height\", \"href\", \"id\", \"largeop\", \"length\", \"linethickness\", \"lquote\", \"lspace\", \"mathbackground\", \"mathcolor\", \"mathsize\", \"mathvariant\", \"maxsize\", \"minsize\", \"movablelimits\", \"notation\", \"numalign\", \"open\", \"rowalign\", \"rowlines\", \"rowspacing\", \"rowspan\", \"rspace\", \"rquote\", \"scriptlevel\", \"scriptminsize\", \"scriptsizemultiplier\", \"selection\", \"separator\", \"separators\", \"stretchy\", \"subscriptshift\", \"supscriptshift\", \"symmetric\", \"voffset\", \"width\", \"xmlns\"]), Tr = Ce([\"xlink:href\", \"xml:id\", \"xlink:title\", \"xml:space\", \"xmlns:xlink\"]), cm = Ae(/{{[\\w\\W]*|^[\\w\\W]*}}/g), um = Ae(/<%[\\w\\W]*|^[\\w\\W]*%>/g), dm = Ae(/\\${[\\w\\W]*/g), hm = Ae(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/), fm = Ae(/^aria-[\\-\\w]+$/), ys = Ae(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i\n // eslint-disable-line no-useless-escape\n), pm = Ae(/^(?:\\w+script|data):/i), mm = Ae(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g\n // eslint-disable-line no-control-regex\n), gm = Ae(/^html$/i), xm = Ae(/^[a-z][.\\w]*(-[.\\w]+)+$/i), ws = Ae(/<[/\\w!]/g), bm = Ae(/<[/\\w]/g), vm = Ae(/<\\/no(script|embed|frames)/i), ym = Ae(/\\/>/i), dt = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n processingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12\n // Deprecated\n}, wm = function() {\n return typeof window > \"u\" ? null : window;\n}, km = function(e, n) {\n if (typeof e != \"object\" || typeof e.createPolicy != \"function\")\n return null;\n let r = null;\n const i = \"data-tt-policy-suffix\";\n n && n.hasAttribute(i) && (r = n.getAttribute(i));\n const o = \"dompurify\" + (r ? \"#\" + r : \"\");\n try {\n return e.createPolicy(o, {\n createHTML(a) {\n return a;\n },\n createScriptURL(a) {\n return a;\n }\n });\n } catch {\n return console.warn(\"TrustedTypes policy \" + o + \" could not be created.\"), null;\n }\n}, ks = function() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n}, Mt = function(e, n, r, i) {\n return je(e, n) && Ot(e[n]) ? Q(i.base ? $e(i.base) : {}, e[n], i.transform) : r;\n};\nfunction pc() {\n let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : wm();\n const e = (S) => pc(S);\n if (e.version = \"3.4.11\", e.removed = [], !t || !t.document || t.document.nodeType !== dt.document || !t.Element)\n return e.isSupported = !1, e;\n let n = t.document;\n const r = n, i = r.currentScript;\n t.DocumentFragment;\n const o = t.HTMLTemplateElement, a = t.Node, l = t.Element, c = t.NodeFilter, u = t.NamedNodeMap;\n u === void 0 && (t.NamedNodeMap || t.MozNamedAttrMap), t.HTMLFormElement;\n const d = t.DOMParser, m = t.trustedTypes, h = l.prototype, p = ft(h, \"cloneNode\"), x = ft(h, \"remove\"), w = ft(h, \"nextSibling\"), b = ft(h, \"childNodes\"), v = ft(h, \"parentNode\"), k = ft(h, \"shadowRoot\"), A = ft(h, \"attributes\"), N = a && a.prototype ? ft(a.prototype, \"nodeType\") : null, M = a && a.prototype ? ft(a.prototype, \"nodeName\") : null;\n if (typeof o == \"function\") {\n const S = n.createElement(\"template\");\n S.content && S.content.ownerDocument && (n = S.content.ownerDocument);\n }\n let T, L = \"\", E, se = !1, $ = 0;\n const y = function() {\n if ($ > 0)\n throw Wt('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the \"DOMPurify and Trusted Types\" section of the README.');\n }, re = function(f) {\n y(), $++;\n try {\n return T.createHTML(f);\n } finally {\n $--;\n }\n }, C = function(f) {\n y(), $++;\n try {\n return T.createScriptURL(f);\n } finally {\n $--;\n }\n }, q = function() {\n return se || (E = km(m, i), se = !0), E;\n }, me = n, z = me.implementation, Ne = me.createNodeIterator, at = me.createDocumentFragment, yt = me.getElementsByTagName, Ft = r.importNode;\n let te = ks();\n e.isSupported = typeof hc == \"function\" && typeof v == \"function\" && z && z.createHTMLDocument !== void 0;\n const Be = cm, At = um, ue = dm, F = hm, Ee = fm, Ut = pm, we = mm, Ge = xm;\n let Se = ys, ee = null;\n const Bt = Q({}, [...gs, ...Ii, ...Mi, ...Pi, ...xs]);\n let _ = null;\n const B = Q({}, [...bs, ...Ni, ...vs, ...Tr]);\n let W = Object.seal(mn(null, {\n tagNameCheck: {\n writable: !0,\n configurable: !1,\n enumerable: !0,\n value: null\n },\n attributeNameCheck: {\n writable: !0,\n configurable: !1,\n enumerable: !0,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: !0,\n configurable: !1,\n enumerable: !0,\n value: !1\n }\n })), de = null, st = null;\n const Le = Object.seal(mn(null, {\n tagCheck: {\n writable: !0,\n configurable: !1,\n enumerable: !0,\n value: null\n },\n attributeCheck: {\n writable: !0,\n configurable: !1,\n enumerable: !0,\n value: null\n }\n }));\n let Ve = !0, nn = !0, fr = !1, pr = !0, lt = !1, Vt = !0, wt = !1, Rn = !1, En = null, In = null, rn = !1, Rt = !1, on = !1, an = !1, K = !0, V = !1;\n const fe = \"user-content-\";\n let et = !0, ge = !1, ze = {}, Ke = null;\n const Mn = Q({}, [\n \"annotation-xml\",\n \"audio\",\n \"colgroup\",\n \"desc\",\n \"foreignobject\",\n \"head\",\n \"iframe\",\n \"math\",\n \"mi\",\n \"mn\",\n \"mo\",\n \"ms\",\n \"mtext\",\n \"noembed\",\n \"noframes\",\n \"noscript\",\n \"plaintext\",\n \"script\",\n // <selectedcontent> mirrors the selected <option>'s subtree, cloned by\n // the UA (customizable <select>) — including any on* handlers — and the\n // engine re-mirrors synchronously whenever a removal changes which\n // option/selectedcontent is current, even inside DOMPurify's inert\n // DOMParser document. Hoisting its children on removal re-inserts a fresh\n // mirror target ahead of the walk, which the engine refills, looping\n // forever (DoS) and amplifying output. Dropping its content on removal\n // (rather than hoisting) breaks that cascade; the content is a duplicate\n // of the option, which is sanitized on its own. See campaign-3 F1/F6.\n \"selectedcontent\",\n \"style\",\n \"svg\",\n \"template\",\n \"thead\",\n \"title\",\n \"video\",\n \"xmp\"\n ]);\n let Uo = null;\n const Bo = Q({}, [\"audio\", \"video\", \"img\", \"source\", \"image\", \"track\"]);\n let ui = null;\n const Vo = Q({}, [\"alt\", \"class\", \"for\", \"id\", \"label\", \"name\", \"pattern\", \"placeholder\", \"role\", \"summary\", \"title\", \"value\", \"style\", \"xmlns\"]), mr = \"http://www.w3.org/1998/Math/MathML\", gr = \"http://www.w3.org/2000/svg\", ct = \"http://www.w3.org/1999/xhtml\";\n let sn = ct, di = !1, hi = null;\n const Mc = Q({}, [mr, gr, ct], Ei), Ho = Ce([\"mi\", \"mo\", \"mn\", \"ms\", \"mtext\"]);\n let fi = Q({}, Ho);\n const Wo = Ce([\"annotation-xml\"]);\n let pi = Q({}, Wo);\n const Pc = Q({}, [\"title\", \"style\", \"font\", \"a\", \"script\"]);\n let Pn = null;\n const Nc = [\"application/xhtml+xml\", \"text/html\"], Lc = \"text/html\";\n let pe = null, ln = null;\n const Oc = n.createElement(\"form\"), Qo = function(f) {\n return f instanceof RegExp || f instanceof Function;\n }, mi = function() {\n let f = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n if (ln && ln === f)\n return;\n (!f || typeof f != \"object\") && (f = {}), f = $e(f), Pn = // eslint-disable-next-line unicorn/prefer-includes\n Nc.indexOf(f.PARSER_MEDIA_TYPE) === -1 ? Lc : f.PARSER_MEDIA_TYPE, pe = Pn === \"application/xhtml+xml\" ? Ei : Vn, ee = Mt(f, \"ALLOWED_TAGS\", Bt, {\n transform: pe\n }), _ = Mt(f, \"ALLOWED_ATTR\", B, {\n transform: pe\n }), hi = Mt(f, \"ALLOWED_NAMESPACES\", Mc, {\n transform: Ei\n }), ui = Mt(f, \"ADD_URI_SAFE_ATTR\", Vo, {\n transform: pe,\n base: Vo\n }), Uo = Mt(f, \"ADD_DATA_URI_TAGS\", Bo, {\n transform: pe,\n base: Bo\n }), Ke = Mt(f, \"FORBID_CONTENTS\", Mn, {\n transform: pe\n }), de = Mt(f, \"FORBID_TAGS\", $e({}), {\n transform: pe\n }), st = Mt(f, \"FORBID_ATTR\", $e({}), {\n transform: pe\n }), ze = je(f, \"USE_PROFILES\") ? f.USE_PROFILES && typeof f.USE_PROFILES == \"object\" ? $e(f.USE_PROFILES) : f.USE_PROFILES : !1, Ve = f.ALLOW_ARIA_ATTR !== !1, nn = f.ALLOW_DATA_ATTR !== !1, fr = f.ALLOW_UNKNOWN_PROTOCOLS || !1, pr = f.ALLOW_SELF_CLOSE_IN_ATTR !== !1, lt = f.SAFE_FOR_TEMPLATES || !1, Vt = f.SAFE_FOR_XML !== !1, wt = f.WHOLE_DOCUMENT || !1, Rt = f.RETURN_DOM || !1, on = f.RETURN_DOM_FRAGMENT || !1, an = f.RETURN_TRUSTED_TYPE || !1, rn = f.FORCE_BODY || !1, K = f.SANITIZE_DOM !== !1, V = f.SANITIZE_NAMED_PROPS || !1, et = f.KEEP_CONTENT !== !1, ge = f.IN_PLACE || !1, Se = am(f.ALLOWED_URI_REGEXP) ? f.ALLOWED_URI_REGEXP : ys, sn = typeof f.NAMESPACE == \"string\" ? f.NAMESPACE : ct, fi = je(f, \"MATHML_TEXT_INTEGRATION_POINTS\") && f.MATHML_TEXT_INTEGRATION_POINTS && typeof f.MATHML_TEXT_INTEGRATION_POINTS == \"object\" ? $e(f.MATHML_TEXT_INTEGRATION_POINTS) : Q({}, Ho), pi = je(f, \"HTML_INTEGRATION_POINTS\") && f.HTML_INTEGRATION_POINTS && typeof f.HTML_INTEGRATION_POINTS == \"object\" ? $e(f.HTML_INTEGRATION_POINTS) : Q({}, Wo);\n const g = je(f, \"CUSTOM_ELEMENT_HANDLING\") && f.CUSTOM_ELEMENT_HANDLING && typeof f.CUSTOM_ELEMENT_HANDLING == \"object\" ? $e(f.CUSTOM_ELEMENT_HANDLING) : mn(null);\n if (W = mn(null), je(g, \"tagNameCheck\") && Qo(g.tagNameCheck) && (W.tagNameCheck = g.tagNameCheck), je(g, \"attributeNameCheck\") && Qo(g.attributeNameCheck) && (W.attributeNameCheck = g.attributeNameCheck), je(g, \"allowCustomizedBuiltInElements\") && typeof g.allowCustomizedBuiltInElements == \"boolean\" && (W.allowCustomizedBuiltInElements = g.allowCustomizedBuiltInElements), Ae(W), lt && (nn = !1), on && (Rt = !0), ze && (ee = Q({}, xs), _ = mn(null), ze.html === !0 && (Q(ee, gs), Q(_, bs)), ze.svg === !0 && (Q(ee, Ii), Q(_, Ni), Q(_, Tr)), ze.svgFilters === !0 && (Q(ee, Mi), Q(_, Ni), Q(_, Tr)), ze.mathMl === !0 && (Q(ee, Pi), Q(_, vs), Q(_, Tr))), Le.tagCheck = null, Le.attributeCheck = null, je(f, \"ADD_TAGS\") && (typeof f.ADD_TAGS == \"function\" ? Le.tagCheck = f.ADD_TAGS : Ot(f.ADD_TAGS) && (ee === Bt && (ee = $e(ee)), Q(ee, f.ADD_TAGS, pe))), je(f, \"ADD_ATTR\") && (typeof f.ADD_ATTR == \"function\" ? Le.attributeCheck = f.ADD_ATTR : Ot(f.ADD_ATTR) && (_ === B && (_ = $e(_)), Q(_, f.ADD_ATTR, pe))), je(f, \"ADD_URI_SAFE_ATTR\") && Ot(f.ADD_URI_SAFE_ATTR) && Q(ui, f.ADD_URI_SAFE_ATTR, pe), je(f, \"FORBID_CONTENTS\") && Ot(f.FORBID_CONTENTS) && (Ke === Mn && (Ke = $e(Ke)), Q(Ke, f.FORBID_CONTENTS, pe)), je(f, \"ADD_FORBID_CONTENTS\") && Ot(f.ADD_FORBID_CONTENTS) && (Ke === Mn && (Ke = $e(Ke)), Q(Ke, f.ADD_FORBID_CONTENTS, pe)), et && (ee[\"#text\"] = !0), wt && Q(ee, [\"html\", \"head\", \"body\"]), ee.table && (Q(ee, [\"tbody\"]), delete de.tbody), f.TRUSTED_TYPES_POLICY) {\n if (typeof f.TRUSTED_TYPES_POLICY.createHTML != \"function\")\n throw Wt('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n if (typeof f.TRUSTED_TYPES_POLICY.createScriptURL != \"function\")\n throw Wt('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n const j = T;\n T = f.TRUSTED_TYPES_POLICY;\n try {\n L = re(\"\");\n } catch (R) {\n throw T = j, R;\n }\n } else f.TRUSTED_TYPES_POLICY === null ? (T = void 0, L = \"\") : (T === void 0 && (T = q()), T && typeof L == \"string\" && (L = re(\"\")));\n Ce && Ce(f), ln = f;\n }, Go = Q({}, [...Ii, ...Mi, ...sm]), Ko = Q({}, [...Pi, ...lm]), $c = function(f, g, j) {\n return g.namespaceURI === ct ? f === \"svg\" : g.namespaceURI === mr ? f === \"svg\" && (j === \"annotation-xml\" || fi[j]) : !!Go[f];\n }, Dc = function(f, g, j) {\n return g.namespaceURI === ct ? f === \"math\" : g.namespaceURI === gr ? f === \"math\" && pi[j] : !!Ko[f];\n }, qc = function(f, g, j) {\n return g.namespaceURI === gr && !pi[j] || g.namespaceURI === mr && !fi[j] ? !1 : !Ko[f] && (Pc[f] || !Go[f]);\n }, zc = function(f) {\n let g = v(f);\n (!g || !g.tagName) && (g = {\n namespaceURI: sn,\n tagName: \"template\"\n });\n const j = Vn(f.tagName), R = Vn(g.tagName);\n return hi[f.namespaceURI] ? f.namespaceURI === gr ? $c(j, g, R) : f.namespaceURI === mr ? Dc(j, g, R) : f.namespaceURI === ct ? qc(j, g, R) : !!(Pn === \"application/xhtml+xml\" && hi[f.namespaceURI]) : !1;\n }, Et = function(f) {\n hn(e.removed, {\n element: f\n });\n try {\n v(f).removeChild(f);\n } catch {\n if (x(f), !v(f))\n throw Wt(\"a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place\");\n }\n }, Yo = function(f) {\n const g = b(f);\n if (g) {\n const R = [];\n On(g, (U) => {\n hn(R, U);\n }), On(R, (U) => {\n try {\n x(U);\n } catch {\n }\n });\n }\n const j = A(f);\n if (j)\n for (let R = j.length - 1; R >= 0; --R) {\n const U = j[R], Y = U && U.name;\n if (typeof Y == \"string\")\n try {\n f.removeAttribute(Y);\n } catch {\n }\n }\n }, Ht = function(f, g) {\n try {\n hn(e.removed, {\n attribute: g.getAttributeNode(f),\n from: g\n });\n } catch {\n hn(e.removed, {\n attribute: null,\n from: g\n });\n }\n if (g.removeAttribute(f), f === \"is\")\n if (Rt || on)\n try {\n Et(g);\n } catch {\n }\n else\n try {\n g.setAttribute(f, \"\");\n } catch {\n }\n }, Fc = function(f) {\n const g = A(f);\n if (g)\n for (let j = g.length - 1; j >= 0; --j) {\n const R = g[j], U = R && R.name;\n if (!(typeof U != \"string\" || _[pe(U)]))\n try {\n f.removeAttribute(U);\n } catch {\n }\n }\n }, Uc = function(f) {\n const g = [f];\n for (; g.length > 0; ) {\n const j = g.pop();\n (N ? N(j) : j.nodeType) === dt.element && Fc(j);\n const U = b(j);\n if (U)\n for (let Y = U.length - 1; Y >= 0; --Y)\n g.push(U[Y]);\n }\n }, Xo = function(f) {\n let g = null, j = null;\n if (rn)\n f = \"<remove></remove>\" + f;\n else {\n const Y = hs(f, /^[\\r\\n\\t ]+/);\n j = Y && Y[0];\n }\n Pn === \"application/xhtml+xml\" && sn === ct && (f = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + f + \"</body></html>\");\n const R = T ? re(f) : f;\n if (sn === ct)\n try {\n g = new d().parseFromString(R, Pn);\n } catch {\n }\n if (!g || !g.documentElement) {\n g = z.createDocument(sn, \"template\", null);\n try {\n g.documentElement.innerHTML = di ? L : R;\n } catch {\n }\n }\n const U = g.body || g.documentElement;\n return f && j && U.insertBefore(n.createTextNode(j), U.childNodes[0] || null), sn === ct ? yt.call(g, wt ? \"html\" : \"body\")[0] : wt ? g.documentElement : U;\n }, Zo = function(f) {\n return Ne.call(\n f.ownerDocument || f,\n f,\n // eslint-disable-next-line no-bitwise\n c.SHOW_ELEMENT | c.SHOW_COMMENT | c.SHOW_TEXT | c.SHOW_PROCESSING_INSTRUCTION | c.SHOW_CDATA_SECTION,\n null\n );\n }, xr = function(f) {\n return f = $n(f, Be, \" \"), f = $n(f, At, \" \"), f = $n(f, ue, \" \"), f;\n }, gi = function(f) {\n var g;\n f.normalize();\n const j = Ne.call(\n f.ownerDocument || f,\n f,\n // eslint-disable-next-line no-bitwise\n c.SHOW_TEXT | c.SHOW_COMMENT | c.SHOW_CDATA_SECTION | c.SHOW_PROCESSING_INSTRUCTION,\n null\n );\n let R = j.nextNode();\n for (; R; )\n R.data = xr(R.data), R = j.nextNode();\n const U = (g = f.querySelectorAll) === null || g === void 0 ? void 0 : g.call(f, \"template\");\n U && On(U, (Y) => {\n cn(Y.content) && gi(Y.content);\n });\n }, br = function(f) {\n const g = M ? M(f) : null;\n return typeof g != \"string\" || pe(g) !== \"form\" ? !1 : typeof f.nodeName != \"string\" || typeof f.textContent != \"string\" || typeof f.removeChild != \"function\" || // Realm-safe NamedNodeMap detection: equality against the cached\n // prototype getter. Clobbered .attributes (e.g. <input name=\"attributes\">)\n // makes the direct read diverge from the cached read; a clean form\n // (same-realm OR foreign-realm) has both reads pointing at the same\n // canonical NamedNodeMap.\n f.attributes !== A(f) || typeof f.removeAttribute != \"function\" || typeof f.setAttribute != \"function\" || typeof f.namespaceURI != \"string\" || typeof f.insertBefore != \"function\" || typeof f.hasChildNodes != \"function\" || // NodeType clobbering probe. Cached Node.prototype.nodeType getter\n // returns the integer 1 for any Element regardless of realm; direct\n // read on a clobbered form (e.g. <input name=\"nodeType\">) returns\n // the named child element. Cheap addition — nodeType is read from\n // an internal slot, no serialization cost — and removes a residual\n // clobbering surface used by several mXSS / PI / comment branches\n // in _sanitizeElements that compare currentNode.nodeType directly.\n f.nodeType !== N(f) || // HTMLFormElement has [LegacyOverrideBuiltIns]: a descendant named\n // \"childNodes\" shadows the prototype getter. Direct reads of\n // form.childNodes from a clobbered form return the named child\n // instead of the real NodeList, so any walk that reads it directly\n // skips the form's real children. Compare the direct read to the\n // cached Node.prototype getter — when the form's named-property\n // getter intercepts the read, the two values differ and we flag\n // the form. This catches every clobbering child type (input,\n // select, etc.) regardless of whether the named child happens to\n // carry a numeric .length, which a typeof-based probe would miss\n // (e.g. HTMLSelectElement.length is a defined unsigned-long).\n f.childNodes !== b(f);\n }, cn = function(f) {\n if (!N || typeof f != \"object\" || f === null)\n return !1;\n try {\n return N(f) === dt.documentFragment;\n } catch {\n return !1;\n }\n }, Nn = function(f) {\n if (!N || typeof f != \"object\" || f === null)\n return !1;\n try {\n return typeof N(f) == \"number\";\n } catch {\n return !1;\n }\n };\n function kt(S, f, g) {\n S.length !== 0 && On(S, (j) => {\n j.call(e, f, g, ln);\n });\n }\n const Bc = function(f, g) {\n return !!(Vt && f.hasChildNodes() && !Nn(f.firstElementChild) && Te(ws, f.textContent) && Te(ws, f.innerHTML) || Vt && f.namespaceURI === ct && g === \"style\" && Nn(f.firstElementChild) || f.nodeType === dt.processingInstruction || Vt && f.nodeType === dt.comment && Te(bm, f.data));\n }, Vc = function(f, g) {\n if (!de[g] && ta(g) && (W.tagNameCheck instanceof RegExp && Te(W.tagNameCheck, g) || W.tagNameCheck instanceof Function && W.tagNameCheck(g)))\n return !1;\n if (et && !Ke[g]) {\n const j = v(f), R = b(f);\n if (R && j) {\n const U = R.length;\n for (let Y = U - 1; Y >= 0; --Y) {\n const _e = ge ? R[Y] : p(R[Y], !0);\n j.insertBefore(_e, w(f));\n }\n }\n }\n return Et(f), !0;\n }, Jo = function(f) {\n if (kt(te.beforeSanitizeElements, f, null), br(f))\n return Et(f), !0;\n const g = pe(M ? M(f) : f.nodeName);\n if (kt(te.uponSanitizeElement, f, {\n tagName: g,\n allowedTags: ee\n }), Bc(f, g))\n return Et(f), !0;\n if (de[g] || !(Le.tagCheck instanceof Function && Le.tagCheck(g)) && !ee[g])\n return Vc(f, g);\n if ((N ? N(f) : f.nodeType) === dt.element && !zc(f) || (g === \"noscript\" || g === \"noembed\" || g === \"noframes\") && Te(vm, f.innerHTML))\n return Et(f), !0;\n if (lt && f.nodeType === dt.text) {\n const R = xr(f.textContent);\n f.textContent !== R && (hn(e.removed, {\n element: f.cloneNode()\n }), f.textContent = R);\n }\n return kt(te.afterSanitizeElements, f, null), !1;\n }, ea = function(f, g, j) {\n if (st[g] || K && (g === \"id\" || g === \"name\") && (j in n || j in Oc))\n return !1;\n const R = _[g] || Le.attributeCheck instanceof Function && Le.attributeCheck(g, f);\n if (!(nn && Te(F, g))) {\n if (!(Ve && Te(Ee, g))) {\n if (R) {\n if (!ui[g]) {\n if (!Te(Se, $n(j, we, \"\"))) {\n if (!((g === \"src\" || g === \"xlink:href\" || g === \"href\") && f !== \"script\" && fs(j, \"data:\") === 0 && Uo[f])) {\n if (!(fr && !Te(Ut, $n(j, we, \"\")))) {\n if (j)\n return !1;\n }\n }\n }\n }\n } else if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n !(ta(f) && (W.tagNameCheck instanceof RegExp && Te(W.tagNameCheck, f) || W.tagNameCheck instanceof Function && W.tagNameCheck(f)) && (W.attributeNameCheck instanceof RegExp && Te(W.attributeNameCheck, g) || W.attributeNameCheck instanceof Function && W.attributeNameCheck(g, f)) || // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n g === \"is\" && W.allowCustomizedBuiltInElements && (W.tagNameCheck instanceof RegExp && Te(W.tagNameCheck, j) || W.tagNameCheck instanceof Function && W.tagNameCheck(j)))\n ) return !1;\n }\n }\n return !0;\n }, Hc = Q({}, [\"annotation-xml\", \"color-profile\", \"font-face\", \"font-face-format\", \"font-face-name\", \"font-face-src\", \"font-face-uri\", \"missing-glyph\"]), ta = function(f) {\n return !Hc[Vn(f)] && Te(Ge, f);\n }, Wc = function(f, g, j, R) {\n if (T && typeof m == \"object\" && typeof m.getAttributeType == \"function\" && !j)\n switch (m.getAttributeType(f, g)) {\n case \"TrustedHTML\":\n return re(R);\n case \"TrustedScriptURL\":\n return C(R);\n }\n return R;\n }, Qc = function(f, g, j, R) {\n try {\n j ? f.setAttributeNS(j, g, R) : f.setAttribute(g, R), br(f) ? Et(f) : ds(e.removed);\n } catch {\n Ht(g, f);\n }\n }, na = function(f) {\n kt(te.beforeSanitizeAttributes, f, null);\n const g = f.attributes;\n if (!g || br(f))\n return;\n const j = {\n attrName: \"\",\n attrValue: \"\",\n keepAttr: !0,\n allowedAttributes: _,\n forceKeepAttr: void 0\n };\n let R = g.length;\n const U = pe(f.nodeName);\n for (; R--; ) {\n const Y = g[R], _e = Y.name, xe = Y.namespaceURI, Ye = Y.value, tt = pe(_e), bi = Ye;\n let Oe = _e === \"value\" ? bi : em(bi);\n if (j.attrName = tt, j.attrValue = Oe, j.keepAttr = !0, j.forceKeepAttr = void 0, kt(te.uponSanitizeAttribute, f, j), Oe = j.attrValue, V && (tt === \"id\" || tt === \"name\") && fs(Oe, fe) !== 0 && (Ht(_e, f), Oe = fe + Oe), Vt && Te(/((--!?|])>)|<\\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, Oe)) {\n Ht(_e, f);\n continue;\n }\n if (tt === \"attributename\" && hs(Oe, \"href\")) {\n Ht(_e, f);\n continue;\n }\n if (!j.forceKeepAttr) {\n if (!j.keepAttr) {\n Ht(_e, f);\n continue;\n }\n if (!pr && Te(ym, Oe)) {\n Ht(_e, f);\n continue;\n }\n if (lt && (Oe = xr(Oe)), !ea(U, tt, Oe)) {\n Ht(_e, f);\n continue;\n }\n Oe = Wc(U, tt, xe, Oe), Oe !== bi && Qc(f, _e, xe, Oe);\n }\n }\n kt(te.afterSanitizeAttributes, f, null);\n }, vr = function(f) {\n let g = null;\n const j = Zo(f);\n for (kt(te.beforeSanitizeShadowDOM, f, null); g = j.nextNode(); )\n if (kt(te.uponSanitizeShadowNode, g, null), Jo(g), na(g), cn(g.content) && vr(g.content), (N ? N(g) : g.nodeType) === dt.element) {\n const U = k(g);\n cn(U) && (xi(U), vr(U));\n }\n kt(te.afterSanitizeShadowDOM, f, null);\n }, xi = function(f) {\n const g = [{\n node: f,\n shadow: null\n }];\n for (; g.length > 0; ) {\n const j = g.pop();\n if (j.shadow) {\n vr(j.shadow);\n continue;\n }\n const R = j.node, Y = (N ? N(R) : R.nodeType) === dt.element, _e = b(R);\n if (_e)\n for (let xe = _e.length - 1; xe >= 0; --xe)\n g.push({\n node: _e[xe],\n shadow: null\n });\n if (Y) {\n const xe = M ? M(R) : null;\n if (typeof xe == \"string\" && pe(xe) === \"template\") {\n const Ye = R.content;\n cn(Ye) && g.push({\n node: Ye,\n shadow: null\n });\n }\n }\n if (Y) {\n const xe = k(R);\n cn(xe) && g.push({\n node: null,\n shadow: xe\n }, {\n node: xe,\n shadow: null\n });\n }\n }\n };\n return e.sanitize = function(S) {\n let f = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, g = null, j = null, R = null, U = null;\n if (di = !S, di && (S = \"<!-->\"), typeof S != \"string\" && !Nn(S) && (S = om(S), typeof S != \"string\"))\n throw Wt(\"dirty is not a string, aborting\");\n if (!e.isSupported)\n return S;\n Rn ? (ee = En, _ = In) : mi(f), (te.uponSanitizeElement.length > 0 || te.uponSanitizeAttribute.length > 0) && (ee = $e(ee)), te.uponSanitizeAttribute.length > 0 && (_ = $e(_)), e.removed = [];\n const Y = ge && typeof S != \"string\" && Nn(S);\n if (Y) {\n const Ye = M ? M(S) : S.nodeName;\n if (typeof Ye == \"string\") {\n const tt = pe(Ye);\n if (!ee[tt] || de[tt])\n throw Wt(\"root node is forbidden and cannot be sanitized in-place\");\n }\n if (br(S))\n throw Wt(\"root node is clobbered and cannot be sanitized in-place\");\n try {\n xi(S);\n } catch (tt) {\n throw Yo(S), tt;\n }\n } else if (Nn(S))\n g = Xo(\"<!---->\"), j = g.ownerDocument.importNode(S, !0), j.nodeType === dt.element && j.nodeName === \"BODY\" || j.nodeName === \"HTML\" ? g = j : g.appendChild(j), xi(j);\n else {\n if (!Rt && !lt && !wt && // eslint-disable-next-line unicorn/prefer-includes\n S.indexOf(\"<\") === -1)\n return T && an ? re(S) : S;\n if (g = Xo(S), !g)\n return Rt ? null : an ? L : \"\";\n }\n g && rn && Et(g.firstChild);\n const _e = Zo(Y ? S : g);\n try {\n for (; R = _e.nextNode(); )\n Jo(R), na(R), cn(R.content) && vr(R.content);\n } catch (Ye) {\n throw Y && Yo(S), Ye;\n }\n if (Y)\n return On(e.removed, (Ye) => {\n Ye.element && Uc(Ye.element);\n }), lt && gi(S), S;\n if (Rt) {\n if (lt && gi(g), on)\n for (U = at.call(g.ownerDocument); g.firstChild; )\n U.appendChild(g.firstChild);\n else\n U = g;\n return (_.shadowroot || _.shadowrootmode) && (U = Ft.call(r, U, !0)), U;\n }\n let xe = wt ? g.outerHTML : g.innerHTML;\n return wt && ee[\"!doctype\"] && g.ownerDocument && g.ownerDocument.doctype && g.ownerDocument.doctype.name && Te(gm, g.ownerDocument.doctype.name) && (xe = \"<!DOCTYPE \" + g.ownerDocument.doctype.name + `>\n` + xe), lt && (xe = xr(xe)), T && an ? re(xe) : xe;\n }, e.setConfig = function() {\n let S = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n mi(S), Rn = !0, En = ee, In = _;\n }, e.clearConfig = function() {\n ln = null, Rn = !1, En = null, In = null, T = E, L = \"\";\n }, e.isValidAttribute = function(S, f, g) {\n ln || mi({});\n const j = pe(S), R = pe(f);\n return ea(j, R, g);\n }, e.addHook = function(S, f) {\n typeof f == \"function\" && je(te, S) && hn(te[S], f);\n }, e.removeHook = function(S, f) {\n if (je(te, S)) {\n if (f !== void 0) {\n const g = Zp(te[S], f);\n return g === -1 ? void 0 : Jp(te[S], g, 1)[0];\n }\n return ds(te[S]);\n }\n }, e.removeHooks = function(S) {\n je(te, S) && (te[S] = []);\n }, e.removeAllHooks = function() {\n te = ks();\n }, e;\n}\nvar _m = pc();\nfunction jm(t) {\n return t.trim().split(/\\n\\s*-{3,}\\s*\\n/).map((e) => {\n const [n = \"\", ...r] = e.trim().split(`\n`);\n return {\n title: n.replace(/^\\*+|\\*+$/g, \"\").trim(),\n body: r.join(`\n`).trim()\n };\n }).filter((e) => (e.title !== \"\" || e.body !== \"\") && !/^-{3,}$/.test(e.title));\n}\nfunction Sm(t) {\n const e = jm(t);\n return e.length === 0 ? \"\" : `<div class=\"jex-card-grid\">${e.map((r) => {\n const i = r.title ? `<div class=\"jex-card-title\">${X.parseInline(r.title)}</div>` : \"\", o = r.body ? X.parse(r.body) : \"\";\n return `<div class=\"jex-card\">${i}${o}</div>`;\n }).join(\"\")}</div>`;\n}\nX.setOptions({\n breaks: !0,\n gfm: !0\n});\nfunction Cr(t) {\n return t.replace(/&/g, \"&\").replace(/\"/g, \""\").replace(/</g, \"<\").replace(/>/g, \">\");\n}\nX.use({\n renderer: {\n code(t) {\n return t.lang === \"cards\" && t.raw.trimEnd().endsWith(\"```\") ? Sm(t.text) : !1;\n },\n /**\n * Documentation screenshots arrive at full width, so an unstyled <img>\n * overflows the bubble and gives the whole thread a horizontal scrollbar.\n * Sizing is CSS (`.jex-md img`); the wrapper is here because clicking a\n * shrunk screenshot has to be able to open the full-size original.\n *\n * Only http(s) sources are wrapped — a data: or blob: image has nothing\n * useful to open. The anchor picks up `target=\"_blank\"` and\n * `rel=\"noopener noreferrer\"` from the afterSanitizeAttributes hook below,\n * same as every other link in a reply.\n */\n image(t) {\n const e = t.href ?? \"\", n = `<img src=\"${Cr(e)}\" alt=\"${Cr(t.text ?? \"\")}\"` + (t.title ? ` title=\"${Cr(t.title)}\"` : \"\") + ' loading=\"lazy\" />';\n return /^https?:\\/\\//i.test(e) ? `<a href=\"${Cr(e)}\" class=\"jex-md-img-link\">${n}</a>` : n;\n }\n }\n});\nconst Yn = typeof window < \"u\" ? _m : null;\nYn && typeof Yn.addHook == \"function\" && Yn.addHook(\"afterSanitizeAttributes\", (t) => {\n t.tagName === \"A\" && t.hasAttribute(\"href\") && (t.setAttribute(\"target\", \"_blank\"), t.setAttribute(\"rel\", \"noopener noreferrer\"));\n});\nfunction Tm(t) {\n return t.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n}\nfunction Cm(t) {\n if (!t)\n return \"\";\n if (!Yn)\n return Tm(t);\n const e = X.parse(t), n = typeof e == \"string\" ? e : \"\";\n return Yn.sanitize(n);\n}\nfunction Am({ text: t }) {\n const e = ke(() => Cm(t), [t]);\n return /* @__PURE__ */ s(\"div\", { class: \"jex-md\", dangerouslySetInnerHTML: { __html: e } });\n}\nfunction mc({ onQuote: t }) {\n const e = I();\n return /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-quote-btn\",\n \"aria-label\": e.quoteMessage,\n title: e.quoteMessage,\n onClick: t,\n children: /* @__PURE__ */ s(Eo, { size: 12 })\n }\n );\n}\nfunction Rm(t, e, n) {\n return t.role === \"user\" ? n : t.authorName ?? e ?? \"\";\n}\nfunction Em({ authorLabel: t, content: e, onClick: n }) {\n return /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-quoted-chip\", onClick: n, children: [\n /* @__PURE__ */ s(Eo, { size: 11 }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-quoted-chip-text\", children: [\n t && /* @__PURE__ */ s(\"span\", { class: \"jex-quoted-chip-author\", children: [\n t,\n \": \"\n ] }),\n Wl(e)\n ] })\n ] });\n}\nfunction gc({ quotes: t, botName: e, yourMessageLabel: n, onQuotedClick: r }) {\n return t.length === 0 ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-quoted-list\", children: t.map((i) => /* @__PURE__ */ s(\n Em,\n {\n authorLabel: Rm(i, e, n),\n content: i.content,\n onClick: r ? (o) => {\n r(i.id, o);\n } : void 0\n },\n i.id\n )) });\n}\nfunction Im(t) {\n const e = t.trim().split(/\\s+/).filter(Boolean);\n return e.length === 0 ? \"?\" : e.map((n) => n[0]).join(\"\").slice(0, 2).toUpperCase();\n}\nfunction Qt({ text: t, streaming: e, error: n, authorId: r, authorName: i, authorImage: o, botAvatarUrl: a, botName: l, onQuote: c, id: u, quoted: d, onQuotedClick: m }) {\n const h = I(), p = !!r, [x, w] = D(!1), b = Z(() => w(!0), []), v = p ? i ?? \"\" : l ?? \"\", k = [\n \"jex-message bot\",\n n ? \"jex-message-error\" : \"\"\n ].filter(Boolean).join(\" \");\n return /* @__PURE__ */ s(\"div\", { class: \"jex-message-row bot\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-message-head\", children: [\n /* @__PURE__ */ s(\"div\", { class: `jex-avatar ${p ? \"jex-avatar-agent\" : \"jex-avatar-bot\"}`, children: p && o && !x ? /* @__PURE__ */ s(\"img\", { src: o, alt: i ?? \"\", class: \"jex-avatar-img\", onError: b }) : p ? /* @__PURE__ */ s(\"span\", { class: \"jex-avatar-initials\", children: Im(i ?? \"\") }) : a && !x ? /* @__PURE__ */ s(\"img\", { src: a, alt: \"\", class: \"jex-avatar-img\", onError: b }) : /* @__PURE__ */ s(oi, { size: 14 }) }),\n v && /* @__PURE__ */ s(\"span\", { class: \"jex-message-author\", children: v })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: k, id: u, children: [\n /* @__PURE__ */ s(\n gc,\n {\n quotes: d ?? [],\n botName: l,\n yourMessageLabel: h.quotedYourMessage,\n onQuotedClick: m\n }\n ),\n /* @__PURE__ */ s(Am, { text: t }),\n e && /* @__PURE__ */ s(\"span\", { class: \"jex-streaming-cursor\" }),\n c && /* @__PURE__ */ s(mc, { onQuote: c })\n ] })\n ] });\n}\nfunction Mm({ questions: t, disabled: e, onPick: n }) {\n return t.length === 0 ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-starter-chips\", children: t.map((r) => /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-starter-chip\",\n disabled: e,\n onClick: () => {\n n(r);\n },\n children: r\n },\n r\n )) });\n}\nfunction Pm(t, e) {\n const n = [\n ...new Set(\n e.flatMap((c) => c.split(/\\s+/)).filter((c) => c.length > 1)\n )\n ];\n if (n.length === 0)\n return [t];\n const r = n.map((c) => c.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")), i = new RegExp(`@(?:${r.join(\"|\")})\\\\b`, \"gi\"), o = [];\n let a = 0, l;\n for (; (l = i.exec(t)) !== null; )\n l.index > a && o.push(t.slice(a, l.index)), o.push(/* @__PURE__ */ s(\"span\", { class: \"jex-mention\", children: l[0] }, l.index)), a = l.index + l[0].length;\n return a < t.length && o.push(t.slice(a)), o;\n}\nfunction Nm({ text: t, id: e, onQuote: n, botName: r, quoted: i, onQuotedClick: o, agentNames: a }) {\n const l = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-message user\", id: e, children: [\n /* @__PURE__ */ s(\n gc,\n {\n quotes: i ?? [],\n botName: r,\n yourMessageLabel: l.quotedYourMessage,\n onQuotedClick: o\n }\n ),\n Pm(t, a ?? []),\n n && /* @__PURE__ */ s(mc, { onQuote: n })\n ] });\n}\nfunction xc() {\n return Ct(ae.escalations.public.submitEscalation);\n}\nfunction bc() {\n const t = Ct(ae.escalations.public.markEscalationWaiting);\n return (e) => {\n ir.value = e, t({ sessionId: e.sessionId, visitorId: e.visitorId }).catch((n) => {\n ne.error(\"[waiting] markEscalationWaiting failed:\", n);\n });\n };\n}\nfunction ci() {\n const t = Ct(ae.analytics.formEvents.recordFormClick);\n return (e) => {\n t(e).catch((n) => {\n ne.warn(\"[useFormClick] click not recorded:\", n);\n });\n };\n}\nfunction Lm({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {\n const i = I();\n return t.formData ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: i.escalationSubmitted }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: [\n t.formData.visitorName,\n \" · \",\n t.formData.visitorEmail\n ] })\n ] })\n ] }) : /* @__PURE__ */ s(\"div\", { class: \"jex-message-row bot\", children: /* @__PURE__ */ s(\n Om,\n {\n messageId: t._id,\n sessionId: e,\n visitorId: n,\n waitingSetAt: r\n }\n ) });\n}\nfunction Om({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: r }) {\n const i = I(), [o, a] = D(\"\"), [l, c] = D(\"\"), [u, d] = D(!1), m = ur.value, h = /^https?:\\/\\//i.test(m) ? m : cr, p = xc(), x = bc(), w = ci();\n async function b(v) {\n if (v.preventDefault(), !u) {\n d(!0);\n try {\n await p({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: o.trim(),\n visitorEmail: l.trim(),\n locale: Qe.value\n });\n } catch (k) {\n ne.error(\"[FormMessage] Submit failed:\", k), d(!1);\n }\n }\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: i.escalationFormTitle }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (v) => {\n b(v);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: i.escalationNameLabel,\n value: o,\n required: !0,\n disabled: u,\n onInput: (v) => {\n a(v.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: i.escalationEmailLabel,\n value: l,\n required: !0,\n disabled: u,\n onInput: (v) => {\n c(v.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-form-submit\",\n type: \"submit\",\n disabled: u,\n onClick: () => {\n w({ sessionId: e, visitorId: n, formMessageId: t });\n },\n children: u ? i.escalationSubmitting : i.escalationSubmit\n }\n )\n ] }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-escalation-skip\",\n onClick: () => {\n x({ formMessageId: t, sessionId: e, visitorId: n, waitingSetAt: r });\n },\n children: i.escalationSkip\n }\n ),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-consent\", children: [\n i.escalationConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: h, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: i.escalationPrivacyLinkText }),\n \".\"\n ] })\n ] });\n}\nfunction $m() {\n return Ct(ae.functions.magicline.public.submitForm);\n}\nfunction Dm() {\n return Jt(ae.functions.magicline.actions.getTrialConfig);\n}\nfunction qm() {\n return Jt(ae.functions.magicline.actions.listTrialSlots);\n}\nfunction zm() {\n return Jt(ae.functions.magicline.actions.getRateBundles);\n}\nfunction vc() {\n return Jt(ae.functions.magicline.actions.getContractPreview);\n}\nfunction Fm() {\n return Jt(ae.functions.magicline.actions.submitContractCreation);\n}\nconst zo = { en: jo, de: $l }, Um = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\nfunction yc(t) {\n return Um.test(t.trim());\n}\nfunction Bm(t, e = /* @__PURE__ */ new Date()) {\n const n = t.trim();\n if (n === \"\")\n return null;\n const r = n.split(\"-\");\n if (r.length !== 3)\n return null;\n const i = Number(r[0]), o = Number(r[1]), a = Number(r[2]);\n if (!Number.isInteger(i) || !Number.isInteger(o) || !Number.isInteger(a) || o < 1 || o > 12 || a < 1 || a > 31)\n return null;\n let l = e.getFullYear() - i;\n const c = e.getMonth() + 1 - o;\n return (c < 0 || c === 0 && e.getDate() < a) && (l -= 1), l;\n}\nfunction wc(t = /* @__PURE__ */ new Date()) {\n const e = t.getFullYear(), n = String(t.getMonth() + 1).padStart(2, \"0\"), r = String(t.getDate()).padStart(2, \"0\");\n return `${e}-${n}-${r}`;\n}\nfunction kc() {\n const t = ur.value;\n return /^https?:\\/\\//i.test(t) ? t : cr;\n}\nconst Vm = {\n DE: 22,\n AT: 20,\n CH: 21,\n GB: 22,\n FR: 27,\n NL: 18,\n BE: 16,\n ES: 24,\n IT: 27,\n PL: 28,\n SE: 24,\n NO: 15,\n DK: 18,\n FI: 18,\n PT: 25\n}, Hm = 15, Wm = 34;\nfunction _c(t) {\n return t.replace(/\\s+/g, \"\").toUpperCase();\n}\nfunction Qm(t) {\n const e = _c(t), n = e.slice(0, 2), r = Vm[n];\n if (r !== void 0) {\n if (e.length !== r)\n return !1;\n } else if (e.length < Hm || e.length > Wm)\n return !1;\n const i = e.slice(4) + e.slice(0, 4);\n let o = \"\";\n for (const l of i) {\n const c = l.charCodeAt(0);\n if (c >= 65 && c <= 90)\n o += String(c - 55);\n else if (c >= 48 && c <= 57)\n o += l;\n else\n return !1;\n }\n let a = 0;\n for (let l = 0; l < o.length; l += 9) {\n const c = String(a) + o.slice(l, l + 9);\n a = Number(c) % 97;\n }\n return a === 1;\n}\nfunction Gm(t) {\n const e = _c(t);\n if (e.length <= 8)\n return e;\n const n = e.slice(0, 4), r = e.slice(-4);\n return (n + \"•\".repeat(e.length - 8) + r).replace(/(.{4})/g, \"$1 \").trim();\n}\nfunction it(t, e, n) {\n const r = n === \"de\" ? \"de-DE\" : \"en-GB\";\n try {\n return new Intl.NumberFormat(r, {\n style: \"currency\",\n currency: e\n }).format(t);\n } catch {\n return `${t.toFixed(2)} ${e}`;\n }\n}\nfunction ei(t, e, n) {\n const r = t !== 1, o = {\n DAY: { en: [\"day\", \"days\"], de: [\"Tag\", \"Tage\"] },\n WEEK: { en: [\"week\", \"weeks\"], de: [\"Woche\", \"Wochen\"] },\n MONTH: { en: [\"month\", \"months\"], de: [\"Monat\", \"Monate\"] },\n YEAR: { en: [\"year\", \"years\"], de: [\"Jahr\", \"Jahre\"] }\n }[e.toUpperCase()];\n if (!o)\n return `${t} ${e.toLowerCase()}`;\n const [a, l] = o[n];\n return `${t} ${r ? l : a}`;\n}\nfunction Km(t, e) {\n const n = t.trim();\n if (n === \"\")\n return \"—\";\n const r = e === \"de\" ? \"de-DE\" : \"en-GB\", i = new Date(n);\n return Number.isNaN(i.getTime()) ? t : i.toLocaleDateString(r, { day: \"2-digit\", month: \"long\", year: \"numeric\" });\n}\nfunction Fo(t, e, n) {\n const r = zo[n], i = e.toUpperCase();\n if (t === 1)\n return {\n DAY: r.magiclineFreqPerDay,\n WEEK: r.magiclineFreqPerWeek,\n MONTH: r.magiclineFreqPerMonth,\n YEAR: r.magiclineFreqPerYear\n }[i] ?? e.toLowerCase();\n const a = {\n DAY: r.magiclineFreqEveryDays,\n WEEK: r.magiclineFreqEveryWeeks,\n MONTH: r.magiclineFreqEveryMonths,\n YEAR: r.magiclineFreqEveryYears\n }[i];\n return a === void 0 ? `${t} ${e.toLowerCase()}` : a.replace(\"{n}\", String(t));\n}\nfunction Ym(t, e, n, r, i) {\n const o = zo[i], a = it(t, e, i);\n switch (n) {\n case \"TERM_BASED\":\n return `${a} ${o.magiclineModulePerTerm}`;\n case \"RECURRING\":\n return `${a} ${Fo(1, r ?? \"MONTH\", i)}`;\n case \"NON_RECURRING\":\n return `${a} ${o.magiclineModuleOneTime}`;\n case \"MONTH_DAY\":\n return `${a} ${o.magiclineModuleOneTime}`;\n case \"FREE\":\n return o.magiclineModuleIncluded;\n default:\n return a;\n }\n}\nfunction Xm(t, e, n, r) {\n return e === \"PERCENTAGE\" ? `-${t}%` : `-${it(t, n, r)}`;\n}\nconst Zm = {\n startpaket: \"magiclineFeeStarterPackage\",\n \"starter package\": \"magiclineFeeStarterPackage\",\n trainerpauschale: \"magiclineFeeTrainerFee\"\n};\nfunction jc(t, e) {\n const n = t.trim().toLowerCase(), r = Zm[n];\n return r !== void 0 ? e[r] : t;\n}\nfunction Jm(t, e, n) {\n const r = zo[n];\n if (t === \"NONE\")\n return r.magiclineRenewalNone;\n if (t === \"TERM_EXTENSION\" && e !== null) {\n const i = ei(e.value, e.unit, n);\n return r.magiclineRenewalTerm.replace(\"{n} {unit}\", i);\n }\n return \"\";\n}\nconst Sc = [\"MALE\", \"FEMALE\", \"UNISEX\"], eg = [\n { code: \"DE\", label: \"Germany / Deutschland\" },\n { code: \"AT\", label: \"Austria / Österreich\" },\n { code: \"CH\", label: \"Switzerland / Schweiz\" },\n { code: \"LI\", label: \"Liechtenstein\" },\n { code: \"LU\", label: \"Luxembourg / Luxemburg\" },\n { code: \"NL\", label: \"Netherlands / Niederlande\" },\n { code: \"BE\", label: \"Belgium / Belgien\" },\n { code: \"FR\", label: \"France / Frankreich\" },\n { code: \"IT\", label: \"Italy / Italien\" },\n { code: \"ES\", label: \"Spain / Spanien\" },\n { code: \"PL\", label: \"Poland / Polen\" },\n { code: \"CZ\", label: \"Czechia / Tschechien\" },\n { code: \"DK\", label: \"Denmark / Dänemark\" },\n { code: \"GB\", label: \"United Kingdom\" },\n { code: \"US\", label: \"United States\" }\n];\nfunction tg(t, e) {\n const n = [];\n return e && n.push(\"trainer\"), n.push(\"slot\"), n.push(\"personal\"), (t.address.visible || t.zip.visible) && n.push(\"address\"), n.push(\"confirm\"), n;\n}\nconst ng = {\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n phone: \"\",\n birthDate: \"\",\n gender: \"\",\n street: \"\",\n houseNumber: \"\",\n zip: \"\",\n city: \"\",\n country: \"\",\n note: \"\",\n slotId: \"\",\n consent: !1,\n trainerRequired: !0\n};\nfunction rg(t, e) {\n switch (e.type) {\n case \"set\":\n return { ...t, [e.key]: e.value };\n case \"setTrainer\":\n return { ...t, trainerRequired: e.trainerRequired, slotId: \"\" };\n case \"clearSlotIfAbsent\":\n return t.slotId !== \"\" && !e.available.includes(t.slotId) ? { ...t, slotId: \"\" } : t;\n default:\n return t;\n }\n}\nfunction ig({\n sessionId: t,\n visitorId: e\n}) {\n const n = Dm(), r = qm(), [i, o] = He(rg, ng), [a, l] = He(\n (v, k) => k,\n { phase: \"loading\" }\n ), [c, u] = He(\n (v, k) => k,\n { phase: \"loading\" }\n ), [d, m] = He((v) => v + 1, 0), h = Z((v, k) => {\n o({ type: \"set\", key: v, value: k });\n }, []), p = Z((v) => {\n o({ type: \"setTrainer\", trainerRequired: v }), m();\n }, []), x = Z(() => {\n m();\n }, []);\n P(() => {\n let v = !1;\n return (async () => {\n try {\n const k = await n({ sessionId: t, visitorId: e });\n if (v)\n return;\n k.status === \"ok\" ? l({\n phase: \"ready\",\n config: {\n plan: k.plan,\n minimumAge: k.minimumAge,\n bookingWithoutTrainerAllowed: k.bookingWithoutTrainerAllowed,\n studioZoneId: k.studioZoneId\n }\n }) : l({\n phase: \"error\",\n code: k.status,\n backendMessage: k.message\n });\n } catch {\n v || l({ phase: \"error\", code: \"unavailable\", backendMessage: \"\" });\n }\n })(), () => {\n v = !0;\n };\n }, [n, t, e]);\n const w = a.phase === \"ready\", { trainerRequired: b } = i;\n return P(() => {\n if (!w)\n return;\n let v = !1;\n return u({ phase: \"loading\" }), (async () => {\n try {\n const k = await r({ sessionId: t, visitorId: e, trainerRequired: b });\n if (v)\n return;\n k.status === \"ok\" ? k.slots.length > 0 ? (u({ phase: \"ready\", slots: k.slots }), o({\n type: \"clearSlotIfAbsent\",\n available: k.slots.map((A) => A.startDateTime)\n })) : u({ phase: \"empty\" }) : u({ phase: \"error\" });\n } catch {\n v || u({ phase: \"error\" });\n }\n })(), () => {\n v = !0;\n };\n }, [w, r, t, e, b, d]), {\n fields: i,\n setField: h,\n setTrainerRequired: p,\n configState: a,\n slotsState: c,\n refetchSlots: x\n };\n}\nfunction og({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r = !1,\n retryPending: i = !1\n}) {\n const o = I(), a = $m(), { fields: l, setField: c, setTrainerRequired: u, configState: d, slotsState: m, refetchSlots: h } = ig({ sessionId: e, visitorId: n });\n return d.phase === \"loading\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: o.magiclineConfigLoading })\n ] }) : d.phase === \"error\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", children: fg(d.code, d.backendMessage, o) })\n ] }) : /* @__PURE__ */ s(\n ag,\n {\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r,\n retryPending: i,\n config: d.config,\n fields: l,\n setField: c,\n setTrainerRequired: u,\n slotsState: m,\n refetchSlots: h,\n submitForm: a\n }\n );\n}\nfunction ag({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n slotUnavailable: r,\n retryPending: i,\n config: o,\n fields: a,\n setField: l,\n setTrainerRequired: c,\n slotsState: u,\n refetchSlots: d,\n submitForm: m\n}) {\n const h = I(), p = ci(), { plan: x, minimumAge: w, bookingWithoutTrainerAllowed: b, studioZoneId: v } = o, k = ke(\n () => tg(x, b),\n [x, b]\n ), A = r ? Math.max(k.indexOf(\"slot\"), 0) : 0, [N, M] = D(A), [T, L] = D({}), [E, se] = D(!1), [$, y] = D(null), re = ke(() => kc(), []), C = Math.min(N, k.length - 1), q = k[C] ?? \"slot\", me = C === k.length - 1, z = C === 0;\n function Ne(ue) {\n const F = {};\n if (ue === \"slot\")\n return a.slotId === \"\" && (F.slotId = h.magiclineSlotRequiredError), F;\n if (ue === \"personal\") {\n if (a.firstName.trim() === \"\" && (F.firstName = h.magiclineRequiredError), a.lastName.trim() === \"\" && (F.lastName = h.magiclineRequiredError), x.email.visible && x.email.required && a.email.trim() === \"\" && (F.email = h.magiclineRequiredError), a.email.trim() !== \"\" && !yc(a.email) && (F.email = h.magiclineEmailError), x.phone.visible && x.phone.required && a.phone.trim() === \"\" && (F.phone = h.magiclineRequiredError), x.gender.visible && x.gender.required && a.gender === \"\" && (F.gender = h.magiclineRequiredError), x.dateOfBirth.visible && (x.dateOfBirth.required && a.birthDate.trim() === \"\" && (F.birthDate = h.magiclineRequiredError), a.birthDate.trim() !== \"\")) {\n const Ee = Bm(a.birthDate);\n Ee !== null && Ee < 0 ? F.birthDate = h.magiclineRequiredError : w > 0 && Ee !== null && Ee < w && (F.birthDate = h.magiclineMinAgeError.replace(\"{age}\", String(w)));\n }\n return F;\n }\n return ue === \"address\" ? (x.address.visible && x.address.required && (a.street.trim() === \"\" && (F.street = h.magiclineRequiredError), a.houseNumber.trim() === \"\" && (F.houseNumber = h.magiclineRequiredError), a.city.trim() === \"\" && (F.city = h.magiclineRequiredError), a.country === \"\" && (F.country = h.magiclineRequiredError)), x.zip.visible && x.zip.required && a.zip.trim() === \"\" && (F.zip = h.magiclineRequiredError), F) : (ue === \"confirm\" && (a.consent || (F.consent = h.magiclineConsentError)), F);\n }\n function at() {\n const ue = Ne(q);\n if (Object.keys(ue).length > 0) {\n L(ue);\n return;\n }\n L({}), M((F) => Math.min(F + 1, k.length - 1));\n }\n function yt() {\n L({}), y(null), M((ue) => Math.max(ue - 1, 0));\n }\n async function Ft() {\n if (E)\n return;\n const ue = Ne(\"confirm\");\n if (Object.keys(ue).length > 0) {\n L(ue);\n return;\n }\n L({}), y(null), se(!0);\n try {\n const F = pg(x, a);\n await m({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n action: \"trialSessionBooking\",\n fields: F\n });\n } catch (F) {\n ne.error(\"[TrialSessionBookingForm] Submit failed:\", F), y(h.magiclineFailedDetail), se(!1);\n }\n }\n function te() {\n p({ sessionId: e, visitorId: n, formMessageId: t }), me ? Ft() : at();\n }\n const Be = hg(q, h), At = `jex-ml-consent-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-header\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: h.magiclineTrialTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-progress\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-step-label\", children: Be }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-counter\", children: h.magiclineStepCounter.replace(\"{n}\", String(C + 1)).replace(\"{total}\", String(k.length)) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-dots\", \"aria-hidden\": \"true\", children: k.map((ue, F) => /* @__PURE__ */ s(\n \"span\",\n {\n class: F === C ? \"jex-magicline-wizard-dot jex-magicline-wizard-dot-active\" : \"jex-magicline-wizard-dot\"\n },\n ue\n )) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-form\", role: \"group\", \"aria-label\": Be, children: [\n q === \"trainer\" ? /* @__PURE__ */ s(\n sg,\n {\n formMessageId: t,\n trainerRequired: a.trainerRequired,\n disabled: E,\n onChange: c\n }\n ) : null,\n q === \"slot\" ? /* @__PURE__ */ s(\n lg,\n {\n slotsState: u,\n slotId: a.slotId,\n studioZoneId: v,\n disabled: E,\n retryPending: i,\n slotUnavailable: r,\n error: T.slotId,\n onSelect: (ue) => {\n l(\"slotId\", ue);\n },\n onRetry: d\n }\n ) : null,\n q === \"personal\" ? /* @__PURE__ */ s(\n cg,\n {\n plan: x,\n fields: a,\n errors: T,\n disabled: E,\n setField: l\n }\n ) : null,\n q === \"address\" ? /* @__PURE__ */ s(\n ug,\n {\n plan: x,\n fields: a,\n errors: T,\n disabled: E,\n setField: l\n }\n ) : null,\n q === \"confirm\" ? /* @__PURE__ */ s(\n dg,\n {\n consentId: At,\n privacyUrl: re,\n studioZoneId: v,\n fields: a,\n disabled: E,\n consentError: T.consent,\n setField: l\n }\n ) : null,\n $ !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: $ }) : null,\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-nav\", children: [\n z ? null : /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-wizard-back\",\n disabled: E,\n onClick: yt,\n children: h.magiclineWizardBack\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-form-submit jex-magicline-wizard-next\",\n disabled: E,\n onClick: te,\n children: me ? E ? h.magiclineSubmitting : h.magiclineSubmit : h.magiclineWizardNext\n }\n )\n ] })\n ] })\n ] });\n}\nfunction sg({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r }) {\n const i = I(), o = `jex-ml-trainer-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-radio-group\", role: \"radiogroup\", \"aria-label\": i.magiclineStepTrainer, children: [\n /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card jex-magicline-radio-card-active\" : \"jex-magicline-radio-card\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: o,\n checked: e,\n disabled: n,\n onChange: () => {\n r(!0);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: i.magiclineTrainerWith })\n ]\n }\n ),\n /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card\" : \"jex-magicline-radio-card jex-magicline-radio-card-active\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: o,\n checked: !e,\n disabled: n,\n onChange: () => {\n r(!1);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: i.magiclineTrainerWithout })\n ]\n }\n )\n ] });\n}\nfunction lg({\n slotsState: t,\n slotId: e,\n studioZoneId: n,\n disabled: r,\n retryPending: i,\n slotUnavailable: o,\n error: a,\n onSelect: l,\n onRetry: c\n}) {\n const u = I();\n return /* @__PURE__ */ s(J, { children: [\n o ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: u.magiclineSlotUnavailableNotice }) : null,\n i || t.phase === \"loading\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: u.magiclineLoadingSlots }) : t.phase === \"ready\" ? /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": u.magiclineSlotLabel,\n value: e,\n required: !0,\n disabled: r,\n \"aria-invalid\": a !== void 0,\n onChange: (d) => {\n l(d.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: !0, children: u.magiclineSlotPlaceholder }),\n t.slots.map((d) => /* @__PURE__ */ s(\"option\", { value: d.startDateTime, children: Cc(d.startDateTime, Qe.value, n) }, d.startDateTime))\n ]\n }\n ) : t.phase === \"error\" ? (\n // distinct error state with a Retry affordance.\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: u.magiclineSlotsError }),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-retry\",\n disabled: r,\n onClick: c,\n children: u.magiclineRetry\n }\n )\n ] })\n ) : (\n // empty → healthy no-availability message (no retry, can't advance).\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: u.magiclineNoSlots })\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction cg({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {\n const o = I(), a = ke(() => wc(), []);\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n $t,\n {\n label: o.magiclineFirstName,\n value: e.firstName,\n required: !0,\n disabled: r,\n error: n.firstName,\n fieldKey: \"firstName\",\n onInput: (l) => {\n i(\"firstName\", l);\n }\n }\n ),\n /* @__PURE__ */ s(\n $t,\n {\n label: o.magiclineLastName,\n value: e.lastName,\n required: !0,\n disabled: r,\n error: n.lastName,\n fieldKey: \"lastName\",\n onInput: (l) => {\n i(\"lastName\", l);\n }\n }\n )\n ] }),\n t.email.visible ? /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclineEmail, t.email.required, o),\n type: \"email\",\n value: e.email,\n required: t.email.required,\n disabled: r,\n error: n.email,\n fieldKey: \"email\",\n onInput: (l) => {\n i(\"email\", l);\n }\n }\n ) : null,\n t.phone.visible ? /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclinePhone, t.phone.required, o),\n type: \"tel\",\n value: e.phone,\n required: t.phone.required,\n disabled: r,\n error: n.phone,\n fieldKey: \"phone\",\n onInput: (l) => {\n i(\"phone\", l);\n }\n }\n ) : null,\n t.dateOfBirth.visible ? /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: Ze(o.magiclineBirthDate, t.dateOfBirth.required, o) }),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"date\",\n \"aria-label\": Ze(o.magiclineBirthDate, t.dateOfBirth.required, o),\n value: e.birthDate,\n max: a,\n required: t.dateOfBirth.required,\n disabled: r,\n \"aria-invalid\": n.birthDate !== void 0,\n onInput: (l) => {\n i(\"birthDate\", l.currentTarget.value);\n }\n }\n ),\n n.birthDate !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: n.birthDate }) : null\n ] }) : null,\n t.gender.visible ? /* @__PURE__ */ s(\n Tc,\n {\n label: Ze(o.magiclineGender, t.gender.required, o),\n value: e.gender,\n required: t.gender.required,\n disabled: r,\n placeholder: Ze(o.magiclineGenderPlaceholder, t.gender.required, o),\n error: n.gender,\n onChange: (l) => {\n i(\"gender\", l);\n },\n options: Sc.map((l) => ({ value: l, label: mg(l, o) }))\n }\n ) : null\n ] });\n}\nfunction ug({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {\n const o = I();\n return /* @__PURE__ */ s(J, { children: [\n t.address.visible ? /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclineStreet, t.address.required, o),\n value: e.street,\n required: t.address.required,\n disabled: r,\n error: n.street,\n fieldKey: \"street\",\n onInput: (a) => {\n i(\"street\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclineHouseNumber, t.address.required, o),\n value: e.houseNumber,\n required: t.address.required,\n disabled: r,\n error: n.houseNumber,\n fieldKey: \"houseNumber\",\n onInput: (a) => {\n i(\"houseNumber\", a);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclineCity, t.address.required, o),\n value: e.city,\n required: t.address.required,\n disabled: r,\n error: n.city,\n fieldKey: \"city\",\n onInput: (a) => {\n i(\"city\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n Tc,\n {\n label: Ze(o.magiclineCountry, t.address.required, o),\n value: e.country,\n required: t.address.required,\n disabled: r,\n placeholder: Ze(o.magiclineCountryPlaceholder, t.address.required, o),\n error: n.country,\n onChange: (a) => {\n i(\"country\", a);\n },\n options: eg.map((a) => ({ value: a.code, label: a.label }))\n }\n )\n ] }) : null,\n t.zip.visible ? /* @__PURE__ */ s(\n $t,\n {\n label: Ze(o.magiclineZip, t.zip.required, o),\n value: e.zip,\n required: t.zip.required,\n disabled: r,\n error: n.zip,\n fieldKey: \"zip\",\n onInput: (a) => {\n i(\"zip\", a);\n }\n }\n ) : null\n ] });\n}\nfunction dg({\n consentId: t,\n privacyUrl: e,\n studioZoneId: n,\n fields: r,\n disabled: i,\n consentError: o,\n setField: a\n}) {\n const l = I(), c = r.slotId !== \"\" ? Cc(r.slotId, Qe.value, n) : \"—\", u = `${r.firstName} ${r.lastName}`.trim();\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummaryTrainer }),\n /* @__PURE__ */ s(\"dd\", { children: r.trainerRequired ? l.magiclineTrainerWith : l.magiclineTrainerWithout })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummarySlot }),\n /* @__PURE__ */ s(\"dd\", { children: c })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: l.magiclineSummaryName }),\n /* @__PURE__ */ s(\"dd\", { children: u !== \"\" ? u : \"—\" })\n ] })\n ] }),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n class: \"jex-form-textarea\",\n \"aria-label\": l.magiclineNote,\n placeholder: l.magiclineNote,\n value: r.note,\n disabled: i,\n onInput: (d) => {\n a(\"note\", d.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: t, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: t,\n type: \"checkbox\",\n checked: r.consent,\n disabled: i,\n \"aria-invalid\": o !== void 0,\n onChange: (d) => {\n a(\"consent\", d.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: [\n l.magiclineConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: e, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: l.magiclinePrivacyLinkText }),\n \".\"\n ] })\n ] }),\n o !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction $t({\n label: t,\n value: e,\n fieldKey: n,\n type: r = \"text\",\n required: i = !1,\n disabled: o,\n error: a,\n onInput: l\n}) {\n const c = a !== void 0 ? `jex-ml-err-${n}` : void 0;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: r,\n \"aria-label\": t,\n placeholder: t,\n value: e,\n required: i,\n disabled: o,\n \"aria-invalid\": a !== void 0,\n \"aria-describedby\": c,\n onInput: (u) => {\n l(u.currentTarget.value);\n }\n }\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"span\", { id: c, class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction Tc({\n label: t,\n value: e,\n required: n,\n disabled: r,\n placeholder: i,\n error: o,\n options: a,\n onChange: l\n}) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": t,\n value: e,\n required: n,\n disabled: r,\n \"aria-invalid\": o !== void 0,\n onChange: (c) => {\n l(c.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: n, children: i }),\n a.map((c) => /* @__PURE__ */ s(\"option\", { value: c.value, children: c.label }, c.value))\n ]\n }\n ),\n o !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction Ze(t, e, n) {\n return e ? t : t + n.magiclineOptionalSuffix;\n}\nfunction hg(t, e) {\n switch (t) {\n case \"trainer\":\n return e.magiclineStepTrainer;\n case \"slot\":\n return e.magiclineStepSlot;\n case \"personal\":\n return e.magiclineStepPersonal;\n case \"address\":\n return e.magiclineStepAddress;\n case \"confirm\":\n return e.magiclineStepConfirm;\n default:\n return \"\";\n }\n}\nfunction fg(t, e, n) {\n return e.trim() !== \"\" ? e : t === \"unsupported\" ? n.magiclineConfigUnsupported : t === \"inconsistent\" ? n.magiclineConfigInconsistent : n.magiclineConfigUnavailable;\n}\nfunction pg(t, e) {\n const n = {\n firstname: e.firstName.trim(),\n lastname: e.lastName.trim(),\n slotId: e.slotId,\n trainerRequired: e.trainerRequired,\n privacyConsent: e.consent\n };\n return t.email.visible && e.email.trim() !== \"\" && (n.email = e.email.trim()), t.phone.visible && e.phone.trim() !== \"\" && (n.phone = e.phone.trim()), t.dateOfBirth.visible && e.birthDate.trim() !== \"\" && (n.dateOfBirth = e.birthDate.trim()), t.gender.visible && e.gender !== \"\" && (n.gender = e.gender), t.address.visible && (e.street.trim() !== \"\" && (n.street = e.street.trim()), e.houseNumber.trim() !== \"\" && (n.houseNumber = e.houseNumber.trim()), e.city.trim() !== \"\" && (n.city = e.city.trim()), e.country !== \"\" && (n.country = e.country)), t.zip.visible && e.zip.trim() !== \"\" && (n.zip = e.zip.trim()), e.note.trim() !== \"\" && (n.note = e.note.trim()), n;\n}\nfunction mg(t, e) {\n return t === \"MALE\" ? e.magiclineGenderMale : t === \"FEMALE\" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;\n}\nfunction Cc(t, e, n) {\n const r = e === \"de\" ? \"de-DE\" : \"en-GB\", i = t.match(/\\[([^\\]]+)\\]\\s*$/), o = i ? i[1] : n ?? void 0, a = t.replace(/\\[[^\\]]+\\]\\s*$/, \"\"), l = new Date(a);\n if (Number.isNaN(l.getTime()))\n return t;\n try {\n return l.toLocaleString(r, {\n weekday: \"short\",\n day: \"2-digit\",\n month: \"short\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n ...o ? { timeZone: o, timeZoneName: \"short\" } : { timeZoneName: \"short\" }\n });\n } catch {\n return l.toLocaleString(r, {\n weekday: \"short\",\n day: \"2-digit\",\n month: \"short\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n timeZoneName: \"short\"\n });\n }\n}\nfunction uo(t) {\n const e = ie(t);\n return Sn(() => {\n e.current = t;\n }), Z((...n) => e.current(...n), []);\n}\nconst gg = {\n termId: null,\n selectedModuleIds: [],\n acknowledgedBlocks: {},\n personal: {\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n dateOfBirth: \"\",\n gender: \"\",\n phone: \"\"\n },\n address: {\n street: \"\",\n houseNumber: \"\",\n zipCode: \"\",\n city: \"\"\n },\n payment: {\n accountHolder: \"\",\n accountHolderTouched: !1,\n iban: \"\"\n },\n consents: {\n privacy: !1,\n sepa: !1\n }\n};\nfunction xg(t, e) {\n switch (e.type) {\n case \"setTermId\":\n return t.termId === e.termId ? t : {\n ...t,\n termId: e.termId,\n selectedModuleIds: [],\n acknowledgedBlocks: {}\n };\n case \"toggleModule\": {\n if (e.selected)\n return t.selectedModuleIds.includes(e.moduleId) ? t : {\n ...t,\n selectedModuleIds: [...t.selectedModuleIds, e.moduleId]\n };\n const n = { ...t.acknowledgedBlocks };\n return e.consentAckKey !== void 0 && delete n[e.consentAckKey], {\n ...t,\n selectedModuleIds: t.selectedModuleIds.filter((r) => r !== e.moduleId),\n acknowledgedBlocks: n\n };\n }\n case \"setBlockAck\":\n return {\n ...t,\n acknowledgedBlocks: { ...t.acknowledgedBlocks, [e.ackKey]: e.value }\n };\n case \"setPersonal\":\n return { ...t, personal: { ...t.personal, [e.key]: e.value } };\n case \"setAddress\":\n return { ...t, address: { ...t.address, [e.key]: e.value } };\n case \"setAccountHolder\":\n return {\n ...t,\n payment: { ...t.payment, accountHolder: e.value, accountHolderTouched: !0 }\n };\n case \"setIban\":\n return { ...t, payment: { ...t.payment, iban: e.value } };\n case \"setConsent\":\n return { ...t, consents: { ...t.consents, [e.key]: e.value } };\n case \"clearIban\":\n return { ...t, payment: { ...t.payment, iban: \"\" } };\n case \"clearTermId\":\n return {\n ...t,\n termId: null,\n selectedModuleIds: [],\n acknowledgedBlocks: {}\n };\n case \"prefillAccountHolder\":\n return t.payment.accountHolderTouched || t.payment.accountHolder !== \"\" ? t : { ...t, payment: { ...t.payment, accountHolder: e.value } };\n default:\n return t;\n }\n}\nconst _s = {\n draftVoucherCode: \"\",\n appliedVoucherCode: null,\n appliedVoucher: null,\n voucherStatus: \"idle\",\n voucherRequestId: 0,\n voucherUnavailable: !1\n}, bg = \"voucher:\";\nfunction vg(t) {\n const e = {};\n for (const n of Object.keys(t))\n n.startsWith(bg) || (e[n] = t[n]);\n return e;\n}\nfunction yg(t, e) {\n switch (e.type) {\n case \"SET_VOUCHER_DRAFT\": {\n const n = t.appliedVoucher !== null || t.voucherStatus === \"applied\";\n return {\n ...t,\n draftVoucherCode: e.value,\n ...n ? {\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"idle\"\n } : {}\n };\n }\n case \"VOUCHER_APPLYING\":\n return {\n ...t,\n voucherStatus: \"applying\",\n voucherRequestId: t.voucherRequestId + 1\n };\n case \"VOUCHER_APPLIED\":\n return e.requestId !== t.voucherRequestId ? t : {\n ...t,\n appliedVoucher: e.voucher,\n appliedVoucherCode: e.appliedCode,\n voucherStatus: \"applied\"\n };\n case \"VOUCHER_INVALID\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"invalid\"\n };\n case \"VOUCHER_DISABLED\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"disabled\",\n voucherUnavailable: !0\n };\n case \"CLEAR_VOUCHER\":\n return {\n ...t,\n appliedVoucher: null,\n appliedVoucherCode: null,\n voucherStatus: \"idle\"\n };\n default:\n return t;\n }\n}\nfunction wg(t, e) {\n switch (e.type) {\n case \"dropVoucherAcks\": {\n const n = vg(t.acknowledgedBlocks);\n return Object.keys(n).length === Object.keys(t.acknowledgedBlocks).length ? t : { ...t, acknowledgedBlocks: n };\n }\n case \"seedVoucherAcks\": {\n if (e.ackKeys.length === 0)\n return t;\n const n = { ...t.acknowledgedBlocks };\n for (const r of e.ackKeys)\n r in n || (n[r] = !1);\n return { ...t, acknowledgedBlocks: n };\n }\n default:\n return xg(t, e);\n }\n}\nfunction kg({\n sessionId: t,\n visitorId: e\n}) {\n const n = zm(), r = vc(), [i, o] = He(wg, gg), [a, l] = He(yg, _s), [c, u] = He(\n (_, B) => B,\n { phase: \"loading\" }\n ), d = ie(null), [m, h] = He(\n (_, B) => B,\n { phase: \"idle\" }\n ), p = Z((_) => {\n _.phase === \"ready\" ? d.current = _.pricing : (_.phase === \"idle\" || _.phase === \"error\") && (d.current = null), h(_);\n }, []), [x, w] = He((_) => _ + 1, 0), [b, v] = He((_) => _ + 1, 0), k = Z((_) => {\n o({ type: \"setTermId\", termId: _ }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), A = Z((_, B) => {\n o({ type: \"setPersonal\", key: _, value: B });\n }, []), N = Z((_, B) => {\n o({ type: \"setAddress\", key: _, value: B });\n }, []), M = Z((_, B, W) => {\n o({ type: \"toggleModule\", moduleId: _, selected: B, consentAckKey: W }), o({ type: \"dropVoucherAcks\" }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), T = Z((_, B) => {\n o({ type: \"setBlockAck\", ackKey: _, value: B });\n }, []), L = Z((_) => {\n o({ type: \"setAccountHolder\", value: _ });\n }, []), E = Z((_) => {\n o({ type: \"setIban\", value: _ });\n }, []), se = Z((_, B) => {\n o({ type: \"setConsent\", key: _, value: B });\n }, []), $ = Z(() => {\n o({ type: \"clearIban\" });\n }, []), y = Z(() => {\n o({ type: \"clearTermId\" }), l({ type: \"CLEAR_VOUCHER\" });\n }, []), re = Z((_) => {\n l({ type: \"SET_VOUCHER_DRAFT\", value: _ }), o({ type: \"dropVoucherAcks\" });\n }, []), C = ie(_s.voucherRequestId), q = Z(() => {\n const _ = C.current + 1;\n return C.current = _, l({ type: \"VOUCHER_APPLYING\" }), _;\n }, []), me = Z(\n (_) => {\n _.requestId === C.current && (l({\n type: \"VOUCHER_APPLIED\",\n requestId: _.requestId,\n voucher: _.voucher,\n appliedCode: _.appliedCode,\n voucherAckKeys: _.voucherAckKeys\n }), p({ phase: \"ready\", pricing: _.pricing }), o({ type: \"seedVoucherAcks\", ackKeys: _.voucherAckKeys }));\n },\n [p]\n ), z = Z(() => {\n l({ type: \"VOUCHER_INVALID\" }), o({ type: \"dropVoucherAcks\" }), v();\n }, []), Ne = Z(() => {\n l({ type: \"VOUCHER_DISABLED\" }), o({ type: \"dropVoucherAcks\" }), v();\n }, []), at = Z(() => {\n l({ type: \"CLEAR_VOUCHER\" }), o({ type: \"dropVoucherAcks\" }), v();\n }, []), yt = Z(() => {\n w();\n }, []), Ft = Z(() => {\n p({ phase: \"idle\" });\n }, [p]), te = Z(() => {\n v();\n }, []), Be = c.phase === \"ready\" && i.termId !== null ? c.terms.find((_) => _.termId === i.termId) ?? null : null, { selectedModuleIds: At, acknowledgedBlocks: ue } = i, { appliedVoucher: F } = a, Ee = ke(() => {\n if (Be === null)\n return [];\n const _ = /* @__PURE__ */ new Set();\n for (const B of Be.textBlocks)\n B.isConfirmationRequired && _.add(B.ackKey);\n for (const B of At) {\n const W = Be.optionalModules.find((de) => de.id === B);\n W?.consent && _.add(W.consent.ackKey);\n }\n if (F !== null)\n for (const B of F.textBlocks)\n _.add(B.ackKey);\n return [..._];\n }, [Be, At, F]), Ut = ke(\n () => Ee.every((_) => ue[_] === !0),\n [Ee, ue]\n ), { firstName: we, lastName: Ge } = i.personal, { accountHolder: Se, accountHolderTouched: ee } = i.payment;\n P(() => {\n ee || Se !== \"\" || we.trim() !== \"\" && Ge.trim() !== \"\" && o({\n type: \"prefillAccountHolder\",\n value: `${we.trim()} ${Ge.trim()}`\n });\n }, [we, Ge, Se, ee]), P(() => {\n let _ = !1;\n return u({ phase: \"loading\" }), (async () => {\n try {\n const B = await n({ sessionId: t, visitorId: e });\n if (_)\n return;\n B.status === \"ok\" ? B.terms.length > 0 ? u({ phase: \"ready\", terms: B.terms, allowVoucherCodes: B.allowVoucherCodes }) : u({ phase: \"empty\" }) : u({ phase: \"error\" });\n } catch {\n _ || u({ phase: \"error\" });\n }\n })(), () => {\n _ = !0;\n };\n }, [n, t, e, x]);\n const Bt = uo(() => {\n const _ = Be;\n return _ ? {\n sessionId: t,\n visitorId: e,\n termId: _.termId,\n startDate: _.defaultContractStartDate ?? \"\",\n fields: {\n firstname: i.personal.firstName.trim(),\n lastname: i.personal.lastName.trim(),\n email: i.personal.email.trim(),\n dateOfBirth: i.personal.dateOfBirth.trim(),\n gender: i.personal.gender,\n phone: i.personal.phone.trim(),\n street: i.address.street.trim(),\n houseNumber: i.address.houseNumber.trim(),\n zipCode: i.address.zipCode.trim(),\n city: i.address.city.trim()\n },\n // Only modules still offered by the (re-fetched) term are sent; a vanished\n // module is dropped by the term-change reset before this runs.\n selectedModuleIds: _.optionalModules.filter((B) => i.selectedModuleIds.includes(B.id)).map((B) => B.id),\n privacyConsent: i.consents.privacy,\n sepaConsent: i.consents.sepa\n } : null;\n });\n return P(() => {\n if (b === 0)\n return;\n const _ = Bt();\n if (!_) {\n p({ phase: \"error\", code: \"offer_unavailable\" });\n return;\n }\n let B = !1;\n const W = d.current;\n return p(W !== null ? { phase: \"reloading\", pricing: W } : { phase: \"loading\" }), (async () => {\n try {\n const de = await r(_);\n if (B)\n return;\n de.status === \"ok\" ? p({\n phase: \"ready\",\n pricing: {\n basePrice: de.basePrice,\n preUseCharge: de.preUseCharge,\n currencyCode: de.currencyCode,\n flatFees: de.flatFees,\n modules: de.modules,\n contractVolume: de.contractVolume,\n startDate: de.startDate,\n paymentFrequency: de.paymentFrequency,\n fingerprint: de.pricingFingerprint\n }\n }) : p({\n phase: \"error\",\n code: de.status === \"voucher_invalid\" || de.status === \"voucher_disabled\" ? \"unavailable\" : de.status\n });\n } catch {\n B || p({ phase: \"error\", code: \"unavailable\" });\n }\n })(), () => {\n B = !0;\n };\n }, [b, r, t, e, p]), {\n fields: i,\n offersState: c,\n previewState: m,\n selectedTerm: Be,\n requiredAckKeys: Ee,\n allAcknowledged: Ut,\n /**\n * Server-authoritative flag: true only when the server confirmed\n * `allowVoucherCodes` in the getRateBundles ok-result. Defaults to false\n * (fail-closed) while loading or on error.\n */\n serverAllowVoucherCodes: c.phase === \"ready\" ? c.allowVoucherCodes : !1,\n // Voucher state (read)\n voucherStatus: a.voucherStatus,\n draftVoucherCode: a.draftVoucherCode,\n appliedVoucherCode: a.appliedVoucherCode,\n appliedVoucher: a.appliedVoucher,\n voucherUnavailable: a.voucherUnavailable,\n // Field actions\n setTermId: k,\n setPersonal: A,\n setAddress: N,\n toggleModule: M,\n setBlockAck: T,\n setAccountHolder: L,\n setIban: E,\n setConsent: se,\n clearIban: $,\n clearTermId: y,\n refetchOffers: yt,\n fetchPreview: te,\n resetPreview: Ft,\n // Voucher actions\n setVoucherDraft: re,\n beginVoucherApply: q,\n commitVoucherApplied: me,\n markVoucherInvalid: z,\n markVoucherDisabled: Ne,\n clearVoucher: at\n };\n}\nfunction _g(t) {\n return t !== null && t.optionalModules.length > 0 ? [\"offer\", \"upgrades\", \"personal\", \"address\", \"payment\", \"review\"] : [\"offer\", \"personal\", \"address\", \"payment\", \"review\"];\n}\nfunction jg({\n formMessageId: t,\n sessionId: e,\n visitorId: n,\n projectId: r,\n formStatus: i\n}) {\n const o = I(), a = Qe.value, l = Fm(), c = vc(), u = kg({ sessionId: e, visitorId: n }), {\n fields: d,\n offersState: m,\n previewState: h,\n selectedTerm: p,\n requiredAckKeys: x,\n allAcknowledged: w,\n serverAllowVoucherCodes: b,\n voucherStatus: v,\n draftVoucherCode: k,\n appliedVoucher: A,\n appliedVoucherCode: N,\n voucherUnavailable: M,\n setTermId: T,\n setPersonal: L,\n setAddress: E,\n toggleModule: se,\n setBlockAck: $,\n setAccountHolder: y,\n setIban: re,\n setConsent: C,\n clearIban: q,\n clearTermId: me,\n refetchOffers: z,\n fetchPreview: Ne,\n resetPreview: at,\n setVoucherDraft: yt,\n beginVoucherApply: Ft,\n commitVoucherApplied: te,\n markVoucherInvalid: Be,\n markVoucherDisabled: At\n } = u, [ue, F] = D(0), [Ee, Ut] = D({}), [we, Ge] = D(!1), [Se, ee] = D(null), [Bt, _] = D(null), [B, W] = D(null), de = ke(() => kc(), []);\n if (Se !== null && Se.status === \"succeeded\")\n return /* @__PURE__ */ s(js, { customerNumber: Se.customerNumber });\n if (Se !== null && Se.status === \"failed\" && !Se.retryable) {\n const K = Se.errorCode === \"duplicate_submission\" ? o.magiclineDuplicateNotice : Se.errorCode === \"unknown_outcome\" ? o.magiclineUnknownOutcome : Se.errorCode === \"live_submission_disabled\" ? o.magiclineLiveSubmissionDisabled : o.magiclineFailedDetail;\n return /* @__PURE__ */ s(Ss, { message: K });\n }\n if (Se === null && !we && i === \"submitted\")\n return /* @__PURE__ */ s(js, { customerNumber: null });\n if (Se === null && !we && i === \"failed\")\n return /* @__PURE__ */ s(Ss, { message: o.magiclineFailedDetail });\n const st = _g(p), Le = Math.min(ue, st.length - 1), Ve = st[Le] ?? \"offer\", nn = Le === st.length - 1, fr = Le === 0;\n function pr(K) {\n const V = {};\n if (K === \"offer\")\n return d.termId === null && (V.termId = o.magiclineOfferRequiredError), V;\n if (K === \"upgrades\") {\n if (p !== null)\n for (const fe of d.selectedModuleIds) {\n const et = p.optionalModules.find((ge) => ge.id === fe);\n if (et?.consent && d.acknowledgedBlocks[et.consent.ackKey] !== !0) {\n V.upgrades = o.magiclineUpgradeConsentError;\n break;\n }\n }\n return V;\n }\n if (K === \"personal\") {\n const fe = d.personal;\n return fe.firstName.trim() === \"\" && (V.firstName = o.magiclineRequiredError), fe.lastName.trim() === \"\" && (V.lastName = o.magiclineRequiredError), fe.email.trim() === \"\" ? V.email = o.magiclineRequiredError : yc(fe.email) || (V.email = o.magiclineEmailError), fe.dateOfBirth.trim() === \"\" && (V.dateOfBirth = o.magiclineRequiredError), fe.gender === \"\" && (V.gender = o.magiclineRequiredError), fe.phone.trim() === \"\" && (V.phone = o.magiclineRequiredError), V;\n }\n if (K === \"address\") {\n const fe = d.address;\n return fe.street.trim() === \"\" && (V.street = o.magiclineRequiredError), fe.houseNumber.trim() === \"\" && (V.houseNumber = o.magiclineRequiredError), fe.zipCode.trim() === \"\" && (V.zipCode = o.magiclineRequiredError), fe.city.trim() === \"\" && (V.city = o.magiclineRequiredError), V;\n }\n return K === \"payment\" && (d.payment.accountHolder.trim() === \"\" && (V.accountHolder = o.magiclineRequiredError), Qm(d.payment.iban) || (V.iban = o.magiclineIbanInvalidError), d.consents.privacy || (V.privacy = o.magiclineConsentError), d.consents.sepa || (V.sepa = o.magiclineConsentError)), V;\n }\n function lt() {\n const K = pr(Ve);\n if (Object.keys(K).length > 0) {\n Ut(K);\n return;\n }\n Ut({}), _(null);\n const V = Math.min(Le + 1, st.length - 1);\n st[V] === \"review\" && Ne(), F(V);\n }\n function Vt() {\n Ut({}), _(null), Ve === \"review\" && at(), F((K) => Math.max(K - 1, 0));\n }\n function wt() {\n _(null), Ne();\n }\n async function Rn() {\n if (!we && !(h.phase !== \"ready\" || p === null)) {\n if (!w) {\n _(o.magiclineConfirmRequiredError);\n return;\n }\n Ge(!0), _(null);\n try {\n const K = await l({\n sessionId: e,\n visitorId: n,\n projectId: r,\n formMessageId: t,\n fields: {\n firstname: d.personal.firstName.trim(),\n lastname: d.personal.lastName.trim(),\n email: d.personal.email.trim(),\n phone: d.personal.phone.trim(),\n dateOfBirth: d.personal.dateOfBirth.trim(),\n gender: d.personal.gender,\n street: d.address.street.trim(),\n houseNumber: d.address.houseNumber.trim(),\n zipCode: d.address.zipCode.trim(),\n city: d.address.city.trim(),\n rateBundleTermId: p.termId,\n privacyConsent: d.consents.privacy,\n sepaConsent: d.consents.sepa\n },\n bankAccount: {\n accountHolder: d.payment.accountHolder.trim(),\n iban: d.payment.iban\n },\n // Only modules still offered by the selected term are sent.\n selectedModuleIds: p.optionalModules.filter((V) => d.selectedModuleIds.includes(V.id)).map((V) => V.id),\n // Required text-block + selected-module consent ackKeys (the submit\n // button is gated on all of these being ticked).\n acknowledgedAckKeys: x,\n pricingFingerprint: h.pricing.fingerprint,\n voucherCode: N ?? void 0\n });\n if (K.status === \"succeeded\") {\n ee(K);\n return;\n }\n if (K.errorCode === \"price_changed\") {\n _(o.magiclinePriceChangedNotice), Ne(), Ge(!1);\n return;\n }\n if (K.errorCode === \"offer_unavailable\") {\n me(), z(), at(), _(o.magiclineOfferUnavailableNotice), F(0), Ge(!1);\n return;\n }\n if (K.errorCode === \"confirmation_required\") {\n _(o.magiclineConfirmationRequiredNotice), Ge(!1);\n return;\n }\n if (K.errorCode === \"live_submission_disabled\") {\n ee(K);\n return;\n }\n if (!K.retryable) {\n ee(K);\n return;\n }\n q(), _(K.message !== \"\" ? K.message : o.magiclineFailedDetail), Ge(!1);\n } catch (K) {\n ne.error(\"[ContractCreationForm] Submit failed:\", K), q(), _(o.magiclineFailedDetail), Ge(!1);\n }\n }\n }\n async function En() {\n if (h.phase !== \"ready\" || p === null || k.trim() === \"\")\n return;\n const K = k.trim(), V = Ft();\n W(null);\n const fe = (ge) => {\n Be(), yt(\"\"), W(ge);\n }, et = o.magiclineVoucherInvalid.replace(\"{code}\", K);\n try {\n const ge = await c({\n sessionId: e,\n visitorId: n,\n termId: p.termId,\n startDate: p.defaultContractStartDate ?? \"\",\n fields: {\n firstname: d.personal.firstName.trim(),\n lastname: d.personal.lastName.trim(),\n email: d.personal.email.trim(),\n dateOfBirth: d.personal.dateOfBirth.trim(),\n gender: d.personal.gender,\n phone: d.personal.phone.trim(),\n street: d.address.street.trim(),\n houseNumber: d.address.houseNumber.trim(),\n zipCode: d.address.zipCode.trim(),\n city: d.address.city.trim()\n },\n selectedModuleIds: p.optionalModules.filter((ze) => d.selectedModuleIds.includes(ze.id)).map((ze) => ze.id),\n privacyConsent: d.consents.privacy,\n sepaConsent: d.consents.sepa,\n voucherCode: k.trim()\n });\n if (ge.status === \"ok\") {\n const ze = ge.voucher;\n if (ze !== null) {\n const Ke = ze.textBlocks.map((Mn) => Mn.ackKey);\n te({\n requestId: V,\n voucher: ze,\n appliedCode: k.trim(),\n voucherAckKeys: Ke,\n // Thread the voucher-inclusive pricing from this same response so\n // previewState.pricing.fingerprint is updated atomically. Without\n // this the submitted fingerprint is the base (no-voucher) one and\n // the backend always returns price_changed.\n pricing: {\n basePrice: ge.basePrice,\n preUseCharge: ge.preUseCharge,\n currencyCode: ge.currencyCode,\n flatFees: ge.flatFees,\n modules: ge.modules,\n contractVolume: ge.contractVolume,\n startDate: ge.startDate,\n paymentFrequency: ge.paymentFrequency,\n fingerprint: ge.pricingFingerprint\n }\n });\n } else\n fe(et);\n } else ge.status === \"voucher_invalid\" ? fe(et) : ge.status === \"voucher_disabled\" ? (At(), yt(\"\"), W(o.magiclineVoucherDisabled)) : fe(et);\n } catch {\n fe(et);\n }\n }\n function In() {\n nn ? Rn() : lt();\n }\n const rn = $g(Ve, o), Rt = v === \"applying\" || k.trim() !== \"\" && k.trim() !== (N ?? \"\"), on = Ve === \"review\" && (h.phase !== \"ready\" || !w || Rt), an = we || on;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-magicline-form\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-header\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: o.magiclineContractTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-progress\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-step-label\", children: rn }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-wizard-counter\", children: o.magiclineStepCounter.replace(\"{n}\", String(Le + 1)).replace(\"{total}\", String(st.length)) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-dots\", \"aria-hidden\": \"true\", children: st.map((K, V) => /* @__PURE__ */ s(\n \"span\",\n {\n class: V === Le ? \"jex-magicline-wizard-dot jex-magicline-wizard-dot-active\" : \"jex-magicline-wizard-dot\"\n },\n K\n )) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-form\", role: \"group\", \"aria-label\": rn, children: [\n Ve === \"offer\" ? /* @__PURE__ */ s(\n Sg,\n {\n offersState: m,\n selectedTermId: d.termId,\n widgetLocale: a,\n disabled: we,\n error: Ee.termId,\n onSelect: T,\n onRetry: z\n }\n ) : null,\n Ve === \"upgrades\" && p !== null ? /* @__PURE__ */ s(\n Ag,\n {\n modules: p.optionalModules,\n selectedModuleIds: d.selectedModuleIds,\n acknowledgedBlocks: d.acknowledgedBlocks,\n widgetLocale: a,\n disabled: we,\n error: Ee.upgrades,\n onToggle: se,\n onAck: $\n }\n ) : null,\n Ve === \"personal\" ? /* @__PURE__ */ s(\n Eg,\n {\n personal: d.personal,\n errors: Ee,\n disabled: we,\n setPersonal: L\n }\n ) : null,\n Ve === \"address\" ? /* @__PURE__ */ s(\n Ig,\n {\n address: d.address,\n errors: Ee,\n disabled: we,\n setAddress: E\n }\n ) : null,\n Ve === \"payment\" ? /* @__PURE__ */ s(\n Mg,\n {\n formMessageId: t,\n fields: d,\n errors: Ee,\n privacyUrl: de,\n disabled: we,\n setAccountHolder: y,\n setIban: re,\n setConsent: C\n }\n ) : null,\n Ve === \"review\" ? /* @__PURE__ */ s(\n Pg,\n {\n fields: d,\n term: p,\n previewState: h,\n widgetLocale: a,\n disabled: we,\n acknowledgedBlocks: d.acknowledgedBlocks,\n onToggleAck: $,\n onRetry: wt,\n allowVoucherCodes: b,\n voucherUnavailable: M,\n voucherStatus: v,\n draftVoucherCode: k,\n appliedVoucher: A,\n voucherBanner: B,\n onVoucherDraftChange: yt,\n onApplyVoucher: () => {\n En();\n }\n }\n ) : null,\n Bt !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: Bt }) : null,\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-wizard-nav\", children: [\n fr ? null : /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-wizard-back\",\n disabled: we,\n onClick: Vt,\n children: o.magiclineWizardBack\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-form-submit jex-magicline-wizard-next\",\n disabled: an,\n onClick: In,\n children: nn ? we ? o.magiclineSubmitting : o.magiclineSubmit : o.magiclineWizardNext\n }\n )\n ] })\n ] })\n ] });\n}\nfunction js({ customerNumber: t }) {\n const e = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: e.magiclineContractSuccessTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: e.magiclineContractSuccessDetail }),\n t !== null && t !== \"\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: e.magiclineCustomerNumber.replace(\"{number}\", t) }) : null\n ] })\n ] });\n}\nfunction Ss({ message: t }) {\n const e = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted jex-magicline-failed\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check jex-magicline-failed-icon\", children: \"!\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: e.magiclineFailed }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: t })\n ] })\n ] });\n}\nfunction Sg({\n offersState: t,\n selectedTermId: e,\n widgetLocale: n,\n disabled: r,\n error: i,\n onSelect: o,\n onRetry: a\n}) {\n const l = I();\n if (t.phase === \"loading\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: l.magiclineOffersLoading });\n if (t.phase === \"error\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: l.magiclineOffersError }),\n /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-magicline-retry\", disabled: r, onClick: a, children: l.magiclineRetry })\n ] });\n if (t.phase === \"empty\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: l.magiclineNoOffers });\n const c = Og(t.terms);\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-radio-group\", role: \"radiogroup\", \"aria-label\": l.magiclineStepOffer, children: c.map((u) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-group\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-bundle-name\", children: u.bundleName }),\n u.bundleDescription !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-offer-bundle-desc\", children: u.bundleDescription }) : null,\n u.terms.map((d) => /* @__PURE__ */ s(\n Tg,\n {\n term: d,\n checked: e === d.termId,\n widgetLocale: n,\n disabled: r,\n onSelect: o\n },\n d.termId\n )),\n /* @__PURE__ */ s(\n Cg,\n {\n subDescription: u.bundleSubDescription,\n footnote: u.footnote\n }\n )\n ] }, u.bundleId)) }),\n i !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: i }) : null\n ] });\n}\nfunction Tg({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i }) {\n const o = I(), a = ei(t.termValue, t.termUnit, n), l = it(t.price, t.currencyCode, n), c = t.flatFees.find((d) => d.isStarterPackage), u = t.flatFees.filter((d) => !d.isStarterPackage);\n return /* @__PURE__ */ s(\n \"label\",\n {\n class: e ? \"jex-magicline-radio-card jex-magicline-radio-card-active\" : \"jex-magicline-radio-card\",\n children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"radio\",\n name: \"jex-ml-offer\",\n checked: e,\n disabled: r,\n onChange: () => {\n i(t.termId);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-head\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-length\", children: a }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-price\", children: [\n l,\n \" \",\n Fo(\n t.paymentFrequency.value,\n t.paymentFrequency.unit,\n n\n )\n ] })\n ] }),\n t.cancellationPeriod !== null ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineCancellationPeriod,\n \":\",\n \" \",\n ei(\n t.cancellationPeriod.value,\n t.cancellationPeriod.unit,\n n\n )\n ] }) : null,\n c !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineStarterPackage,\n \":\",\n \" \",\n it(c.price, t.currencyCode, n)\n ] }) : null,\n u.map((d) => /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n jc(d.name, o),\n \": \",\n it(d.price, t.currencyCode, n)\n ] }, d.name)),\n t.includedModuleNames.length > 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-offer-term-note\", children: [\n o.magiclineIncludedModules,\n \": \",\n t.includedModuleNames.join(\", \")\n ] }) : null\n ] })\n ]\n }\n );\n}\nfunction Cg({ subDescription: t, footnote: e }) {\n const n = I(), r = Lg(t), i = e !== null && e.trim() !== \"\";\n return r.length === 0 && !i ? null : /* @__PURE__ */ s(\"details\", { class: \"jex-magicline-bundle-details\", children: [\n /* @__PURE__ */ s(\"summary\", { class: \"jex-magicline-bundle-details-summary\", children: n.magiclineDetails }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-bundle-details-body\", children: [\n r.length > 0 ? /* @__PURE__ */ s(\"ul\", { class: \"jex-magicline-bundle-details-list\", children: r.map((o, a) => /* @__PURE__ */ s(\"li\", { children: o }, `${a}-${o}`)) }) : null,\n i ? /* @__PURE__ */ s(\"p\", { class: \"jex-magicline-bundle-details-footnote\", children: e }) : null\n ] })\n ] });\n}\nfunction Ag({\n modules: t,\n selectedModuleIds: e,\n acknowledgedBlocks: n,\n widgetLocale: r,\n disabled: i,\n error: o,\n onToggle: a,\n onAck: l\n}) {\n const c = I();\n return t.length === 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: c.magiclineUpgradesNone }) : /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", children: c.magiclineUpgradesIntro }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-upgrade-group\", children: t.map((u) => /* @__PURE__ */ s(\n Rg,\n {\n module: u,\n selected: e.includes(u.id),\n consentChecked: u.consent !== null && n[u.consent.ackKey] === !0,\n widgetLocale: r,\n disabled: i,\n onToggle: a,\n onAck: l\n },\n u.id\n )) }),\n o !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction Rg({\n module: t,\n selected: e,\n consentChecked: n,\n widgetLocale: r,\n disabled: i,\n onToggle: o,\n onAck: a\n}) {\n const l = I(), c = Ym(\n t.price,\n t.currencyCode,\n t.paymentFrequencyType,\n t.recurringUnit,\n r\n ), u = Jm(t.extensionType, t.termExtension, r), d = t.termLabel !== null && t.termLabel !== \"\" ? t.termLabel : l.magiclineUpgradeOneTime, m = t.consent;\n return /* @__PURE__ */ s(\"div\", { class: e ? \"jex-magicline-upgrade-card jex-magicline-upgrade-card-active\" : \"jex-magicline-upgrade-card\", children: [\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-upgrade-head\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n type: \"checkbox\",\n checked: e,\n disabled: i,\n onChange: (h) => {\n o(t.id, h.currentTarget.checked, m?.ackKey);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-info\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-name\", children: t.name }),\n t.description !== null && t.description !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: t.description }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-price\", children: c }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: d }),\n u !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-desc\", children: u }) : null\n ] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-upgrade-status\", children: e ? l.magiclineUpgradeAdded : l.magiclineUpgradeAdd })\n ] }),\n e && m !== null ? /* @__PURE__ */ s(\n ho,\n {\n ackKey: m.ackKey,\n title: m.title,\n text: m.text,\n attachmentLabel: m.attachmentLabel,\n attachmentUrl: m.attachmentUrl,\n checked: n,\n disabled: i,\n onToggle: a,\n showRequiredPill: !0\n }\n ) : null\n ] });\n}\nfunction Eg({ personal: t, errors: e, disabled: n, setPersonal: r }) {\n const i = I(), o = ke(() => wc(), []);\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n xt,\n {\n label: i.magiclineFirstName,\n value: t.firstName,\n required: !0,\n disabled: n,\n error: e.firstName,\n fieldKey: \"firstName\",\n onInput: (a) => {\n r(\"firstName\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\n xt,\n {\n label: i.magiclineLastName,\n value: t.lastName,\n required: !0,\n disabled: n,\n error: e.lastName,\n fieldKey: \"lastName\",\n onInput: (a) => {\n r(\"lastName\", a);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\n xt,\n {\n label: i.magiclineEmail,\n type: \"email\",\n value: t.email,\n required: !0,\n disabled: n,\n error: e.email,\n fieldKey: \"email\",\n onInput: (a) => {\n r(\"email\", a);\n }\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: i.magiclineBirthDate }),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"date\",\n \"aria-label\": i.magiclineBirthDate,\n value: t.dateOfBirth,\n max: o,\n required: !0,\n disabled: n,\n \"aria-invalid\": e.dateOfBirth !== void 0,\n onInput: (a) => {\n r(\"dateOfBirth\", a.currentTarget.value);\n }\n }\n ),\n e.dateOfBirth !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: e.dateOfBirth }) : null\n ] }),\n /* @__PURE__ */ s(\n Ng,\n {\n label: i.magiclineGender,\n value: t.gender,\n required: !0,\n disabled: n,\n placeholder: i.magiclineGenderPlaceholder,\n error: e.gender,\n onChange: (a) => {\n r(\"gender\", a);\n },\n options: Sc.map((a) => ({ value: a, label: Dg(a, i) }))\n }\n ),\n /* @__PURE__ */ s(\n xt,\n {\n label: i.magiclinePhone,\n type: \"tel\",\n value: t.phone,\n required: !0,\n disabled: n,\n error: e.phone,\n fieldKey: \"phone\",\n onInput: (a) => {\n r(\"phone\", a);\n }\n }\n )\n ] });\n}\nfunction Ig({ address: t, errors: e, disabled: n, setAddress: r }) {\n const i = I();\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n xt,\n {\n label: i.magiclineStreet,\n value: t.street,\n required: !0,\n disabled: n,\n error: e.street,\n fieldKey: \"street\",\n onInput: (o) => {\n r(\"street\", o);\n }\n }\n ),\n /* @__PURE__ */ s(\n xt,\n {\n label: i.magiclineHouseNumber,\n value: t.houseNumber,\n required: !0,\n disabled: n,\n error: e.houseNumber,\n fieldKey: \"houseNumber\",\n onInput: (o) => {\n r(\"houseNumber\", o);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-row\", children: [\n /* @__PURE__ */ s(\n xt,\n {\n label: i.magiclineZip,\n value: t.zipCode,\n required: !0,\n disabled: n,\n error: e.zipCode,\n fieldKey: \"zipCode\",\n onInput: (o) => {\n r(\"zipCode\", o);\n }\n }\n ),\n /* @__PURE__ */ s(\n xt,\n {\n label: i.magiclineCity,\n value: t.city,\n required: !0,\n disabled: n,\n error: e.city,\n fieldKey: \"city\",\n onInput: (o) => {\n r(\"city\", o);\n }\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-field-label\", children: i.magiclineCountry }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-static-value\", children: i.magiclineCountryStatic })\n ] })\n ] });\n}\nfunction Mg({\n formMessageId: t,\n fields: e,\n errors: n,\n privacyUrl: r,\n disabled: i,\n setAccountHolder: o,\n setIban: a,\n setConsent: l\n}) {\n const c = I(), u = `jex-ml-privacy-${t}`, d = `jex-ml-sepa-${t}`;\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\n xt,\n {\n label: c.magiclineAccountHolder,\n value: e.payment.accountHolder,\n required: !0,\n disabled: i,\n error: n.accountHolder,\n fieldKey: \"accountHolder\",\n onInput: o\n }\n ),\n /* @__PURE__ */ s(\n xt,\n {\n label: c.magiclineIban,\n value: e.payment.iban,\n required: !0,\n disabled: i,\n error: n.iban,\n fieldKey: \"iban\",\n onInput: a\n }\n ),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: u, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: u,\n type: \"checkbox\",\n checked: e.consents.privacy,\n disabled: i,\n \"aria-invalid\": n.privacy !== void 0,\n onChange: (m) => {\n l(\"privacy\", m.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: [\n c.magiclineConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: r, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: c.magiclinePrivacyLinkText }),\n \".\"\n ] })\n ] }),\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: d, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: d,\n type: \"checkbox\",\n checked: e.consents.sepa,\n disabled: i,\n \"aria-invalid\": n.sepa !== void 0,\n onChange: (m) => {\n l(\"sepa\", m.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { children: c.magiclineSepaConsent })\n ] }),\n n.privacy !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: n.privacy }) : null,\n n.sepa !== void 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: n.sepa }) : null\n ] });\n}\nfunction Pg({\n fields: t,\n term: e,\n previewState: n,\n widgetLocale: r,\n disabled: i,\n acknowledgedBlocks: o,\n onToggleAck: a,\n onRetry: l,\n allowVoucherCodes: c,\n voucherUnavailable: u,\n voucherStatus: d,\n draftVoucherCode: m,\n appliedVoucher: h,\n voucherBanner: p,\n onVoucherDraftChange: x,\n onApplyVoucher: w\n}) {\n const b = I();\n if (n.phase === \"loading\" || n.phase === \"idle\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", \"aria-live\": \"polite\", children: b.magiclineReviewLoading });\n if (n.phase === \"error\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-error\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-slots-hint\", role: \"alert\", \"aria-live\": \"polite\", children: n.code === \"offer_unavailable\" ? b.magiclineOfferUnavailableNotice : b.magiclineReviewError }),\n /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-magicline-retry\", disabled: i, onClick: l, children: b.magiclineRetry })\n ] });\n const v = n.pricing, k = n.phase === \"reloading\", A = v.contractVolume, N = `${t.personal.firstName} ${t.personal.lastName}`.trim(), M = t.address, T = [\n `${M.street} ${M.houseNumber}`.trim(),\n `${M.zipCode} ${M.city}`.trim(),\n b.magiclineCountryStatic\n ].filter((C) => C !== \"\").join(\", \"), L = e !== null ? `${e.bundleName} · ${ei(e.termValue, e.termUnit, r)}` : \"—\", E = e !== null ? e.textBlocks.filter((C) => C.isConfirmationRequired) : [], se = e !== null ? e.textBlocks.filter((C) => !C.isConfirmationRequired) : [], $ = e !== null ? e.optionalModules.filter((C) => t.selectedModuleIds.includes(C.id) && C.consent !== null).map((C) => ({ module: C, consent: C.consent })) : [], y = h !== null ? h.textBlocks.filter((C) => C.ackKey.startsWith(\"voucher:\")) : [], re = c && !u;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-review-wrap\", children: [\n /* @__PURE__ */ s(\n \"div\",\n {\n class: k ? \"jex-magicline-review-body jex-magicline-review-body--reloading\" : \"jex-magicline-review-body\",\n \"aria-busy\": k,\n children: [\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineReviewOffer }),\n /* @__PURE__ */ s(\"dd\", { children: L })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineReviewBasePrice }),\n /* @__PURE__ */ s(\"dd\", { children: [\n h !== null && h.voucherType === \"DISCOUNT\" ? it(h.discountedBasePrice, v.currencyCode, r) : it(v.basePrice, v.currencyCode, r),\n \" \",\n Fo(\n v.paymentFrequency.value,\n v.paymentFrequency.unit,\n r\n )\n ] })\n ] }),\n h !== null && h.voucherType === \"DISCOUNT\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-voucher-discount-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineVoucherAppliedDiscount.replace(\n \"{discount}\",\n Xm(\n h.discountValue,\n h.discountType,\n v.currencyCode,\n r\n )\n ) }),\n /* @__PURE__ */ s(\"dd\", {})\n ] }) : null,\n h !== null && h.remarks !== null && h.remarks !== \"\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-voucher-remarks-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineVoucherRemarks }),\n /* @__PURE__ */ s(\"dd\", { children: h.remarks })\n ] }) : null,\n v.flatFees.map((C, q) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: jc(C.name, b) }),\n /* @__PURE__ */ s(\"dd\", { children: it(C.price, v.currencyCode, r) })\n ] }, `${C.name}-${q}`)),\n v.preUseCharge > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineReviewPreUseCharge }),\n /* @__PURE__ */ s(\"dd\", { children: it(v.preUseCharge, v.currencyCode, r) })\n ] }) : null\n ] }),\n v.modules.length > 0 ? /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-heading\", children: b.magiclineReviewSelectedUpgrades }),\n v.modules.map((C, q) => /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: C.name }),\n /* @__PURE__ */ s(\"dd\", { children: it(C.amount, C.currencyCode, r) })\n ] }, `${C.moduleId}-${q}`))\n ] }) : null,\n A !== null && A.total !== null ? /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section jex-magicline-summary-totals\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row jex-magicline-summary-total-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: h !== null && h.voucherType === \"DISCOUNT\" ? b.magiclineGesamtpreisBeforeDiscount : b.magiclineReviewContractVolume }),\n /* @__PURE__ */ s(\"dd\", { children: it(A.total, v.currencyCode, r) })\n ] }) }) : null,\n h !== null && h.voucherType === \"CREDIT\" ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-voucher-credit-notice\", role: \"note\", children: b.magiclineVoucherCreditNotice }) : null,\n /* @__PURE__ */ s(\"dl\", { class: \"jex-magicline-summary jex-magicline-summary-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineReviewStartsOn }),\n /* @__PURE__ */ s(\"dd\", { children: Km(v.startDate, r) })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineSummaryName }),\n /* @__PURE__ */ s(\"dd\", { children: N !== \"\" ? N : \"—\" })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineSummaryAddress }),\n /* @__PURE__ */ s(\"dd\", { children: T })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-summary-row\", children: [\n /* @__PURE__ */ s(\"dt\", { children: b.magiclineReviewPayment }),\n /* @__PURE__ */ s(\"dd\", { children: Gm(t.payment.iban) })\n ] })\n ] }),\n re ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-voucher-section\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field jex-magicline-voucher-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n \"aria-label\": b.magiclineVoucherLabel,\n placeholder: b.magiclineVoucherPlaceholder,\n value: m,\n disabled: i || d === \"applying\",\n onInput: (C) => {\n x(C.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-magicline-voucher-apply\",\n disabled: i || d === \"applying\" || m.trim() === \"\",\n onClick: w,\n children: b.magiclineVoucherApply\n }\n )\n ] }),\n p !== null ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-error\", role: \"alert\", children: p }) : null\n ] }) : null,\n $.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms\", role: \"group\", \"aria-label\": b.magiclineReviewSelectedUpgrades, children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-upgrades-recap-title\", children: b.magiclineReviewSelectedUpgrades }),\n $.map(({ module: C, consent: q }) => /* @__PURE__ */ s(\n Ts,\n {\n title: q.title !== \"\" ? q.title : C.name,\n text: q.text,\n attachmentLabel: q.attachmentLabel,\n attachmentUrl: q.attachmentUrl\n },\n q.ackKey\n ))\n ] }) : null,\n E.length > 0 || se.length > 0 || y.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms\", role: \"group\", \"aria-label\": b.magiclineReviewTerms, children: [\n E.length > 0 || y.length > 0 ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-terms-prompt\", children: [\n b.magiclineConfirmPrompt,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-required-pill\", children: b.magiclineRequired })\n ] }) : null,\n E.map((C) => /* @__PURE__ */ s(\n ho,\n {\n ackKey: C.ackKey,\n title: C.title,\n text: C.text,\n attachmentLabel: C.attachmentLabel,\n attachmentUrl: C.attachmentUrl,\n checked: o[C.ackKey] === !0,\n disabled: i,\n onToggle: a\n },\n C.ackKey\n )),\n y.map((C) => /* @__PURE__ */ s(\n ho,\n {\n ackKey: C.ackKey,\n title: C.title,\n text: C.text,\n attachmentLabel: C.attachmentLabel,\n attachmentUrl: C.attachmentUrl,\n checked: o[C.ackKey] === !0,\n disabled: i,\n onToggle: a\n },\n C.ackKey\n )),\n se.map((C, q) => /* @__PURE__ */ s(\n Ts,\n {\n title: C.title,\n text: C.text,\n attachmentLabel: C.attachmentLabel,\n attachmentUrl: C.attachmentUrl\n },\n `${C.title}-${q}`\n ))\n ] }) : null\n ]\n }\n ),\n k ? /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-review-overlay\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-review-spinner\" }) }) : null\n ] });\n}\nfunction ho({\n ackKey: t,\n title: e,\n text: n,\n attachmentLabel: r,\n attachmentUrl: i,\n checked: o,\n disabled: a,\n onToggle: l,\n showRequiredPill: c = !1\n}) {\n const u = I(), d = `jex-ml-ack-${t}`;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-consent-region\", children: [\n c ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-required-pill\", children: u.magiclineRequired }) : null,\n /* @__PURE__ */ s(\"label\", { class: \"jex-magicline-consent\", for: d, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n id: d,\n type: \"checkbox\",\n checked: o,\n disabled: a,\n onChange: (m) => {\n l(t, m.currentTarget.checked);\n }\n }\n ),\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-consent-body\", children: [\n e !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-title\", children: e }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-content\", children: [\n n,\n i !== null ? /* @__PURE__ */ s(J, { children: [\n \" \",\n /* @__PURE__ */ s(\"a\", { href: i, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: r !== null && r !== \"\" ? r : i })\n ] }) : null\n ] })\n ] })\n ] })\n ] });\n}\nfunction Ts({ title: t, text: e, attachmentLabel: n, attachmentUrl: r }) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-consent-recap\", children: [\n t !== \"\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-title\", children: t }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-terms-content\", children: [\n e,\n r !== null ? /* @__PURE__ */ s(J, { children: [\n \" \",\n /* @__PURE__ */ s(\"a\", { href: r, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: n !== null && n !== \"\" ? n : r })\n ] }) : null\n ] })\n ] });\n}\nfunction xt({\n label: t,\n value: e,\n fieldKey: n,\n type: r = \"text\",\n required: i = !1,\n disabled: o,\n error: a,\n onInput: l\n}) {\n const c = a !== void 0 ? `jex-ml-err-${n}` : void 0;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: r,\n \"aria-label\": t,\n placeholder: t,\n value: e,\n required: i,\n disabled: o,\n \"aria-invalid\": a !== void 0,\n \"aria-describedby\": c,\n onInput: (u) => {\n l(u.currentTarget.value);\n }\n }\n ),\n a !== void 0 ? /* @__PURE__ */ s(\"span\", { id: c, class: \"jex-magicline-error\", role: \"alert\", children: a }) : null\n ] });\n}\nfunction Ng({\n label: t,\n value: e,\n required: n,\n disabled: r,\n placeholder: i,\n error: o,\n options: a,\n onChange: l\n}) {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-magicline-field\", children: [\n /* @__PURE__ */ s(\n \"select\",\n {\n class: \"jex-form-input jex-magicline-select\",\n \"aria-label\": t,\n value: e,\n required: n,\n disabled: r,\n \"aria-invalid\": o !== void 0,\n onChange: (c) => {\n l(c.currentTarget.value);\n },\n children: [\n /* @__PURE__ */ s(\"option\", { value: \"\", disabled: n, children: i }),\n a.map((c) => /* @__PURE__ */ s(\"option\", { value: c.value, children: c.label }, c.value))\n ]\n }\n ),\n o !== void 0 ? /* @__PURE__ */ s(\"span\", { class: \"jex-magicline-error\", role: \"alert\", children: o }) : null\n ] });\n}\nfunction Lg(t) {\n return t === null ? [] : t.split(`\n`).map((e) => e.replace(/^\\s*[-•]\\s*/, \"\").trim()).filter((e) => e !== \"\");\n}\nfunction Og(t) {\n const e = [], n = /* @__PURE__ */ new Map();\n for (const r of t) {\n let i = n.get(r.bundleId);\n i || (i = {\n bundleId: r.bundleId,\n bundleName: r.bundleName,\n bundleDescription: r.bundleDescription,\n bundleSubDescription: r.bundleSubDescription,\n footnote: r.footnote,\n terms: []\n }, n.set(r.bundleId, i), e.push(i)), i.terms.push(r);\n }\n return e;\n}\nfunction $g(t, e) {\n switch (t) {\n case \"offer\":\n return e.magiclineStepOffer;\n case \"upgrades\":\n return e.magiclineStepUpgrades;\n case \"personal\":\n return e.magiclineStepPersonal;\n case \"address\":\n return e.magiclineStepAddress;\n case \"payment\":\n return e.magiclineStepPayment;\n case \"review\":\n return e.magiclineStepReview;\n default:\n return \"\";\n }\n}\nfunction Dg(t, e) {\n return t === \"MALE\" ? e.magiclineGenderMale : t === \"FEMALE\" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;\n}\nfunction qg({ message: t, sessionId: e, visitorId: n }) {\n const r = I(), i = t.magiclineForm, o = !!i && i.status === \"open\" && !!i.submissionId, a = St(\n ae.functions.magicline.public.getSubmissionStatus,\n o && i?.submissionId ? { sessionId: e, visitorId: n, submissionId: i.submissionId } : \"skip\"\n );\n if (!i)\n return null;\n if (i.action === \"contractCreation\")\n return t.projectId ? /* @__PURE__ */ s(\n jg,\n {\n formMessageId: t._id,\n sessionId: e,\n visitorId: n,\n projectId: t.projectId,\n formStatus: i.status\n }\n ) : null;\n if (i.status === \"submitted\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.magiclineTrialSuccessTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: r.magiclineTrialSuccessDetail })\n ] })\n ] });\n if (i.status === \"failed\")\n return /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted jex-magicline-failed\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-inline-form-check jex-magicline-failed-icon\", children: \"!\" }),\n /* @__PURE__ */ s(\"div\", { children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.magiclineFailed }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-submitted-detail\", children: r.magiclineFailedDetail })\n ] })\n ] });\n if (i.action !== \"trialSessionBooking\")\n return null;\n const l = a != null && a.errorCode === \"slot_unavailable\", c = o && a === void 0;\n return /* @__PURE__ */ s(\n og,\n {\n formMessageId: t._id,\n sessionId: e,\n visitorId: n,\n slotUnavailable: l,\n retryPending: c\n }\n );\n}\nconst zg = {\n crawl: \"🌐\",\n file: \"📄\",\n snippet: \"💡\",\n qa: \"❓\"\n};\nfunction Fg({ sources: t }) {\n const e = I(), [n, r] = D(!1);\n return t.length === 0 ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-sources-row\", children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n type: \"button\",\n class: \"jex-sources-toggle\",\n onClick: () => {\n r((i) => !i);\n },\n \"aria-expanded\": n,\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-sources-icon\", children: \"📖\" }),\n /* @__PURE__ */ s(\"span\", { children: (t.length === 1 ? e.sourcesCountOne : e.sourcesCountOther).replace(\n \"{count}\",\n String(t.length)\n ) }),\n /* @__PURE__ */ s(\"span\", { class: `jex-sources-chevron${n ? \" jex-sources-chevron--open\" : \"\"}`, children: \"▾\" })\n ]\n }\n ),\n n ? /* @__PURE__ */ s(\"div\", { class: \"jex-sources-pills\", children: t.map((i, o) => {\n const a = i.sourceType === \"crawl\", l = Ug(i), c = a && i.url ? `${i.title}\n${i.url}` : i.title, u = /* @__PURE__ */ s(J, { children: [\n typeof i.id == \"number\" ? /* @__PURE__ */ s(\"span\", { class: \"jex-source-id\", children: i.id }) : null,\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-type\", children: zg[i.sourceType] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-label\", children: l }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-source-score\", children: [\n \"· \",\n i.score.toFixed(2)\n ] })\n ] });\n return a && i.url ? /* @__PURE__ */ s(\n \"a\",\n {\n class: \"jex-source-pill\",\n href: i.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n title: c,\n children: u\n },\n o\n ) : /* @__PURE__ */ s(\"span\", { class: \"jex-source-pill\", title: c, children: u }, o);\n }) }) : null\n ] });\n}\nfunction Ug(t) {\n if (t.sourceType === \"crawl\" && t.url)\n try {\n const e = new URL(t.url);\n return !e.pathname || e.pathname === \"/\" ? e.hostname : e.pathname;\n } catch {\n }\n return t.title;\n}\nconst Bg = 840 * 1e3;\nfunction Vg(t) {\n return t < 1024 * 1024 ? `${Math.max(1, Math.round(t / 1024))} KB` : `${(t / 1024 / 1024).toFixed(1)} MB`;\n}\nfunction Hg({ items: t, sessionId: e, visitorId: n, align: r }) {\n const i = I(), o = Jt(ae.conversationAttachments.visitor.mintUrls), [a, l] = D(() => /* @__PURE__ */ new Map()), [c, u] = D(() => /* @__PURE__ */ new Set()), [d, m] = D(0), [h, p] = D(!1), x = t.filter((w) => w.available).map((w) => w._id).join(\",\");\n return P(() => {\n if (x === \"\")\n return;\n let w = !0;\n const b = x.split(\",\");\n o({ sessionId: e, visitorId: n, attachmentIds: b }).then(\n (k) => {\n w && (l(new Map(k.map((A) => [A.attachmentId, A.url]))), p(!1));\n },\n (k) => {\n ne.error(\"[jexity] Could not load files\", k), w && p(!0);\n }\n );\n const v = setTimeout(() => {\n m((k) => k + 1);\n }, Bg);\n return () => {\n w = !1, clearTimeout(v);\n };\n }, [x, e, n, o, d]), t.length === 0 ? null : /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"div\", { class: `jex-msg-files jex-msg-files-${r}`, children: t.map((w) => {\n if (!w.available)\n return /* @__PURE__ */ s(\"div\", { class: \"jex-msg-file-card jex-msg-file-unavailable\", title: w.name, children: [\n /* @__PURE__ */ s(Jf, { size: 16, \"aria-hidden\": \"true\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-text\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-name\", children: w.name }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-meta\", children: i.attachmentUnavailable })\n ] })\n ] }, w._id);\n const b = a.get(w._id), v = i.attachmentOpen.replace(\"{name}\", w.name);\n if (w.kind === \"image\" && !c.has(w._id) && !(h && !b))\n return b ? /* @__PURE__ */ s(\"a\", { class: \"jex-msg-file-thumb\", href: b, target: \"_blank\", rel: \"noopener noreferrer\", \"aria-label\": v, children: /* @__PURE__ */ s(\n \"img\",\n {\n src: b,\n alt: \"\",\n loading: \"lazy\",\n onError: () => {\n u((A) => new Set(A).add(w._id));\n }\n }\n ) }, w._id) : /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-thumb jex-msg-file-pending\", \"aria-hidden\": \"true\" }, w._id);\n const k = /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(Zf, { size: 16, \"aria-hidden\": \"true\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-text\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-name\", children: w.name }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-meta\", children: [\n w.extension.toUpperCase(),\n \" · \",\n Vg(w.sizeBytes)\n ] })\n ] })\n ] });\n return b ? /* @__PURE__ */ s(\"a\", { class: \"jex-msg-file-card\", href: b, target: \"_blank\", rel: \"noopener noreferrer\", \"aria-label\": v, children: k }, w._id) : /* @__PURE__ */ s(\"span\", { class: \"jex-msg-file-card\", \"aria-disabled\": \"true\", children: k }, w._id);\n }) }),\n h && /* @__PURE__ */ s(\"p\", { class: `jex-msg-files-error jex-msg-files-${r}`, role: \"alert\", children: [\n i.attachmentLoadFailed,\n \" \",\n /* @__PURE__ */ s(\"button\", { type: \"button\", class: \"jex-msg-files-retry\", onClick: () => {\n p(!1), m((w) => w + 1);\n }, children: i.attachmentRetry })\n ] })\n ] });\n}\nfunction Wg() {\n return /* @__PURE__ */ s(\"div\", { class: \"jex-typing\", children: [\n /* @__PURE__ */ s(\"span\", {}),\n /* @__PURE__ */ s(\"span\", {}),\n /* @__PURE__ */ s(\"span\", {})\n ] });\n}\nconst Qg = /\\s?\\[\\d+\\]/g;\nfunction Pr(t) {\n return t.replace(Qg, \"\");\n}\nfunction Gg(t) {\n return t?.at(-1)?._creationTime ?? 0;\n}\nfunction Kg(t) {\n return { id: t._id, content: Pr(t.content), role: t.role, authorName: t.authorName };\n}\nfunction Cs(t, e) {\n return (t.replyToIds && t.replyToIds.length > 0 ? t.replyToIds : t.replyToId ? [t.replyToId] : []).map((r) => e?.find((i) => i._id === r)).filter((r) => r !== void 0).map(Kg);\n}\nfunction As(t, e) {\n const r = e.getRootNode().getElementById(`jex-msg-${t}`);\n r && (r.scrollIntoView({ behavior: \"smooth\", block: \"center\" }), r.classList.add(\"jex-msg-highlight\"), setTimeout(() => {\n r.classList.remove(\"jex-msg-highlight\");\n }, 1500));\n}\nfunction Yg(t) {\n if (!t)\n return [];\n const e = /* @__PURE__ */ new Set();\n for (const n of t)\n n.authorId && n.authorName && e.add(n.authorName), n.noticeKind === \"agent-joined\" && n.noticeData?.agentName && e.add(n.noticeData.agentName);\n return [...e];\n}\nconst Xg = 6e4;\nfunction Zg({ conversations: t, attachments: e, greeting: n, botName: r, starterQuestions: i, onPickStarter: o, sessionNotFound: a, resumeFailed: l, onStartFresh: c, sessionId: u, visitorId: d }) {\n const m = I(), h = ie(null), [p, x] = D(null), [w, b] = D(() => Date.now()), v = (t ?? []).some(\n (y) => y.status === \"streaming\" && y.content === \"\"\n );\n P(() => {\n if (!v)\n return;\n const y = setInterval(() => b(Date.now()), 1e4);\n return () => clearInterval(y);\n }, [v]);\n const k = Gg(t), A = Yg(t), N = /* @__PURE__ */ new Map();\n for (const y of e ?? [])\n N.set(y.messageId, [...N.get(y.messageId) ?? [], y]);\n const M = bc(), T = ci(), L = ie(null);\n P(() => {\n if (!d || !t)\n return;\n const y = t.at(-1);\n y && y.role === \"assistant\" && y.status !== \"streaming\" && y._id !== L.current && (L.current = y._id, To(d));\n }, [t, d]);\n const E = t?.at(-1)?.content;\n P(() => {\n h.current?.scrollIntoView({ behavior: \"smooth\" });\n }, [t?.length, E]);\n const se = u === null || t !== void 0 && t.length === 0, $ = i.length > 0 && !a && !l && se;\n return /* @__PURE__ */ s(\"div\", { class: \"jex-chat-messages\", children: [\n /* @__PURE__ */ s(Qt, { text: n, botName: r }),\n $ ? /* @__PURE__ */ s(\n Mm,\n {\n questions: i,\n disabled: Mr.value,\n onPick: o\n }\n ) : null,\n a && l && c ? /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt-text\", children: m.sessionNotFoundPrompt }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-session-prompt-btn\",\n type: \"button\",\n onClick: () => {\n c();\n },\n children: m.startNewConversation\n }\n )\n ] }) : a ? /* @__PURE__ */ s(\"div\", { class: \"jex-session-notice\", children: m.sessionNotFound }) : null,\n t?.map((y) => {\n if (y.contentType === \"human-notice\") {\n const z = y.noticeKind === \"agent-joined\" ? m.noticeAgentJoined.replace(\"{name}\", y.noticeData?.agentName ?? \"\") : y.noticeKind === \"human-requested\" ? m.noticeHumanRequested : y.noticeKind === \"human-requested-form\" ? m.noticeHumanRequestedForm : y.noticeKind === \"message-received\" ? m.noticeMessageReceived : y.noticeKind === \"agent-handling\" ? m.noticeAgentHandling : y.noticeKind === \"ai-resumed\" ? m.noticeAiResumed : y.content;\n return /* @__PURE__ */ s(Qt, { text: z, botName: r }, y._id);\n }\n if (y.contentType === \"escalation-form\" && u && d)\n return Wh.value === \"screen\" && !y.formData ? p === y._id ? null : /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form jex-inline-form-card\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-title\", children: m.escalationPromptTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-subtitle\", children: m.escalationPromptSubtitle }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-form-submit\",\n type: \"button\",\n onClick: () => {\n T({ formMessageId: y._id, sessionId: u, visitorId: d }), gt({ id: \"escalation-form\", formMessageId: y._id, sessionId: u, visitorId: d, waitingSetAt: k });\n },\n children: m.escalationPromptSubmit\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-escalation-skip\",\n type: \"button\",\n onClick: () => {\n M({ formMessageId: y._id, sessionId: u, visitorId: d, waitingSetAt: k }), x(y._id);\n },\n children: m.escalationSkip\n }\n )\n ] }, y._id) : /* @__PURE__ */ s(Lm, { message: y, sessionId: u, visitorId: d, waitingSetAt: k }, y._id);\n if (y.contentType === \"magicline-form\" && u && d)\n return /* @__PURE__ */ s(qg, { message: y, sessionId: u, visitorId: d }, y._id);\n if (y.contentType === \"escalation-confirm\") {\n const z = y.noticeKind === \"escalation-confirmed\" ? m.noticeEscalationConfirmed.replace(\"{name}\", y.noticeData?.visitorName ?? \"\").replace(\"{email}\", y.noticeData?.visitorEmail ?? \"\").replace(\"{ref}\", y.noticeData?.visitorId ?? \"\") : y.content;\n return /* @__PURE__ */ s(Qt, { text: z, botName: r }, y._id);\n }\n const re = N.get(y._id) ?? [], C = re.length > 0 && u && d ? /* @__PURE__ */ s(Hg, { items: re, sessionId: u, visitorId: d, align: y.role === \"user\" ? \"user\" : \"bot\" }) : null;\n if (y.role === \"user\") {\n const z = Cs(y, t);\n return /* @__PURE__ */ s(J, { children: [\n (y.content !== \"\" || re.length === 0) && /* @__PURE__ */ s(\n Nm,\n {\n id: `jex-msg-${y._id}`,\n text: y.content,\n botName: r,\n onQuote: () => {\n ro({ id: y._id, content: y.content, role: \"user\" });\n },\n quoted: z,\n onQuotedClick: (Ne, at) => {\n As(Ne, at.currentTarget);\n },\n agentNames: A\n }\n ),\n C\n ] }, y._id);\n }\n const q = {\n authorId: y.authorId,\n authorName: y.authorName,\n authorImage: y.authorImage\n };\n if (y.status === \"streaming\" && y.content === \"\")\n return w - y._creationTime > Xg ? /* @__PURE__ */ s(\n Qt,\n {\n id: `jex-msg-${y._id}`,\n text: `${m.somethingWentWrong}. ${m.tryAgain}.`,\n error: !0,\n botName: r,\n ...q\n },\n y._id\n ) : /* @__PURE__ */ s(Wg, {}, y._id);\n if (y.status === \"streaming\")\n return /* @__PURE__ */ s(Qt, { id: `jex-msg-${y._id}`, text: Pr(y.content), streaming: !0, botName: r, ...q }, y._id);\n if (y.status === \"error\")\n return /* @__PURE__ */ s(\n Qt,\n {\n id: `jex-msg-${y._id}`,\n text: y.errorMessage ?? `${m.somethingWentWrong}. ${m.tryAgain}.`,\n error: !0,\n botName: r,\n ...q\n },\n y._id\n );\n const me = Cs(y, t);\n return /* @__PURE__ */ s(\"div\", { children: [\n (y.content !== \"\" || re.length === 0) && /* @__PURE__ */ s(\n Qt,\n {\n id: `jex-msg-${y._id}`,\n text: Pr(y.content),\n botName: r,\n onQuote: () => {\n ro({ id: y._id, content: Pr(y.content), role: \"assistant\", authorName: y.authorName });\n },\n quoted: me,\n onQuotedClick: (z, Ne) => {\n As(z, Ne.currentTarget);\n },\n ...q\n }\n ),\n C,\n y.sources && y.sources.length > 0 ? /* @__PURE__ */ s(Fg, { sources: y.sources }) : null\n ] }, y._id);\n }),\n /* @__PURE__ */ s(\"div\", { ref: h })\n ] });\n}\nfunction Jg() {\n const t = I();\n function e() {\n const n = ir.peek();\n n && (ec(), gt({ id: \"escalation-form\", formMessageId: n.formMessageId, sessionId: n.sessionId, visitorId: n.visitorId, waitingSetAt: n.waitingSetAt }));\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-waiting-card\", role: \"status\", \"aria-live\": \"polite\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-waiting-indicator\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-waiting-dot\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-waiting-ripple\" })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-waiting-body\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-waiting-title\", children: t.waitingTitle }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-waiting-subtitle\", children: t.waitingSubtitle }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-waiting-leave-email\",\n type: \"button\",\n onClick: e,\n children: t.waitingLeaveEmail\n }\n )\n ] })\n ] });\n}\nfunction Ac({ message: t }) {\n const [e, n] = D(!1);\n return P(() => {\n const r = setTimeout(() => {\n n(!0);\n }, 80);\n return () => {\n clearTimeout(r);\n };\n }, []), e ? /* @__PURE__ */ s(\"div\", { class: \"jex-overlay jex-loading\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-loading-spinner\", \"aria-hidden\": \"true\" }),\n t && /* @__PURE__ */ s(\"p\", { class: \"jex-loading-message\", children: t })\n ] }) : null;\n}\nfunction ex({ sessionId: t, visitorId: e }) {\n const n = St(\n ae.functions.chat.public.conversations.listBySession,\n t && e ? { sessionId: t, visitorId: e } : \"skip\"\n ), r = St(\n ae.functions.chat.public.sessions.getSessionStatus,\n t && e ? { sessionId: t, visitorId: e } : \"skip\"\n ), i = St(\n ae.conversationAttachments.visitor.list,\n t && e ? { sessionId: t, visitorId: e } : \"skip\"\n ), o = t !== null && n === void 0, a = n?.some((l) => l.status === \"streaming\") ?? !1;\n return {\n conversations: n,\n sessionStatus: r ?? null,\n isLoading: o,\n isStreaming: a,\n attachments: i\n };\n}\nfunction tx(t) {\n const e = I(), n = ie(null), r = ie(null), [i, o] = D(!1);\n P(() => {\n try {\n n.current = document.title;\n } catch {\n }\n }, []), P(() => {\n if (!t || t.length === 0)\n return;\n const a = t[t.length - 1];\n if (!a)\n return;\n if (r.current === null) {\n r.current = a._id;\n return;\n }\n if (a._id === r.current)\n return;\n r.current = a._id;\n const l = a.role !== \"user\";\n let c = !1;\n try {\n c = document.hidden;\n } catch {\n }\n l && c && o(!0);\n }, [t]), P(() => {\n if (!i)\n return;\n let a = null, l = !1;\n const c = () => {\n if (a !== null) {\n try {\n clearInterval(a);\n } catch {\n }\n a = null;\n }\n try {\n n.current !== null && (document.title = n.current);\n } catch {\n }\n };\n try {\n a = setInterval(() => {\n try {\n const u = `💬 ${e.newReplyTitle}`;\n document.title = l ? n.current ?? \"\" : u, l = !l;\n } catch {\n c();\n }\n }, 1200);\n } catch {\n }\n return c;\n }, [i, e.newReplyTitle]), P(() => {\n const a = () => {\n try {\n document.hidden || o(!1);\n } catch {\n }\n };\n try {\n document.addEventListener(\"visibilitychange\", a);\n } catch {\n }\n return () => {\n try {\n document.removeEventListener(\"visibilitychange\", a);\n } catch {\n }\n };\n }, []);\n}\nfunction nx({ sessionId: t, visitorId: e }) {\n const n = Ct(ae.functions.chat.public.visitorPresence.heartbeat);\n P(() => {\n if (!t || !e)\n return;\n let r = null;\n const i = () => {\n n({ sessionId: t, visitorId: e }).catch(() => {\n });\n }, o = () => {\n r === null && (r = setInterval(i, 6e4));\n }, a = () => {\n r !== null && (clearInterval(r), r = null);\n }, l = () => {\n document.visibilityState === \"visible\" ? (i(), o()) : a();\n };\n return l(), document.addEventListener(\"visibilitychange\", l), () => {\n document.removeEventListener(\"visibilitychange\", l), a();\n };\n }, [t, e, n]);\n}\nfunction rx() {\n return Ct(ae.escalations.public.createEscalationRequest);\n}\nfunction Rc({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: r }) {\n const i = I(), o = rx(), [a, l] = D(!1), [c, u] = D(null);\n async function d() {\n if (!a) {\n l(!0), u(null);\n try {\n const m = t && e ? { sessionId: t, visitorId: e } : await n();\n if (!m)\n return;\n const h = Dt.value;\n if (!h)\n return;\n const p = await o({\n sessionId: m.sessionId,\n visitorId: m.visitorId,\n bootstrapToken: h,\n locale: Qe.value\n });\n if (p.skipForm) {\n r?.();\n return;\n }\n gt({ id: \"escalation-form\", formMessageId: p.formMessageId, sessionId: m.sessionId, visitorId: m.visitorId, waitingSetAt: p.waitingSetAt });\n } catch (m) {\n const h = m instanceof Error ? m.message : String(m);\n u(/RATE_LIMITED|Too many/.test(h) ? i.handoffRateLimited : i.handoffFailed);\n } finally {\n l(!1);\n }\n }\n }\n return { requestHuman: d, busy: a, error: c };\n}\nfunction ix({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visitorId: i, isLoading: o, sessionNotFound: a, resumeFailed: l, isOrgDeleted: c, ensureSession: u, startFresh: d, maintenance: m }) {\n const h = I(), { conversations: p, sessionStatus: x, isLoading: w, isStreaming: b, attachments: v } = ex({ sessionId: r, visitorId: i });\n tx(p), nx({ sessionId: r, visitorId: i }), P(() => {\n const $ = ir.peek();\n if ($ === null || !p || p.length === 0)\n return;\n const { waitingSetAt: y } = $;\n p.some(\n (C) => C._creationTime > y && (C.noticeKind === \"agent-joined\" || !!C.authorId)\n ) && ec();\n }, [p]);\n const k = tc({ sessionId: r, visitorId: i, ensureSession: u }), A = ie(\n (() => {\n const $ = bn.peek();\n return $ !== null ? $ : So.peek() && We.peek() !== null ? \"resume\" : \"fresh\";\n })()\n ).current, { requestHuman: N, error: M } = Rc({ sessionId: r, visitorId: i, ensureSession: u }), T = uo(() => {\n N();\n });\n P(() => {\n A === \"escalate\" && T();\n }, [A]), P(() => {\n bn.value = null;\n }, []), P(() => {\n We.peek() !== null && u();\n }, [u]);\n const L = A === \"resume\" && !Lt.value && (!r || w), E = Vr.value, se = uo(($) => {\n k($);\n });\n return P(() => {\n !E || L || (Vr.value = null, !m && !c && se(E));\n }, [E, L, m, c]), P(() => {\n i && To(i);\n }, [i]), c ? /* @__PURE__ */ s(\"div\", { class: \"jex-chat-messages\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-session-notice\", children: h.chatNoLongerAvailable }) }) : L ? /* @__PURE__ */ s(Ac, { message: h.resumeConversation }) : /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\n Zg,\n {\n conversations: p,\n attachments: v,\n greeting: t,\n botName: e,\n starterQuestions: n,\n onPickStarter: ($) => {\n k($);\n },\n sessionNotFound: a,\n resumeFailed: l,\n onStartFresh: d,\n sessionId: r,\n visitorId: i\n }\n ),\n ir.value !== null && /* @__PURE__ */ s(Jg, {}),\n M && /* @__PURE__ */ s(\"div\", { class: \"jex-session-error-notice\", role: \"alert\", style: { margin: \"8px 16px 0\" }, children: M }),\n /* @__PURE__ */ s(\n np,\n {\n sessionId: r,\n visitorId: i,\n isLoading: o,\n isStreaming: b,\n sessionStatus: x,\n ensureSession: u,\n onStartFresh: d,\n maintenance: m\n }\n )\n ] });\n}\nfunction ox({ formMessageId: t, sessionId: e, visitorId: n, availability: r }) {\n const i = I(), o = ur.value, a = /^https?:\\/\\//i.test(o) ? o : cr, [l, c] = D(\"\"), [u, d] = D(\"\"), m = r && !r.anyOnline ? i.escalationOfflineSubtitle : i.escalationSubtitle, h = xc(), p = ci(), [x, w] = D(!1), [b, v] = D(null);\n async function k(A) {\n A.preventDefault(), w(!0), v(null);\n try {\n await h({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: l.trim(),\n visitorEmail: u.trim(),\n locale: Qe.value\n }), Co();\n } catch (N) {\n ne.error(\"[EscalationFormScreen] Submit failed:\", N), v(i.escalationSubmitFailed);\n } finally {\n w(!1);\n }\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-form-title\", children: i.escalationFormTitle }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-escalation-subtitle\", children: m }),\n b && /* @__PURE__ */ s(\"div\", { class: \"jex-form-error\", role: \"alert\", children: b }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (A) => {\n k(A);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: i.escalationNameLabel,\n value: l,\n required: !0,\n onInput: (A) => {\n c(A.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: i.escalationEmailLabel,\n value: u,\n required: !0,\n onInput: (A) => {\n d(A.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-form-submit\",\n type: \"submit\",\n disabled: x,\n onClick: () => {\n p({ sessionId: e, visitorId: n, formMessageId: t });\n },\n children: i.escalationSubmit\n }\n )\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-inline-form-consent\", style: { textAlign: \"center\", margin: \"16px 0 8px 0\" }, children: [\n i.escalationConsent,\n \" \",\n /* @__PURE__ */ s(\"a\", { href: a, target: \"_blank\", rel: \"noopener noreferrer\", class: \"jex-privacy-notice-link\", children: i.escalationPrivacyLinkText }),\n \".\"\n ] })\n ] });\n}\nfunction ax(t, e) {\n const n = St(\n ae.functions.chat.public.availability.getChatAvailability,\n t && e ? { orgSlug: t, projSlug: e } : \"skip\"\n ), r = St(\n ae.functions.chat.public.availability.getOrgAvailability,\n t && !e ? { orgSlug: t } : \"skip\"\n );\n return e ? n : r;\n}\nfunction Ec(t) {\n return t?.anyOnline ? \"online\" : t?.anyAway ? \"away\" : \"offline\";\n}\nfunction Rs({ sessionId: t, visitorId: e, ensureSession: n, availability: r }) {\n const i = I(), { requestHuman: o, busy: a, error: l } = Rc({ sessionId: t, visitorId: e, ensureSession: n }), c = Nl(), u = `jex-presence-dot--${Ec(r)}`, d = c ? i.handoffMaintenance : r ? r.anyOnline ? i.handoffAvailable : i.handoffOffline : i.talkToHuman;\n return /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-header-handoff\",\n type: \"button\",\n onClick: () => {\n o();\n },\n disabled: a || c,\n \"aria-label\": i.talkToHumanAria,\n title: d,\n children: [\n /* @__PURE__ */ s(\"svg\", { width: \"18\", height: \"18\", viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ s(\"path\", { d: \"M3 14v-3a9 9 0 0 1 18 0v3\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M21 14a2 2 0 0 1-2 2h-1a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h3z\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M3 14a2 2 0 0 0 2 2h1a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1H3z\" }),\n /* @__PURE__ */ s(\"path\", { d: \"M21 14v3a4 4 0 0 1-4 4h-3\" })\n ] }),\n r !== void 0 && /* @__PURE__ */ s(\"span\", { class: `jex-presence-dot ${u}`, \"aria-hidden\": \"true\" })\n ]\n }\n ),\n l && /* @__PURE__ */ s(\"div\", { class: \"jex-handoff-error\", role: \"alert\", children: l })\n ] });\n}\nasync function sx() {\n const t = Il.value;\n if (!t)\n return ne.warn(\"[JexityChat] Bootstrap refresh skipped — inputs missing\"), { ok: !1, reason: \"no-inputs\" };\n const e = await Ol(t.orgSlug, t.siteUrl, t.projSlug);\n if (!e.ok)\n return ne.warn(\"[JexityChat] Bootstrap refresh failed:\", e.error), { ok: !1, reason: e.error };\n const n = e.token;\n return Dt.value = n, { ok: !0, token: n };\n}\nfunction Es(t) {\n return Jl(t) ? \"maintenance\" : Ic(t) ? \"unauthorized\" : t instanceof Error && /network|fetch|failed to fetch/i.test(t.message) ? \"network\" : \"unknown\";\n}\nfunction Ic(t) {\n return t instanceof $r ? t.data?.code === \"UNAUTHORIZED_ORIGIN\" : !1;\n}\nfunction lx(t = 1e4) {\n return Dt.value ? Promise.resolve(Dt.value) : new Promise((e) => {\n let n = !1;\n const r = (a) => {\n n || (n = !0, clearTimeout(i), o(), e(a));\n }, i = setTimeout(() => {\n r(null);\n }, t), o = Dt.subscribe((a) => {\n a && r(a);\n });\n });\n}\nfunction cx(t, e) {\n const n = ie(null), r = xn(!1), i = xn(!1), o = xn(!1), a = xn(null), l = Ct(ae.functions.chat.public.sessions.createOrResume), c = Z(async (p) => {\n const x = await lx();\n if (!x)\n return ne.warn(\"[JexityChat] No bootstrap token after 10s — session creation blocked.\"), Lt.value = \"no-token\", null;\n const w = (k) => ({\n orgSlug: t,\n ...e ? { projSlug: e } : {},\n visitorId: p,\n bootstrapToken: k,\n locale: Qe.value,\n ...Hr.value ? { source: Hr.value } : {},\n ...typeof window < \"u\" ? { pagePath: window.location.pathname } : {}\n });\n eo.value = !0;\n let b;\n try {\n try {\n b = await l(w(x));\n } catch (k) {\n if (!Ic(k))\n throw k;\n const A = await sx();\n if (!A.ok)\n return Lt.value = A.reason === \"rate_limited\" ? \"network\" : \"unauthorized\", null;\n b = await l(w(A.token));\n }\n } finally {\n eo.value = !1;\n }\n Lt.value = null, a.value = b.status;\n const v = { sessionId: b.sessionId, visitorId: p };\n return n.current = v, { session: v, result: b };\n }, [t, e, l, a]), u = Z(async () => {\n if (n.current)\n return n.current;\n if (o.value)\n return null;\n r.value = !0;\n const p = We.value !== null, x = We.value ?? Fa();\n try {\n const w = await c(x);\n return w ? (p && w.result.isNew && (i.value = !0, o.value = !0), w.session) : null;\n } catch (w) {\n return ne.error(\"[JexityChat] Failed to create session:\", w), Lt.value = Es(w), null;\n } finally {\n r.value = !1;\n }\n }, [c, r, i, o]), d = Z(() => {\n n.current = null, i.value = !1, o.value = !1, Ya(), _n.value = null;\n }, [i, o]);\n P(() => Gh(d), [d]);\n const m = Z(async () => {\n n.current = null, o.value = !1, i.value = !1, Ya(), _n.value = null;\n const p = Fa();\n r.value = !0;\n try {\n return (await c(p))?.session ?? null;\n } catch (x) {\n return ne.error(\"[JexityChat] Failed to create fresh session:\", x), Lt.value = Es(x), null;\n } finally {\n r.value = !1;\n }\n }, [c, r, i, o]), h = n.current;\n return {\n sessionId: h?.sessionId ?? null,\n visitorId: h?.visitorId ?? null,\n isLoading: r.value,\n sessionNotFound: i.value,\n resumeFailed: o.value,\n sessionStatus: a.value,\n isOrgDeleted: a.value === \"org_deleted\",\n ensureSession: u,\n startFresh: m,\n resetSession: d\n };\n}\nfunction ux({ botName: t, availability: e, onResetSession: n }) {\n const r = I(), [i, o] = D(\"\"), a = e?.anyOnline === !0, l = Ec(e);\n function c() {\n jr(), bn.value = \"escalate\", n(), Ua(), gt({ id: \"chat\" });\n }\n function u() {\n jr(), bn.value = \"fresh\", n(), Ua(), gt({ id: \"chat\" });\n }\n function d(h) {\n jr(), bn.value = \"resume\", n(), Ba(h), gt({ id: \"chat\" });\n }\n function m(h) {\n h.preventDefault();\n const p = i.trim().toUpperCase();\n p && (jr(), bn.value = \"resume\", n(), Ba(p), gt({ id: \"chat\" }));\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-home\", children: [\n tr.value && /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt\", role: \"status\", children: /* @__PURE__ */ s(\"div\", { class: \"jex-session-prompt-text\", children: r.sessionLocked }) }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-home-hero\",\n type: \"button\",\n onClick: c,\n \"aria-label\": r.talkToHumanAria,\n title: e ? a ? r.handoffAvailable : r.handoffOffline : r.talkToHuman,\n children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-avatar\", children: [\n /* @__PURE__ */ s(Hl, { size: 24 }),\n e !== void 0 && /* @__PURE__ */ s(\"span\", { class: `jex-home-status-dot jex-home-status-dot--${l}`, \"aria-hidden\": \"true\" })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-hero-text\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-home-title\", children: t }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-status\", children: [\n e === void 0 ? r.homeStatusOffline : a ? r.homeStatusOnline : r.homeStatusOffline,\n \" | \",\n r.talkToHuman\n ] })\n ] })\n ]\n }\n ),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-actions\", children: [\n Me.value.length > 0 && /* @__PURE__ */ s(J, { children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-section-label\", children: r.pickUpWhereLeftOff }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-history\", children: Me.value.slice().reverse().map((h) => /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-home-resume-card\",\n onClick: () => {\n d(h.ref);\n },\n children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-resume-top\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-label\", children: r.resumeListLabel }),\n /* @__PURE__ */ s(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\", class: \"jex-home-resume-arrow\", children: /* @__PURE__ */ s(\"path\", { d: \"M6 3l5 5-5 5\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\" }) })\n ] }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-ref\", children: h.ref }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-resume-meta\", children: r.resumeListTimestamp.replace(\"{minutes}\", String(Math.max(1, Math.round((Date.now() - h.lastActivityAt) / 6e4)))) })\n ]\n },\n h.ref\n )) })\n ] }),\n /* @__PURE__ */ s(\"button\", { class: \"jex-home-new-btn\", onClick: u, children: Me.value.length > 0 ? r.startNewConversation : r.chatWith })\n ] }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-home-lookup-section\", children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-home-lookup-label\", children: r.haveReferenceNumber }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-home-lookup\", onSubmit: m, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-home-lookup-input\",\n type: \"text\",\n placeholder: r.referencePlaceholder,\n value: i,\n onInput: (h) => {\n o(h.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-home-lookup-submit\",\n type: \"submit\",\n disabled: !i.trim(),\n children: r.resume\n }\n )\n ] })\n ] })\n ] });\n}\nfunction dx({ title: t }) {\n const e = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-selection\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-selection-title\", children: e.howCanWeHelp }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-selection-options\", children: [\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => gt({ id: \"chat\" }),\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-icon\", children: \"💬\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-label\", children: e.chatWith.replace(\"{title}\", t) }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-sub\", children: e.getInstantHelp })\n ]\n }\n ),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => gt({ id: \"form\" }),\n children: [\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-icon\", children: \"📝\" }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-label\", children: e.submitTicket }),\n /* @__PURE__ */ s(\"span\", { class: \"jex-selection-sub\", children: e.replyByEmail })\n ]\n }\n )\n ] })\n ] });\n}\nfunction hx() {\n const t = I(), [e, n] = D(\"\"), [r, i] = D(\"\"), [o, a] = D(\"\");\n async function l(c) {\n c.preventDefault(), Ji({ id: \"loading\", message: t.submittingTicket }), await new Promise((d) => {\n setTimeout(d, 1200);\n });\n const u = \"JEX-\" + Math.random().toString(36).slice(2, 8).toUpperCase();\n Ji({ id: \"confirmation\", ref: u });\n }\n return /* @__PURE__ */ s(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ s(\"h2\", { class: \"jex-form-title\", children: t.submitTicket }),\n /* @__PURE__ */ s(\"form\", { class: \"jex-form\", onSubmit: (c) => {\n l(c);\n }, children: [\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: t.yourName,\n value: e,\n required: !0,\n onInput: (c) => {\n n(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: t.yourEmail,\n value: r,\n required: !0,\n onInput: (c) => {\n i(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\n \"textarea\",\n {\n class: \"jex-form-textarea\",\n placeholder: t.howCanWeHelp,\n value: o,\n required: !0,\n onInput: (c) => {\n a(c.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ s(\"button\", { class: \"jex-form-submit\", type: \"submit\", children: t.submit })\n ] })\n ] });\n}\nfunction fx({ ticketRef: t }) {\n const e = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation\", children: [\n /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation-icon\", \"aria-hidden\": \"true\", children: \"✓\" }),\n /* @__PURE__ */ s(\"h2\", { class: \"jex-confirmation-title\", children: e.ticketSubmitted }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-confirmation-body\", children: e.yourReferenceNumber }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-confirmation-ref\", children: t }),\n /* @__PURE__ */ s(\"p\", { class: \"jex-confirmation-hint\", children: e.sentToEmailHint }),\n /* @__PURE__ */ s(\n \"button\",\n {\n class: \"jex-confirmation-done\",\n onClick: () => {\n ce.value = !1;\n },\n children: e.done\n }\n )\n ] });\n}\nfunction px({ message: t, onRetry: e, onBack: n }) {\n const r = I();\n return /* @__PURE__ */ s(\"div\", { class: \"jex-overlay jex-error\", children: [\n /* @__PURE__ */ s(\"p\", { class: \"jex-error-message\", children: t }),\n /* @__PURE__ */ s(\"div\", { class: \"jex-error-actions\", children: [\n e && /* @__PURE__ */ s(\"button\", { class: \"jex-error-retry\", onClick: e, children: r.tryAgain }),\n n && /* @__PURE__ */ s(\"button\", { class: \"jex-error-back\", onClick: n, children: r.goBack })\n ] })\n ] });\n}\nfunction Is({ greeting: t, starterQuestions: e, title: n, botName: r, availability: i, sessionId: o, visitorId: a, isLoading: l, sessionNotFound: c, resumeFailed: u, isOrgDeleted: d, ensureSession: m, startFresh: h, resetSession: p, maintenance: x }) {\n const w = qe.value, b = w[w.length - 1], v = [...w].reverse().find(\n (k) => k.id === \"confirmation\"\n );\n return /* @__PURE__ */ s(\"div\", { class: \"jex-screen-container\", children: [\n b.id === \"home\" && /* @__PURE__ */ s(ux, { botName: r, availability: i, onResetSession: p }),\n b.id === \"selection\" && /* @__PURE__ */ s(dx, { title: n }),\n b.id === \"form\" && /* @__PURE__ */ s(hx, {}),\n b.id === \"escalation-form\" && /* @__PURE__ */ s(\n ox,\n {\n formMessageId: b.formMessageId,\n sessionId: b.sessionId,\n visitorId: b.visitorId,\n availability: i,\n waitingSetAt: b.waitingSetAt\n }\n ),\n b.id === \"confirmation\" && v && /* @__PURE__ */ s(fx, { ticketRef: v.ref }),\n b.id === \"chat\" && /* @__PURE__ */ s(\n ix,\n {\n greeting: t,\n botName: r,\n starterQuestions: e,\n sessionId: o,\n visitorId: a,\n isLoading: l,\n sessionNotFound: c,\n resumeFailed: u,\n isOrgDeleted: d,\n ensureSession: m,\n startFresh: h,\n maintenance: x\n }\n ),\n b.id === \"loading\" && /* @__PURE__ */ s(Ac, { message: b.message }),\n b.id === \"error\" && /* @__PURE__ */ s(\n px,\n {\n message: b.message,\n onRetry: () => Ji({ id: \"loading\" }),\n onBack: Co\n }\n )\n ] });\n}\nfunction mx({ options: t }) {\n return Ah({\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n preToken: t.bootstrapToken,\n convexUrl: t.convexUrl,\n preAllowedUrls: t.allowedUrls ?? [],\n preExcludedPaths: t.excludePaths,\n preMaintenance: t.maintenance\n }), Ih() ? /* @__PURE__ */ s(gx, { options: t }) : null;\n}\nfunction gx({ options: t }) {\n const e = Nl(), n = Th(t.orgSlug, t.projSlug, t.convexUrl, t.preloadedConfig);\n Oh(t.parentOrigin), P(() => (Bh(), Hh(), () => {\n Zi.value = !1;\n }), []);\n const { sessionId: r, visitorId: i, isLoading: o, sessionNotFound: a, resumeFailed: l, isOrgDeleted: c, ensureSession: u, startFresh: d, resetSession: m } = cx(t.orgSlug, t.projSlug), h = ax(t.orgSlug, t.projSlug), p = kh(t, n.config), x = Nt.value, w = Zi.value, b = n.config !== null || x !== void 0 || n.settled, v = n.config !== null ? p.sessionTimeoutMs : x !== void 0 ? x : p.sessionTimeoutMs;\n P(() => {\n Qe.value = Lh(p.locale, p.allowVisitorLocale);\n }, [p.locale, p.allowVisitorLocale]), P(() => {\n ur.value = p.privacyPolicyUrl ?? cr, _o.value = p.privacyNoticeStyle, El.value = p.visitorAttachmentsEnabled;\n }, [p.privacyNoticeStyle, p.privacyPolicyUrl, p.visitorAttachmentsEnabled]), P(() => {\n if (!ce.value || p.mode === \"embedded\" || !window.matchMedia(\"(max-width: 480px), (pointer: coarse) and (max-width: 768px)\").matches)\n return;\n const me = document.documentElement.style.overflow;\n return document.documentElement.style.overflow = \"hidden\", () => {\n document.documentElement.style.overflow = me;\n };\n }, [ce.value, p.mode]), P(() => {\n if (w && b && p.mode !== \"embedded\" && v !== null)\n try {\n return Yh(v);\n } catch (q) {\n ne.warn(\"[JexityChat] Idle-lock watcher failed to start:\", q);\n return;\n }\n }, [w, p.mode, b, v]), P(() => {\n if (!w || !b)\n return;\n const { activeRefPruned: q } = Vh(v);\n q && no();\n }, [w, b, v]);\n const k = p.position === \"bottom-left\", A = p.colorScheme === \"dark\" || p.colorScheme === \"light\" ? p.colorScheme : \"\", N = Xh({\n ...t,\n primaryColor: p.primaryColor,\n accentColor: p.accentColor,\n fontFamily: p.fontFamily,\n fontSize: p.fontSize,\n borderRadius: p.borderRadius,\n windowWidth: p.windowWidth,\n windowHeight: p.windowHeight,\n triggerOffsetX: p.triggerOffsetX,\n triggerOffsetY: p.triggerOffsetY\n }), M = p.mode === \"embedded\", T = t.trigger === \"none\", L = t.windowPosition === \"middle-center\", E = qe.value, $ = E[E.length - 1]?.id === \"chat\", y = n.config !== null || M || !!t.parentOrigin, re = y ? N : { ...N, visibility: \"hidden\" }, C = cf(t.orgSlug, t.projSlug);\n return P(() => {\n if (M || T || !y || p.proactiveMode === \"off\" || Ga(C))\n return;\n const q = t.proactiveAlreadyElapsed ? 0 : p.proactiveDelaySeconds * 1e3, me = window.setTimeout(() => {\n const z = df({\n mode: p.proactiveMode,\n isOpen: ce.peek(),\n hasHistory: So.peek(),\n dismissed: Ga(C)\n });\n z === \"teaser\" ? Qr.value = !0 : z === \"open\" && (ce.value = !0);\n }, q);\n return () => {\n window.clearTimeout(me);\n };\n }, [M, T, y, p.proactiveMode, p.proactiveDelaySeconds, C, t.proactiveAlreadyElapsed]), /* @__PURE__ */ s(\n \"div\",\n {\n class: `jex-widget ${A}`.trim(),\n style: re,\n children: M ? /* @__PURE__ */ s(\"div\", { class: \"jex-embedded\", children: [\n /* @__PURE__ */ s(\n Wa,\n {\n title: p.title,\n rightAction: $ ? /* @__PURE__ */ s(Rs, { sessionId: r, visitorId: i, ensureSession: u, availability: h }) : null,\n showClose: !M,\n showLocalePicker: p.allowVisitorLocale\n }\n ),\n /* @__PURE__ */ s(\n Is,\n {\n greeting: p.greeting,\n starterQuestions: p.starterQuestions,\n title: p.title,\n botName: p.botName,\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n availability: h,\n sessionId: r,\n visitorId: i,\n isLoading: o,\n sessionNotFound: a,\n resumeFailed: l,\n isOrgDeleted: c,\n ensureSession: u,\n startFresh: d,\n resetSession: m,\n maintenance: e\n }\n ),\n !p.hideBranding && /* @__PURE__ */ s(Qa, {})\n ] }) : /* @__PURE__ */ s(\"div\", { class: `jex-container${k ? \" jex-pos-left\" : \"\"}`, children: [\n ce.value && /* @__PURE__ */ s(\"div\", { class: `jex-chat-window${L ? \" jex-win-center\" : \"\"}`, children: [\n /* @__PURE__ */ s(\n Wa,\n {\n title: p.title,\n rightAction: $ ? /* @__PURE__ */ s(Rs, { sessionId: r, visitorId: i, ensureSession: u, availability: h }) : null,\n showLocalePicker: p.allowVisitorLocale\n }\n ),\n /* @__PURE__ */ s(\n Is,\n {\n greeting: p.greeting,\n starterQuestions: p.starterQuestions,\n title: p.title,\n botName: p.botName,\n orgSlug: t.orgSlug,\n projSlug: t.projSlug,\n availability: h,\n sessionId: r,\n visitorId: i,\n isLoading: o,\n sessionNotFound: a,\n resumeFailed: l,\n isOrgDeleted: c,\n ensureSession: u,\n startFresh: d,\n resetSession: m,\n maintenance: e\n }\n ),\n !p.hideBranding && /* @__PURE__ */ s(Qa, {})\n ] }),\n Qr.value && !ce.value && !T && /* @__PURE__ */ s(hf, { title: p.title, message: p.greeting, guardKey: C }),\n !T && /* @__PURE__ */ s(\n lf,\n {\n iconOption: p.triggerIcon,\n radius: p.triggerRadius,\n label: p.triggerLabel\n }\n )\n ] })\n }\n );\n}\nconst xx = `.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: \"Inter\", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:var(--jex-offset-y, 24px);right:var(--jex-offset-x, 24px);display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:var(--jex-offset-x, 24px);align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-fab-pulse{animation:jex-fab-pulse 2.4s ease-out infinite}@keyframes jex-fab-pulse{0%{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 50%,transparent)}70%{box-shadow:var(--jex-shadow),0 0 0 14px color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}to{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.jex-fab-pulse{animation:none}}.jex-proactive-teaser{display:flex;align-items:flex-start;gap:10px;width:280px;max-width:calc(100vw - 48px);padding:12px 14px;align-self:flex-end;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:var(--jex-radius);box-shadow:var(--jex-shadow);cursor:pointer;text-align:left;animation:jex-teaser-in .22s ease-out}.jex-proactive-avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;background:var(--jex-bg-avatar-agent);color:var(--jex-text-avatar-agent)}.jex-proactive-body{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-proactive-title{font-weight:600;font-size:13px;line-height:1.2}.jex-proactive-message{font-size:13px;line-height:1.35;color:var(--jex-text-muted)}.jex-proactive-dismiss{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-4px -4px 0 0;padding:0;border:none;background:transparent;color:var(--jex-text-muted);cursor:pointer;border-radius:9999px}.jex-proactive-dismiss:hover{background:var(--jex-bg-msg-bot)}@keyframes jex-teaser-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.jex-proactive-teaser{animation:none}}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right;touch-action:manipulation}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.jex-chat-window.jex-win-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;max-height:82vh;animation:jexCenterIn .34s cubic-bezier(.16,1,.3,1)}@keyframes jexCenterIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.jex-chat-window.jex-win-center{animation:none}}@media(max-width:480px),(pointer:coarse)and (max-width:768px){.jex-chat-window,.jex-chat-window.jex-win-center{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;transform:none;animation:jexSlideUpMobile .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.jex-container:has(.jex-chat-window) .jex-floating-button{display:none}}@keyframes jexSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.jex-chat-header{padding:14px 16px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info{display:flex;align-items:center;gap:8px;min-width:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-locale-picker{position:relative;display:flex}.jex-flag{display:inline-flex;width:20px;height:14px;flex-shrink:0;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,currentColor 25%,transparent)}.jex-flag svg{width:100%;height:100%}.jex-header-locale{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-locale:hover,.jex-header-locale[aria-expanded=true]{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-locale-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;display:flex;flex-direction:column;min-width:140px;padding:4px;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:10px;box-shadow:0 8px 24px #0f172a29}.jex-locale-option{display:flex;align-items:center;gap:10px;padding:8px 10px;font-size:13px;line-height:1.2;text-align:left;background:transparent;border:none;border-radius:6px;color:inherit;cursor:pointer}.jex-locale-option:hover,.jex-locale-option:focus-visible{background:color-mix(in srgb,currentColor 8%,transparent)}.jex-locale-option.jex-locale-active{font-weight:600}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.jex-header-handoff{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jex-header-handoff:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.jex-header-handoff:disabled{opacity:.5;cursor:not-allowed}.jex-header-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-close:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-handoff-error{position:absolute;top:100%;right:8px;background:#fee;color:#b00;padding:4px 8px;font-size:12px;border-radius:4px}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer;animation:jexFadeIn .4s ease both}.jex-home-hero:disabled{cursor:default;opacity:.7}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--jex-dot-color, #9ca3af);border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}.jex-home-status-dot--online{--jex-dot-color: #10b981}.jex-home-status-dot--away{--jex-dot-color: #fbbf24}.jex-home-status-dot--offline{--jex-dot-color: #9ca3af}@keyframes jexPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--jex-dot-color, #9ca3af) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--jex-dot-color, #9ca3af) 0%,transparent)}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:13px;font-weight:500;color:var(--jex-text-muted);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--jex-text-muted)}.jex-home-lookup-section{display:flex;flex-direction:column;gap:8px;margin-top:auto}.jex-home-lookup-label{font-size:12px;font-weight:500;color:var(--jex-text-muted)}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-history{display:flex;flex-direction:column;gap:8px}.jex-home-resume-meta{font-size:12px;color:var(--jex-text-muted);margin-top:4px}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start;flex-direction:column;align-items:stretch;gap:6px;max-width:92%}.jex-message-head{display:flex;align-items:center;gap:8px;padding-left:2px}.jex-message-head .jex-avatar{margin-bottom:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author{font-size:13px;font-weight:600;color:var(--jex-text-main);line-height:1.2}.jex-quote-btn{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--jex-border-window);border-radius:50%;background:var(--jex-bg-window);color:var(--jex-text-muted, #6b7280);box-shadow:0 1px 4px #0000001f;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity .12s,transform .12s,background .15s,color .15s}.jex-quote-btn:hover{background:var(--jex-bg-msg-bot);color:var(--jex-primary, #115A62);transform:scale(1)}.jex-quote-btn:focus-visible{opacity:1;transform:scale(1);outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}@media(hover:hover){.jex-message:hover .jex-quote-btn{opacity:1;transform:scale(1)}}@media(hover:none){.jex-quote-btn{opacity:1;transform:scale(1)}}.jex-message.user .jex-mention{font-weight:700;background:#ffffff38;border-radius:4px;padding:0 3px}.jex-quoted-chip{display:flex;align-items:flex-start;gap:4px;width:100%;margin-bottom:6px;padding-bottom:6px;border:none;border-bottom:1px solid var(--jex-border-window);background:transparent;color:inherit;font:inherit;font-size:12px;opacity:.8;text-align:left;cursor:pointer}.jex-quoted-chip:hover{opacity:1}.jex-quoted-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-quoted-chip-author{font-weight:600}.jex-quoted-list{display:flex;flex-direction:column}.jex-quoted-list .jex-quoted-chip{margin-bottom:3px;padding-bottom:3px}.jex-quoted-list .jex-quoted-chip:last-child{margin-bottom:6px;padding-bottom:6px}.jex-msg-highlight{outline:2px solid var(--jex-primary, #115A62);outline-offset:2px;transition:outline-color .2s}.jex-reply-preview{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);font-size:12px;color:var(--jex-text-muted)}.jex-reply-preview-icon{flex:0 0 auto;color:var(--jex-primary)}.jex-reply-preview-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-reply-preview-author{font-weight:600;color:var(--jex-text-main)}.jex-reply-preview-cancel{flex:0 0 auto;display:inline-flex;padding:2px;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted);cursor:pointer}.jex-reply-preview-cancel:hover{color:var(--jex-text-main);background:#0000000f}.jex-message{position:relative;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-radius:16px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md img{display:block;width:auto;height:auto;max-width:100%;max-height:260px;margin:4px 0;border-radius:8px;background:#0000000a}.jex-md-img-link{display:inline-block;text-decoration:none;cursor:zoom-in}.jex-md-img-link:hover{opacity:1}.jex-md-img-link:hover img{opacity:.9}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);background:color-mix(in srgb,currentColor 6%,transparent);border-radius:0 8px 8px 0;margin:0 0 8px;padding:6px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.jex-md table{width:100%;border-collapse:collapse;margin:0 0 8px;font-size:.95em}.jex-md table:last-child{margin-bottom:0}.jex-md th,.jex-md td{text-align:left;padding:6px 10px;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}.jex-md th{font-weight:600;border-bottom-width:2px}.jex-md tr:last-child td{border-bottom:none}.jex-md tbody tr:nth-child(2n) td{background:color-mix(in srgb,currentColor 5%,transparent)}.jex-md .jex-card-grid{display:flex;flex-direction:column;gap:8px;margin:0 0 8px}.jex-md .jex-card-grid:last-child{margin-bottom:0}.jex-md .jex-card{border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);border-radius:10px;padding:10px 12px}.jex-md .jex-card-title{font-weight:700;margin-bottom:4px}.jex-md .jex-card>:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:\"◊\";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:12px 16px;border-top:1px solid var(--jex-border-window);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.jex-chat-input-composer-gate{position:relative}.jex-chat-input-composer-gate-open{z-index:2}.jex-chat-input-composer-gate-open .jex-composer-card{pointer-events:none}.jex-composer-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px 8px;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:16px;cursor:text;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.jex-composer-card:focus-within{border-color:var(--jex-primary);background:var(--jex-bg-window);box-shadow:0 0 0 3px color-mix(in srgb,var(--jex-primary, #115A62) 14%,transparent)}.jex-composer-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 4px}.jex-attachment-chip{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);flex-shrink:0;box-shadow:0 1px 2px #0000000f}.jex-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.jex-attachment-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#0f172ac7;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s ease,transform .12s ease}.jex-attachment-chip:hover .jex-attachment-remove,.jex-attachment-chip:focus-within .jex-attachment-remove{opacity:1}.jex-attachment-remove:before{content:\"\";position:absolute;inset:-4px}@media(hover:none){.jex-attachment-remove{opacity:1}}.jex-attachment-remove:hover{transform:scale(1.08)}.jex-attachment-chip:has(.jex-attachment-file){width:auto;max-width:160px}.jex-attachment-file{display:flex;align-items:center;gap:6px;height:100%;padding:0 24px 0 10px;font-size:12px;color:var(--jex-text-main, #0f172a)}.jex-attachment-file svg{flex-shrink:0}.jex-attachment-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-attachment-chip[data-status=uploading]{opacity:.6}.jex-attachment-chip[data-status=failed]{box-shadow:0 0 0 2px var(--jex-text-error, #991b1b)}.jex-attachment-chip[data-status=failed] .jex-attachment-remove{opacity:1}.jex-attachment-chip{transition:opacity .15s ease,box-shadow .15s ease}.jex-attachment-note{margin:0 2px 4px;font-size:11px;line-height:1.4;color:var(--jex-text-muted, #64748b)}.jex-attachment-status{margin:0 0 6px;font-size:12px;line-height:1.4;color:var(--jex-text-muted, #64748b)}.jex-attachment-status:empty{margin:0}.jex-attachment-status-error{color:var(--jex-text-error, #991b1b)}.jex-msg-files{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 2px}.jex-msg-files-user{justify-content:flex-end}.jex-msg-files-bot{justify-content:flex-start}.jex-msg-file-thumb{display:block;width:96px;height:96px;border-radius:14px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-window, rgba(226, 232, 240, .8));transition:opacity .15s ease}.jex-msg-file-thumb:hover{opacity:.9}.jex-msg-file-thumb img{width:100%;height:100%;object-fit:cover;display:block}.jex-msg-file-card{display:flex;align-items:center;gap:8px;max-width:220px;padding:8px 10px;border-radius:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-window, rgba(226, 232, 240, .8));color:var(--jex-text-main, #0f172a);text-decoration:none;transition:background-color .15s ease,opacity .15s ease}a.jex-msg-file-card:hover{background:var(--jex-border-window, rgba(226, 232, 240, .8))}.jex-msg-file-card svg{flex-shrink:0;color:var(--jex-text-muted, #64748b)}.jex-msg-file-card[aria-disabled=true],.jex-msg-file-pending{opacity:.7}.jex-msg-files-error{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin:0 0 4px;font-size:12px;line-height:1.4;color:var(--jex-text-error, #991b1b)}.jex-msg-files-retry{padding:0;border:none;background:none;font:inherit;font-weight:600;color:var(--jex-primary, #115A62);cursor:pointer;transition:opacity .15s ease}.jex-msg-files-retry:hover,.jex-msg-files-retry:focus-visible{opacity:.75}.jex-msg-file-text{display:flex;flex-direction:column;min-width:0}.jex-msg-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.jex-msg-file-meta{font-size:11px;color:var(--jex-text-muted, #64748b)}.jex-msg-file-unavailable{border-style:dashed;background:transparent;color:var(--jex-text-muted, #64748b)}@media(prefers-reduced-motion:reduce){.jex-attachment-chip,.jex-msg-file-thumb,.jex-msg-file-card{transition:none}}.jex-composer-textarea{width:100%;min-height:22px;background:transparent;border:none;outline:none;resize:none;padding:2px 4px;color:var(--jex-text-main);font-family:inherit;font-size:16px;line-height:1.45;overflow-y:hidden}.jex-composer-textarea::placeholder{color:var(--jex-text-muted);opacity:.85}.jex-composer-textarea:disabled{cursor:not-allowed;opacity:.7}.jex-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.jex-composer-actions-left{display:inline-flex;align-items:center;gap:4px}.jex-attach-btn{width:30px;height:30px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--jex-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.jex-attach-btn:hover:not(:disabled){background:color-mix(in srgb,var(--jex-text-muted, #64748b) 12%,transparent);color:var(--jex-text-main)}.jex-attach-btn:active:not(:disabled){transform:scale(.92)}.jex-attach-btn:disabled{opacity:.4;cursor:not-allowed}.jex-mic-btn{position:relative}.jex-mic-btn svg{position:relative}.jex-mic-ring{position:absolute;inset:0;border-radius:50%;background:var(--jex-primary);opacity:0;transition:transform 80ms linear,opacity .12s ease;pointer-events:none}.jex-mic-btn-listening{color:var(--jex-primary)}@keyframes jex-mic-pulse{0%,to{opacity:.2}50%{opacity:.45}}@media(prefers-reduced-motion:reduce),(pointer:coarse){.jex-mic-ring{transition:none}.jex-mic-btn-listening .jex-mic-ring{animation:jex-mic-pulse 1.6s ease-in-out infinite}}.jex-voice-status{margin:0 0 6px;font-size:12px;line-height:1.4;color:var(--jex-text-muted, #64748b)}.jex-voice-status:empty{margin:0}.jex-voice-status-error{color:var(--jex-text-error, #991b1b)}.jex-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jex-rate-limit-notice{flex:0 0 auto;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-session-error-notice{flex:0 0 auto;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-error, #fef2f2);border:1px solid var(--jex-border-error, #fecaca);color:var(--jex-text-error, #991b1b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:color-mix(in srgb,var(--jex-text-muted, #64748b) 18%,transparent);color:var(--jex-text-muted);border:none;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease;flex-shrink:0}.jex-send-btn-active{background:var(--jex-bg-send-btn, var(--jex-primary));color:var(--jex-text-header, #fff)}.jex-send-btn-active:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-send-btn:active:not(:disabled){transform:scale(.9)}.jex-send-btn:disabled{opacity:.45;cursor:default}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-privacy-notice-link,.jex-privacy-chip-link{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--jex-primary) 50%,transparent);transition:text-decoration-color .15s}.jex-privacy-notice-link:hover,.jex-privacy-chip-link:hover{text-decoration-color:var(--jex-primary)}.jex-privacy-chip{align-self:center;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);font-size:10px;font-weight:650;line-height:1.2}.jex-privacy-chip-icon{display:inline-flex;flex-shrink:0}.jex-privacy-chip-link{color:inherit;text-decoration:none}.jex-privacy-explicit{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;min-height:100%;padding:10px 12px 12px;border:1px solid var(--jex-border-window);border-radius:14px 14px 10px 10px;background:var(--jex-bg-window);box-shadow:0 -12px 36px #0f172a24;pointer-events:auto}.jex-privacy-explicit-content{display:flex;align-items:flex-start;gap:10px}.jex-privacy-explicit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);flex-shrink:0}.jex-privacy-explicit-copy{min-width:0;flex:1}.jex-privacy-explicit-title{color:var(--jex-text-main);font-size:12px;font-weight:750;line-height:1.2;margin-bottom:3px}.jex-privacy-explicit-body{margin:0;color:var(--jex-text-muted);font-size:10px;line-height:1.35}.jex-privacy-explicit-button{width:100%;border:none;border-radius:10px;background:var(--jex-bg-send-btn);color:var(--jex-text-header);cursor:pointer;font-family:inherit;font-size:12px;font-weight:750;padding:9px 12px;transition:background .15s ease,transform .12s ease}.jex-privacy-explicit-button:hover{background:var(--jex-primary-hover)}.jex-privacy-explicit-button:active{transform:scale(.98)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}@media(pointer:coarse){.jex-form-input,.jex-form-textarea{font-size:16px}}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-magicline-row{display:flex;flex-direction:column;gap:8px}.jex-magicline-row>*{min-width:0}.jex-magicline-field{display:flex;flex-direction:column;gap:4px}.jex-magicline-field-label{font-size:12px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-magicline-select{width:100%;appearance:none;cursor:pointer;padding-right:32px;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px}.jex-magicline-slots-hint{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4;padding:2px 0}.jex-magicline-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35;color:var(--jex-text-muted, #64748b);margin-top:2px;cursor:pointer}.jex-magicline-consent input[type=checkbox]{flex-shrink:0;margin-top:1px;accent-color:var(--jex-primary, #115A62)}.jex-magicline-error{font-size:12px;color:#dc2626;line-height:1.35}.jex-magicline-failed{border-color:color-mix(in srgb,#dc2626 35%,var(--jex-border-input, #e2e8f0))}.jex-magicline-failed-icon{background:color-mix(in srgb,#dc2626 15%,transparent);color:#dc2626}.jex-magicline-wizard-header{display:flex;flex-direction:column;gap:6px}.jex-magicline-wizard-progress{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-wizard-step-label{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-wizard-counter{font-size:11px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-wizard-dots{display:flex;gap:6px}.jex-magicline-wizard-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--jex-text-muted, #64748b) 35%,transparent)}.jex-magicline-wizard-dot-active{background:var(--jex-primary, #115A62)}.jex-magicline-wizard-nav{display:flex;align-items:center;gap:8px;margin-top:4px}.jex-magicline-wizard-next{flex:1;margin-top:0}.jex-magicline-wizard-back{padding:10px 14px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:14px;font-weight:600;cursor:pointer}.jex-magicline-wizard-back:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-wizard-back:disabled,.jex-magicline-wizard-next:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-radio-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-radio-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-radio-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-radio-card input[type=radio]{flex-shrink:0;accent-color:var(--jex-primary, #115A62)}.jex-magicline-slots-error{display:flex;flex-direction:column;gap:6px}.jex-magicline-retry{align-self:flex-start;padding:6px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:13px;font-weight:600;cursor:pointer}.jex-magicline-retry:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-retry:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-voucher-section{display:flex;flex-direction:column;gap:6px;margin-top:4px}.jex-magicline-voucher-field{flex-direction:row;align-items:stretch;gap:8px}.jex-magicline-voucher-field .jex-form-input{flex:1;min-width:0}.jex-magicline-voucher-apply{flex:0 0 auto;padding:10px 16px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.jex-magicline-voucher-apply:hover{background:var(--jex-primary-hover)}.jex-magicline-voucher-apply:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-review-wrap{position:relative}.jex-magicline-review-body{display:flex;flex-direction:column;gap:10px;transition:opacity .15s ease}.jex-magicline-review-body--reloading{opacity:.5;pointer-events:none}.jex-magicline-review-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:48px}.jex-magicline-review-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent);border-top-color:var(--jex-primary, #115A62);animation:jex-magicline-spin .7s linear infinite}@keyframes jex-magicline-spin{to{transform:rotate(360deg)}}.jex-magicline-voucher-discount-row dt,.jex-magicline-voucher-remarks-row dt{flex-shrink:1;min-width:0}.jex-magicline-voucher-remarks-row dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.jex-magicline-summary{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.jex-magicline-summary-row dt{font-size:12px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-summary-row dd{margin:0;font-size:13px;font-weight:500;color:var(--jex-text-main, #0f172a);text-align:right;min-width:0}.jex-magicline-summary-section{margin-top:8px}.jex-magicline-summary-heading{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-summary-totals{background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent);border-color:color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent)}.jex-magicline-summary-total-row dt,.jex-magicline-summary-total-row dd{font-size:14px;font-weight:700;color:var(--jex-text-main, #0f172a)}.jex-magicline-summary-total-row dt{flex-shrink:1;min-width:0}.jex-magicline-summary-total-row dd{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}.jex-magicline-offer-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-offer-bundle-name{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-bundle-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-radio-card .jex-magicline-offer-term{display:flex;flex-direction:column;gap:4px;flex:1}.jex-magicline-offer-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-offer-term-length{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-term-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-offer-term-note{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-static-value{padding:9px 12px;border-radius:8px;font-size:14px;color:var(--jex-text-main, #0f172a);background:var(--jex-bg-window, #f8fafc);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-terms{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-upgrades-recap-title,.jex-magicline-terms-title{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-terms-content{font-size:12px;line-height:1.5;color:var(--jex-text-muted, #64748b);white-space:pre-wrap}.jex-magicline-upgrade-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-upgrade-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-upgrade-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-upgrade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;cursor:pointer}.jex-magicline-upgrade-info{display:flex;flex-direction:column;gap:2px;flex:1}.jex-magicline-upgrade-name{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-upgrade-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-upgrade-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-upgrade-status{flex-shrink:0;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;border:1px solid var(--jex-border-input, #e2e8f0);color:var(--jex-text-muted, #64748b);background:transparent;white-space:nowrap}.jex-magicline-upgrade-card-active .jex-magicline-upgrade-status{border-color:var(--jex-primary, #115A62);color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent)}.jex-magicline-terms-prompt{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:4px}.jex-magicline-bundle-details{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-bundle-details-summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--jex-primary, #115A62);list-style-position:inside}.jex-magicline-bundle-details-summary:hover{text-decoration:underline}.jex-magicline-bundle-details-body{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jex-magicline-bundle-details-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;line-height:1.4}.jex-magicline-bundle-details-footnote{margin:0;line-height:1.4}.jex-magicline-consent-region{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px 8px;border-left:3px solid var(--jex-primary, #115A62);border-radius:6px;background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent)}.jex-magicline-required-pill{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent);vertical-align:middle}.jex-magicline-consent-body{display:flex;flex-direction:column;gap:1px}.jex-magicline-consent-recap{display:flex;flex-direction:column;gap:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:14px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}@media(pointer:coarse){.jex-home-lookup-input{font-size:16px}}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-starter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.jex-starter-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;background:var(--jex-bg-window);border:1px solid var(--jex-border-input);color:var(--jex-primary);text-align:left;font-size:13.5px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.jex-starter-chip:hover:not(:disabled){background:color-mix(in srgb,var(--jex-primary) 8%,var(--jex-bg-window));border-color:var(--jex-primary)}.jex-starter-chip:disabled{opacity:.5;cursor:default}.jex-presence-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px var(--jex-bg-header, #115A62)}.jex-presence-dot--online{background:#10b981}.jex-presence-dot--away{background:#fbbf24}.jex-presence-dot--offline{background:#9ca3af}@keyframes jex-ripple-expand{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.jex-waiting-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0 12px 8px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem)}.jex-waiting-indicator{position:relative;flex-shrink:0;width:20px;height:20px;margin-top:2px;display:flex;align-items:center;justify-content:center}.jex-waiting-dot{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--jex-primary, #115A62)}.jex-waiting-ripple{position:absolute;inset:0;width:8px;height:8px;margin:auto;border-radius:50%;background:var(--jex-primary, #115A62);animation:jex-ripple-expand 1.6s ease-out infinite}@media(prefers-reduced-motion:reduce){.jex-waiting-ripple{animation:none}}.jex-waiting-body{display:flex;flex-direction:column;gap:4px;min-width:0}.jex-waiting-title{font-weight:600;font-size:14px;color:var(--jex-text-main, #0f172a);line-height:1.3}.jex-waiting-subtitle{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4}.jex-waiting-leave-email{margin-top:6px;padding:0;border:none;background:transparent;color:var(--jex-primary, #115A62);font-size:12px;font-family:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.jex-waiting-leave-email:hover{opacity:.8}`;\nfunction bx(t) {\n const e = document.createElement(\"style\");\n e.textContent = xx, t.appendChild(e);\n}\nconst vx = th, yx = \"https://festive-mouse-978.eu-west-1.convex.cloud\";\nlet Li = null;\nfunction wx(t) {\n const e = t ?? yx;\n if (!e)\n throw new Error(\"[jexity] No Convex URL — set VITE_CONVEX_URL at build time or data-convex-url on the script tag\");\n return Li || (Li = new Jd(yh(e))), Li;\n}\nfunction kx(t, e) {\n const n = t.shadowRoot ?? t.attachShadow({ mode: \"open\" });\n for (; n.firstChild; )\n n.removeChild(n.firstChild);\n bx(n), Hr.value = e.source, Dt.value = e.bootstrapToken, qe.value = [{ id: \"home\" }], e.mode === \"embedded\" && (t.classList.add(\"jex-mode-embedded\"), ce.value = !0);\n const r = document.createElement(\"div\");\n return e.mode === \"embedded\" && (r.style.cssText = \"width:100%;height:100%\"), n.appendChild(r), Yt(\n /* @__PURE__ */ s(vx, { client: wx(e.convexUrl), children: /* @__PURE__ */ s(mx, { options: e }) }),\n r\n ), function() {\n Yt(null, r), ce.value = !1, Vr.value = null, Hr.value = void 0, Dt.value = void 0, qe.value = [{ id: \"home\" }];\n };\n}\nfunction _x(t, e, n) {\n const r = kx(t, e), i = /* @__PURE__ */ new Set(), o = ce.subscribe((l) => {\n for (const c of i)\n c(l);\n });\n return {\n shutdown() {\n o(), i.clear(), r(), n && n();\n },\n open() {\n ce.value = !0;\n },\n close() {\n ce.value = !1;\n },\n toggle() {\n ce.value = !ce.value;\n },\n ask(l) {\n const c = l.trim();\n if (c) {\n Vr.value = c;\n const u = qe.peek();\n u[u.length - 1]?.id !== \"chat\" && gt({ id: \"chat\" });\n }\n ce.value = !0;\n },\n get isOpen() {\n return ce.value;\n },\n subscribe(l) {\n return i.add(l), () => {\n i.delete(l);\n };\n }\n };\n}\nlet qn = null;\nfunction jx(t) {\n qn && qn.shutdown();\n let e;\n t.container ? e = typeof t.container == \"string\" ? document.querySelector(t.container) : t.container : (e = document.createElement(\"div\"), e.id = \"jexity-chat-widget\", document.body.appendChild(e));\n const n = _x(e, t, () => {\n t.container || e.remove(), qn === n && (qn = null);\n });\n return qn = n, n;\n}\nexport {\n jx as JexityChat\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["sink","widgetLogger","args","JexityChatContext","createContext","JexityChatProvider","props","children","options","isOpen","setIsOpen","useState","instanceRef","useRef","unsubRef","containerRef","cancelledRef","loadRef","embedded","headless","optionsRef","useEffect","ensureMounted","mod","opts","mountOptions","inst","open","err","value","text","createElement","useJexityChat","ctx","useContext","or","Ms","Ps","Pt","ra","Ns","Ls","Hn","Os","fo","$i","Nr","Lr","Gc","ar","mt","po","Kc","J","ot","vn","Yc","mo","Fs","Ds","Di","Or","qs","m","h","p","x","w","k","A","Xc","zs","Zc","Bs","bt","ia","yr","oa","N","M","E","se","$","eu","y","Us","qi","Jc","Vs","tu","nu","ru","oe","aa","yn","Hs","sa","la","ca","ua","da","ha","jn","D","He","Ys","P","Sn","ie","ke","Ws","Z","sr","Qs","Gs","fa","zi","Ks","iu","pa","Xs","Zs","Js","el","tl","nl","ou","ma","au","su","ga","lu","cu","xa","rl","il","ol","uu","zn","ba","du","hu","fu","al","pu","mu","gu","xu","bu","vu","yu","va","wu","ya","wa","ka","ku","_u","ti","ju","Su","Tu","Cu","Au","Ru","Eu","Iu","pt","Xe","Mu","un","Pu","Nu","Lu","Xn","Ou","$u","Zn","jt","sl","Du","ll","wn","qu","zu","_i","cl","Fu","ul","Uu","Bu","Vu","Hu","Wu","Qu","_a","dl","kn","a","ja","Qn","ji","vt","Gu","Ku","Sa","Ta","Yu","$r","hl","Ca","Xu","Zu","Aa","Ju","fl","pl","ml","gl","ed","gn","Xt","Kt","Ra","td","nd","ut","rd","id","od","wr","ad","Jn","sd","ld","cd","ud","De","xl","dd","hd","qr","er","fd","pd","md","Ue","Ea","gd","xd","Ia","bd","vd","kr","Ma","yd","Pa","wd","kd","_d","be","jd","Sd","Td","Cd","fn","Na","bl","Ad","Rd","r","i","o","Ed","Id","Fn","Md","Pd","vl","Nd","Ld","Fe","Od","La","$d","Dd","qd","zd","Fd","Ud","Bd","ve","Vd","Ai","Hd","Wd","Oa","Qd","Gd","Kd","Yd","_t","Xd","yl","nh","Zd","Jd","ni","eh","th","St","c","ah","Ct","Jt","rh","ih","Ri","oh","sh","lh","ri","Tt","Fr","Kn","zr","kl","ch","Wi","uh","ii","Ur","wl","Re","lr","H","_l","jl","Qi","Sl","dh","Tn","Tl","hh","Cl","Cn","Br","Al","xn","Rl","fh","ph","mh","Vr","Hr","cr","ur","_o","El","Dt","Gi","Ki","Il","gh","xh","Ml","bh","Pl","vh","ae","Nl","yh","Ll","$a","wh","kh","_h","jh","Sh","Th","Da","ne","Ol","Ch","qa","Ah","za","Rh","Eh","Ih","jo","Xi","Mh","Dl","Ph","I","Nh","Ir","Lh","Oh","ql","zl","Fl","Me","We","bn","$h","Dh","qh","zh","Ul","Fh","Uh","dr","Bh","Vh","Fa","Ua","Ba","Bl","Hh","Wh","gt","Ji","Qh","tr","Gh","Kh","n","Va","jr","Yh","Xh","oi","Zh","Jh","Vl","ef","Ha","tf","nf","Wa","rf","Qa","Hl","of","af","sf","lf","Qr","cf","Ga","uf","df","hf","Un","Ka","Wl","nr","Ao","rr","Kr","Yr","ff","Ya","pf","Ql","Gl","Kl","mf","gf","xf","bf","Pe","vf","yf","wf","pn","Yl","kf","Ro","Xl","Zl","_f","Jl","Lt","ir","ec","tc","l","u","d","jf","Sf","Tf","Cf","Af","Rf","Za","Ef","If","Mf","Pf","Nf","Lf","Of","$f","Df","qf","zf","Ff","Uf","Bf","Vf","Hf","Wf","z","b","v","T","L","re","C","q","me","Qf","Ja","Gf","es","Kf","Yf","Xf","ai","Eo","Zf","Jf","ep","tp","ts","np","Io","nc","Gt","dn","G","Ie","rp","ip","op","ap","hr","sp","Mo","rc","ic","lp","Po","cp","No","up","dp","si","hp","oc","fp","ns","pp","mp","gp","xp","ac","bp","li","$o","vp","sc","yp","wp","kp","lc","_p","jp","cc","Sp","Tp","Cp","Ap","Rp","Ep","Ip","Mp","Pp","Np","Xr","Lp","uc","dc","Op","rs","Do","$p","Dp","Sr","Ln","qp","is","ht","os","as","It","ss","zp","Fp","ls","Up","Zr","nt","Jr","qo","rt","Bn","Bp","X","cs","Vp","Hp","Wp","Qp","Gp","hc","us","Kp","Yp","Xp","Ce","Ae","mn","fc","e","On","ye","Zp","ds","hn","Jp","Ot","Vn","Ei","hs","$n","em","tm","nm","ps","ms","je","Te","Wt","rm","im","$e","om","ft","am","gs","Ii","Mi","sm","Pi","lm","xs","bs","Ni","vs","Tr","cm","um","dm","hm","fm","ys","pm","mm","gm","xm","ws","bm","vm","ym","dt","wm","km","ks","Mt","pc","S","f","at","yt","Ft","Be","At","F","Ee","Ut","we","Ge","Se","ee","Bt","B","W","st","Le","Ve","fr","pr","lt","Vt","wt","In","Rt","V","fe","et","ge","ui","mr","gr","ct","di","hi","Mc","fi","Wo","pi","Pc","Nc","Lc","pe","Oc","Qo","mi","g","R","Go","Ko","Dc","qc","zc","Et","U","Y","Ht","Fc","Uc","Xo","xr","gi","br","Nn","kt","j","Bc","Vc","_e","Jo","Hc","Wc","Qc","xe","Ye","tt","bi","Oe","vr","xi","_m","jm","Sm","Cr","Yn","Tm","Cm","Am","mc","Rm","Em","gc","Im","Qt","Mm","Pm","Nm","xc","bc","ci","Lm","Om","$m","Dm","qm","zm","vc","Fm","zo","Um","yc","Bm","wc","kc","Vm","Hm","Wm","_c","Qm","Gm","it","ei","Km","Ym","Xm","Zm","jc","Jm","Sc","eg","tg","ng","rg","ig","og","fg","ag","pg","hg","sg","lg","cg","ug","dg","Cc","$t","Ze","Tc","mg","gg","xg","_s","bg","vg","yg","wg","kg","_g","jg","js","Ss","$g","Sg","Ag","Eg","Ig","Mg","Pg","Og","Tg","Cg","Lg","Rg","xt","Ng","Dg","Ts","qg","zg","Fg","Ug","Bg","Vg","Hg","Wg","Qg","Gg","Kg","Cs","As","Yg","Xg","Zg","Jg","Ac","ex","tx","nx","rx","Rc","ix","ox","ax","Ec","Rs","sx","Es","Ic","lx","cx","ux","dx","hx","fx","px","Is","mx","gx","xx","bx","vx","yx","wx","kx","_x","qn","jx"],"mappings":"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"}
|