vrembem 4.0.0-next.32 → 4.0.0-next.34
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/LICENSE +1 -1
- package/dev/base.css +20 -9
- package/dev/base.css.map +1 -1
- package/dev/index.css +95 -87
- package/dev/index.css.map +1 -1
- package/dev/index.js +1648 -1610
- package/dev/index.js.map +1 -1
- package/dev/index.umd.cjs +1617 -1579
- package/dev/index.umd.cjs.map +1 -1
- package/dev/root.css +75 -76
- package/dev/root.css.map +1 -1
- package/dist/base.css +1 -1
- package/dist/base.css.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +2084 -2056
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +9 -9
- package/dist/index.umd.cjs.map +1 -1
- package/dist/root.css +1 -1
- package/dist/root.css.map +1 -1
- package/package.json +23 -22
package/dev/index.umd.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.cjs","sources":["../../core/dist/index.js","../../drawer/dist/index.js","../../modal/dist/index.js","../../popover/dist/index.js"],"sourcesContent":["const u = \":not([inert])\", f = ':not([tabindex^=\"-\"])', m = \":not(:disabled)\", k = [\n `a[href]${u}${f}`,\n `area[href]${u}${f}`,\n `input:not([type=\"hidden\"]):not([type=\"radio\"])${u}${f}${m}`,\n `input[type=\"radio\"]${u}${f}${m}`,\n `select${u}${f}${m}`,\n `textarea${u}${f}${m}`,\n `button${u}${f}${m}`,\n `details${u} > summary:first-of-type${f}`,\n `iframe${u}${f}`,\n `audio[controls]${u}${f}`,\n `video[controls]${u}${f}`,\n `[contenteditable]${u}${f}`,\n `[tabindex]${u}${f}`\n];\nfunction C(n, t = \"config\") {\n const s = (n.getAttribute(`data-${t}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction E(n) {\n if (typeof n == \"string\") {\n const t = document.getElementById(n);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${n}\"`);\n } else if (n instanceof HTMLElement) {\n if (!n.id)\n throw new Error(\"HTMLElement must have an ID\");\n return n;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function g(n, t, ...e) {\n t in n && typeof n[t] == \"function\" && await n[t](...e);\n}\nfunction x(n, t, e) {\n if (typeof t == \"string\") {\n const r = document.querySelector(t);\n if (!r)\n throw new Error(`No teleport reference found for selector: ${t}`);\n t = r;\n } else if (!(t instanceof HTMLElement))\n throw new Error(`Not a valid teleport reference: '${t}'`);\n if (typeof t[e] != \"function\")\n throw new Error(`Not a valid teleport method: '${e}'`);\n let s = document.createComment(\n \"teleported #\" + n.id\n );\n return n.before(s), t[e](n), () => {\n s && (s.after(n), s.remove(), s = null);\n };\n}\nfunction v(n) {\n return n.split(\"-\").map(\n (t, e) => e === 0 ? t : t.charAt(0).toUpperCase() + t.slice(1)\n ).join(\"\");\n}\nfunction $(n) {\n return n.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction S(n) {\n if (typeof n == \"number\")\n return n;\n const t = parseFloat(n);\n if (!Number.isNaN(t)) {\n const e = n.includes(\"ms\");\n return t * (e ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${n}`);\n}\nfunction J(n, t, e, s, r = 0) {\n return new Promise((a) => {\n n.classList.remove(t), n.classList.add(e), setTimeout(() => {\n n.classList.add(s), n.classList.remove(e), a(n);\n }, S(r));\n });\n}\nfunction R(n, t = {}) {\n const e = {\n fallback: null,\n element: document.body,\n ...t\n };\n if (!n.startsWith(\"--\")) {\n const r = y();\n r && (n = `${r}${n}`), n = `--${n}`;\n }\n const s = getComputedStyle(e.element).getPropertyValue(n).trim();\n if (s)\n return s;\n if (e.fallback)\n return e.fallback;\n throw new Error(`CSS variable \"${n}\" was not found!`);\n}\nasync function h(n, t, e) {\n await g(t, n, e), e && await g(e, n);\n for (const s of t.plugins)\n await g(s, n, { plugin: s, parent: t, entry: e });\n await t.emit(n, e);\n}\nfunction M(n) {\n const t = getComputedStyle(n.el), e = {}, s = n.getSetting(\"customProps\");\n for (let r = 0; r < s.length; r++) {\n const a = y(), o = n.parent.module.toLowerCase(), i = $(s[r]), c = t.getPropertyValue(`--${a}${o}-${i}`).trim();\n c && (e[i] = c);\n }\n return e;\n}\nfunction y() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction P(n, t, e = \"camel\") {\n return t = e === \"camel\" ? v(t) : $(t), n.split(\".\").concat(t).reduce((s, r) => s?.[r], this);\n}\nfunction A(n, t = {}) {\n const {\n fallback: e,\n props: s = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = t;\n for (const r of s) {\n const a = r !== \"customProps\" ? \"camel\" : \"kebab\", o = P.call(this, r, n, a);\n if (o !== void 0)\n return o;\n }\n if (e !== void 0)\n return e;\n throw new Error(`${this.parent.module} setting does not exist: ${n}`);\n}\nfunction I(n, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n n ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction T(n, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n n ? (s.inert = !0, s.setAttribute(\"aria-hidden\", \"true\")) : (s.inert = !1, s.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction G(n, t, e) {\n T(!!n, t), I(!!n, e);\n}\nconst L = {\n events: {},\n on(n, t, ...e) {\n this.events[n] || (this.events[n] = []), this.events[n].some(\n (r) => r.listener === t\n ) || this.events[n].push({ listener: t, args: e });\n },\n off(n, t) {\n this.events[n] && (this.events[n] = this.events[n].filter(\n (e) => e.listener !== t\n ));\n },\n async emit(n, t) {\n if (n = n.startsWith(\"on\") ? n.slice(2, 3).toLowerCase() + n.slice(3) : n, !!this.events[n])\n for (const { listener: e, args: s } of this.events[n])\n await e(t, ...s);\n }\n};\nclass O extends Array {\n constructor(t = null) {\n super(), this.el = t, this.el && this.set();\n }\n get first() {\n return this[0];\n }\n get last() {\n return this[this.length - 1];\n }\n set(t = this.el) {\n this.length = 0, t && this.push(...t.querySelectorAll(k.join(\",\")));\n }\n clear() {\n this.length = 0;\n }\n}\nclass U {\n constructor(t = null) {\n this.el = t, this.focusable = new O(), this.handleFocusTrap = D.bind(this);\n }\n on(t = this.el) {\n this.focusable.set(t), this.focusable.length ? document.addEventListener(\"keydown\", this.handleFocusTrap) : document.addEventListener(\"keydown\", b);\n }\n off() {\n this.focusable.clear(), document.removeEventListener(\"keydown\", this.handleFocusTrap), document.removeEventListener(\"keydown\", b);\n }\n}\nfunction b(n) {\n (n.key === \"Tab\" || n.keyCode === 9) && n.preventDefault();\n}\nfunction D(n) {\n if (n.key !== \"Tab\" && n.keyCode !== 9) return;\n const { activeElement: t } = document, { el: e, focusable: s } = this, r = n.shiftKey, a = t === s.first || t === e, o = t === s.last || t === e;\n if (r && a || !r && o) {\n n.preventDefault();\n const i = r ? s.last : s.first;\n i && typeof i.focus == \"function\" && i.focus();\n }\n}\nfunction w(n, t = !0) {\n const e = localStorage.getItem(n), s = e ? JSON.parse(e) : {};\n return {\n get(r, a) {\n return r ? r in s ? s[r] : a : s;\n },\n set(r, a) {\n return a ? s[r] = a : delete s[r], t && localStorage.setItem(n, JSON.stringify(s)), s;\n }\n };\n}\nclass H extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n applySettings(t) {\n const e = t?.defaults || {}, s = this.presets?.[t.name] || {}, r = t?.options || {};\n t.settings = { ...e, ...s, ...r };\n }\n validate(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((e) => e.name === t);\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((e) => this.add(e));\n else if (this.applySettings(t), this.validate(t)) {\n const e = this.findIndex((s) => s.name === t.name);\n ~e ? this[e] = t : this.push(t);\n }\n }\n remove(t) {\n const e = this.findIndex((s) => s.name === t);\n ~e && this.splice(e, 1);\n }\n}\nclass W extends Array {\n constructor(t = {}) {\n super(), this.settings = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n const t = this[this.length - 1];\n return t || null;\n }\n updateIndex() {\n this.forEach((t, e) => {\n t.el.style.zIndex = \"\";\n const s = getComputedStyle(t.el)[\"z-index\"];\n t.el.style.zIndex = String(parseInt(s, 10) + e + 1);\n });\n }\n onChange() {\n this.updateIndex(), typeof this.settings.onChange == \"function\" && this.settings.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const e = this.findIndex((s) => s.id === t.id);\n ~e && (t.el.style.zIndex = \"\", this.splice(e, 1), this.onChange());\n }\n moveToTop(t) {\n const e = this.findIndex((s) => s.id === t.id);\n ~e && (this.splice(e, 1), this.add(t));\n }\n}\nconst N = {\n condition: !0\n}, Q = {\n primary: \"hsl(152deg 60% 50%)\",\n secondary: \"hsl(214deg 50% 50%)\",\n neutral: \"hsl(214deg 20% 50%)\",\n important: \"hsl(0deg 80% 50%)\"\n};\nfunction Z(n = {}) {\n const t = {\n name: \"debug\",\n defaults: N,\n options: n\n };\n function e(o, i = [], c = [\"primary\", \"secondary\"]) {\n const l = c.map((d) => `color: ${Q[d]}`);\n console.log(`%c📡 DEBUG: %c${o}`, ...l, ...i);\n }\n function s(o, ...i) {\n return typeof o == \"function\" ? o(...i) : o;\n }\n const r = {\n beforeMountRef: e.bind(null, \"Event > beforeMount()\"),\n afterMountRef: e.bind(null, \"Event > afterMount()\"),\n beforeUnmountRef: e.bind(\n null,\n \"Event > beforeUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n afterUnmountRef: e.bind(\n null,\n \"Event > afterUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n createEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(`Event > createEntry() > [${l}] #${o.id}`);\n }\n },\n registerEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(`Event > registerEntry() > [${l}] #${o.id}`);\n }\n },\n destroyEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(\n `Event > destroyEntry() > [${l}] #${o.id}`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n },\n deregisterEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(\n `Event > deregisterEntry() > [${l}]`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n }\n };\n return { ...t, ...{\n // Plugin setup/teardown methods\n setup({ parent: o }) {\n e(\"Plugin > setup()\", Array.from(arguments), [\"secondary\", \"neutral\"]), o.on(\"beforeMount\", r.beforeMountRef), o.on(\"createEntry\", r.createEntryRef, { parent: o, plugin: this }), o.on(\"registerEntry\", r.registerEntryRef, {\n parent: o,\n plugin: this\n }), o.on(\"afterMount\", r.afterMountRef), o.on(\"beforeUnmount\", r.beforeUnmountRef), o.on(\"destroyEntry\", r.destroyEntryRef, { parent: o, plugin: this }), o.on(\"deregisterEntry\", r.deregisterEntryRef, {\n parent: o,\n plugin: this\n }), o.on(\"afterUnmount\", r.afterUnmountRef);\n },\n teardown({ parent: o }) {\n e(\"Plugin > teardown()\", Array.from(arguments), [\n \"secondary\",\n \"neutral\"\n ]), o.off(\"beforeMount\", r.beforeMountRef), o.off(\"createEntry\", r.createEntryRef), o.off(\"registerEntry\", r.registerEntryRef), o.off(\"afterMount\", r.afterMountRef), o.off(\"beforeUnmount\", r.beforeUnmountRef), o.off(\"destroyEntry\", r.destroyEntryRef), o.off(\"deregisterEntry\", r.deregisterEntryRef), o.off(\"afterUnmount\", r.afterUnmountRef);\n },\n // Mount lifecycle hooks\n beforeMount() {\n e(\"Hook > beforeMount()\", Array.from(arguments));\n },\n onCreateEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length;\n e(\n `Hook > onCreateEntry() > [${c}] #${i.id}`,\n Array.from(arguments)\n );\n }\n },\n onRegisterEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length - 1;\n e(\n `Hook > onRegisterEntry() > [${c}] #${i.id}`,\n Array.from(arguments)\n );\n }\n },\n afterMount() {\n e(\"Hook > afterMount()\", Array.from(arguments));\n },\n // Unmount lifecycle hooks\n beforeUnmount() {\n e(\"Hook > beforeUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n },\n onDestroyEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length - 1;\n e(\n `Hook > onDestroyEntry() > [${c}] #${i.id}`,\n Array.from(arguments),\n [\"important\", \"neutral\"]\n );\n }\n },\n onDeregisterEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length;\n e(`Hook > onDeregisterEntry() > [${c}]`, Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n },\n afterUnmount() {\n e(\"Hook > afterUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n } };\n}\nconst q = {\n condition: !0\n};\nfunction _(n = {}) {\n const t = {\n name: \"focusTrap\",\n defaults: q,\n options: n\n }, e = {\n setup({ parent: o }) {\n o.on(\"opened\", r, this), o.on(\"closed\", a, this);\n },\n teardown({ parent: o }) {\n o.off(\"opened\", r), o.off(\"closed\", a);\n },\n onCreateEntry({ entry: o }) {\n o.focusTrap = new U();\n }\n };\n function s(o, ...i) {\n return typeof o == \"function\" ? o(...i) : o;\n }\n function r(o, i) {\n const c = { plugin: i, parent: o.parent, entry: o };\n s(i.settings.condition, c) && o.focusTrap?.on(o.dialog);\n }\n function a(o, i) {\n const c = { plugin: i, parent: o.parent, entry: o };\n s(i.settings.condition, c) && o.focusTrap?.off();\n }\n return { ...t, ...e };\n}\nconst F = {\n // The data attributes to get the breakpoint values from\n dataBreakpoint: \"breakpoint\",\n // The data attributes to get the media query value from\n dataMediaQuery: \"media-query\",\n // The string token to replace in the media query string\n token: \"{{BP}}\",\n // Sets a global breakpoint. Can be overridden by setting a data attribute\n // value. Notice: setting this option will enable a media query breakpoint on\n // all entries.\n breakpoint: null,\n // The default media query string to use. Can be overridden by setting a data\n // attribute value.\n mediaQuery: \"(min-width: {{BP}})\",\n // Maps entry ID or breakpoint key to breakpoint values. This is referenced\n // when getting an entries breakpoint value.\n breakpoints: {},\n // Maps entry ID's to a media query strings. Media query may contain a token.\n // This is referenced when getting an entries media query string.\n mediaQueries: {},\n // The function to run when the MediaQueryList triggers a \"change\" event.\n // This is run once on initial mount.\n onChange: () => {\n }\n};\nfunction X(n = {}) {\n const t = {\n name: \"mediaQuery\",\n defaults: F,\n options: n\n }, e = {\n // Run when an entry is created\n // Sets up the MediaQueryList and event listener\n onCreateEntry({ entry: i }) {\n a.call(this, i);\n },\n // Run when an entry is destroyed\n // Removes the MediaQueryList and event listener\n onDestroyEntry({ entry: i }) {\n o(i);\n }\n };\n function s(i) {\n const c = i.el.getAttribute(`data-${this.settings.dataMediaQuery}`);\n return !c && i.id in this.settings.mediaQueries ? this.settings.mediaQueries[i.id] : c || void 0;\n }\n function r(i) {\n let c = i.el.getAttribute(`data-${this.settings.dataBreakpoint}`);\n return !c && i.id in this.settings.breakpoints && (c = this.settings.breakpoints[i.id]), c && c in this.settings.breakpoints && (c = this.settings.breakpoints[c]), c && (c = getComputedStyle(document.body).getPropertyValue(`--${y()}breakpoint-${c}`).trim() || c), c || this.settings.breakpoint;\n }\n function a(i) {\n let c = s.call(this, i);\n const l = r.call(this, i);\n if (!l && !c) return;\n l && !c && (c = this.settings.mediaQuery);\n const d = c.replace(new RegExp(`${this.settings.token}`, \"g\"), l);\n i.mql = window.matchMedia(d), i.mql.onchange = (p) => {\n this.settings.onChange(p, i);\n }, this.settings.onChange(i.mql, i);\n }\n function o(i) {\n i.mql && (i.mql.onchange = null, i.mql = null);\n }\n return { ...t, ...e };\n}\nconst V = {\n // The property on entry objects to watch\n prop: \"state\",\n // The default value or a function to compute the initial value\n value: null,\n // The local storage key prefix\n keyPrefix: \"VB:\",\n // The local storage key to use. If not provided, module name and prop value\n // will be used e.g., \"VB:ModalState\".\n key: null,\n // Condition to determine whether or not to store the value in local storage\n condition: !1,\n // The function to run whenever the value changes\n onChange() {\n }\n};\nfunction Y(n = {}) {\n const t = {\n name: \"propStore\",\n defaults: V,\n options: n,\n store: null\n }, e = {\n setup({ parent: i }) {\n this.store = w(o.call(this, i.module));\n },\n async onCreateEntry({ entry: i }) {\n await s.call(this, i);\n },\n onDestroyEntry({ entry: i }) {\n a.call(this, i);\n }\n };\n async function s(i) {\n let c = i[this.settings.prop] || null;\n const l = { plugin: this, parent: i.parent, entry: i };\n Object.defineProperty(i, this.settings.prop, {\n configurable: !0,\n get() {\n return c;\n },\n set: async (d) => {\n if (c === d) return;\n const p = c;\n c = d, r(\n this.settings.condition,\n l,\n d,\n p\n ) && this.store.set(i.id, d), await this.settings.onChange(l, d, p);\n }\n }), Object.defineProperty(i, \"store\", {\n configurable: !0,\n get: () => this.store.get(i.id),\n set: (d) => {\n i[this.settings.prop] = d;\n }\n }), i[this.settings.prop] = await r(this.settings.value, l) || i[this.settings.prop];\n }\n function r(i, ...c) {\n return typeof i == \"function\" ? i(...c) : i;\n }\n async function a(i) {\n const c = i[this.settings.prop];\n delete i[this.settings.prop], i[this.settings.prop] = c, this.store.set(i.id, null);\n }\n function o(i) {\n const c = this.settings.prop.charAt(0).toUpperCase() + this.settings.prop.slice(1), l = this.settings.key || i + c;\n return this.settings.keyPrefix + l;\n }\n return { ...t, ...e };\n}\nconst B = {\n where: null,\n how: \"append\"\n};\nfunction tt(n = {}) {\n const t = {\n name: \"teleport\",\n defaults: B,\n options: n\n }, e = {\n onCreateEntry({ plugin: a, entry: o }) {\n s(a, o);\n },\n onDestroyEntry({ plugin: a, entry: o }) {\n r(a, o);\n }\n };\n function s(a, o) {\n o.teleport = () => {\n typeof o.teleportReturn == \"function\" && o.teleportReturn(), o.teleportReturn = x(\n o.el,\n o.getSetting(\"teleport\", { fallback: a.settings.where }),\n o.getSetting(\"teleportMethod\", { fallback: a.settings.how })\n );\n }, o.teleport(), o.parent.emit(\"teleport\", { plugin: a, parent: o.parent, entry: o });\n }\n function r(a, o) {\n typeof o.teleportReturn == \"function\" && o.teleportReturn(), o.parent.emit(\"teleportReturn\", {\n plugin: a,\n parent: o.parent,\n entry: o\n });\n }\n return { ...t, ...e };\n}\nconst j = {\n dataConfig: \"config\",\n customProps: []\n};\nclass z {\n constructor(t, e, s = {}) {\n this.parent = t, this.el = E(e), this.settings = { ...s }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n getSetting(t, e) {\n return A.call(this, t, e);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n C(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, M(this));\n }\n async init(t = {}) {\n this.applySettings(t), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((t) => {\n delete this[t];\n });\n }\n}\nclass et {\n constructor(t = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = z, this.settings = { ...j, ...t }, this.plugins = new H(this.settings.presets), this.events = {}, Object.assign(this, L);\n }\n get(t, e = \"id\") {\n return this.collection.find((s) => s[e] === t);\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n async createEntry(t, e) {\n const s = new this.entryClass(this, t, e);\n return await g(s, \"init\"), await h(\"onCreateEntry\", this, s), s;\n }\n async destroyEntry(t) {\n return await h(\"onDestroyEntry\", this, t), await g(t, \"destroy\"), t;\n }\n async register(t, e = {}) {\n const s = E(t), r = this.collection.findIndex((a) => a.id === s.id);\n if (~r) {\n const a = this.collection[r];\n return a.el = s, typeof a.init == \"function\" && await a.init(e), a;\n } else {\n const a = await this.createEntry(s, e);\n return this.collection.push(a), await h(\"onRegisterEntry\", this, a), a;\n }\n }\n async deregister(t) {\n const e = this.collection.findIndex((s) => s.id === t);\n if (~e) {\n const s = await this.destroyEntry(this.collection[e]);\n return await h(\n \"onDeregisterEntry\",\n this,\n this.collection[e]\n ), this.collection.splice(e, 1), s;\n }\n return null;\n }\n async mount(t = {}) {\n this.applySettings(t);\n for (const s of this.settings?.plugins || [])\n this.plugins.add(s);\n for (const s of this.plugins)\n await g(s, \"setup\", { plugin: s, parent: this });\n await h(\"beforeMount\", this);\n const e = document.querySelectorAll(this.settings.selector);\n for (const s of e)\n await this.register(s);\n return await h(\"afterMount\", this), this;\n }\n async unmount() {\n for (await h(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await h(\"afterUnmount\", this);\n for (const t of this.plugins)\n await g(t, \"teardown\", { plugin: t, parent: this });\n for (const t of [...this.plugins])\n this.plugins.remove(t.name);\n return this;\n }\n}\nfunction nt(n = {}) {\n const t = {\n prefix: R(\"prefix-themes\", { fallback: \"vb-theme-\" }),\n themes: [\"root\", \"light\", \"dark\"],\n storeKey: \"VB:Profile\"\n };\n for (const [a] of Object.entries(t))\n n && n[a] && (t[a] = n[a]);\n const e = {\n onInit() {\n },\n onChange() {\n }\n };\n for (const [a] of Object.entries(e))\n n && n[a] && (e[a] = n[a]);\n const s = w(t.storeKey), r = {\n // Store our settings in the API\n settings: t,\n // Actions\n add(a) {\n t.themes.push(a);\n },\n remove(a) {\n const o = t.themes.indexOf(a);\n ~o && t.themes.splice(o, 1);\n },\n callback(a) {\n e[a].call(this);\n },\n // Getters\n get class() {\n return `${t.prefix}${this.theme}`;\n },\n get classes() {\n return t.themes.map((a) => `${t.prefix}${a}`);\n },\n get themes() {\n return t.themes;\n },\n // Setup the theme get and set methods\n get theme() {\n return s.get(\"theme\") || \"root\";\n },\n set theme(a) {\n t.themes.includes(a) ? this.theme != a && (s.set(\"theme\", a), document.documentElement.classList.remove(...this.classes), document.documentElement.classList.add(`${t.prefix}${a}`), this.callback(\"onChange\")) : console.error(`Not a valid theme value: \"${a}\"`);\n }\n };\n return r.callback(\"onInit\"), r;\n}\nexport {\n et as Collection,\n z as CollectionEntry,\n U as FocusTrap,\n O as FocusableArray,\n H as PluginsArray,\n W as StackArray,\n R as cssVar,\n Z as debug,\n h as dispatchLifecycleHook,\n L as eventEmitter,\n _ as focusTrap,\n k as focusableSelectors,\n M as getCustomProps,\n C as getDataConfig,\n E as getElement,\n y as getPrefix,\n A as getSetting,\n w as localStore,\n g as maybeRunMethod,\n X as mediaQuery,\n Y as propStore,\n G as setGlobalState,\n tt as teleport,\n x as teleportElement,\n nt as themeStore,\n v as toCamel,\n $ as toKebab,\n S as toMilliseconds,\n J as transition\n};\n//# sourceMappingURL=index.js.map\n","function b(t, e = \"config\") {\n const s = (t.getAttribute(`data-${e}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction p(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function r(t, e, ...s) {\n e in t && typeof t[e] == \"function\" && await t[e](...s);\n}\nfunction C(t) {\n return t.split(\"-\").map(\n (e, s) => s === 0 ? e : e.charAt(0).toUpperCase() + e.slice(1)\n ).join(\"\");\n}\nfunction m(t) {\n return t.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction L(t) {\n if (typeof t == \"number\")\n return t;\n const e = parseFloat(t);\n if (!Number.isNaN(e)) {\n const s = t.includes(\"ms\");\n return e * (s ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${t}`);\n}\nfunction w(t, e, s, i, n = 0) {\n return new Promise((a) => {\n t.classList.remove(e), t.classList.add(s), setTimeout(() => {\n t.classList.add(i), t.classList.remove(s), a(t);\n }, L(n));\n });\n}\nasync function o(t, e, s) {\n await r(e, t, s), s && await r(s, t);\n for (const i of e.plugins)\n await r(i, t, { plugin: i, parent: e, entry: s });\n await e.emit(t, s);\n}\nfunction O(t) {\n const e = getComputedStyle(t.el), s = {}, i = t.getSetting(\"customProps\");\n for (let n = 0; n < i.length; n++) {\n const a = M(), c = t.parent.module.toLowerCase(), h = m(i[n]), f = e.getPropertyValue(`--${a}${c}-${h}`).trim();\n f && (s[h] = f);\n }\n return s;\n}\nfunction M() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction $(t, e, s = \"camel\") {\n return e = s === \"camel\" ? C(e) : m(e), t.split(\".\").concat(e).reduce((i, n) => i?.[n], this);\n}\nfunction P(t, e = {}) {\n const {\n fallback: s,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = e;\n for (const n of i) {\n const a = n !== \"customProps\" ? \"camel\" : \"kebab\", c = $.call(this, n, t, a);\n if (c !== void 0)\n return c;\n }\n if (s !== void 0)\n return s;\n throw new Error(`${this.parent.module} setting does not exist: ${t}`);\n}\nfunction x(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction A(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? (s.inert = !0, s.setAttribute(\"aria-hidden\", \"true\")) : (s.inert = !1, s.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction d(t, e, s) {\n A(!!t, e), x(!!t, s);\n}\nconst D = {\n events: {},\n on(t, e, ...s) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (i) => i.listener === e\n ) || this.events[t].push({ listener: e, args: s });\n },\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (s) => s.listener !== e\n ));\n },\n async emit(t, e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: s, args: i } of this.events[t])\n await s(e, ...i);\n }\n};\nclass y extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n applySettings(e) {\n const s = e?.defaults || {}, i = this.presets?.[e.name] || {}, n = e?.options || {};\n e.settings = { ...s, ...i, ...n };\n }\n validate(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((s) => s.name === e);\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((s) => this.add(s));\n else if (this.applySettings(e), this.validate(e)) {\n const s = this.findIndex((i) => i.name === e.name);\n ~s ? this[s] = e : this.push(e);\n }\n }\n remove(e) {\n const s = this.findIndex((i) => i.name === e);\n ~s && this.splice(s, 1);\n }\n}\nconst I = {\n dataConfig: \"config\",\n customProps: []\n};\nclass S {\n constructor(e, s, i = {}) {\n this.parent = e, this.el = p(s), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n getSetting(e, s) {\n return P.call(this, e, s);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n b(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, O(this));\n }\n async init(e = {}) {\n this.applySettings(e), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((e) => {\n delete this[e];\n });\n }\n}\nclass T {\n constructor(e = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = S, this.settings = { ...I, ...e }, this.plugins = new y(this.settings.presets), this.events = {}, Object.assign(this, D);\n }\n get(e, s = \"id\") {\n return this.collection.find((i) => i[s] === e);\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n async createEntry(e, s) {\n const i = new this.entryClass(this, e, s);\n return await r(i, \"init\"), await o(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(e) {\n return await o(\"onDestroyEntry\", this, e), await r(e, \"destroy\"), e;\n }\n async register(e, s = {}) {\n const i = p(e), n = this.collection.findIndex((a) => a.id === i.id);\n if (~n) {\n const a = this.collection[n];\n return a.el = i, typeof a.init == \"function\" && await a.init(s), a;\n } else {\n const a = await this.createEntry(i, s);\n return this.collection.push(a), await o(\"onRegisterEntry\", this, a), a;\n }\n }\n async deregister(e) {\n const s = this.collection.findIndex((i) => i.id === e);\n if (~s) {\n const i = await this.destroyEntry(this.collection[s]);\n return await o(\n \"onDeregisterEntry\",\n this,\n this.collection[s]\n ), this.collection.splice(s, 1), i;\n }\n return null;\n }\n async mount(e = {}) {\n this.applySettings(e);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await r(i, \"setup\", { plugin: i, parent: this });\n await o(\"beforeMount\", this);\n const s = document.querySelectorAll(this.settings.selector);\n for (const i of s)\n await this.register(i);\n return await o(\"afterMount\", this), this;\n }\n async unmount() {\n for (await o(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await o(\"afterUnmount\", this);\n for (const e of this.plugins)\n await r(e, \"teardown\", { plugin: e, parent: this });\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nconst k = {\n focusTrap: {\n condition: ({ entry: t }) => t.state === \"closed\" || t.state === \"opened\" && t.mode === \"modal\"\n },\n mediaQuery: {\n onChange(t, e) {\n e.mode = t.matches ? \"inline\" : \"modal\";\n }\n },\n propStore: {\n prop: \"inlineState\",\n value: ({ entry: t }) => t.store,\n condition: ({ entry: t }) => [\"opened\", \"closed\", \"indeterminate\"].includes(t.state),\n onChange: ({ entry: t }) => t.applyState()\n }\n}, j = {\n presets: k,\n dataOpen: \"drawer-open\",\n dataClose: \"drawer-close\",\n dataToggle: \"drawer-toggle\",\n selector: \".drawer\",\n selectorDialog: \".drawer__dialog\",\n selectorScreen: \".drawer\",\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n classModal: \"drawer_modal\",\n customProps: [\"transition-duration\"],\n breakpoints: null,\n customEventPrefix: \"drawer:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction q(t) {\n switch (t.mode) {\n case \"inline\":\n return H(t);\n case \"modal\":\n return N(t);\n default:\n throw new Error(`\"${t.mode}\" is not a valid drawer mode.`);\n }\n}\nasync function H(t) {\n return t.el.classList.remove(t.getSetting(\"classModal\")), t.dialog.removeAttribute(\"aria-modal\"), d(\n !1,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), t.applyState(), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nasync function N(t) {\n return t.el.classList.add(t.getSetting(\"classModal\")), t.dialog.setAttribute(\"aria-modal\", \"true\"), await t.close(!1, !1), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nfunction v(t) {\n t.dialog && t.state === \"opened\" ? (t.dialog.querySelector(t.parent.settings.selectorFocus) || t.dialog).focus() : t.trigger && (t.trigger.focus(), t.trigger = null);\n}\nasync function u(t, e, s = !0) {\n return (t.state === \"closed\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"opening\"), e ?? t.getSetting(\"transition\") ? await w(\n t.el,\n t.getSetting(\"stateClosed\"),\n t.getSetting(\"stateOpening\"),\n t.getSetting(\"stateOpened\"),\n t.getSetting(\"transitionDuration\")\n ) : (t.el.classList.add(t.getSetting(\"stateOpened\")), t.el.classList.remove(t.getSetting(\"stateClosed\"))), t.setState(\"opened\"), t.mode === \"modal\" && d(\n !0,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), s && v(t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t)), t;\n}\nasync function g(t, e, s = !0) {\n return (t.state === \"opened\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"closing\"), document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), e ?? t.getSetting(\"transition\") ? await w(\n t.el,\n t.getSetting(\"stateOpened\"),\n t.getSetting(\"stateClosing\"),\n t.getSetting(\"stateClosed\"),\n t.getSetting(\"transitionDuration\")\n ) : (t.el.classList.add(t.getSetting(\"stateClosed\")), t.el.classList.remove(t.getSetting(\"stateOpened\"))), t.setState(\"closed\"), t.mode === \"modal\" && d(\n !1,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), s && v(t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function E(t, e, s) {\n return t.state === \"closed\" ? u(t, e, s) : g(t, e, s);\n}\nclass F extends S {\n #t;\n constructor(e, s, i = {}) {\n super(e, s, i), this.#t = \"indeterminate\", this.dialog = this.el.querySelector(this.getSetting(\"selectorDialog\")) || this.el, this.trigger = null, this.state = null, this.inlineState = null;\n }\n get mode() {\n return this.#t;\n }\n set mode(e) {\n this.#t !== e && (this.#t = e, q(this));\n }\n setState(e) {\n this.state = e;\n const s = [\"opening\", \"closing\"];\n this.mode === \"inline\" && !s.includes(e) && (this.inlineState = e), e === \"indeterminate\" && (this.el.classList.remove(this.getSetting(\"stateOpened\")), this.el.classList.remove(this.getSetting(\"stateOpening\")), this.el.classList.remove(this.getSetting(\"stateClosed\")), this.el.classList.remove(this.getSetting(\"stateClosing\")));\n }\n async applyState() {\n if (this.mode === \"modal\") return this;\n if (this.inlineState === \"opened\")\n return await this.open(!1, !1);\n if (this.inlineState === \"closed\")\n return await this.close(!1, !1);\n if (this.state === null) {\n if (this.el.classList.contains(this.getSetting(\"stateOpened\")))\n return await this.open(!1, !1);\n if (this.el.classList.contains(this.getSetting(\"stateClosed\")))\n return await this.close(!1, !1);\n }\n return this.setState(\"indeterminate\"), this;\n }\n async open(e, s) {\n return u(this, e, s);\n }\n async close(e, s) {\n return g(this, e, s);\n }\n async toggle(e, s) {\n return E(this, e, s);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n async onCreateEntry() {\n this.getSetting(\"setTabindex\") && this.dialog && this.dialog.setAttribute(\"tabindex\", \"-1\"), await this.applyState(), this.inlineState = this.state, this.mode = this.el && this.el.classList.contains(this.getSetting(\"classModal\")) ? \"modal\" : \"inline\";\n }\n async onDestroyEntry() {\n this.mode === \"modal\" && this.state === \"opened\" && await this.close(!1);\n }\n}\nfunction l(t) {\n const e = this.get(t);\n if (e)\n return e;\n throw new Error(`Drawer not found in collection with id of \"${t}\"`);\n}\nasync function U(t) {\n const e = t.target;\n if (e) {\n const s = e.closest(`\n [data-${this.settings.dataOpen}],\n [data-${this.settings.dataToggle}],\n [data-${this.settings.dataClose}]\n `);\n if (s) {\n t.preventDefault(), s.matches(`[data-${this.settings.dataToggle}]`) && s.getAttribute(`data-${this.settings.dataToggle}`)?.trim().split(\" \")?.forEach((n) => {\n const a = l.call(this, n);\n return a.trigger = s, a.toggle();\n }), s.matches(`[data-${this.settings.dataOpen}]`) && s.getAttribute(`data-${this.settings.dataOpen}`)?.trim().split(\" \")?.forEach((n) => {\n const a = l.call(this, n);\n return a.trigger = s, a.open();\n }), s.matches(`[data-${this.settings.dataClose}]`) && s.getAttribute(`data-${this.settings.dataClose}`)?.trim().split(\" \")?.forEach((n) => {\n if (n) {\n const a = l.call(this, n);\n return a.trigger = s, a.close();\n } else {\n const a = e.closest(this.settings.selector);\n if (a) return this.close(a.id);\n }\n });\n return;\n }\n if (this.activeModal && e.matches(this.settings.selectorScreen))\n return this.close(this.activeModal.id);\n }\n}\nfunction _(t) {\n if (t.key === \"Escape\" && this.activeModal)\n return this.close(this.activeModal.id);\n}\nclass z extends T {\n #t;\n #e;\n constructor(e) {\n super({ ...j, ...e }), this.module = \"Drawer\", this.entryClass = F, this.#t = U.bind(this), this.#e = _.bind(this);\n }\n get activeModal() {\n return this.collection.find((e) => e.state === \"opened\" && e.mode === \"modal\");\n }\n async open(e, s, i) {\n const n = l.call(this, e);\n return u(n, s, i);\n }\n async close(e, s, i) {\n const n = l.call(this, e);\n return g(n, s, i);\n }\n async toggle(e, s, i) {\n const n = l.call(this, e);\n return E(n, s, i);\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n z as default\n};\n//# sourceMappingURL=index.js.map\n","function C(e, t = \"config\") {\n const s = (e.getAttribute(`data-${t}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction p(e) {\n if (typeof e == \"string\") {\n const t = document.getElementById(e);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${e}\"`);\n } else if (e instanceof HTMLElement) {\n if (!e.id)\n throw new Error(\"HTMLElement must have an ID\");\n return e;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function r(e, t, ...s) {\n t in e && typeof e[t] == \"function\" && await e[t](...s);\n}\nfunction S(e) {\n return e.split(\"-\").map(\n (t, s) => s === 0 ? t : t.charAt(0).toUpperCase() + t.slice(1)\n ).join(\"\");\n}\nfunction m(e) {\n return e.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction E(e) {\n if (typeof e == \"number\")\n return e;\n const t = parseFloat(e);\n if (!Number.isNaN(t)) {\n const s = e.includes(\"ms\");\n return t * (s ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${e}`);\n}\nfunction w(e, t, s, i, n = 0) {\n return new Promise((o) => {\n e.classList.remove(t), e.classList.add(s), setTimeout(() => {\n e.classList.add(i), e.classList.remove(s), o(e);\n }, E(n));\n });\n}\nasync function a(e, t, s) {\n await r(t, e, s), s && await r(s, e);\n for (const i of t.plugins)\n await r(i, e, { plugin: i, parent: t, entry: s });\n await t.emit(e, s);\n}\nfunction b(e) {\n const t = getComputedStyle(e.el), s = {}, i = e.getSetting(\"customProps\");\n for (let n = 0; n < i.length; n++) {\n const o = A(), c = e.parent.module.toLowerCase(), g = m(i[n]), f = t.getPropertyValue(`--${o}${c}-${g}`).trim();\n f && (s[g] = f);\n }\n return s;\n}\nfunction A() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction x(e, t, s = \"camel\") {\n return t = s === \"camel\" ? S(t) : m(t), e.split(\".\").concat(t).reduce((i, n) => i?.[n], this);\n}\nfunction L(e, t = {}) {\n const {\n fallback: s,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = t;\n for (const n of i) {\n const o = n !== \"customProps\" ? \"camel\" : \"kebab\", c = x.call(this, n, e, o);\n if (c !== void 0)\n return c;\n }\n if (s !== void 0)\n return s;\n throw new Error(`${this.parent.module} setting does not exist: ${e}`);\n}\nfunction O(e, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n e ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction P(e, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n e ? (s.inert = !0, s.setAttribute(\"aria-hidden\", \"true\")) : (s.inert = !1, s.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction $(e, t, s) {\n P(!!e, t), O(!!e, s);\n}\nconst I = {\n events: {},\n on(e, t, ...s) {\n this.events[e] || (this.events[e] = []), this.events[e].some(\n (i) => i.listener === t\n ) || this.events[e].push({ listener: t, args: s });\n },\n off(e, t) {\n this.events[e] && (this.events[e] = this.events[e].filter(\n (s) => s.listener !== t\n ));\n },\n async emit(e, t) {\n if (e = e.startsWith(\"on\") ? e.slice(2, 3).toLowerCase() + e.slice(3) : e, !!this.events[e])\n for (const { listener: s, args: i } of this.events[e])\n await s(t, ...i);\n }\n};\nclass M extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n applySettings(t) {\n const s = t?.defaults || {}, i = this.presets?.[t.name] || {}, n = t?.options || {};\n t.settings = { ...s, ...i, ...n };\n }\n validate(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((s) => s.name === t);\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((s) => this.add(s));\n else if (this.applySettings(t), this.validate(t)) {\n const s = this.findIndex((i) => i.name === t.name);\n ~s ? this[s] = t : this.push(t);\n }\n }\n remove(t) {\n const s = this.findIndex((i) => i.name === t);\n ~s && this.splice(s, 1);\n }\n}\nclass k extends Array {\n constructor(t = {}) {\n super(), this.settings = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n return this[this.length - 1] || null;\n }\n updateIndex() {\n this.forEach((t, s) => {\n t.el.style.zIndex = \"\";\n const i = getComputedStyle(t.el)[\"z-index\"];\n t.el.style.zIndex = String(parseInt(i, 10) + s + 1);\n });\n }\n onChange() {\n this.updateIndex(), typeof this.settings.onChange == \"function\" && this.settings.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const s = this.findIndex((i) => i.id === t.id);\n ~s && (t.el.style.zIndex = \"\", this.splice(s, 1), this.onChange());\n }\n moveToTop(t) {\n const s = this.findIndex((i) => i.id === t.id);\n ~s && (this.splice(s, 1), this.add(t));\n }\n}\nconst D = {\n dataConfig: \"config\",\n customProps: []\n};\nclass v {\n constructor(t, s, i = {}) {\n this.parent = t, this.el = p(s), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n getSetting(t, s) {\n return L.call(this, t, s);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n C(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, b(this));\n }\n async init(t = {}) {\n this.applySettings(t), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((t) => {\n delete this[t];\n });\n }\n}\nclass q {\n constructor(t = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = v, this.settings = { ...D, ...t }, this.plugins = new M(this.settings.presets), this.events = {}, Object.assign(this, I);\n }\n get(t, s = \"id\") {\n return this.collection.find((i) => i[s] === t);\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n async createEntry(t, s) {\n const i = new this.entryClass(this, t, s);\n return await r(i, \"init\"), await a(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(t) {\n return await a(\"onDestroyEntry\", this, t), await r(t, \"destroy\"), t;\n }\n async register(t, s = {}) {\n const i = p(t), n = this.collection.findIndex((o) => o.id === i.id);\n if (~n) {\n const o = this.collection[n];\n return o.el = i, typeof o.init == \"function\" && await o.init(s), o;\n } else {\n const o = await this.createEntry(i, s);\n return this.collection.push(o), await a(\"onRegisterEntry\", this, o), o;\n }\n }\n async deregister(t) {\n const s = this.collection.findIndex((i) => i.id === t);\n if (~s) {\n const i = await this.destroyEntry(this.collection[s]);\n return await a(\n \"onDeregisterEntry\",\n this,\n this.collection[s]\n ), this.collection.splice(s, 1), i;\n }\n return null;\n }\n async mount(t = {}) {\n this.applySettings(t);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await r(i, \"setup\", { plugin: i, parent: this });\n await a(\"beforeMount\", this);\n const s = document.querySelectorAll(this.settings.selector);\n for (const i of s)\n await this.register(i);\n return await a(\"afterMount\", this), this;\n }\n async unmount() {\n for (await a(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await a(\"afterUnmount\", this);\n for (const t of this.plugins)\n await r(t, \"teardown\", { plugin: t, parent: this });\n for (const t of [...this.plugins])\n this.plugins.remove(t.name);\n return this;\n }\n}\nconst T = {\n // Data attributes\n dataOpen: \"modal-open\",\n dataClose: \"modal-close\",\n dataReplace: \"modal-replace\",\n // Selectors\n selector: \".modal\",\n selectorDialog: \".modal__dialog\",\n selectorScreen: \".modal\",\n selectorRequired: '[role=\"alertdialog\"]',\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n // State classes\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n // Feature settings\n customProps: [\"transition-duration\"],\n customEventPrefix: \"modal:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction d(e) {\n e.active ? (e.active.dialog.querySelector(e.settings.selectorFocus) || e.active.dialog).focus() : e.trigger && (e.trigger.focus(), e.trigger = null);\n}\nasync function u(e, t, s = !0) {\n return e.parent.stack.moveToTop(e), e.state === \"closed\" && (e.state = \"opening\", e.parent.stack.add(e), t ?? e.getSetting(\"transition\") ? await w(\n e.el,\n e.getSetting(\"stateClosed\"),\n e.getSetting(\"stateOpening\"),\n e.getSetting(\"stateOpened\"),\n e.getSetting(\"transitionDuration\")\n ) : (e.el.classList.add(e.getSetting(\"stateOpened\")), e.el.classList.remove(e.getSetting(\"stateClosed\"))), e.state = \"opened\"), s && d(e.parent), e.el.dispatchEvent(\n new CustomEvent(e.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: e.parent,\n bubbles: !0\n })\n ), await e.parent.emit(\"opened\", e), e;\n}\nasync function h(e, t, s = !0) {\n return e && e.state === \"opened\" && (e.state = \"closing\", document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), t ?? e.getSetting(\"transition\") ? await w(\n e.el,\n e.getSetting(\"stateOpened\"),\n e.getSetting(\"stateClosing\"),\n e.getSetting(\"stateClosed\"),\n e.getSetting(\"transitionDuration\")\n ) : (e.el.classList.add(e.getSetting(\"stateClosed\")), e.el.classList.remove(e.getSetting(\"stateOpened\"))), e.parent.stack.remove(e), e.state = \"closed\", s && d(e.parent), e.el.dispatchEvent(\n new CustomEvent(e.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: e.parent,\n bubbles: !0\n })\n ), await e.parent.emit(\"closed\", e)), e;\n}\nasync function y(e, t, s = !0) {\n let i, n;\n return e.state === \"opened\" ? (i = e, n = await e.parent.closeAll(e.id, t)) : [n, i] = await Promise.all([\n e.parent.closeAll(\"\", t),\n u(e, t, !1)\n ]), s && d(e.parent), { opened: i, closed: n };\n}\nclass R extends v {\n constructor(t, s, i = {}) {\n super(t, s, i), this.state = \"closed\", this.dialog = this.el.querySelector(this.getSetting(\"selectorDialog\")) || this.el;\n }\n get isRequired() {\n return this.dialog.matches(this.getSetting(\"selectorRequired\"));\n }\n async open(t, s) {\n return u(this, t, s);\n }\n async close(t, s) {\n return h(this, t, s);\n }\n async replace(t, s) {\n return y(this, t, s);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n async onCreateEntry() {\n this.dialog.setAttribute(\"aria-modal\", \"true\"), this.dialog.hasAttribute(\"role\") || this.dialog.setAttribute(\"role\", \"dialog\"), this.getSetting(\"setTabindex\") && this.dialog.setAttribute(\"tabindex\", \"-1\");\n }\n async onRegisterEntry() {\n this.el.classList.contains(this.getSetting(\"stateOpened\")) ? await this.open(!1) : (this.el.classList.remove(this.getSetting(\"stateOpening\")), this.el.classList.remove(this.getSetting(\"stateClosing\")), this.el.classList.add(this.getSetting(\"stateClosed\")));\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(!1);\n }\n}\nfunction l(e) {\n const t = this.get(e);\n if (t)\n return t;\n throw new Error(`Modal not found in collection with id of \"${e}\".`);\n}\nasync function j(e) {\n const t = e.target;\n if (t) {\n const s = t.closest(`\n [data-${this.settings.dataOpen}],\n [data-${this.settings.dataReplace}],\n [data-${this.settings.dataClose}]\n `);\n if (s) {\n if (e.preventDefault(), s.matches(`[data-${this.settings.dataOpen}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataOpen}`)?.trim(), n = l.call(this, i);\n return t.closest(this.settings.selector) || (this.trigger = s), n.open();\n }\n if (s.matches(`[data-${this.settings.dataReplace}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataReplace}`)?.trim(), n = l.call(this, i);\n return t.closest(this.settings.selector) || (this.trigger = s), n.replace();\n }\n if (s.matches(`[data-${this.settings.dataClose}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataClose}`)?.trim();\n return i === \"*\" ? this.closeAll() : this.close(i || \"\");\n }\n }\n if (this.active && t.matches(this.settings.selectorScreen) && !this.active.isRequired)\n return this.close();\n }\n}\nfunction z(e) {\n if (e.key === \"Escape\" && this.active && !this.active.dialog.matches(this.settings.selectorRequired))\n return this.close();\n}\nasync function H(e = \"\", t) {\n const s = [];\n return await Promise.all(\n this.stack.copy.map(async (i) => {\n e && e === i.id || s.push(await h(i, t, !1));\n })\n ), s;\n}\nclass N extends q {\n #t;\n #e;\n constructor(t) {\n super({ ...T, ...t }), this.module = \"Modal\", this.entryClass = R, this.trigger = null, this.#t = j.bind(this), this.#e = z.bind(this), this.stack = new k({\n onChange: () => {\n $(\n !!this.stack.top,\n this.settings.selectorInert,\n this.settings.selectorOverflow\n );\n }\n });\n }\n get active() {\n return this.stack.top;\n }\n async open(t, s, i) {\n const n = l.call(this, t);\n return u(n, s, i);\n }\n async close(t, s, i) {\n const n = t ? l.call(this, t) : this.active;\n return h(n, s, i);\n }\n async replace(t, s, i) {\n const n = l.call(this, t);\n return y(n, s, i);\n }\n async closeAll(t, s, i = !0) {\n const n = await H.call(this, t, s);\n return i && d(this), n;\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n N as default\n};\n//# sourceMappingURL=index.js.map\n","function Jt(t, e = \"config\") {\n const n = (t.getAttribute(`data-${e}`) || \"\").replace(/'/g, '\"');\n return n ? JSON.parse(n) : {};\n}\nfunction Rt(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function z(t, e, ...n) {\n e in t && typeof t[e] == \"function\" && await t[e](...n);\n}\nfunction Zt(t) {\n return t.split(\"-\").map(\n (e, n) => n === 0 ? e : e.charAt(0).toUpperCase() + e.slice(1)\n ).join(\"\");\n}\nfunction kt(t) {\n return t.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nasync function H(t, e, n) {\n await z(e, t, n), n && await z(n, t);\n for (const i of e.plugins)\n await z(i, t, { plugin: i, parent: e, entry: n });\n await e.emit(t, n);\n}\nfunction Gt(t) {\n const e = getComputedStyle(t.el), n = {}, i = t.getSetting(\"customProps\");\n for (let s = 0; s < i.length; s++) {\n const o = Qt(), r = t.parent.module.toLowerCase(), c = kt(i[s]), l = e.getPropertyValue(`--${o}${r}-${c}`).trim();\n l && (n[c] = l);\n }\n return n;\n}\nfunction Qt() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction te(t, e, n = \"camel\") {\n return e = n === \"camel\" ? Zt(e) : kt(e), t.split(\".\").concat(e).reduce((i, s) => i?.[s], this);\n}\nfunction ee(t, e = {}) {\n const {\n fallback: n,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = e;\n for (const s of i) {\n const o = s !== \"customProps\" ? \"camel\" : \"kebab\", r = te.call(this, s, t, o);\n if (r !== void 0)\n return r;\n }\n if (n !== void 0)\n return n;\n throw new Error(`${this.parent.module} setting does not exist: ${t}`);\n}\nconst ne = {\n events: {},\n on(t, e, ...n) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (i) => i.listener === e\n ) || this.events[t].push({ listener: e, args: n });\n },\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (n) => n.listener !== e\n ));\n },\n async emit(t, e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: n, args: i } of this.events[t])\n await n(e, ...i);\n }\n};\nclass ie extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n applySettings(e) {\n const n = e?.defaults || {}, i = this.presets?.[e.name] || {}, s = e?.options || {};\n e.settings = { ...n, ...i, ...s };\n }\n validate(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((n) => n.name === e);\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((n) => this.add(n));\n else if (this.applySettings(e), this.validate(e)) {\n const n = this.findIndex((i) => i.name === e.name);\n ~n ? this[n] = e : this.push(e);\n }\n }\n remove(e) {\n const n = this.findIndex((i) => i.name === e);\n ~n && this.splice(n, 1);\n }\n}\nconst se = {\n dataConfig: \"config\",\n customProps: []\n};\nclass Dt {\n constructor(e, n, i = {}) {\n this.parent = e, this.el = Rt(n), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n getSetting(e, n) {\n return ee.call(this, e, n);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n Jt(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, Gt(this));\n }\n async init(e = {}) {\n this.applySettings(e), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((e) => {\n delete this[e];\n });\n }\n}\nclass oe {\n constructor(e = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = Dt, this.settings = { ...se, ...e }, this.plugins = new ie(this.settings.presets), this.events = {}, Object.assign(this, ne);\n }\n get(e, n = \"id\") {\n return this.collection.find((i) => i[n] === e);\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n async createEntry(e, n) {\n const i = new this.entryClass(this, e, n);\n return await z(i, \"init\"), await H(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(e) {\n return await H(\"onDestroyEntry\", this, e), await z(e, \"destroy\"), e;\n }\n async register(e, n = {}) {\n const i = Rt(e), s = this.collection.findIndex((o) => o.id === i.id);\n if (~s) {\n const o = this.collection[s];\n return o.el = i, typeof o.init == \"function\" && await o.init(n), o;\n } else {\n const o = await this.createEntry(i, n);\n return this.collection.push(o), await H(\"onRegisterEntry\", this, o), o;\n }\n }\n async deregister(e) {\n const n = this.collection.findIndex((i) => i.id === e);\n if (~n) {\n const i = await this.destroyEntry(this.collection[n]);\n return await H(\n \"onDeregisterEntry\",\n this,\n this.collection[n]\n ), this.collection.splice(n, 1), i;\n }\n return null;\n }\n async mount(e = {}) {\n this.applySettings(e);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await z(i, \"setup\", { plugin: i, parent: this });\n await H(\"beforeMount\", this);\n const n = document.querySelectorAll(this.settings.selector);\n for (const i of n)\n await this.register(i);\n return await H(\"afterMount\", this), this;\n }\n async unmount() {\n for (await H(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await H(\"afterUnmount\", this);\n for (const e of this.plugins)\n await z(e, \"teardown\", { plugin: e, parent: this });\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nconst re = {\n // Selectors\n selector: \".popover\",\n selectorTooltip: \".popover_tooltip\",\n selectorArrow: \".popover__arrow\",\n // State classes\n stateActive: \"is-active\",\n // Custom properties and their defaults\n customProps: [\n \"placement\",\n \"event\",\n \"offset\",\n \"flip-padding\",\n \"shift-padding\",\n \"arrow-padding\",\n \"toggle-delay\"\n ],\n customEventPrefix: \"popover:\",\n placement: \"bottom\",\n event: \"click\",\n offset: 0,\n flipPadding: 0,\n shiftPadding: 0,\n arrowPadding: 0,\n toggleDelay: 0\n}, K = Math.min, j = Math.max, st = Math.round, it = Math.floor, R = (t) => ({\n x: t,\n y: t\n}), ce = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n}, le = {\n start: \"end\",\n end: \"start\"\n};\nfunction dt(t, e, n) {\n return j(t, K(e, n));\n}\nfunction q(t, e) {\n return typeof t == \"function\" ? t(e) : t;\n}\nfunction I(t) {\n return t.split(\"-\")[0];\n}\nfunction et(t) {\n return t.split(\"-\")[1];\n}\nfunction mt(t) {\n return t === \"x\" ? \"y\" : \"x\";\n}\nfunction pt(t) {\n return t === \"y\" ? \"height\" : \"width\";\n}\nconst ae = /* @__PURE__ */ new Set([\"top\", \"bottom\"]);\nfunction N(t) {\n return ae.has(I(t)) ? \"y\" : \"x\";\n}\nfunction wt(t) {\n return mt(N(t));\n}\nfunction fe(t, e, n) {\n n === void 0 && (n = !1);\n const i = et(t), s = wt(t), o = pt(s);\n let r = s === \"x\" ? i === (n ? \"end\" : \"start\") ? \"right\" : \"left\" : i === \"start\" ? \"bottom\" : \"top\";\n return e.reference[o] > e.floating[o] && (r = ot(r)), [r, ot(r)];\n}\nfunction ue(t) {\n const e = ot(t);\n return [gt(t), e, gt(e)];\n}\nfunction gt(t) {\n return t.replace(/start|end/g, (e) => le[e]);\n}\nconst At = [\"left\", \"right\"], Et = [\"right\", \"left\"], de = [\"top\", \"bottom\"], ge = [\"bottom\", \"top\"];\nfunction he(t, e, n) {\n switch (t) {\n case \"top\":\n case \"bottom\":\n return n ? e ? Et : At : e ? At : Et;\n case \"left\":\n case \"right\":\n return e ? de : ge;\n default:\n return [];\n }\n}\nfunction me(t, e, n, i) {\n const s = et(t);\n let o = he(I(t), n === \"start\", i);\n return s && (o = o.map((r) => r + \"-\" + s), e && (o = o.concat(o.map(gt)))), o;\n}\nfunction ot(t) {\n return t.replace(/left|right|bottom|top/g, (e) => ce[e]);\n}\nfunction pe(t) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...t\n };\n}\nfunction Mt(t) {\n return typeof t != \"number\" ? pe(t) : {\n top: t,\n right: t,\n bottom: t,\n left: t\n };\n}\nfunction rt(t) {\n const {\n x: e,\n y: n,\n width: i,\n height: s\n } = t;\n return {\n width: i,\n height: s,\n top: n,\n left: e,\n right: e + i,\n bottom: n + s,\n x: e,\n y: n\n };\n}\nfunction Ct(t, e, n) {\n let {\n reference: i,\n floating: s\n } = t;\n const o = N(e), r = wt(e), c = pt(r), l = I(e), a = o === \"y\", d = i.x + i.width / 2 - s.width / 2, u = i.y + i.height / 2 - s.height / 2, g = i[c] / 2 - s[c] / 2;\n let f;\n switch (l) {\n case \"top\":\n f = {\n x: d,\n y: i.y - s.height\n };\n break;\n case \"bottom\":\n f = {\n x: d,\n y: i.y + i.height\n };\n break;\n case \"right\":\n f = {\n x: i.x + i.width,\n y: u\n };\n break;\n case \"left\":\n f = {\n x: i.x - s.width,\n y: u\n };\n break;\n default:\n f = {\n x: i.x,\n y: i.y\n };\n }\n switch (et(e)) {\n case \"start\":\n f[r] -= g * (n && a ? -1 : 1);\n break;\n case \"end\":\n f[r] += g * (n && a ? -1 : 1);\n break;\n }\n return f;\n}\nconst we = async (t, e, n) => {\n const {\n placement: i = \"bottom\",\n strategy: s = \"absolute\",\n middleware: o = [],\n platform: r\n } = n, c = o.filter(Boolean), l = await (r.isRTL == null ? void 0 : r.isRTL(e));\n let a = await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }), {\n x: d,\n y: u\n } = Ct(a, i, l), g = i, f = {}, h = 0;\n for (let m = 0; m < c.length; m++) {\n const {\n name: p,\n fn: w\n } = c[m], {\n x: y,\n y: x,\n data: b,\n reset: v\n } = await w({\n x: d,\n y: u,\n initialPlacement: i,\n placement: g,\n strategy: s,\n middlewareData: f,\n rects: a,\n platform: r,\n elements: {\n reference: t,\n floating: e\n }\n });\n d = y ?? d, u = x ?? u, f = {\n ...f,\n [p]: {\n ...f[p],\n ...b\n }\n }, v && h <= 50 && (h++, typeof v == \"object\" && (v.placement && (g = v.placement), v.rects && (a = v.rects === !0 ? await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }) : v.rects), {\n x: d,\n y: u\n } = Ct(a, g, l)), m = -1);\n }\n return {\n x: d,\n y: u,\n placement: g,\n strategy: s,\n middlewareData: f\n };\n};\nasync function $t(t, e) {\n var n;\n e === void 0 && (e = {});\n const {\n x: i,\n y: s,\n platform: o,\n rects: r,\n elements: c,\n strategy: l\n } = t, {\n boundary: a = \"clippingAncestors\",\n rootBoundary: d = \"viewport\",\n elementContext: u = \"floating\",\n altBoundary: g = !1,\n padding: f = 0\n } = q(e, t), h = Mt(f), p = c[g ? u === \"floating\" ? \"reference\" : \"floating\" : u], w = rt(await o.getClippingRect({\n element: (n = await (o.isElement == null ? void 0 : o.isElement(p))) == null || n ? p : p.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(c.floating)),\n boundary: a,\n rootBoundary: d,\n strategy: l\n })), y = u === \"floating\" ? {\n x: i,\n y: s,\n width: r.floating.width,\n height: r.floating.height\n } : r.reference, x = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(c.floating)), b = await (o.isElement == null ? void 0 : o.isElement(x)) ? await (o.getScale == null ? void 0 : o.getScale(x)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n }, v = rt(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements: c,\n rect: y,\n offsetParent: x,\n strategy: l\n }) : y);\n return {\n top: (w.top - v.top + h.top) / b.y,\n bottom: (v.bottom - w.bottom + h.bottom) / b.y,\n left: (w.left - v.left + h.left) / b.x,\n right: (v.right - w.right + h.right) / b.x\n };\n}\nconst ye = (t) => ({\n name: \"arrow\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n platform: r,\n elements: c,\n middlewareData: l\n } = e, {\n element: a,\n padding: d = 0\n } = q(t, e) || {};\n if (a == null)\n return {};\n const u = Mt(d), g = {\n x: n,\n y: i\n }, f = wt(s), h = pt(f), m = await r.getDimensions(a), p = f === \"y\", w = p ? \"top\" : \"left\", y = p ? \"bottom\" : \"right\", x = p ? \"clientHeight\" : \"clientWidth\", b = o.reference[h] + o.reference[f] - g[f] - o.floating[h], v = g[f] - o.reference[f], C = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(a));\n let S = C ? C[x] : 0;\n (!S || !await (r.isElement == null ? void 0 : r.isElement(C))) && (S = c.floating[x] || o.floating[h]);\n const Z = b / 2 - v / 2, B = S / 2 - m[h] / 2 - 1, M = K(u[w], B), G = K(u[y], B), W = M, Q = S - m[h] - G, A = S / 2 - m[h] / 2 + Z, _ = dt(W, A, Q), $ = !l.arrow && et(s) != null && A !== _ && o.reference[h] / 2 - (A < W ? M : G) - m[h] / 2 < 0, L = $ ? A < W ? A - W : A - Q : 0;\n return {\n [f]: g[f] + L,\n data: {\n [f]: _,\n centerOffset: A - _ - L,\n ...$ && {\n alignmentOffset: L\n }\n },\n reset: $\n };\n }\n}), xe = function(t) {\n return t === void 0 && (t = {}), {\n name: \"flip\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n placement: s,\n middlewareData: o,\n rects: r,\n initialPlacement: c,\n platform: l,\n elements: a\n } = e, {\n mainAxis: d = !0,\n crossAxis: u = !0,\n fallbackPlacements: g,\n fallbackStrategy: f = \"bestFit\",\n fallbackAxisSideDirection: h = \"none\",\n flipAlignment: m = !0,\n ...p\n } = q(t, e);\n if ((n = o.arrow) != null && n.alignmentOffset)\n return {};\n const w = I(s), y = N(c), x = I(c) === c, b = await (l.isRTL == null ? void 0 : l.isRTL(a.floating)), v = g || (x || !m ? [ot(c)] : ue(c)), C = h !== \"none\";\n !g && C && v.push(...me(c, m, h, b));\n const S = [c, ...v], Z = await $t(e, p), B = [];\n let M = ((i = o.flip) == null ? void 0 : i.overflows) || [];\n if (d && B.push(Z[w]), u) {\n const A = fe(s, r, b);\n B.push(Z[A[0]], Z[A[1]]);\n }\n if (M = [...M, {\n placement: s,\n overflows: B\n }], !B.every((A) => A <= 0)) {\n var G, W;\n const A = (((G = o.flip) == null ? void 0 : G.index) || 0) + 1, _ = S[A];\n if (_ && (!(u === \"alignment\" ? y !== N(_) : !1) || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n M.every((O) => O.overflows[0] > 0 && N(O.placement) === y)))\n return {\n data: {\n index: A,\n overflows: M\n },\n reset: {\n placement: _\n }\n };\n let $ = (W = M.filter((L) => L.overflows[0] <= 0).sort((L, O) => L.overflows[1] - O.overflows[1])[0]) == null ? void 0 : W.placement;\n if (!$)\n switch (f) {\n case \"bestFit\": {\n var Q;\n const L = (Q = M.filter((O) => {\n if (C) {\n const F = N(O.placement);\n return F === y || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n F === \"y\";\n }\n return !0;\n }).map((O) => [O.placement, O.overflows.filter((F) => F > 0).reduce((F, Xt) => F + Xt, 0)]).sort((O, F) => O[1] - F[1])[0]) == null ? void 0 : Q[0];\n L && ($ = L);\n break;\n }\n case \"initialPlacement\":\n $ = c;\n break;\n }\n if (s !== $)\n return {\n reset: {\n placement: $\n }\n };\n }\n return {};\n }\n };\n}, Nt = /* @__PURE__ */ new Set([\"left\", \"top\"]);\nasync function ve(t, e) {\n const {\n placement: n,\n platform: i,\n elements: s\n } = t, o = await (i.isRTL == null ? void 0 : i.isRTL(s.floating)), r = I(n), c = et(n), l = N(n) === \"y\", a = Nt.has(r) ? -1 : 1, d = o && l ? -1 : 1, u = q(e, t);\n let {\n mainAxis: g,\n crossAxis: f,\n alignmentAxis: h\n } = typeof u == \"number\" ? {\n mainAxis: u,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: u.mainAxis || 0,\n crossAxis: u.crossAxis || 0,\n alignmentAxis: u.alignmentAxis\n };\n return c && typeof h == \"number\" && (f = c === \"end\" ? h * -1 : h), l ? {\n x: f * d,\n y: g * a\n } : {\n x: g * a,\n y: f * d\n };\n}\nconst be = function(t) {\n return t === void 0 && (t = 0), {\n name: \"offset\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n x: s,\n y: o,\n placement: r,\n middlewareData: c\n } = e, l = await ve(e, t);\n return r === ((n = c.offset) == null ? void 0 : n.placement) && (i = c.arrow) != null && i.alignmentOffset ? {} : {\n x: s + l.x,\n y: o + l.y,\n data: {\n ...l,\n placement: r\n }\n };\n }\n };\n}, Ae = function(t) {\n return t === void 0 && (t = {}), {\n name: \"shift\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s\n } = e, {\n mainAxis: o = !0,\n crossAxis: r = !1,\n limiter: c = {\n fn: (p) => {\n let {\n x: w,\n y\n } = p;\n return {\n x: w,\n y\n };\n }\n },\n ...l\n } = q(t, e), a = {\n x: n,\n y: i\n }, d = await $t(e, l), u = N(I(s)), g = mt(u);\n let f = a[g], h = a[u];\n if (o) {\n const p = g === \"y\" ? \"top\" : \"left\", w = g === \"y\" ? \"bottom\" : \"right\", y = f + d[p], x = f - d[w];\n f = dt(y, f, x);\n }\n if (r) {\n const p = u === \"y\" ? \"top\" : \"left\", w = u === \"y\" ? \"bottom\" : \"right\", y = h + d[p], x = h - d[w];\n h = dt(y, h, x);\n }\n const m = c.fn({\n ...e,\n [g]: f,\n [u]: h\n });\n return {\n ...m,\n data: {\n x: m.x - n,\n y: m.y - i,\n enabled: {\n [g]: o,\n [u]: r\n }\n }\n };\n }\n };\n}, Ee = function(t) {\n return t === void 0 && (t = {}), {\n options: t,\n fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n middlewareData: r\n } = e, {\n offset: c = 0,\n mainAxis: l = !0,\n crossAxis: a = !0\n } = q(t, e), d = {\n x: n,\n y: i\n }, u = N(s), g = mt(u);\n let f = d[g], h = d[u];\n const m = q(c, e), p = typeof m == \"number\" ? {\n mainAxis: m,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...m\n };\n if (l) {\n const x = g === \"y\" ? \"height\" : \"width\", b = o.reference[g] - o.floating[x] + p.mainAxis, v = o.reference[g] + o.reference[x] - p.mainAxis;\n f < b ? f = b : f > v && (f = v);\n }\n if (a) {\n var w, y;\n const x = g === \"y\" ? \"width\" : \"height\", b = Nt.has(I(s)), v = o.reference[u] - o.floating[x] + (b && ((w = r.offset) == null ? void 0 : w[u]) || 0) + (b ? 0 : p.crossAxis), C = o.reference[u] + o.reference[x] + (b ? 0 : ((y = r.offset) == null ? void 0 : y[u]) || 0) - (b ? p.crossAxis : 0);\n h < v ? h = v : h > C && (h = C);\n }\n return {\n [g]: f,\n [u]: h\n };\n }\n };\n};\nfunction ct() {\n return typeof window < \"u\";\n}\nfunction J(t) {\n return Ft(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\";\n}\nfunction E(t) {\n var e;\n return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;\n}\nfunction D(t) {\n var e;\n return (e = (Ft(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;\n}\nfunction Ft(t) {\n return ct() ? t instanceof Node || t instanceof E(t).Node : !1;\n}\nfunction P(t) {\n return ct() ? t instanceof Element || t instanceof E(t).Element : !1;\n}\nfunction k(t) {\n return ct() ? t instanceof HTMLElement || t instanceof E(t).HTMLElement : !1;\n}\nfunction St(t) {\n return !ct() || typeof ShadowRoot > \"u\" ? !1 : t instanceof ShadowRoot || t instanceof E(t).ShadowRoot;\n}\nconst Ce = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\nfunction nt(t) {\n const {\n overflow: e,\n overflowX: n,\n overflowY: i,\n display: s\n } = T(t);\n return /auto|scroll|overlay|hidden|clip/.test(e + i + n) && !Ce.has(s);\n}\nconst Se = /* @__PURE__ */ new Set([\"table\", \"td\", \"th\"]);\nfunction Le(t) {\n return Se.has(J(t));\n}\nconst Oe = [\":popover-open\", \":modal\"];\nfunction lt(t) {\n return Oe.some((e) => {\n try {\n return t.matches(e);\n } catch {\n return !1;\n }\n });\n}\nconst Pe = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\"], Te = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\", \"filter\"], Re = [\"paint\", \"layout\", \"strict\", \"content\"];\nfunction yt(t) {\n const e = xt(), n = P(t) ? T(t) : t;\n return Pe.some((i) => n[i] ? n[i] !== \"none\" : !1) || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || Te.some((i) => (n.willChange || \"\").includes(i)) || Re.some((i) => (n.contain || \"\").includes(i));\n}\nfunction ke(t) {\n let e = V(t);\n for (; k(e) && !X(e); ) {\n if (yt(e))\n return e;\n if (lt(e))\n return null;\n e = V(e);\n }\n return null;\n}\nfunction xt() {\n return typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nconst De = /* @__PURE__ */ new Set([\"html\", \"body\", \"#document\"]);\nfunction X(t) {\n return De.has(J(t));\n}\nfunction T(t) {\n return E(t).getComputedStyle(t);\n}\nfunction at(t) {\n return P(t) ? {\n scrollLeft: t.scrollLeft,\n scrollTop: t.scrollTop\n } : {\n scrollLeft: t.scrollX,\n scrollTop: t.scrollY\n };\n}\nfunction V(t) {\n if (J(t) === \"html\")\n return t;\n const e = (\n // Step into the shadow DOM of the parent of a slotted node.\n t.assignedSlot || // DOM Element detected.\n t.parentNode || // ShadowRoot detected.\n St(t) && t.host || // Fallback.\n D(t)\n );\n return St(e) ? e.host : e;\n}\nfunction Ht(t) {\n const e = V(t);\n return X(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : k(e) && nt(e) ? e : Ht(e);\n}\nfunction tt(t, e, n) {\n var i;\n e === void 0 && (e = []), n === void 0 && (n = !0);\n const s = Ht(t), o = s === ((i = t.ownerDocument) == null ? void 0 : i.body), r = E(s);\n if (o) {\n const c = ht(r);\n return e.concat(r, r.visualViewport || [], nt(s) ? s : [], c && n ? tt(c) : []);\n }\n return e.concat(s, tt(s, [], n));\n}\nfunction ht(t) {\n return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;\n}\nfunction It(t) {\n const e = T(t);\n let n = parseFloat(e.width) || 0, i = parseFloat(e.height) || 0;\n const s = k(t), o = s ? t.offsetWidth : n, r = s ? t.offsetHeight : i, c = st(n) !== o || st(i) !== r;\n return c && (n = o, i = r), {\n width: n,\n height: i,\n $: c\n };\n}\nfunction vt(t) {\n return P(t) ? t : t.contextElement;\n}\nfunction Y(t) {\n const e = vt(t);\n if (!k(e))\n return R(1);\n const n = e.getBoundingClientRect(), {\n width: i,\n height: s,\n $: o\n } = It(e);\n let r = (o ? st(n.width) : n.width) / i, c = (o ? st(n.height) : n.height) / s;\n return (!r || !Number.isFinite(r)) && (r = 1), (!c || !Number.isFinite(c)) && (c = 1), {\n x: r,\n y: c\n };\n}\nconst Me = /* @__PURE__ */ R(0);\nfunction Vt(t) {\n const e = E(t);\n return !xt() || !e.visualViewport ? Me : {\n x: e.visualViewport.offsetLeft,\n y: e.visualViewport.offsetTop\n };\n}\nfunction $e(t, e, n) {\n return e === void 0 && (e = !1), !n || e && n !== E(t) ? !1 : e;\n}\nfunction U(t, e, n, i) {\n e === void 0 && (e = !1), n === void 0 && (n = !1);\n const s = t.getBoundingClientRect(), o = vt(t);\n let r = R(1);\n e && (i ? P(i) && (r = Y(i)) : r = Y(t));\n const c = $e(o, n, i) ? Vt(o) : R(0);\n let l = (s.left + c.x) / r.x, a = (s.top + c.y) / r.y, d = s.width / r.x, u = s.height / r.y;\n if (o) {\n const g = E(o), f = i && P(i) ? E(i) : i;\n let h = g, m = ht(h);\n for (; m && i && f !== h; ) {\n const p = Y(m), w = m.getBoundingClientRect(), y = T(m), x = w.left + (m.clientLeft + parseFloat(y.paddingLeft)) * p.x, b = w.top + (m.clientTop + parseFloat(y.paddingTop)) * p.y;\n l *= p.x, a *= p.y, d *= p.x, u *= p.y, l += x, a += b, h = E(m), m = ht(h);\n }\n }\n return rt({\n width: d,\n height: u,\n x: l,\n y: a\n });\n}\nfunction bt(t, e) {\n const n = at(t).scrollLeft;\n return e ? e.left + n : U(D(t)).left + n;\n}\nfunction Bt(t, e, n) {\n n === void 0 && (n = !1);\n const i = t.getBoundingClientRect(), s = i.left + e.scrollLeft - (n ? 0 : (\n // RTL <body> scrollbar.\n bt(t, i)\n )), o = i.top + e.scrollTop;\n return {\n x: s,\n y: o\n };\n}\nfunction Ne(t) {\n let {\n elements: e,\n rect: n,\n offsetParent: i,\n strategy: s\n } = t;\n const o = s === \"fixed\", r = D(i), c = e ? lt(e.floating) : !1;\n if (i === r || c && o)\n return n;\n let l = {\n scrollLeft: 0,\n scrollTop: 0\n }, a = R(1);\n const d = R(0), u = k(i);\n if ((u || !u && !o) && ((J(i) !== \"body\" || nt(r)) && (l = at(i)), k(i))) {\n const f = U(i);\n a = Y(i), d.x = f.x + i.clientLeft, d.y = f.y + i.clientTop;\n }\n const g = r && !u && !o ? Bt(r, l, !0) : R(0);\n return {\n width: n.width * a.x,\n height: n.height * a.y,\n x: n.x * a.x - l.scrollLeft * a.x + d.x + g.x,\n y: n.y * a.y - l.scrollTop * a.y + d.y + g.y\n };\n}\nfunction Fe(t) {\n return Array.from(t.getClientRects());\n}\nfunction He(t) {\n const e = D(t), n = at(t), i = t.ownerDocument.body, s = j(e.scrollWidth, e.clientWidth, i.scrollWidth, i.clientWidth), o = j(e.scrollHeight, e.clientHeight, i.scrollHeight, i.clientHeight);\n let r = -n.scrollLeft + bt(t);\n const c = -n.scrollTop;\n return T(i).direction === \"rtl\" && (r += j(e.clientWidth, i.clientWidth) - s), {\n width: s,\n height: o,\n x: r,\n y: c\n };\n}\nfunction Ie(t, e) {\n const n = E(t), i = D(t), s = n.visualViewport;\n let o = i.clientWidth, r = i.clientHeight, c = 0, l = 0;\n if (s) {\n o = s.width, r = s.height;\n const a = xt();\n (!a || a && e === \"fixed\") && (c = s.offsetLeft, l = s.offsetTop);\n }\n return {\n width: o,\n height: r,\n x: c,\n y: l\n };\n}\nconst Ve = /* @__PURE__ */ new Set([\"absolute\", \"fixed\"]);\nfunction Be(t, e) {\n const n = U(t, !0, e === \"fixed\"), i = n.top + t.clientTop, s = n.left + t.clientLeft, o = k(t) ? Y(t) : R(1), r = t.clientWidth * o.x, c = t.clientHeight * o.y, l = s * o.x, a = i * o.y;\n return {\n width: r,\n height: c,\n x: l,\n y: a\n };\n}\nfunction Lt(t, e, n) {\n let i;\n if (e === \"viewport\")\n i = Ie(t, n);\n else if (e === \"document\")\n i = He(D(t));\n else if (P(e))\n i = Be(e, n);\n else {\n const s = Vt(t);\n i = {\n x: e.x - s.x,\n y: e.y - s.y,\n width: e.width,\n height: e.height\n };\n }\n return rt(i);\n}\nfunction Wt(t, e) {\n const n = V(t);\n return n === e || !P(n) || X(n) ? !1 : T(n).position === \"fixed\" || Wt(n, e);\n}\nfunction We(t, e) {\n const n = e.get(t);\n if (n)\n return n;\n let i = tt(t, [], !1).filter((c) => P(c) && J(c) !== \"body\"), s = null;\n const o = T(t).position === \"fixed\";\n let r = o ? V(t) : t;\n for (; P(r) && !X(r); ) {\n const c = T(r), l = yt(r);\n !l && c.position === \"fixed\" && (s = null), (o ? !l && !s : !l && c.position === \"static\" && !!s && Ve.has(s.position) || nt(r) && !l && Wt(t, r)) ? i = i.filter((d) => d !== r) : s = c, r = V(r);\n }\n return e.set(t, i), i;\n}\nfunction _e(t) {\n let {\n element: e,\n boundary: n,\n rootBoundary: i,\n strategy: s\n } = t;\n const r = [...n === \"clippingAncestors\" ? lt(e) ? [] : We(e, this._c) : [].concat(n), i], c = r[0], l = r.reduce((a, d) => {\n const u = Lt(e, d, s);\n return a.top = j(u.top, a.top), a.right = K(u.right, a.right), a.bottom = K(u.bottom, a.bottom), a.left = j(u.left, a.left), a;\n }, Lt(e, c, s));\n return {\n width: l.right - l.left,\n height: l.bottom - l.top,\n x: l.left,\n y: l.top\n };\n}\nfunction ze(t) {\n const {\n width: e,\n height: n\n } = It(t);\n return {\n width: e,\n height: n\n };\n}\nfunction je(t, e, n) {\n const i = k(e), s = D(e), o = n === \"fixed\", r = U(t, !0, o, e);\n let c = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const l = R(0);\n function a() {\n l.x = bt(s);\n }\n if (i || !i && !o)\n if ((J(e) !== \"body\" || nt(s)) && (c = at(e)), i) {\n const f = U(e, !0, o, e);\n l.x = f.x + e.clientLeft, l.y = f.y + e.clientTop;\n } else s && a();\n o && !i && s && a();\n const d = s && !i && !o ? Bt(s, c) : R(0), u = r.left + c.scrollLeft - l.x - d.x, g = r.top + c.scrollTop - l.y - d.y;\n return {\n x: u,\n y: g,\n width: r.width,\n height: r.height\n };\n}\nfunction ft(t) {\n return T(t).position === \"static\";\n}\nfunction Ot(t, e) {\n if (!k(t) || T(t).position === \"fixed\")\n return null;\n if (e)\n return e(t);\n let n = t.offsetParent;\n return D(t) === n && (n = n.ownerDocument.body), n;\n}\nfunction _t(t, e) {\n const n = E(t);\n if (lt(t))\n return n;\n if (!k(t)) {\n let s = V(t);\n for (; s && !X(s); ) {\n if (P(s) && !ft(s))\n return s;\n s = V(s);\n }\n return n;\n }\n let i = Ot(t, e);\n for (; i && Le(i) && ft(i); )\n i = Ot(i, e);\n return i && X(i) && ft(i) && !yt(i) ? n : i || ke(t) || n;\n}\nconst qe = async function(t) {\n const e = this.getOffsetParent || _t, n = this.getDimensions, i = await n(t.floating);\n return {\n reference: je(t.reference, await e(t.floating), t.strategy),\n floating: {\n x: 0,\n y: 0,\n width: i.width,\n height: i.height\n }\n };\n};\nfunction Ue(t) {\n return T(t).direction === \"rtl\";\n}\nconst Ye = {\n convertOffsetParentRelativeRectToViewportRelativeRect: Ne,\n getDocumentElement: D,\n getClippingRect: _e,\n getOffsetParent: _t,\n getElementRects: qe,\n getClientRects: Fe,\n getDimensions: ze,\n getScale: Y,\n isElement: P,\n isRTL: Ue\n};\nfunction zt(t, e) {\n return t.x === e.x && t.y === e.y && t.width === e.width && t.height === e.height;\n}\nfunction Ke(t, e) {\n let n = null, i;\n const s = D(t);\n function o() {\n var c;\n clearTimeout(i), (c = n) == null || c.disconnect(), n = null;\n }\n function r(c, l) {\n c === void 0 && (c = !1), l === void 0 && (l = 1), o();\n const a = t.getBoundingClientRect(), {\n left: d,\n top: u,\n width: g,\n height: f\n } = a;\n if (c || e(), !g || !f)\n return;\n const h = it(u), m = it(s.clientWidth - (d + g)), p = it(s.clientHeight - (u + f)), w = it(d), x = {\n rootMargin: -h + \"px \" + -m + \"px \" + -p + \"px \" + -w + \"px\",\n threshold: j(0, K(1, l)) || 1\n };\n let b = !0;\n function v(C) {\n const S = C[0].intersectionRatio;\n if (S !== l) {\n if (!b)\n return r();\n S ? r(!1, S) : i = setTimeout(() => {\n r(!1, 1e-7);\n }, 1e3);\n }\n S === 1 && !zt(a, t.getBoundingClientRect()) && r(), b = !1;\n }\n try {\n n = new IntersectionObserver(v, {\n ...x,\n // Handle <iframe>s\n root: s.ownerDocument\n });\n } catch {\n n = new IntersectionObserver(v, x);\n }\n n.observe(t);\n }\n return r(!0), o;\n}\nfunction Xe(t, e, n, i) {\n i === void 0 && (i = {});\n const {\n ancestorScroll: s = !0,\n ancestorResize: o = !0,\n elementResize: r = typeof ResizeObserver == \"function\",\n layoutShift: c = typeof IntersectionObserver == \"function\",\n animationFrame: l = !1\n } = i, a = vt(t), d = s || o ? [...a ? tt(a) : [], ...tt(e)] : [];\n d.forEach((w) => {\n s && w.addEventListener(\"scroll\", n, {\n passive: !0\n }), o && w.addEventListener(\"resize\", n);\n });\n const u = a && c ? Ke(a, n) : null;\n let g = -1, f = null;\n r && (f = new ResizeObserver((w) => {\n let [y] = w;\n y && y.target === a && f && (f.unobserve(e), cancelAnimationFrame(g), g = requestAnimationFrame(() => {\n var x;\n (x = f) == null || x.observe(e);\n })), n();\n }), a && !l && f.observe(a), f.observe(e));\n let h, m = l ? U(t) : null;\n l && p();\n function p() {\n const w = U(t);\n m && !zt(m, w) && n(), m = w, h = requestAnimationFrame(p);\n }\n return n(), () => {\n var w;\n d.forEach((y) => {\n s && y.removeEventListener(\"scroll\", n), o && y.removeEventListener(\"resize\", n);\n }), u?.(), (w = f) == null || w.disconnect(), f = null, l && cancelAnimationFrame(h);\n };\n}\nconst Je = be, Ze = Ae, Ge = xe, Qe = ye, tn = Ee, en = (t, e, n) => {\n const i = /* @__PURE__ */ new Map(), s = {\n platform: Ye,\n ...n\n }, o = {\n ...s.platform,\n _c: i\n };\n return we(t, e, {\n ...s,\n platform: o\n });\n};\nfunction Pt(t, e, n) {\n Object.assign(t.style, {\n left: e != null ? `${e}px` : \"\",\n top: n != null ? `${n}px` : \"\"\n });\n}\nfunction jt(t, e) {\n let n = t.getSetting(\"toggle-delay\");\n typeof n == \"string\" && (n.indexOf(\",\") > -1 && (n = n.split(\",\")), n.indexOf(\" \") > -1 && (n = n.split(\" \"))), Array.isArray(n) && (n = n[e]);\n const i = Number(n);\n if (Number.isNaN(i))\n throw new Error(`Provided delay value is not a number: \"${n}\"`);\n return i;\n}\nfunction ut(t) {\n let e;\n const n = typeof t == \"string\" ? t.trim().split(\" \").map((i) => parseFloat(i)).filter((i) => !isNaN(i)) : [t];\n for (let i = 0; i < n.length; i++)\n n[i] = Number(n[i]);\n switch (n.length) {\n case 1:\n e = n[0];\n break;\n case 2:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[0],\n left: n[1]\n };\n break;\n case 3:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[1]\n };\n break;\n case 4:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[3]\n };\n break;\n default:\n e = void 0;\n break;\n }\n return e;\n}\nfunction nn(t) {\n return {\n offset: Number(t.getSetting(\"offset\")),\n flip: {\n padding: ut(t.getSetting(\"flip-padding\"))\n },\n shift: {\n padding: ut(t.getSetting(\"shift-padding\"))\n },\n arrow: {\n selector: t.getSetting(\"selectorArrow\"),\n element: null,\n padding: ut(t.getSetting(\"arrow-padding\"))\n }\n };\n}\nfunction Tt(t) {\n const e = this.get(t);\n if (e)\n return e;\n throw new Error(`Popover not found in collection with id of \"${t}\".`);\n}\nasync function qt(t) {\n return t && t.state === \"opened\" && (t.el.inert = !0, t.el.classList.remove(t.parent.settings.stateActive), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"false\"), t.floatingCleanup(), t.state = \"closed\", t.trigger === t.parent.trigger && (t.parent.trigger = null), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function Ut(t) {\n const e = [];\n for (const n of t.collection)\n n.state === \"opened\" && e.push(await n.close());\n return e;\n}\nfunction Yt(t) {\n t.state == \"opened\" && setTimeout(() => (document.activeElement?.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) || t.close(), t), 1);\n}\nfunction sn(t) {\n t.state === \"opened\" ? t.close() : (this.trigger = t.trigger, t.open());\n}\nfunction on(t) {\n t.isTooltip && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.close());\n}\nfunction rn(t, e) {\n if (t.isHovered = e, e.type == \"focus\" && t.trigger && !t.trigger.matches(\":focus-visible\"))\n return;\n t.toggleDelayId && clearTimeout(t.toggleDelayId);\n const n = t.trigger?.getAttribute(\"aria-expanded\");\n if (n && n == \"true\") return;\n const i = this.activeHover ? 0 : jt(t, 0);\n this.activeHover && this.activeHover.close(), t.toggleDelayId = setTimeout(() => {\n t.id && t.open();\n }, i);\n}\nfunction cn(t, e) {\n setTimeout(() => {\n t.isHovered = e, !t.isHovered && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.toggleDelayId = setTimeout(\n () => Yt(t),\n jt(t, 1)\n ));\n }, 1);\n}\nfunction ln(t) {\n switch (t.key) {\n case \"Escape\":\n this.trigger && this.trigger.focus(), Ut(this);\n return;\n case \"Tab\":\n this.collection.forEach((e) => {\n Yt(e);\n });\n return;\n default:\n return;\n }\n}\nfunction an(t) {\n const e = this;\n document.addEventListener(\"click\", function n(i) {\n const s = i.target;\n s && (s.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) ? t.el && !t.el.classList.contains(e.settings.stateActive) && this.removeEventListener(\"click\", n) : (t.el && t.el.classList.contains(e.settings.stateActive) && t.close(), this.removeEventListener(\"click\", n)));\n });\n}\nasync function Kt(t) {\n t.el.inert = !1, t.el.classList.add(t.parent.settings.stateActive), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"true\"), t.buildCustomProps();\n const e = nn(t), n = t.el.querySelector(\n e.arrow.selector\n );\n return e.arrow.element = n || null, t.trigger instanceof HTMLElement && (t.floatingCleanup = Xe(t.trigger, t.el, () => {\n const i = [\n Ge(e.flip),\n Ze({ ...e.shift, limiter: tn() }),\n Je(e.offset)\n ];\n e.arrow.element && i.push(\n Qe({\n ...e.arrow,\n element: e.arrow.element\n })\n ), en(t.trigger, t.el, {\n placement: t.getSetting(\"placement\"),\n middleware: i\n }).then(({ x: s, y: o, placement: r, middlewareData: c }) => {\n if (t.el) {\n if (Pt(t.el, s, o), e.arrow.element && c.arrow) {\n const { x: l, y: a } = c.arrow;\n Pt(e.arrow.element, l, a);\n }\n t.el.setAttribute(\"data-floating-placement\", r);\n }\n });\n })), t.state = \"opened\", t.getSetting(\"event\") === \"click\" && an.call(t.parent, t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t), t;\n}\nclass fn extends Dt {\n #t;\n #e;\n constructor(e, n, i = {}) {\n super(e, n, i), this.state = \"closed\", this.toggleDelayId = null, this.trigger = null, this.#t = null, this.#e = {\n el: !1,\n trigger: !1\n }, this.floatingCleanup = () => {\n };\n }\n get isTooltip() {\n return !!this.el.closest(this.getSetting(\"selectorTooltip\")) || this.el.getAttribute(\"role\") == \"tooltip\";\n }\n get isHovered() {\n return this.#e.el || this.#e.trigger;\n }\n set isHovered(e) {\n const n = e.type == \"mouseenter\" ? !0 : e.type == \"mouseleave\" ? !1 : void 0;\n if (n != null)\n switch (e.target) {\n case this.el:\n this.#e.el = n;\n break;\n case this.trigger:\n this.#e.trigger = n;\n break;\n }\n }\n async open() {\n return Kt(this);\n }\n async close() {\n return qt(this);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n registerEventListeners() {\n this.#t || (this.getSetting(\"event\") === \"hover\" ? (this.#t = [\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseenter\", \"focus\"],\n listener: rn.bind(this.parent, this)\n },\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseleave\", \"focusout\"],\n listener: cn.bind(this.parent, this)\n },\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: on.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(s, n.listener, !1);\n });\n });\n })) : (this.#t = [\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: sn.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(s, n.listener, !1);\n });\n });\n })));\n }\n deregisterEventListeners() {\n this.#t && (this.#t.forEach((e) => {\n e.el.forEach((n) => {\n e.type.forEach((i) => {\n this[n].removeEventListener(i, e.listener, !1);\n });\n });\n }), this.#t = null);\n }\n async onCreateEntry() {\n this.trigger = document.querySelector(\n `[aria-controls=\"${this.id}\"], [aria-describedby=\"${this.id}\"]`\n ), this.isTooltip ? (this.settings.event = \"hover\", this.el.setAttribute(\"role\", \"tooltip\")) : this.trigger && this.trigger instanceof HTMLElement && this.trigger.setAttribute(\"aria-expanded\", \"false\"), this.registerEventListeners();\n }\n async onRegisterEntry() {\n this.el.classList.contains(this.getSetting(\"stateActive\")) ? await this.open() : this.el.inert = !0;\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(), this.floatingCleanup(), this.deregisterEventListeners();\n }\n}\nclass un extends oe {\n #t;\n constructor(e) {\n super({ ...re, ...e }), this.module = \"Popover\", this.entryClass = fn, this.trigger = null, this.#t = ln.bind(this);\n }\n get active() {\n return this.get(\"opened\", \"state\");\n }\n get activeHover() {\n return this.collection.find((e) => e.state == \"opened\" && e.getSetting(\"event\") == \"hover\");\n }\n async open(e) {\n const n = Tt.call(this, e);\n return Kt(n);\n }\n async close(e) {\n const n = e ? Tt.call(this, e) : void 0;\n return n ? qt(n) : Ut(this);\n }\n async afterMount() {\n document.addEventListener(\"keydown\", this.#t, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"keydown\", this.#t, !1);\n }\n}\nexport {\n un as default\n};\n//# sourceMappingURL=index.js.map\n"],"names":["u","m","k","C","E","g","x","r","v","$","S","J","a","R","y","h","M","o","P","A","I","T","L","O","D","b","w","N","l","d","q","_","U","F","X","p","V","Y","tt","j","z","H","nt","f","Z","B","G","W","Q"],"mappings":";;;;AAAA,QAAMA,MAAI,iBAAiB,IAAI,yBAAyBC,MAAI,mBAAmBC,MAAI;AAAA,IACjF,UAAUF,GAAC,GAAG,CAAC;AAAA,IACf,aAAaA,GAAC,GAAG,CAAC;AAAA,IAClB,iDAAiDA,GAAC,GAAG,CAAC,GAAGC,GAAC;AAAA,IAC1D,sBAAsBD,GAAC,GAAG,CAAC,GAAGC,GAAC;AAAA,IAC/B,SAASD,GAAC,GAAG,CAAC,GAAGC,GAAC;AAAA,IAClB,WAAWD,GAAC,GAAG,CAAC,GAAGC,GAAC;AAAA,IACpB,SAASD,GAAC,GAAG,CAAC,GAAGC,GAAC;AAAA,IAClB,UAAUD,GAAC,2BAA2B,CAAC;AAAA,IACvC,SAASA,GAAC,GAAG,CAAC;AAAA,IACd,kBAAkBA,GAAC,GAAG,CAAC;AAAA,IACvB,kBAAkBA,GAAC,GAAG,CAAC;AAAA,IACvB,oBAAoBA,GAAC,GAAG,CAAC;AAAA,IACzB,aAAaA,GAAC,GAAG,CAAC;AAAA,EACpB;AACA,WAASG,IAAE,GAAG,IAAI,UAAU;AAC1B,UAAM,KAAK,EAAE,aAAa,QAAQ,CAAC,EAAE,KAAK,IAAI,QAAQ,MAAM,GAAG;AAC/D,WAAO,IAAI,KAAK,MAAM,CAAC,IAAI,CAAE;AAAA,EAC/B;AACA,WAASC,IAAE,GAAG;AACZ,QAAI,OAAO,KAAK,UAAU;AACxB,YAAM,IAAI,SAAS,eAAe,CAAC;AACnC,UAAI,EAAG,QAAO;AACd,YAAM,IAAI,MAAM,+BAA+B,CAAC,GAAG;AAAA,IACvD,WAAa,aAAa,aAAa;AACnC,UAAI,CAAC,EAAE;AACL,cAAM,IAAI,MAAM,6BAA6B;AAC/C,aAAO;AAAA,IACR;AACC,YAAM,IAAI,MAAM,yDAAyD;AAAA,EAC7E;AACA,iBAAeC,IAAE,GAAG,MAAM,GAAG;AAC3B,SAAK,KAAK,OAAO,EAAE,CAAC,KAAK,cAAc,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;AAAA,EACxD;AACA,WAASC,IAAE,GAAG,GAAG,GAAG;AAClB,QAAI,OAAO,KAAK,UAAU;AACxB,YAAMC,KAAI,SAAS,cAAc,CAAC;AAClC,UAAI,CAACA;AACH,cAAM,IAAI,MAAM,6CAA6C,CAAC,EAAE;AAClE,UAAIA;AAAA,IACR,WAAa,EAAE,aAAa;AACxB,YAAM,IAAI,MAAM,oCAAoC,CAAC,GAAG;AAC1D,QAAI,OAAO,EAAE,CAAC,KAAK;AACjB,YAAM,IAAI,MAAM,iCAAiC,CAAC,GAAG;AACvD,QAAI,IAAI,SAAS;AAAA,MACf,iBAAiB,EAAE;AAAA,IACpB;AACD,WAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM;AACjC,YAAM,EAAE,MAAM,CAAC,GAAG,EAAE,OAAM,GAAI,IAAI;AAAA,IACnC;AAAA,EACH;AACA,WAASC,IAAE,GAAG;AACZ,WAAO,EAAE,MAAM,GAAG,EAAE;AAAA,MAClB,CAAC,GAAG,MAAM,MAAM,IAAI,IAAI,EAAE,OAAO,CAAC,EAAE,YAAa,IAAG,EAAE,MAAM,CAAC;AAAA,IACjE,EAAI,KAAK,EAAE;AAAA,EACX;AACA,WAASC,IAAE,GAAG;AACZ,WAAO,EAAE,QAAQ,mBAAmB,OAAO,EAAE,YAAa;AAAA,EAC5D;AACA,WAASC,IAAE,GAAG;AACZ,QAAI,OAAO,KAAK;AACd,aAAO;AACT,UAAM,IAAI,WAAW,CAAC;AACtB,QAAI,CAAC,OAAO,MAAM,CAAC,GAAG;AACpB,YAAM,IAAI,EAAE,SAAS,IAAI;AACzB,aAAO,KAAK,IAAI,IAAI;AAAA,IACxB;AACE,UAAM,IAAI,MAAM,4CAA4C,CAAC,EAAE;AAAA,EACjE;AACA,WAASC,IAAE,GAAG,GAAG,GAAG,GAAGJ,KAAI,GAAG;AAC5B,WAAO,IAAI,QAAQ,CAACK,OAAM;AACxB,QAAE,UAAU,OAAO,CAAC,GAAG,EAAE,UAAU,IAAI,CAAC,GAAG,WAAW,MAAM;AAC1D,UAAE,UAAU,IAAI,CAAC,GAAG,EAAE,UAAU,OAAO,CAAC,GAAGA,GAAE,CAAC;AAAA,MACpD,GAAOF,IAAEH,EAAC,CAAC;AAAA,IACX,CAAG;AAAA,EACH;AACA,WAASM,IAAE,GAAG,IAAI,IAAI;AACpB,UAAM,IAAI;AAAA,MACR,UAAU;AAAA,MACV,SAAS,SAAS;AAAA,MAClB,GAAG;AAAA,IACJ;AACD,QAAI,CAAC,EAAE,WAAW,IAAI,GAAG;AACvB,YAAMN,KAAIO,IAAG;AACb,MAAAP,OAAM,IAAI,GAAGA,EAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC;AAAA,IACrC;AACE,UAAM,IAAI,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,KAAM;AAChE,QAAI;AACF,aAAO;AACT,QAAI,EAAE;AACJ,aAAO,EAAE;AACX,UAAM,IAAI,MAAM,iBAAiB,CAAC,kBAAkB;AAAA,EACtD;AACA,iBAAeQ,IAAE,GAAG,GAAG,GAAG;AACxB,UAAMV,IAAE,GAAG,GAAG,CAAC,GAAG,KAAK,MAAMA,IAAE,GAAG,CAAC;AACnC,eAAW,KAAK,EAAE;AAChB,YAAMA,IAAE,GAAG,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG;AAClD,UAAM,EAAE,KAAK,GAAG,CAAC;AAAA,EACnB;AACA,WAASW,IAAE,GAAG;AACZ,UAAM,IAAI,iBAAiB,EAAE,EAAE,GAAG,IAAI,CAAA,GAAI,IAAI,EAAE,WAAW,aAAa;AACxE,aAAST,KAAI,GAAGA,KAAI,EAAE,QAAQA,MAAK;AACjC,YAAMK,KAAIE,OAAKG,KAAI,EAAE,OAAO,OAAO,YAAa,GAAE,IAAIR,IAAE,EAAEF,EAAC,CAAC,GAAG,IAAI,EAAE,iBAAiB,KAAKK,EAAC,GAAGK,EAAC,IAAI,CAAC,EAAE,EAAE,KAAM;AAC/G,YAAM,EAAE,CAAC,IAAI;AAAA,IACjB;AACE,WAAO;AAAA,EACT;AACA,WAASH,MAAI;AACX,WAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,aAAa,EAAE,KAAM;AAAA,EAC/E;AACA,WAASI,IAAE,GAAG,GAAG,IAAI,SAAS;AAC5B,WAAO,IAAI,MAAM,UAAUV,IAAE,CAAC,IAAIC,IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAGF,OAAM,IAAIA,EAAC,GAAG,IAAI;AAAA,EAC9F;AACA,WAASY,IAAE,GAAG,IAAI,IAAI;AACpB,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,OAAO,IAAI,CAAC,cAAc,eAAe,YAAY,iBAAiB;AAAA,IAC1E,IAAM;AACJ,eAAWZ,MAAK,GAAG;AACjB,YAAMK,KAAIL,OAAM,gBAAgB,UAAU,SAASU,KAAIC,IAAE,KAAK,MAAMX,IAAG,GAAGK,EAAC;AAC3E,UAAIK,OAAM;AACR,eAAOA;AAAA,IACb;AACE,QAAI,MAAM;AACR,aAAO;AACT,UAAM,IAAI,MAAM,GAAG,KAAK,OAAO,MAAM,4BAA4B,CAAC,EAAE;AAAA,EACtE;AACA,WAASG,IAAE,GAAG,GAAG;AACf,SAAK,SAAS,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM;AAC/C,UAAI,EAAE,MAAM,WAAW,WAAW,EAAE,MAAM,eAAe,UAAU;AAAA,IACvE,CAAG;AAAA,EACH;AACA,WAASC,IAAE,GAAG,GAAG;AACf,SAAK,SAAS,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM;AAC/C,WAAK,EAAE,QAAQ,MAAI,EAAE,aAAa,eAAe,MAAM,MAAM,EAAE,QAAQ,OAAI,EAAE,gBAAgB,aAAa;AAAA,IAC9G,CAAG;AAAA,EACH;AACA,WAAS,EAAE,GAAG,GAAG,GAAG;AAClBA,QAAE,CAAC,CAAC,GAAG,CAAC,GAAGD,IAAE,CAAC,CAAC,GAAG,CAAC;AAAA,EACrB;AACA,QAAME,MAAI;AAAA,IACR,QAAQ,CAAE;AAAA,IACV,GAAG,GAAG,MAAM,GAAG;AACb,WAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAA,IAAK,KAAK,OAAO,CAAC,EAAE;AAAA,QACtD,CAACf,OAAMA,GAAE,aAAa;AAAA,MAC5B,KAAS,KAAK,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG;AAAA,IAClD;AAAA,IACD,IAAI,GAAG,GAAG;AACR,WAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAAA,QACjD,CAAC,MAAM,EAAE,aAAa;AAAA,MAC5B;AAAA,IACG;AAAA,IACD,MAAM,KAAK,GAAG,GAAG;AACf,UAAI,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,YAAW,IAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC;AACxF,mBAAW,EAAE,UAAU,GAAG,MAAM,OAAO,KAAK,OAAO,CAAC;AAClD,gBAAM,EAAE,GAAG,GAAG,CAAC;AAAA,IACvB;AAAA,EACA;YACA,MAAM,UAAU,MAAM;AAAA,IACpB,YAAY,IAAI,MAAM;AACpB,YAAO,GAAE,KAAK,KAAK,GAAG,KAAK,MAAM,KAAK,IAAK;AAAA,IAC/C;AAAA,IACE,IAAI,QAAQ;AACV,aAAO,KAAK,CAAC;AAAA,IACjB;AAAA,IACE,IAAI,OAAO;AACT,aAAO,KAAK,KAAK,SAAS,CAAC;AAAA,IAC/B;AAAA,IACE,IAAI,IAAI,KAAK,IAAI;AACf,WAAK,SAAS,GAAG,KAAK,KAAK,KAAK,GAAG,EAAE,iBAAiBL,IAAE,KAAK,GAAG,CAAC,CAAC;AAAA,IACtE;AAAA,IACE,QAAQ;AACN,WAAK,SAAS;AAAA,IAClB;AAAA,EACA;AACA,MAAA,MAAA,MAAM,EAAE;AAAA,IACN,YAAY,IAAI,MAAM;AACpB,WAAK,KAAK,GAAG,KAAK,YAAY,IAAIqB,IAAG,GAAE,KAAK,kBAAkBC,IAAE,KAAK,IAAI;AAAA,IAC7E;AAAA,IACE,GAAG,IAAI,KAAK,IAAI;AACd,WAAK,UAAU,IAAI,CAAC,GAAG,KAAK,UAAU,SAAS,SAAS,iBAAiB,WAAW,KAAK,eAAe,IAAI,SAAS,iBAAiB,WAAWC,GAAC;AAAA,IACtJ;AAAA,IACE,MAAM;AACJ,WAAK,UAAU,SAAS,SAAS,oBAAoB,WAAW,KAAK,eAAe,GAAG,SAAS,oBAAoB,WAAWA,GAAC;AAAA,IACpI;AAAA,EACA;AACA,WAASA,IAAE,GAAG;AACZ,KAAC,EAAE,QAAQ,SAAS,EAAE,YAAY,MAAM,EAAE,eAAgB;AAAA,EAC5D;AACA,WAASD,IAAE,GAAG;AACZ,QAAI,EAAE,QAAQ,SAAS,EAAE,YAAY,EAAG;AACxC,UAAM,EAAE,eAAe,EAAG,IAAG,UAAU,EAAE,IAAI,GAAG,WAAW,MAAM,MAAMjB,KAAI,EAAE,UAAUK,KAAI,MAAM,EAAE,SAAS,MAAM,GAAGK,KAAI,MAAM,EAAE,QAAQ,MAAM;AAC/I,QAAIV,MAAKK,MAAK,CAACL,MAAKU,IAAG;AACrB,QAAE,eAAgB;AAClB,YAAM,IAAIV,KAAI,EAAE,OAAO,EAAE;AACzB,WAAK,OAAO,EAAE,SAAS,cAAc,EAAE,MAAO;AAAA,IAClD;AAAA,EACA;AACA,WAASmB,IAAE,GAAG,IAAI,MAAI;AACpB,UAAM,IAAI,aAAa,QAAQ,CAAC,GAAG,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,CAAE;AAC7D,WAAO;AAAA,MACL,IAAInB,IAAGK,IAAG;AACR,eAAOL,KAAIA,MAAK,IAAI,EAAEA,EAAC,IAAIK,KAAI;AAAA,MAChC;AAAA,MACD,IAAIL,IAAGK,IAAG;AACR,eAAOA,KAAI,EAAEL,EAAC,IAAIK,KAAI,OAAO,EAAEL,EAAC,GAAG,KAAK,aAAa,QAAQ,GAAG,KAAK,UAAU,CAAC,CAAC,GAAG;AAAA,MAC1F;AAAA,IACG;AAAA,EACH;YACA,MAAM,UAAU,MAAM;AAAA,IACpB,YAAY,IAAI,IAAI;AAClB,YAAO,GAAE,KAAK,UAAU;AAAA,IAC5B;AAAA,IACE,cAAc,GAAG;AACf,YAAM,IAAI,GAAG,YAAY,CAAA,GAAI,IAAI,KAAK,UAAU,EAAE,IAAI,KAAK,CAAE,GAAEA,KAAI,GAAG,WAAW,CAAE;AACnF,QAAE,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,GAAGA,GAAG;AAAA,IACrC;AAAA,IACE,SAAS,GAAG;AACV,aAAO,EAAE,UAAU,MAAM,OAAO,EAAE,QAAQ,YAAY,QAAQ,MAAM,yBAAyB,GAAG,SAAM;AAAA,IAC1G;AAAA,IACE,IAAI,GAAG;AACL,aAAO,KAAK,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;AAAA,IACxC;AAAA,IACE,IAAI,GAAG;AACL,UAAI,MAAM,QAAQ,CAAC;AACjB,UAAE,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AAAA,eACrB,KAAK,cAAc,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG;AAChD,cAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI;AACjD,SAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC;AAAA,MACpC;AAAA,IACA;AAAA,IACE,OAAO,GAAG;AACR,YAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;AAC5C,OAAC,KAAK,KAAK,OAAO,GAAG,CAAC;AAAA,IAC1B;AAAA,EACA;AAAA,EACA,MAAM,UAAU,MAAM;AAAA,IACpB,YAAY,IAAI,IAAI;AAClB,YAAO,GAAE,KAAK,WAAW;AAAA,IAC7B;AAAA,IACE,IAAI,OAAO;AACT,aAAO,CAAC,GAAG,IAAI;AAAA,IACnB;AAAA,IACE,IAAI,MAAM;AACR,YAAM,IAAI,KAAK,KAAK,SAAS,CAAC;AAC9B,aAAO,KAAK;AAAA,IAChB;AAAA,IACE,cAAc;AACZ,WAAK,QAAQ,CAAC,GAAG,MAAM;AACrB,UAAE,GAAG,MAAM,SAAS;AACpB,cAAM,IAAI,iBAAiB,EAAE,EAAE,EAAE,SAAS;AAC1C,UAAE,GAAG,MAAM,SAAS,OAAO,SAAS,GAAG,EAAE,IAAI,IAAI,CAAC;AAAA,MACxD,CAAK;AAAA,IACL;AAAA,IACE,WAAW;AACT,WAAK,eAAe,OAAO,KAAK,SAAS,YAAY,cAAc,KAAK,SAAS,SAAU;AAAA,IAC/F;AAAA,IACE,IAAI,GAAG;AACL,WAAK,KAAK,CAAC,GAAG,KAAK,SAAU;AAAA,IACjC;AAAA,IACE,OAAO,GAAG;AACR,YAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;AAC7C,OAAC,MAAM,EAAE,GAAG,MAAM,SAAS,IAAI,KAAK,OAAO,GAAG,CAAC,GAAG,KAAK,SAAQ;AAAA,IACnE;AAAA,IACE,UAAU,GAAG;AACX,YAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;AAC7C,OAAC,MAAM,KAAK,OAAO,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC;AAAA,IACxC;AAAA,EACA;AACA,QAAMoB,MAAI;AAAA,IACR,WAAW;AAAA,EACb,GAAG,IAAI;AAAA,IACL,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,EACb;AACA,WAAS,EAAE,IAAI,IAAI;AACjB,UAAM,IAAI;AAAA,MACR,MAAM;AAAA,MACN,UAAUA;AAAAA,MACV,SAAS;AAAA,IACV;AACD,aAAS,EAAEV,IAAG,IAAI,CAAA,GAAI,IAAI,CAAC,WAAW,WAAW,GAAG;AAClD,YAAMW,KAAI,EAAE,IAAI,CAACC,OAAM,UAAU,EAAEA,EAAC,CAAC,EAAE;AACvC,cAAQ,IAAI,iBAAiBZ,EAAC,IAAI,GAAGW,IAAG,GAAG,CAAC;AAAA,IAChD;AACE,aAAS,EAAEX,OAAM,GAAG;AAClB,aAAO,OAAOA,MAAK,aAAaA,GAAE,GAAG,CAAC,IAAIA;AAAA,IAC9C;AACE,UAAMV,KAAI;AAAA,MACR,gBAAgB,EAAE,KAAK,MAAM,uBAAuB;AAAA,MACpD,eAAe,EAAE,KAAK,MAAM,sBAAsB;AAAA,MAClD,kBAAkB,EAAE;AAAA,QAClB;AAAA,QACA;AAAA,QACA,CAAE;AAAA,QACF,CAAC,aAAa,SAAS;AAAA,MACxB;AAAA,MACD,iBAAiB,EAAE;AAAA,QACjB;AAAA,QACA;AAAA,QACA,CAAE;AAAA,QACF,CAAC,aAAa,SAAS;AAAA,MACxB;AAAA,MACD,gBAAgB,CAACU,IAAG,EAAE,QAAQ,GAAG,QAAQ,QAAQ;AAC/C,YAAI,EAAE,EAAE,SAAS,WAAWA,EAAC,GAAG;AAC9B,gBAAMW,KAAI,EAAE,WAAW;AACvB,YAAE,4BAA4BA,EAAC,MAAMX,GAAE,EAAE,EAAE;AAAA,QACnD;AAAA,MACK;AAAA,MACD,kBAAkB,CAACA,IAAG,EAAE,QAAQ,GAAG,QAAQ,QAAQ;AACjD,YAAI,EAAE,EAAE,SAAS,WAAWA,EAAC,GAAG;AAC9B,gBAAMW,KAAI,EAAE,WAAW;AACvB,YAAE,8BAA8BA,EAAC,MAAMX,GAAE,EAAE,EAAE;AAAA,QACrD;AAAA,MACK;AAAA,MACD,iBAAiB,CAACA,IAAG,EAAE,QAAQ,GAAG,QAAQ,QAAQ;AAChD,YAAI,EAAE,EAAE,SAAS,WAAWA,EAAC,GAAG;AAC9B,gBAAMW,KAAI,EAAE,WAAW;AACvB;AAAA,YACE,6BAA6BA,EAAC,MAAMX,GAAE,EAAE;AAAA,YACxC,CAAE;AAAA,YACF,CAAC,aAAa,SAAS;AAAA,UACxB;AAAA,QACT;AAAA,MACK;AAAA,MACD,oBAAoB,CAACA,IAAG,EAAE,QAAQ,GAAG,QAAQ,QAAQ;AACnD,YAAI,EAAE,EAAE,SAAS,WAAWA,EAAC,GAAG;AAC9B,gBAAMW,KAAI,EAAE,WAAW;AACvB;AAAA,YACE,gCAAgCA,EAAC;AAAA,YACjC,CAAE;AAAA,YACF,CAAC,aAAa,SAAS;AAAA,UACxB;AAAA,QACT;AAAA,MACA;AAAA,IACG;AACD,WAAO,EAAE,GAAG,GAAG,GAAG;AAAA;AAAA,MAEhB,MAAM,EAAE,QAAQX,MAAK;AACnB,UAAE,oBAAoB,MAAM,KAAK,SAAS,GAAG,CAAC,aAAa,SAAS,CAAC,GAAGA,GAAE,GAAG,eAAeV,GAAE,cAAc,GAAGU,GAAE,GAAG,eAAeV,GAAE,gBAAgB,EAAE,QAAQU,IAAG,QAAQ,KAAM,CAAA,GAAGA,GAAE,GAAG,iBAAiBV,GAAE,kBAAkB;AAAA,UAC3N,QAAQU;AAAA,UACR,QAAQ;AAAA,QACT,CAAA,GAAGA,GAAE,GAAG,cAAcV,GAAE,aAAa,GAAGU,GAAE,GAAG,iBAAiBV,GAAE,gBAAgB,GAAGU,GAAE,GAAG,gBAAgBV,GAAE,iBAAiB,EAAE,QAAQU,IAAG,QAAQ,KAAM,CAAA,GAAGA,GAAE,GAAG,mBAAmBV,GAAE,oBAAoB;AAAA,UACtM,QAAQU;AAAA,UACR,QAAQ;AAAA,QACT,CAAA,GAAGA,GAAE,GAAG,gBAAgBV,GAAE,eAAe;AAAA,MAC3C;AAAA,MACD,SAAS,EAAE,QAAQU,MAAK;AACtB,UAAE,uBAAuB,MAAM,KAAK,SAAS,GAAG;AAAA,UAC9C;AAAA,UACA;AAAA,QACR,CAAO,GAAGA,GAAE,IAAI,eAAeV,GAAE,cAAc,GAAGU,GAAE,IAAI,eAAeV,GAAE,cAAc,GAAGU,GAAE,IAAI,iBAAiBV,GAAE,gBAAgB,GAAGU,GAAE,IAAI,cAAcV,GAAE,aAAa,GAAGU,GAAE,IAAI,iBAAiBV,GAAE,gBAAgB,GAAGU,GAAE,IAAI,gBAAgBV,GAAE,eAAe,GAAGU,GAAE,IAAI,mBAAmBV,GAAE,kBAAkB,GAAGU,GAAE,IAAI,gBAAgBV,GAAE,eAAe;AAAA,MACpV;AAAA;AAAA,MAED,cAAc;AACZ,UAAE,wBAAwB,MAAM,KAAK,SAAS,CAAC;AAAA,MAChD;AAAA,MACD,cAAc,EAAE,QAAQU,IAAG,OAAO,EAAC,GAAI;AACrC,YAAI,EAAE,KAAK,SAAS,WAAW,CAAC,GAAG;AACjC,gBAAM,IAAIA,GAAE,WAAW;AACvB;AAAA,YACE,6BAA6B,CAAC,MAAM,EAAE,EAAE;AAAA,YACxC,MAAM,KAAK,SAAS;AAAA,UACrB;AAAA,QACT;AAAA,MACK;AAAA,MACD,gBAAgB,EAAE,QAAQA,IAAG,OAAO,EAAC,GAAI;AACvC,YAAI,EAAE,KAAK,SAAS,WAAW,CAAC,GAAG;AACjC,gBAAM,IAAIA,GAAE,WAAW,SAAS;AAChC;AAAA,YACE,+BAA+B,CAAC,MAAM,EAAE,EAAE;AAAA,YAC1C,MAAM,KAAK,SAAS;AAAA,UACrB;AAAA,QACT;AAAA,MACK;AAAA,MACD,aAAa;AACX,UAAE,uBAAuB,MAAM,KAAK,SAAS,CAAC;AAAA,MAC/C;AAAA;AAAA,MAED,gBAAgB;AACd,UAAE,0BAA0B,MAAM,KAAK,SAAS,GAAG;AAAA,UACjD;AAAA,UACA;AAAA,QACR,CAAO;AAAA,MACF;AAAA,MACD,eAAe,EAAE,QAAQA,IAAG,OAAO,EAAC,GAAI;AACtC,YAAI,EAAE,KAAK,SAAS,WAAW,CAAC,GAAG;AACjC,gBAAM,IAAIA,GAAE,WAAW,SAAS;AAChC;AAAA,YACE,8BAA8B,CAAC,MAAM,EAAE,EAAE;AAAA,YACzC,MAAM,KAAK,SAAS;AAAA,YACpB,CAAC,aAAa,SAAS;AAAA,UACxB;AAAA,QACT;AAAA,MACK;AAAA,MACD,kBAAkB,EAAE,QAAQA,IAAG,OAAO,EAAC,GAAI;AACzC,YAAI,EAAE,KAAK,SAAS,WAAW,CAAC,GAAG;AACjC,gBAAM,IAAIA,GAAE,WAAW;AACvB,YAAE,iCAAiC,CAAC,KAAK,MAAM,KAAK,SAAS,GAAG;AAAA,YAC9D;AAAA,YACA;AAAA,UACV,CAAS;AAAA,QACT;AAAA,MACK;AAAA,MACD,eAAe;AACb,UAAE,yBAAyB,MAAM,KAAK,SAAS,GAAG;AAAA,UAChD;AAAA,UACA;AAAA,QACR,CAAO;AAAA,MACP;AAAA,IACA,EAAK;AAAA,EACL;AACA,QAAMa,MAAI;AAAA,IACR,WAAW;AAAA,EACb;AACA,WAASC,IAAE,IAAI,IAAI;AACjB,UAAM,IAAI;AAAA,MACR,MAAM;AAAA,MACN,UAAUD;AAAAA,MACV,SAAS;AAAA,IACV,GAAE,IAAI;AAAA,MACL,MAAM,EAAE,QAAQb,MAAK;AACnB,QAAAA,GAAE,GAAG,UAAUV,IAAG,IAAI,GAAGU,GAAE,GAAG,UAAUL,IAAG,IAAI;AAAA,MAChD;AAAA,MACD,SAAS,EAAE,QAAQK,MAAK;AACtB,QAAAA,GAAE,IAAI,UAAUV,EAAC,GAAGU,GAAE,IAAI,UAAUL,EAAC;AAAA,MACtC;AAAA,MACD,cAAc,EAAE,OAAOK,MAAK;AAC1B,QAAAA,GAAE,YAAY,IAAIe,IAAG;AAAA,MAC3B;AAAA,IACG;AACD,aAAS,EAAEf,OAAM,GAAG;AAClB,aAAO,OAAOA,MAAK,aAAaA,GAAE,GAAG,CAAC,IAAIA;AAAA,IAC9C;AACE,aAASV,GAAEU,IAAG,GAAG;AACf,YAAM,IAAI,EAAE,QAAQ,GAAG,QAAQA,GAAE,QAAQ,OAAOA,GAAG;AACnD,QAAE,EAAE,SAAS,WAAW,CAAC,KAAKA,GAAE,WAAW,GAAGA,GAAE,MAAM;AAAA,IAC1D;AACE,aAASL,GAAEK,IAAG,GAAG;AACf,YAAM,IAAI,EAAE,QAAQ,GAAG,QAAQA,GAAE,QAAQ,OAAOA,GAAG;AACnD,QAAE,EAAE,SAAS,WAAW,CAAC,KAAKA,GAAE,WAAW,IAAK;AAAA,IACpD;AACE,WAAO,EAAE,GAAG,GAAG,GAAG,EAAG;AAAA,EACvB;AACA,QAAMgB,MAAI;AAAA;AAAA,IAER,gBAAgB;AAAA;AAAA,IAEhB,gBAAgB;AAAA;AAAA,IAEhB,OAAO;AAAA;AAAA;AAAA;AAAA,IAIP,YAAY;AAAA;AAAA;AAAA,IAGZ,YAAY;AAAA;AAAA;AAAA,IAGZ,aAAa,CAAE;AAAA;AAAA;AAAA,IAGf,cAAc,CAAE;AAAA;AAAA;AAAA,IAGhB,UAAU,MAAM;AAAA,IAClB;AAAA,EACA;AACA,WAASC,IAAE,IAAI,IAAI;AACjB,UAAM,IAAI;AAAA,MACR,MAAM;AAAA,MACN,UAAUD;AAAAA,MACV,SAAS;AAAA,IACV,GAAE,IAAI;AAAA;AAAA;AAAA,MAGL,cAAc,EAAE,OAAO,KAAK;AAC1B,QAAArB,GAAE,KAAK,MAAM,CAAC;AAAA,MACf;AAAA;AAAA;AAAA,MAGD,eAAe,EAAE,OAAO,KAAK;AAC3B,QAAAK,GAAE,CAAC;AAAA,MACT;AAAA,IACG;AACD,aAAS,EAAE,GAAG;AACZ,YAAM,IAAI,EAAE,GAAG,aAAa,QAAQ,KAAK,SAAS,cAAc,EAAE;AAClE,aAAO,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,eAAe,KAAK,SAAS,aAAa,EAAE,EAAE,IAAI,KAAK;AAAA,IAC9F;AACE,aAASV,GAAE,GAAG;AACZ,UAAI,IAAI,EAAE,GAAG,aAAa,QAAQ,KAAK,SAAS,cAAc,EAAE;AAChE,aAAO,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,gBAAgB,IAAI,KAAK,SAAS,YAAY,EAAE,EAAE,IAAI,KAAK,KAAK,KAAK,SAAS,gBAAgB,IAAI,KAAK,SAAS,YAAY,CAAC,IAAI,MAAM,IAAI,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,KAAKO,IAAG,CAAA,cAAc,CAAC,EAAE,EAAE,KAAI,KAAM,IAAI,KAAK,KAAK,SAAS;AAAA,IAC/R;AACE,aAASF,GAAE,GAAG;AACZ,UAAI,IAAI,EAAE,KAAK,MAAM,CAAC;AACtB,YAAMgB,KAAIrB,GAAE,KAAK,MAAM,CAAC;AACxB,UAAI,CAACqB,MAAK,CAAC,EAAG;AACd,MAAAA,MAAK,CAAC,MAAM,IAAI,KAAK,SAAS;AAC9B,YAAMC,KAAI,EAAE,QAAQ,IAAI,OAAO,GAAG,KAAK,SAAS,KAAK,IAAI,GAAG,GAAGD,EAAC;AAChE,QAAE,MAAM,OAAO,WAAWC,EAAC,GAAG,EAAE,IAAI,WAAW,CAACM,OAAM;AACpD,aAAK,SAAS,SAASA,IAAG,CAAC;AAAA,MACjC,GAAO,KAAK,SAAS,SAAS,EAAE,KAAK,CAAC;AAAA,IACtC;AACE,aAASlB,GAAE,GAAG;AACZ,QAAE,QAAQ,EAAE,IAAI,WAAW,MAAM,EAAE,MAAM;AAAA,IAC7C;AACE,WAAO,EAAE,GAAG,GAAG,GAAG,EAAG;AAAA,EACvB;AACA,QAAMmB,MAAI;AAAA;AAAA,IAER,MAAM;AAAA;AAAA,IAEN,OAAO;AAAA;AAAA,IAEP,WAAW;AAAA;AAAA;AAAA,IAGX,KAAK;AAAA;AAAA,IAEL,WAAW;AAAA;AAAA,IAEX,WAAW;AAAA,IACb;AAAA,EACA;AACA,WAASC,IAAE,IAAI,IAAI;AACjB,UAAM,IAAI;AAAA,MACR,MAAM;AAAA,MACN,UAAUD;AAAAA,MACV,SAAS;AAAA,MACT,OAAO;AAAA,IACR,GAAE,IAAI;AAAA,MACL,MAAM,EAAE,QAAQ,KAAK;AACnB,aAAK,QAAQV,IAAET,GAAE,KAAK,MAAM,EAAE,MAAM,CAAC;AAAA,MACtC;AAAA,MACD,MAAM,cAAc,EAAE,OAAO,KAAK;AAChC,cAAM,EAAE,KAAK,MAAM,CAAC;AAAA,MACrB;AAAA,MACD,eAAe,EAAE,OAAO,KAAK;AAC3B,QAAAL,GAAE,KAAK,MAAM,CAAC;AAAA,MACpB;AAAA,IACG;AACD,mBAAe,EAAE,GAAG;AAClB,UAAI,IAAI,EAAE,KAAK,SAAS,IAAI,KAAK;AACjC,YAAMgB,KAAI,EAAE,QAAQ,MAAM,QAAQ,EAAE,QAAQ,OAAO,EAAG;AACtD,aAAO,eAAe,GAAG,KAAK,SAAS,MAAM;AAAA,QAC3C,cAAc;AAAA,QACd,MAAM;AACJ,iBAAO;AAAA,QACR;AAAA,QACD,KAAK,OAAOC,OAAM;AAChB,cAAI,MAAMA,GAAG;AACb,gBAAMM,KAAI;AACV,cAAIN,IAAGtB;AAAA,YACL,KAAK,SAAS;AAAA,YACdqB;AAAA,YACAC;AAAA,YACAM;AAAA,UACD,KAAI,KAAK,MAAM,IAAI,EAAE,IAAIN,EAAC,GAAG,MAAM,KAAK,SAAS,SAASD,IAAGC,IAAGM,EAAC;AAAA,QAC1E;AAAA,MACK,CAAA,GAAG,OAAO,eAAe,GAAG,SAAS;AAAA,QACpC,cAAc;AAAA,QACd,KAAK,MAAM,KAAK,MAAM,IAAI,EAAE,EAAE;AAAA,QAC9B,KAAK,CAACN,OAAM;AACV,YAAE,KAAK,SAAS,IAAI,IAAIA;AAAA,QAChC;AAAA,MACA,CAAK,GAAG,EAAE,KAAK,SAAS,IAAI,IAAI,MAAMtB,GAAE,KAAK,SAAS,OAAOqB,EAAC,KAAK,EAAE,KAAK,SAAS,IAAI;AAAA,IACvF;AACE,aAASrB,GAAE,MAAM,GAAG;AAClB,aAAO,OAAO,KAAK,aAAa,EAAE,GAAG,CAAC,IAAI;AAAA,IAC9C;AACE,mBAAeK,GAAE,GAAG;AAClB,YAAM,IAAI,EAAE,KAAK,SAAS,IAAI;AAC9B,aAAO,EAAE,KAAK,SAAS,IAAI,GAAG,EAAE,KAAK,SAAS,IAAI,IAAI,GAAG,KAAK,MAAM,IAAI,EAAE,IAAI,IAAI;AAAA,IACtF;AACE,aAASK,GAAE,GAAG;AACZ,YAAM,IAAI,KAAK,SAAS,KAAK,OAAO,CAAC,EAAE,YAAW,IAAK,KAAK,SAAS,KAAK,MAAM,CAAC,GAAGW,KAAI,KAAK,SAAS,OAAO,IAAI;AACjH,aAAO,KAAK,SAAS,YAAYA;AAAA,IACrC;AACE,WAAO,EAAE,GAAG,GAAG,GAAG,EAAG;AAAA,EACvB;AACA,QAAM,IAAI;AAAA,IACR,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AACA,WAASU,KAAG,IAAI,IAAI;AAClB,UAAM,IAAI;AAAA,MACR,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,IACV,GAAE,IAAI;AAAA,MACL,cAAc,EAAE,QAAQ1B,IAAG,OAAOK,GAAC,GAAI;AACrC,UAAEL,IAAGK,EAAC;AAAA,MACP;AAAA,MACD,eAAe,EAAE,QAAQL,IAAG,OAAOK,GAAC,GAAI;AACtC,QAAAV,GAAEK,IAAGK,EAAC;AAAA,MACZ;AAAA,IACG;AACD,aAAS,EAAEL,IAAGK,IAAG;AACf,MAAAA,GAAE,WAAW,MAAM;AACjB,eAAOA,GAAE,kBAAkB,cAAcA,GAAE,kBAAkBA,GAAE,iBAAiBX;AAAAA,UAC9EW,GAAE;AAAA,UACFA,GAAE,WAAW,YAAY,EAAE,UAAUL,GAAE,SAAS,OAAO;AAAA,UACvDK,GAAE,WAAW,kBAAkB,EAAE,UAAUL,GAAE,SAAS,IAAK,CAAA;AAAA,QAC5D;AAAA,MACP,GAAOK,GAAE,SAAU,GAAEA,GAAE,OAAO,KAAK,YAAY,EAAE,QAAQL,IAAG,QAAQK,GAAE,QAAQ,OAAOA,IAAG;AAAA,IACxF;AACE,aAASV,GAAEK,IAAGK,IAAG;AACf,aAAOA,GAAE,kBAAkB,cAAcA,GAAE,eAAgB,GAAEA,GAAE,OAAO,KAAK,kBAAkB;AAAA,QAC3F,QAAQL;AAAA,QACR,QAAQK,GAAE;AAAA,QACV,OAAOA;AAAA,MACb,CAAK;AAAA,IACL;AACE,WAAO,EAAE,GAAG,GAAG,GAAG,EAAG;AAAA,EACvB;AACA,QAAMsB,MAAI;AAAA,IACR,YAAY;AAAA,IACZ,aAAa,CAAA;AAAA,EACf;AACA,MAAA,MAAA,MAAM,EAAE;AAAA,IACN,YAAY,GAAG,GAAG,IAAI,CAAA,GAAI;AACxB,WAAK,SAAS,GAAG,KAAK,KAAKnC,IAAE,CAAC,GAAG,KAAK,WAAW,EAAE,GAAG,EAAC,GAAI,KAAK,aAAa,IAAI,KAAK,cAAc,CAAE;AAAA,IAC1G;AAAA,IACE,IAAI,KAAK;AACP,aAAO,KAAK,GAAG;AAAA,IACnB;AAAA,IACE,cAAc,GAAG;AACf,aAAO,OAAO,OAAO,KAAK,UAAU,CAAC;AAAA,IACzC;AAAA,IACE,WAAW,GAAG,GAAG;AACf,aAAOe,IAAE,KAAK,MAAM,GAAG,CAAC;AAAA,IAC5B;AAAA,IACE,kBAAkB;AAChB,aAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACLhB,IAAE,KAAK,IAAI,KAAK,WAAW,YAAY,CAAC;AAAA,MACzC;AAAA,IACL;AAAA,IACE,mBAAmB;AACjB,aAAO,OAAO,OAAO,KAAK,aAAaa,IAAE,IAAI,CAAC;AAAA,IAClD;AAAA,IACE,MAAM,KAAK,IAAI,IAAI;AACjB,WAAK,cAAc,CAAC,GAAG,KAAK,gBAAiB,GAAE,KAAK,iBAAkB;AAAA,IAC1E;AAAA,IACE,MAAM,UAAU;AACd,aAAO,oBAAoB,IAAI,EAAE,QAAQ,CAAC,MAAM;AAC9C,eAAO,KAAK,CAAC;AAAA,MACnB,CAAK;AAAA,IACL;AAAA,EACA;AACA,MAAA,OAAA,MAAM,GAAG;AAAA,IACP,YAAY,IAAI,IAAI;AAClB,WAAK,SAAS,KAAK,YAAY,MAAM,KAAK,aAAa,CAAE,GAAE,KAAK,aAAawB,KAAG,KAAK,WAAW,EAAE,GAAGD,KAAG,GAAG,EAAG,GAAE,KAAK,UAAU,IAAIE,IAAE,KAAK,SAAS,OAAO,GAAG,KAAK,SAAS,CAAE,GAAE,OAAO,OAAO,MAAMnB,GAAC;AAAA,IACxM;AAAA,IACE,IAAI,GAAG,IAAI,MAAM;AACf,aAAO,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;AAAA,IACjD;AAAA,IACE,cAAc,GAAG;AACf,aAAO,OAAO,OAAO,KAAK,UAAU,CAAC;AAAA,IACzC;AAAA,IACE,MAAM,YAAY,GAAG,GAAG;AACtB,YAAM,IAAI,IAAI,KAAK,WAAW,MAAM,GAAG,CAAC;AACxC,aAAO,MAAMjB,IAAE,GAAG,MAAM,GAAG,MAAMU,IAAE,iBAAiB,MAAM,CAAC,GAAG;AAAA,IAClE;AAAA,IACE,MAAM,aAAa,GAAG;AACpB,aAAO,MAAMA,IAAE,kBAAkB,MAAM,CAAC,GAAG,MAAMV,IAAE,GAAG,SAAS,GAAG;AAAA,IACtE;AAAA,IACE,MAAM,SAAS,GAAG,IAAI,IAAI;AACxB,YAAM,IAAID,IAAE,CAAC,GAAGG,KAAI,KAAK,WAAW,UAAU,CAACK,OAAMA,GAAE,OAAO,EAAE,EAAE;AAClE,UAAI,CAACL,IAAG;AACN,cAAMK,KAAI,KAAK,WAAWL,EAAC;AAC3B,eAAOK,GAAE,KAAK,GAAG,OAAOA,GAAE,QAAQ,cAAc,MAAMA,GAAE,KAAK,CAAC,GAAGA;AAAA,MACvE,OAAW;AACL,cAAMA,KAAI,MAAM,KAAK,YAAY,GAAG,CAAC;AACrC,eAAO,KAAK,WAAW,KAAKA,EAAC,GAAG,MAAMG,IAAE,mBAAmB,MAAMH,EAAC,GAAGA;AAAA,MAC3E;AAAA,IACA;AAAA,IACE,MAAM,WAAW,GAAG;AAClB,YAAM,IAAI,KAAK,WAAW,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;AACrD,UAAI,CAAC,GAAG;AACN,cAAM,IAAI,MAAM,KAAK,aAAa,KAAK,WAAW,CAAC,CAAC;AACpD,eAAO,MAAMG;AAAAA,UACX;AAAA,UACA;AAAA,UACA,KAAK,WAAW,CAAC;AAAA,QACzB,GAAS,KAAK,WAAW,OAAO,GAAG,CAAC,GAAG;AAAA,MACvC;AACI,aAAO;AAAA,IACX;AAAA,IACE,MAAM,MAAM,IAAI,IAAI;AAClB,WAAK,cAAc,CAAC;AACpB,iBAAW,KAAK,KAAK,UAAU,WAAW,CAAE;AAC1C,aAAK,QAAQ,IAAI,CAAC;AACpB,iBAAW,KAAK,KAAK;AACnB,cAAMV,IAAE,GAAG,SAAS,EAAE,QAAQ,GAAG,QAAQ,MAAM;AACjD,YAAMU,IAAE,eAAe,IAAI;AAC3B,YAAM,IAAI,SAAS,iBAAiB,KAAK,SAAS,QAAQ;AAC1D,iBAAW,KAAK;AACd,cAAM,KAAK,SAAS,CAAC;AACvB,aAAO,MAAMA,IAAE,cAAc,IAAI,GAAG;AAAA,IACxC;AAAA,IACE,MAAM,UAAU;AACd,WAAK,MAAMA,IAAE,iBAAiB,IAAI,GAAG,KAAK,WAAW,SAAS;AAC5D,cAAM,KAAK,WAAW,KAAK,WAAW,CAAC,EAAE,EAAE;AAC7C,YAAMA,IAAE,gBAAgB,IAAI;AAC5B,iBAAW,KAAK,KAAK;AACnB,cAAMV,IAAE,GAAG,YAAY,EAAE,QAAQ,GAAG,QAAQ,MAAM;AACpD,iBAAW,KAAK,CAAC,GAAG,KAAK,OAAO;AAC9B,aAAK,QAAQ,OAAO,EAAE,IAAI;AAC5B,aAAO;AAAA,IACX;AAAA,EACA;AACA,WAASqC,KAAG,IAAI,IAAI;AAClB,UAAM,IAAI;AAAA,MACR,QAAQ7B,IAAE,iBAAiB,EAAE,UAAU,YAAW,CAAE;AAAA,MACpD,QAAQ,CAAC,QAAQ,SAAS,MAAM;AAAA,MAChC,UAAU;AAAA,IACX;AACD,eAAW,CAACD,EAAC,KAAK,OAAO,QAAQ,CAAC;AAChC,WAAK,EAAEA,EAAC,MAAM,EAAEA,EAAC,IAAI,EAAEA,EAAC;AAC1B,UAAM,IAAI;AAAA,MACR,SAAS;AAAA,MACR;AAAA,MACD,WAAW;AAAA,MACf;AAAA,IACG;AACD,eAAW,CAACA,EAAC,KAAK,OAAO,QAAQ,CAAC;AAChC,WAAK,EAAEA,EAAC,MAAM,EAAEA,EAAC,IAAI,EAAEA,EAAC;AAC1B,UAAM,IAAIc,IAAE,EAAE,QAAQ,GAAGnB,KAAI;AAAA;AAAA,MAE3B,UAAU;AAAA;AAAA,MAEV,IAAIK,IAAG;AACL,UAAE,OAAO,KAAKA,EAAC;AAAA,MAChB;AAAA,MACD,OAAOA,IAAG;AACR,cAAMK,KAAI,EAAE,OAAO,QAAQL,EAAC;AAC5B,SAACK,MAAK,EAAE,OAAO,OAAOA,IAAG,CAAC;AAAA,MAC3B;AAAA,MACD,SAASL,IAAG;AACV,UAAEA,EAAC,EAAE,KAAK,IAAI;AAAA,MACf;AAAA;AAAA,MAED,IAAI,QAAQ;AACV,eAAO,GAAG,EAAE,MAAM,GAAG,KAAK,KAAK;AAAA,MAChC;AAAA,MACD,IAAI,UAAU;AACZ,eAAO,EAAE,OAAO,IAAI,CAACA,OAAM,GAAG,EAAE,MAAM,GAAGA,EAAC,EAAE;AAAA,MAC7C;AAAA,MACD,IAAI,SAAS;AACX,eAAO,EAAE;AAAA,MACV;AAAA;AAAA,MAED,IAAI,QAAQ;AACV,eAAO,EAAE,IAAI,OAAO,KAAK;AAAA,MAC1B;AAAA,MACD,IAAI,MAAMA,IAAG;AACX,UAAE,OAAO,SAASA,EAAC,IAAI,KAAK,SAASA,OAAM,EAAE,IAAI,SAASA,EAAC,GAAG,SAAS,gBAAgB,UAAU,OAAO,GAAG,KAAK,OAAO,GAAG,SAAS,gBAAgB,UAAU,IAAI,GAAG,EAAE,MAAM,GAAGA,EAAC,EAAE,GAAG,KAAK,SAAS,UAAU,KAAK,QAAQ,MAAM,6BAA6BA,EAAC,GAAG;AAAA,MACvQ;AAAA,IACG;AACD,WAAOL,GAAE,SAAS,QAAQ,GAAGA;AAAA,EAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5vBA,WAASkB,IAAE,GAAG,IAAI,UAAU;AAC1B,UAAM,KAAK,EAAE,aAAa,QAAQ,CAAC,EAAE,KAAK,IAAI,QAAQ,MAAM,GAAG;AAC/D,WAAO,IAAI,KAAK,MAAM,CAAC,IAAI,CAAE;AAAA,EAC/B;AACA,WAASU,IAAE,GAAG;AACZ,QAAI,OAAO,KAAK,UAAU;AACxB,YAAM,IAAI,SAAS,eAAe,CAAC;AACnC,UAAI,EAAG,QAAO;AACd,YAAM,IAAI,MAAM,+BAA+B,CAAC,GAAG;AAAA,IACvD,WAAa,aAAa,aAAa;AACnC,UAAI,CAAC,EAAE;AACL,cAAM,IAAI,MAAM,6BAA6B;AAC/C,aAAO;AAAA,IACR;AACC,YAAM,IAAI,MAAM,yDAAyD;AAAA,EAC7E;AACA,iBAAe5B,IAAE,GAAG,MAAM,GAAG;AAC3B,SAAK,KAAK,OAAO,EAAE,CAAC,KAAK,cAAc,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;AAAA,EACxD;AACA,WAASJ,IAAE,GAAG;AACZ,WAAO,EAAE,MAAM,GAAG,EAAE;AAAA,MAClB,CAAC,GAAG,MAAM,MAAM,IAAI,IAAI,EAAE,OAAO,CAAC,EAAE,YAAa,IAAG,EAAE,MAAM,CAAC;AAAA,IACjE,EAAI,KAAK,EAAE;AAAA,EACX;AACA,WAASF,IAAE,GAAG;AACZ,WAAO,EAAE,QAAQ,mBAAmB,OAAO,EAAE,YAAa;AAAA,EAC5D;AACA,WAASqB,IAAE,GAAG;AACZ,QAAI,OAAO,KAAK;AACd,aAAO;AACT,UAAM,IAAI,WAAW,CAAC;AACtB,QAAI,CAAC,OAAO,MAAM,CAAC,GAAG;AACpB,YAAM,IAAI,EAAE,SAAS,IAAI;AACzB,aAAO,KAAK,IAAI,IAAI;AAAA,IACxB;AACE,UAAM,IAAI,MAAM,4CAA4C,CAAC,EAAE;AAAA,EACjE;AACA,WAASI,IAAE,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG;AAC5B,WAAO,IAAI,QAAQ,CAACd,OAAM;AACxB,QAAE,UAAU,OAAO,CAAC,GAAG,EAAE,UAAU,IAAI,CAAC,GAAG,WAAW,MAAM;AAC1D,UAAE,UAAU,IAAI,CAAC,GAAG,EAAE,UAAU,OAAO,CAAC,GAAGA,GAAE,CAAC;AAAA,MACpD,GAAOU,IAAE,CAAC,CAAC;AAAA,IACX,CAAG;AAAA,EACH;AACA,iBAAe,EAAE,GAAG,GAAG,GAAG;AACxB,UAAMf,IAAE,GAAG,GAAG,CAAC,GAAG,KAAK,MAAMA,IAAE,GAAG,CAAC;AACnC,eAAW,KAAK,EAAE;AAChB,YAAMA,IAAE,GAAG,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG;AAClD,UAAM,EAAE,KAAK,GAAG,CAAC;AAAA,EACnB;AACA,WAASgB,IAAE,GAAG;AACZ,UAAM,IAAI,iBAAiB,EAAE,EAAE,GAAG,IAAI,CAAA,GAAI,IAAI,EAAE,WAAW,aAAa;AACxE,aAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AACjC,YAAMX,KAAII,OAAK,IAAI,EAAE,OAAO,OAAO,YAAa,GAAED,KAAId,IAAE,EAAE,CAAC,CAAC,GAAG0C,KAAI,EAAE,iBAAiB,KAAK/B,EAAC,GAAG,CAAC,IAAIG,EAAC,EAAE,EAAE,KAAM;AAC/G,MAAA4B,OAAM,EAAE5B,EAAC,IAAI4B;AAAA,IACjB;AACE,WAAO;AAAA,EACT;AACA,WAAS3B,MAAI;AACX,WAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,aAAa,EAAE,KAAM;AAAA,EAC/E;AACA,WAASP,IAAE,GAAG,GAAG,IAAI,SAAS;AAC5B,WAAO,IAAI,MAAM,UAAUN,IAAE,CAAC,IAAIF,IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI;AAAA,EAC9F;AACA,WAASiB,IAAE,GAAG,IAAI,IAAI;AACpB,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,OAAO,IAAI,CAAC,cAAc,eAAe,YAAY,iBAAiB;AAAA,IAC1E,IAAM;AACJ,eAAW,KAAK,GAAG;AACjB,YAAMN,KAAI,MAAM,gBAAgB,UAAU,SAAS,IAAIH,IAAE,KAAK,MAAM,GAAG,GAAGG,EAAC;AAC3E,UAAI,MAAM;AACR,eAAO;AAAA,IACb;AACE,QAAI,MAAM;AACR,aAAO;AACT,UAAM,IAAI,MAAM,GAAG,KAAK,OAAO,MAAM,4BAA4B,CAAC,EAAE;AAAA,EACtE;AACA,WAASN,IAAE,GAAG,GAAG;AACf,SAAK,SAAS,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM;AAC/C,UAAI,EAAE,MAAM,WAAW,WAAW,EAAE,MAAM,eAAe,UAAU;AAAA,IACvE,CAAG;AAAA,EACH;AACA,WAASa,IAAE,GAAG,GAAG;AACf,SAAK,SAAS,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM;AAC/C,WAAK,EAAE,QAAQ,MAAI,EAAE,aAAa,eAAe,MAAM,MAAM,EAAE,QAAQ,OAAI,EAAE,gBAAgB,aAAa;AAAA,IAC9G,CAAG;AAAA,EACH;AACA,WAASU,IAAE,GAAG,GAAG,GAAG;AAClBV,QAAE,CAAC,CAAC,GAAG,CAAC,GAAGb,IAAE,CAAC,CAAC,GAAG,CAAC;AAAA,EACrB;AACA,QAAMkB,MAAI;AAAA,IACR,QAAQ,CAAE;AAAA,IACV,GAAG,GAAG,MAAM,GAAG;AACb,WAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAA,IAAK,KAAK,OAAO,CAAC,EAAE;AAAA,QACtD,CAAC,MAAM,EAAE,aAAa;AAAA,MAC5B,KAAS,KAAK,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG;AAAA,IAClD;AAAA,IACD,IAAI,GAAG,GAAG;AACR,WAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAAA,QACjD,CAAC,MAAM,EAAE,aAAa;AAAA,MAC5B;AAAA,IACG;AAAA,IACD,MAAM,KAAK,GAAG,GAAG;AACf,UAAI,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,YAAW,IAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC;AACxF,mBAAW,EAAE,UAAU,GAAG,MAAM,OAAO,KAAK,OAAO,CAAC;AAClD,gBAAM,EAAE,GAAG,GAAG,CAAC;AAAA,IACvB;AAAA,EACA;YACA,MAAM,UAAU,MAAM;AAAA,IACpB,YAAY,IAAI,IAAI;AAClB,YAAO,GAAE,KAAK,UAAU;AAAA,IAC5B;AAAA,IACE,cAAc,GAAG;AACf,YAAM,IAAI,GAAG,YAAY,CAAA,GAAI,IAAI,KAAK,UAAU,EAAE,IAAI,KAAK,CAAE,GAAE,IAAI,GAAG,WAAW,CAAE;AACnF,QAAE,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAG;AAAA,IACrC;AAAA,IACE,SAAS,GAAG;AACV,aAAO,EAAE,UAAU,MAAM,OAAO,EAAE,QAAQ,YAAY,QAAQ,MAAM,yBAAyB,GAAG,SAAM;AAAA,IAC1G;AAAA,IACE,IAAI,GAAG;AACL,aAAO,KAAK,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;AAAA,IACxC;AAAA,IACE,IAAI,GAAG;AACL,UAAI,MAAM,QAAQ,CAAC;AACjB,UAAE,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AAAA,eACrB,KAAK,cAAc,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG;AAChD,cAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI;AACjD,SAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC;AAAA,MACpC;AAAA,IACA;AAAA,IACE,OAAO,GAAG;AACR,YAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;AAC5C,OAAC,KAAK,KAAK,OAAO,GAAG,CAAC;AAAA,IAC1B;AAAA,EACA;AACA,QAAMJ,MAAI;AAAA,IACR,YAAY;AAAA,IACZ,aAAa,CAAA;AAAA,EACf;AACA,MAAA,MAAA,MAAM,EAAE;AAAA,IACN,YAAY,GAAG,GAAG,IAAI,CAAA,GAAI;AACxB,WAAK,SAAS,GAAG,KAAK,KAAKe,IAAE,CAAC,GAAG,KAAK,WAAW,EAAE,GAAG,EAAC,GAAI,KAAK,aAAa,IAAI,KAAK,cAAc,CAAE;AAAA,IAC1G;AAAA,IACE,IAAI,KAAK;AACP,aAAO,KAAK,GAAG;AAAA,IACnB;AAAA,IACE,cAAc,GAAG;AACf,aAAO,OAAO,OAAO,KAAK,UAAU,CAAC;AAAA,IACzC;AAAA,IACE,WAAW,GAAG,GAAG;AACf,aAAOjB,IAAE,KAAK,MAAM,GAAG,CAAC;AAAA,IAC5B;AAAA,IACE,kBAAkB;AAChB,aAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACLO,IAAE,KAAK,IAAI,KAAK,WAAW,YAAY,CAAC;AAAA,MACzC;AAAA,IACL;AAAA,IACE,mBAAmB;AACjB,aAAO,OAAO,OAAO,KAAK,aAAaF,IAAE,IAAI,CAAC;AAAA,IAClD;AAAA,IACE,MAAM,KAAK,IAAI,IAAI;AACjB,WAAK,cAAc,CAAC,GAAG,KAAK,gBAAiB,GAAE,KAAK,iBAAkB;AAAA,IAC1E;AAAA,IACE,MAAM,UAAU;AACd,aAAO,oBAAoB,IAAI,EAAE,QAAQ,CAAC,MAAM;AAC9C,eAAO,KAAK,CAAC;AAAA,MACnB,CAAK;AAAA,IACL;AAAA,EACA;AACA,MAAA,MAAA,MAAM,EAAE;AAAA,IACN,YAAY,IAAI,IAAI;AAClB,WAAK,SAAS,KAAK,YAAY,MAAM,KAAK,aAAa,CAAE,GAAE,KAAK,aAAab,KAAG,KAAK,WAAW,EAAE,GAAGU,KAAG,GAAG,EAAG,GAAE,KAAK,UAAU,IAAIN,IAAE,KAAK,SAAS,OAAO,GAAG,KAAK,SAAS,CAAE,GAAE,OAAO,OAAO,MAAMU,GAAC;AAAA,IACxM;AAAA,IACE,IAAI,GAAG,IAAI,MAAM;AACf,aAAO,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;AAAA,IACjD;AAAA,IACE,cAAc,GAAG;AACf,aAAO,OAAO,OAAO,KAAK,UAAU,CAAC;AAAA,IACzC;AAAA,IACE,MAAM,YAAY,GAAG,GAAG;AACtB,YAAM,IAAI,IAAI,KAAK,WAAW,MAAM,GAAG,CAAC;AACxC,aAAO,MAAMjB,IAAE,GAAG,MAAM,GAAG,MAAM,EAAE,iBAAiB,MAAM,CAAC,GAAG;AAAA,IAClE;AAAA,IACE,MAAM,aAAa,GAAG;AACpB,aAAO,MAAM,EAAE,kBAAkB,MAAM,CAAC,GAAG,MAAMA,IAAE,GAAG,SAAS,GAAG;AAAA,IACtE;AAAA,IACE,MAAM,SAAS,GAAG,IAAI,IAAI;AACxB,YAAM,IAAI4B,IAAE,CAAC,GAAG,IAAI,KAAK,WAAW,UAAU,CAACvB,OAAMA,GAAE,OAAO,EAAE,EAAE;AAClE,UAAI,CAAC,GAAG;AACN,cAAMA,KAAI,KAAK,WAAW,CAAC;AAC3B,eAAOA,GAAE,KAAK,GAAG,OAAOA,GAAE,QAAQ,cAAc,MAAMA,GAAE,KAAK,CAAC,GAAGA;AAAA,MACvE,OAAW;AACL,cAAMA,KAAI,MAAM,KAAK,YAAY,GAAG,CAAC;AACrC,eAAO,KAAK,WAAW,KAAKA,EAAC,GAAG,MAAM,EAAE,mBAAmB,MAAMA,EAAC,GAAGA;AAAA,MAC3E;AAAA,IACA;AAAA,IACE,MAAM,WAAW,GAAG;AAClB,YAAM,IAAI,KAAK,WAAW,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;AACrD,UAAI,CAAC,GAAG;AACN,cAAM,IAAI,MAAM,KAAK,aAAa,KAAK,WAAW,CAAC,CAAC;AACpD,eAAO,MAAM;AAAA,UACX;AAAA,UACA;AAAA,UACA,KAAK,WAAW,CAAC;AAAA,QACzB,GAAS,KAAK,WAAW,OAAO,GAAG,CAAC,GAAG;AAAA,MACvC;AACI,aAAO;AAAA,IACX;AAAA,IACE,MAAM,MAAM,IAAI,IAAI;AAClB,WAAK,cAAc,CAAC;AACpB,iBAAW,KAAK,KAAK,UAAU,WAAW,CAAE;AAC1C,aAAK,QAAQ,IAAI,CAAC;AACpB,iBAAW,KAAK,KAAK;AACnB,cAAML,IAAE,GAAG,SAAS,EAAE,QAAQ,GAAG,QAAQ,MAAM;AACjD,YAAM,EAAE,eAAe,IAAI;AAC3B,YAAM,IAAI,SAAS,iBAAiB,KAAK,SAAS,QAAQ;AAC1D,iBAAW,KAAK;AACd,cAAM,KAAK,SAAS,CAAC;AACvB,aAAO,MAAM,EAAE,cAAc,IAAI,GAAG;AAAA,IACxC;AAAA,IACE,MAAM,UAAU;AACd,WAAK,MAAM,EAAE,iBAAiB,IAAI,GAAG,KAAK,WAAW,SAAS;AAC5D,cAAM,KAAK,WAAW,KAAK,WAAW,CAAC,EAAE,EAAE;AAC7C,YAAM,EAAE,gBAAgB,IAAI;AAC5B,iBAAW,KAAK,KAAK;AACnB,cAAMA,IAAE,GAAG,YAAY,EAAE,QAAQ,GAAG,QAAQ,MAAM;AACpD,iBAAW,KAAK,CAAC,GAAG,KAAK,OAAO;AAC9B,aAAK,QAAQ,OAAO,EAAE,IAAI;AAC5B,aAAO;AAAA,IACX;AAAA,EACA;AACA,QAAML,MAAI;AAAA,IACR,WAAW;AAAA,MACT,WAAW,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,UAAU,YAAY,EAAE,UAAU,YAAY,EAAE,SAAS;AAAA,IACzF;AAAA,IACD,YAAY;AAAA,MACV,SAAS,GAAG,GAAG;AACb,UAAE,OAAO,EAAE,UAAU,WAAW;AAAA,MACtC;AAAA,IACG;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO,CAAC,EAAE,OAAO,EAAG,MAAK,EAAE;AAAA,MAC3B,WAAW,CAAC,EAAE,OAAO,EAAG,MAAK,CAAC,UAAU,UAAU,eAAe,EAAE,SAAS,EAAE,KAAK;AAAA,MACnF,UAAU,CAAC,EAAE,OAAO,EAAG,MAAK,EAAE,WAAU;AAAA,IAC5C;AAAA,EACA,GAAGqC,MAAI;AAAA,IACL,SAASrC;AAAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,eAAe;AAAA,IACf,kBAAkB;AAAA,IAClB,aAAa;AAAA,IACb,cAAc;AAAA,IACd,cAAc;AAAA,IACd,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,aAAa,CAAC,qBAAqB;AAAA,IACnC,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,oBAAoB;AAAA,EACtB;AACA,WAAS4B,IAAE,GAAG;AACZ,YAAQ,EAAE,MAAI;AAAA,MACZ,KAAK;AACH,eAAOW,IAAE,CAAC;AAAA,MACZ,KAAK;AACH,eAAOd,IAAE,CAAC;AAAA,MACZ;AACE,cAAM,IAAI,MAAM,IAAI,EAAE,IAAI,+BAA+B;AAAA,IAC/D;AAAA,EACA;AACA,iBAAec,IAAE,GAAG;AAClB,WAAO,EAAE,GAAG,UAAU,OAAO,EAAE,WAAW,YAAY,CAAC,GAAG,EAAE,OAAO,gBAAgB,YAAY,GAAGZ;AAAAA,MAChG;AAAA,MACA,EAAE,WAAW,eAAe;AAAA,MAC5B,EAAE,WAAW,kBAAkB;AAAA,IAChC,GAAE,EAAE,WAAU,GAAI,EAAE,GAAG;AAAA,MACtB,IAAI,YAAY,EAAE,WAAW,mBAAmB,IAAI,cAAc;AAAA,QAChE,QAAQ,EAAE;AAAA,QACV,SAAS;AAAA,MACV,CAAA;AAAA,IACL,GAAK,MAAM,EAAE,OAAO,KAAK,cAAc,CAAC,GAAG;AAAA,EAC3C;AACA,iBAAeF,IAAE,GAAG;AAClB,WAAO,EAAE,GAAG,UAAU,IAAI,EAAE,WAAW,YAAY,CAAC,GAAG,EAAE,OAAO,aAAa,cAAc,MAAM,GAAG,MAAM,EAAE,MAAM,OAAI,KAAE,GAAG,EAAE,GAAG;AAAA,MAC9H,IAAI,YAAY,EAAE,WAAW,mBAAmB,IAAI,cAAc;AAAA,QAChE,QAAQ,EAAE;AAAA,QACV,SAAS;AAAA,MACV,CAAA;AAAA,IACL,GAAK,MAAM,EAAE,OAAO,KAAK,cAAc,CAAC,GAAG;AAAA,EAC3C;AACA,WAASnB,IAAE,GAAG;AACZ,MAAE,UAAU,EAAE,UAAU,YAAY,EAAE,OAAO,cAAc,EAAE,OAAO,SAAS,aAAa,KAAK,EAAE,QAAQ,MAAO,IAAG,EAAE,YAAY,EAAE,QAAQ,MAAO,GAAE,EAAE,UAAU;AAAA,EAClK;AACA,iBAAeR,IAAE,GAAG,GAAG,IAAI,MAAI;AAC7B,YAAQ,EAAE,UAAU,YAAY,EAAE,UAAU,mBAAmB,EAAE,UAAU,UAAU,EAAE,SAAS,SAAS,GAAG,KAAK,EAAE,WAAW,YAAY,IAAI,MAAM0B;AAAAA,MAClJ,EAAE;AAAA,MACF,EAAE,WAAW,aAAa;AAAA,MAC1B,EAAE,WAAW,cAAc;AAAA,MAC3B,EAAE,WAAW,aAAa;AAAA,MAC1B,EAAE,WAAW,oBAAoB;AAAA,IAClC,KAAI,EAAE,GAAG,UAAU,IAAI,EAAE,WAAW,aAAa,CAAC,GAAG,EAAE,GAAG,UAAU,OAAO,EAAE,WAAW,aAAa,CAAC,IAAI,EAAE,SAAS,QAAQ,GAAG,EAAE,SAAS,WAAWG;AAAAA,MACrJ;AAAA,MACA,EAAE,WAAW,eAAe;AAAA,MAC5B,EAAE,WAAW,kBAAkB;AAAA,IACnC,GAAK,KAAKrB,IAAE,CAAC,GAAG,EAAE,GAAG;AAAA,MACjB,IAAI,YAAY,EAAE,WAAW,mBAAmB,IAAI,UAAU;AAAA,QAC5D,QAAQ,EAAE;AAAA,QACV,SAAS;AAAA,MACV,CAAA;AAAA,IACL,GAAK,MAAM,EAAE,OAAO,KAAK,UAAU,CAAC,IAAI;AAAA,EACxC;AACA,iBAAe,EAAE,GAAG,GAAG,IAAI,MAAI;AAC7B,YAAQ,EAAE,UAAU,YAAY,EAAE,UAAU,mBAAmB,EAAE,UAAU,UAAU,EAAE,SAAS,SAAS,GAAG,SAAS,iBAAiB,SAAS,yBAAyB,eAAe,SAAS,cAAc,KAAM,GAAE,KAAK,EAAE,WAAW,YAAY,IAAI,MAAMkB;AAAAA,MAC5P,EAAE;AAAA,MACF,EAAE,WAAW,aAAa;AAAA,MAC1B,EAAE,WAAW,cAAc;AAAA,MAC3B,EAAE,WAAW,aAAa;AAAA,MAC1B,EAAE,WAAW,oBAAoB;AAAA,IAClC,KAAI,EAAE,GAAG,UAAU,IAAI,EAAE,WAAW,aAAa,CAAC,GAAG,EAAE,GAAG,UAAU,OAAO,EAAE,WAAW,aAAa,CAAC,IAAI,EAAE,SAAS,QAAQ,GAAG,EAAE,SAAS,WAAWG;AAAAA,MACrJ;AAAA,MACA,EAAE,WAAW,eAAe;AAAA,MAC5B,EAAE,WAAW,kBAAkB;AAAA,IACnC,GAAK,KAAKrB,IAAE,CAAC,GAAG,EAAE,GAAG;AAAA,MACjB,IAAI,YAAY,EAAE,WAAW,mBAAmB,IAAI,UAAU;AAAA,QAC5D,QAAQ,EAAE;AAAA,QACV,SAAS;AAAA,MACV,CAAA;AAAA,IACL,GAAK,MAAM,EAAE,OAAO,KAAK,UAAU,CAAC,IAAI;AAAA,EACxC;AACA,iBAAeJ,IAAE,GAAG,GAAG,GAAG;AACxB,WAAO,EAAE,UAAU,WAAWJ,IAAE,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC;AAAA,EACtD;AAAA,EACA,MAAM,UAAUU,IAAE;AAAA,IAChB;AAAA,IACA,YAAY,GAAG,GAAG,IAAI,CAAA,GAAI;AACxB,YAAM,GAAG,GAAG,CAAC,GAAG,KAAK,KAAK,iBAAiB,KAAK,SAAS,KAAK,GAAG,cAAc,KAAK,WAAW,gBAAgB,CAAC,KAAK,KAAK,IAAI,KAAK,UAAU,MAAM,KAAK,QAAQ,MAAM,KAAK,cAAc;AAAA,IAC7L;AAAA,IACE,IAAI,OAAO;AACT,aAAO,KAAK;AAAA,IAChB;AAAA,IACE,IAAI,KAAK,GAAG;AACV,WAAK,OAAO,MAAM,KAAK,KAAK,GAAGoB,IAAE,IAAI;AAAA,IACzC;AAAA,IACE,SAAS,GAAG;AACV,WAAK,QAAQ;AACb,YAAM,IAAI,CAAC,WAAW,SAAS;AAC/B,WAAK,SAAS,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,KAAK,cAAc,IAAI,MAAM,oBAAoB,KAAK,GAAG,UAAU,OAAO,KAAK,WAAW,aAAa,CAAC,GAAG,KAAK,GAAG,UAAU,OAAO,KAAK,WAAW,cAAc,CAAC,GAAG,KAAK,GAAG,UAAU,OAAO,KAAK,WAAW,aAAa,CAAC,GAAG,KAAK,GAAG,UAAU,OAAO,KAAK,WAAW,cAAc,CAAC;AAAA,IACzU;AAAA,IACE,MAAM,aAAa;AACjB,UAAI,KAAK,SAAS,QAAS,QAAO;AAClC,UAAI,KAAK,gBAAgB;AACvB,eAAO,MAAM,KAAK,KAAK,OAAI,KAAE;AAC/B,UAAI,KAAK,gBAAgB;AACvB,eAAO,MAAM,KAAK,MAAM,OAAI,KAAE;AAChC,UAAI,KAAK,UAAU,MAAM;AACvB,YAAI,KAAK,GAAG,UAAU,SAAS,KAAK,WAAW,aAAa,CAAC;AAC3D,iBAAO,MAAM,KAAK,KAAK,OAAI,KAAE;AAC/B,YAAI,KAAK,GAAG,UAAU,SAAS,KAAK,WAAW,aAAa,CAAC;AAC3D,iBAAO,MAAM,KAAK,MAAM,OAAI,KAAE;AAAA,MACtC;AACI,aAAO,KAAK,SAAS,eAAe,GAAG;AAAA,IAC3C;AAAA,IACE,MAAM,KAAK,GAAG,GAAG;AACf,aAAO9B,IAAE,MAAM,GAAG,CAAC;AAAA,IACvB;AAAA,IACE,MAAM,MAAM,GAAG,GAAG;AAChB,aAAO,EAAE,MAAM,GAAG,CAAC;AAAA,IACvB;AAAA,IACE,MAAM,OAAO,GAAG,GAAG;AACjB,aAAOI,IAAE,MAAM,GAAG,CAAC;AAAA,IACvB;AAAA,IACE,MAAM,aAAa;AACjB,aAAO,KAAK,OAAO,WAAW,KAAK,EAAE;AAAA,IACzC;AAAA,IACE,MAAM,gBAAgB;AACpB,WAAK,WAAW,aAAa,KAAK,KAAK,UAAU,KAAK,OAAO,aAAa,YAAY,IAAI,GAAG,MAAM,KAAK,WAAY,GAAE,KAAK,cAAc,KAAK,OAAO,KAAK,OAAO,KAAK,MAAM,KAAK,GAAG,UAAU,SAAS,KAAK,WAAW,YAAY,CAAC,IAAI,UAAU;AAAA,IACtP;AAAA,IACE,MAAM,iBAAiB;AACrB,WAAK,SAAS,WAAW,KAAK,UAAU,YAAY,MAAM,KAAK,MAAM,KAAE;AAAA,IAC3E;AAAA,EACA;AACA,WAASwB,IAAE,GAAG;AACZ,UAAM,IAAI,KAAK,IAAI,CAAC;AACpB,QAAI;AACF,aAAO;AACT,UAAM,IAAI,MAAM,8CAA8C,CAAC,GAAG;AAAA,EACpE;AACA,iBAAeI,IAAE,GAAG;AAClB,UAAM,IAAI,EAAE;AACZ,QAAI,GAAG;AACL,YAAM,IAAI,EAAE,QAAQ;AAAA,cACV,KAAK,SAAS,QAAQ;AAAA,cACtB,KAAK,SAAS,UAAU;AAAA,cACxB,KAAK,SAAS,SAAS;AAAA,KAChC;AACD,UAAI,GAAG;AACL,UAAE,eAAc,GAAI,EAAE,QAAQ,SAAS,KAAK,SAAS,UAAU,GAAG,KAAK,EAAE,aAAa,QAAQ,KAAK,SAAS,UAAU,EAAE,GAAG,KAAM,EAAC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM;AAC3J,gBAAMpB,KAAIgB,IAAE,KAAK,MAAM,CAAC;AACxB,iBAAOhB,GAAE,UAAU,GAAGA,GAAE,OAAQ;AAAA,QACjC,CAAA,GAAG,EAAE,QAAQ,SAAS,KAAK,SAAS,QAAQ,GAAG,KAAK,EAAE,aAAa,QAAQ,KAAK,SAAS,QAAQ,EAAE,GAAG,OAAO,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM;AACvI,gBAAMA,KAAIgB,IAAE,KAAK,MAAM,CAAC;AACxB,iBAAOhB,GAAE,UAAU,GAAGA,GAAE,KAAM;AAAA,QAC/B,CAAA,GAAG,EAAE,QAAQ,SAAS,KAAK,SAAS,SAAS,GAAG,KAAK,EAAE,aAAa,QAAQ,KAAK,SAAS,SAAS,EAAE,GAAG,OAAO,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM;AACzI,cAAI,GAAG;AACL,kBAAMA,KAAIgB,IAAE,KAAK,MAAM,CAAC;AACxB,mBAAOhB,GAAE,UAAU,GAAGA,GAAE,MAAO;AAAA,UACzC,OAAe;AACL,kBAAMA,KAAI,EAAE,QAAQ,KAAK,SAAS,QAAQ;AAC1C,gBAAIA,GAAG,QAAO,KAAK,MAAMA,GAAE,EAAE;AAAA,UACvC;AAAA,QACA,CAAO;AACD;AAAA,MACN;AACI,UAAI,KAAK,eAAe,EAAE,QAAQ,KAAK,SAAS,cAAc;AAC5D,eAAO,KAAK,MAAM,KAAK,YAAY,EAAE;AAAA,IAC3C;AAAA,EACA;AACA,WAAS,EAAE,GAAG;AACZ,QAAI,EAAE,QAAQ,YAAY,KAAK;AAC7B,aAAO,KAAK,MAAM,KAAK,YAAY,EAAE;AAAA,EACzC;YACA,MAAM,UAAUS,IAAE;AAAA,IAChB;AAAA,IACA;AAAA,IACA,YAAY,GAAG;AACb,YAAM,EAAE,GAAGkB,KAAG,GAAG,EAAC,CAAE,GAAG,KAAK,SAAS,UAAU,KAAK,aAAa,GAAG,KAAK,KAAKP,IAAE,KAAK,IAAI,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI;AAAA,IACrH;AAAA,IACE,IAAI,cAAc;AAChB,aAAO,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,UAAU,YAAY,EAAE,SAAS,OAAO;AAAA,IACjF;AAAA,IACE,MAAM,KAAK,GAAG,GAAG,GAAG;AAClB,YAAM,IAAIJ,IAAE,KAAK,MAAM,CAAC;AACxB,aAAO5B,IAAE,GAAG,GAAG,CAAC;AAAA,IACpB;AAAA,IACE,MAAM,MAAM,GAAG,GAAG,GAAG;AACnB,YAAM,IAAI4B,IAAE,KAAK,MAAM,CAAC;AACxB,aAAO,EAAE,GAAG,GAAG,CAAC;AAAA,IACpB;AAAA,IACE,MAAM,OAAO,GAAG,GAAG,GAAG;AACpB,YAAM,IAAIA,IAAE,KAAK,MAAM,CAAC;AACxB,aAAOxB,IAAE,GAAG,GAAG,CAAC;AAAA,IACpB;AAAA,IACE,MAAM,aAAa;AACjB,eAAS,iBAAiB,SAAS,KAAK,IAAI,KAAE,GAAG,SAAS,iBAAiB,WAAW,KAAK,IAAI,KAAE;AAAA,IACrG;AAAA,IACE,MAAM,eAAe;AACnB,eAAS,oBAAoB,SAAS,KAAK,IAAI,KAAE,GAAG,SAAS,oBAAoB,WAAW,KAAK,IAAI,KAAE;AAAA,IAC3G;AAAA,EACA;AC3cA,WAAS,EAAE,GAAG,IAAI,UAAU;AAC1B,UAAM,KAAK,EAAE,aAAa,QAAQ,CAAC,EAAE,KAAK,IAAI,QAAQ,MAAM,GAAG;AAC/D,WAAO,IAAI,KAAK,MAAM,CAAC,IAAI,CAAE;AAAA,EAC/B;AACA,WAAS,EAAE,GAAG;AACZ,QAAI,OAAO,KAAK,UAAU;AACxB,YAAM,IAAI,SAAS,eAAe,CAAC;AACnC,UAAI,EAAG,QAAO;AACd,YAAM,IAAI,MAAM,+BAA+B,CAAC,GAAG;AAAA,IACvD,WAAa,aAAa,aAAa;AACnC,UAAI,CAAC,EAAE;AACL,cAAM,IAAI,MAAM,6BAA6B;AAC/C,aAAO;AAAA,IACR;AACC,YAAM,IAAI,MAAM,yDAAyD;AAAA,EAC7E;AACA,iBAAe,EAAE,GAAG,MAAM,GAAG;AAC3B,SAAK,KAAK,OAAO,EAAE,CAAC,KAAK,cAAc,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;AAAA,EACxD;AACA,WAAS,EAAE,GAAG;AACZ,WAAO,EAAE,MAAM,GAAG,EAAE;AAAA,MAClB,CAAC,GAAG,MAAM,MAAM,IAAI,IAAI,EAAE,OAAO,CAAC,EAAE,YAAa,IAAG,EAAE,MAAM,CAAC;AAAA,IACjE,EAAI,KAAK,EAAE;AAAA,EACX;AACA,WAAS,EAAE,GAAG;AACZ,WAAO,EAAE,QAAQ,mBAAmB,OAAO,EAAE,YAAa;AAAA,EAC5D;AACA,WAASA,IAAE,GAAG;AACZ,QAAI,OAAO,KAAK;AACd,aAAO;AACT,UAAM,IAAI,WAAW,CAAC;AACtB,QAAI,CAAC,OAAO,MAAM,CAAC,GAAG;AACpB,YAAM,IAAI,EAAE,SAAS,IAAI;AACzB,aAAO,KAAK,IAAI,IAAI;AAAA,IACxB;AACE,UAAM,IAAI,MAAM,4CAA4C,CAAC,EAAE;AAAA,EACjE;AACA,WAAS,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG;AAC5B,WAAO,IAAI,QAAQ,CAACa,OAAM;AACxB,QAAE,UAAU,OAAO,CAAC,GAAG,EAAE,UAAU,IAAI,CAAC,GAAG,WAAW,MAAM;AAC1D,UAAE,UAAU,IAAI,CAAC,GAAG,EAAE,UAAU,OAAO,CAAC,GAAGA,GAAE,CAAC;AAAA,MACpD,GAAOb,IAAE,CAAC,CAAC;AAAA,IACX,CAAG;AAAA,EACH;AACA,iBAAe,EAAE,GAAG,GAAG,GAAG;AACxB,UAAM,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,MAAM,EAAE,GAAG,CAAC;AACnC,eAAW,KAAK,EAAE;AAChB,YAAM,EAAE,GAAG,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG;AAClD,UAAM,EAAE,KAAK,GAAG,CAAC;AAAA,EACnB;AACA,WAAS,EAAE,GAAG;AACZ,UAAM,IAAI,iBAAiB,EAAE,EAAE,GAAG,IAAI,CAAA,GAAI,IAAI,EAAE,WAAW,aAAa;AACxE,aAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AACjC,YAAMa,KAAI,KAAK,IAAI,EAAE,OAAO,OAAO,YAAa,GAAEZ,KAAI,EAAE,EAAE,CAAC,CAAC,GAAGsC,KAAI,EAAE,iBAAiB,KAAK1B,EAAC,GAAG,CAAC,IAAIZ,EAAC,EAAE,EAAE,KAAM;AAC/G,MAAAsC,OAAM,EAAEtC,EAAC,IAAIsC;AAAA,IACjB;AACE,WAAO;AAAA,EACT;AACA,WAAS,IAAI;AACX,WAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,aAAa,EAAE,KAAM;AAAA,EAC/E;AACA,WAAS,EAAE,GAAG,GAAG,IAAI,SAAS;AAC5B,WAAO,IAAI,MAAM,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI;AAAA,EAC9F;AACA,WAAS,EAAE,GAAG,IAAI,IAAI;AACpB,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,OAAO,IAAI,CAAC,cAAc,eAAe,YAAY,iBAAiB;AAAA,IAC1E,IAAM;AACJ,eAAW,KAAK,GAAG;AACjB,YAAM1B,KAAI,MAAM,gBAAgB,UAAU,SAAS,IAAI,EAAE,KAAK,MAAM,GAAG,GAAGA,EAAC;AAC3E,UAAI,MAAM;AACR,eAAO;AAAA,IACb;AACE,QAAI,MAAM;AACR,aAAO;AACT,UAAM,IAAI,MAAM,GAAG,KAAK,OAAO,MAAM,4BAA4B,CAAC,EAAE;AAAA,EACtE;AACA,WAAS,EAAE,GAAG,GAAG;AACf,SAAK,SAAS,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM;AAC/C,UAAI,EAAE,MAAM,WAAW,WAAW,EAAE,MAAM,eAAe,UAAU;AAAA,IACvE,CAAG;AAAA,EACH;AACA,WAASC,IAAE,GAAG,GAAG;AACf,SAAK,SAAS,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM;AAC/C,WAAK,EAAE,QAAQ,MAAI,EAAE,aAAa,eAAe,MAAM,MAAM,EAAE,QAAQ,OAAI,EAAE,gBAAgB,aAAa;AAAA,IAC9G,CAAG;AAAA,EACH;AACA,WAAS,EAAE,GAAG,GAAG,GAAG;AAClBA,QAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;AAAA,EACrB;AACA,QAAME,MAAI;AAAA,IACR,QAAQ,CAAE;AAAA,IACV,GAAG,GAAG,MAAM,GAAG;AACb,WAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAA,IAAK,KAAK,OAAO,CAAC,EAAE;AAAA,QACtD,CAAC,MAAM,EAAE,aAAa;AAAA,MAC5B,KAAS,KAAK,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG;AAAA,IAClD;AAAA,IACD,IAAI,GAAG,GAAG;AACR,WAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAAA,QACjD,CAAC,MAAM,EAAE,aAAa;AAAA,MAC5B;AAAA,IACG;AAAA,IACD,MAAM,KAAK,GAAG,GAAG;AACf,UAAI,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,YAAW,IAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC;AACxF,mBAAW,EAAE,UAAU,GAAG,MAAM,OAAO,KAAK,OAAO,CAAC;AAClD,gBAAM,EAAE,GAAG,GAAG,CAAC;AAAA,IACvB;AAAA,EACA;AAAA,EACA,MAAM,UAAU,MAAM;AAAA,IACpB,YAAY,IAAI,IAAI;AAClB,YAAO,GAAE,KAAK,UAAU;AAAA,IAC5B;AAAA,IACE,cAAc,GAAG;AACf,YAAM,IAAI,GAAG,YAAY,CAAA,GAAI,IAAI,KAAK,UAAU,EAAE,IAAI,KAAK,CAAE,GAAE,IAAI,GAAG,WAAW,CAAE;AACnF,QAAE,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAG;AAAA,IACrC;AAAA,IACE,SAAS,GAAG;AACV,aAAO,EAAE,UAAU,MAAM,OAAO,EAAE,QAAQ,YAAY,QAAQ,MAAM,yBAAyB,GAAG,SAAM;AAAA,IAC1G;AAAA,IACE,IAAI,GAAG;AACL,aAAO,KAAK,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;AAAA,IACxC;AAAA,IACE,IAAI,GAAG;AACL,UAAI,MAAM,QAAQ,CAAC;AACjB,UAAE,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AAAA,eACrB,KAAK,cAAc,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG;AAChD,cAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI;AACjD,SAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC;AAAA,MACpC;AAAA,IACA;AAAA,IACE,OAAO,GAAG;AACR,YAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;AAC5C,OAAC,KAAK,KAAK,OAAO,GAAG,CAAC;AAAA,IAC1B;AAAA,EACA;YACA,MAAM,UAAU,MAAM;AAAA,IACpB,YAAY,IAAI,IAAI;AAClB,YAAO,GAAE,KAAK,WAAW;AAAA,IAC7B;AAAA,IACE,IAAI,OAAO;AACT,aAAO,CAAC,GAAG,IAAI;AAAA,IACnB;AAAA,IACE,IAAI,MAAM;AACR,aAAO,KAAK,KAAK,SAAS,CAAC,KAAK;AAAA,IACpC;AAAA,IACE,cAAc;AACZ,WAAK,QAAQ,CAAC,GAAG,MAAM;AACrB,UAAE,GAAG,MAAM,SAAS;AACpB,cAAM,IAAI,iBAAiB,EAAE,EAAE,EAAE,SAAS;AAC1C,UAAE,GAAG,MAAM,SAAS,OAAO,SAAS,GAAG,EAAE,IAAI,IAAI,CAAC;AAAA,MACxD,CAAK;AAAA,IACL;AAAA,IACE,WAAW;AACT,WAAK,eAAe,OAAO,KAAK,SAAS,YAAY,cAAc,KAAK,SAAS,SAAU;AAAA,IAC/F;AAAA,IACE,IAAI,GAAG;AACL,WAAK,KAAK,CAAC,GAAG,KAAK,SAAU;AAAA,IACjC;AAAA,IACE,OAAO,GAAG;AACR,YAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;AAC7C,OAAC,MAAM,EAAE,GAAG,MAAM,SAAS,IAAI,KAAK,OAAO,GAAG,CAAC,GAAG,KAAK,SAAQ;AAAA,IACnE;AAAA,IACE,UAAU,GAAG;AACX,YAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;AAC7C,OAAC,MAAM,KAAK,OAAO,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC;AAAA,IACxC;AAAA,EACA;AACA,QAAMI,MAAI;AAAA,IACR,YAAY;AAAA,IACZ,aAAa,CAAA;AAAA,EACf;AAAA,EACA,MAAM,EAAE;AAAA,IACN,YAAY,GAAG,GAAG,IAAI,CAAA,GAAI;AACxB,WAAK,SAAS,GAAG,KAAK,KAAK,EAAE,CAAC,GAAG,KAAK,WAAW,EAAE,GAAG,EAAC,GAAI,KAAK,aAAa,IAAI,KAAK,cAAc,CAAE;AAAA,IAC1G;AAAA,IACE,IAAI,KAAK;AACP,aAAO,KAAK,GAAG;AAAA,IACnB;AAAA,IACE,cAAc,GAAG;AACf,aAAO,OAAO,OAAO,KAAK,UAAU,CAAC;AAAA,IACzC;AAAA,IACE,WAAW,GAAG,GAAG;AACf,aAAO,EAAE,KAAK,MAAM,GAAG,CAAC;AAAA,IAC5B;AAAA,IACE,kBAAkB;AAChB,aAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACL,EAAE,KAAK,IAAI,KAAK,WAAW,YAAY,CAAC;AAAA,MACzC;AAAA,IACL;AAAA,IACE,mBAAmB;AACjB,aAAO,OAAO,OAAO,KAAK,aAAa,EAAE,IAAI,CAAC;AAAA,IAClD;AAAA,IACE,MAAM,KAAK,IAAI,IAAI;AACjB,WAAK,cAAc,CAAC,GAAG,KAAK,gBAAiB,GAAE,KAAK,iBAAkB;AAAA,IAC1E;AAAA,IACE,MAAM,UAAU;AACd,aAAO,oBAAoB,IAAI,EAAE,QAAQ,CAAC,MAAM;AAC9C,eAAO,KAAK,CAAC;AAAA,MACnB,CAAK;AAAA,IACL;AAAA,EACA;AACA,MAAA,MAAA,MAAM,EAAE;AAAA,IACN,YAAY,IAAI,IAAI;AAClB,WAAK,SAAS,KAAK,YAAY,MAAM,KAAK,aAAa,CAAE,GAAE,KAAK,aAAa,GAAG,KAAK,WAAW,EAAE,GAAGA,KAAG,GAAG,EAAG,GAAE,KAAK,UAAU,IAAI,EAAE,KAAK,SAAS,OAAO,GAAG,KAAK,SAAS,CAAE,GAAE,OAAO,OAAO,MAAMJ,GAAC;AAAA,IACxM;AAAA,IACE,IAAI,GAAG,IAAI,MAAM;AACf,aAAO,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;AAAA,IACjD;AAAA,IACE,cAAc,GAAG;AACf,aAAO,OAAO,OAAO,KAAK,UAAU,CAAC;AAAA,IACzC;AAAA,IACE,MAAM,YAAY,GAAG,GAAG;AACtB,YAAM,IAAI,IAAI,KAAK,WAAW,MAAM,GAAG,CAAC;AACxC,aAAO,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,iBAAiB,MAAM,CAAC,GAAG;AAAA,IAClE;AAAA,IACE,MAAM,aAAa,GAAG;AACpB,aAAO,MAAM,EAAE,kBAAkB,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG;AAAA,IACtE;AAAA,IACE,MAAM,SAAS,GAAG,IAAI,IAAI;AACxB,YAAM,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,WAAW,UAAU,CAACH,OAAMA,GAAE,OAAO,EAAE,EAAE;AAClE,UAAI,CAAC,GAAG;AACN,cAAMA,KAAI,KAAK,WAAW,CAAC;AAC3B,eAAOA,GAAE,KAAK,GAAG,OAAOA,GAAE,QAAQ,cAAc,MAAMA,GAAE,KAAK,CAAC,GAAGA;AAAA,MACvE,OAAW;AACL,cAAMA,KAAI,MAAM,KAAK,YAAY,GAAG,CAAC;AACrC,eAAO,KAAK,WAAW,KAAKA,EAAC,GAAG,MAAM,EAAE,mBAAmB,MAAMA,EAAC,GAAGA;AAAA,MAC3E;AAAA,IACA;AAAA,IACE,MAAM,WAAW,GAAG;AAClB,YAAM,IAAI,KAAK,WAAW,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;AACrD,UAAI,CAAC,GAAG;AACN,cAAM,IAAI,MAAM,KAAK,aAAa,KAAK,WAAW,CAAC,CAAC;AACpD,eAAO,MAAM;AAAA,UACX;AAAA,UACA;AAAA,UACA,KAAK,WAAW,CAAC;AAAA,QACzB,GAAS,KAAK,WAAW,OAAO,GAAG,CAAC,GAAG;AAAA,MACvC;AACI,aAAO;AAAA,IACX;AAAA,IACE,MAAM,MAAM,IAAI,IAAI;AAClB,WAAK,cAAc,CAAC;AACpB,iBAAW,KAAK,KAAK,UAAU,WAAW,CAAE;AAC1C,aAAK,QAAQ,IAAI,CAAC;AACpB,iBAAW,KAAK,KAAK;AACnB,cAAM,EAAE,GAAG,SAAS,EAAE,QAAQ,GAAG,QAAQ,MAAM;AACjD,YAAM,EAAE,eAAe,IAAI;AAC3B,YAAM,IAAI,SAAS,iBAAiB,KAAK,SAAS,QAAQ;AAC1D,iBAAW,KAAK;AACd,cAAM,KAAK,SAAS,CAAC;AACvB,aAAO,MAAM,EAAE,cAAc,IAAI,GAAG;AAAA,IACxC;AAAA,IACE,MAAM,UAAU;AACd,WAAK,MAAM,EAAE,iBAAiB,IAAI,GAAG,KAAK,WAAW,SAAS;AAC5D,cAAM,KAAK,WAAW,KAAK,WAAW,CAAC,EAAE,EAAE;AAC7C,YAAM,EAAE,gBAAgB,IAAI;AAC5B,iBAAW,KAAK,KAAK;AACnB,cAAM,EAAE,GAAG,YAAY,EAAE,QAAQ,GAAG,QAAQ,MAAM;AACpD,iBAAW,KAAK,CAAC,GAAG,KAAK,OAAO;AAC9B,aAAK,QAAQ,OAAO,EAAE,IAAI;AAC5B,aAAO;AAAA,IACX;AAAA,EACA;AACA,QAAMI,MAAI;AAAA;AAAA,IAER,UAAU;AAAA,IACV,WAAW;AAAA,IACX,aAAa;AAAA;AAAA,IAEb,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,eAAe;AAAA,IACf,eAAe;AAAA,IACf,kBAAkB;AAAA;AAAA,IAElB,aAAa;AAAA,IACb,cAAc;AAAA,IACd,cAAc;AAAA,IACd,aAAa;AAAA;AAAA,IAEb,aAAa,CAAC,qBAAqB;AAAA,IACnC,mBAAmB;AAAA,IACnB,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,oBAAoB;AAAA,EACtB;AACA,WAAS,EAAE,GAAG;AACZ,MAAE,UAAU,EAAE,OAAO,OAAO,cAAc,EAAE,SAAS,aAAa,KAAK,EAAE,OAAO,QAAQ,MAAK,IAAK,EAAE,YAAY,EAAE,QAAQ,MAAO,GAAE,EAAE,UAAU;AAAA,EACjJ;AACA,iBAAe,EAAE,GAAG,GAAG,IAAI,MAAI;AAC7B,WAAO,EAAE,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,UAAU,aAAa,EAAE,QAAQ,WAAW,EAAE,OAAO,MAAM,IAAI,CAAC,GAAG,KAAK,EAAE,WAAW,YAAY,IAAI,MAAM;AAAA,MAC/I,EAAE;AAAA,MACF,EAAE,WAAW,aAAa;AAAA,MAC1B,EAAE,WAAW,cAAc;AAAA,MAC3B,EAAE,WAAW,aAAa;AAAA,MAC1B,EAAE,WAAW,oBAAoB;AAAA,IAClC,KAAI,EAAE,GAAG,UAAU,IAAI,EAAE,WAAW,aAAa,CAAC,GAAG,EAAE,GAAG,UAAU,OAAO,EAAE,WAAW,aAAa,CAAC,IAAI,EAAE,QAAQ,WAAW,KAAK,EAAE,EAAE,MAAM,GAAG,EAAE,GAAG;AAAA,MACrJ,IAAI,YAAY,EAAE,WAAW,mBAAmB,IAAI,UAAU;AAAA,QAC5D,QAAQ,EAAE;AAAA,QACV,SAAS;AAAA,MACV,CAAA;AAAA,IACL,GAAK,MAAM,EAAE,OAAO,KAAK,UAAU,CAAC,GAAG;AAAA,EACvC;AACA,iBAAe,EAAE,GAAG,GAAG,IAAI,MAAI;AAC7B,WAAO,KAAK,EAAE,UAAU,aAAa,EAAE,QAAQ,WAAW,SAAS,iBAAiB,SAAS,yBAAyB,eAAe,SAAS,cAAc,KAAM,GAAE,KAAK,EAAE,WAAW,YAAY,IAAI,MAAM;AAAA,MAC1M,EAAE;AAAA,MACF,EAAE,WAAW,aAAa;AAAA,MAC1B,EAAE,WAAW,cAAc;AAAA,MAC3B,EAAE,WAAW,aAAa;AAAA,MAC1B,EAAE,WAAW,oBAAoB;AAAA,IACrC,KAAO,EAAE,GAAG,UAAU,IAAI,EAAE,WAAW,aAAa,CAAC,GAAG,EAAE,GAAG,UAAU,OAAO,EAAE,WAAW,aAAa,CAAC,IAAI,EAAE,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,QAAQ,UAAU,KAAK,EAAE,EAAE,MAAM,GAAG,EAAE,GAAG;AAAA,MAC9K,IAAI,YAAY,EAAE,WAAW,mBAAmB,IAAI,UAAU;AAAA,QAC5D,QAAQ,EAAE;AAAA,QACV,SAAS;AAAA,MACV,CAAA;AAAA,IACL,GAAK,MAAM,EAAE,OAAO,KAAK,UAAU,CAAC,IAAI;AAAA,EACxC;AACA,iBAAe,EAAE,GAAG,GAAG,IAAI,MAAI;AAC7B,QAAI,GAAG;AACP,WAAO,EAAE,UAAU,YAAY,IAAI,GAAG,IAAI,MAAM,EAAE,OAAO,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,QAAQ,IAAI;AAAA,MACvG,EAAE,OAAO,SAAS,IAAI,CAAC;AAAA,MACvB,EAAE,GAAG,GAAG,KAAE;AAAA,IACd,CAAG,GAAG,KAAK,EAAE,EAAE,MAAM,GAAG,EAAE,QAAQ,GAAG,QAAQ,EAAG;AAAA,EAChD;YACA,MAAM,UAAU,EAAE;AAAA,IAChB,YAAY,GAAG,GAAG,IAAI,CAAA,GAAI;AACxB,YAAM,GAAG,GAAG,CAAC,GAAG,KAAK,QAAQ,UAAU,KAAK,SAAS,KAAK,GAAG,cAAc,KAAK,WAAW,gBAAgB,CAAC,KAAK,KAAK;AAAA,IAC1H;AAAA,IACE,IAAI,aAAa;AACf,aAAO,KAAK,OAAO,QAAQ,KAAK,WAAW,kBAAkB,CAAC;AAAA,IAClE;AAAA,IACE,MAAM,KAAK,GAAG,GAAG;AACf,aAAO,EAAE,MAAM,GAAG,CAAC;AAAA,IACvB;AAAA,IACE,MAAM,MAAM,GAAG,GAAG;AAChB,aAAO,EAAE,MAAM,GAAG,CAAC;AAAA,IACvB;AAAA,IACE,MAAM,QAAQ,GAAG,GAAG;AAClB,aAAO,EAAE,MAAM,GAAG,CAAC;AAAA,IACvB;AAAA,IACE,MAAM,aAAa;AACjB,aAAO,KAAK,OAAO,WAAW,KAAK,EAAE;AAAA,IACzC;AAAA,IACE,MAAM,gBAAgB;AACpB,WAAK,OAAO,aAAa,cAAc,MAAM,GAAG,KAAK,OAAO,aAAa,MAAM,KAAK,KAAK,OAAO,aAAa,QAAQ,QAAQ,GAAG,KAAK,WAAW,aAAa,KAAK,KAAK,OAAO,aAAa,YAAY,IAAI;AAAA,IAC/M;AAAA,IACE,MAAM,kBAAkB;AACtB,WAAK,GAAG,UAAU,SAAS,KAAK,WAAW,aAAa,CAAC,IAAI,MAAM,KAAK,KAAK,KAAE,KAAK,KAAK,GAAG,UAAU,OAAO,KAAK,WAAW,cAAc,CAAC,GAAG,KAAK,GAAG,UAAU,OAAO,KAAK,WAAW,cAAc,CAAC,GAAG,KAAK,GAAG,UAAU,IAAI,KAAK,WAAW,aAAa,CAAC;AAAA,IAClQ;AAAA,IACE,MAAM,iBAAiB;AACrB,WAAK,UAAU,YAAY,MAAM,KAAK,MAAM,KAAE;AAAA,IAClD;AAAA,EACA;AACA,WAAS,EAAE,GAAG;AACZ,UAAM,IAAI,KAAK,IAAI,CAAC;AACpB,QAAI;AACF,aAAO;AACT,UAAM,IAAI,MAAM,6CAA6C,CAAC,IAAI;AAAA,EACpE;AACA,iBAAekB,IAAE,GAAG;AAClB,UAAM,IAAI,EAAE;AACZ,QAAI,GAAG;AACL,YAAM,IAAI,EAAE,QAAQ;AAAA,cACV,KAAK,SAAS,QAAQ;AAAA,cACtB,KAAK,SAAS,WAAW;AAAA,cACzB,KAAK,SAAS,SAAS;AAAA,KAChC;AACD,UAAI,GAAG;AACL,YAAI,EAAE,kBAAkB,EAAE,QAAQ,SAAS,KAAK,SAAS,QAAQ,GAAG,GAAG;AACrE,gBAAM,IAAI,EAAE,aAAa,QAAQ,KAAK,SAAS,QAAQ,EAAE,GAAG,KAAI,GAAI,IAAI,EAAE,KAAK,MAAM,CAAC;AACtF,iBAAO,EAAE,QAAQ,KAAK,SAAS,QAAQ,MAAM,KAAK,UAAU,IAAI,EAAE,KAAM;AAAA,QAChF;AACM,YAAI,EAAE,QAAQ,SAAS,KAAK,SAAS,WAAW,GAAG,GAAG;AACpD,gBAAM,IAAI,EAAE,aAAa,QAAQ,KAAK,SAAS,WAAW,EAAE,GAAG,KAAI,GAAI,IAAI,EAAE,KAAK,MAAM,CAAC;AACzF,iBAAO,EAAE,QAAQ,KAAK,SAAS,QAAQ,MAAM,KAAK,UAAU,IAAI,EAAE,QAAS;AAAA,QACnF;AACM,YAAI,EAAE,QAAQ,SAAS,KAAK,SAAS,SAAS,GAAG,GAAG;AAClD,gBAAM,IAAI,EAAE,aAAa,QAAQ,KAAK,SAAS,SAAS,EAAE,GAAG,KAAM;AACnE,iBAAO,MAAM,MAAM,KAAK,SAAU,IAAG,KAAK,MAAM,KAAK,EAAE;AAAA,QAC/D;AAAA,MACA;AACI,UAAI,KAAK,UAAU,EAAE,QAAQ,KAAK,SAAS,cAAc,KAAK,CAAC,KAAK,OAAO;AACzE,eAAO,KAAK,MAAO;AAAA,IACzB;AAAA,EACA;AACA,WAASC,IAAE,GAAG;AACZ,QAAI,EAAE,QAAQ,YAAY,KAAK,UAAU,CAAC,KAAK,OAAO,OAAO,QAAQ,KAAK,SAAS,gBAAgB;AACjG,aAAO,KAAK,MAAO;AAAA,EACvB;AACA,iBAAeC,IAAE,IAAI,IAAI,GAAG;AAC1B,UAAM,IAAI,CAAE;AACZ,WAAO,MAAM,QAAQ;AAAA,MACnB,KAAK,MAAM,KAAK,IAAI,OAAO,MAAM;AAC/B,aAAK,MAAM,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,KAAE,CAAC;AAAA,MAC5C,CAAA;AAAA,IACL,GAAK;AAAA,EACL;YACA,MAAM,UAAUX,IAAE;AAAA,IAChB;AAAA,IACA;AAAA,IACA,YAAY,GAAG;AACb,YAAM,EAAE,GAAGT,KAAG,GAAG,EAAC,CAAE,GAAG,KAAK,SAAS,SAAS,KAAK,aAAaR,KAAG,KAAK,UAAU,MAAM,KAAK,KAAK0B,IAAE,KAAK,IAAI,GAAG,KAAK,KAAKC,IAAE,KAAK,IAAI,GAAG,KAAK,QAAQ,IAAItC,IAAE;AAAA,QACzJ,UAAU,MAAM;AACd;AAAA,YACE,CAAC,CAAC,KAAK,MAAM;AAAA,YACb,KAAK,SAAS;AAAA,YACd,KAAK,SAAS;AAAA,UACf;AAAA,QACT;AAAA,MACA,CAAK;AAAA,IACL;AAAA,IACE,IAAI,SAAS;AACX,aAAO,KAAK,MAAM;AAAA,IACtB;AAAA,IACE,MAAM,KAAK,GAAG,GAAG,GAAG;AAClB,YAAM,IAAI,EAAE,KAAK,MAAM,CAAC;AACxB,aAAO,EAAE,GAAG,GAAG,CAAC;AAAA,IACpB;AAAA,IACE,MAAM,MAAM,GAAG,GAAG,GAAG;AACnB,YAAM,IAAI,IAAI,EAAE,KAAK,MAAM,CAAC,IAAI,KAAK;AACrC,aAAO,EAAE,GAAG,GAAG,CAAC;AAAA,IACpB;AAAA,IACE,MAAM,QAAQ,GAAG,GAAG,GAAG;AACrB,YAAM,IAAI,EAAE,KAAK,MAAM,CAAC;AACxB,aAAO,EAAE,GAAG,GAAG,CAAC;AAAA,IACpB;AAAA,IACE,MAAM,SAAS,GAAG,GAAG,IAAI,MAAI;AAC3B,YAAM,IAAI,MAAMuC,IAAE,KAAK,MAAM,GAAG,CAAC;AACjC,aAAO,KAAK,EAAE,IAAI,GAAG;AAAA,IACzB;AAAA,IACE,MAAM,aAAa;AACjB,eAAS,iBAAiB,SAAS,KAAK,IAAI,KAAE,GAAG,SAAS,iBAAiB,WAAW,KAAK,IAAI,KAAE;AAAA,IACrG;AAAA,IACE,MAAM,gBAAgB;AACpB,WAAK,UAAU;AAAA,IACnB;AAAA,IACE,MAAM,eAAe;AACnB,eAAS,oBAAoB,SAAS,KAAK,IAAI,KAAE,GAAG,SAAS,oBAAoB,WAAW,KAAK,IAAI,KAAE;AAAA,IAC3G;AAAA,EACA;AC3bA,WAAS,GAAG,GAAG,IAAI,UAAU;AAC3B,UAAM,KAAK,EAAE,aAAa,QAAQ,CAAC,EAAE,KAAK,IAAI,QAAQ,MAAM,GAAG;AAC/D,WAAO,IAAI,KAAK,MAAM,CAAC,IAAI,CAAE;AAAA,EAC/B;AACA,WAAS,GAAG,GAAG;AACb,QAAI,OAAO,KAAK,UAAU;AACxB,YAAM,IAAI,SAAS,eAAe,CAAC;AACnC,UAAI,EAAG,QAAO;AACd,YAAM,IAAI,MAAM,+BAA+B,CAAC,GAAG;AAAA,IACvD,WAAa,aAAa,aAAa;AACnC,UAAI,CAAC,EAAE;AACL,cAAM,IAAI,MAAM,6BAA6B;AAC/C,aAAO;AAAA,IACR;AACC,YAAM,IAAI,MAAM,yDAAyD;AAAA,EAC7E;AACA,iBAAe,EAAE,GAAG,MAAM,GAAG;AAC3B,SAAK,KAAK,OAAO,EAAE,CAAC,KAAK,cAAc,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;AAAA,EACxD;AACA,WAAS,GAAG,GAAG;AACb,WAAO,EAAE,MAAM,GAAG,EAAE;AAAA,MAClB,CAAC,GAAG,MAAM,MAAM,IAAI,IAAI,EAAE,OAAO,CAAC,EAAE,YAAa,IAAG,EAAE,MAAM,CAAC;AAAA,IACjE,EAAI,KAAK,EAAE;AAAA,EACX;AACA,WAAS,GAAG,GAAG;AACb,WAAO,EAAE,QAAQ,mBAAmB,OAAO,EAAE,YAAa;AAAA,EAC5D;AACA,iBAAe,EAAE,GAAG,GAAG,GAAG;AACxB,UAAM,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,MAAM,EAAE,GAAG,CAAC;AACnC,eAAW,KAAK,EAAE;AAChB,YAAM,EAAE,GAAG,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG;AAClD,UAAM,EAAE,KAAK,GAAG,CAAC;AAAA,EACnB;AACA,WAAS,GAAG,GAAG;AACb,UAAM,IAAI,iBAAiB,EAAE,EAAE,GAAG,IAAI,CAAA,GAAI,IAAI,EAAE,WAAW,aAAa;AACxE,aAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AACjC,YAAMxB,KAAI,MAAMV,KAAI,EAAE,OAAO,OAAO,YAAa,GAAE,IAAI,GAAG,EAAE,CAAC,CAAC,GAAGqB,KAAI,EAAE,iBAAiB,KAAKX,EAAC,GAAGV,EAAC,IAAI,CAAC,EAAE,EAAE,KAAM;AACjH,MAAAqB,OAAM,EAAE,CAAC,IAAIA;AAAA,IACjB;AACE,WAAO;AAAA,EACT;AACA,WAAS,KAAK;AACZ,WAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,aAAa,EAAE,KAAM;AAAA,EAC/E;AACA,WAAS,GAAG,GAAG,GAAG,IAAI,SAAS;AAC7B,WAAO,IAAI,MAAM,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI;AAAA,EAChG;AACA,WAAS,GAAG,GAAG,IAAI,IAAI;AACrB,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,OAAO,IAAI,CAAC,cAAc,eAAe,YAAY,iBAAiB;AAAA,IAC1E,IAAM;AACJ,eAAW,KAAK,GAAG;AACjB,YAAMX,KAAI,MAAM,gBAAgB,UAAU,SAASV,KAAI,GAAG,KAAK,MAAM,GAAG,GAAGU,EAAC;AAC5E,UAAIV,OAAM;AACR,eAAOA;AAAA,IACb;AACE,QAAI,MAAM;AACR,aAAO;AACT,UAAM,IAAI,MAAM,GAAG,KAAK,OAAO,MAAM,4BAA4B,CAAC,EAAE;AAAA,EACtE;AACA,QAAM,KAAK;AAAA,IACT,QAAQ,CAAE;AAAA,IACV,GAAG,GAAG,MAAM,GAAG;AACb,WAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAA,IAAK,KAAK,OAAO,CAAC,EAAE;AAAA,QACtD,CAAC,MAAM,EAAE,aAAa;AAAA,MAC5B,KAAS,KAAK,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG;AAAA,IAClD;AAAA,IACD,IAAI,GAAG,GAAG;AACR,WAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAAA,QACjD,CAAC,MAAM,EAAE,aAAa;AAAA,MAC5B;AAAA,IACG;AAAA,IACD,MAAM,KAAK,GAAG,GAAG;AACf,UAAI,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,YAAW,IAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC;AACxF,mBAAW,EAAE,UAAU,GAAG,MAAM,OAAO,KAAK,OAAO,CAAC;AAClD,gBAAM,EAAE,GAAG,GAAG,CAAC;AAAA,IACvB;AAAA,EACA;AAAA,EACA,MAAM,WAAW,MAAM;AAAA,IACrB,YAAY,IAAI,IAAI;AAClB,YAAO,GAAE,KAAK,UAAU;AAAA,IAC5B;AAAA,IACE,cAAc,GAAG;AACf,YAAM,IAAI,GAAG,YAAY,CAAA,GAAI,IAAI,KAAK,UAAU,EAAE,IAAI,KAAK,CAAE,GAAE,IAAI,GAAG,WAAW,CAAE;AACnF,QAAE,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAG;AAAA,IACrC;AAAA,IACE,SAAS,GAAG;AACV,aAAO,EAAE,UAAU,MAAM,OAAO,EAAE,QAAQ,YAAY,QAAQ,MAAM,yBAAyB,GAAG,SAAM;AAAA,IAC1G;AAAA,IACE,IAAI,GAAG;AACL,aAAO,KAAK,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;AAAA,IACxC;AAAA,IACE,IAAI,GAAG;AACL,UAAI,MAAM,QAAQ,CAAC;AACjB,UAAE,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AAAA,eACrB,KAAK,cAAc,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG;AAChD,cAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI;AACjD,SAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC;AAAA,MACpC;AAAA,IACA;AAAA,IACE,OAAO,GAAG;AACR,YAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;AAC5C,OAAC,KAAK,KAAK,OAAO,GAAG,CAAC;AAAA,IAC1B;AAAA,EACA;AACA,QAAM,KAAK;AAAA,IACT,YAAY;AAAA,IACZ,aAAa,CAAA;AAAA,EACf;AAAA,EACA,MAAM,GAAG;AAAA,IACP,YAAY,GAAG,GAAG,IAAI,CAAA,GAAI;AACxB,WAAK,SAAS,GAAG,KAAK,KAAK,GAAG,CAAC,GAAG,KAAK,WAAW,EAAE,GAAG,EAAC,GAAI,KAAK,aAAa,IAAI,KAAK,cAAc,CAAE;AAAA,IAC3G;AAAA,IACE,IAAI,KAAK;AACP,aAAO,KAAK,GAAG;AAAA,IACnB;AAAA,IACE,cAAc,GAAG;AACf,aAAO,OAAO,OAAO,KAAK,UAAU,CAAC;AAAA,IACzC;AAAA,IACE,WAAW,GAAG,GAAG;AACf,aAAO,GAAG,KAAK,MAAM,GAAG,CAAC;AAAA,IAC7B;AAAA,IACE,kBAAkB;AAChB,aAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACL,GAAG,KAAK,IAAI,KAAK,WAAW,YAAY,CAAC;AAAA,MAC1C;AAAA,IACL;AAAA,IACE,mBAAmB;AACjB,aAAO,OAAO,OAAO,KAAK,aAAa,GAAG,IAAI,CAAC;AAAA,IACnD;AAAA,IACE,MAAM,KAAK,IAAI,IAAI;AACjB,WAAK,cAAc,CAAC,GAAG,KAAK,gBAAiB,GAAE,KAAK,iBAAkB;AAAA,IAC1E;AAAA,IACE,MAAM,UAAU;AACd,aAAO,oBAAoB,IAAI,EAAE,QAAQ,CAAC,MAAM;AAC9C,eAAO,KAAK,CAAC;AAAA,MACnB,CAAK;AAAA,IACL;AAAA,EACA;AAAA,EACA,MAAM,GAAG;AAAA,IACP,YAAY,IAAI,IAAI;AAClB,WAAK,SAAS,KAAK,YAAY,MAAM,KAAK,aAAa,CAAE,GAAE,KAAK,aAAa,IAAI,KAAK,WAAW,EAAE,GAAG,IAAI,GAAG,EAAG,GAAE,KAAK,UAAU,IAAI,GAAG,KAAK,SAAS,OAAO,GAAG,KAAK,SAAS,CAAE,GAAE,OAAO,OAAO,MAAM,EAAE;AAAA,IAC5M;AAAA,IACE,IAAI,GAAG,IAAI,MAAM;AACf,aAAO,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;AAAA,IACjD;AAAA,IACE,cAAc,GAAG;AACf,aAAO,OAAO,OAAO,KAAK,UAAU,CAAC;AAAA,IACzC;AAAA,IACE,MAAM,YAAY,GAAG,GAAG;AACtB,YAAM,IAAI,IAAI,KAAK,WAAW,MAAM,GAAG,CAAC;AACxC,aAAO,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,iBAAiB,MAAM,CAAC,GAAG;AAAA,IAClE;AAAA,IACE,MAAM,aAAa,GAAG;AACpB,aAAO,MAAM,EAAE,kBAAkB,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG;AAAA,IACtE;AAAA,IACE,MAAM,SAAS,GAAG,IAAI,IAAI;AACxB,YAAM,IAAI,GAAG,CAAC,GAAG,IAAI,KAAK,WAAW,UAAU,CAACU,OAAMA,GAAE,OAAO,EAAE,EAAE;AACnE,UAAI,CAAC,GAAG;AACN,cAAMA,KAAI,KAAK,WAAW,CAAC;AAC3B,eAAOA,GAAE,KAAK,GAAG,OAAOA,GAAE,QAAQ,cAAc,MAAMA,GAAE,KAAK,CAAC,GAAGA;AAAA,MACvE,OAAW;AACL,cAAMA,KAAI,MAAM,KAAK,YAAY,GAAG,CAAC;AACrC,eAAO,KAAK,WAAW,KAAKA,EAAC,GAAG,MAAM,EAAE,mBAAmB,MAAMA,EAAC,GAAGA;AAAA,MAC3E;AAAA,IACA;AAAA,IACE,MAAM,WAAW,GAAG;AAClB,YAAM,IAAI,KAAK,WAAW,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;AACrD,UAAI,CAAC,GAAG;AACN,cAAM,IAAI,MAAM,KAAK,aAAa,KAAK,WAAW,CAAC,CAAC;AACpD,eAAO,MAAM;AAAA,UACX;AAAA,UACA;AAAA,UACA,KAAK,WAAW,CAAC;AAAA,QACzB,GAAS,KAAK,WAAW,OAAO,GAAG,CAAC,GAAG;AAAA,MACvC;AACI,aAAO;AAAA,IACX;AAAA,IACE,MAAM,MAAM,IAAI,IAAI;AAClB,WAAK,cAAc,CAAC;AACpB,iBAAW,KAAK,KAAK,UAAU,WAAW,CAAE;AAC1C,aAAK,QAAQ,IAAI,CAAC;AACpB,iBAAW,KAAK,KAAK;AACnB,cAAM,EAAE,GAAG,SAAS,EAAE,QAAQ,GAAG,QAAQ,MAAM;AACjD,YAAM,EAAE,eAAe,IAAI;AAC3B,YAAM,IAAI,SAAS,iBAAiB,KAAK,SAAS,QAAQ;AAC1D,iBAAW,KAAK;AACd,cAAM,KAAK,SAAS,CAAC;AACvB,aAAO,MAAM,EAAE,cAAc,IAAI,GAAG;AAAA,IACxC;AAAA,IACE,MAAM,UAAU;AACd,WAAK,MAAM,EAAE,iBAAiB,IAAI,GAAG,KAAK,WAAW,SAAS;AAC5D,cAAM,KAAK,WAAW,KAAK,WAAW,CAAC,EAAE,EAAE;AAC7C,YAAM,EAAE,gBAAgB,IAAI;AAC5B,iBAAW,KAAK,KAAK;AACnB,cAAM,EAAE,GAAG,YAAY,EAAE,QAAQ,GAAG,QAAQ,MAAM;AACpD,iBAAW,KAAK,CAAC,GAAG,KAAK,OAAO;AAC9B,aAAK,QAAQ,OAAO,EAAE,IAAI;AAC5B,aAAO;AAAA,IACX;AAAA,EACA;AACA,QAAM,KAAK;AAAA;AAAA,IAET,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB,eAAe;AAAA;AAAA,IAEf,aAAa;AAAA;AAAA,IAEb,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,mBAAmB;AAAA,IACnB,WAAW;AAAA,IACX,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,cAAc;AAAA,IACd,cAAc;AAAA,IACd,aAAa;AAAA,EACf,GAAG,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,OAAO,KAAK,KAAK,OAAO,IAAI,CAAC,OAAO;AAAA,IAC3E,GAAG;AAAA,IACH,GAAG;AAAA,EACL,IAAI,KAAK;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,KAAK;AAAA,EACP,GAAG,KAAK;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,EACP;AACA,WAAS,GAAG,GAAG,GAAG,GAAG;AACnB,WAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAAA,EACrB;AACA,WAAS,EAAE,GAAG,GAAG;AACf,WAAO,OAAO,KAAK,aAAa,EAAE,CAAC,IAAI;AAAA,EACzC;AACA,WAAS,EAAE,GAAG;AACZ,WAAO,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EACvB;AACA,WAAS,GAAG,GAAG;AACb,WAAO,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EACvB;AACA,WAAS,GAAG,GAAG;AACb,WAAO,MAAM,MAAM,MAAM;AAAA,EAC3B;AACA,WAAS,GAAG,GAAG;AACb,WAAO,MAAM,MAAM,WAAW;AAAA,EAChC;AACA,QAAM,KAAqB,oBAAI,IAAI,CAAC,OAAO,QAAQ,CAAC;AACpD,WAAS,EAAE,GAAG;AACZ,WAAO,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM;AAAA,EAC9B;AACA,WAAS,GAAG,GAAG;AACb,WAAO,GAAG,EAAE,CAAC,CAAC;AAAA,EAChB;AACA,WAAS,GAAG,GAAG,GAAG,GAAG;AACnB,UAAM,WAAW,IAAI;AACrB,UAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAGA,KAAI,GAAG,CAAC;AACpC,QAAIV,KAAI,MAAM,MAAM,OAAO,IAAI,QAAQ,WAAW,UAAU,SAAS,MAAM,UAAU,WAAW;AAChG,WAAO,EAAE,UAAUU,EAAC,IAAI,EAAE,SAASA,EAAC,MAAMV,KAAI,GAAGA,EAAC,IAAI,CAACA,IAAG,GAAGA,EAAC,CAAC;AAAA,EACjE;AACA,WAAS,GAAG,GAAG;AACb,UAAM,IAAI,GAAG,CAAC;AACd,WAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;AAAA,EACzB;AACA,WAAS,GAAG,GAAG;AACb,WAAO,EAAE,QAAQ,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;AAAA,EAC7C;AACA,QAAM,KAAK,CAAC,QAAQ,OAAO,GAAG,KAAK,CAAC,SAAS,MAAM,GAAG,KAAK,CAAC,OAAO,QAAQ,GAAG,KAAK,CAAC,UAAU,KAAK;AACnG,WAAS,GAAG,GAAG,GAAG,GAAG;AACnB,YAAQ,GAAC;AAAA,MACP,KAAK;AAAA,MACL,KAAK;AACH,eAAO,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK;AAAA,MACpC,KAAK;AAAA,MACL,KAAK;AACH,eAAO,IAAI,KAAK;AAAA,MAClB;AACE,eAAO,CAAE;AAAA,IACf;AAAA,EACA;AACA,WAAS,GAAG,GAAG,GAAG,GAAG,GAAG;AACtB,UAAM,IAAI,GAAG,CAAC;AACd,QAAIU,KAAI,GAAG,EAAE,CAAC,GAAG,MAAM,SAAS,CAAC;AACjC,WAAO,MAAMA,KAAIA,GAAE,IAAI,CAACV,OAAMA,KAAI,MAAM,CAAC,GAAG,MAAMU,KAAIA,GAAE,OAAOA,GAAE,IAAI,EAAE,CAAC,KAAKA;AAAA,EAC/E;AACA,WAAS,GAAG,GAAG;AACb,WAAO,EAAE,QAAQ,0BAA0B,CAAC,MAAM,GAAG,CAAC,CAAC;AAAA,EACzD;AACA,WAAS,GAAG,GAAG;AACb,WAAO;AAAA,MACL,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,GAAG;AAAA,IACJ;AAAA,EACH;AACA,WAAS,GAAG,GAAG;AACb,WAAO,OAAO,KAAK,WAAW,GAAG,CAAC,IAAI;AAAA,MACpC,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,IACP;AAAA,EACH;AACA,WAAS,GAAG,GAAG;AACb,UAAM;AAAA,MACJ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,OAAO;AAAA,MACP,QAAQ;AAAA,IACZ,IAAM;AACJ,WAAO;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO,IAAI;AAAA,MACX,QAAQ,IAAI;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,EACH;AACA,WAAS,GAAG,GAAG,GAAG,GAAG;AACnB,QAAI;AAAA,MACF,WAAW;AAAA,MACX,UAAU;AAAA,IACd,IAAM;AACJ,UAAMA,KAAI,EAAE,CAAC,GAAGV,KAAI,GAAG,CAAC,GAAG,IAAI,GAAGA,EAAC,GAAGqB,KAAI,EAAE,CAAC,GAAGhB,KAAIK,OAAM,KAAKY,KAAI,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,QAAQ,GAAG7B,KAAI,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,SAAS,GAAGK,KAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI;AACjK,QAAIsC;AACJ,YAAQf,IAAC;AAAA,MACP,KAAK;AACH,QAAAe,KAAI;AAAA,UACF,GAAGd;AAAA,UACH,GAAG,EAAE,IAAI,EAAE;AAAA,QACZ;AACD;AAAA,MACF,KAAK;AACH,QAAAc,KAAI;AAAA,UACF,GAAGd;AAAA,UACH,GAAG,EAAE,IAAI,EAAE;AAAA,QACZ;AACD;AAAA,MACF,KAAK;AACH,QAAAc,KAAI;AAAA,UACF,GAAG,EAAE,IAAI,EAAE;AAAA,UACX,GAAG3C;AAAA,QACJ;AACD;AAAA,MACF,KAAK;AACH,QAAA2C,KAAI;AAAA,UACF,GAAG,EAAE,IAAI,EAAE;AAAA,UACX,GAAG3C;AAAA,QACJ;AACD;AAAA,MACF;AACE,QAAA2C,KAAI;AAAA,UACF,GAAG,EAAE;AAAA,UACL,GAAG,EAAE;AAAA,QACN;AAAA,IACP;AACE,YAAQ,GAAG,CAAC,GAAC;AAAA,MACX,KAAK;AACH,QAAAA,GAAEpC,EAAC,KAAKF,MAAK,KAAKO,KAAI,KAAK;AAC3B;AAAA,MACF,KAAK;AACH,QAAA+B,GAAEpC,EAAC,KAAKF,MAAK,KAAKO,KAAI,KAAK;AAC3B;AAAA,IACN;AACE,WAAO+B;AAAA,EACT;AACA,QAAM,KAAK,OAAO,GAAG,GAAG,MAAM;AAC5B,UAAM;AAAA,MACJ,WAAW,IAAI;AAAA,MACf,UAAU,IAAI;AAAA,MACd,YAAY1B,KAAI,CAAE;AAAA,MAClB,UAAUV;AAAA,IACd,IAAM,GAAG,IAAIU,GAAE,OAAO,OAAO,GAAGW,KAAI,OAAOrB,GAAE,SAAS,OAAO,SAASA,GAAE,MAAM,CAAC;AAC7E,QAAIK,KAAI,MAAML,GAAE,gBAAgB;AAAA,MAC9B,WAAW;AAAA,MACX,UAAU;AAAA,MACV,UAAU;AAAA,IACd,CAAG,GAAG;AAAA,MACF,GAAGsB;AAAA,MACH,GAAG7B;AAAA,IACJ,IAAG,GAAGY,IAAG,GAAGgB,EAAC,GAAGvB,KAAI,GAAGsC,KAAI,IAAI5B,KAAI;AACpC,aAASd,KAAI,GAAGA,KAAI,EAAE,QAAQA,MAAK;AACjC,YAAM;AAAA,QACJ,MAAMkC;AAAA,QACN,IAAIT;AAAA,MACV,IAAQ,EAAEzB,EAAC,GAAG;AAAA,QACR,GAAGa;AAAA,QACH,GAAGR;AAAA,QACH,MAAMmB;AAAA,QACN,OAAOjB;AAAA,MACR,IAAG,MAAMkB,GAAE;AAAA,QACV,GAAGG;AAAA,QACH,GAAG7B;AAAA,QACH,kBAAkB;AAAA,QAClB,WAAWK;AAAA,QACX,UAAU;AAAA,QACV,gBAAgBsC;AAAA,QAChB,OAAO/B;AAAA,QACP,UAAUL;AAAA,QACV,UAAU;AAAA,UACR,WAAW;AAAA,UACX,UAAU;AAAA,QAClB;AAAA,MACA,CAAK;AACD,MAAAsB,KAAIf,MAAKe,IAAG7B,KAAIM,MAAKN,IAAG2C,KAAI;AAAA,QAC1B,GAAGA;AAAA,QACH,CAACR,EAAC,GAAG;AAAA,UACH,GAAGQ,GAAER,EAAC;AAAA,UACN,GAAGV;AAAA,QACX;AAAA,MACA,GAAOjB,MAAKO,MAAK,OAAOA,MAAK,OAAOP,MAAK,aAAaA,GAAE,cAAcH,KAAIG,GAAE,YAAYA,GAAE,UAAUI,KAAIJ,GAAE,UAAU,OAAK,MAAMD,GAAE,gBAAgB;AAAA,QAC3I,WAAW;AAAA,QACX,UAAU;AAAA,QACV,UAAU;AAAA,MAChB,CAAK,IAAIC,GAAE,QAAQ;AAAA,QACb,GAAGqB;AAAA,QACH,GAAG7B;AAAA,MACT,IAAQ,GAAGY,IAAGP,IAAGuB,EAAC,IAAI3B,KAAI;AAAA,IAC1B;AACE,WAAO;AAAA,MACL,GAAG4B;AAAA,MACH,GAAG7B;AAAA,MACH,WAAWK;AAAA,MACX,UAAU;AAAA,MACV,gBAAgBsC;AAAA,IACjB;AAAA,EACH;AACA,iBAAe,GAAG,GAAG,GAAG;AACtB,QAAI;AACJ,UAAM,WAAW,IAAI;AACrB,UAAM;AAAA,MACJ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,UAAU1B;AAAA,MACV,OAAOV;AAAA,MACP,UAAU;AAAA,MACV,UAAUqB;AAAA,IACX,IAAG,GAAG;AAAA,MACL,UAAUhB,KAAI;AAAA,MACd,cAAciB,KAAI;AAAA,MAClB,gBAAgB7B,KAAI;AAAA,MACpB,aAAaK,KAAI;AAAA,MACjB,SAASsC,KAAI;AAAA,IACjB,IAAM,EAAE,GAAG,CAAC,GAAG5B,KAAI,GAAG4B,EAAC,GAAGR,KAAI,EAAE9B,KAAIL,OAAM,aAAa,cAAc,aAAaA,EAAC,GAAG0B,KAAI,GAAG,MAAMT,GAAE,gBAAgB;AAAA,MACjH,UAAU,IAAI,OAAOA,GAAE,aAAa,OAAO,SAASA,GAAE,UAAUkB,EAAC,OAAO,QAAQ,IAAIA,KAAIA,GAAE,kBAAkB,OAAOlB,GAAE,sBAAsB,OAAO,SAASA,GAAE,mBAAmB,EAAE,QAAQ;AAAA,MAC1L,UAAUL;AAAA,MACV,cAAciB;AAAA,MACd,UAAUD;AAAA,IACX,CAAA,CAAC,GAAGd,KAAId,OAAM,aAAa;AAAA,MAC1B,GAAG;AAAA,MACH,GAAG;AAAA,MACH,OAAOO,GAAE,SAAS;AAAA,MAClB,QAAQA,GAAE,SAAS;AAAA,IACvB,IAAMA,GAAE,WAAWD,KAAI,OAAOW,GAAE,mBAAmB,OAAO,SAASA,GAAE,gBAAgB,EAAE,QAAQ,IAAIQ,KAAI,OAAOR,GAAE,aAAa,OAAO,SAASA,GAAE,UAAUX,EAAC,KAAK,OAAOW,GAAE,YAAY,OAAO,SAASA,GAAE,SAASX,EAAC,MAAM;AAAA,MAClN,GAAG;AAAA,MACH,GAAG;AAAA,IACP,IAAM;AAAA,MACF,GAAG;AAAA,MACH,GAAG;AAAA,IACP,GAAKE,KAAI,GAAGS,GAAE,wDAAwD,MAAMA,GAAE,sDAAsD;AAAA,MAChI,UAAU;AAAA,MACV,MAAMH;AAAA,MACN,cAAcR;AAAA,MACd,UAAUsB;AAAA,IACX,CAAA,IAAId,EAAC;AACN,WAAO;AAAA,MACL,MAAMY,GAAE,MAAMlB,GAAE,MAAMO,GAAE,OAAOU,GAAE;AAAA,MACjC,SAASjB,GAAE,SAASkB,GAAE,SAASX,GAAE,UAAUU,GAAE;AAAA,MAC7C,OAAOC,GAAE,OAAOlB,GAAE,OAAOO,GAAE,QAAQU,GAAE;AAAA,MACrC,QAAQjB,GAAE,QAAQkB,GAAE,QAAQX,GAAE,SAASU,GAAE;AAAA,IAC1C;AAAA,EACH;AACA,QAAM,KAAK,CAAC,OAAO;AAAA,IACjB,MAAM;AAAA,IACN,SAAS;AAAA,IACT,MAAM,GAAG,GAAG;AACV,YAAM;AAAA,QACJ,GAAG;AAAA,QACH,GAAG;AAAA,QACH,WAAW;AAAA,QACX,OAAOR;AAAA,QACP,UAAUV;AAAA,QACV,UAAU;AAAA,QACV,gBAAgBqB;AAAA,MACjB,IAAG,GAAG;AAAA,QACL,SAAShB;AAAA,QACT,SAASiB,KAAI;AAAA,MACd,IAAG,EAAE,GAAG,CAAC,KAAK,CAAE;AACjB,UAAIjB,MAAK;AACP,eAAO,CAAE;AACX,YAAMZ,KAAI,GAAG6B,EAAC,GAAGxB,KAAI;AAAA,QACnB,GAAG;AAAA,QACH,GAAG;AAAA,MACJ,GAAEsC,KAAI,GAAG,CAAC,GAAG5B,KAAI,GAAG4B,EAAC,GAAG1C,KAAI,MAAMM,GAAE,cAAcK,EAAC,GAAGuB,KAAIQ,OAAM,KAAKjB,KAAIS,KAAI,QAAQ,QAAQrB,KAAIqB,KAAI,WAAW,SAAS7B,KAAI6B,KAAI,iBAAiB,eAAeV,KAAIR,GAAE,UAAUF,EAAC,IAAIE,GAAE,UAAU0B,EAAC,IAAItC,GAAEsC,EAAC,IAAI1B,GAAE,SAASF,EAAC,GAAGP,KAAIH,GAAEsC,EAAC,IAAI1B,GAAE,UAAU0B,EAAC,GAAGxC,KAAI,OAAOI,GAAE,mBAAmB,OAAO,SAASA,GAAE,gBAAgBK,EAAC;AAC5T,UAAIF,KAAIP,KAAIA,GAAEG,EAAC,IAAI;AACnB,OAAC,CAACI,MAAK,CAAC,OAAOH,GAAE,aAAa,OAAO,SAASA,GAAE,UAAUJ,EAAC,QAAQO,KAAI,EAAE,SAASJ,EAAC,KAAKW,GAAE,SAASF,EAAC;AACpG,YAAM6B,KAAInB,KAAI,IAAIjB,KAAI,GAAGqC,KAAInC,KAAI,IAAIT,GAAEc,EAAC,IAAI,IAAI,GAAGC,KAAI,EAAEhB,GAAE0B,EAAC,GAAGmB,EAAC,GAAGC,KAAI,EAAE9C,GAAEc,EAAC,GAAG+B,EAAC,GAAGE,KAAI/B,IAAGgC,KAAItC,KAAIT,GAAEc,EAAC,IAAI+B,IAAG3B,KAAIT,KAAI,IAAIT,GAAEc,EAAC,IAAI,IAAI6B,IAAGb,KAAI,GAAGgB,IAAG5B,IAAG6B,EAAC,GAAGvC,KAAI,CAACmB,GAAE,SAAS,GAAG,CAAC,KAAK,QAAQT,OAAMY,MAAKd,GAAE,UAAUF,EAAC,IAAI,KAAKI,KAAI4B,KAAI/B,KAAI8B,MAAK7C,GAAEc,EAAC,IAAI,IAAI,GAAGO,KAAIb,KAAIU,KAAI4B,KAAI5B,KAAI4B,KAAI5B,KAAI6B,KAAI;AACxR,aAAO;AAAA,QACL,CAACL,EAAC,GAAGtC,GAAEsC,EAAC,IAAIrB;AAAA,QACZ,MAAM;AAAA,UACJ,CAACqB,EAAC,GAAGZ;AAAA,UACL,cAAcZ,KAAIY,KAAIT;AAAA,UACtB,GAAGb,MAAK;AAAA,YACN,iBAAiBa;AAAA,UAC3B;AAAA,QACO;AAAA,QACD,OAAOb;AAAA,MACR;AAAA,IACL;AAAA,EACA,IAAI,KAAK,SAAS,GAAG;AACnB,WAAO,MAAM,WAAW,IAAI,CAAE,IAAG;AAAA,MAC/B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM,GAAG,GAAG;AACV,YAAI,GAAG;AACP,cAAM;AAAA,UACJ,WAAW;AAAA,UACX,gBAAgBQ;AAAA,UAChB,OAAOV;AAAA,UACP,kBAAkB;AAAA,UAClB,UAAUqB;AAAA,UACV,UAAUhB;AAAA,QACX,IAAG,GAAG;AAAA,UACL,UAAUiB,KAAI;AAAA,UACd,WAAW7B,KAAI;AAAA,UACf,oBAAoBK;AAAA,UACpB,kBAAkBsC,KAAI;AAAA,UACtB,2BAA2B5B,KAAI;AAAA,UAC/B,eAAed,KAAI;AAAA,UACnB,GAAGkC;AAAA,QACX,IAAU,EAAE,GAAG,CAAC;AACV,aAAK,IAAIlB,GAAE,UAAU,QAAQ,EAAE;AAC7B,iBAAO,CAAE;AACX,cAAMS,KAAI,EAAE,CAAC,GAAGZ,KAAI,EAAE,CAAC,GAAGR,KAAI,EAAE,CAAC,MAAM,GAAGmB,KAAI,OAAOG,GAAE,SAAS,OAAO,SAASA,GAAE,MAAMhB,GAAE,QAAQ,IAAIJ,KAAIH,OAAMC,MAAK,CAACL,KAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAIE,KAAIY,OAAM;AACtJ,SAACV,MAAKF,MAAKK,GAAE,KAAK,GAAG,GAAG,GAAGP,IAAGc,IAAGU,EAAC,CAAC;AACnC,cAAMf,KAAI,CAAC,GAAG,GAAGF,EAAC,GAAGoC,KAAI,MAAM,GAAG,GAAGT,EAAC,GAAGU,KAAI,CAAE;AAC/C,YAAI7B,OAAM,IAAIC,GAAE,SAAS,OAAO,SAAS,EAAE,cAAc,CAAE;AAC3D,YAAIY,MAAKgB,GAAE,KAAKD,GAAElB,EAAC,CAAC,GAAG1B,IAAG;AACxB,gBAAMmB,KAAI,GAAG,GAAGZ,IAAGkB,EAAC;AACpB,UAAAoB,GAAE,KAAKD,GAAEzB,GAAE,CAAC,CAAC,GAAGyB,GAAEzB,GAAE,CAAC,CAAC,CAAC;AAAA,QAC/B;AACM,YAAIH,KAAI,CAAC,GAAGA,IAAG;AAAA,UACb,WAAW;AAAA,UACX,WAAW6B;AAAA,QACnB,CAAO,GAAG,CAACA,GAAE,MAAM,CAAC1B,OAAMA,MAAK,CAAC,GAAG;AAC3B,cAAI2B,IAAGC;AACP,gBAAM5B,QAAO2B,KAAI7B,GAAE,SAAS,OAAO,SAAS6B,GAAE,UAAU,KAAK,GAAGf,KAAIrB,GAAES,EAAC;AACvE,cAAIY,OAAM,EAAE/B,OAAM,cAAcc,OAAM,EAAEiB,EAAC,IAAI;AAAA;AAAA,UAE7Cf,GAAE,MAAM,CAACO,OAAMA,GAAE,UAAU,CAAC,IAAI,KAAK,EAAEA,GAAE,SAAS,MAAMT,EAAC;AACvD,mBAAO;AAAA,cACL,MAAM;AAAA,gBACJ,OAAOK;AAAA,gBACP,WAAWH;AAAA,cACZ;AAAA,cACD,OAAO;AAAA,gBACL,WAAWe;AAAA,cACzB;AAAA,YACW;AACH,cAAItB,MAAKsC,KAAI/B,GAAE,OAAO,CAACM,OAAMA,GAAE,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAACA,IAAGC,OAAMD,GAAE,UAAU,CAAC,IAAIC,GAAE,UAAU,CAAC,CAAC,EAAE,CAAC,MAAM,OAAO,SAASwB,GAAE;AAC3H,cAAI,CAACtC;AACH,oBAAQkC,IAAC;AAAA,cACP,KAAK,WAAW;AACd,oBAAIK;AACJ,sBAAM1B,MAAK0B,KAAIhC,GAAE,OAAO,CAACO,OAAM;AAC7B,sBAAIpB,IAAG;AACL,0BAAM8B,KAAI,EAAEV,GAAE,SAAS;AACvB,2BAAOU,OAAMnB;AAAA;AAAA,oBAEbmB,OAAM;AAAA,kBACxB;AACgB,yBAAO;AAAA,gBACvB,CAAe,EAAE,IAAI,CAACV,OAAM,CAACA,GAAE,WAAWA,GAAE,UAAU,OAAO,CAACU,OAAMA,KAAI,CAAC,EAAE,OAAO,CAACA,IAAG,OAAOA,KAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAACV,IAAGU,OAAMV,GAAE,CAAC,IAAIU,GAAE,CAAC,CAAC,EAAE,CAAC,MAAM,OAAO,SAASe,GAAE,CAAC;AAClJ,gBAAA1B,OAAMb,KAAIa;AACV;AAAA,cACd;AAAA,cACY,KAAK;AACH,gBAAAb,KAAI;AACJ;AAAA,YACd;AACQ,cAAI,MAAMA;AACR,mBAAO;AAAA,cACL,OAAO;AAAA,gBACL,WAAWA;AAAA,cACzB;AAAA,YACW;AAAA,QACX;AACM,eAAO,CAAE;AAAA,MACf;AAAA,IACG;AAAA,EACH,GAAG,KAAqB,oBAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;AAC/C,iBAAe,GAAG,GAAG,GAAG;AACtB,UAAM;AAAA,MACJ,WAAW;AAAA,MACX,UAAU;AAAA,MACV,UAAU;AAAA,IACd,IAAM,GAAGQ,KAAI,OAAO,EAAE,SAAS,OAAO,SAAS,EAAE,MAAM,EAAE,QAAQ,IAAIV,KAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAGqB,KAAI,EAAE,CAAC,MAAM,KAAKhB,KAAI,GAAG,IAAIL,EAAC,IAAI,KAAK,GAAGsB,KAAIZ,MAAKW,KAAI,KAAK,GAAG5B,KAAI,EAAE,GAAG,CAAC;AACjK,QAAI;AAAA,MACF,UAAUK;AAAA,MACV,WAAWsC;AAAA,MACX,eAAe5B;AAAA,IACnB,IAAM,OAAOf,MAAK,WAAW;AAAA,MACzB,UAAUA;AAAA,MACV,WAAW;AAAA,MACX,eAAe;AAAA,IACnB,IAAM;AAAA,MACF,UAAUA,GAAE,YAAY;AAAA,MACxB,WAAWA,GAAE,aAAa;AAAA,MAC1B,eAAeA,GAAE;AAAA,IAClB;AACD,WAAO,KAAK,OAAOe,MAAK,aAAa4B,KAAI,MAAM,QAAQ5B,KAAI,KAAKA,KAAIa,KAAI;AAAA,MACtE,GAAGe,KAAId;AAAA,MACP,GAAGxB,KAAIO;AAAA,IACX,IAAM;AAAA,MACF,GAAGP,KAAIO;AAAA,MACP,GAAG+B,KAAId;AAAA,IACR;AAAA,EACH;AACA,QAAM,KAAK,SAAS,GAAG;AACrB,WAAO,MAAM,WAAW,IAAI,IAAI;AAAA,MAC9B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM,GAAG,GAAG;AACV,YAAI,GAAG;AACP,cAAM;AAAA,UACJ,GAAG;AAAA,UACH,GAAGZ;AAAA,UACH,WAAWV;AAAA,UACX,gBAAgB;AAAA,QACjB,IAAG,GAAGqB,KAAI,MAAM,GAAG,GAAG,CAAC;AACxB,eAAOrB,SAAQ,IAAI,EAAE,WAAW,OAAO,SAAS,EAAE,eAAe,IAAI,EAAE,UAAU,QAAQ,EAAE,kBAAkB,KAAK;AAAA,UAChH,GAAG,IAAIqB,GAAE;AAAA,UACT,GAAGX,KAAIW,GAAE;AAAA,UACT,MAAM;AAAA,YACJ,GAAGA;AAAA,YACH,WAAWrB;AAAA,UACrB;AAAA,QACO;AAAA,MACP;AAAA,IACG;AAAA,EACH,GAAG,KAAK,SAAS,GAAG;AAClB,WAAO,MAAM,WAAW,IAAI,CAAE,IAAG;AAAA,MAC/B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM,GAAG,GAAG;AACV,cAAM;AAAA,UACJ,GAAG;AAAA,UACH,GAAG;AAAA,UACH,WAAW;AAAA,QACZ,IAAG,GAAG;AAAA,UACL,UAAUU,KAAI;AAAA,UACd,WAAWV,KAAI;AAAA,UACf,SAAS,IAAI;AAAA,YACX,IAAI,CAAC4B,OAAM;AACT,kBAAI;AAAA,gBACF,GAAGT;AAAA,gBACH,GAAAZ;AAAA,cACd,IAAgBqB;AACJ,qBAAO;AAAA,gBACL,GAAGT;AAAA,gBACH,GAAAZ;AAAA,cACD;AAAA,YACb;AAAA,UACS;AAAA,UACD,GAAGc;AAAA,QACJ,IAAG,EAAE,GAAG,CAAC,GAAGhB,KAAI;AAAA,UACf,GAAG;AAAA,UACH,GAAG;AAAA,QACJ,GAAEiB,KAAI,MAAM,GAAG,GAAGD,EAAC,GAAG5B,KAAI,EAAE,EAAE,CAAC,CAAC,GAAGK,KAAI,GAAGL,EAAC;AAC5C,YAAI2C,KAAI/B,GAAEP,EAAC,GAAGU,KAAIH,GAAEZ,EAAC;AACrB,YAAIiB,IAAG;AACL,gBAAMkB,KAAI9B,OAAM,MAAM,QAAQ,QAAQqB,KAAIrB,OAAM,MAAM,WAAW,SAASS,KAAI6B,KAAId,GAAEM,EAAC,GAAG7B,KAAIqC,KAAId,GAAEH,EAAC;AACnG,UAAAiB,KAAI,GAAG7B,IAAG6B,IAAGrC,EAAC;AAAA,QACtB;AACM,YAAIC,IAAG;AACL,gBAAM4B,KAAInC,OAAM,MAAM,QAAQ,QAAQ0B,KAAI1B,OAAM,MAAM,WAAW,SAASc,KAAIC,KAAIc,GAAEM,EAAC,GAAG7B,KAAIS,KAAIc,GAAEH,EAAC;AACnG,UAAAX,KAAI,GAAGD,IAAGC,IAAGT,EAAC;AAAA,QACtB;AACM,cAAML,KAAI,EAAE,GAAG;AAAA,UACb,GAAG;AAAA,UACH,CAACI,EAAC,GAAGsC;AAAA,UACL,CAAC3C,EAAC,GAAGe;AAAA,QACb,CAAO;AACD,eAAO;AAAA,UACL,GAAGd;AAAA,UACH,MAAM;AAAA,YACJ,GAAGA,GAAE,IAAI;AAAA,YACT,GAAGA,GAAE,IAAI;AAAA,YACT,SAAS;AAAA,cACP,CAACI,EAAC,GAAGY;AAAA,cACL,CAACjB,EAAC,GAAGO;AAAA,YACjB;AAAA,UACA;AAAA,QACO;AAAA,MACP;AAAA,IACG;AAAA,EACH,GAAG,KAAK,SAAS,GAAG;AAClB,WAAO,MAAM,WAAW,IAAI,CAAE,IAAG;AAAA,MAC/B,SAAS;AAAA,MACT,GAAG,GAAG;AACJ,cAAM;AAAA,UACJ,GAAG;AAAA,UACH,GAAG;AAAA,UACH,WAAW;AAAA,UACX,OAAOU;AAAA,UACP,gBAAgBV;AAAA,QACjB,IAAG,GAAG;AAAA,UACL,QAAQ,IAAI;AAAA,UACZ,UAAUqB,KAAI;AAAA,UACd,WAAWhB,KAAI;AAAA,QAChB,IAAG,EAAE,GAAG,CAAC,GAAGiB,KAAI;AAAA,UACf,GAAG;AAAA,UACH,GAAG;AAAA,QACX,GAAS7B,KAAI,EAAE,CAAC,GAAGK,KAAI,GAAGL,EAAC;AACrB,YAAI2C,KAAId,GAAExB,EAAC,GAAGU,KAAIc,GAAE7B,EAAC;AACrB,cAAMC,KAAI,EAAE,GAAG,CAAC,GAAGkC,KAAI,OAAOlC,MAAK,WAAW;AAAA,UAC5C,UAAUA;AAAA,UACV,WAAW;AAAA,QACnB,IAAU;AAAA,UACF,UAAU;AAAA,UACV,WAAW;AAAA,UACX,GAAGA;AAAA,QACJ;AACD,YAAI2B,IAAG;AACL,gBAAMtB,KAAID,OAAM,MAAM,WAAW,SAASoB,KAAIR,GAAE,UAAUZ,EAAC,IAAIY,GAAE,SAASX,EAAC,IAAI6B,GAAE,UAAU3B,KAAIS,GAAE,UAAUZ,EAAC,IAAIY,GAAE,UAAUX,EAAC,IAAI6B,GAAE;AACnI,UAAAQ,KAAIlB,KAAIkB,KAAIlB,KAAIkB,KAAInC,OAAMmC,KAAInC;AAAA,QACtC;AACM,YAAII,IAAG;AACL,cAAIc,IAAGZ;AACP,gBAAMR,KAAID,OAAM,MAAM,UAAU,UAAUoB,KAAI,GAAG,IAAI,EAAE,CAAC,CAAC,GAAGjB,KAAIS,GAAE,UAAUjB,EAAC,IAAIiB,GAAE,SAASX,EAAC,KAAKmB,QAAOC,KAAInB,GAAE,WAAW,OAAO,SAASmB,GAAE1B,EAAC,MAAM,MAAMyB,KAAI,IAAIU,GAAE,YAAYhC,KAAIc,GAAE,UAAUjB,EAAC,IAAIiB,GAAE,UAAUX,EAAC,KAAKmB,KAAI,MAAMX,KAAIP,GAAE,WAAW,OAAO,SAASO,GAAEd,EAAC,MAAM,MAAMyB,KAAIU,GAAE,YAAY;AAClS,UAAApB,KAAIP,KAAIO,KAAIP,KAAIO,KAAIZ,OAAMY,KAAIZ;AAAA,QACtC;AACM,eAAO;AAAA,UACL,CAACE,EAAC,GAAGsC;AAAA,UACL,CAAC3C,EAAC,GAAGe;AAAA,QACN;AAAA,MACP;AAAA,IACG;AAAA,EACH;AACA,WAAS,KAAK;AACZ,WAAO,OAAO,SAAS;AAAA,EACzB;AACA,WAAS,EAAE,GAAG;AACZ,WAAO,GAAG,CAAC,KAAK,EAAE,YAAY,IAAI,YAAW,IAAK;AAAA,EACpD;AACA,WAAS,EAAE,GAAG;AACZ,QAAI;AACJ,YAAQ,KAAK,SAAS,IAAI,EAAE,kBAAkB,OAAO,SAAS,EAAE,gBAAgB;AAAA,EAClF;AACA,WAAS,EAAE,GAAG;AACZ,QAAI;AACJ,YAAQ,KAAK,GAAG,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,OAAO,aAAa,OAAO,SAAS,EAAE;AAAA,EAC9F;AACA,WAAS,GAAG,GAAG;AACb,WAAO,GAAE,IAAK,aAAa,QAAQ,aAAa,EAAE,CAAC,EAAE,OAAO;AAAA,EAC9D;AACA,WAAS,EAAE,GAAG;AACZ,WAAO,GAAE,IAAK,aAAa,WAAW,aAAa,EAAE,CAAC,EAAE,UAAU;AAAA,EACpE;AACA,WAAS,EAAE,GAAG;AACZ,WAAO,GAAE,IAAK,aAAa,eAAe,aAAa,EAAE,CAAC,EAAE,cAAc;AAAA,EAC5E;AACA,WAAS,GAAG,GAAG;AACb,WAAO,CAAC,GAAE,KAAM,OAAO,aAAa,MAAM,QAAK,aAAa,cAAc,aAAa,EAAE,CAAC,EAAE;AAAA,EAC9F;AACA,QAAM,KAAqB,oBAAI,IAAI,CAAC,UAAU,UAAU,CAAC;AACzD,WAAS,GAAG,GAAG;AACb,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,IACb,IAAM,EAAE,CAAC;AACP,WAAO,kCAAkC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAAA,EACvE;AACA,QAAM,KAAqB,oBAAI,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC;AACxD,WAAS,GAAG,GAAG;AACb,WAAO,GAAG,IAAI,EAAE,CAAC,CAAC;AAAA,EACpB;AACA,QAAM,KAAK,CAAC,iBAAiB,QAAQ;AACrC,WAAS,GAAG,GAAG;AACb,WAAO,GAAG,KAAK,CAAC,MAAM;AACpB,UAAI;AACF,eAAO,EAAE,QAAQ,CAAC;AAAA,MACxB,QAAY;AACN,eAAO;AAAA,MACb;AAAA,IACA,CAAG;AAAA,EACH;AACA,QAAM,KAAK,CAAC,aAAa,aAAa,SAAS,UAAU,aAAa,GAAG,KAAK,CAAC,aAAa,aAAa,SAAS,UAAU,eAAe,QAAQ,GAAG,KAAK,CAAC,SAAS,UAAU,UAAU,SAAS;AAClM,WAAS,GAAG,GAAG;AACb,UAAM,IAAI,GAAI,GAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI;AAClC,WAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,SAAS,KAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,WAAW,UAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,mBAAmB,SAAS,UAAO,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,SAAS,UAAO,GAAG,KAAK,CAAC,OAAO,EAAE,cAAc,IAAI,SAAS,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,IAAI,SAAS,CAAC,CAAC;AAAA,EAC/T;AACA,WAAS,GAAG,GAAG;AACb,QAAI,IAAI,EAAE,CAAC;AACX,WAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK;AACtB,UAAI,GAAG,CAAC;AACN,eAAO;AACT,UAAI,GAAG,CAAC;AACN,eAAO;AACT,UAAI,EAAE,CAAC;AAAA,IACX;AACE,WAAO;AAAA,EACT;AACA,WAAS,KAAK;AACZ,WAAO,OAAO,MAAM,OAAO,CAAC,IAAI,WAAW,QAAK,IAAI,SAAS,2BAA2B,MAAM;AAAA,EAChG;AACA,QAAM,KAAqB,oBAAI,IAAI,CAAC,QAAQ,QAAQ,WAAW,CAAC;AAChE,WAAS,EAAE,GAAG;AACZ,WAAO,GAAG,IAAI,EAAE,CAAC,CAAC;AAAA,EACpB;AACA,WAAS,EAAE,GAAG;AACZ,WAAO,EAAE,CAAC,EAAE,iBAAiB,CAAC;AAAA,EAChC;AACA,WAAS,GAAG,GAAG;AACb,WAAO,EAAE,CAAC,IAAI;AAAA,MACZ,YAAY,EAAE;AAAA,MACd,WAAW,EAAE;AAAA,IACjB,IAAM;AAAA,MACF,YAAY,EAAE;AAAA,MACd,WAAW,EAAE;AAAA,IACd;AAAA,EACH;AACA,WAAS,EAAE,GAAG;AACZ,QAAI,EAAE,CAAC,MAAM;AACX,aAAO;AACT,UAAM;AAAA;AAAA,MAEJ,EAAE;AAAA,MACF,EAAE;AAAA,MACF,GAAG,CAAC,KAAK,EAAE;AAAA,MACX,EAAE,CAAC;AAAA;AAEL,WAAO,GAAG,CAAC,IAAI,EAAE,OAAO;AAAA,EAC1B;AACA,WAAS,GAAG,GAAG;AACb,UAAM,IAAI,EAAE,CAAC;AACb,WAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,cAAc,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;AAAA,EAC1F;AACA,WAAS,GAAG,GAAG,GAAG,GAAG;AACnB,QAAI;AACJ,UAAM,WAAW,IAAI,CAAE,IAAG,MAAM,WAAW,IAAI;AAC/C,UAAM,IAAI,GAAG,CAAC,GAAGE,KAAI,QAAQ,IAAI,EAAE,kBAAkB,OAAO,SAAS,EAAE,OAAOV,KAAI,EAAE,CAAC;AACrF,QAAIU,IAAG;AACL,YAAM,IAAI,GAAGV,EAAC;AACd,aAAO,EAAE,OAAOA,IAAGA,GAAE,kBAAkB,CAAE,GAAE,GAAG,CAAC,IAAI,IAAI,CAAE,GAAE,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE;AAAA,IAClF;AACE,WAAO,EAAE,OAAO,GAAG,GAAG,GAAG,CAAA,GAAI,CAAC,CAAC;AAAA,EACjC;AACA,WAAS,GAAG,GAAG;AACb,WAAO,EAAE,UAAU,OAAO,eAAe,EAAE,MAAM,IAAI,EAAE,eAAe;AAAA,EACxE;AACA,WAAS,GAAG,GAAG;AACb,UAAM,IAAI,EAAE,CAAC;AACb,QAAI,IAAI,WAAW,EAAE,KAAK,KAAK,GAAG,IAAI,WAAW,EAAE,MAAM,KAAK;AAC9D,UAAM,IAAI,EAAE,CAAC,GAAGU,KAAI,IAAI,EAAE,cAAc,GAAGV,KAAI,IAAI,EAAE,eAAe,GAAG,IAAI,GAAG,CAAC,MAAMU,MAAK,GAAG,CAAC,MAAMV;AACpG,WAAO,MAAM,IAAIU,IAAG,IAAIV,KAAI;AAAA,MAC1B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,GAAG;AAAA,IACJ;AAAA,EACH;AACA,WAAS,GAAG,GAAG;AACb,WAAO,EAAE,CAAC,IAAI,IAAI,EAAE;AAAA,EACtB;AACA,WAAS,EAAE,GAAG;AACZ,UAAM,IAAI,GAAG,CAAC;AACd,QAAI,CAAC,EAAE,CAAC;AACN,aAAO,EAAE,CAAC;AACZ,UAAM,IAAI,EAAE,yBAAyB;AAAA,MACnC,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,GAAGU;AAAA,IACP,IAAM,GAAG,CAAC;AACR,QAAIV,MAAKU,KAAI,GAAG,EAAE,KAAK,IAAI,EAAE,SAAS,GAAG,KAAKA,KAAI,GAAG,EAAE,MAAM,IAAI,EAAE,UAAU;AAC7E,YAAQ,CAACV,MAAK,CAAC,OAAO,SAASA,EAAC,OAAOA,KAAI,KAAK,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,OAAO,IAAI,IAAI;AAAA,MACrF,GAAGA;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,EACH;AACA,QAAM,KAAqB,kBAAE,CAAC;AAC9B,WAAS,GAAG,GAAG;AACb,UAAM,IAAI,EAAE,CAAC;AACb,WAAO,CAAC,GAAI,KAAI,CAAC,EAAE,iBAAiB,KAAK;AAAA,MACvC,GAAG,EAAE,eAAe;AAAA,MACpB,GAAG,EAAE,eAAe;AAAA,IACrB;AAAA,EACH;AACA,WAAS,GAAG,GAAG,GAAG,GAAG;AACnB,WAAO,MAAM,WAAW,IAAI,QAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC,IAAI,QAAK;AAAA,EAChE;AACA,WAAS,EAAE,GAAG,GAAG,GAAG,GAAG;AACrB,UAAM,WAAW,IAAI,QAAK,MAAM,WAAW,IAAI;AAC/C,UAAM,IAAI,EAAE,sBAAuB,GAAEU,KAAI,GAAG,CAAC;AAC7C,QAAIV,KAAI,EAAE,CAAC;AACX,UAAM,IAAI,EAAE,CAAC,MAAMA,KAAI,EAAE,CAAC,KAAKA,KAAI,EAAE,CAAC;AACtC,UAAM,IAAI,GAAGU,IAAG,GAAG,CAAC,IAAI,GAAGA,EAAC,IAAI,EAAE,CAAC;AACnC,QAAIW,MAAK,EAAE,OAAO,EAAE,KAAKrB,GAAE,GAAGK,MAAK,EAAE,MAAM,EAAE,KAAKL,GAAE,GAAGsB,KAAI,EAAE,QAAQtB,GAAE,GAAGP,KAAI,EAAE,SAASO,GAAE;AAC3F,QAAIU,IAAG;AACL,YAAMZ,KAAI,EAAEY,EAAC,GAAG0B,KAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI;AACvC,UAAI5B,KAAIV,IAAGJ,KAAI,GAAGc,EAAC;AACnB,aAAOd,MAAK,KAAK0C,OAAM5B,MAAK;AAC1B,cAAMoB,KAAI,EAAElC,EAAC,GAAGyB,KAAIzB,GAAE,sBAAuB,GAAEa,KAAI,EAAEb,EAAC,GAAGK,KAAIoB,GAAE,QAAQzB,GAAE,aAAa,WAAWa,GAAE,WAAW,KAAKqB,GAAE,GAAGV,KAAIC,GAAE,OAAOzB,GAAE,YAAY,WAAWa,GAAE,UAAU,KAAKqB,GAAE;AACjL,QAAAP,MAAKO,GAAE,GAAGvB,MAAKuB,GAAE,GAAGN,MAAKM,GAAE,GAAGnC,MAAKmC,GAAE,GAAGP,MAAKtB,IAAGM,MAAKa,IAAGV,KAAI,EAAEd,EAAC,GAAGA,KAAI,GAAGc,EAAC;AAAA,MAChF;AAAA,IACA;AACE,WAAO,GAAG;AAAA,MACR,OAAOc;AAAA,MACP,QAAQ7B;AAAA,MACR,GAAG4B;AAAA,MACH,GAAGhB;AAAA,IACP,CAAG;AAAA,EACH;AACA,WAAS,GAAG,GAAG,GAAG;AAChB,UAAM,IAAI,GAAG,CAAC,EAAE;AAChB,WAAO,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO;AAAA,EACzC;AACA,WAAS,GAAG,GAAG,GAAG,GAAG;AACnB,UAAM,WAAW,IAAI;AACrB,UAAM,IAAI,EAAE,sBAAqB,GAAI,IAAI,EAAE,OAAO,EAAE,cAAc,IAAI;AAAA;AAAA,MAEpE,GAAG,GAAG,CAAC;AAAA,QACLK,KAAI,EAAE,MAAM,EAAE;AAClB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAGA;AAAA,IACJ;AAAA,EACH;AACA,WAAS,GAAG,GAAG;AACb,QAAI;AAAA,MACF,UAAU;AAAA,MACV,MAAM;AAAA,MACN,cAAc;AAAA,MACd,UAAU;AAAA,IACd,IAAM;AACJ,UAAMA,KAAI,MAAM,SAASV,KAAI,EAAE,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,QAAQ,IAAI;AAC5D,QAAI,MAAMA,MAAK,KAAKU;AAClB,aAAO;AACT,QAAIW,KAAI;AAAA,MACN,YAAY;AAAA,MACZ,WAAW;AAAA,IACf,GAAKhB,KAAI,EAAE,CAAC;AACV,UAAMiB,KAAI,EAAE,CAAC,GAAG7B,KAAI,EAAE,CAAC;AACvB,SAAKA,MAAK,CAACA,MAAK,CAACiB,SAAQ,EAAE,CAAC,MAAM,UAAU,GAAGV,EAAC,OAAOqB,KAAI,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI;AACxE,YAAMe,KAAI,EAAE,CAAC;AACb,MAAA/B,KAAI,EAAE,CAAC,GAAGiB,GAAE,IAAIc,GAAE,IAAI,EAAE,YAAYd,GAAE,IAAIc,GAAE,IAAI,EAAE;AAAA,IACtD;AACE,UAAMtC,KAAIE,MAAK,CAACP,MAAK,CAACiB,KAAI,GAAGV,IAAGqB,IAAG,IAAE,IAAI,EAAE,CAAC;AAC5C,WAAO;AAAA,MACL,OAAO,EAAE,QAAQhB,GAAE;AAAA,MACnB,QAAQ,EAAE,SAASA,GAAE;AAAA,MACrB,GAAG,EAAE,IAAIA,GAAE,IAAIgB,GAAE,aAAahB,GAAE,IAAIiB,GAAE,IAAIxB,GAAE;AAAA,MAC5C,GAAG,EAAE,IAAIO,GAAE,IAAIgB,GAAE,YAAYhB,GAAE,IAAIiB,GAAE,IAAIxB,GAAE;AAAA,IAC5C;AAAA,EACH;AACA,WAAS,GAAG,GAAG;AACb,WAAO,MAAM,KAAK,EAAE,eAAc,CAAE;AAAA,EACtC;AACA,WAAS,GAAG,GAAG;AACb,UAAM,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,cAAc,MAAM,IAAI,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,GAAGY,KAAI,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY;AAC5L,QAAIV,KAAI,CAAC,EAAE,aAAa,GAAG,CAAC;AAC5B,UAAM,IAAI,CAAC,EAAE;AACb,WAAO,EAAE,CAAC,EAAE,cAAc,UAAUA,MAAK,EAAE,EAAE,aAAa,EAAE,WAAW,IAAI,IAAI;AAAA,MAC7E,OAAO;AAAA,MACP,QAAQU;AAAA,MACR,GAAGV;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,EACH;AACA,WAAS,GAAG,GAAG,GAAG;AAChB,UAAM,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE;AAChC,QAAIU,KAAI,EAAE,aAAaV,KAAI,EAAE,cAAc,IAAI,GAAGqB,KAAI;AACtD,QAAI,GAAG;AACL,MAAAX,KAAI,EAAE,OAAOV,KAAI,EAAE;AACnB,YAAMK,KAAI,GAAI;AACd,OAAC,CAACA,MAAKA,MAAK,MAAM,aAAa,IAAI,EAAE,YAAYgB,KAAI,EAAE;AAAA,IAC3D;AACE,WAAO;AAAA,MACL,OAAOX;AAAA,MACP,QAAQV;AAAA,MACR,GAAG;AAAA,MACH,GAAGqB;AAAA,IACJ;AAAA,EACH;AACA,QAAM,KAAqB,oBAAI,IAAI,CAAC,YAAY,OAAO,CAAC;AACxD,WAAS,GAAG,GAAG,GAAG;AAChB,UAAM,IAAI,EAAE,GAAG,MAAI,MAAM,OAAO,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,IAAI,EAAE,OAAO,EAAE,YAAYX,KAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAGV,KAAI,EAAE,cAAcU,GAAE,GAAG,IAAI,EAAE,eAAeA,GAAE,GAAGW,KAAI,IAAIX,GAAE,GAAGL,KAAI,IAAIK,GAAE;AACzL,WAAO;AAAA,MACL,OAAOV;AAAA,MACP,QAAQ;AAAA,MACR,GAAGqB;AAAA,MACH,GAAGhB;AAAA,IACJ;AAAA,EACH;AACA,WAAS,GAAG,GAAG,GAAG,GAAG;AACnB,QAAI;AACJ,QAAI,MAAM;AACR,UAAI,GAAG,GAAG,CAAC;AAAA,aACJ,MAAM;AACb,UAAI,GAAG,EAAE,CAAC,CAAC;AAAA,aACJ,EAAE,CAAC;AACV,UAAI,GAAG,GAAG,CAAC;AAAA,SACR;AACH,YAAM,IAAI,GAAG,CAAC;AACd,UAAI;AAAA,QACF,GAAG,EAAE,IAAI,EAAE;AAAA,QACX,GAAG,EAAE,IAAI,EAAE;AAAA,QACX,OAAO,EAAE;AAAA,QACT,QAAQ,EAAE;AAAA,MACX;AAAA,IACL;AACE,WAAO,GAAG,CAAC;AAAA,EACb;AACA,WAAS,GAAG,GAAG,GAAG;AAChB,UAAM,IAAI,EAAE,CAAC;AACb,WAAO,MAAM,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,QAAK,EAAE,CAAC,EAAE,aAAa,WAAW,GAAG,GAAG,CAAC;AAAA,EAC7E;AACA,WAAS,GAAG,GAAG,GAAG;AAChB,UAAM,IAAI,EAAE,IAAI,CAAC;AACjB,QAAI;AACF,aAAO;AACT,QAAI,IAAI,GAAG,GAAG,CAAE,GAAE,KAAE,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,MAAM,GAAG,IAAI;AAClE,UAAMK,KAAI,EAAE,CAAC,EAAE,aAAa;AAC5B,QAAIV,KAAIU,KAAI,EAAE,CAAC,IAAI;AACnB,WAAO,EAAEV,EAAC,KAAK,CAAC,EAAEA,EAAC,KAAK;AACtB,YAAM,IAAI,EAAEA,EAAC,GAAGqB,KAAI,GAAGrB,EAAC;AACxB,OAACqB,MAAK,EAAE,aAAa,YAAY,IAAI,QAAQX,KAAI,CAACW,MAAK,CAAC,IAAI,CAACA,MAAK,EAAE,aAAa,YAAY,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,QAAQ,KAAK,GAAGrB,EAAC,KAAK,CAACqB,MAAK,GAAG,GAAGrB,EAAC,KAAK,IAAI,EAAE,OAAO,CAACsB,OAAMA,OAAMtB,EAAC,IAAI,IAAI,GAAGA,KAAI,EAAEA,EAAC;AAAA,IACtM;AACE,WAAO,EAAE,IAAI,GAAG,CAAC,GAAG;AAAA,EACtB;AACA,WAAS,GAAG,GAAG;AACb,QAAI;AAAA,MACF,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,MACd,UAAU;AAAA,IACd,IAAM;AACJ,UAAMA,KAAI,CAAC,GAAG,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAA,IAAK,GAAG,GAAG,KAAK,EAAE,IAAI,CAAA,EAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAIA,GAAE,CAAC,GAAGqB,KAAIrB,GAAE,OAAO,CAACK,IAAGiB,OAAM;AACzH,YAAM7B,KAAI,GAAG,GAAG6B,IAAG,CAAC;AACpB,aAAOjB,GAAE,MAAM,EAAEZ,GAAE,KAAKY,GAAE,GAAG,GAAGA,GAAE,QAAQ,EAAEZ,GAAE,OAAOY,GAAE,KAAK,GAAGA,GAAE,SAAS,EAAEZ,GAAE,QAAQY,GAAE,MAAM,GAAGA,GAAE,OAAO,EAAEZ,GAAE,MAAMY,GAAE,IAAI,GAAGA;AAAA,IAC9H,GAAE,GAAG,GAAG,GAAG,CAAC,CAAC;AACd,WAAO;AAAA,MACL,OAAOgB,GAAE,QAAQA,GAAE;AAAA,MACnB,QAAQA,GAAE,SAASA,GAAE;AAAA,MACrB,GAAGA,GAAE;AAAA,MACL,GAAGA,GAAE;AAAA,IACN;AAAA,EACH;AACA,WAAS,GAAG,GAAG;AACb,UAAM;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,IACZ,IAAM,GAAG,CAAC;AACR,WAAO;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,IACT;AAAA,EACH;AACA,WAAS,GAAG,GAAG,GAAG,GAAG;AACnB,UAAM,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAGX,KAAI,MAAM,SAASV,KAAI,EAAE,GAAG,MAAIU,IAAG,CAAC;AAC9D,QAAI,IAAI;AAAA,MACN,YAAY;AAAA,MACZ,WAAW;AAAA,IACZ;AACD,UAAMW,KAAI,EAAE,CAAC;AACb,aAAShB,KAAI;AACX,MAAAgB,GAAE,IAAI,GAAG,CAAC;AAAA,IACd;AACE,QAAI,KAAK,CAAC,KAAK,CAACX;AACd,WAAK,EAAE,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,GAAG;AAChD,cAAM0B,KAAI,EAAE,GAAG,MAAI1B,IAAG,CAAC;AACvB,QAAAW,GAAE,IAAIe,GAAE,IAAI,EAAE,YAAYf,GAAE,IAAIe,GAAE,IAAI,EAAE;AAAA,MAC9C,MAAW,MAAK/B,GAAG;AACjB,IAAAK,MAAK,CAAC,KAAK,KAAKL,GAAG;AACnB,UAAMiB,KAAI,KAAK,CAAC,KAAK,CAACZ,KAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAGjB,KAAIO,GAAE,OAAO,EAAE,aAAaqB,GAAE,IAAIC,GAAE,GAAGxB,KAAIE,GAAE,MAAM,EAAE,YAAYqB,GAAE,IAAIC,GAAE;AACpH,WAAO;AAAA,MACL,GAAG7B;AAAA,MACH,GAAGK;AAAA,MACH,OAAOE,GAAE;AAAA,MACT,QAAQA,GAAE;AAAA,IACX;AAAA,EACH;AACA,WAAS,GAAG,GAAG;AACb,WAAO,EAAE,CAAC,EAAE,aAAa;AAAA,EAC3B;AACA,WAAS,GAAG,GAAG,GAAG;AAChB,QAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,aAAa;AAC7B,aAAO;AACT,QAAI;AACF,aAAO,EAAE,CAAC;AACZ,QAAI,IAAI,EAAE;AACV,WAAO,EAAE,CAAC,MAAM,MAAM,IAAI,EAAE,cAAc,OAAO;AAAA,EACnD;AACA,WAAS,GAAG,GAAG,GAAG;AAChB,UAAM,IAAI,EAAE,CAAC;AACb,QAAI,GAAG,CAAC;AACN,aAAO;AACT,QAAI,CAAC,EAAE,CAAC,GAAG;AACT,UAAI,IAAI,EAAE,CAAC;AACX,aAAO,KAAK,CAAC,EAAE,CAAC,KAAK;AACnB,YAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;AACf,iBAAO;AACT,YAAI,EAAE,CAAC;AAAA,MACb;AACI,aAAO;AAAA,IACX;AACE,QAAI,IAAI,GAAG,GAAG,CAAC;AACf,WAAO,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC;AACvB,UAAI,GAAG,GAAG,CAAC;AACb,WAAO,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK;AAAA,EAC1D;AACA,QAAM,KAAK,eAAe,GAAG;AAC3B,UAAM,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,eAAe,IAAI,MAAM,EAAE,EAAE,QAAQ;AACpF,WAAO;AAAA,MACL,WAAW,GAAG,EAAE,WAAW,MAAM,EAAE,EAAE,QAAQ,GAAG,EAAE,QAAQ;AAAA,MAC1D,UAAU;AAAA,QACR,GAAG;AAAA,QACH,GAAG;AAAA,QACH,OAAO,EAAE;AAAA,QACT,QAAQ,EAAE;AAAA,MAChB;AAAA,IACG;AAAA,EACH;AACA,WAAS,GAAG,GAAG;AACb,WAAO,EAAE,CAAC,EAAE,cAAc;AAAA,EAC5B;AACA,QAAM,KAAK;AAAA,IACT,uDAAuD;AAAA,IACvD,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,UAAU;AAAA,IACV,WAAW;AAAA,IACX,OAAO;AAAA,EACT;AACA,WAAS,GAAG,GAAG,GAAG;AAChB,WAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE;AAAA,EAC7E;AACA,WAAS,GAAG,GAAG,GAAG;AAChB,QAAI,IAAI,MAAM;AACd,UAAM,IAAI,EAAE,CAAC;AACb,aAASU,KAAI;AACX,UAAI;AACJ,mBAAa,CAAC,IAAI,IAAI,MAAM,QAAQ,EAAE,cAAc,IAAI;AAAA,IAC5D;AACE,aAASV,GAAE,GAAGqB,IAAG;AACf,YAAM,WAAW,IAAI,QAAKA,OAAM,WAAWA,KAAI,IAAIX,GAAG;AACtD,YAAML,KAAI,EAAE,yBAAyB;AAAA,QACnC,MAAMiB;AAAA,QACN,KAAK7B;AAAA,QACL,OAAOK;AAAA,QACP,QAAQsC;AAAA,MACd,IAAQ/B;AACJ,UAAI,KAAK,EAAC,GAAI,CAACP,MAAK,CAACsC;AACnB;AACF,YAAM5B,KAAI,GAAGf,EAAC,GAAGC,KAAI,GAAG,EAAE,eAAe4B,KAAIxB,GAAE,GAAG8B,KAAI,GAAG,EAAE,gBAAgBnC,KAAI2C,GAAE,GAAGjB,KAAI,GAAGG,EAAC,GAAGvB,KAAI;AAAA,QACjG,YAAY,CAACS,KAAI,QAAQ,CAACd,KAAI,QAAQ,CAACkC,KAAI,QAAQ,CAACT,KAAI;AAAA,QACxD,WAAW,EAAE,GAAG,EAAE,GAAGE,EAAC,CAAC,KAAK;AAAA,MAC7B;AACD,UAAIH,KAAI;AACR,eAASjB,GAAEL,IAAG;AACZ,cAAMO,KAAIP,GAAE,CAAC,EAAE;AACf,YAAIO,OAAMkB,IAAG;AACX,cAAI,CAACH;AACH,mBAAOlB,GAAG;AACZ,UAAAG,KAAIH,GAAE,OAAIG,EAAC,IAAI,IAAI,WAAW,MAAM;AAClC,YAAAH,GAAE,OAAI,IAAI;AAAA,UACX,GAAE,GAAG;AAAA,QACd;AACM,QAAAG,OAAM,KAAK,CAAC,GAAGE,IAAG,EAAE,sBAAqB,CAAE,KAAKL,MAAKkB,KAAI;AAAA,MAC/D;AACI,UAAI;AACF,YAAI,IAAI,qBAAqBjB,IAAG;AAAA,UAC9B,GAAGF;AAAA;AAAA,UAEH,MAAM,EAAE;AAAA,QAChB,CAAO;AAAA,MACP,QAAY;AACN,YAAI,IAAI,qBAAqBE,IAAGF,EAAC;AAAA,MACvC;AACI,QAAE,QAAQ,CAAC;AAAA,IACf;AACE,WAAOC,GAAE,IAAE,GAAGU;AAAA,EAChB;AACA,WAAS,GAAG,GAAG,GAAG,GAAG,GAAG;AACtB,UAAM,WAAW,IAAI;AACrB,UAAM;AAAA,MACJ,gBAAgB,IAAI;AAAA,MACpB,gBAAgBA,KAAI;AAAA,MACpB,eAAeV,KAAI,OAAO,kBAAkB;AAAA,MAC5C,aAAa,IAAI,OAAO,wBAAwB;AAAA,MAChD,gBAAgBqB,KAAI;AAAA,IACxB,IAAM,GAAGhB,KAAI,GAAG,CAAC,GAAGiB,KAAI,KAAKZ,KAAI,CAAC,GAAGL,KAAI,GAAGA,EAAC,IAAI,CAAA,GAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAE;AACjE,IAAAiB,GAAE,QAAQ,CAACH,OAAM;AACf,WAAKA,GAAE,iBAAiB,UAAU,GAAG;AAAA,QACnC,SAAS;AAAA,MACV,CAAA,GAAGT,MAAKS,GAAE,iBAAiB,UAAU,CAAC;AAAA,IAC3C,CAAG;AACD,UAAM1B,KAAIY,MAAK,IAAI,GAAGA,IAAG,CAAC,IAAI;AAC9B,QAAIP,KAAI,IAAIsC,KAAI;AAChB,IAAApC,OAAMoC,KAAI,IAAI,eAAe,CAACjB,OAAM;AAClC,UAAI,CAACZ,EAAC,IAAIY;AACV,MAAAZ,MAAKA,GAAE,WAAWF,MAAK+B,OAAMA,GAAE,UAAU,CAAC,GAAG,qBAAqBtC,EAAC,GAAGA,KAAI,sBAAsB,MAAM;AACpG,YAAIC;AACJ,SAACA,KAAIqC,OAAM,QAAQrC,GAAE,QAAQ,CAAC;AAAA,MACpC,CAAK,IAAI,EAAG;AAAA,IACT,CAAA,GAAGM,MAAK,CAACgB,MAAKe,GAAE,QAAQ/B,EAAC,GAAG+B,GAAE,QAAQ,CAAC;AACxC,QAAI5B,IAAGd,KAAI2B,KAAI,EAAE,CAAC,IAAI;AACtB,IAAAA,MAAKO,GAAG;AACR,aAASA,KAAI;AACX,YAAMT,KAAI,EAAE,CAAC;AACb,MAAAzB,MAAK,CAAC,GAAGA,IAAGyB,EAAC,KAAK,KAAKzB,KAAIyB,IAAGX,KAAI,sBAAsBoB,EAAC;AAAA,IAC7D;AACE,WAAO,EAAG,GAAE,MAAM;AAChB,UAAIT;AACJ,MAAAG,GAAE,QAAQ,CAACf,OAAM;AACf,aAAKA,GAAE,oBAAoB,UAAU,CAAC,GAAGG,MAAKH,GAAE,oBAAoB,UAAU,CAAC;AAAA,MAChF,CAAA,GAAGd,KAAK,IAAG0B,KAAIiB,OAAM,QAAQjB,GAAE,WAAU,GAAIiB,KAAI,MAAMf,MAAK,qBAAqBb,EAAC;AAAA,IACpF;AAAA,EACH;AACA,QAAM,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,GAAG,MAAM;AACnE,UAAM,IAAoB,oBAAI,IAAK,GAAE,IAAI;AAAA,MACvC,UAAU;AAAA,MACV,GAAG;AAAA,IACJ,GAAEE,KAAI;AAAA,MACL,GAAG,EAAE;AAAA,MACL,IAAI;AAAA,IACL;AACD,WAAO,GAAG,GAAG,GAAG;AAAA,MACd,GAAG;AAAA,MACH,UAAUA;AAAA,IACd,CAAG;AAAA,EACH;AACA,WAAS,GAAG,GAAG,GAAG,GAAG;AACnB,WAAO,OAAO,EAAE,OAAO;AAAA,MACrB,MAAM,KAAK,OAAO,GAAG,CAAC,OAAO;AAAA,MAC7B,KAAK,KAAK,OAAO,GAAG,CAAC,OAAO;AAAA,IAChC,CAAG;AAAA,EACH;AACA,WAAS,GAAG,GAAG,GAAG;AAChB,QAAI,IAAI,EAAE,WAAW,cAAc;AACnC,WAAO,KAAK,aAAa,EAAE,QAAQ,GAAG,IAAI,OAAO,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,OAAO,IAAI,EAAE,MAAM,GAAG,KAAK,MAAM,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;AAC5I,UAAM,IAAI,OAAO,CAAC;AAClB,QAAI,OAAO,MAAM,CAAC;AAChB,YAAM,IAAI,MAAM,0CAA0C,CAAC,GAAG;AAChE,WAAO;AAAA,EACT;AACA,WAAS,GAAG,GAAG;AACb,QAAI;AACJ,UAAM,IAAI,OAAO,KAAK,WAAW,EAAE,KAAI,EAAG,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5G,aAAS,IAAI,GAAG,IAAI,EAAE,QAAQ;AAC5B,QAAE,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;AACpB,YAAQ,EAAE,QAAM;AAAA,MACd,KAAK;AACH,YAAI,EAAE,CAAC;AACP;AAAA,MACF,KAAK;AACH,YAAI;AAAA,UACF,KAAK,EAAE,CAAC;AAAA,UACR,OAAO,EAAE,CAAC;AAAA,UACV,QAAQ,EAAE,CAAC;AAAA,UACX,MAAM,EAAE,CAAC;AAAA,QACV;AACD;AAAA,MACF,KAAK;AACH,YAAI;AAAA,UACF,KAAK,EAAE,CAAC;AAAA,UACR,OAAO,EAAE,CAAC;AAAA,UACV,QAAQ,EAAE,CAAC;AAAA,UACX,MAAM,EAAE,CAAC;AAAA,QACV;AACD;AAAA,MACF,KAAK;AACH,YAAI;AAAA,UACF,KAAK,EAAE,CAAC;AAAA,UACR,OAAO,EAAE,CAAC;AAAA,UACV,QAAQ,EAAE,CAAC;AAAA,UACX,MAAM,EAAE,CAAC;AAAA,QACV;AACD;AAAA,MACF;AACE,YAAI;AACJ;AAAA,IACN;AACE,WAAO;AAAA,EACT;AACA,WAAS,GAAG,GAAG;AACb,WAAO;AAAA,MACL,QAAQ,OAAO,EAAE,WAAW,QAAQ,CAAC;AAAA,MACrC,MAAM;AAAA,QACJ,SAAS,GAAG,EAAE,WAAW,cAAc,CAAC;AAAA,MACzC;AAAA,MACD,OAAO;AAAA,QACL,SAAS,GAAG,EAAE,WAAW,eAAe,CAAC;AAAA,MAC1C;AAAA,MACD,OAAO;AAAA,QACL,UAAU,EAAE,WAAW,eAAe;AAAA,QACtC,SAAS;AAAA,QACT,SAAS,GAAG,EAAE,WAAW,eAAe,CAAC;AAAA,MAC/C;AAAA,IACG;AAAA,EACH;AACA,WAAS,GAAG,GAAG;AACb,UAAM,IAAI,KAAK,IAAI,CAAC;AACpB,QAAI;AACF,aAAO;AACT,UAAM,IAAI,MAAM,+CAA+C,CAAC,IAAI;AAAA,EACtE;AACA,iBAAe,GAAG,GAAG;AACnB,WAAO,KAAK,EAAE,UAAU,aAAa,EAAE,GAAG,QAAQ,MAAI,EAAE,GAAG,UAAU,OAAO,EAAE,OAAO,SAAS,WAAW,GAAG,EAAE,aAAa,EAAE,SAAS,aAAa,iBAAiB,OAAO,GAAG,EAAE,gBAAiB,GAAE,EAAE,QAAQ,UAAU,EAAE,YAAY,EAAE,OAAO,YAAY,EAAE,OAAO,UAAU,OAAO,EAAE,GAAG;AAAA,MACvR,IAAI,YAAY,EAAE,WAAW,mBAAmB,IAAI,UAAU;AAAA,QAC5D,QAAQ,EAAE;AAAA,QACV,SAAS;AAAA,MACV,CAAA;AAAA,IACL,GAAK,MAAM,EAAE,OAAO,KAAK,UAAU,CAAC,IAAI;AAAA,EACxC;AACA,iBAAe,GAAG,GAAG;AACnB,UAAM,IAAI,CAAE;AACZ,eAAW,KAAK,EAAE;AAChB,QAAE,UAAU,YAAY,EAAE,KAAK,MAAM,EAAE,OAAO;AAChD,WAAO;AAAA,EACT;AACA,WAAS,GAAG,GAAG;AACb,MAAE,SAAS,YAAY,WAAW,OAAO,SAAS,eAAe;AAAA,MAC/D,IAAI,EAAE,EAAE,qBAAqB,EAAE,EAAE,0BAA0B,EAAE,EAAE;AAAA,IAChE,KAAI,EAAE,MAAK,GAAI,IAAI,CAAC;AAAA,EACvB;AACA,WAAS,GAAG,GAAG;AACb,MAAE,UAAU,WAAW,EAAE,MAAO,KAAI,KAAK,UAAU,EAAE,SAAS,EAAE,KAAI;AAAA,EACtE;AACA,WAAS,GAAG,GAAG;AACb,MAAE,cAAc,EAAE,iBAAiB,aAAa,EAAE,aAAa,GAAG,EAAE;EACtE;AACA,WAAS,GAAG,GAAG,GAAG;AAChB,QAAI,EAAE,YAAY,GAAG,EAAE,QAAQ,WAAW,EAAE,WAAW,CAAC,EAAE,QAAQ,QAAQ,gBAAgB;AACxF;AACF,MAAE,iBAAiB,aAAa,EAAE,aAAa;AAC/C,UAAM,IAAI,EAAE,SAAS,aAAa,eAAe;AACjD,QAAI,KAAK,KAAK,OAAQ;AACtB,UAAM,IAAI,KAAK,cAAc,IAAI,GAAG,GAAG,CAAC;AACxC,SAAK,eAAe,KAAK,YAAY,MAAK,GAAI,EAAE,gBAAgB,WAAW,MAAM;AAC/E,QAAE,MAAM,EAAE,KAAM;AAAA,IACjB,GAAE,CAAC;AAAA,EACN;AACA,WAAS,GAAG,GAAG,GAAG;AAChB,eAAW,MAAM;AACf,QAAE,YAAY,GAAG,CAAC,EAAE,cAAc,EAAE,iBAAiB,aAAa,EAAE,aAAa,GAAG,EAAE,gBAAgB;AAAA,QACpG,MAAM,GAAG,CAAC;AAAA,QACV,GAAG,GAAG,CAAC;AAAA,MACb;AAAA,IACG,GAAE,CAAC;AAAA,EACN;AACA,WAAS,GAAG,GAAG;AACb,YAAQ,EAAE,KAAG;AAAA,MACX,KAAK;AACH,aAAK,WAAW,KAAK,QAAQ,MAAO,GAAE,GAAG,IAAI;AAC7C;AAAA,MACF,KAAK;AACH,aAAK,WAAW,QAAQ,CAAC,MAAM;AAC7B,aAAG,CAAC;AAAA,QACZ,CAAO;AACD;AAAA,MACF;AACE;AAAA,IACN;AAAA,EACA;AACA,WAAS,GAAG,GAAG;AACb,UAAM,IAAI;AACV,aAAS,iBAAiB,SAAS,SAAS,EAAE,GAAG;AAC/C,YAAM,IAAI,EAAE;AACZ,YAAM,EAAE;AAAA,QACN,IAAI,EAAE,EAAE,qBAAqB,EAAE,EAAE,0BAA0B,EAAE,EAAE;AAAA,MACrE,IAAQ,EAAE,MAAM,CAAC,EAAE,GAAG,UAAU,SAAS,EAAE,SAAS,WAAW,KAAK,KAAK,oBAAoB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,SAAS,EAAE,SAAS,WAAW,KAAK,EAAE,MAAO,GAAE,KAAK,oBAAoB,SAAS,CAAC;AAAA,IACrN,CAAG;AAAA,EACH;AACA,iBAAe,GAAG,GAAG;AACnB,MAAE,GAAG,QAAQ,OAAI,EAAE,GAAG,UAAU,IAAI,EAAE,OAAO,SAAS,WAAW,GAAG,EAAE,aAAa,EAAE,SAAS,aAAa,iBAAiB,MAAM,GAAG,EAAE,iBAAkB;AACzJ,UAAM,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG;AAAA,MACxB,EAAE,MAAM;AAAA,IACT;AACD,WAAO,EAAE,MAAM,UAAU,KAAK,MAAM,EAAE,mBAAmB,gBAAgB,EAAE,kBAAkB,GAAG,EAAE,SAAS,EAAE,IAAI,MAAM;AACrH,YAAM,IAAI;AAAA,QACR,GAAG,EAAE,IAAI;AAAA,QACT,GAAG,EAAE,GAAG,EAAE,OAAO,SAAS,GAAE,GAAI;AAAA,QAChC,GAAG,EAAE,MAAM;AAAA,MACZ;AACD,QAAE,MAAM,WAAW,EAAE;AAAA,QACnB,GAAG;AAAA,UACD,GAAG,EAAE;AAAA,UACL,SAAS,EAAE,MAAM;AAAA,QAClB,CAAA;AAAA,MACF,GAAE,GAAG,EAAE,SAAS,EAAE,IAAI;AAAA,QACrB,WAAW,EAAE,WAAW,WAAW;AAAA,QACnC,YAAY;AAAA,MACb,CAAA,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,GAAGA,IAAG,WAAWV,IAAG,gBAAgB,EAAC,MAAO;AAC3D,YAAI,EAAE,IAAI;AACR,cAAI,GAAG,EAAE,IAAI,GAAGU,EAAC,GAAG,EAAE,MAAM,WAAW,EAAE,OAAO;AAC9C,kBAAM,EAAE,GAAGW,IAAG,GAAGhB,GAAC,IAAK,EAAE;AACzB,eAAG,EAAE,MAAM,SAASgB,IAAGhB,EAAC;AAAA,UAClC;AACQ,YAAE,GAAG,aAAa,2BAA2BL,EAAC;AAAA,QACtD;AAAA,MACA,CAAK;AAAA,IACL,CAAG,IAAI,EAAE,QAAQ,UAAU,EAAE,WAAW,OAAO,MAAM,WAAW,GAAG,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG;AAAA,MACvF,IAAI,YAAY,EAAE,WAAW,mBAAmB,IAAI,UAAU;AAAA,QAC5D,QAAQ,EAAE;AAAA,QACV,SAAS;AAAA,MACV,CAAA;AAAA,IACL,GAAK,MAAM,EAAE,OAAO,KAAK,UAAU,CAAC,GAAG;AAAA,EACvC;AAAA,EACA,MAAM,WAAW,GAAG;AAAA,IAClB;AAAA,IACA;AAAA,IACA,YAAY,GAAG,GAAG,IAAI,CAAA,GAAI;AACxB,YAAM,GAAG,GAAG,CAAC,GAAG,KAAK,QAAQ,UAAU,KAAK,gBAAgB,MAAM,KAAK,UAAU,MAAM,KAAK,KAAK,MAAM,KAAK,KAAK;AAAA,QAC/G,IAAI;AAAA,QACJ,SAAS;AAAA,MACf,GAAO,KAAK,kBAAkB,MAAM;AAAA,MAC/B;AAAA,IACL;AAAA,IACE,IAAI,YAAY;AACd,aAAO,CAAC,CAAC,KAAK,GAAG,QAAQ,KAAK,WAAW,iBAAiB,CAAC,KAAK,KAAK,GAAG,aAAa,MAAM,KAAK;AAAA,IACpG;AAAA,IACE,IAAI,YAAY;AACd,aAAO,KAAK,GAAG,MAAM,KAAK,GAAG;AAAA,IACjC;AAAA,IACE,IAAI,UAAU,GAAG;AACf,YAAM,IAAI,EAAE,QAAQ,eAAe,OAAK,EAAE,QAAQ,eAAe,QAAK;AACtE,UAAI,KAAK;AACP,gBAAQ,EAAE,QAAM;AAAA,UACd,KAAK,KAAK;AACR,iBAAK,GAAG,KAAK;AACb;AAAA,UACF,KAAK,KAAK;AACR,iBAAK,GAAG,UAAU;AAClB;AAAA,QACV;AAAA,IACA;AAAA,IACE,MAAM,OAAO;AACX,aAAO,GAAG,IAAI;AAAA,IAClB;AAAA,IACE,MAAM,QAAQ;AACZ,aAAO,GAAG,IAAI;AAAA,IAClB;AAAA,IACE,MAAM,aAAa;AACjB,aAAO,KAAK,OAAO,WAAW,KAAK,EAAE;AAAA,IACzC;AAAA,IACE,yBAAyB;AACvB,WAAK,OAAO,KAAK,WAAW,OAAO,MAAM,WAAW,KAAK,KAAK;AAAA,QAC5D;AAAA,UACE,IAAI,CAAC,MAAM,SAAS;AAAA,UACpB,MAAM,CAAC,cAAc,OAAO;AAAA,UAC5B,UAAU,GAAG,KAAK,KAAK,QAAQ,IAAI;AAAA,QACpC;AAAA,QACD;AAAA,UACE,IAAI,CAAC,MAAM,SAAS;AAAA,UACpB,MAAM,CAAC,cAAc,UAAU;AAAA,UAC/B,UAAU,GAAG,KAAK,KAAK,QAAQ,IAAI;AAAA,QACpC;AAAA,QACD;AAAA,UACE,IAAI,CAAC,SAAS;AAAA,UACd,MAAM,CAAC,OAAO;AAAA,UACd,UAAU,GAAG,KAAK,KAAK,QAAQ,IAAI;AAAA,QAC3C;AAAA,MACK,GAAE,KAAK,GAAG,QAAQ,CAAC,MAAM;AACxB,UAAE,GAAG,QAAQ,CAAC,MAAM;AAClB,YAAE,KAAK,QAAQ,CAAC,MAAM;AACpB,iBAAK,CAAC,EAAE,iBAAiB,GAAG,EAAE,UAAU,KAAE;AAAA,UACpD,CAAS;AAAA,QACT,CAAO;AAAA,MACP,CAAK,MAAM,KAAK,KAAK;AAAA,QACf;AAAA,UACE,IAAI,CAAC,SAAS;AAAA,UACd,MAAM,CAAC,OAAO;AAAA,UACd,UAAU,GAAG,KAAK,KAAK,QAAQ,IAAI;AAAA,QAC3C;AAAA,MACK,GAAE,KAAK,GAAG,QAAQ,CAAC,MAAM;AACxB,UAAE,GAAG,QAAQ,CAAC,MAAM;AAClB,YAAE,KAAK,QAAQ,CAAC,MAAM;AACpB,iBAAK,CAAC,EAAE,iBAAiB,GAAG,EAAE,UAAU,KAAE;AAAA,UACpD,CAAS;AAAA,QACT,CAAO;AAAA,MACF,CAAA;AAAA,IACL;AAAA,IACE,2BAA2B;AACzB,WAAK,OAAO,KAAK,GAAG,QAAQ,CAAC,MAAM;AACjC,UAAE,GAAG,QAAQ,CAAC,MAAM;AAClB,YAAE,KAAK,QAAQ,CAAC,MAAM;AACpB,iBAAK,CAAC,EAAE,oBAAoB,GAAG,EAAE,UAAU,KAAE;AAAA,UACvD,CAAS;AAAA,QACT,CAAO;AAAA,MACP,CAAK,GAAG,KAAK,KAAK;AAAA,IAClB;AAAA,IACE,MAAM,gBAAgB;AACpB,WAAK,UAAU,SAAS;AAAA,QACtB,mBAAmB,KAAK,EAAE,0BAA0B,KAAK,EAAE;AAAA,MAC5D,GAAE,KAAK,aAAa,KAAK,SAAS,QAAQ,SAAS,KAAK,GAAG,aAAa,QAAQ,SAAS,KAAK,KAAK,WAAW,KAAK,mBAAmB,eAAe,KAAK,QAAQ,aAAa,iBAAiB,OAAO,GAAG,KAAK,uBAAwB;AAAA,IAC5O;AAAA,IACE,MAAM,kBAAkB;AACtB,WAAK,GAAG,UAAU,SAAS,KAAK,WAAW,aAAa,CAAC,IAAI,MAAM,KAAK,KAAM,IAAG,KAAK,GAAG,QAAQ;AAAA,IACrG;AAAA,IACE,MAAM,iBAAiB;AACrB,WAAK,UAAU,YAAY,MAAM,KAAK,SAAS,KAAK,gBAAe,GAAI,KAAK,yBAA0B;AAAA,IAC1G;AAAA,EACA;AAAA,EACA,MAAM,WAAW,GAAG;AAAA,IAClB;AAAA,IACA,YAAY,GAAG;AACb,YAAM,EAAE,GAAG,IAAI,GAAG,EAAG,CAAA,GAAG,KAAK,SAAS,WAAW,KAAK,aAAa,IAAI,KAAK,UAAU,MAAM,KAAK,KAAK,GAAG,KAAK,IAAI;AAAA,IACtH;AAAA,IACE,IAAI,SAAS;AACX,aAAO,KAAK,IAAI,UAAU,OAAO;AAAA,IACrC;AAAA,IACE,IAAI,cAAc;AAChB,aAAO,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,WAAW,OAAO,KAAK,OAAO;AAAA,IAC9F;AAAA,IACE,MAAM,KAAK,GAAG;AACZ,YAAM,IAAI,GAAG,KAAK,MAAM,CAAC;AACzB,aAAO,GAAG,CAAC;AAAA,IACf;AAAA,IACE,MAAM,MAAM,GAAG;AACb,YAAM,IAAI,IAAI,GAAG,KAAK,MAAM,CAAC,IAAI;AACjC,aAAO,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI;AAAA,IAC9B;AAAA,IACE,MAAM,aAAa;AACjB,eAAS,iBAAiB,WAAW,KAAK,IAAI,KAAE;AAAA,IACpD;AAAA,IACE,MAAM,gBAAgB;AACpB,WAAK,UAAU;AAAA,IACnB;AAAA,IACE,MAAM,eAAe;AACnB,eAAS,oBAAoB,WAAW,KAAK,IAAI,KAAE;AAAA,IACvD;AAAA,EACA;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.umd.cjs","sources":["../../core/dist/index.js","../../drawer/dist/index.js","../../modal/dist/index.js","../../popover/dist/index.js"],"sourcesContent":["const l = \":not([inert])\", u = ':not([tabindex^=\"-\"])', m = \":not(:disabled)\", C = [\n `a[href]${l}${u}`,\n `area[href]${l}${u}`,\n `input:not([type=\"hidden\"]):not([type=\"radio\"])${l}${u}${m}`,\n `input[type=\"radio\"]${l}${u}${m}`,\n `select${l}${u}${m}`,\n `textarea${l}${u}${m}`,\n `button${l}${u}${m}`,\n `details${l} > summary:first-of-type${u}`,\n `iframe${l}${u}`,\n `audio[controls]${l}${u}`,\n `video[controls]${l}${u}`,\n `[contenteditable]${l}${u}`,\n `[tabindex]${l}${u}`\n];\nfunction x(i, t = \"config\") {\n const o = (i.getAttribute(`data-${t}`) || \"\").replace(/'/g, '\"');\n return o ? JSON.parse(o) : {};\n}\nfunction v(i) {\n if (typeof i == \"string\") {\n const t = document.getElementById(i);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${i}\"`);\n } else if (i instanceof HTMLElement) {\n if (!i.id)\n throw new Error(\"HTMLElement must have an ID\");\n return i;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nfunction h(i, ...t) {\n return typeof i == \"function\" ? i(...t) : i;\n}\nasync function g(i, t, ...e) {\n t in i && typeof i[t] == \"function\" && await i[t](...e);\n}\nfunction k(i, t, e) {\n if (typeof t == \"string\") {\n const r = document.querySelector(t);\n if (!r)\n throw new Error(`No teleport reference found for selector: ${t}`);\n t = r;\n } else if (!(t instanceof HTMLElement))\n throw new Error(`Not a valid teleport reference: '${t}'`);\n if (typeof t[e] != \"function\")\n throw new Error(`Not a valid teleport method: '${e}'`);\n let o = document.createComment(\n \"teleported #\" + i.id\n );\n return i.before(o), t[e](i), () => {\n o && (o.after(i), o.remove(), o = null);\n };\n}\nfunction R(i) {\n return i.split(\"-\").map(\n (t, e) => e === 0 ? t : t.charAt(0).toUpperCase() + t.slice(1)\n ).join(\"\");\n}\nfunction M(i) {\n return i.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction A(i) {\n if (typeof i == \"number\")\n return i;\n const t = parseFloat(i);\n if (!Number.isNaN(t)) {\n const e = i.includes(\"ms\");\n return t * (e ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${i}`);\n}\nfunction W(i, t, e, o, r = 0) {\n return new Promise((n) => {\n i.classList.remove(t), i.classList.add(e), setTimeout(() => {\n i.classList.add(o), i.classList.remove(e), n(i);\n }, A(r));\n });\n}\nfunction S(i, t = {}) {\n const e = {\n fallback: null,\n element: document.body,\n ...t\n };\n if (!i.startsWith(\"--\")) {\n const r = y();\n r && (i = `${r}${i}`), i = `--${i}`;\n }\n const o = getComputedStyle(e.element).getPropertyValue(i).trim();\n if (o)\n return o;\n if (e.fallback)\n return e.fallback;\n throw new Error(`CSS variable \"${i}\" was not found!`);\n}\nasync function d(i, t, e) {\n await g(t, i, e), e && await g(e, i);\n for (const o of t.plugins)\n await g(o, i, { parent: t, entry: e });\n await t.emit(i, { parent: t, entry: e });\n}\nfunction b(i) {\n const t = getComputedStyle(i.el), e = {}, o = i.config.get(\"customProps\");\n for (let r = 0; r < o.length; r++) {\n const n = y(), s = i.parent.name.toLowerCase(), c = M(o[r]), a = t.getPropertyValue(`--${n}${s}-${c}`).trim();\n a && (e[R(c)] = a);\n }\n return e;\n}\nfunction y() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction P(i, t) {\n t && document.querySelectorAll(t).forEach((o) => {\n i ? o.style.overflow = \"hidden\" : o.style.removeProperty(\"overflow\");\n });\n}\nfunction T(i, t) {\n t && document.querySelectorAll(t).forEach((o) => {\n o.inert = i;\n });\n}\nfunction Z(i, t, e) {\n T(!!i, t), P(!!i, e);\n}\nclass I {\n #t;\n #e;\n constructor() {\n this.#t = {}, this.#e = [];\n }\n get(t, e) {\n const { fallback: o, source: r } = e ?? {};\n if (r) {\n const n = this.#t?.[r]?.[t];\n if (n !== void 0)\n return n;\n } else\n for (const n of this.#e) {\n const s = this.#t?.[n]?.[t];\n if (s !== void 0)\n return s;\n }\n if (o !== void 0)\n return o;\n throw new Error(`Config does not exist: ${t}`);\n }\n set(t, e = {}) {\n let o, r;\n return typeof t == \"string\" ? (o = t, r = e) : (o = \"entry\", r = t), this.#t[o] ? Object.assign(this.#t[o], r) : (this.#e.unshift(o), this.#t[o] = r), this.#t[o];\n }\n remove(t) {\n const e = this.#e.indexOf(t);\n e !== -1 && this.#e.splice(e, 1), delete this.#t[t];\n }\n setSourceOrder(t) {\n const e = Object.keys(this.#t).reverse(), o = t.filter((r) => e.includes(r));\n for (const r of e)\n o.includes(r) || o.push(r);\n return this.#e = o;\n }\n}\nclass L {\n constructor() {\n this.events = {};\n }\n on(t, e, ...o) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (n) => n.listener === e\n ) || this.events[t].push({ listener: e, args: o });\n }\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (o) => o.listener !== e\n ));\n }\n async emit(t, ...e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: o, args: r } of this.events[t])\n await o(...e, ...r);\n }\n}\nclass U extends Array {\n constructor(t = null) {\n super(), this.el = t, this.el && this.set();\n }\n get first() {\n return this[0];\n }\n get last() {\n return this[this.length - 1];\n }\n set(t = this.el) {\n this.length = 0, t && this.push(...t.querySelectorAll(C.join(\",\")));\n }\n clear() {\n this.length = 0;\n }\n}\nclass D {\n constructor(t = null) {\n this.el = t, this.focusable = new U(), this.handleFocusTrap = O.bind(this);\n }\n on(t = this.el) {\n this.focusable.set(t), this.focusable.length ? document.addEventListener(\"keydown\", this.handleFocusTrap) : document.addEventListener(\"keydown\", $);\n }\n off() {\n this.focusable.clear(), document.removeEventListener(\"keydown\", this.handleFocusTrap), document.removeEventListener(\"keydown\", $);\n }\n}\nfunction $(i) {\n (i.key === \"Tab\" || i.keyCode === 9) && i.preventDefault();\n}\nfunction O(i) {\n if (i.key !== \"Tab\" && i.keyCode !== 9) return;\n const { activeElement: t } = document, { el: e, focusable: o } = this, r = i.shiftKey, n = t === o.first || t === e, s = t === o.last || t === e;\n if (r && n || !r && s) {\n i.preventDefault();\n const c = r ? o.last : o.first;\n c && typeof c.focus == \"function\" && c.focus();\n }\n}\nfunction w(i, t = !0) {\n const e = localStorage.getItem(i), o = e ? JSON.parse(e) : {};\n return {\n get(r, n) {\n return r ? r in o ? o[r] : n : o;\n },\n set(r, n) {\n return n ? o[r] = n : delete o[r], t && localStorage.setItem(i, JSON.stringify(o)), o;\n }\n };\n}\nclass H extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n #t(t) {\n const e = this.presets?.[t.name] || {}, o = t?.options || {};\n t.config = { ...t.config, ...e, ...o };\n }\n #e(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((e) => e.name === t) || null;\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((e) => this.add(e));\n else if (this.#t(t), this.#e(t)) {\n const e = this.findIndex((o) => o.name === t.name);\n ~e ? this[e] = t : this.push(t);\n }\n }\n remove(t) {\n const e = this.findIndex((o) => o.name === t);\n ~e && this.splice(e, 1);\n }\n}\nclass _ extends Array {\n constructor(t = {}) {\n super(), this.config = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n const t = this[this.length - 1];\n return t || null;\n }\n updateIndex() {\n this.forEach((t, e) => {\n t.el.style.zIndex = \"\";\n const o = getComputedStyle(t.el).getPropertyValue(\"z-index\"), r = parseInt(o, 10), n = String((Number.isNaN(r) ? 0 : r) + e + 1);\n t.el.style.zIndex = n;\n });\n }\n onChange() {\n this.updateIndex(), typeof this.config.onChange == \"function\" && this.config.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const e = this.findIndex((o) => o.id === t.id);\n ~e && (t.el.style.zIndex = \"\", this.splice(e, 1), this.onChange());\n }\n moveToTop(t) {\n const e = this.findIndex((o) => o.id === t.id);\n ~e && (this.splice(e, 1), this.add(t));\n }\n}\nconst N = {\n attr: \"config\",\n sourceKey: \"attr\"\n};\nfunction X(i = {}) {\n return { ...{\n name: \"attrConfig\",\n config: N,\n options: i\n }, ...{\n onCreateEntry({ entry: o }) {\n const r = x(o.el, this.config.attr);\n o.config.set(this.config.sourceKey, r);\n },\n onDestroyEntry({ entry: o }) {\n o.config.remove(this.config.sourceKey);\n }\n } };\n}\nconst K = {\n sourceKey: \"css\"\n};\nfunction Y(i = {}) {\n const t = {\n name: \"cssConfig\",\n config: K,\n options: i\n }, e = {\n setup(r) {\n r.on(\"updateCustomProps\", o, this);\n },\n teardown(r) {\n r.off(\"updateCustomProps\", o);\n },\n onCreateEntry({ entry: r }) {\n const n = b(r);\n r.config.set(this.config.sourceKey, n);\n },\n onDestroyEntry({ entry: r }) {\n r.config.remove(this.config.sourceKey);\n }\n };\n function o(r, n) {\n const s = b(r);\n r.config.set(n.config.sourceKey, s);\n }\n return { ...t, ...e };\n}\nconst Q = {\n condition: !0\n}, q = {\n primary: \"hsl(152deg 60% 50%)\",\n secondary: \"hsl(214deg 50% 50%)\",\n neutral: \"hsl(214deg 20% 50%)\",\n important: \"hsl(0deg 80% 50%)\"\n};\nfunction tt(i = {}) {\n const t = {\n name: \"debug\",\n config: Q,\n options: i\n };\n function e(n, s = [], c = [\"primary\", \"secondary\"]) {\n const a = c.map((f) => `color: ${q[f]}`);\n console.log(`%c📡 DEBUG: %c${n}`, ...a, ...s);\n }\n const o = {\n beforeMountRef: e.bind(\n null,\n \"Event > beforeMount()\",\n [],\n [\"primary\", \"secondary\"]\n ),\n afterMountRef: e.bind(\n null,\n \"Event > afterMount()\",\n [],\n [\"primary\", \"secondary\"]\n ),\n beforeUnmountRef: e.bind(\n null,\n \"Event > beforeUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n afterUnmountRef: e.bind(\n null,\n \"Event > afterUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n createEntryRef: ({ parent: n, entry: s }, c) => {\n if (h(c.config.condition, s)) {\n const a = n.collection.length;\n e(`Event > createEntry() > [${a}] #${s.id}`);\n }\n },\n registerEntryRef: ({ parent: n, entry: s }, c) => {\n if (h(c.config.condition, s)) {\n const a = n.collection.length;\n e(`Event > registerEntry() > [${a}] #${s.id}`);\n }\n },\n destroyEntryRef: ({ parent: n, entry: s }, c) => {\n if (h(c.config.condition, s)) {\n const a = n.collection.length;\n e(\n `Event > destroyEntry() > [${a}] #${s.id}`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n },\n deregisterEntryRef: ({ parent: n, entry: s }, c) => {\n if (h(c.config.condition, s)) {\n const a = n.collection.length;\n e(\n `Event > deregisterEntry() > [${a}]`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n }\n };\n return { ...t, ...{\n // Plugin setup/teardown methods\n setup(n) {\n e(\"Plugin > setup()\", Array.from(arguments), [\"secondary\", \"neutral\"]), n.on(\"beforeMount\", o.beforeMountRef), n.on(\"createEntry\", o.createEntryRef, this), n.on(\"registerEntry\", o.registerEntryRef, this), n.on(\"afterMount\", o.afterMountRef), n.on(\"beforeUnmount\", o.beforeUnmountRef), n.on(\"destroyEntry\", o.destroyEntryRef, this), n.on(\"deregisterEntry\", o.deregisterEntryRef, this), n.on(\"afterUnmount\", o.afterUnmountRef);\n },\n teardown(n) {\n e(\"Plugin > teardown()\", Array.from(arguments), [\n \"secondary\",\n \"neutral\"\n ]), n.off(\"beforeMount\", o.beforeMountRef), n.off(\"createEntry\", o.createEntryRef), n.off(\"registerEntry\", o.registerEntryRef), n.off(\"afterMount\", o.afterMountRef), n.off(\"beforeUnmount\", o.beforeUnmountRef), n.off(\"destroyEntry\", o.destroyEntryRef), n.off(\"deregisterEntry\", o.deregisterEntryRef), n.off(\"afterUnmount\", o.afterUnmountRef);\n },\n // Mount lifecycle hooks\n beforeMount() {\n e(\"Hook > beforeMount()\", Array.from(arguments));\n },\n onCreateEntry({ parent: n, entry: s }) {\n if (h(this.config.condition, s)) {\n const c = n.collection.length;\n e(\n `Hook > onCreateEntry() > [${c}] #${s.id}`,\n Array.from(arguments)\n );\n }\n },\n onRegisterEntry({ parent: n, entry: s }) {\n if (h(this.config.condition, s)) {\n const c = n.collection.length - 1;\n e(\n `Hook > onRegisterEntry() > [${c}] #${s.id}`,\n Array.from(arguments)\n );\n }\n },\n afterMount() {\n e(\"Hook > afterMount()\", Array.from(arguments));\n },\n // Unmount lifecycle hooks\n beforeUnmount() {\n e(\"Hook > beforeUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n },\n onDestroyEntry({ parent: n, entry: s }) {\n if (h(this.config.condition, s)) {\n const c = n.collection.length - 1;\n e(\n `Hook > onDestroyEntry() > [${c}] #${s.id}`,\n Array.from(arguments),\n [\"important\", \"neutral\"]\n );\n }\n },\n onDeregisterEntry({ parent: n, entry: s }) {\n if (h(this.config.condition, s)) {\n const c = n.collection.length;\n e(`Hook > onDeregisterEntry() > [${c}]`, Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n },\n afterUnmount() {\n e(\"Hook > afterUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n } };\n}\nconst F = {\n condition: !0\n};\nfunction et(i = {}) {\n const t = {\n name: \"focusTrap\",\n config: F,\n options: i\n }, e = {\n setup(n) {\n n.on(\"opened\", o, this), n.on(\"closed\", r, this);\n },\n teardown(n) {\n n.off(\"opened\", o), n.off(\"closed\", r);\n },\n onCreateEntry({ entry: n }) {\n n.focusTrap = new D();\n }\n };\n function o(n, s) {\n const c = { plugin: s, parent: n.parent, entry: n };\n n.focusTrap && h(s.config.condition, c) && n.focusTrap.on(n.dialog);\n }\n function r(n, s) {\n const c = { plugin: s, parent: n.parent, entry: n };\n n.focusTrap && h(s.config.condition, c) && n.focusTrap.off();\n }\n return { ...t, ...e };\n}\nconst V = {\n // The data attributes to get the breakpoint values from\n attrBreakpoint: \"breakpoint\",\n // The data attributes to get the media query value from\n attrMediaQuery: \"media-query\",\n // The string token to replace in the media query string\n token: \"{{BP}}\",\n // Sets a global breakpoint. Can be overridden by setting a data attribute\n // value. Notice: setting this option will enable a media query breakpoint on\n // all entries.\n breakpoint: null,\n // The default media query string to use. Can be overridden by setting a data\n // attribute value.\n mediaQuery: \"(min-width: {{BP}})\",\n // Maps entry ID or breakpoint key to breakpoint values. This is referenced\n // when getting an entries breakpoint value.\n breakpoints: {},\n // Maps entry ID's to a media query strings. Media query may contain a token.\n // This is referenced when getting an entries media query string.\n mediaQueries: {},\n // The function to run when the MediaQueryList triggers a \"change\" event.\n // This is run once on initial mount.\n onChange: () => {\n }\n};\nfunction ot(i = {}) {\n const t = {\n name: \"mediaQuery\",\n config: V,\n options: i\n }, e = {\n // Run when an entry is created\n // Sets up the MediaQueryList and event listener\n onCreateEntry({ entry: c }) {\n n.call(this, c);\n },\n // Run when an entry is destroyed\n // Removes the MediaQueryList and event listener\n onDestroyEntry({ entry: c }) {\n s(c);\n }\n };\n function o(c) {\n const a = c.el.getAttribute(`data-${this.config.attrMediaQuery}`);\n return !a && c.id in this.config.mediaQueries ? this.config.mediaQueries[c.id] : a || void 0;\n }\n function r(c) {\n let a = c.el.getAttribute(`data-${this.config.attrBreakpoint}`);\n return !a && c.id in this.config.breakpoints && (a = this.config.breakpoints[c.id]), a && a in this.config.breakpoints && (a = this.config.breakpoints[a]), a && (a = getComputedStyle(document.body).getPropertyValue(`--${y()}breakpoint-${a}`).trim() || a), a || this.config.breakpoint;\n }\n function n(c) {\n const a = r.call(this, c);\n if (!a) return;\n let f = o.call(this, c) || this.config.mediaQuery;\n if (!f) return;\n const p = f.replace(new RegExp(`${this.config.token}`, \"g\"), a);\n c.mql = window.matchMedia(p), c.mql.onchange = (E) => {\n this.config.onChange(E, c);\n }, this.config.onChange(c.mql, c);\n }\n function s(c) {\n c.mql && (c.mql.onchange = null, c.mql = null);\n }\n return { ...t, ...e };\n}\nconst B = {\n // The property on entry objects to watch\n prop: \"state\",\n // The default value or a function to compute the initial value\n value: null,\n // The local storage key prefix\n keyPrefix: \"VB:\",\n // The local storage key to use. If not provided, module name and prop value\n // will be used e.g., \"VB:ModalState\".\n key: null,\n // Condition to determine whether or not to store the value in local storage\n condition: !1,\n // The function to run whenever the value changes\n onChange() {\n }\n};\nfunction nt(i = {}) {\n const t = {\n name: \"propStore\",\n config: B,\n options: i,\n store: null\n }, e = {\n setup(s) {\n this.store = w(n.call(this, s.name));\n },\n async onCreateEntry({ entry: s }) {\n await o.call(this, s);\n },\n onDestroyEntry({ entry: s }) {\n r.call(this, s);\n }\n };\n async function o(s) {\n let c = s[this.config.prop] || null;\n const a = { plugin: this, parent: s.parent, entry: s };\n Object.defineProperty(s, this.config.prop, {\n configurable: !0,\n get() {\n return c;\n },\n set: async (f) => {\n if (c === f) return;\n const p = c;\n c = f, h(\n this.config.condition,\n a,\n f,\n p\n ) && this.store?.set(s.id, f), await this.config.onChange(a, f, p);\n }\n }), Object.defineProperty(s, \"store\", {\n configurable: !0,\n get: () => this.store?.get(s.id),\n set: (f) => {\n s[this.config.prop] = f;\n }\n }), s[this.config.prop] = await h(this.config.value, a) || s[this.config.prop];\n }\n async function r(s) {\n const c = s[this.config.prop];\n delete s[this.config.prop], s[this.config.prop] = c, this.store?.set(s.id, null);\n }\n function n(s) {\n const c = this.config.prop.charAt(0).toUpperCase() + this.config.prop.slice(1), a = this.config.key || s + c;\n return this.config.keyPrefix + a;\n }\n return { ...t, ...e };\n}\nconst j = {\n where: null,\n how: \"append\"\n};\nfunction it(i = {}) {\n const t = {\n name: \"teleport\",\n config: j,\n options: i\n }, e = {\n onCreateEntry({ entry: n }) {\n o(this, n);\n },\n onDestroyEntry({ entry: n }) {\n r(this, n);\n }\n };\n function o(n, s) {\n s.teleport = () => {\n typeof s.teleportReturn == \"function\" && s.teleportReturn(), s.teleportReturn = k(\n s.el,\n s.config.get(\"teleport\", { fallback: n.config.where }),\n s.config.get(\"teleportMethod\", { fallback: n.config.how })\n );\n }, s.teleport(), s.parent.emit(\"teleport\", { plugin: n, parent: s.parent, entry: s });\n }\n function r(n, s) {\n typeof s.teleportReturn == \"function\" && s.teleportReturn(), s.parent.emit(\"teleportReturn\", {\n plugin: n,\n parent: s.parent,\n entry: s\n });\n }\n return { ...t, ...e };\n}\nclass z {\n constructor(t, e) {\n this.config = new I(), this.parent = t, this.el = v(e), this.id = this.el.id, this.config.set(\"parent\", this.parent.config), this.config.set(\"entry\", {});\n }\n}\nconst J = {\n selector: \"\",\n plugins: [],\n presets: {}\n};\nclass st {\n constructor(t = {}) {\n this.#t = new L(), this.events = this.#t.events, this.on = this.#t.on.bind(this.#t), this.off = this.#t.off.bind(this.#t), this.emit = this.#t.emit.bind(this.#t), this.collection = [], this.entryClass = z, this.name = this.constructor.name, this.config = { ...J, ...t }, this.plugins = new H(this.config.presets);\n }\n #t;\n get(t, e = \"id\") {\n return this.collection.find((o) => o[e] === t);\n }\n getOrThrow(t, e = \"id\") {\n const o = this.get(t, e);\n if (o)\n return o;\n throw new Error(\n `${this.name} entry not found in collection with ${String(e)} of \"${t}\"`\n );\n }\n updateConfig(t = {}) {\n return Object.assign(this.config, t);\n }\n async createEntry(t) {\n const e = new this.entryClass(this, t);\n return await g(e, \"init\"), await d(\"onCreateEntry\", this, e), e;\n }\n async destroyEntry(t) {\n return await d(\"onDestroyEntry\", this, t), await g(t, \"destroy\"), t;\n }\n async register(t) {\n const e = this.collection.findIndex((o) => o.id === t.id);\n return ~e ? this.collection[e] = t : this.collection.push(t), await d(\"onRegisterEntry\", this, t), t;\n }\n async deregister(t) {\n const e = this.collection.findIndex((o) => o.id === t.id);\n if (~e) {\n await d(\n \"onDeregisterEntry\",\n this,\n this.collection[e]\n );\n const [o] = this.collection.splice(e, 1);\n }\n return t;\n }\n async mount(t = (e) => e) {\n for (const e of this.config?.plugins || [])\n this.plugins.add(e);\n for (const e of this.plugins)\n await g(e, \"setup\", this);\n if (await d(\"beforeMount\", this), this.config.selector) {\n const e = document.querySelectorAll(this.config.selector);\n for (const o of e)\n await this.createEntry(o).then((r) => t(r)).then((r) => this.register(r));\n }\n return await d(\"afterMount\", this), this;\n }\n async unmount(t = (e) => e) {\n for (await d(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.destroyEntry(this.collection[0]).then((e) => t(e)).then((e) => this.deregister(e));\n await d(\"afterUnmount\", this);\n for (const e of this.plugins)\n await g(e, \"teardown\", this);\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nconst G = {\n prefix: S(\"theme-prefix\", { fallback: \"vb-theme-\" }),\n storeKey: \"VB:Profile\",\n fallback: \"root\",\n themes: [\"root\", \"light\", \"dark\"],\n onInit() {\n },\n onChange() {\n }\n};\nfunction rt(i = {}) {\n const t = { ...G, ...i };\n function e(n) {\n t[n].call(r);\n }\n const o = w(t.storeKey), r = {\n // Store our config in the API\n config: t,\n // Actions\n add(n) {\n t.themes.push(n);\n },\n remove(n) {\n const s = t.themes.indexOf(n);\n ~s && t.themes.splice(s, 1);\n },\n // Getters\n get class() {\n return `${t.prefix}${this.theme}`;\n },\n get classes() {\n return t.themes.map((n) => `${t.prefix}${n}`);\n },\n get themes() {\n return t.themes;\n },\n // Setup the theme get and set methods\n get theme() {\n return o.get(\"theme\") || t.fallback;\n },\n set theme(n) {\n t.themes.includes(n) ? this.theme != n && (o.set(\"theme\", n), document.documentElement.classList.remove(...this.classes), document.documentElement.classList.add(`${t.prefix}${n}`), e(\"onChange\")) : console.error(`Not a valid theme value: \"${n}\"`);\n }\n };\n return e(\"onInit\"), r;\n}\nexport {\n st as Collection,\n z as CollectionEntry,\n I as ConfigManager,\n L as EventEmitter,\n D as FocusTrap,\n U as FocusableArray,\n H as PluginArray,\n _ as StackArray,\n X as attrConfig,\n Y as cssConfig,\n S as cssVar,\n tt as debug,\n d as dispatchLifecycleHook,\n et as focusTrap,\n C as focusableSelectors,\n x as getAttrData,\n b as getCustomProps,\n v as getElement,\n y as getPrefix,\n h as getValue,\n w as localStore,\n g as maybeRunMethod,\n ot as mediaQuery,\n nt as propStore,\n Z as setGlobalState,\n it as teleport,\n k as teleportElement,\n rt as themeStore,\n R as toCamel,\n M as toKebab,\n A as toMilliseconds,\n W as transition\n};\n//# sourceMappingURL=index.js.map\n","function p(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function r(t, e, ...s) {\n e in t && typeof t[e] == \"function\" && await t[e](...s);\n}\nfunction w(t) {\n if (typeof t == \"number\")\n return t;\n const e = parseFloat(t);\n if (!Number.isNaN(e)) {\n const s = t.includes(\"ms\");\n return e * (s ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${t}`);\n}\nfunction f(t, e, s, i, o = 0) {\n return new Promise((n) => {\n t.classList.remove(e), t.classList.add(s), setTimeout(() => {\n t.classList.add(i), t.classList.remove(s), n(t);\n }, w(o));\n });\n}\nfunction v(t, e = {}) {\n const s = {\n fallback: null,\n element: document.body,\n ...e\n };\n if (!t.startsWith(\"--\")) {\n const o = E();\n o && (t = `${o}${t}`), t = `--${t}`;\n }\n const i = getComputedStyle(s.element).getPropertyValue(t).trim();\n if (i)\n return i;\n if (s.fallback)\n return s.fallback;\n throw new Error(`CSS variable \"${t}\" was not found!`);\n}\nasync function a(t, e, s) {\n await r(e, t, s), s && await r(s, t);\n for (const i of e.plugins)\n await r(i, t, { parent: e, entry: s });\n await e.emit(t, { parent: e, entry: s });\n}\nfunction E() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction b(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction C(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n s.inert = t;\n });\n}\nfunction c(t, e, s) {\n C(!!t, e), b(!!t, s);\n}\nclass S {\n #t;\n #e;\n constructor() {\n this.#t = {}, this.#e = [];\n }\n get(e, s) {\n const { fallback: i, source: o } = s ?? {};\n if (o) {\n const n = this.#t?.[o]?.[e];\n if (n !== void 0)\n return n;\n } else\n for (const n of this.#e) {\n const d = this.#t?.[n]?.[e];\n if (d !== void 0)\n return d;\n }\n if (i !== void 0)\n return i;\n throw new Error(`Config does not exist: ${e}`);\n }\n set(e, s = {}) {\n let i, o;\n return typeof e == \"string\" ? (i = e, o = s) : (i = \"entry\", o = e), this.#t[i] ? Object.assign(this.#t[i], o) : (this.#e.unshift(i), this.#t[i] = o), this.#t[i];\n }\n remove(e) {\n const s = this.#e.indexOf(e);\n s !== -1 && this.#e.splice(s, 1), delete this.#t[e];\n }\n setSourceOrder(e) {\n const s = Object.keys(this.#t).reverse(), i = e.filter((o) => s.includes(o));\n for (const o of s)\n i.includes(o) || i.push(o);\n return this.#e = i;\n }\n}\nclass O {\n constructor() {\n this.events = {};\n }\n on(e, s, ...i) {\n this.events[e] || (this.events[e] = []), this.events[e].some(\n (o) => o.listener === s\n ) || this.events[e].push({ listener: s, args: i });\n }\n off(e, s) {\n this.events[e] && (this.events[e] = this.events[e].filter(\n (i) => i.listener !== s\n ));\n }\n async emit(e, ...s) {\n if (e = e.startsWith(\"on\") ? e.slice(2, 3).toLowerCase() + e.slice(3) : e, !!this.events[e])\n for (const { listener: i, args: o } of this.events[e])\n await i(...s, ...o);\n }\n}\nclass L extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n #t(e) {\n const s = this.presets?.[e.name] || {}, i = e?.options || {};\n e.config = { ...e.config, ...s, ...i };\n }\n #e(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((s) => s.name === e) || null;\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((s) => this.add(s));\n else if (this.#t(e), this.#e(e)) {\n const s = this.findIndex((i) => i.name === e.name);\n ~s ? this[s] = e : this.push(e);\n }\n }\n remove(e) {\n const s = this.findIndex((i) => i.name === e);\n ~s && this.splice(s, 1);\n }\n}\nclass g {\n constructor(e, s) {\n this.config = new S(), this.parent = e, this.el = p(s), this.id = this.el.id, this.config.set(\"parent\", this.parent.config), this.config.set(\"entry\", {});\n }\n}\nconst M = {\n selector: \"\",\n plugins: [],\n presets: {}\n};\nclass x {\n constructor(e = {}) {\n this.#t = new O(), this.events = this.#t.events, this.on = this.#t.on.bind(this.#t), this.off = this.#t.off.bind(this.#t), this.emit = this.#t.emit.bind(this.#t), this.collection = [], this.entryClass = g, this.name = this.constructor.name, this.config = { ...M, ...e }, this.plugins = new L(this.config.presets);\n }\n #t;\n get(e, s = \"id\") {\n return this.collection.find((i) => i[s] === e);\n }\n getOrThrow(e, s = \"id\") {\n const i = this.get(e, s);\n if (i)\n return i;\n throw new Error(\n `${this.name} entry not found in collection with ${String(s)} of \"${e}\"`\n );\n }\n updateConfig(e = {}) {\n return Object.assign(this.config, e);\n }\n async createEntry(e) {\n const s = new this.entryClass(this, e);\n return await r(s, \"init\"), await a(\"onCreateEntry\", this, s), s;\n }\n async destroyEntry(e) {\n return await a(\"onDestroyEntry\", this, e), await r(e, \"destroy\"), e;\n }\n async register(e) {\n const s = this.collection.findIndex((i) => i.id === e.id);\n return ~s ? this.collection[s] = e : this.collection.push(e), await a(\"onRegisterEntry\", this, e), e;\n }\n async deregister(e) {\n const s = this.collection.findIndex((i) => i.id === e.id);\n if (~s) {\n await a(\n \"onDeregisterEntry\",\n this,\n this.collection[s]\n );\n const [i] = this.collection.splice(s, 1);\n }\n return e;\n }\n async mount(e = (s) => s) {\n for (const s of this.config?.plugins || [])\n this.plugins.add(s);\n for (const s of this.plugins)\n await r(s, \"setup\", this);\n if (await a(\"beforeMount\", this), this.config.selector) {\n const s = document.querySelectorAll(this.config.selector);\n for (const i of s)\n await this.createEntry(i).then((o) => e(o)).then((o) => this.register(o));\n }\n return await a(\"afterMount\", this), this;\n }\n async unmount(e = (s) => s) {\n for (await a(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.destroyEntry(this.collection[0]).then((s) => e(s)).then((s) => this.deregister(s));\n await a(\"afterUnmount\", this);\n for (const s of this.plugins)\n await r(s, \"teardown\", this);\n for (const s of [...this.plugins])\n this.plugins.remove(s.name);\n return this;\n }\n}\nv(\"theme-prefix\", { fallback: \"vb-theme-\" });\nconst T = {\n focusTrap: {\n condition: ({ entry: t }) => t.state === \"closed\" || t.state === \"opened\" && t.mode === \"modal\"\n },\n mediaQuery: {\n onChange(t, e) {\n e.mode = t.matches ? \"inline\" : \"modal\";\n }\n },\n propStore: {\n prop: \"inlineState\",\n value: ({ entry: t }) => t.store,\n condition: ({ entry: t }) => [\"opened\", \"closed\", \"indeterminate\"].includes(t.state),\n onChange: ({ entry: t }) => t.applyState()\n }\n}, $ = {\n presets: T,\n attrOpen: \"drawer-open\",\n attrClose: \"drawer-close\",\n attrToggle: \"drawer-toggle\",\n selector: \".drawer\",\n selectorDialog: \".drawer__dialog\",\n selectorScreen: \".drawer\",\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n classModal: \"drawer_modal\",\n customProps: [\"transition-duration\"],\n breakpoints: null,\n customEventPrefix: \"drawer:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction k(t) {\n switch (t.mode) {\n case \"inline\":\n return D(t);\n case \"modal\":\n return I(t);\n default:\n throw new Error(`\"${t.mode}\" is not a valid drawer mode.`);\n }\n}\nasync function D(t) {\n return t.el.classList.remove(t.config.get(\"classModal\")), t.dialog.removeAttribute(\"aria-modal\"), c(\n !1,\n t.config.get(\"selectorInert\"),\n t.config.get(\"selectorOverflow\")\n ), t.applyState(), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nasync function I(t) {\n return t.el.classList.add(t.config.get(\"classModal\")), t.dialog.setAttribute(\"aria-modal\", \"true\"), await t.close(!1, !1), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nfunction u(t) {\n t.dialog && t.state === \"opened\" ? (t.dialog.querySelector(t.config.get(\"selectorFocus\")) || t.dialog).focus() : t.trigger && (t.trigger.focus(), t.trigger = null);\n}\nasync function l(t, e, s = !0) {\n return (t.state === \"closed\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"opening\"), e ?? t.config.get(\"transition\") ? await f(\n t.el,\n t.config.get(\"stateClosed\"),\n t.config.get(\"stateOpening\"),\n t.config.get(\"stateOpened\"),\n t.config.get(\"transitionDuration\")\n ) : (t.el.classList.add(t.config.get(\"stateOpened\")), t.el.classList.remove(t.config.get(\"stateClosed\"))), t.setState(\"opened\"), t.mode === \"modal\" && c(\n !0,\n t.config.get(\"selectorInert\"),\n t.config.get(\"selectorOverflow\")\n ), s && u(t), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t)), t;\n}\nasync function h(t, e, s = !0) {\n return (t.state === \"opened\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"closing\"), document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), e ?? t.config.get(\"transition\") ? await f(\n t.el,\n t.config.get(\"stateOpened\"),\n t.config.get(\"stateClosing\"),\n t.config.get(\"stateClosed\"),\n t.config.get(\"transitionDuration\")\n ) : (t.el.classList.add(t.config.get(\"stateClosed\")), t.el.classList.remove(t.config.get(\"stateOpened\"))), t.setState(\"closed\"), t.mode === \"modal\" && c(\n !1,\n t.config.get(\"selectorInert\"),\n t.config.get(\"selectorOverflow\")\n ), s && u(t), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function m(t, e, s) {\n return t.state === \"closed\" ? l(t, e, s) : h(t, e, s);\n}\nclass A extends g {\n #t;\n constructor(e, s) {\n super(e, s), this.#t = \"indeterminate\", this.dialog = this.el.querySelector(this.config.get(\"selectorDialog\")) || this.el, this.trigger = null, this.state = null, this.inlineState = null;\n }\n get mode() {\n return this.#t;\n }\n set mode(e) {\n this.#t !== e && (this.#t = e, k(this));\n }\n setState(e) {\n this.state = e;\n const s = [\"opening\", \"closing\"];\n this.mode === \"inline\" && !s.includes(e) && (this.inlineState = e), e === \"indeterminate\" && (this.el.classList.remove(this.config.get(\"stateOpened\")), this.el.classList.remove(this.config.get(\"stateOpening\")), this.el.classList.remove(this.config.get(\"stateClosed\")), this.el.classList.remove(this.config.get(\"stateClosing\")));\n }\n async applyState() {\n if (this.mode === \"modal\") return this;\n if (this.inlineState === \"opened\")\n return await this.open(!1, !1);\n if (this.inlineState === \"closed\")\n return await this.close(!1, !1);\n if (this.state === null) {\n if (this.el.classList.contains(this.config.get(\"stateOpened\")))\n return await this.open(!1, !1);\n if (this.el.classList.contains(this.config.get(\"stateClosed\")))\n return await this.close(!1, !1);\n }\n return this.setState(\"indeterminate\"), this;\n }\n async open(e, s) {\n return l(this, e, s);\n }\n async close(e, s) {\n return h(this, e, s);\n }\n async toggle(e, s) {\n return m(this, e, s);\n }\n async deregister() {\n return this.parent.deregister(this);\n }\n async onCreateEntry() {\n this.config.get(\"setTabindex\") && this.dialog && this.dialog.setAttribute(\"tabindex\", \"-1\"), await this.applyState(), this.inlineState = this.state, this.mode = this.el && this.el.classList.contains(this.config.get(\"classModal\")) ? \"modal\" : \"inline\";\n }\n async onDestroyEntry() {\n this.mode === \"modal\" && this.state === \"opened\" && await this.close(!1);\n }\n}\nasync function P(t) {\n const e = t.target;\n if (e) {\n const s = e.closest(`\n [data-${this.config.attrOpen}],\n [data-${this.config.attrToggle}],\n [data-${this.config.attrClose}]\n `);\n if (s) {\n t.preventDefault(), s.matches(`[data-${this.config.attrToggle}]`) && s.getAttribute(`data-${this.config.attrToggle}`)?.trim().split(\" \")?.forEach((o) => {\n const n = this.getOrThrow(o);\n return n.trigger = s, n.toggle();\n }), s.matches(`[data-${this.config.attrOpen}]`) && s.getAttribute(`data-${this.config.attrOpen}`)?.trim().split(\" \")?.forEach((o) => {\n const n = this.getOrThrow(o);\n return n.trigger = s, n.open();\n }), s.matches(`[data-${this.config.attrClose}]`) && s.getAttribute(`data-${this.config.attrClose}`)?.trim().split(\" \")?.forEach((o) => {\n if (o) {\n const n = this.getOrThrow(o);\n return n.trigger = s, n.close();\n } else {\n const n = e.closest(this.config.selector);\n if (n) return this.close(n.id);\n }\n });\n return;\n }\n if (this.activeModal && e.matches(this.config.selectorScreen))\n return this.close(this.activeModal.id);\n }\n}\nfunction y(t) {\n if (t.key === \"Escape\" && this.activeModal)\n return this.close(this.activeModal.id);\n}\nclass q extends x {\n constructor(e) {\n super({ ...$, ...e }), this.entryClass = A, this.name = \"Drawer\", this.#t = P.bind(this), this.#e = y.bind(this);\n }\n #t;\n #e;\n get activeModal() {\n return this.collection.find((e) => e.state === \"opened\" && e.mode === \"modal\");\n }\n async open(e, s, i) {\n const o = this.getOrThrow(e);\n return l(o, s, i);\n }\n async close(e, s, i) {\n const o = this.getOrThrow(e);\n return h(o, s, i);\n }\n async toggle(e, s, i) {\n const o = this.getOrThrow(e);\n return m(o, s, i);\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n q as default\n};\n//# sourceMappingURL=index.js.map\n","function p(s) {\n if (typeof s == \"string\") {\n const t = document.getElementById(s);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${s}\"`);\n } else if (s instanceof HTMLElement) {\n if (!s.id)\n throw new Error(\"HTMLElement must have an ID\");\n return s;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function a(s, t, ...e) {\n t in s && typeof s[t] == \"function\" && await s[t](...e);\n}\nfunction m(s) {\n if (typeof s == \"number\")\n return s;\n const t = parseFloat(s);\n if (!Number.isNaN(t)) {\n const e = s.includes(\"ms\");\n return t * (e ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${s}`);\n}\nfunction u(s, t, e, i, n = 0) {\n return new Promise((o) => {\n s.classList.remove(t), s.classList.add(e), setTimeout(() => {\n s.classList.add(i), s.classList.remove(e), o(s);\n }, m(n));\n });\n}\nfunction w(s, t = {}) {\n const e = {\n fallback: null,\n element: document.body,\n ...t\n };\n if (!s.startsWith(\"--\")) {\n const n = v();\n n && (s = `${n}${s}`), s = `--${s}`;\n }\n const i = getComputedStyle(e.element).getPropertyValue(s).trim();\n if (i)\n return i;\n if (e.fallback)\n return e.fallback;\n throw new Error(`CSS variable \"${s}\" was not found!`);\n}\nasync function r(s, t, e) {\n await a(t, s, e), e && await a(e, s);\n for (const i of t.plugins)\n await a(i, s, { parent: t, entry: e });\n await t.emit(s, { parent: t, entry: e });\n}\nfunction v() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction y(s, t) {\n t && document.querySelectorAll(t).forEach((e) => {\n s ? e.style.overflow = \"hidden\" : e.style.removeProperty(\"overflow\");\n });\n}\nfunction E(s, t) {\n t && document.querySelectorAll(t).forEach((e) => {\n e.inert = s;\n });\n}\nfunction b(s, t, e) {\n E(!!s, t), y(!!s, e);\n}\nclass C {\n #t;\n #e;\n constructor() {\n this.#t = {}, this.#e = [];\n }\n get(t, e) {\n const { fallback: i, source: n } = e ?? {};\n if (n) {\n const o = this.#t?.[n]?.[t];\n if (o !== void 0)\n return o;\n } else\n for (const o of this.#e) {\n const f = this.#t?.[o]?.[t];\n if (f !== void 0)\n return f;\n }\n if (i !== void 0)\n return i;\n throw new Error(`Config does not exist: ${t}`);\n }\n set(t, e = {}) {\n let i, n;\n return typeof t == \"string\" ? (i = t, n = e) : (i = \"entry\", n = t), this.#t[i] ? Object.assign(this.#t[i], n) : (this.#e.unshift(i), this.#t[i] = n), this.#t[i];\n }\n remove(t) {\n const e = this.#e.indexOf(t);\n e !== -1 && this.#e.splice(e, 1), delete this.#t[t];\n }\n setSourceOrder(t) {\n const e = Object.keys(this.#t).reverse(), i = t.filter((n) => e.includes(n));\n for (const n of e)\n i.includes(n) || i.push(n);\n return this.#e = i;\n }\n}\nclass x {\n constructor() {\n this.events = {};\n }\n on(t, e, ...i) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (n) => n.listener === e\n ) || this.events[t].push({ listener: e, args: i });\n }\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (i) => i.listener !== e\n ));\n }\n async emit(t, ...e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: i, args: n } of this.events[t])\n await i(...e, ...n);\n }\n}\nclass O extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n #t(t) {\n const e = this.presets?.[t.name] || {}, i = t?.options || {};\n t.config = { ...t.config, ...e, ...i };\n }\n #e(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((e) => e.name === t) || null;\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((e) => this.add(e));\n else if (this.#t(t), this.#e(t)) {\n const e = this.findIndex((i) => i.name === t.name);\n ~e ? this[e] = t : this.push(t);\n }\n }\n remove(t) {\n const e = this.findIndex((i) => i.name === t);\n ~e && this.splice(e, 1);\n }\n}\nclass L extends Array {\n constructor(t = {}) {\n super(), this.config = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n return this[this.length - 1] || null;\n }\n updateIndex() {\n this.forEach((t, e) => {\n t.el.style.zIndex = \"\";\n const i = getComputedStyle(t.el).getPropertyValue(\"z-index\"), n = parseInt(i, 10), o = String((Number.isNaN(n) ? 0 : n) + e + 1);\n t.el.style.zIndex = o;\n });\n }\n onChange() {\n this.updateIndex(), typeof this.config.onChange == \"function\" && this.config.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const e = this.findIndex((i) => i.id === t.id);\n ~e && (t.el.style.zIndex = \"\", this.splice(e, 1), this.onChange());\n }\n moveToTop(t) {\n const e = this.findIndex((i) => i.id === t.id);\n ~e && (this.splice(e, 1), this.add(t));\n }\n}\nclass d {\n constructor(t, e) {\n this.config = new C(), this.parent = t, this.el = p(e), this.id = this.el.id, this.config.set(\"parent\", this.parent.config), this.config.set(\"entry\", {});\n }\n}\nconst k = {\n selector: \"\",\n plugins: [],\n presets: {}\n};\nclass A {\n constructor(t = {}) {\n this.#t = new x(), this.events = this.#t.events, this.on = this.#t.on.bind(this.#t), this.off = this.#t.off.bind(this.#t), this.emit = this.#t.emit.bind(this.#t), this.collection = [], this.entryClass = d, this.name = this.constructor.name, this.config = { ...k, ...t }, this.plugins = new O(this.config.presets);\n }\n #t;\n get(t, e = \"id\") {\n return this.collection.find((i) => i[e] === t);\n }\n getOrThrow(t, e = \"id\") {\n const i = this.get(t, e);\n if (i)\n return i;\n throw new Error(\n `${this.name} entry not found in collection with ${String(e)} of \"${t}\"`\n );\n }\n updateConfig(t = {}) {\n return Object.assign(this.config, t);\n }\n async createEntry(t) {\n const e = new this.entryClass(this, t);\n return await a(e, \"init\"), await r(\"onCreateEntry\", this, e), e;\n }\n async destroyEntry(t) {\n return await r(\"onDestroyEntry\", this, t), await a(t, \"destroy\"), t;\n }\n async register(t) {\n const e = this.collection.findIndex((i) => i.id === t.id);\n return ~e ? this.collection[e] = t : this.collection.push(t), await r(\"onRegisterEntry\", this, t), t;\n }\n async deregister(t) {\n const e = this.collection.findIndex((i) => i.id === t.id);\n if (~e) {\n await r(\n \"onDeregisterEntry\",\n this,\n this.collection[e]\n );\n const [i] = this.collection.splice(e, 1);\n }\n return t;\n }\n async mount(t = (e) => e) {\n for (const e of this.config?.plugins || [])\n this.plugins.add(e);\n for (const e of this.plugins)\n await a(e, \"setup\", this);\n if (await r(\"beforeMount\", this), this.config.selector) {\n const e = document.querySelectorAll(this.config.selector);\n for (const i of e)\n await this.createEntry(i).then((n) => t(n)).then((n) => this.register(n));\n }\n return await r(\"afterMount\", this), this;\n }\n async unmount(t = (e) => e) {\n for (await r(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.destroyEntry(this.collection[0]).then((e) => t(e)).then((e) => this.deregister(e));\n await r(\"afterUnmount\", this);\n for (const e of this.plugins)\n await a(e, \"teardown\", this);\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nw(\"theme-prefix\", { fallback: \"vb-theme-\" });\nconst I = {\n // Data attributes\n attrOpen: \"modal-open\",\n attrClose: \"modal-close\",\n attrReplace: \"modal-replace\",\n // Selectors\n selector: \".modal\",\n selectorDialog: \".modal__dialog\",\n selectorScreen: \".modal\",\n selectorRequired: '[role=\"alertdialog\"]',\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n // State classes\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n // Feature configurations\n customProps: [\"transition-duration\"],\n customEventPrefix: \"modal:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction c(s) {\n if (s.active) {\n const t = s.active.dialog.querySelector(s.config.selectorFocus) || s.active.dialog;\n \"focus\" in t && typeof t.focus == \"function\" && t.focus();\n } else\n s.trigger && (s.trigger.focus(), s.trigger = null);\n}\nasync function l(s, t, e = !0) {\n return s.parent.stack.moveToTop(s), s.state === \"closed\" && (s.state = \"opening\", s.parent.stack.add(s), t ?? s.config.get(\"transition\") ? await u(\n s.el,\n s.config.get(\"stateClosed\"),\n s.config.get(\"stateOpening\"),\n s.config.get(\"stateOpened\"),\n s.config.get(\"transitionDuration\")\n ) : (s.el.classList.add(s.config.get(\"stateOpened\")), s.el.classList.remove(s.config.get(\"stateClosed\"))), s.state = \"opened\"), e && c(s.parent), s.el.dispatchEvent(\n new CustomEvent(s.config.get(\"customEventPrefix\") + \"opened\", {\n detail: s.parent,\n bubbles: !0\n })\n ), await s.parent.emit(\"opened\", s), s;\n}\nasync function h(s, t, e = !0) {\n return s && s.state === \"opened\" && (s.state = \"closing\", document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), t ?? s.config.get(\"transition\") ? await u(\n s.el,\n s.config.get(\"stateOpened\"),\n s.config.get(\"stateClosing\"),\n s.config.get(\"stateClosed\"),\n s.config.get(\"transitionDuration\")\n ) : (s.el.classList.add(s.config.get(\"stateClosed\")), s.el.classList.remove(s.config.get(\"stateOpened\"))), s.parent.stack.remove(s), s.state = \"closed\", e && c(s.parent), s.el.dispatchEvent(\n new CustomEvent(s.config.get(\"customEventPrefix\") + \"closed\", {\n detail: s.parent,\n bubbles: !0\n })\n ), await s.parent.emit(\"closed\", s)), s;\n}\nasync function g(s, t, e = !0) {\n let i, n;\n return s.state === \"opened\" ? (i = s, n = await s.parent.closeAll(s.id, t)) : [n, i] = await Promise.all([\n s.parent.closeAll(\"\", t),\n l(s, t, !1)\n ]), e && c(s.parent), { opened: i, closed: n };\n}\nclass $ extends d {\n constructor(t, e) {\n super(t, e), this.state = \"closed\", this.dialog = this.el.querySelector(this.config.get(\"selectorDialog\")) || this.el;\n }\n get isRequired() {\n return this.dialog.matches(this.config.get(\"selectorRequired\"));\n }\n async open(t, e) {\n return l(this, t, e);\n }\n async close(t, e) {\n return h(this, t, e);\n }\n async replace(t, e) {\n return g(this, t, e);\n }\n async deregister() {\n return this.parent.deregister(this);\n }\n async onCreateEntry() {\n this.dialog.setAttribute(\"aria-modal\", \"true\"), this.dialog.hasAttribute(\"role\") || this.dialog.setAttribute(\"role\", \"dialog\"), this.config.get(\"setTabindex\") && this.dialog.setAttribute(\"tabindex\", \"-1\");\n }\n async onRegisterEntry() {\n this.el.classList.contains(this.config.get(\"stateOpened\")) ? await this.open(!1) : (this.el.classList.remove(this.config.get(\"stateOpening\")), this.el.classList.remove(this.config.get(\"stateClosing\")), this.el.classList.add(this.config.get(\"stateClosed\")));\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(!1);\n }\n}\nasync function T(s) {\n const t = s.target;\n if (t) {\n const e = t.closest(`\n [data-${this.config.attrOpen}],\n [data-${this.config.attrReplace}],\n [data-${this.config.attrClose}]\n `);\n if (e) {\n if (s.preventDefault(), e.matches(`[data-${this.config.attrOpen}]`)) {\n const i = e.getAttribute(`data-${this.config.attrOpen}`)?.trim(), n = this.getOrThrow(i);\n return t.closest(this.config.selector) || (this.trigger = e), n.open();\n }\n if (e.matches(`[data-${this.config.attrReplace}]`)) {\n const i = e.getAttribute(`data-${this.config.attrReplace}`)?.trim(), n = this.getOrThrow(i);\n return t.closest(this.config.selector) || (this.trigger = e), n.replace();\n }\n if (e.matches(`[data-${this.config.attrClose}]`)) {\n const i = e.getAttribute(`data-${this.config.attrClose}`)?.trim();\n return i === \"*\" ? this.closeAll() : this.close(i || \"\");\n }\n }\n if (this.active && t.matches(this.config.selectorScreen) && !this.active.isRequired)\n return this.close();\n }\n}\nfunction S(s) {\n if (s.key === \"Escape\" && this.active && !this.active.dialog.matches(this.config.selectorRequired))\n return this.close();\n}\nasync function M(s = \"\", t) {\n const e = [];\n return await Promise.all(\n this.stack.copy.map(async (i) => {\n s && s === i.id || e.push(await h(i, t, !1));\n })\n ), e;\n}\nclass P extends A {\n constructor(t) {\n super({ ...I, ...t }), this.entryClass = $, this.name = \"Modal\", this.trigger = null, this.#t = T.bind(this), this.#e = S.bind(this), this.stack = new L({\n onChange: () => {\n b(\n !!this.stack.top,\n this.config.selectorInert,\n this.config.selectorOverflow\n );\n }\n });\n }\n #t;\n #e;\n get active() {\n return this.stack.top;\n }\n async open(t, e, i) {\n const n = this.getOrThrow(t);\n return l(n, e, i);\n }\n async close(t, e, i) {\n const n = t ? this.getOrThrow(t) : this.active;\n return h(n, e, i);\n }\n async replace(t, e, i) {\n const n = this.getOrThrow(t);\n return g(n, e, i);\n }\n async closeAll(t, e, i = !0) {\n const n = await M.call(this, t, e);\n return i && c(this), n;\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n P as default\n};\n//# sourceMappingURL=index.js.map\n","function jt(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function z(t, e, ...n) {\n e in t && typeof t[e] == \"function\" && await t[e](...n);\n}\nfunction Kt(t, e = {}) {\n const n = {\n fallback: null,\n element: document.body,\n ...e\n };\n if (!t.startsWith(\"--\")) {\n const s = Jt();\n s && (t = `${s}${t}`), t = `--${t}`;\n }\n const i = getComputedStyle(n.element).getPropertyValue(t).trim();\n if (i)\n return i;\n if (n.fallback)\n return n.fallback;\n throw new Error(`CSS variable \"${t}\" was not found!`);\n}\nasync function N(t, e, n) {\n await z(e, t, n), n && await z(n, t);\n for (const i of e.plugins)\n await z(i, t, { parent: e, entry: n });\n await e.emit(t, { parent: e, entry: n });\n}\nfunction Jt() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nclass Gt {\n #t;\n #e;\n constructor() {\n this.#t = {}, this.#e = [];\n }\n get(e, n) {\n const { fallback: i, source: s } = n ?? {};\n if (s) {\n const o = this.#t?.[s]?.[e];\n if (o !== void 0)\n return o;\n } else\n for (const o of this.#e) {\n const r = this.#t?.[o]?.[e];\n if (r !== void 0)\n return r;\n }\n if (i !== void 0)\n return i;\n throw new Error(`Config does not exist: ${e}`);\n }\n set(e, n = {}) {\n let i, s;\n return typeof e == \"string\" ? (i = e, s = n) : (i = \"entry\", s = e), this.#t[i] ? Object.assign(this.#t[i], s) : (this.#e.unshift(i), this.#t[i] = s), this.#t[i];\n }\n remove(e) {\n const n = this.#e.indexOf(e);\n n !== -1 && this.#e.splice(n, 1), delete this.#t[e];\n }\n setSourceOrder(e) {\n const n = Object.keys(this.#t).reverse(), i = e.filter((s) => n.includes(s));\n for (const s of n)\n i.includes(s) || i.push(s);\n return this.#e = i;\n }\n}\nclass Qt {\n constructor() {\n this.events = {};\n }\n on(e, n, ...i) {\n this.events[e] || (this.events[e] = []), this.events[e].some(\n (s) => s.listener === n\n ) || this.events[e].push({ listener: n, args: i });\n }\n off(e, n) {\n this.events[e] && (this.events[e] = this.events[e].filter(\n (i) => i.listener !== n\n ));\n }\n async emit(e, ...n) {\n if (e = e.startsWith(\"on\") ? e.slice(2, 3).toLowerCase() + e.slice(3) : e, !!this.events[e])\n for (const { listener: i, args: s } of this.events[e])\n await i(...n, ...s);\n }\n}\nclass Zt extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n #t(e) {\n const n = this.presets?.[e.name] || {}, i = e?.options || {};\n e.config = { ...e.config, ...n, ...i };\n }\n #e(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((n) => n.name === e) || null;\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((n) => this.add(n));\n else if (this.#t(e), this.#e(e)) {\n const n = this.findIndex((i) => i.name === e.name);\n ~n ? this[n] = e : this.push(e);\n }\n }\n remove(e) {\n const n = this.findIndex((i) => i.name === e);\n ~n && this.splice(n, 1);\n }\n}\nclass Pt {\n constructor(e, n) {\n this.config = new Gt(), this.parent = e, this.el = jt(n), this.id = this.el.id, this.config.set(\"parent\", this.parent.config), this.config.set(\"entry\", {});\n }\n}\nconst te = {\n selector: \"\",\n plugins: [],\n presets: {}\n};\nclass ee {\n constructor(e = {}) {\n this.#t = new Qt(), this.events = this.#t.events, this.on = this.#t.on.bind(this.#t), this.off = this.#t.off.bind(this.#t), this.emit = this.#t.emit.bind(this.#t), this.collection = [], this.entryClass = Pt, this.name = this.constructor.name, this.config = { ...te, ...e }, this.plugins = new Zt(this.config.presets);\n }\n #t;\n get(e, n = \"id\") {\n return this.collection.find((i) => i[n] === e);\n }\n getOrThrow(e, n = \"id\") {\n const i = this.get(e, n);\n if (i)\n return i;\n throw new Error(\n `${this.name} entry not found in collection with ${String(n)} of \"${e}\"`\n );\n }\n updateConfig(e = {}) {\n return Object.assign(this.config, e);\n }\n async createEntry(e) {\n const n = new this.entryClass(this, e);\n return await z(n, \"init\"), await N(\"onCreateEntry\", this, n), n;\n }\n async destroyEntry(e) {\n return await N(\"onDestroyEntry\", this, e), await z(e, \"destroy\"), e;\n }\n async register(e) {\n const n = this.collection.findIndex((i) => i.id === e.id);\n return ~n ? this.collection[n] = e : this.collection.push(e), await N(\"onRegisterEntry\", this, e), e;\n }\n async deregister(e) {\n const n = this.collection.findIndex((i) => i.id === e.id);\n if (~n) {\n await N(\n \"onDeregisterEntry\",\n this,\n this.collection[n]\n );\n const [i] = this.collection.splice(n, 1);\n }\n return e;\n }\n async mount(e = (n) => n) {\n for (const n of this.config?.plugins || [])\n this.plugins.add(n);\n for (const n of this.plugins)\n await z(n, \"setup\", this);\n if (await N(\"beforeMount\", this), this.config.selector) {\n const n = document.querySelectorAll(this.config.selector);\n for (const i of n)\n await this.createEntry(i).then((s) => e(s)).then((s) => this.register(s));\n }\n return await N(\"afterMount\", this), this;\n }\n async unmount(e = (n) => n) {\n for (await N(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.destroyEntry(this.collection[0]).then((n) => e(n)).then((n) => this.deregister(n));\n await N(\"afterUnmount\", this);\n for (const n of this.plugins)\n await z(n, \"teardown\", this);\n for (const n of [...this.plugins])\n this.plugins.remove(n.name);\n return this;\n }\n}\nKt(\"theme-prefix\", { fallback: \"vb-theme-\" });\nconst ne = {\n // Selectors\n selector: \".popover\",\n selectorTooltip: \".popover_tooltip\",\n selectorArrow: \".popover__arrow\",\n // State classes\n stateActive: \"is-active\",\n // Custom properties and their defaults\n customProps: [\n \"placement\",\n \"event\",\n \"offset\",\n \"flip-padding\",\n \"shift-padding\",\n \"arrow-padding\",\n \"toggle-delay\"\n ],\n customEventPrefix: \"popover:\",\n placement: \"bottom\",\n event: \"click\",\n offset: 0,\n flipPadding: 0,\n shiftPadding: 0,\n arrowPadding: 0,\n toggleDelay: 0\n}, j = Math.min, q = Math.max, st = Math.round, it = Math.floor, P = (t) => ({\n x: t,\n y: t\n}), ie = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n}, se = {\n start: \"end\",\n end: \"start\"\n};\nfunction ht(t, e, n) {\n return q(t, j(e, n));\n}\nfunction X(t, e) {\n return typeof t == \"function\" ? t(e) : t;\n}\nfunction I(t) {\n return t.split(\"-\")[0];\n}\nfunction et(t) {\n return t.split(\"-\")[1];\n}\nfunction pt(t) {\n return t === \"x\" ? \"y\" : \"x\";\n}\nfunction wt(t) {\n return t === \"y\" ? \"height\" : \"width\";\n}\nconst oe = /* @__PURE__ */ new Set([\"top\", \"bottom\"]);\nfunction F(t) {\n return oe.has(I(t)) ? \"y\" : \"x\";\n}\nfunction yt(t) {\n return pt(F(t));\n}\nfunction re(t, e, n) {\n n === void 0 && (n = !1);\n const i = et(t), s = yt(t), o = wt(s);\n let r = s === \"x\" ? i === (n ? \"end\" : \"start\") ? \"right\" : \"left\" : i === \"start\" ? \"bottom\" : \"top\";\n return e.reference[o] > e.floating[o] && (r = ot(r)), [r, ot(r)];\n}\nfunction ce(t) {\n const e = ot(t);\n return [gt(t), e, gt(e)];\n}\nfunction gt(t) {\n return t.replace(/start|end/g, (e) => se[e]);\n}\nconst Et = [\"left\", \"right\"], At = [\"right\", \"left\"], le = [\"top\", \"bottom\"], ae = [\"bottom\", \"top\"];\nfunction fe(t, e, n) {\n switch (t) {\n case \"top\":\n case \"bottom\":\n return n ? e ? At : Et : e ? Et : At;\n case \"left\":\n case \"right\":\n return e ? le : ae;\n default:\n return [];\n }\n}\nfunction ue(t, e, n, i) {\n const s = et(t);\n let o = fe(I(t), n === \"start\", i);\n return s && (o = o.map((r) => r + \"-\" + s), e && (o = o.concat(o.map(gt)))), o;\n}\nfunction ot(t) {\n return t.replace(/left|right|bottom|top/g, (e) => ie[e]);\n}\nfunction de(t) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...t\n };\n}\nfunction kt(t) {\n return typeof t != \"number\" ? de(t) : {\n top: t,\n right: t,\n bottom: t,\n left: t\n };\n}\nfunction rt(t) {\n const {\n x: e,\n y: n,\n width: i,\n height: s\n } = t;\n return {\n width: i,\n height: s,\n top: n,\n left: e,\n right: e + i,\n bottom: n + s,\n x: e,\n y: n\n };\n}\nfunction Ct(t, e, n) {\n let {\n reference: i,\n floating: s\n } = t;\n const o = F(e), r = yt(e), c = wt(r), a = I(e), l = o === \"y\", d = i.x + i.width / 2 - s.width / 2, u = i.y + i.height / 2 - s.height / 2, h = i[c] / 2 - s[c] / 2;\n let f;\n switch (a) {\n case \"top\":\n f = {\n x: d,\n y: i.y - s.height\n };\n break;\n case \"bottom\":\n f = {\n x: d,\n y: i.y + i.height\n };\n break;\n case \"right\":\n f = {\n x: i.x + i.width,\n y: u\n };\n break;\n case \"left\":\n f = {\n x: i.x - s.width,\n y: u\n };\n break;\n default:\n f = {\n x: i.x,\n y: i.y\n };\n }\n switch (et(e)) {\n case \"start\":\n f[r] -= h * (n && l ? -1 : 1);\n break;\n case \"end\":\n f[r] += h * (n && l ? -1 : 1);\n break;\n }\n return f;\n}\nconst he = async (t, e, n) => {\n const {\n placement: i = \"bottom\",\n strategy: s = \"absolute\",\n middleware: o = [],\n platform: r\n } = n, c = o.filter(Boolean), a = await (r.isRTL == null ? void 0 : r.isRTL(e));\n let l = await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }), {\n x: d,\n y: u\n } = Ct(l, i, a), h = i, f = {}, g = 0;\n for (let m = 0; m < c.length; m++) {\n const {\n name: p,\n fn: w\n } = c[m], {\n x: y,\n y: x,\n data: b,\n reset: v\n } = await w({\n x: d,\n y: u,\n initialPlacement: i,\n placement: h,\n strategy: s,\n middlewareData: f,\n rects: l,\n platform: r,\n elements: {\n reference: t,\n floating: e\n }\n });\n d = y ?? d, u = x ?? u, f = {\n ...f,\n [p]: {\n ...f[p],\n ...b\n }\n }, v && g <= 50 && (g++, typeof v == \"object\" && (v.placement && (h = v.placement), v.rects && (l = v.rects === !0 ? await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }) : v.rects), {\n x: d,\n y: u\n } = Ct(l, h, a)), m = -1);\n }\n return {\n x: d,\n y: u,\n placement: h,\n strategy: s,\n middlewareData: f\n };\n};\nasync function Dt(t, e) {\n var n;\n e === void 0 && (e = {});\n const {\n x: i,\n y: s,\n platform: o,\n rects: r,\n elements: c,\n strategy: a\n } = t, {\n boundary: l = \"clippingAncestors\",\n rootBoundary: d = \"viewport\",\n elementContext: u = \"floating\",\n altBoundary: h = !1,\n padding: f = 0\n } = X(e, t), g = kt(f), p = c[h ? u === \"floating\" ? \"reference\" : \"floating\" : u], w = rt(await o.getClippingRect({\n element: (n = await (o.isElement == null ? void 0 : o.isElement(p))) == null || n ? p : p.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(c.floating)),\n boundary: l,\n rootBoundary: d,\n strategy: a\n })), y = u === \"floating\" ? {\n x: i,\n y: s,\n width: r.floating.width,\n height: r.floating.height\n } : r.reference, x = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(c.floating)), b = await (o.isElement == null ? void 0 : o.isElement(x)) ? await (o.getScale == null ? void 0 : o.getScale(x)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n }, v = rt(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements: c,\n rect: y,\n offsetParent: x,\n strategy: a\n }) : y);\n return {\n top: (w.top - v.top + g.top) / b.y,\n bottom: (v.bottom - w.bottom + g.bottom) / b.y,\n left: (w.left - v.left + g.left) / b.x,\n right: (v.right - w.right + g.right) / b.x\n };\n}\nconst ge = (t) => ({\n name: \"arrow\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n platform: r,\n elements: c,\n middlewareData: a\n } = e, {\n element: l,\n padding: d = 0\n } = X(t, e) || {};\n if (l == null)\n return {};\n const u = kt(d), h = {\n x: n,\n y: i\n }, f = yt(s), g = wt(f), m = await r.getDimensions(l), p = f === \"y\", w = p ? \"top\" : \"left\", y = p ? \"bottom\" : \"right\", x = p ? \"clientHeight\" : \"clientWidth\", b = o.reference[g] + o.reference[f] - h[f] - o.floating[g], v = h[f] - o.reference[f], C = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(l));\n let L = C ? C[x] : 0;\n (!L || !await (r.isElement == null ? void 0 : r.isElement(C))) && (L = c.floating[x] || o.floating[g]);\n const G = b / 2 - v / 2, V = L / 2 - m[g] / 2 - 1, M = j(u[w], V), Q = j(u[y], V), B = M, Z = L - m[g] - Q, E = L / 2 - m[g] / 2 + G, _ = ht(B, E, Z), $ = !a.arrow && et(s) != null && E !== _ && o.reference[g] / 2 - (E < B ? M : Q) - m[g] / 2 < 0, O = $ ? E < B ? E - B : E - Z : 0;\n return {\n [f]: h[f] + O,\n data: {\n [f]: _,\n centerOffset: E - _ - O,\n ...$ && {\n alignmentOffset: O\n }\n },\n reset: $\n };\n }\n}), me = function(t) {\n return t === void 0 && (t = {}), {\n name: \"flip\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n placement: s,\n middlewareData: o,\n rects: r,\n initialPlacement: c,\n platform: a,\n elements: l\n } = e, {\n mainAxis: d = !0,\n crossAxis: u = !0,\n fallbackPlacements: h,\n fallbackStrategy: f = \"bestFit\",\n fallbackAxisSideDirection: g = \"none\",\n flipAlignment: m = !0,\n ...p\n } = X(t, e);\n if ((n = o.arrow) != null && n.alignmentOffset)\n return {};\n const w = I(s), y = F(c), x = I(c) === c, b = await (a.isRTL == null ? void 0 : a.isRTL(l.floating)), v = h || (x || !m ? [ot(c)] : ce(c)), C = g !== \"none\";\n !h && C && v.push(...ue(c, m, g, b));\n const L = [c, ...v], G = await Dt(e, p), V = [];\n let M = ((i = o.flip) == null ? void 0 : i.overflows) || [];\n if (d && V.push(G[w]), u) {\n const E = re(s, r, b);\n V.push(G[E[0]], G[E[1]]);\n }\n if (M = [...M, {\n placement: s,\n overflows: V\n }], !V.every((E) => E <= 0)) {\n var Q, B;\n const E = (((Q = o.flip) == null ? void 0 : Q.index) || 0) + 1, _ = L[E];\n if (_ && (!(u === \"alignment\" ? y !== F(_) : !1) || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n M.every((T) => F(T.placement) === y ? T.overflows[0] > 0 : !0)))\n return {\n data: {\n index: E,\n overflows: M\n },\n reset: {\n placement: _\n }\n };\n let $ = (B = M.filter((O) => O.overflows[0] <= 0).sort((O, T) => O.overflows[1] - T.overflows[1])[0]) == null ? void 0 : B.placement;\n if (!$)\n switch (f) {\n case \"bestFit\": {\n var Z;\n const O = (Z = M.filter((T) => {\n if (C) {\n const H = F(T.placement);\n return H === y || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n H === \"y\";\n }\n return !0;\n }).map((T) => [T.placement, T.overflows.filter((H) => H > 0).reduce((H, Yt) => H + Yt, 0)]).sort((T, H) => T[1] - H[1])[0]) == null ? void 0 : Z[0];\n O && ($ = O);\n break;\n }\n case \"initialPlacement\":\n $ = c;\n break;\n }\n if (s !== $)\n return {\n reset: {\n placement: $\n }\n };\n }\n return {};\n }\n };\n}, Mt = /* @__PURE__ */ new Set([\"left\", \"top\"]);\nasync function pe(t, e) {\n const {\n placement: n,\n platform: i,\n elements: s\n } = t, o = await (i.isRTL == null ? void 0 : i.isRTL(s.floating)), r = I(n), c = et(n), a = F(n) === \"y\", l = Mt.has(r) ? -1 : 1, d = o && a ? -1 : 1, u = X(e, t);\n let {\n mainAxis: h,\n crossAxis: f,\n alignmentAxis: g\n } = typeof u == \"number\" ? {\n mainAxis: u,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: u.mainAxis || 0,\n crossAxis: u.crossAxis || 0,\n alignmentAxis: u.alignmentAxis\n };\n return c && typeof g == \"number\" && (f = c === \"end\" ? g * -1 : g), a ? {\n x: f * d,\n y: h * l\n } : {\n x: h * l,\n y: f * d\n };\n}\nconst we = function(t) {\n return t === void 0 && (t = 0), {\n name: \"offset\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n x: s,\n y: o,\n placement: r,\n middlewareData: c\n } = e, a = await pe(e, t);\n return r === ((n = c.offset) == null ? void 0 : n.placement) && (i = c.arrow) != null && i.alignmentOffset ? {} : {\n x: s + a.x,\n y: o + a.y,\n data: {\n ...a,\n placement: r\n }\n };\n }\n };\n}, ye = function(t) {\n return t === void 0 && (t = {}), {\n name: \"shift\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s\n } = e, {\n mainAxis: o = !0,\n crossAxis: r = !1,\n limiter: c = {\n fn: (p) => {\n let {\n x: w,\n y\n } = p;\n return {\n x: w,\n y\n };\n }\n },\n ...a\n } = X(t, e), l = {\n x: n,\n y: i\n }, d = await Dt(e, a), u = F(I(s)), h = pt(u);\n let f = l[h], g = l[u];\n if (o) {\n const p = h === \"y\" ? \"top\" : \"left\", w = h === \"y\" ? \"bottom\" : \"right\", y = f + d[p], x = f - d[w];\n f = ht(y, f, x);\n }\n if (r) {\n const p = u === \"y\" ? \"top\" : \"left\", w = u === \"y\" ? \"bottom\" : \"right\", y = g + d[p], x = g - d[w];\n g = ht(y, g, x);\n }\n const m = c.fn({\n ...e,\n [h]: f,\n [u]: g\n });\n return {\n ...m,\n data: {\n x: m.x - n,\n y: m.y - i,\n enabled: {\n [h]: o,\n [u]: r\n }\n }\n };\n }\n };\n}, xe = function(t) {\n return t === void 0 && (t = {}), {\n options: t,\n fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n middlewareData: r\n } = e, {\n offset: c = 0,\n mainAxis: a = !0,\n crossAxis: l = !0\n } = X(t, e), d = {\n x: n,\n y: i\n }, u = F(s), h = pt(u);\n let f = d[h], g = d[u];\n const m = X(c, e), p = typeof m == \"number\" ? {\n mainAxis: m,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...m\n };\n if (a) {\n const x = h === \"y\" ? \"height\" : \"width\", b = o.reference[h] - o.floating[x] + p.mainAxis, v = o.reference[h] + o.reference[x] - p.mainAxis;\n f < b ? f = b : f > v && (f = v);\n }\n if (l) {\n var w, y;\n const x = h === \"y\" ? \"width\" : \"height\", b = Mt.has(I(s)), v = o.reference[u] - o.floating[x] + (b && ((w = r.offset) == null ? void 0 : w[u]) || 0) + (b ? 0 : p.crossAxis), C = o.reference[u] + o.reference[x] + (b ? 0 : ((y = r.offset) == null ? void 0 : y[u]) || 0) - (b ? p.crossAxis : 0);\n g < v ? g = v : g > C && (g = C);\n }\n return {\n [h]: f,\n [u]: g\n };\n }\n };\n};\nfunction ct() {\n return typeof window < \"u\";\n}\nfunction J(t) {\n return $t(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\";\n}\nfunction A(t) {\n var e;\n return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;\n}\nfunction D(t) {\n var e;\n return (e = ($t(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;\n}\nfunction $t(t) {\n return ct() ? t instanceof Node || t instanceof A(t).Node : !1;\n}\nfunction S(t) {\n return ct() ? t instanceof Element || t instanceof A(t).Element : !1;\n}\nfunction k(t) {\n return ct() ? t instanceof HTMLElement || t instanceof A(t).HTMLElement : !1;\n}\nfunction Lt(t) {\n return !ct() || typeof ShadowRoot > \"u\" ? !1 : t instanceof ShadowRoot || t instanceof A(t).ShadowRoot;\n}\nconst ve = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\nfunction nt(t) {\n const {\n overflow: e,\n overflowX: n,\n overflowY: i,\n display: s\n } = R(t);\n return /auto|scroll|overlay|hidden|clip/.test(e + i + n) && !ve.has(s);\n}\nconst be = /* @__PURE__ */ new Set([\"table\", \"td\", \"th\"]);\nfunction Ee(t) {\n return be.has(J(t));\n}\nconst Ae = [\":popover-open\", \":modal\"];\nfunction lt(t) {\n return Ae.some((e) => {\n try {\n return t.matches(e);\n } catch {\n return !1;\n }\n });\n}\nconst Ce = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\"], Le = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\", \"filter\"], Oe = [\"paint\", \"layout\", \"strict\", \"content\"];\nfunction xt(t) {\n const e = vt(), n = S(t) ? R(t) : t;\n return Ce.some((i) => n[i] ? n[i] !== \"none\" : !1) || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || Le.some((i) => (n.willChange || \"\").includes(i)) || Oe.some((i) => (n.contain || \"\").includes(i));\n}\nfunction Te(t) {\n let e = W(t);\n for (; k(e) && !K(e); ) {\n if (xt(e))\n return e;\n if (lt(e))\n return null;\n e = W(e);\n }\n return null;\n}\nfunction vt() {\n return typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nconst Se = /* @__PURE__ */ new Set([\"html\", \"body\", \"#document\"]);\nfunction K(t) {\n return Se.has(J(t));\n}\nfunction R(t) {\n return A(t).getComputedStyle(t);\n}\nfunction at(t) {\n return S(t) ? {\n scrollLeft: t.scrollLeft,\n scrollTop: t.scrollTop\n } : {\n scrollLeft: t.scrollX,\n scrollTop: t.scrollY\n };\n}\nfunction W(t) {\n if (J(t) === \"html\")\n return t;\n const e = (\n // Step into the shadow DOM of the parent of a slotted node.\n t.assignedSlot || // DOM Element detected.\n t.parentNode || // ShadowRoot detected.\n Lt(t) && t.host || // Fallback.\n D(t)\n );\n return Lt(e) ? e.host : e;\n}\nfunction Ft(t) {\n const e = W(t);\n return K(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : k(e) && nt(e) ? e : Ft(e);\n}\nfunction tt(t, e, n) {\n var i;\n e === void 0 && (e = []), n === void 0 && (n = !0);\n const s = Ft(t), o = s === ((i = t.ownerDocument) == null ? void 0 : i.body), r = A(s);\n if (o) {\n const c = mt(r);\n return e.concat(r, r.visualViewport || [], nt(s) ? s : [], c && n ? tt(c) : []);\n }\n return e.concat(s, tt(s, [], n));\n}\nfunction mt(t) {\n return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;\n}\nfunction Ht(t) {\n const e = R(t);\n let n = parseFloat(e.width) || 0, i = parseFloat(e.height) || 0;\n const s = k(t), o = s ? t.offsetWidth : n, r = s ? t.offsetHeight : i, c = st(n) !== o || st(i) !== r;\n return c && (n = o, i = r), {\n width: n,\n height: i,\n $: c\n };\n}\nfunction bt(t) {\n return S(t) ? t : t.contextElement;\n}\nfunction Y(t) {\n const e = bt(t);\n if (!k(e))\n return P(1);\n const n = e.getBoundingClientRect(), {\n width: i,\n height: s,\n $: o\n } = Ht(e);\n let r = (o ? st(n.width) : n.width) / i, c = (o ? st(n.height) : n.height) / s;\n return (!r || !Number.isFinite(r)) && (r = 1), (!c || !Number.isFinite(c)) && (c = 1), {\n x: r,\n y: c\n };\n}\nconst Re = /* @__PURE__ */ P(0);\nfunction Nt(t) {\n const e = A(t);\n return !vt() || !e.visualViewport ? Re : {\n x: e.visualViewport.offsetLeft,\n y: e.visualViewport.offsetTop\n };\n}\nfunction Pe(t, e, n) {\n return e === void 0 && (e = !1), !n || e && n !== A(t) ? !1 : e;\n}\nfunction U(t, e, n, i) {\n e === void 0 && (e = !1), n === void 0 && (n = !1);\n const s = t.getBoundingClientRect(), o = bt(t);\n let r = P(1);\n e && (i ? S(i) && (r = Y(i)) : r = Y(t));\n const c = Pe(o, n, i) ? Nt(o) : P(0);\n let a = (s.left + c.x) / r.x, l = (s.top + c.y) / r.y, d = s.width / r.x, u = s.height / r.y;\n if (o) {\n const h = A(o), f = i && S(i) ? A(i) : i;\n let g = h, m = mt(g);\n for (; m && i && f !== g; ) {\n const p = Y(m), w = m.getBoundingClientRect(), y = R(m), x = w.left + (m.clientLeft + parseFloat(y.paddingLeft)) * p.x, b = w.top + (m.clientTop + parseFloat(y.paddingTop)) * p.y;\n a *= p.x, l *= p.y, d *= p.x, u *= p.y, a += x, l += b, g = A(m), m = mt(g);\n }\n }\n return rt({\n width: d,\n height: u,\n x: a,\n y: l\n });\n}\nfunction ft(t, e) {\n const n = at(t).scrollLeft;\n return e ? e.left + n : U(D(t)).left + n;\n}\nfunction It(t, e) {\n const n = t.getBoundingClientRect(), i = n.left + e.scrollLeft - ft(t, n), s = n.top + e.scrollTop;\n return {\n x: i,\n y: s\n };\n}\nfunction ke(t) {\n let {\n elements: e,\n rect: n,\n offsetParent: i,\n strategy: s\n } = t;\n const o = s === \"fixed\", r = D(i), c = e ? lt(e.floating) : !1;\n if (i === r || c && o)\n return n;\n let a = {\n scrollLeft: 0,\n scrollTop: 0\n }, l = P(1);\n const d = P(0), u = k(i);\n if ((u || !u && !o) && ((J(i) !== \"body\" || nt(r)) && (a = at(i)), k(i))) {\n const f = U(i);\n l = Y(i), d.x = f.x + i.clientLeft, d.y = f.y + i.clientTop;\n }\n const h = r && !u && !o ? It(r, a) : P(0);\n return {\n width: n.width * l.x,\n height: n.height * l.y,\n x: n.x * l.x - a.scrollLeft * l.x + d.x + h.x,\n y: n.y * l.y - a.scrollTop * l.y + d.y + h.y\n };\n}\nfunction De(t) {\n return Array.from(t.getClientRects());\n}\nfunction Me(t) {\n const e = D(t), n = at(t), i = t.ownerDocument.body, s = q(e.scrollWidth, e.clientWidth, i.scrollWidth, i.clientWidth), o = q(e.scrollHeight, e.clientHeight, i.scrollHeight, i.clientHeight);\n let r = -n.scrollLeft + ft(t);\n const c = -n.scrollTop;\n return R(i).direction === \"rtl\" && (r += q(e.clientWidth, i.clientWidth) - s), {\n width: s,\n height: o,\n x: r,\n y: c\n };\n}\nconst Ot = 25;\nfunction $e(t, e) {\n const n = A(t), i = D(t), s = n.visualViewport;\n let o = i.clientWidth, r = i.clientHeight, c = 0, a = 0;\n if (s) {\n o = s.width, r = s.height;\n const d = vt();\n (!d || d && e === \"fixed\") && (c = s.offsetLeft, a = s.offsetTop);\n }\n const l = ft(i);\n if (l <= 0) {\n const d = i.ownerDocument, u = d.body, h = getComputedStyle(u), f = d.compatMode === \"CSS1Compat\" && parseFloat(h.marginLeft) + parseFloat(h.marginRight) || 0, g = Math.abs(i.clientWidth - u.clientWidth - f);\n g <= Ot && (o -= g);\n } else l <= Ot && (o += l);\n return {\n width: o,\n height: r,\n x: c,\n y: a\n };\n}\nconst Fe = /* @__PURE__ */ new Set([\"absolute\", \"fixed\"]);\nfunction He(t, e) {\n const n = U(t, !0, e === \"fixed\"), i = n.top + t.clientTop, s = n.left + t.clientLeft, o = k(t) ? Y(t) : P(1), r = t.clientWidth * o.x, c = t.clientHeight * o.y, a = s * o.x, l = i * o.y;\n return {\n width: r,\n height: c,\n x: a,\n y: l\n };\n}\nfunction Tt(t, e, n) {\n let i;\n if (e === \"viewport\")\n i = $e(t, n);\n else if (e === \"document\")\n i = Me(D(t));\n else if (S(e))\n i = He(e, n);\n else {\n const s = Nt(t);\n i = {\n x: e.x - s.x,\n y: e.y - s.y,\n width: e.width,\n height: e.height\n };\n }\n return rt(i);\n}\nfunction Wt(t, e) {\n const n = W(t);\n return n === e || !S(n) || K(n) ? !1 : R(n).position === \"fixed\" || Wt(n, e);\n}\nfunction Ne(t, e) {\n const n = e.get(t);\n if (n)\n return n;\n let i = tt(t, [], !1).filter((c) => S(c) && J(c) !== \"body\"), s = null;\n const o = R(t).position === \"fixed\";\n let r = o ? W(t) : t;\n for (; S(r) && !K(r); ) {\n const c = R(r), a = xt(r);\n !a && c.position === \"fixed\" && (s = null), (o ? !a && !s : !a && c.position === \"static\" && !!s && Fe.has(s.position) || nt(r) && !a && Wt(t, r)) ? i = i.filter((d) => d !== r) : s = c, r = W(r);\n }\n return e.set(t, i), i;\n}\nfunction Ie(t) {\n let {\n element: e,\n boundary: n,\n rootBoundary: i,\n strategy: s\n } = t;\n const r = [...n === \"clippingAncestors\" ? lt(e) ? [] : Ne(e, this._c) : [].concat(n), i], c = r[0], a = r.reduce((l, d) => {\n const u = Tt(e, d, s);\n return l.top = q(u.top, l.top), l.right = j(u.right, l.right), l.bottom = j(u.bottom, l.bottom), l.left = q(u.left, l.left), l;\n }, Tt(e, c, s));\n return {\n width: a.right - a.left,\n height: a.bottom - a.top,\n x: a.left,\n y: a.top\n };\n}\nfunction We(t) {\n const {\n width: e,\n height: n\n } = Ht(t);\n return {\n width: e,\n height: n\n };\n}\nfunction Ve(t, e, n) {\n const i = k(e), s = D(e), o = n === \"fixed\", r = U(t, !0, o, e);\n let c = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const a = P(0);\n function l() {\n a.x = ft(s);\n }\n if (i || !i && !o)\n if ((J(e) !== \"body\" || nt(s)) && (c = at(e)), i) {\n const f = U(e, !0, o, e);\n a.x = f.x + e.clientLeft, a.y = f.y + e.clientTop;\n } else s && l();\n o && !i && s && l();\n const d = s && !i && !o ? It(s, c) : P(0), u = r.left + c.scrollLeft - a.x - d.x, h = r.top + c.scrollTop - a.y - d.y;\n return {\n x: u,\n y: h,\n width: r.width,\n height: r.height\n };\n}\nfunction ut(t) {\n return R(t).position === \"static\";\n}\nfunction St(t, e) {\n if (!k(t) || R(t).position === \"fixed\")\n return null;\n if (e)\n return e(t);\n let n = t.offsetParent;\n return D(t) === n && (n = n.ownerDocument.body), n;\n}\nfunction Vt(t, e) {\n const n = A(t);\n if (lt(t))\n return n;\n if (!k(t)) {\n let s = W(t);\n for (; s && !K(s); ) {\n if (S(s) && !ut(s))\n return s;\n s = W(s);\n }\n return n;\n }\n let i = St(t, e);\n for (; i && Ee(i) && ut(i); )\n i = St(i, e);\n return i && K(i) && ut(i) && !xt(i) ? n : i || Te(t) || n;\n}\nconst Be = async function(t) {\n const e = this.getOffsetParent || Vt, n = this.getDimensions, i = await n(t.floating);\n return {\n reference: Ve(t.reference, await e(t.floating), t.strategy),\n floating: {\n x: 0,\n y: 0,\n width: i.width,\n height: i.height\n }\n };\n};\nfunction _e(t) {\n return R(t).direction === \"rtl\";\n}\nconst ze = {\n convertOffsetParentRelativeRectToViewportRelativeRect: ke,\n getDocumentElement: D,\n getClippingRect: Ie,\n getOffsetParent: Vt,\n getElementRects: Be,\n getClientRects: De,\n getDimensions: We,\n getScale: Y,\n isElement: S,\n isRTL: _e\n};\nfunction Bt(t, e) {\n return t.x === e.x && t.y === e.y && t.width === e.width && t.height === e.height;\n}\nfunction qe(t, e) {\n let n = null, i;\n const s = D(t);\n function o() {\n var c;\n clearTimeout(i), (c = n) == null || c.disconnect(), n = null;\n }\n function r(c, a) {\n c === void 0 && (c = !1), a === void 0 && (a = 1), o();\n const l = t.getBoundingClientRect(), {\n left: d,\n top: u,\n width: h,\n height: f\n } = l;\n if (c || e(), !h || !f)\n return;\n const g = it(u), m = it(s.clientWidth - (d + h)), p = it(s.clientHeight - (u + f)), w = it(d), x = {\n rootMargin: -g + \"px \" + -m + \"px \" + -p + \"px \" + -w + \"px\",\n threshold: q(0, j(1, a)) || 1\n };\n let b = !0;\n function v(C) {\n const L = C[0].intersectionRatio;\n if (L !== a) {\n if (!b)\n return r();\n L ? r(!1, L) : i = setTimeout(() => {\n r(!1, 1e-7);\n }, 1e3);\n }\n L === 1 && !Bt(l, t.getBoundingClientRect()) && r(), b = !1;\n }\n try {\n n = new IntersectionObserver(v, {\n ...x,\n // Handle <iframe>s\n root: s.ownerDocument\n });\n } catch {\n n = new IntersectionObserver(v, x);\n }\n n.observe(t);\n }\n return r(!0), o;\n}\nfunction Xe(t, e, n, i) {\n i === void 0 && (i = {});\n const {\n ancestorScroll: s = !0,\n ancestorResize: o = !0,\n elementResize: r = typeof ResizeObserver == \"function\",\n layoutShift: c = typeof IntersectionObserver == \"function\",\n animationFrame: a = !1\n } = i, l = bt(t), d = s || o ? [...l ? tt(l) : [], ...tt(e)] : [];\n d.forEach((w) => {\n s && w.addEventListener(\"scroll\", n, {\n passive: !0\n }), o && w.addEventListener(\"resize\", n);\n });\n const u = l && c ? qe(l, n) : null;\n let h = -1, f = null;\n r && (f = new ResizeObserver((w) => {\n let [y] = w;\n y && y.target === l && f && (f.unobserve(e), cancelAnimationFrame(h), h = requestAnimationFrame(() => {\n var x;\n (x = f) == null || x.observe(e);\n })), n();\n }), l && !a && f.observe(l), f.observe(e));\n let g, m = a ? U(t) : null;\n a && p();\n function p() {\n const w = U(t);\n m && !Bt(m, w) && n(), m = w, g = requestAnimationFrame(p);\n }\n return n(), () => {\n var w;\n d.forEach((y) => {\n s && y.removeEventListener(\"scroll\", n), o && y.removeEventListener(\"resize\", n);\n }), u?.(), (w = f) == null || w.disconnect(), f = null, a && cancelAnimationFrame(g);\n };\n}\nconst Ue = we, Ye = ye, je = me, Ke = ge, Je = xe, Ge = (t, e, n) => {\n const i = /* @__PURE__ */ new Map(), s = {\n platform: ze,\n ...n\n }, o = {\n ...s.platform,\n _c: i\n };\n return he(t, e, {\n ...s,\n platform: o\n });\n};\nfunction Rt(t, e, n) {\n Object.assign(t.style, {\n left: e != null ? `${e}px` : \"\",\n top: n != null ? `${n}px` : \"\"\n });\n}\nfunction _t(t, e) {\n let n = t.config.get(\"toggleDelay\");\n typeof n == \"string\" && (n.indexOf(\",\") > -1 && (n = n.split(\",\")), n.indexOf(\" \") > -1 && (n = n.split(\" \"))), Array.isArray(n) && (n = n[e]);\n const i = Number(n);\n if (Number.isNaN(i))\n throw new Error(`Provided delay value is not a number: \"${n}\"`);\n return i;\n}\nfunction dt(t) {\n let e;\n const n = typeof t == \"string\" ? t.trim().split(\" \").map((i) => parseFloat(i)).filter((i) => !isNaN(i)) : [t];\n for (let i = 0; i < n.length; i++)\n n[i] = Number(n[i]);\n switch (n.length) {\n case 1:\n e = n[0];\n break;\n case 2:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[0],\n left: n[1]\n };\n break;\n case 3:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[1]\n };\n break;\n case 4:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[3]\n };\n break;\n default:\n e = void 0;\n break;\n }\n return e;\n}\nfunction Qe(t) {\n return {\n offset: Number(t.config.get(\"offset\")),\n flip: {\n padding: dt(t.config.get(\"flipPadding\"))\n },\n shift: {\n padding: dt(t.config.get(\"shiftPadding\"))\n },\n arrow: {\n selector: t.config.get(\"selectorArrow\"),\n element: null,\n padding: dt(t.config.get(\"arrowPadding\"))\n }\n };\n}\nasync function zt(t) {\n return t && t.state === \"opened\" && (t.el.inert = !0, t.el.classList.remove(t.config.get(\"stateActive\")), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"false\"), t.floatingCleanup(), t.state = \"closed\", t.trigger === t.parent.trigger && (t.parent.trigger = null), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function qt(t) {\n const e = [];\n for (const n of t.collection)\n n.state === \"opened\" && e.push(await n.close());\n return e;\n}\nfunction Xt(t) {\n t.state == \"opened\" && setTimeout(() => (document.activeElement?.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) || t.close(), t), 1);\n}\nfunction Ze(t) {\n t.state === \"opened\" ? t.close() : (this.trigger = t.trigger, t.open());\n}\nfunction tn(t) {\n t.isTooltip && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.close());\n}\nfunction en(t, e) {\n if (!(e instanceof MouseEvent) || (t.isHovered = e, e.type == \"focus\" && t.trigger && !t.trigger.matches(\":focus-visible\")))\n return;\n t.toggleDelayId && clearTimeout(t.toggleDelayId);\n const n = t.trigger?.getAttribute(\"aria-expanded\");\n if (n && n == \"true\") return;\n const i = this.activeHover ? 0 : _t(t, 0);\n this.activeHover && this.activeHover.close(), t.toggleDelayId = setTimeout(() => {\n t.id && t.open();\n }, i);\n}\nfunction nn(t, e) {\n e instanceof MouseEvent && setTimeout(() => {\n t.isHovered = e, !t.isHovered && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.toggleDelayId = setTimeout(\n () => Xt(t),\n _t(t, 1)\n ));\n }, 1);\n}\nfunction sn(t) {\n switch (t.key) {\n case \"Escape\":\n this.trigger && this.trigger.focus(), qt(this);\n return;\n case \"Tab\":\n this.collection.forEach((e) => {\n Xt(e);\n });\n return;\n default:\n return;\n }\n}\nfunction on(t) {\n document.addEventListener(\"click\", function e(n) {\n const i = n.target;\n i && (i.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) ? t.el && !t.el.classList.contains(t.config.get(\"stateActive\")) && this.removeEventListener(\"click\", e) : (t.el && t.el.classList.contains(t.config.get(\"stateActive\")) && t.close(), this.removeEventListener(\"click\", e)));\n });\n}\nasync function Ut(t) {\n t.el.inert = !1, t.el.classList.add(t.config.get(\"stateActive\")), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"true\"), await t.parent.emit(\"updateCustomProps\", t);\n const e = Qe(t), n = t.el.querySelector(\n e.arrow.selector\n );\n return e.arrow.element = n || null, t.trigger instanceof HTMLElement && (t.floatingCleanup = Xe(t.trigger, t.el, () => {\n const i = [\n je(e.flip),\n Ye({ ...e.shift, limiter: Je() }),\n Ue(e.offset)\n ];\n e.arrow.element && i.push(\n Ke({\n ...e.arrow,\n element: e.arrow.element\n })\n ), Ge(t.trigger, t.el, {\n placement: t.config.get(\"placement\"),\n middleware: i\n }).then(({ x: s, y: o, placement: r, middlewareData: c }) => {\n if (t.el) {\n if (Rt(t.el, s, o), e.arrow.element && c.arrow) {\n const { x: a, y: l } = c.arrow;\n Rt(e.arrow.element, a, l);\n }\n t.el.setAttribute(\"data-floating-placement\", r);\n }\n });\n })), t.state = \"opened\", t.config.get(\"event\") === \"click\" && on.call(t.parent, t), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t), t;\n}\nclass rn extends Pt {\n constructor(e, n) {\n super(e, n), this.#t = [], this.#e = {\n el: !1,\n trigger: !1\n }, this.state = \"closed\", this.trigger = null, this.toggleDelayId = null, this.floatingCleanup = () => {\n };\n }\n #t;\n #e;\n get isTooltip() {\n return !!this.el.closest(this.config.get(\"selectorTooltip\")) || this.el.getAttribute(\"role\") == \"tooltip\";\n }\n get isHovered() {\n return this.#e.el || this.#e.trigger;\n }\n set isHovered(e) {\n const n = e.type == \"mouseenter\" ? !0 : e.type == \"mouseleave\" ? !1 : void 0;\n if (n != null)\n switch (e.target) {\n case this.el:\n this.#e.el = n;\n break;\n case this.trigger:\n this.#e.trigger = n;\n break;\n }\n }\n async open() {\n return Ut(this);\n }\n async close() {\n return zt(this);\n }\n async deregister() {\n return this.parent.deregister(this);\n }\n registerEventListeners() {\n this.#t.length || (this.config.get(\"event\") === \"hover\" ? (this.#t = [\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseenter\", \"focus\"],\n listener: en.bind(this.parent, this)\n },\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseleave\", \"focusout\"],\n listener: nn.bind(this.parent, this)\n },\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: tn.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(\n s,\n n.listener,\n !1\n );\n });\n });\n })) : (this.#t = [\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: Ze.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(\n s,\n n.listener,\n !1\n );\n });\n });\n })));\n }\n deregisterEventListeners() {\n this.#t && (this.#t.forEach((e) => {\n e.el.forEach((n) => {\n e.type.forEach((i) => {\n this[n].removeEventListener(\n i,\n e.listener,\n !1\n );\n });\n });\n }), this.#t = []);\n }\n async onCreateEntry() {\n this.trigger = document.querySelector(\n `[aria-controls=\"${this.id}\"], [aria-describedby=\"${this.id}\"]`\n ), this.isTooltip ? (this.config.set({ event: \"hover\" }), this.el.setAttribute(\"role\", \"tooltip\")) : this.trigger && this.trigger instanceof HTMLElement && this.trigger.setAttribute(\"aria-expanded\", \"false\");\n }\n async onRegisterEntry() {\n this.registerEventListeners(), this.el.classList.contains(this.config.get(\"stateActive\")) ? await this.open() : this.el.inert = !0;\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(), this.floatingCleanup(), this.deregisterEventListeners();\n }\n}\nclass cn extends ee {\n constructor(e) {\n super({ ...ne, ...e }), this.entryClass = rn, this.name = \"Popover\", this.trigger = null, this.#t = sn.bind(this);\n }\n #t;\n get active() {\n return this.get(\"opened\", \"state\");\n }\n get activeHover() {\n return this.collection.find((e) => e.state == \"opened\" && e.config.get(\"event\") == \"hover\");\n }\n async open(e) {\n const n = this.getOrThrow(e);\n return Ut(n);\n }\n async close(e) {\n const n = e ? this.getOrThrow(e) : void 0;\n return n ? zt(n) : qt(this);\n }\n async afterMount() {\n document.addEventListener(\"keydown\", this.#t, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"keydown\", this.#t, !1);\n }\n}\nexport {\n cn as default\n};\n//# sourceMappingURL=index.js.map\n"],"names":["l","u","m","C","x","v","h","g","k","r","R","M","A","W","S","y","d","b","c","a","P","T","U","O","$","w","N","X","K","Y","q","tt","f","F","et","D","ot","p","E","nt","j","it","I","J","L","z","rt","G","V","Q","B","Z","_","H"],"mappings":"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"}
|