@ai-ecoverse/slicc-spectrum 0.0.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +191 -0
- package/README.md +113 -5
- package/dist/slicc-terminal.js +5402 -0
- package/dist/slicc-terminal.js.map +7 -0
- package/dist/types/backend.d.ts +19 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/kernel-backend.d.ts +24 -0
- package/dist/types/slicc-terminal.d.ts +23 -0
- package/dist/types/styles.d.ts +1 -0
- package/dist/wterm.wasm +0 -0
- package/package.json +59 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["stub:wasm-inline", "../node_modules/@wterm/core/src/wasm-loading.ts", "../node_modules/@wterm/core/src/wasm-bridge.ts", "../node_modules/@wterm/dom/src/graphics-layer.ts", "../node_modules/@wterm/dom/src/selection.ts", "../node_modules/@wterm/dom/src/selection-range.ts", "../node_modules/@wterm/dom/src/rectangle-selection.ts", "../node_modules/@wterm/dom/src/tracked-selection.ts", "../node_modules/@wterm/dom/src/renderer.ts", "../node_modules/@wterm/dom/src/input-accessibility.ts", "../node_modules/@wterm/dom/src/hyperlink.ts", "../node_modules/@wterm/dom/src/kitty-keys.ts", "../node_modules/@wterm/dom/src/input.ts", "../node_modules/@wterm/dom/src/text-capture.ts", "../node_modules/@wterm/dom/src/history-selection.ts", "../node_modules/@wterm/dom/src/rectangle-drag.ts", "../node_modules/@wterm/dom/src/output-announcements.ts", "../node_modules/@wterm/dom/src/debug.ts", "../node_modules/@wterm/dom/src/search.ts", "../node_modules/@wterm/dom/src/wterm.ts", "../src/backend.ts", "../node_modules/@wterm/dom/src/terminal.css", "../src/slicc-terminal.css", "../src/styles.ts", "../src/slicc-terminal.ts", "../src/kernel-backend.ts", "../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["export const WASM_BASE64 = '';", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "export type TerminalSignal = 'SIGINT' | 'SIGTSTP' | 'SIGQUIT' | 'SIGHUP';\n\nexport interface TerminalSize {\n cols: number;\n rows: number;\n}\n\nexport interface TerminalSink {\n output(data: Uint8Array): void;\n exit(status: number): void;\n}\n\nexport interface TerminalSession {\n write(data: Uint8Array): void;\n resize(cols: number, rows: number): void;\n signal?(name: TerminalSignal): void;\n close(): void;\n}\n\nexport interface TerminalBackend {\n open(sink: TerminalSink, size: TerminalSize): TerminalSession | Promise<TerminalSession>;\n}\n\nexport const controlBytes: Record<TerminalSignal, number | null> = {\n SIGINT: 0x03,\n SIGTSTP: 0x1a,\n SIGQUIT: 0x1c,\n SIGHUP: null,\n};\n", ".wterm {\n /* Application overrides are owned by the renderer; each terminal is isolated. */\n --term-app-fg: initial;\n --term-app-bg: initial;\n --term-app-cursor: initial;\n\n --term-fg: #d4d4d4;\n --term-bg: #1e1e1e;\n --term-cursor: #aeafad;\n\n --term-color-0: #1e1e1e;\n --term-color-1: #f44747;\n --term-color-2: #6a9955;\n --term-color-3: #d7ba7d;\n --term-color-4: #569cd6;\n --term-color-5: #c586c0;\n --term-color-6: #4ec9b0;\n --term-color-7: #d4d4d4;\n --term-color-8: #808080;\n --term-color-9: #f44747;\n --term-color-10: #6a9955;\n --term-color-11: #d7ba7d;\n --term-color-12: #569cd6;\n --term-color-13: #c586c0;\n --term-color-14: #4ec9b0;\n --term-color-15: #ffffff;\n\n --term-font-family:\n \"Menlo\", \"Consolas\", \"DejaVu Sans Mono\", \"Courier New\", monospace;\n --term-font-size: 14px;\n --term-line-height: 1.2;\n --term-row-height: 17px;\n\n position: relative;\n background: var(--term-app-bg, var(--term-bg));\n color: var(--term-app-fg, var(--term-fg));\n font-family: var(--term-font-family);\n font-size: var(--term-font-size);\n font-kerning: none;\n font-variant-ligatures: none;\n line-height: var(--term-line-height);\n padding: 12px;\n border-radius: 8px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);\n outline: none;\n overflow: hidden;\n overflow-anchor: none;\n}\n\n.wterm:focus,\n.wterm:focus-visible {\n outline: none;\n}\n\n.term-grid {\n display: block;\n position: relative;\n white-space: pre;\n contain: layout paint style;\n will-change: contents;\n}\n\n.term-announcements {\n position: absolute;\n left: 0;\n top: 0;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: pre;\n pointer-events: none;\n user-select: none;\n}\n\n.term-images {\n position: absolute;\n inset: 0;\n pointer-events: none;\n overflow: visible;\n z-index: 1;\n}\n\n.term-search-layer {\n position: absolute;\n inset: 0;\n pointer-events: none;\n user-select: none;\n z-index: 2;\n}\n\n.term-search-match {\n position: absolute;\n background: var(--term-search-match, rgb(255 200 0 / 25%));\n}\n\n.term-search-active {\n background: var(--term-search-active, rgb(255 150 0 / 40%));\n box-shadow: inset 0 0 0 1px var(--term-search-border, #ffb000);\n}\n\n.term-image-flow-spacer {\n display: block;\n height: 0;\n pointer-events: none;\n}\n\n.term-image {\n position: absolute;\n display: block;\n pointer-events: none;\n user-select: none;\n}\n\n.term-row {\n display: block;\n height: var(--term-row-height);\n line-height: var(--term-row-height);\n contain: layout style;\n}\n\n.term-select-all .term-row,\n.term-rectangle-row {\n position: relative;\n}\n\n.term-select-all .term-row::after,\n.term-rectangle-row::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: var(--term-selection-bg, rgb(80 140 255 / 30%));\n pointer-events: none;\n user-select: none;\n z-index: 3;\n}\n\n.term-rectangle-row::after {\n left: var(--term-selection-left);\n width: var(--term-selection-width);\n right: auto;\n}\n\n.term-selection-status {\n position: sticky;\n bottom: 0;\n width: fit-content;\n max-width: 100%;\n white-space: normal;\n background: var(--term-app-bg, var(--term-bg));\n color: var(--term-app-fg, var(--term-fg));\n user-select: none;\n pointer-events: none;\n z-index: 4;\n}\n\n.term-selection-status:empty {\n display: none;\n}\n\n.term-scrollback-spacer {\n display: block;\n pointer-events: none;\n}\n\n.term-size-probe {\n position: absolute;\n top: 0;\n left: 0;\n visibility: hidden;\n pointer-events: none;\n white-space: pre;\n width: auto;\n height: var(--term-row-height);\n}\n\n.term-row > span,\n.term-row > .term-link,\n.term-link > span {\n display: inline-block;\n height: var(--term-row-height);\n vertical-align: top;\n}\n\n.term-row > span,\n.term-link > span {\n width: calc(var(--term-span-cols, 1) * var(--term-cell-width, 1ch));\n /* Glyph ink may overhang its advance without moving the following cell. */\n overflow: visible;\n}\n\n.term-link {\n color: inherit;\n cursor: text;\n}\n\n.wterm.link-modifier-active .term-link:hover,\n.term-link:focus-visible {\n cursor: pointer;\n}\n\n.wterm.link-modifier-active .term-link:hover > span,\n.term-link:focus-visible > span {\n text-decoration: underline;\n text-underline-offset: 0.15em;\n}\n\n.term-block {\n width: var(--term-cell-width, 1ch);\n overflow: hidden;\n -webkit-text-fill-color: transparent;\n}\n\n.term-box {\n --term-box-stroke: max(\n 1px,\n round(calc(var(--term-cell-width, 1ch) * 0.18), 1px)\n );\n -webkit-text-fill-color: transparent;\n}\n\n.term-box-heavy,\n.term-box-bold {\n --term-box-stroke: max(\n 2px,\n round(calc(var(--term-cell-width, 1ch) * 0.3), 1px)\n );\n}\n\n.term-box-round {\n position: relative;\n}\n\n.term-box-round::after {\n content: \"\";\n position: absolute;\n box-sizing: border-box;\n border: 0 solid currentColor;\n pointer-events: none;\n}\n\n.term-box-round-tl::after {\n inset: calc(50% - var(--term-box-stroke) * 0.5) 0 0\n calc(50% - var(--term-box-stroke) * 0.5);\n border-top-width: var(--term-box-stroke);\n border-left-width: var(--term-box-stroke);\n border-top-left-radius: 100%;\n}\n\n.term-box-round-tr::after {\n inset: calc(50% - var(--term-box-stroke) * 0.5)\n calc(50% - var(--term-box-stroke) * 0.5) 0 0;\n border-top-width: var(--term-box-stroke);\n border-right-width: var(--term-box-stroke);\n border-top-right-radius: 100%;\n}\n\n.term-box-round-br::after {\n inset: 0 calc(50% - var(--term-box-stroke) * 0.5)\n calc(50% - var(--term-box-stroke) * 0.5) 0;\n border-bottom-width: var(--term-box-stroke);\n border-right-width: var(--term-box-stroke);\n border-bottom-right-radius: 100%;\n}\n\n.term-box-round-bl::after {\n inset: 0 0 calc(50% - var(--term-box-stroke) * 0.5)\n calc(50% - var(--term-box-stroke) * 0.5);\n border-bottom-width: var(--term-box-stroke);\n border-left-width: var(--term-box-stroke);\n border-bottom-left-radius: 100%;\n}\n\n@media (forced-colors: active), print {\n .term-block {\n background: none !important;\n -webkit-text-fill-color: currentColor;\n }\n\n .term-box {\n background-image: none !important;\n -webkit-text-fill-color: currentColor;\n }\n\n .term-box-round::after {\n display: none;\n }\n}\n\n.term-wide {\n --term-span-cols: 2;\n overflow: visible;\n}\n\n.term-cursor {\n color: var(--term-cell-fg, inherit);\n background: var(--term-cell-bg, transparent);\n outline: 1px solid var(--term-app-cursor, var(--term-cursor));\n outline-offset: -1px;\n}\n\n/* Native text selection can blur the input until click-to-focus runs. Keep\n the cursor active during that press without cancelling the selection. */\n.wterm:is(.focused, :active) .term-cursor {\n background: var(--term-app-cursor, var(--term-cursor));\n color: var(--term-app-bg, var(--term-bg));\n outline: none;\n}\n\n.wterm:is(.focused, :active) .term-grid[data-cursor-shape=\"bar\"] .term-cursor,\n.wterm:is(.focused, :active) .term-grid[data-cursor-shape=\"underline\"] .term-cursor {\n background: var(--term-cell-bg, transparent);\n color: var(--term-cell-fg, inherit);\n box-shadow: var(--term-cursor-shadow);\n --term-cursor-animation: cursor-line-blink;\n}\n\n.term-grid[data-cursor-shape=\"bar\"] .term-cursor {\n --term-cursor-shadow: inset 2px 0 0 var(--term-app-cursor, var(--term-cursor));\n}\n\n.term-grid[data-cursor-shape=\"underline\"] .term-cursor {\n --term-cursor-shadow: inset 0 -2px 0\n var(--term-app-cursor, var(--term-cursor));\n}\n\n.wterm:is(.focused, :active).cursor-blink .term-cursor,\n.wterm:is(.focused, :active):not(.cursor-steady)\n .term-grid[data-cursor-blink=\"true\"]\n .term-cursor {\n animation: var(--term-cursor-animation, cursor-blink) 1s step-end infinite;\n}\n\n@keyframes cursor-blink {\n 0%,\n 100% {\n background: var(--term-app-cursor, var(--term-cursor));\n color: var(--term-app-bg, var(--term-bg));\n }\n 50% {\n background: var(--term-cell-bg, transparent);\n color: var(--term-cell-fg, inherit);\n }\n}\n\n@keyframes cursor-line-blink {\n 0%,\n 100% {\n box-shadow: var(--term-cursor-shadow);\n }\n 50% {\n box-shadow: none;\n }\n}\n\n.wterm.has-scrollback,\n.wterm.has-image-flow {\n overflow-y: auto;\n}\n\n.wterm ::selection {\n background: rgba(86, 156, 214, 0.3);\n}\n\n/* Solarized Dark */\n.wterm.theme-solarized-dark {\n --term-fg: #839496;\n --term-bg: #002b36;\n --term-cursor: #93a1a1;\n --term-color-0: #073642;\n --term-color-1: #dc322f;\n --term-color-2: #859900;\n --term-color-3: #b58900;\n --term-color-4: #268bd2;\n --term-color-5: #d33682;\n --term-color-6: #2aa198;\n --term-color-7: #eee8d5;\n --term-color-8: #586e75;\n --term-color-9: #cb4b16;\n --term-color-10: #586e75;\n --term-color-11: #657b83;\n --term-color-12: #839496;\n --term-color-13: #6c71c4;\n --term-color-14: #93a1a1;\n --term-color-15: #fdf6e3;\n}\n\n/* Monokai */\n.wterm.theme-monokai {\n --term-fg: #f8f8f2;\n --term-bg: #272822;\n --term-cursor: #f8f8f0;\n --term-color-0: #272822;\n --term-color-1: #f92672;\n --term-color-2: #a6e22e;\n --term-color-3: #f4bf75;\n --term-color-4: #66d9ef;\n --term-color-5: #ae81ff;\n --term-color-6: #a1efe4;\n --term-color-7: #f8f8f2;\n --term-color-8: #75715e;\n --term-color-9: #f92672;\n --term-color-10: #a6e22e;\n --term-color-11: #f4bf75;\n --term-color-12: #66d9ef;\n --term-color-13: #ae81ff;\n --term-color-14: #a1efe4;\n --term-color-15: #f9f8f5;\n}\n\n/* Light */\n.wterm.theme-light {\n --term-fg: #383a42;\n --term-bg: #fafafa;\n --term-cursor: #526eff;\n --term-color-0: #383a42;\n --term-color-1: #e45649;\n --term-color-2: #50a14f;\n --term-color-3: #c18401;\n --term-color-4: #4078f2;\n --term-color-5: #a626a4;\n --term-color-6: #0184bc;\n --term-color-7: #fafafa;\n --term-color-8: #a0a1a7;\n --term-color-9: #e45649;\n --term-color-10: #50a14f;\n --term-color-11: #c18401;\n --term-color-12: #4078f2;\n --term-color-13: #a626a4;\n --term-color-14: #0184bc;\n --term-color-15: #ffffff;\n}\n", "slicc-terminal {\n display: block;\n position: relative;\n box-sizing: border-box;\n height: var(--slicc-terminal-height, 360px);\n overflow: hidden;\n border-radius: var(--slicc-terminal-border-radius, 4px);\n background: var(--slicc-terminal-background, #1d1d1d);\n}\n\nslicc-terminal[rows] {\n height: auto;\n}\n\nslicc-terminal > .wterm {\n --term-fg: var(--slicc-terminal-foreground, #d4d4d4);\n --term-bg: var(--slicc-terminal-background, #1d1d1d);\n --term-cursor: var(--slicc-terminal-cursor, #aeafad);\n --term-color-0: var(--slicc-terminal-color-0, #1d1d1d);\n --term-color-1: var(--slicc-terminal-color-1, #f44747);\n --term-color-2: var(--slicc-terminal-color-2, #6a9955);\n --term-color-3: var(--slicc-terminal-color-3, #d7ba7d);\n --term-color-4: var(--slicc-terminal-color-4, #569cd6);\n --term-color-5: var(--slicc-terminal-color-5, #c586c0);\n --term-color-6: var(--slicc-terminal-color-6, #4ec9b0);\n --term-color-7: var(--slicc-terminal-color-7, #d4d4d4);\n --term-color-8: var(--slicc-terminal-color-8, #808080);\n --term-color-9: var(--slicc-terminal-color-9, #f44747);\n --term-color-10: var(--slicc-terminal-color-10, #6a9955);\n --term-color-11: var(--slicc-terminal-color-11, #d7ba7d);\n --term-color-12: var(--slicc-terminal-color-12, #569cd6);\n --term-color-13: var(--slicc-terminal-color-13, #c586c0);\n --term-color-14: var(--slicc-terminal-color-14, #4ec9b0);\n --term-color-15: var(--slicc-terminal-color-15, #ffffff);\n --term-font-family: var(\n --slicc-terminal-font-family,\n \"Source Code Pro\",\n \"Menlo\",\n \"Consolas\",\n \"DejaVu Sans Mono\",\n monospace\n );\n --term-font-size: var(--slicc-terminal-font-size, 14px);\n --term-line-height: var(--slicc-terminal-line-height, 1.2);\n\n box-sizing: border-box;\n height: 100%;\n padding: var(--slicc-terminal-padding, 8px);\n border-radius: 0;\n box-shadow: none;\n}\n\nslicc-terminal[rows] > .wterm {\n height: auto;\n}\n", "import wterm from '@wterm/dom/css';\nimport theme from './slicc-terminal.css';\n\nconst sheets = new WeakMap<Document, CSSStyleSheet>();\n\nfunction sheetFor(document: Document): CSSStyleSheet {\n let sheet = sheets.get(document);\n if (!sheet) {\n const view = document.defaultView as Window & typeof globalThis;\n sheet = new view.CSSStyleSheet();\n sheet.replaceSync(`${wterm}\\n${theme}`);\n sheets.set(document, sheet);\n }\n return sheet;\n}\n\nexport function adopt(root: Document | ShadowRoot): void {\n const sheet = sheetFor((root.ownerDocument ?? root) as Document);\n if (root.adoptedStyleSheets.includes(sheet)) return;\n root.adoptedStyleSheets = [...root.adoptedStyleSheets, sheet];\n}\n", "import { WTerm } from '@wterm/dom';\nimport {\n controlBytes,\n type TerminalBackend,\n type TerminalSession,\n type TerminalSignal,\n} from './backend.ts';\nimport { adopt } from './styles.ts';\n\nconst encoder = new TextEncoder();\n\nfunction dimension(value: string | null): number | undefined {\n const parsed = Number.parseInt(value ?? '', 10);\n return parsed > 0 ? parsed : undefined;\n}\n\nexport class SliccTerminal extends HTMLElement {\n static observedAttributes = ['cols', 'rows'];\n\n static wasmUrl = new URL('./wterm.wasm', import.meta.url).href;\n\n #backend: TerminalBackend | null = null;\n #term: WTerm | null = null;\n #session: TerminalSession | null = null;\n #queue: Uint8Array[] | null = null;\n #generation = 0;\n #attempt = 0;\n #batching = false;\n #pasting = false;\n #ready = Promise.withResolvers<this>();\n\n constructor() {\n super();\n const pasting = (active: boolean) => () => {\n this.#pasting = active;\n };\n this.addEventListener('paste', pasting(true), true);\n this.addEventListener('paste', pasting(false));\n }\n\n get backend(): TerminalBackend | null {\n return this.#backend;\n }\n\n set backend(backend: TerminalBackend | null) {\n this.#backend = backend;\n if (!this.#term) return;\n this.#renew();\n const ready = this.#ready;\n void this.#open(this.#generation).catch((error) => this.#fail(error, ready));\n }\n\n get ready(): Promise<this> {\n return this.#ready.promise;\n }\n\n get cols(): number {\n return this.#term?.cols ?? dimension(this.getAttribute('cols')) ?? 80;\n }\n\n get rows(): number {\n return this.#term?.rows ?? dimension(this.getAttribute('rows')) ?? 24;\n }\n\n connectedCallback(): void {\n adopt(this.getRootNode() as Document | ShadowRoot);\n const generation = ++this.#generation;\n const ready = this.#ready;\n void this.#mount(generation).catch((error) => this.#fail(error, ready));\n }\n\n disconnectedCallback(): void {\n this.#generation += 1;\n this.#close();\n this.#term?.destroy();\n this.#term = null;\n this.replaceChildren();\n this.#renew();\n }\n\n attributeChangedCallback(): void {\n const term = this.#term;\n if (!term || this.#batching) return;\n const cols = dimension(this.getAttribute('cols'));\n const rows = dimension(this.getAttribute('rows'));\n term.autoResize = cols === undefined && rows === undefined;\n const next = { cols: cols ?? term.cols, rows: rows ?? term.rows };\n if (term.autoResize) term.fit();\n else if (next.cols !== term.cols || next.rows !== term.rows) term.resize(next.cols, next.rows);\n }\n\n resize(cols: number, rows: number): void {\n this.#batch(() => {\n this.setAttribute('cols', String(cols));\n this.setAttribute('rows', String(rows));\n });\n }\n\n fit(): void {\n this.#batch(() => {\n this.removeAttribute('cols');\n this.removeAttribute('rows');\n });\n }\n\n write(data: string | Uint8Array): void {\n this.#term?.write(data);\n }\n\n send(data: string | Uint8Array): void {\n const bytes = typeof data === 'string' ? encoder.encode(data) : data;\n if (this.#session) this.#session.write(bytes);\n else this.#queue?.push(bytes.slice());\n }\n\n signal(name: TerminalSignal): void {\n const session = this.#session;\n if (!session) return;\n const byte = controlBytes[name];\n if (session.signal) session.signal(name);\n else if (byte !== null) session.write(Uint8Array.of(byte));\n }\n\n override focus(): void {\n this.#term?.focus();\n }\n\n readText(): Promise<string> {\n return this.#term?.readText() ?? Promise.resolve('');\n }\n\n async #mount(generation: number): Promise<void> {\n const host = this.ownerDocument.createElement('div');\n this.replaceChildren(host);\n const cols = dimension(this.getAttribute('cols'));\n const rows = dimension(this.getAttribute('rows'));\n const mine = () => generation === this.#generation;\n const term = new WTerm(host, {\n cols,\n rows,\n wasmUrl: SliccTerminal.wasmUrl,\n onData: (data) => mine() && this.send(this.#pasting ? data.replace(/\\r?\\n/g, '\\r') : data),\n onBinary: (data) => mine() && this.send(data),\n onResize: (c, r) => mine() && this.#resized(c, r),\n onTitle: (title) => mine() && this.#emit('title', { title }),\n onBell: (count) => mine() && this.#emit('bell', { count }),\n });\n try {\n await term.init();\n } catch (error) {\n if (generation === this.#generation) throw error;\n return;\n }\n if (generation !== this.#generation) return term.destroy();\n this.#term = term;\n this.attributeChangedCallback();\n await this.#open(generation);\n }\n\n async #open(generation: number): Promise<void> {\n const attempt = ++this.#attempt;\n this.#close();\n const backend = this.#backend;\n if (!backend) return this.#announce();\n const queue: Uint8Array[] = [];\n this.#queue = queue;\n let ended = false;\n const current = () => generation === this.#generation && attempt === this.#attempt;\n const live = () => !ended && current();\n const size = { cols: this.cols, rows: this.rows };\n let session: TerminalSession;\n try {\n session = await backend.open(\n {\n output: (data) => {\n if (live()) this.#term?.write(data);\n },\n exit: (status) => {\n if (!live()) return;\n ended = true;\n this.#close();\n this.#emit('exit', { status });\n },\n },\n size\n );\n } catch (error) {\n if (!current()) return;\n this.#queue = null;\n throw error;\n }\n if (!current()) return session.close();\n if (ended) {\n session.close();\n return this.#announce();\n }\n this.#session = session;\n this.#queue = null;\n if (size.cols !== this.cols || size.rows !== this.rows) session.resize(this.cols, this.rows);\n for (const bytes of queue) session.write(bytes);\n this.#announce();\n }\n\n #batch(change: () => void): void {\n this.#batching = true;\n try {\n change();\n } finally {\n this.#batching = false;\n }\n this.attributeChangedCallback();\n }\n\n #renew(): void {\n const previous = this.#ready;\n this.#ready = Promise.withResolvers<this>();\n previous.resolve(this.#ready.promise);\n previous.promise.catch(() => {});\n }\n\n #announce(): void {\n this.#ready.resolve(this);\n this.#emit('ready', { cols: this.cols, rows: this.rows });\n }\n\n #close(): void {\n const session = this.#session;\n this.#session = null;\n this.#queue = null;\n session?.close();\n }\n\n #resized(cols: number, rows: number): void {\n this.#session?.resize(cols, rows);\n this.#emit('resize', { cols, rows });\n }\n\n #fail(error: unknown, ready: PromiseWithResolvers<this>): void {\n ready.reject(error);\n ready.promise.catch(() => {});\n if (ready === this.#ready) this.#emit('error', { error });\n }\n\n #emit(type: string, detail: unknown): void {\n this.dispatchEvent(new CustomEvent(type, { detail }));\n }\n}\n\nexport function define(): void {\n if (!customElements.get('slicc-terminal')) customElements.define('slicc-terminal', SliccTerminal);\n}\n", "import type { TerminalBackend, TerminalSignal } from './backend.ts';\n\nexport interface KernelTerminal {\n readonly exited: Promise<number>;\n write(data: Uint8Array): void;\n resize(cols: number, rows: number): void;\n signal(name: TerminalSignal): void;\n close(): void;\n}\n\nexport interface KernelTerminalOptions {\n cwd?: string;\n env?: Record<string, string>;\n cols: number;\n rows: number;\n onData: (bytes: Uint8Array) => void;\n}\n\nexport interface TerminalKernel {\n openTerminal(argv: string[], options: KernelTerminalOptions): Promise<KernelTerminal>;\n}\n\nexport interface KernelBackendOptions {\n argv?: string[];\n cwd?: string;\n env?: Record<string, string>;\n}\n\nconst encoder = new TextEncoder();\n\nexport function kernelBackend(\n kernel: TerminalKernel,\n { argv = ['bash', '-i'], cwd, env }: KernelBackendOptions = {}\n): TerminalBackend {\n return {\n async open(sink, { cols, rows }) {\n const onData = (bytes: Uint8Array) => sink.output(bytes);\n const terminal = await kernel.openTerminal(argv, { cwd, env, cols, rows, onData });\n terminal.exited.then(\n (status) => sink.exit(status),\n (error) => {\n sink.output(encoder.encode(`\\r\\n${error instanceof Error ? error.message : error}\\r\\n`));\n sink.exit(1);\n }\n );\n return {\n write: (data) => terminal.write(data),\n resize: (c, r) => terminal.resize(c, r),\n signal: (name) => terminal.signal(name),\n close: () => terminal.close(),\n };\n },\n };\n}\n", "import { define } from './slicc-terminal.ts';\n\nexport type {\n TerminalBackend,\n TerminalSession,\n TerminalSignal,\n TerminalSink,\n TerminalSize,\n} from './backend.ts';\nexport type {\n KernelBackendOptions,\n KernelTerminal,\n KernelTerminalOptions,\n TerminalKernel,\n} from './kernel-backend.ts';\nexport { kernelBackend } from './kernel-backend.ts';\nexport { define, SliccTerminal } from './slicc-terminal.ts';\n\ndefine();\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA,IAAa;AAAb;AAAA;AAAO,IAAM,cAAc;AAAA;AAAA;;;ACA3B,IAAI;AACJ,IAAM,UAAU,oBAAI,IAAG;AACvB,IAAM,qBAAqB;AAE3B,SAAS,aAAa,QAAc;AAClC,QAAM,SAAS,KAAK,MAAM;AAC1B,QAAM,QAAQ,IAAI,WAAW,OAAO,MAAM;AAC1C,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ;AAAK,UAAM,CAAC,IAAI,OAAO,WAAW,CAAC;AACtE,SAAO,MAAM;AACf;AAEA,eAAe,WAAW,KAAW;AACnC,QAAM,WAAW,MAAM,MAAM,GAAG;AAChC,MAAI,CAAC,SAAS,IAAI;AAChB,UAAM,IAAI,MACR,oCAAoC,GAAG,KAAK,SAAS,MAAM,IAAI,SAAS,UAAU,EAAE;EAExF;AACA,MACE,OAAO,YAAY,qBAAqB,cACxC,SAAS,QAAQ,IAAI,cAAc,GAAG,KAAI,EAAG,YAAW,MACtD,oBACF;AACA,QAAI;AACF,aAAO,MAAM,YAAY,iBAAiB,SAAS,MAAK,CAAE;IAC5D,QAAQ;IAER;EACF;AACA,SAAO,YAAY,QAAQ,MAAM,SAAS,YAAW,CAAE;AACzD;AAGM,SAAU,eAAe,KAAY;AACzC,MAAI,CAAC,KAAK;AACR,iBAAA,WAAa,wEACV,KAAK,CAAC,EAAE,aAAAA,aAAW,MAAO,YAAY,QAAQ,aAAaA,YAAW,CAAC,CAAC,EACxE,MAAM,CAAC,UAAkB;AACxB,iBAAW;AACX,YAAM;IACR,CAAC;AACH,WAAO;EACT;AAEA,MAAI,OAAO,aAAa;AACtB,UAAM,IAAI,IAAI,KAAK,SAAS,OAAO,EAAE;WAC9B,OAAO,aAAa;AAC3B,UAAM,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE;AACpC,QAAM,MAAM;AACZ,QAAM,SAAS,QAAQ,IAAI,GAAG;AAC9B,MAAI,QAAQ;AACV,YAAQ,OAAO,GAAG;AAClB,YAAQ,IAAI,KAAK,MAAM;AACvB,WAAO;EACT;AACA,QAAM,UAAU,WAAW,GAAG,EAAE,MAAM,CAAC,UAAkB;AACvD,QAAI,QAAQ,IAAI,GAAG,MAAM;AAAS,cAAQ,OAAO,GAAG;AACpD,UAAM;EACR,CAAC;AACD,UAAQ,IAAI,KAAK,OAAO;AACxB,MAAI,QAAQ,OAAO;AACjB,YAAQ,OAAO,QAAQ,KAAI,EAAG,KAAI,EAAG,KAAM;AAC7C,SAAO;AACT;;;ACDM,IAAO,aAAP,MAAO,YAAU;EAiBrB,IAAY,KAAE;AACZ,QAAI,KAAK,cAAc,KAAK,OAAO,QAAQ;AACzC,WAAK,YAAY,KAAK,OAAO;AAC7B,WAAK,MAAM,IAAI,SAAS,KAAK,OAAO,MAAM;IAC5C;AACA,WAAO,KAAK;EACd;EAEA,YAAY,UAA8B;AAtBlC,SAAA,UAAU;AACV,SAAA,WAAW;AACX,SAAA,iBAAiB;AACjB,SAAA,WAAW;AACX,SAAA,aAAa;AACb,SAAA,UAAU,IAAI,YAAW;AACzB,SAAA,UAAU,IAAI,YAAW;AAEzB,SAAA,YAAgC;AAChC,SAAA,YAAY,oBAAI,IAAG;AAczB,SAAK,UAAU,SAAS;AACxB,SAAK,SAAS,KAAK,QAAQ;EAC7B;EAEA,aAAa,KAAK,KAAY;AAC5B,UAAM,SAAS,MAAM,eAAe,GAAG;AACvC,UAAM,WAAW,MAAM,YAAY,YAAY,MAAM;AACrD,WAAO,IAAI,YAAW,QAAQ;EAChC;EAEA,KAAK,MAAc,MAAY;AAC7B,SAAK,QAAQ,KAAK,MAAM,IAAI;AAC5B,SAAK,UAAU,MAAK;AACpB,SAAK,gBAAe;EACtB;EAEQ,kBAAe;AACrB,SAAK,UAAU,KAAK,QAAQ,WAAU;AACtC,SAAK,WAAW,KAAK,QAAQ,YAAW;AACxC,SAAK,iBAAiB,KAAK,QAAQ,eAAc;AACjD,SAAK,WAAW,KAAK,QAAQ,YAAW;AACxC,SAAK,aAAa,KAAK,QAAQ,cAAa;EAC9C;EAEA,YAAY,KAAa,YAAuB;AAC9C,UAAM,UAAU,KAAK,QAAQ,OAAO,GAAG;AACvC,SAAK,SAAS,SAAS,UAAU;EACnC;EAEA,SAAS,MAAkB,YAAuB;AAChD,QAAI,SAAS;AACb,WAAO,SAAS,KAAK,QAAQ;AAC3B,YAAM,QAAQ,KAAK,IAAI,KAAK,SAAS,QAAQ,IAAI;AACjD,YAAM,MAAM,IAAI,WAAW,KAAK,OAAO,QAAQ,KAAK,gBAAgB,IAAI;AACxE,UAAI,IAAI,KAAK,SAAS,QAAQ,SAAS,KAAK,CAAC;AAC7C,WAAK,QAAQ,WAAW,KAAK;AAE7B,WAAK,gBAAe;AACpB,gBAAU;AACV,mBAAY;IACd;EACF;EAEA,QAAQ,KAAa,KAAW;AAC9B,UAAM,SAAS,KAAK,WAAW,MAAM,KAAK,aAAa,OAAO,KAAK;AACnE,UAAM,KAAK,KAAK;AAChB,UAAM,SAAmB;MACvB,MAAM,GAAG,UAAU,QAAQ,IAAI;MAC/B,IAAI,GAAG,UAAU,SAAS,GAAG,IAAI;MACjC,IAAI,GAAG,UAAU,SAAS,GAAG,IAAI;MACjC,OAAO,GAAG,SAAS,SAAS,CAAC;MAC7B,OAAO,GAAG,SAAS,SAAS,CAAC;;AAE/B,WAAO,OAAO,QAAQ,KAAK,UAAU,GAAG,UAAU,SAAS,IAAI,IAAI,CAAC,CAAC;AACrE,WAAO;EACT;EAEA,WAAW,KAAW;AACpB,WACE,IAAI,WAAW,KAAK,OAAO,QAAQ,KAAK,UAAU,KAAK,QAAO,CAAE,EAAE,GAAG,MACrE;EAEJ;EAEA,aAAU;AACR,SAAK,QAAQ,WAAU;EACzB;EAEA,YAAS;AACP,UAAM,QAAQ,KAAK,QAAQ,iBAAgB,KAAM;AACjD,WAAO;MACL,KAAK,KAAK,QAAQ,aAAY;MAC9B,KAAK,KAAK,QAAQ,aAAY;MAC9B,SAAS,KAAK,QAAQ,iBAAgB,MAAO;MAC7C,OAAO,UAAU,IAAI,cAAc,UAAU,IAAI,QAAQ;MACzD,WAAW,KAAK,QAAQ,oBAAmB,KAAM,OAAO;;EAE5D;EAEA,UAAO;AACL,WAAO,KAAK,QAAQ,QAAO;EAC7B;EACA,UAAO;AACL,WAAO,KAAK,QAAQ,QAAO;EAC7B;EAEA,gBAAa;AACX,WAAO,KAAK,QAAQ,iBAAgB,MAAO;EAC7C;EACA,iBAAc;AACZ,WAAO,KAAK,QAAQ,kBAAiB,MAAO;EAC9C;EACA,iBAAc;AACZ,WAAO,KAAK,QAAQ,kBAAiB,MAAO;EAC9C;EACA,gBAAa;AACX,UAAM,OAAO,KAAK,QAAQ,iBAAgB;AAC1C,WAAO,SAAS,OAAQ,SAAS,QAAQ,SAAS,OAAO,OAAO;EAClE;EACA,WAAQ;AACN,WAAO,KAAK,QAAQ,YAAW,MAAO;EACxC;EACA,gBAAa;AACX,UAAM,OAAO,KAAK,QAAQ,mBAAkB;AAC5C,YAAQ,MAAM;MACZ,KAAK;AACH,eAAO;MACT,KAAK;AACH,eAAO;MACT,KAAK;AACH,eAAO;MACT,KAAK;AACH,eAAO;MACT,KAAK;AACH,eAAO;MACT,KAAK;AACH,eAAO,KAAK,SAAQ,IAAK,QAAQ;MACnC;AACE,eAAO;IACX;EACF;EACA,cAAW;AACT,WAAO,KAAK,QAAQ,eAAc,MAAO;EAC3C;EACA,qBAAkB;AAChB,WAAO,KAAK,QAAQ,sBAAqB,MAAO;EAClD;EACA,+BAA4B;AAC1B,WAAO,KAAK,QAAQ,gCAA+B;EACrD;EACA,qBAAkB;AAChB,WAAO,KAAK,QAAQ,wBAAuB,KAAM;EACnD;EAEA,WAAQ;AACN,QAAI,KAAK,QAAQ,gBAAe,MAAO;AAAG,aAAO;AACjD,UAAM,MAAM,KAAK,QAAQ,YAAW;AACpC,UAAM,MAAM,KAAK,QAAQ,YAAW;AACpC,UAAM,QAAQ,IAAI,WAAW,KAAK,OAAO,QAAQ,KAAK,GAAG;AACzD,WAAO,KAAK,QAAQ,OAAO,KAAK;EAClC;EAEA,eAAY;AACV,WAAO,KAAK,QAAQ,eAAc,KAAM;EAC1C;EAEA,cAAW;AACT,UAAM,MAAM,KAAK,QAAQ,eAAc;AACvC,QAAI,QAAQ;AAAG,aAAO;AACtB,UAAM,MAAM,KAAK,QAAQ,eAAc;AACvC,UAAM,QAAQ,IAAI,WAAW,KAAK,OAAO,QAAQ,KAAK,GAAG;AACzD,UAAM,MAAM,KAAK,QAAQ,OAAO,KAAK;AACrC,SAAK,QAAQ,cAAa;AAC1B,WAAO;EACT;EAEA,mBAAgB;AACd,UAAM,WAAW,KAAK,QAAQ,uBAAsB;AACpD,UAAM,OAAO,KAAK,QAAQ,oBAAmB;AAC7C,UAAM,WAAW,KAAK,QAAQ,4BAA2B;AACzD,QACE,aAAa,UACb,SAAS,UACT,aAAa,QACb;AACA,aAAO,CAAA;IACT;AACA,WAAO;MACL,YAAY;QACV;QACA;QACA;QACA,WAAW,QAAQ;;;EAGzB;EAEA,qBAAkB;AAChB,WAAO,KAAK,QAAQ,mBAAkB;EACxC;EAEA,8BAA2B;AACzB,WAAO,KAAK,QAAQ,4BAA2B;EACjD;EAEA,kBAAkB,QAAgB,KAAW;AAC3C,UAAM,MAAM,KAAK,QAAQ,kBAAkB,MAAM;AACjD,UAAM,MAAM,MAAM,MAAM,KAAK;AAC7B,UAAM,KAAK,KAAK;AAChB,UAAM,SAAmB;MACvB,MAAM,GAAG,UAAU,KAAK,IAAI;MAC5B,IAAI,GAAG,UAAU,MAAM,GAAG,IAAI;MAC9B,IAAI,GAAG,UAAU,MAAM,GAAG,IAAI;MAC9B,OAAO,GAAG,SAAS,MAAM,CAAC;MAC1B,OAAO,GAAG,SAAS,MAAM,CAAC;;AAE5B,WAAO,OAAO,QAAQ,KAAK,UAAU,GAAG,UAAU,MAAM,IAAI,IAAI,CAAC,CAAC;AAClE,WAAO;EACT;EAEA,qBAAqB,QAAc;AACjC,WAAO,KAAK,QAAQ,qBAAqB,MAAM;EACjD;EAEA,wBAAqB;AACnB,UAAM,QAAQ,KAAK,QAAQ,iBAAgB;AAC3C,QAAI,UAAU;AAAG,aAAO,CAAA;AACxB,UAAM,MAAM,KAAK,QAAQ,eAAc;AACvC,UAAM,YAAY,KAAK,QAAQ,qBAAoB;AACnD,UAAM,aAAa,KAAK,QAAQ,eAAc;AAC9C,UAAM,QAAQ,KAAK,IAAI,OAAO,UAAU;AACxC,UAAM,KAAK,IAAI,SAAS,KAAK,OAAO,MAAM;AAC1C,UAAM,UAA+B,CAAA;AACrC,UAAM,WAAW,SAAS,aAAa,QAAQ,aAAa;AAC5D,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC9B,YAAM,OAAO,WAAW,KAAK;AAC7B,YAAM,MAAM,MAAM,MAAM;AACxB,YAAM,YAAY,GAAG,SAAS,GAAG;AACjC,UAAI,cAAc;AAAG;AACrB,YAAM,cAAc,GAAG,SAAS,MAAM,CAAC;AACvC,YAAM,aAAa,GAAG,SAAS,MAAM,CAAC;AACtC,YAAM,SAAmB,CAAA;AACzB,eAAS,IAAI,GAAG,IAAI,KAAK,IAAI,YAAY,CAAC,GAAG,KAAK;AAChD,eAAO,KAAK,GAAG,UAAU,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC;MACjD;AACA,cAAQ,KAAK;QACX,OAAO,OAAO,aAAa,SAAS;QACpC,SAAS,cAAc,OAAO,aAAa,WAAW,IAAI;QAC1D;QACA;OACD;IACH;AACA,WAAO;EACT;EAEA,OAAO,MAAc,MAAY;AAC/B,SAAK,QAAQ,eAAe,MAAM,IAAI;AACtC,SAAK,gBAAe;EACtB;EAEQ,UACN,OAAa;AAEb,QAAI,UAAU;AAAG,aAAO;AACxB,UAAM,SAAS,KAAK,UAAU,IAAI,KAAK;AACvC,QAAI;AAAQ,aAAO;AAEnB,UAAM,SAAS,KAAK,QAAQ,cAAc,KAAK;AAC/C,QAAI,WAAW;AAAG,aAAO;AACzB,UAAM,MAAM,KAAK,QAAQ,OACvB,IAAI,WACF,KAAK,OAAO,QACZ,KAAK,QAAQ,cAAc,KAAK,GAChC,MAAM,CACP;AAEH,UAAM,QAAQ,KAAK,QAAQ,aAAa,KAAK;AAC7C,UAAM,SACJ,UAAU,IACN,SACA,KAAK,QAAQ,OACX,IAAI,WACF,KAAK,OAAO,QACZ,KAAK,QAAQ,aAAa,KAAK,GAC/B,KAAK,CACN;AAET,UAAM,QAAQ;MACZ,SAAS;MACT;MACA,SAAS,SAAS,MAAM,MAAM,KAAK,GAAG,KAAK,MAAM,KAAK;;AAExD,SAAK,UAAU,IAAI,OAAO,KAAK;AAC/B,WAAO;EACT;;;;AC/UF,IAAM,+BAA+B,KAAK,OAAO;AACjD,IAAM,uBAAuB;AAS7B,SAAS,eAAe,OAAyB;AAC/C,SAAO,UAAU,UAAa,OAAO,SAAS,KAAK,KAAK,QAAQ;AAClE;AAEA,SAAS,uBAAuB,OAAa;AAC3C,SAAO,OAAO,cAAc,KAAK,KAAK,SAAS;AACjD;AAEA,SAAS,eAAe,QAAgB;AACtC,MAAI,SAAS;AACb,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC,uBAAuB,KAAK;AAAG,aAAO;AAC3C,cAAU;AACV,QAAI,CAAC,OAAO,cAAc,MAAM;AAAG,aAAO;EAC5C;AACA,SAAO;AACT;AAEA,SAAS,aAAa,WAAiC;AACrD,SAAO,GAAG,UAAU,YAAY,IAAI,UAAU,OAAO,IAAI,UAAU,YAAY;AACjF;AAGM,IAAO,gBAAP,MAAoB;EAaxB,YAAY,WAAwB,UAAgC,CAAA,GAAE;AAX9D,SAAA,QAA+B;AAC/B,SAAA,aAAoC;AACpC,SAAA,WAAW,oBAAI,IAAG;AAClB,SAAA,oBAAoB,oBAAI,IAAG;AAC3B,SAAA,cAAc;AACd,SAAA,QAAQ,oBAAI,IAAG;AACf,SAAA,aAAa;AAGb,SAAA,WAAW,oBAAI,IAAG;AAGxB,SAAK,YAAY;AACjB,SAAK,gBAAgB,eAAe,QAAQ,aAAa,IACrD,QAAQ,gBACR;AACJ,SAAK,iBAAiB,eAAe,QAAQ,cAAc,IACvD,QAAQ,iBACR;EACN;EAEA,QAAK;AACH,SAAK,QAAO;AACZ,UAAM,aAAa,SAAS,cAAc,KAAK;AAC/C,eAAW,YAAY;AACvB,eAAW,aAAa,eAAe,MAAM;AAC7C,SAAK,UAAU,YAAY,UAAU;AACrC,SAAK,aAAa;AAElB,UAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,UAAM,YAAY;AAClB,UAAM,aAAa,eAAe,MAAM;AACxC,UAAM,aAAa,QAAQ,cAAc;AACzC,SAAK,UAAU,YAAY,KAAK;AAChC,SAAK,QAAQ;AACb,SAAK,aAAa;EACpB;EAEA,UAAU,MAAoB,UAA0B;AACtD,UAAM,WAAW,KAAK;AACtB,UAAM,WAAW,KAAK;AACtB,QAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,OAAO;AACzC,WAAK,cAAa;AAClB,WAAK,sBAAqB;AAC1B;IACF;AAEA,QAAI;AACJ,QAAI;AACF,cAAQ,SAAS,KAAK,IAAI;IAC5B,QAAQ;AACN,WAAK,cAAa;AAClB,WAAK,sBAAqB;AAC1B;IACF;AACA,QACE,CAAC,SACD,CAAC,OAAO,cAAc,MAAM,UAAU,KACtC,CAAC,MAAM,QAAQ,MAAM,MAAM,KAC3B,CAAC,MAAM,QAAQ,MAAM,UAAU,GAC/B;AACA,WAAK,cAAa;AAClB,WAAK,sBAAqB;AAC1B;IACF;AAEA,UAAM,cAAc,oBAAI,IAAG;AAC3B,eAAW,SAAS,MAAM,QAAQ;AAChC,UACE,OAAO,cAAc,MAAM,OAAO,KAClC,MAAM,UAAU,KAChB,OAAO,cAAc,MAAM,OAAO,KAClC,MAAM,UAAU,KAChB,OAAO,cAAc,MAAM,KAAK,KAChC,OAAO,cAAc,MAAM,MAAM,KACjC,MAAM,QAAQ,KACd,MAAM,SAAS,GACf;AACA,oBAAY,IAAI,GAAG,MAAM,OAAO,IAAI,MAAM,OAAO,IAAI,KAAK;MAC5D;IACF;AACA,UAAM,SAAS,KAAK,iBAAiB,MAAM,QAAQ;AACnD,UAAM,cAAc,SAChB,KAAK,0BACH,MACA,OACA,UACA,aACA,MAAM,IAER,oBAAI,IAAG;AACX,QAAI,CAAC;AAAQ,WAAK,sBAAqB;AACvC,UAAM,UAAU,SACZ,KAAK,kBACH,MACA,OACA,UACA,aACA,QACA,WAAW,IAEb,CAAA;AACJ,UAAM,SAAS,oBAAI,IAAG;AACtB,UAAM,OAAO,oBAAI,IAAG;AACpB,eAAW,aAAa,SAAS;AAC/B,YAAM,MAAM,aAAa,SAAS;AAClC,YAAM,WAAW,GAAG,UAAU,OAAO,IAAI,UAAU,YAAY;AAC/D,UAAI,CAAC,YAAY,IAAI,QAAQ;AAAG;AAChC,aAAO,IAAI,GAAG;AACd,WAAK,IAAI,WAAW,KAAK,IAAI,QAAQ,KAAK,KAAK,CAAC;IAClD;AAEA,UAAM,UAAU,MAAM,eAAe,KAAK;AAC1C,SAAK,aAAa,MAAM;AAExB,eAAW,CAAC,KAAK,MAAM,KAAK,KAAK,UAAU;AACzC,UAAI,CAAC,OAAO,IAAI,GAAG,GAAG;AACpB,aAAK,aAAa,GAAG;MACvB;IACF;AAEA,eAAW,CAAC,KAAK,MAAM,KAAK,KAAK,OAAO;AACtC,UAAI,CAAC,KAAK,IAAI,GAAG;AAAG,aAAK,MAAM,OAAO,GAAG;;AACpC,eAAO,OAAO,KAAK,IAAI,GAAG;IACjC;AAEA,eAAW,aAAa,SAAS;AAC/B,YAAM,MAAM,aAAa,SAAS;AAClC,YAAM,WAAW,GAAG,UAAU,OAAO,IAAI,UAAU,YAAY;AAC/D,UAAI,CAAC,OAAO,IAAI,GAAG;AAAG;AACtB,YAAM,aAAa,YAAY,IAAI,QAAQ;AAC3C,UAAI,CAAC;AAAY;AAEjB,UAAI,SAAS,KAAK,MAAM,IAAI,QAAQ;AACpC,UAAI,CAAC,QAAQ;AACX,YAAI;AACJ,YAAI;AACF,iBAAO,SAAS,KAAK,MAAM,UAAU,SAAS,UAAU,YAAY;QACtE,QAAQ;AACN,iBAAO;QACT;AACA,YACE,CAAC,QACD,CAAC,KAAK,WAAW,MAAM,WAAW,OAAO,WAAW,MAAM;AAE1D;AACF,iBAAS,EAAE,MAAM,MAAM,KAAK,IAAI,QAAQ,KAAK,EAAC;AAC9C,aAAK,MAAM,IAAI,UAAU,MAAM;MACjC;AAEA,YAAM,iBAAiB,KAAK,SAAS,IAAI,GAAG;AAC5C,YAAM,SAAS,kBAAkB,KAAK,aAAa,GAAG;AACtD,UAAI,CAAC;AAAQ;AACb,UAAI,WAAW,CAAC,gBAAgB;AAC9B,YAAI,UAAU;AACd,YAAI;AACF,oBAAU,KAAK,MACb,QACA,KACA,OAAO,MACP,WACA,UACA,QACA,YAAY,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvC,QAAQ;AACN,oBAAU;QACZ;AACA,YAAI,CAAC,SAAS;AACZ,eAAK,aAAa,GAAG;QACvB;MACF,OAAO;AACL,aAAK,SACH,QACA,WACA,UACA,YAAY,IAAI,UAAU,GAAG,KAAK,CAAC;MAEvC;IACF;EACF;EAEA,UAAO;AACL,SAAK,cAAa;AAClB,SAAK,OAAO,OAAM;AAClB,SAAK,YAAY,OAAM;AACvB,SAAK,QAAQ;AACb,SAAK,aAAa;AAClB,SAAK,MAAM,MAAK;AAChB,SAAK,aAAa;AAClB,SAAK,sBAAqB;EAC5B;EAEQ,aAAa,KAAW;AAC9B,QAAI,CAAC,KAAK;AAAO,aAAO;AACxB,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,WAAO,YAAY;AACnB,WAAO,aAAa,eAAe,MAAM;AACzC,WAAO,WAAW;AAClB,WAAO,YAAY;AACnB,SAAK,MAAM,YAAY,MAAM;AAC7B,SAAK,SAAS,IAAI,KAAK,MAAM;AAC7B,WAAO;EACT;EAEQ,gBAAa;AACnB,eAAW,OAAO,KAAK,SAAS,KAAI;AAAI,WAAK,aAAa,GAAG;AAC7D,SAAK,kBAAkB,MAAK;AAC5B,SAAK,cAAc;AACnB,SAAK,MAAM,MAAK;EAClB;EAEQ,aAAa,KAAW;AAC9B,SAAK,SAAS,IAAI,GAAG,GAAG,OAAM;AAC9B,SAAK,SAAS,OAAO,GAAG;AACxB,UAAM,QAAQ,KAAK,kBAAkB,IAAI,GAAG,KAAK;AACjD,SAAK,kBAAkB,OAAO,GAAG;AACjC,SAAK,cAAc,KAAK,IAAI,GAAG,KAAK,cAAc,KAAK;EACzD;;;;;;;;;;EAWQ,0BACN,MACA,OACA,UACA,aACA,QAAyC;AAEzC,QAAI;AACJ,QAAI;AACJ,QAAI;AACF,mBAAa,KAAK,QAAO;AACzB,kBAAY,SAAS,kBAAkB;IACzC,QAAQ;AACN,UAAI,KAAK,SAAS,OAAO;AAAG,aAAK,sBAAqB;AACtD,aAAO,oBAAI,IAAG;IAChB;AACA,QACE,CAAC,OAAO,cAAc,UAAU,KAChC,aAAa,KACb,CAAC,OAAO,cAAc,SAAS,KAC/B,YAAY,GACZ;AACA,UAAI,KAAK,SAAS,OAAO;AAAG,aAAK,sBAAqB;AACtD,aAAO,oBAAI,IAAG;IAChB;AAEA,UAAM,eAAe,oBAAI,IAAG;AAC5B,eAAW,aAAa,MAAM,YAAY;AACxC,UAAI,CAAC,KAAK,eAAe,WAAW,SAAS;AAAG;AAChD,UAAI,UAAU,SAAS;AAAG;AAI1B,UAAI,UAAU,MAAM,SAAS;AAAiB;AAE9C,YAAM,QAAQ,YAAY,IACxB,GAAG,UAAU,OAAO,IAAI,UAAU,YAAY,EAAE;AAElD,UAAI,CAAC;AAAO;AACZ,YAAM,OAAO,KAAK,gBAChB,WACA,UAAU,eAAe,MAAM,OAC/B,UAAU,gBAAgB,MAAM,QAChC,UACA,MAAM;AAER,UAAI,CAAC;AAAM;AACX,YAAM,UAAU,UAAU,UAAU,KAAK;AACzC,UAAI,CAAC,eAAe,OAAO;AAAG;AAC9B,mBAAa,IACX,UAAU,KACV,KAAK,IAAI,aAAa,IAAI,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;IAE3D;AAKA,QAAI,aAAa,SAAS,GAAG;AAC3B,UAAI,KAAK,SAAS,OAAO;AAAG,aAAK,sBAAqB;AACtD,aAAO,oBAAI,IAAG;IAChB;AAEA,SAAK,sBAAqB;AAE1B,UAAM,OAAO,KAAK,UAAU,iBAC1B,qCAAqC;AAEvC,eAAW,OAAO;AAAM,UAAI,MAAM,YAAY;AAE9C,UAAM,cAAc,oBAAI,IAAG;AAC3B,QAAI,SAAS;AACb,UAAM,kBAAkB,SAAS;AACjC,aAAS,cAAc,GAAG,cAAc,YAAY,eAAe;AACjE,YAAM,MAAM,kBAAkB;AAC9B,UAAI,SAAS;AAAG,oBAAY,IAAI,KAAK,MAAM;AAC3C,YAAM,UAAU,aAAa,IAAI,GAAG,KAAK;AACzC,YAAM,aAAa,KAAK,WAAW;AAInC,YAAM,YAAY,SAAS;AAC3B,UAAI,cAAc,YAAY;AAC5B,mBAAW,MAAM,YAAY,cAAc,SAAS;AACtD,gBAAU;IACZ;AACA,QAAI,KAAK;AAAY,WAAK,WAAW,MAAM,SAAS,GAAG,MAAM;AAC7D,SAAK,UAAU,eAAe,UAAU,OACtC,kBACA,SAAS,CAAC;AAEZ,SAAK,WAAW;AAChB,WAAO;EACT;EAEQ,wBAAqB;AAC3B,QAAI,KAAK,SAAS,SAAS,GAAG;AAC5B,WAAK,YAAY,MAAM,YAAY,UAAU,KAAK;AAClD,WAAK,UAAU,eAAe,UAAU,OAAO,gBAAgB;AAC/D;IACF;AACA,UAAM,OAAO,KAAK,UAAU,iBAC1B,qCAAqC;AAEvC,eAAW,OAAO;AAAM,UAAI,MAAM,YAAY;AAC9C,QAAI,KAAK;AAAY,WAAK,WAAW,MAAM,SAAS;AACpD,SAAK,UAAU,eAAe,UAAU,OAAO,gBAAgB;AAC/D,SAAK,SAAS,MAAK;EACrB;EAEQ,WACN,MACA,eACA,gBAAsB;AAEtB,UAAM,aAAa,YAAY,KAAK,OAAO,KAAK,QAAQ,CAAC;AACzD,WACE,OAAO,cAAc,KAAK,KAAK,KAC/B,OAAO,cAAc,KAAK,MAAM,KAChC,KAAK,QAAQ,KACb,KAAK,SAAS,KACd,KAAK,UAAU,iBACf,KAAK,WAAW,kBAChB,KAAK,gBAAgB,cACrB,eAAe,QACf,KAAK,KAAK,eAAe;EAE7B;EAEQ,kBACN,MACA,OACA,UACA,aACA,QACA,aAAgC;AAEhC,QACE,CAAC,eAAe,SAAS,SAAS,KAClC,CAAC,eAAe,SAAS,SAAS,KAClC,CAAC,OAAO,SAAS,SAAS,SAAS;AAEnC,aAAO,CAAA;AACT,QAAI;AACJ,QAAI;AACF,kBAAY,SAAS,kBAAkB,KAAK,QAAO;IACrD,QAAQ;AACN,aAAO,CAAA;IACT;AACA,QAAI,CAAC,OAAO,cAAc,SAAS,KAAK,YAAY;AAAG,aAAO,CAAA;AAC9D,UAAM,gBACJ,SAAS,YAAY,SAAS,eAAe,SAAS;AACxD,UAAM,cACJ,SAAS,YACT,KAAK,IAAI,SAAS,cAAc,SAAS,SAAS,IAClD,SAAS,eAAe,SAAS;AACnC,WAAO,MAAM,WAAW,OAAO,CAAC,cAAa;AAC3C,UAAI,CAAC,KAAK,eAAe,WAAW,SAAS;AAAG,eAAO;AACvD,YAAM,QAAQ,YAAY,IACxB,GAAG,UAAU,OAAO,IAAI,UAAU,YAAY,EAAE;AAElD,UAAI,CAAC;AAAO,eAAO;AACnB,YAAM,OAAO,KAAK,gBAChB,WACA,UAAU,eAAe,MAAM,OAC/B,UAAU,gBAAgB,MAAM,QAChC,UACA,MAAM;AAER,UAAI,CAAC;AAAM,eAAO;AAClB,YAAM,eACJ,UAAU,MAAM,SAAS,YACzB,UAAU,WACT,YAAY,IAAI,UAAU,GAAG,KAAK;AACrC,YAAM,eAAe,eAAe,KAAK;AACzC,aACE,OAAO,SAAS,YAAY,KAC5B,OAAO,SAAS,YAAY,KAC5B,eAAe,eACf,eAAe;IAEnB,CAAC;EACH;EAEQ,eACN,WACA,WAAiB;AAEjB,WACE,OAAO,UAAU,iBAAiB,YAClC,UAAU,aAAa,SAAS,KAChC,uBAAuB,UAAU,OAAO,KACxC,UAAU,UAAU,KACpB,uBAAuB,UAAU,YAAY,KAC7C,UAAU,eAAe,KACzB,uBAAuB,UAAU,GAAG,KACpC,UAAU,MAAM,aAChB,uBAAuB,UAAU,GAAG,KACpC,uBAAuB,UAAU,OAAO,KACxC,uBAAuB,UAAU,OAAO,KACxC,uBAAuB,UAAU,OAAO,KACxC,uBAAuB,UAAU,OAAO,KACxC,uBAAuB,UAAU,WAAW,KAC5C,uBAAuB,UAAU,YAAY,KAC7C,uBAAuB,UAAU,OAAO,KACxC,uBAAuB,UAAU,IAAI,KACrC,OAAO,cAAc,UAAU,CAAC,KAChC,OAAO,cAAc,UAAU,OAAO,UAAU,QAAQ,EAAE;EAE9D;EAEQ,SACN,QACA,WACA,UACA,aAAa,GAAC;AAMd,UAAM,OACJ,UAAU,SAAS,IACf,UAAU,UACV,UAAU,MAAM,SAAS,YAAY,UAAU;AACrD,UAAM,MACJ,UAAU,MAAM,SAAS,YAAY,UAAU,UAAU;AAC3D,QAAI,OAAO,SAAS,IAAI;AAAG,aAAO,MAAM,OAAO,GAAG,IAAI;AACtD,QAAI,OAAO,SAAS,GAAG;AAAG,aAAO,MAAM,MAAM,GAAG,GAAG;EACrD;EAEQ,MACN,QACA,KACA,OACA,WACA,UACA,QACA,aAAa,GAAC;AAEd,QAAI,CAAC,KAAK,eAAe,WAAW,OAAO,gBAAgB;AAAG,aAAO;AACrE,UAAM,UAAU,UAAU;AAC1B,UAAM,UAAU,UAAU;AAC1B,UAAM,cAAc,UAAU,eAAe,MAAM;AACnD,UAAM,eAAe,UAAU,gBAAgB,MAAM;AACrD,QACE,CAAC,OAAO,cAAc,OAAO,KAC7B,CAAC,OAAO,cAAc,OAAO,KAC7B,CAAC,OAAO,cAAc,WAAW,KACjC,CAAC,OAAO,cAAc,YAAY,KAClC,UAAU,KACV,UAAU,KACV,eAAe,KACf,gBAAgB,KAChB,UAAU,cAAc,MAAM,SAC9B,UAAU,eAAe,MAAM;AAE/B,aAAO;AAET,UAAM,cAAc,KAAK,gBACvB,WACA,aACA,cACA,UACA,MAAM;AAER,QAAI,CAAC;AAAa,aAAO;AACzB,UAAM,EAAE,OAAO,kBAAkB,QAAQ,kBAAiB,IAAK;AAE/D,UAAM,aAAa,KAAK,IAAI,GAAG,KAAK,KAAK,gBAAgB,CAAC;AAC1D,UAAM,cAAc,KAAK,IAAI,GAAG,KAAK,KAAK,iBAAiB,CAAC;AAC5D,QACE,CAAC,OAAO,cAAc,UAAU,KAChC,CAAC,OAAO,cAAc,WAAW,KACjC,aAAa,wBACb,cAAc;AAEd,aAAO;AACT,UAAM,kBAAkB,YAAY,YAAY,aAAa,CAAC;AAC9D,QACE,oBAAoB,QACpB,CAAC,KAAK,aAAa,QAAQ,KAAK,YAAY,aAAa,eAAe;AAExE,aAAO;AACT,SAAK,SAAS,QAAQ,WAAW,UAAU,UAAU;AACrD,WAAO,MAAM,QAAQ,GAAG,gBAAgB;AACxC,WAAO,MAAM,SAAS,GAAG,iBAAiB;AAC1C,WAAO,MAAM,SAAS,OAAO,UAAU,CAAC;AACxC,WAAO,MAAM,gBAAgB;AAE7B,UAAM,UAAU,OAAO,WAAW,IAAI;AACtC,QAAI,CAAC;AAAS,aAAO;AACrB,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,WAAO,QAAQ,MAAM;AACrB,WAAO,SAAS,MAAM;AACtB,UAAM,gBAAgB,OAAO,WAAW,IAAI;AAC5C,QAAI,CAAC;AAAe,aAAO;AAC3B,UAAM,OAAO,IAAI,kBAAkB,MAAM,IAAI;AAC7C,UAAM,YACJ,OAAO,cAAc,cACjB,IAAI,UAAU,MAAM,MAAM,OAAO,MAAM,MAAM,IAC5C,cAAc,kBAAkB,MAAM,OAAO,MAAM,MAAM,KAAK;MAC7D,MAAM;MACN,OAAO,MAAM;MACb,QAAQ,MAAM;;AAEtB,QAAI,UAAU,aAAa,UAAU,SAAS;AAC5C,gBAAU,KAAK,IAAI,IAAI;AACzB,kBAAc,aAAa,WAAwB,GAAG,CAAC;AACvD,YAAQ,UAAU,GAAG,GAAG,YAAY,WAAW;AAC/C,YAAQ,UACN,QACA,SACA,SACA,aACA,cACA,GACA,GACA,YACA,WAAW;AAEb,WAAO;EACT;EAEQ,gBACN,WACA,aACA,cACA,UACA,QAAgD;AAEhD,QACE,CAAC,uBAAuB,WAAW,KACnC,CAAC,uBAAuB,YAAY,KACpC,eAAe,KACf,gBAAgB;AAEhB,aAAO;AAET,UAAM,QAAQ,UAAU,UAAU,SAAS;AAC3C,UAAM,SAAS,UAAU,OAAO,SAAS;AACzC,UAAM,mBACJ,eAAe,KAAK,KAAK,UAAU,UAAU,IACzC,QACA,eAAe,MAAM,KAAK,UAAU,OAAO,IACzC,UAAU,cAAc,gBACxB;AACR,UAAM,oBACJ,eAAe,MAAM,KAAK,UAAU,OAAO,IACvC,SACA,eAAe,KAAK,KAAK,UAAU,UAAU,IAC3C,SAAS,eAAe,eACxB;AACR,QACE,CAAC,eAAe,gBAAgB,KAChC,CAAC,eAAe,iBAAiB,KACjC,CAAC,OAAO,SAAS,UAAU,UAAU,iBAAiB;AAEtD,aAAO;AAET,QAAI,CAAC;AAAQ,aAAO;AACpB,UAAM,QAAQ,KAAK,IACjB,GACA,OAAO,QAAQ,kBACf,OAAO,SAAS,mBAChB,KAAK,kBAAkB,SACnB,IACA,KAAK,gBAAgB,kBACzB,KAAK,mBAAmB,SACpB,IACA,KAAK,iBAAiB,iBAAiB;AAE7C,QAAI,CAAC,eAAe,KAAK;AAAG,aAAO;AACnC,WAAO;MACL,OAAO,mBAAmB;MAC1B,QAAQ,oBAAoB;;EAEhC;EAEQ,iBACN,MACA,UAA0B;AAE1B,QAAI;AACJ,QAAI;AACJ,QAAI;AACF,aAAO,KAAK,QAAO;AACnB,aAAO,KAAK,QAAO;IACrB,QAAQ;AACN,aAAO;IACT;AACA,QACE,CAAC,uBAAuB,IAAI,KAC5B,CAAC,uBAAuB,IAAI,KAC5B,QAAQ,KACR,QAAQ,KACR,CAAC,eAAe,SAAS,SAAS,KAClC,CAAC,eAAe,SAAS,SAAS;AAElC,aAAO;AAET,UAAM,QAAQ,OAAO,SAAS;AAC9B,UAAM,SAAS,OAAO,SAAS;AAC/B,QACE,CAAC,eAAe,KAAK,KACrB,CAAC,eAAe,MAAM,KACtB,CAAC,OAAO,cAAc,KAAK,KAAK,KAAK,CAAC,KACtC,CAAC,OAAO,cAAc,KAAK,KAAK,MAAM,CAAC;AAEvC,aAAO;AAET,WAAO;MACL,OAAO,KAAK,IAAI,OAAO,oBAAoB;MAC3C,QAAQ,KAAK,IAAI,QAAQ,oBAAoB;;EAEjD;EAEQ,aACN,QACA,KACA,OACA,QACA,OAAa;AAEb,UAAM,gBAAgB,KAAK,kBAAkB,IAAI,GAAG,KAAK;AACzD,UAAM,YACJ,+BAA+B,KAAK,cAAc;AACpD,QAAI,QAAQ;AAAW,aAAO;AAC9B,QAAI;AACF,aAAO,QAAQ;AACf,aAAO,SAAS;IAClB,QAAQ;AACN,aAAO;IACT;AACA,SAAK,cAAc,KAAK,cAAc,gBAAgB;AACtD,SAAK,kBAAkB,IAAI,KAAK,KAAK;AACrC,WAAO;EACT;;;;AClsBF,SAAS,aACP,SACA,OACA,KAAW;AAEX,QAAM,QAAkB,CAAA;AACxB,MAAI,SAAS;AACb,aAAW,QAAQ,QAAQ,cAAc;AACvC,QAAI,KAAK,OAAO;AAAO;AACvB,QAAI,KAAK,SAAS;AAAK;AACvB,QAAI,SAAS,KAAK;AAAO,YAAM,KAAK,QAAQ,KAAK,MAAM,QAAQ,KAAK,KAAK,CAAC;AAC1E,QAAI,CAAC,KAAK;AAAM,YAAM,KAAK,QAAQ,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,CAAC;AACnE,aAAS,KAAK;EAChB;AACA,MAAI,SAAS;AAAK,UAAM,KAAK,QAAQ,KAAK,MAAM,QAAQ,GAAG,CAAC;AAC5D,SAAO,MAAM,KAAK,EAAE;AACtB;AAQM,SAAU,iBACd,UACA,MAA2B;AAE3B,SAAO,cAAc,UAAU,IAAI,GAAG,QAAQ;AAChD;AAEM,SAAU,cACd,UACA,MAA2B;AAE3B,QAAM,YAAY,SAAS,cAAc,aAAY;AACrD,MAAI,CAAC,aAAa,UAAU,eAAe,UAAU,eAAe;AAClE,WAAO;AACT,QAAM,QAAQ,UAAU,WAAW,CAAC;AACpC,MACE,CAAC,SAAS,SAAS,MAAM,cAAc,KACvC,CAAC,SAAS,SAAS,MAAM,YAAY;AAErC,WAAO;AACT,QAAM,SAAS,SAAS,cAAc;AAEtC,MAAI,WAAW,OAAO,YAAY,WAAW,OAAO,YAAY,aAAa;AAC3E,UAAM,QAAQ;AACd,QAAI,MAAM,mBAAmB,MAAM;AAAc,aAAO;EAC1D;AAEA,QAAM,QAAkB,CAAA;AACxB,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,aAAW,WAAW,MAAM;AAC1B,UAAM,EAAE,SAAS,QAAO,IAAK;AAC7B,QAAI,CAAC,MAAM,eAAe,OAAO;AAAG;AACpC,UAAM,WAAW,SAAS,cAAc,YAAW;AACnD,aAAS,mBAAmB,OAAO;AACnC,QAAI,QAAQ,SAAS,MAAM,cAAc;AACvC,eAAS,SAAS,MAAM,gBAAgB,MAAM,WAAW;AAC3D,QAAI,QAAQ,SAAS,MAAM,YAAY;AACrC,eAAS,OAAO,MAAM,cAAc,MAAM,SAAS;AACrD,UAAM,SAAS,SAAS,cAAc,YAAW;AACjD,WAAO,mBAAmB,OAAO;AACjC,WAAO,OAAO,SAAS,gBAAgB,SAAS,WAAW;AAC3D,UAAM,QAAQ,OAAO,SAAQ,EAAG;AAChC,UAAM,MAAM,QAAQ,SAAS,SAAQ,EAAG;AAExC,QAAI,QAAQ,gBAAgB,QAAQ;AAAM,aAAO;AACjD,cAAA,QAAU,EAAE,KAAK,SAAS,QAAQ,MAAK;AACvC,WAAO;MACL,KAAK;MACL,QACE,QAAQ,QAAQ,KAAK,UAAU,CAAC,QAAQ,UAAU,cAC9C,KAAK,IAAI,OAAO,QAAQ,KAAK,QAAQ,OAAO,EAAE,EAAE,MAAM,IACtD;;AAER,QAAI,UAAU;AACZ,UAAI,QAAQ,QAAQ,SAAS,MAAM;AAAG,eAAO;AAC7C,YAAM,UACJ,SAAS,QAAQ,UAAU,eAC3B,QAAQ,UAAU;AACpB,UAAI,CAAC;AAAS,cAAM,KAAK,IAAI;IAC/B;AACA,QAAI,OAAO,UAAU,MAAM,KAAK,aAAa,SAAS,OAAO,GAAG;AAChE,QAAI,QAAQ,QAAQ,KAAK,UAAU,CAAC,QAAQ,UAAU;AACpD,aAAO,KAAK,QAAQ,OAAO,EAAE;AAC/B,UAAM,KAAK,IAAI;AACf,eAAW;EACb;AACA,SAAO,SAAS,OACZ;IACE,MAAM,MAAM,KAAK,EAAE;IACnB;IACA;IACA,UACE,UAAU,eAAe,MAAM,kBAC/B,UAAU,iBAAiB,MAAM;MAErC;AACN;AAGM,SAAU,aACd,SACA,QACA,KAAY;AAEZ,MAAI,QAAQ;AACZ,aAAW,QAAQ,QAAQ,cAAc;AACvC,QACG,UAAU,KAAK,SAAS,SAAS,KAAK,OAAO,CAAC,OAC9C,SAAS,KAAK,SAAS,UAAU,KAAK,OAAO,KAC9C;AACA,aAAO,EAAE,KAAK,KAAK,KAAK,OAAO,IAAG;IACpC;AACA,QAAI,KAAK,OAAO;AAAQ,eAAS,KAAK,SAAS,KAAK,MAAM,KAAK;EACjE;AACA,QAAM,QAAQ,SAAS,MAAM,OAAO,WAAW,QAAQ,KAAK;AAC5D,SAAO,EAAE,KAAK,SAAS,SAAS,QAAQ,IAAI,IAAI,MAAK;AACvD;AAEM,SAAU,aACd,SACA,KACA,OAAc;AAEd,MAAI,QAAQ;AACZ,aAAW,QAAQ,QAAQ,cAAc;AACvC,QAAI,OAAO,KAAK,OAAO,MAAM,KAAK,MAAM,KAAK;AAC3C,aAAO,QAAQ,KAAK,MAAM,KAAK;AACjC,QAAI,KAAK,MAAM;AAAK,eAAS,KAAK,MAAM,KAAK,QAAQ,KAAK;EAC5D;AACA,SAAO,MAAM,SAAS,QAAQ,IAAI;AACpC;AAEM,SAAU,UACd,SACA,QAAc;AAEd,QAAM,SAAS,QAAQ,cAAc;IACnC;IACA;;EAAiB;AAEnB,MAAI;AACJ,SAAQ,OAAO,OAAO,SAAQ,GAAK;AACjC,UAAM,SAAS,KAAK,aAAa,UAAU;AAC3C,QAAI,UAAU;AAAQ,aAAO,CAAC,MAAM,MAAM;AAC1C,cAAU;EACZ;AACA,SAAO;AACT;;;AC7KO,IAAM,qBAAqB;AAC3B,IAAM,qBAAqB,OAAO;AAWzC,IAAM,kBAAkB,IAAI,IAAI,2BAAuB;AAGjD,SAAU,eACd,MACA,UACA,MAAmB;AAEnB,QAAM,UAAU,KAAK,mBAAkB;AACvC,QAAM,QAAQ,UAAU,KAAK,QAAO;AACpC,QAAM,OAAO,KAAK,QAAO;AACzB,QAAM,QAAkB,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,KAAK,OAAO,EAAC;AAC7D,MACE,CAAC,OAAO,UAAU,SAAS,GAAG,KAC9B,CAAC,OAAO,UAAU,SAAS,GAAG,KAC9B,SAAS,MAAM,KACf,SAAS,OAAO,SAChB,SAAS,MAAM,KACf,SAAS,OAAO;AAEhB,WAAO;AACT,QAAM,OAAO,CAAC,MACZ,EAAE,MAAM,UACJ,EAAE,MAAM,KAAK,qBAAqB,UAAU,EAAE,MAAM,CAAC,IACnD,KAAK,kBAAkB,UAAU,EAAE,MAAM,GAAG,EAAE,GAAG,IACjD,QACF,KAAK,QAAQ,EAAE,MAAM,SAAS,EAAE,GAAG;AACzC,QAAM,WAAW,CAAC,QAChB,MAAM,UACF,KAAK,qBAAqB,UAAU,MAAM,CAAC,KAAK,OAC9C,KAAK,2BAA2B,UAAU,MAAM,CAAC,IACjD,OACF,KAAK,iBAAiB,MAAM,OAAO;AACzC,QAAM,QAAQ,CAAC,QACb,OAAO,KACP,MAAM,IAAI,SACV,SAAS,GAAG,GAAG,eACf,SAAS,MAAM,CAAC,GAAG;AACrB,QAAM,UAAU,CACd,GACA,cAC2B;AAC3B,UAAM,MAAM,EAAE,MAAM;AACpB,QAAI,OAAO,KAAK,MAAM;AAAM,aAAO,EAAE,KAAK,EAAE,KAAK,IAAG;AACpD,UAAM,MAAM,EAAE,MAAM;AACpB,QAAI,CAAC,MAAM,KAAK,IAAI,KAAK,EAAE,GAAG,CAAC;AAAG,aAAO;AACzC,WAAO,EAAE,KAAK,KAAK,cAAc,IAAI,IAAI,OAAO,EAAC;EACnD;AACA,MAAI,SAAS,EAAE,GAAG,SAAQ;AAG1B,MAAI,KAAK,MAAM,EAAE;AAAY,WAAO;AACpC,MAAI,KAAK,MAAM,EAAE,UAAU,KAAK,OAAO,MAAM;AAAG,WAAO;AACvD,QAAM,OAAO,CAAC,MAAuB;AACnC,UAAM,QAAQ,KAAK,CAAC;AACpB,WAAO,MAAM,SAAS,OAAO,cAAc,MAAM,QAAQ,EAAE;EAC7D;AACA,QAAM,WAAW,CAACC,UAChB,gBAAgB,IAAI,OAAO,cAAcA,MAAK,YAAY,CAAC,KAAK,EAAE,CAAC;AACrE,QAAM,WAAW,SAAS,KAAK,MAAM,CAAC;AACtC,MAAI,SAAS,KAAK,MAAM,EAAE;AAC1B,MAAI,QAAQ;AACZ,MAAI,WAAW,SAAS;AACxB,MAAI,QAAQ,QACV,MAAM;AACR,QAAM,SAAS,CAAC,cAAqB;AACnC,QAAI,UAAU;AACd,QAAI,WAAW;AACf,WAAO,MAAM;AACX,YAAM,OAAO,QAAQ,SAAS,SAAS;AACvC,UAAI,CAAC;AAAM,eAAO;AAClB,UAAI,EAAE,QAAQ,IAAI,oBAAoB;AACpC,mBAAW;AACX,eAAO;MACT;AACA,YAAM,QAAQ,KAAK,IAAI;AACvB,UAAI,MAAM,UAAU,KAAK,CAAC,MAAM,YAAY;AAC1C,cAAM,QAAQ,MAAM,SAAS,OAAO,cAAc,MAAM,QAAQ,EAAE;AAClE,YAAI,SAAS,UAAU,SAAS,KAAK,MAAM;AAAU,iBAAO;AAC5D,kBAAU,MAAM;AAChB,mBAAW;MACb;AACA,YAAM,QAAQ,cAAc,KAAK,KAAK,MAAM,MAAM;AAClD,YAAM,OAAO,cAAc,IAAI,KAAK,MAAM,OAAO;AACjD,UAAI,OAAO,SAAS,sBAAsB,SAAS,oBAAoB;AACrE,mBAAW;AACX,eAAO;MACT;AACA,gBAAU;IACZ;EACF;AACA,UAAQ,OAAO,EAAE;AACjB,MAAI,CAAC;AAAU,UAAM,OAAO,CAAC;AAC7B,SAAO,WAAW,OAAO,EAAE,OAAO,IAAG;AACvC;;;ACzGA,IAAM,sBAAsB;AAQtB,SAAU,mBACd,MACA,OACA,KAAqB;AAErB,QAAM,UAAU,KAAK,mBAAkB;AACvC,QAAM,QAAQ,UAAU,KAAK,QAAO;AACpC,QAAM,OAAO,KAAK,QAAO;AACzB,aAAW,SAAS,CAAC,OAAO,GAAG,GAAG;AAChC,QACE,CAAC,OAAO,UAAU,MAAM,GAAG,KAC3B,CAAC,OAAO,UAAU,MAAM,GAAG,KAC3B,MAAM,MAAM,KACZ,MAAM,OAAO,SACb,MAAM,MAAM,KACZ,MAAM,OAAO;AAEb,aAAO;EACX;AACA,QAAM,MAAM,KAAK,IAAI,MAAM,KAAK,IAAI,GAAG,GACrC,SAAS,KAAK,IAAI,MAAM,KAAK,IAAI,GAAG;AACtC,QAAM,OAAO,KAAK,IAAI,MAAM,KAAK,IAAI,GAAG,GACtC,QAAQ,KAAK,IAAI,MAAM,KAAK,IAAI,GAAG;AACrC,QAAM,QAAQ,SAAS,MAAM;AAC7B,MACE,QAAQ,sBACR,SAAS,QAAQ,OAAO,KAAK;AAE7B,WAAO;AACT,QAAM,OAAmC,CAAA;AACzC,QAAM,OAAiB,CAAA;AACvB,MAAI,SAAS,QAAQ;AACrB,WAAS,MAAM,KAAK,OAAO,QAAQ,OAAO;AACxC,UAAM,SAAS,UAAU,MAAM;AAC/B,UAAM,QAAQ,MAAM,UAAU,KAAK,qBAAqB,MAAM,IAAI;AAClE,UAAM,OAAO,CAAC,QACZ,OAAO,QACH,OACA,MAAM,UACJ,KAAK,kBAAkB,QAAQ,GAAG,IAClC,KAAK,QAAQ,MAAM,SAAS,GAAG;AACvC,QAAI,QAAQ;AACZ,QAAI,QAAQ,KAAK,KAAK,KAAK,GAAG,UAAU,KAAK,KAAK,QAAQ,CAAC,GAAG,UAAU;AACtE;AACF,QAAI,OAAO,QAAQ;AACnB,QAAI,OAAO;AACX,aAAS,MAAM,OAAO,OAAO,OAAO,OAAO;AACzC,YAAM,QAAQ,KAAK,GAAG;AACtB,UAAI,OAAO,UAAU,KAAK,OAAO;AAAY;AAC7C,YAAM,QAAQ,OAAO,SAAS,OAAO,cAAc,OAAO,QAAQ,EAAE;AACpE,gBAAU,MAAM;AAChB,UAAI,SAAS;AAAoB,eAAO;AACxC,cAAQ;AACR,aAAO,KAAK,IAAI,MAAM,KAAK,IAAI,MAAM,OAAO,OAAO,SAAS,EAAE,CAAC;IACjE;AACA,SAAK,KAAK,EAAE,KAAK,MAAM,OAAO,OAAO,KAAI,CAAE;AAC3C,SAAK,KAAK,IAAI;EAChB;AACA,SAAO,EAAE,MAAM,MAAM,KAAK,KAAK,IAAI,EAAC;AACtC;;;ACtDO,IAAM,6BAA6B;AASpC,IAAO,mBAAP,MAAuB;EAU3B,YAAoB,UAAqB;AAArB,SAAA,WAAA;AATZ,SAAA,UAMG;AACH,SAAA,UAAU;EAE0B;EAEpC,UAAO;AACb,UAAM,YAAY,KAAK,SAAS,cAAc,aAAY;AAC1D,UAAM,SAAS,KAAK,SAAS;AAC7B,WACE,CAAC,CAAC,aACF,CAAC,CAAC,UACF,UAAU,eAAe,OAAO,cAChC,UAAU,iBAAiB,OAAO,gBAClC,UAAU,cAAc,OAAO,aAC/B,UAAU,gBAAgB,OAAO;EAErC;EAEA,QAAQ,MAAoB,MAA2B;AACrD,UAAM,SAAS,KAAK,SAAS,cAAc;AAC3C,QACE,WACC,OAAO,YAAY,WAAW,OAAO,YAAY,aAClD;AACA,YAAM,QAAQ;AACd,UAAI,MAAM,mBAAmB,MAAM,cAAc;AAC/C,aAAK,QAAO;AACZ;MACF;IACF;AACA,QAAI,KAAK,WAAW,KAAK,QAAO;AAAI;AACpC,SAAK,QAAO;AAGZ,QAAI,CAAC,KAAK,WAAW,CAAC,KAAK;AAAe;AAC1C,UAAM,QAAQ,cAAc,KAAK,UAAU,IAAI;AAC/C,QACE,CAAC,SACD,CAAC,MAAM,KAAK,UACZ,MAAM,KAAK,IAAI,MAAM,MAAM,MAAM,IAAI,OAAO,8BAC5C,MAAM,KAAK,SAAS;AAEpB;AACF,UAAM,QAAQ,aACZ,MAAM,MAAM,IAAI,SAChB,MAAM,MAAM,QACZ,KAAK;AAEP,UAAM,MAAM,aAAa,MAAM,KAAK,IAAI,SAAS,MAAM,KAAK,QAAQ,IAAI;AACxE,UAAM,IAAI,KAAK,cAAc,EAAE,KAAK,MAAM,MAAM,IAAI,KAAK,KAAK,MAAM,IAAG,CAAE;AACzE,QAAI,CAAC;AAAG;AACR,UAAM,IAAI,KAAK,cAAc,EAAE,KAAK,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI,IAAG,CAAE;AACtE,QAAI,CAAC,GAAG;AACN,QAAE,QAAO;AACT;IACF;AACA,UAAM,YAAY,KAAK,SAAS,cAAc,aAAY;AAC1D,SAAK,UAAU;MACb,OAAO,EAAE,KAAK,GAAG,OAAO,MAAM,MAAK;MACnC,KAAK,EAAE,KAAK,GAAG,OAAO,IAAI,MAAK;MAC/B,MAAM,MAAM;MACZ,UAAU,MAAM;MAChB,QAAQ,KAAK,SAAS,SAAS;;EAEnC;EAEA,eAAe,MAAoB,MAA2B;AAC5D,SAAK,QAAQ,MAAM,IAAI;AACvB,SAAK,UAAU;EACjB;EAEA,aACE,MACA,MAA2B;AAE3B,SAAK,QAAQ,MAAM,IAAI;AACvB,UAAM,QAAQ,KAAK,SAAS,MAAM,IAAI,QAAO;AAC7C,UAAM,MAAM,KAAK,SAAS,IAAI,IAAI,QAAO;AACzC,QACE,CAAC,SACD,CAAC,OACD,IAAI,MAAM,MAAM,OACf,IAAI,QAAQ,MAAM,OAAO,IAAI,MAAM,MAAM,OAC1C,IAAI,MAAM,MAAM,OAAO,4BACvB;AACA,WAAK,MAAK;AACV,aAAO;IACT;AACA,WAAO,EAAE,OAAO,IAAG;EACrB;EAEA,YACE,MACA,WAAoE;AAEpE,SAAK,UAAU;AACf,UAAM,UAAU,KAAK;AACrB,QAAI,CAAC,WAAW,CAAC;AAAW;AAC5B,UAAM,UAAU,MAAM,KAAK,IAAI;AAC/B,UAAM,OAAO,CAAC,UAA4B,UAAkB;AAC1D,YAAM,MAAM,QAAQ,KAAK,CAACC,SAAQA,KAAI,QAAQ,SAAS,GAAG;AAC1D,aACE,OACA,UAAU,IAAI,SAAS,aAAa,IAAI,SAAS,SAAS,KAAK,KAAK,CAAC;IAEzE;AACA,UAAM,QAAQ,KAAK,UAAU,OAAO,QAAQ,MAAM,KAAK;AACvD,UAAM,MAAM,KAAK,UAAU,KAAK,QAAQ,IAAI,KAAK;AACjD,UAAM,YAAY,KAAK,SAAS,cAAc,aAAY;AAC1D,QAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW;AAChC,WAAK,MAAK;AACV;IACF;AACA,UAAM,SAAS,QAAQ,WAAW,MAAM;AACxC,UAAM,QAAQ,QAAQ,WAAW,QAAQ;AACzC,QACE,UAAU,eAAe,OAAO,CAAC,KACjC,UAAU,iBAAiB,OAAO,CAAC,KACnC,UAAU,cAAc,MAAM,CAAC,KAC/B,UAAU,gBAAgB,MAAM,CAAC,GACjC;AACA,gBAAU,iBAAiB,GAAG,QAAQ,GAAG,KAAK;IAChD;AACA,YAAQ,SAAS,KAAK,SAAS,SAAS;AAGxC,QAAI,cAAc,KAAK,UAAU,OAAO,GAAG,SAAS,QAAQ;AAC1D,WAAK,MAAK;EACd;EAEQ,SAAS,WAAoB;AACnC,WAAO;MACL,YAAY,UAAU;MACtB,cAAc,UAAU;MACxB,WAAW,UAAU;MACrB,aAAa,UAAU;;EAE3B;EAEQ,QAAK;AACX,QAAI,KAAK,WAAW,KAAK,QAAO;AAC9B,WAAK,SAAS,cAAc,aAAY,GAAI,gBAAe;AAC7D,SAAK,QAAO;EACd;EAEA,UAAO;AACL,SAAK,SAAS,MAAM,IAAI,QAAO;AAC/B,SAAK,SAAS,IAAI,IAAI,QAAO;AAC7B,SAAK,UAAU;EACjB;;;;ACjKF,IAAM,gBAAgB;AACtB,IAAM,iBAAiB;AACvB,IAAM,iBAAiB;AACvB,IAAM,YAAY;AAClB,IAAM,WAAW;AACjB,IAAM,cAAc;AACpB,IAAM,iBAAiB;AACvB,IAAM,eAAe;AACrB,IAAM,iBAAiB;AACvB,IAAM,qBAAqB;AAC3B,IAAM,mCAAmC;AAYzC,SAAS,SAAS,QAAc;AAC9B,QAAM,IAAK,UAAU,KAAM;AAC3B,QAAM,IAAK,UAAU,IAAK;AAC1B,QAAM,IAAI,SAAS;AACnB,SAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3B;AAEA,SAAS,WAAW,OAAa;AAC/B,MAAI,UAAU;AAAe,WAAO;AACpC,MAAI,QAAQ;AAAI,WAAO,oBAAoB,KAAK;AAChD,MAAI,QAAQ,KAAK;AACf,UAAM,IAAI,QAAQ;AAClB,UAAM,IAAI,KAAK,MAAM,IAAI,EAAE,IAAI;AAC/B,UAAM,IAAK,KAAK,MAAM,IAAI,CAAC,IAAI,IAAK;AACpC,UAAM,IAAK,IAAI,IAAK;AACpB,WAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;EAC3B;AACA,QAAM,SAAS,QAAQ,OAAO,KAAK;AACnC,SAAO,OAAO,KAAK,IAAI,KAAK,IAAI,KAAK;AACvC;AAEA,SAAS,UAAU,IAAY,OAAyB;AACtD,MAAI,UAAU;AAAW,WAAO,SAAS,KAAK;AAC9C,SAAO,WAAW,EAAE;AACtB;AAEA,SAAS,UAAU,IAAY,OAAyB;AACtD,MAAI,UAAU;AAAW,WAAO,SAAS,KAAK;AAC9C,SAAO,WAAW,EAAE;AACtB;AAEA,SAAS,eAAe,EACtB,IACA,IACA,OACA,OACA,OACA,gBACA,aAAY,GACH;AACT,MAAI,QAAQ,UAAU,IAAI,KAAK;AAC/B,MAAI,QAAQ,UAAU,IAAI,KAAK;AAC/B,MAAI,QAAQ,cAAc;AACxB,KAAC,OAAO,KAAK,IAAI,CAAC,SAAS,gBAAgB,SAAS,cAAc;EACpE;AAEA,MAAI,QAAQ;AACZ,MAAI;AAAO,aAAS,SAAS,KAAK;AAClC,MAAI;AAAO,aAAS,cAAc,KAAK;AACvC,MAAI,QAAQ;AAAW,aAAS;AAChC,MAAI,QAAQ;AAAU,aAAS;AAC/B,MAAI,QAAQ;AAAa,aAAS;AAElC,QAAM,cAAwB,CAAA;AAC9B,QAAM,YACJ,mBAAmB,QAAQ,iBAAiB,WAAW;AACzD,MAAI,cAAc;AAAQ,gBAAY,KAAK,WAAW;AACtD,MAAI,QAAQ;AAAoB,gBAAY,KAAK,cAAc;AAC/D,MAAI,YAAY;AAAQ,aAAS,mBAAmB,YAAY,KAAK,GAAG,CAAC;AACzE,MAAI,cAAc,QAAQ;AACxB,UAAM,WACJ,cAAc,UACV,SACA,cAAc,YACZ,cAAc,YACd,cAAc,WACd,YACA;AACR,aAAS,yBAAyB,QAAQ;AAC1C,QAAI,iBAAiB;AACnB,eAAS,yBAAyB,SAAS,YAAY,CAAC;EAC5D;AAEA,MAAI,QAAQ;AAAgB,aAAS;AACrC,SAAO;AACT;AAMA,SAAS,gBAAgB,OAAa;AACpC,SAAO,MACJ,QAAQ,gBAAgB,mBAAmB,EAC3C,QAAQ,qBAAqB,mBAAmB;AACrD;AAEA,SAAS,YAAY,SAAe;AAClC,SAAO,YAAY,IAAI,KAAK,oBAAoB,OAAO;AACzD;AASA,SAAS,WAAW,MAAY;AAC9B,SAAO,KACJ,QAAQ,MAAM,OAAO,EACrB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,QAAQ;AAC3B;AAYA,SAAS,aAAa,WAAmB,OAAe,MAAY;AAClE,MAAI,UAAU,WAAW,IAAI;AAC7B,QAAM,OAAO,CAAC,MAAM,SAAS,yCAAyC;AACtE,MAAI,CAAC,MAAM;AACT,YAAQ,MAAM,QACZ,2CACA,4BAA4B;AAE9B,cAAU,kEAAkE,OAAO;EACrF;AACA,QAAM,YAAY,YAAY,WAAW,SAAS,MAAM;AACxD,QAAM,YAAY,QAAQ,WAAW,KAAK,MAAM;AAChD,QAAM,UAAU,QAAQ,SAAS,GAAG,SAAS;AAC7C,SAAO;IACL,MAAM,GAAG,OAAO,GAAG,OAAO;IAC1B,SAAS,OAAO,UAAU;IAC1B,MAAM,OAAO,OAAO;;AAExB;AAEA,SAAS,aAAa,KAAuB;AAC3C,MAAI,CAAC;AAAK,WAAO;AACjB,MAAI;AACF,UAAM,MAAM,IAAI,IAAI,GAAG;AACvB,WAAO,IAAI,aAAa,WAAW,IAAI,aAAa,WAChD,IAAI,OACJ;EACN,QAAQ;AACN,WAAO;EACT;AACF;AAEA,SAAS,aAAa,MAAc;AAClC,MAAI,CAAC,KAAK;AAAS,WAAO;AAC1B,SAAO,KAAK,WAAW,aAAa,KAAK,UAAU,EAAE,KAAK,KAAK,OAAO;AACxE;AAEA,SAAS,cACP,IACA,IACA,OACA,OACA,OAAc;AAEd,QAAM,aAAa,UAAU,IAAI,KAAK,KAAK;AAC3C,QAAM,aAAa,UAAU,IAAI,KAAK,KAAK;AAC3C,SAAO,QAAQ,eACX,EAAE,IAAI,YAAY,IAAI,WAAU,IAChC,EAAE,IAAI,YAAY,IAAI,WAAU;AACtC;AAQA,IAAM,WAAW;AACjB,IAAM,WAAW;AACjB,IAAM,WAAW;AACjB,IAAM,WAAW;AACjB,IAAM,WAAW;AACjB,IAAM,WAAW;AACjB,IAAM,WAAW;AAEjB,SAAS,mBAAmB,IAAY,IAAY,IAAU;AAC5D,UAAQ,IAAI;IACV,KAAK;AACH,aAAO,mBAAmB,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ;IAC5D,KAAK;AACH,aAAO,mBAAmB,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ;IAC5D,KAAK;AACH,aAAO,mBAAmB,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ;IAC5D,KAAK;AACH,aAAO,mBAAmB,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ;IAC5D,KAAK;AACH,aAAO,mBAAmB,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ;IAC5D,KAAK;AACH,aAAO,mBAAmB,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ;IAC5D,KAAK;AACH,aAAO,mBAAmB,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ;IAC5D,KAAK;AACH,aAAO,mBAAmB,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ;IAC5D,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO,4BAA4B,EAAE,UAAU,EAAE;IACnD,KAAK;AACH,aAAO,4BAA4B,EAAE,QAAQ,EAAE;IACjD,KAAK;AACH,aAAO,4BAA4B,EAAE,UAAU,EAAE;IACnD,KAAK;AACH,aAAO,4BAA4B,EAAE,QAAQ,EAAE;IACjD,KAAK;AACH,aAAO,4BAA4B,EAAE,UAAU,EAAE;IACnD,KAAK;AACH,aAAO,4BAA4B,EAAE,QAAQ,EAAE;IACjD,KAAK;AACH,aAAO,4BAA4B,EAAE,UAAU,EAAE;IACnD,KAAK;AACH,aAAO,4BAA4B,EAAE,QAAQ,EAAE;IACjD,KAAK;AACH,aAAO,qBAAqB,EAAE,QAAQ,EAAE;IAC1C,KAAK;AACH,aAAO,qBAAqB,EAAE,QAAQ,EAAE;IAC1C,KAAK;AACH,aAAO,qBAAqB,EAAE,QAAQ,EAAE;IAC1C,KAAK;AACH,aAAO,mBAAmB,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ;IAC5D,KAAK;AACH,aAAO,4BAA4B,EAAE,UAAU,EAAE;IACnD,SAAS;AACP,YAAM,YAAkE;QACtE,MAAQ,CAAC,OAAO,OAAO,MAAM,KAAK;QAClC,MAAQ,CAAC,OAAO,OAAO,OAAO,IAAI;QAClC,MAAQ,CAAC,MAAM,OAAO,OAAO,KAAK;QAClC,MAAQ,CAAC,MAAM,OAAO,MAAM,IAAI;QAChC,MAAQ,CAAC,MAAM,OAAO,OAAO,IAAI;QACjC,MAAQ,CAAC,MAAM,MAAM,MAAM,KAAK;QAChC,MAAQ,CAAC,MAAM,MAAM,OAAO,IAAI;QAChC,MAAQ,CAAC,OAAO,MAAM,OAAO,KAAK;QAClC,MAAQ,CAAC,OAAO,MAAM,MAAM,KAAK;QACjC,MAAQ,CAAC,OAAO,MAAM,MAAM,IAAI;;AAElC,YAAM,IAAI,UAAU,EAAE;AACtB,UAAI,CAAC;AAAG,eAAO;AACf,YAAM,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI;AACzB,UAAI,MAAM,MAAM,MAAM;AAAI,eAAO;AACjC,YAAM,SAAmB,CAAA;AACzB,YAAM,MAAM,CAAC,OAAO,UAAU,UAAU,WAAW;AACnD,QAAE,QAAQ,CAAC,QAAQ,MAAK;AACtB,YAAI;AACF,iBAAO,KACL,mBAAmB,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,oBAAoB;MAEhE,CAAC;AACD,aAAO,KAAK,EAAE;AACd,aAAO,OAAO,KAAK,GAAG;IACxB;EACF;AACF;AAIA,IAAM,iBAAyC;EAC7C,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;;AAEV,IAAM,iBAAyC;EAC7C,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;;AAEV,IAAM,sBAA8C;EAClD,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;EACR,MAAQ;;;AAIV,IAAM,aAAuC,CAAA;AAE7C,SAAS,aACP,YACA,WAAiB;AAEjB,QAAM,SAAS;AACf,QAAM,iBAAiB,cAAc,MAAM;AAC3C,QAAM,mBAAmB,cAAc,MAAM;AAC7C,aAAW,CAAC,WAAW,IAAI,KAAK,OAAO,QAAQ,UAAU,GAAG;AAC1D,UAAM,WAA+C,CAAA;AACrD,QAAI,KAAK,SAAS,GAAG,KAAK,KAAK,SAAS,GAAG,GAAG;AAC5C,eAAS,KAAK,CAAC,iBAAiB,GAAG,MAAM,OAAO,CAAC;IACnD,OAAO;AACL,UAAI,KAAK,SAAS,GAAG;AACnB,iBAAS,KAAK,CAAC,cAAc,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;AAC7D,UAAI,KAAK,SAAS,GAAG;AACnB,iBAAS,KAAK,CAAC,iBAAiB,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;IAClE;AACA,QAAI,KAAK,SAAS,GAAG,KAAK,KAAK,SAAS,GAAG,GAAG;AAC5C,eAAS,KAAK,CAAC,iBAAiB,QAAQ,MAAM,EAAE,CAAC;IACnD,OAAO;AACL,UAAI,KAAK,SAAS,GAAG;AACnB,iBAAS,KAAK,CAAC,eAAe,GAAG,gBAAgB,IAAI,MAAM,EAAE,CAAC;AAChE,UAAI,KAAK,SAAS,GAAG;AACnB,iBAAS,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,MAAM,EAAE,CAAC;IACnE;AACA,eAAW,OAAO,SAAS,CAAC,IAAI;MAC9B;MACA,OAAO,oBAAoB,SAAS,IAAI,MAAM,4CAA4C,EAAE,KAAK,GAAG,CAAC,wBAAwB,SAAS,IAAI,CAAC,CAAC,QAAQ,MAAM,QAAQ,EAAE,KAAK,GAAG,CAAC,oBAAoB,SAAS,IAAI,CAAC,CAAC,EAAE,IAAI,MAAM,IAAI,EAAE,KAAK,GAAG,CAAC;;EAE/O;AACF;AAEA,aAAa,gBAAgB,UAAU;AACvC,aAAa,gBAAgB,yBAAyB;AACtD,WAAW,CAAC,WAAW,MAAM,KAAK,OAAO,QAAQ,mBAAmB,GAAG;AACrE,aAAW,OAAO,SAAS,CAAC,IAAI;IAC9B,WAAW,0CAA0C,MAAM;IAC3D,OAAO;;AAEX;AAEM,IAAO,WAAP,MAAe;EA+BnB,IAAI,eAAY;AACd,WACE,KAAK,UAAU,eAAe,UAAU,SAAS,gBAAgB,KACjE;EAEJ;EAEA,YACE,WACA,UAA8D,CAAA,GAAE;AAtC1D,SAAA,OAAO;AACP,SAAA,OAAO;AAEP,SAAA,SAA2B,CAAA;AAC3B,SAAA,gBAAgB;AAChB,SAAA,gBAAgB;AAChB,SAAA,oBAAoB;AACpB,SAAA,YAAsB,CAAA;AAEtB,SAAA,oBAAsC,CAAA;AACtC,SAAA,kBAA4B,CAAA;AAC5B,SAAA,uBAAuB;AACvB,SAAA,wBAA0C,CAAA;AAC1C,SAAA,2BAA2B;AAC3B,SAAA,0BAA0B;AAC1B,SAAA,uBAA8C;AAC9C,SAAA,0BAAiD;AAGjD,SAAA,UAAU,oBAAI,QAAO;AACrB,SAAA,WAAW,oBAAI,QAAO;AACtB,SAAA,gBAAgB,oBAAI,QAAO;AAC3B,SAAA,YAAqC;AACrC,SAAA,aAAa;AACb,SAAA,gBAAgB;AAChB,SAAA,UAAU;AAehB,SAAK,YAAY;AACjB,SAAK,YAAY,QAAQ,aAAa;AACtC,SAAK,WAAW,IAAI,cAAc,WAAW,OAAO;AACpD,SAAK,cAAc,SAAS,cAAc,KAAK;AAC/C,SAAK,YAAY,YAAY;AAC7B,SAAK,YAAY,aAAa,eAAe,MAAM;EACrD;EAEA,MAAM,MAAc,MAAY;AAC9B,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,UAAU,YAAY;AAC3B,SAAK,UAAU,oBAAI,QAAO;AAC1B,SAAK,WAAW,oBAAI,QAAO;AAC3B,SAAK,gBAAgB,oBAAI,QAAO;AAChC,SAAK,SAAS,CAAA;AACd,SAAK,YAAY,CAAA;AACjB,SAAK,oBAAoB,CAAA;AACzB,SAAK,kBAAkB,CAAA;AACvB,SAAK,wBAAwB,CAAA;AAC7B,SAAK,2BAA2B;AAChC,SAAK,0BAA0B;AAE/B,UAAM,WAAW,SAAS,uBAAsB;AAChD,SAAK,uBAAuB,SAAS,cAAc,KAAK;AACxD,SAAK,qBAAqB,YAAY;AACtC,aAAS,YAAY,KAAK,oBAAoB;AAE9C,SAAK,0BAA0B,SAAS,cAAc,KAAK;AAC3D,SAAK,wBAAwB,YAAY;AACzC,aAAS,YAAY,KAAK,uBAAuB;AAEjD,aAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,YAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,YAAM,YAAY;AAClB,eAAS,YAAY,KAAK;AAC1B,WAAK,OAAO,KAAK,KAAK;IACxB;AACA,SAAK,UAAU,YAAY,QAAQ;AACnC,SAAK,YAAY,gBAAe;AAChC,SAAK,UAAU,YAAY,KAAK,WAAW;AAC3C,SAAK,SAAS,MAAK;AACnB,SAAK,gBAAgB;AACrB,SAAK,gBAAgB;EACvB;EAEQ,iBACN,OACA,SACA,SACA,WACA,UAAgB;AAIhB,UAAM,QAAmB,CAAA;AACzB,QAAI,WAAW;AACf,UAAM,UAA2B;MAC/B,MAAM;MACN,cAAc,CAAA;MACd,UAAU;;AAEZ,UAAM,aAAa,CAAC,MAAc,KAAa,QAAQ,GAAG,OAAO,UAAS;AACxE,YAAM,QAAQ,QAAQ,KAAK;AAC3B,cAAQ,QAAQ;AAChB,UAAI,KAAK,WAAW,SAAS,QAAQ,KAAK,MAAM;AAC9C,gBAAQ,aAAa,KAAK;UACxB;UACA,KAAK,QAAQ,KAAK;UAClB;UACA;UACA;SACD;MACH;IACF;AACA,QAAI,WAAW;AACf,QAAI,UAAU;AACd,QAAI,WAAqB,CAAA;AACzB,QAAI,WAAW;AACf,QAAI,aAAa;AACjB,QAAI;AACJ,QAAI,gBAAgB;AACpB,QAAI;AACJ,QAAI,oBAAoB,WAAW,KAAK;AAExC,UAAM,gBAAgB,CACpBC,UACA,SACA,QACE;AACF,YAAM,OAAO,aAAa,GAAG;AAC7B,YAAM,cAAc,OAAO,UAAU;AACrC,UAAI,gBAAgB,eAAe;AACjC,YAAI;AAAe,gBAAM,KAAK,EAAE,MAAM,WAAW,OAAM,CAAE;AACzD,YAAI,aAAa;AACf,qBAAW,8BAA8B,WAAW,IAAK,CAAC;QAC5D;AACA,wBAAgB;MAClB;AACA,UAAI;AAAe,oBAAYA,SAAQ;;AAClC,cAAM,KAAKA,QAAO;IACzB;AAEA,UAAM,WAAW,CAAC,WAAkB;AAClC,UAAI,CAAC;AAAS;AACd,YAAM,SAAS,CAAC,WAAmB,OAAe,SAChD,cACE,aAAa,WAAW,OAAO,IAAI,GACnC,YACA,UAAU;AAGd,UAAI,aAAa,YAAY,YAAY,QAAQ;AAC/C,cAAM,SAAS,YAAY;AAC3B,cAAM,SAAS,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE;AAChD,cAAM,aAAa,SAAS,MAAM,KAAK;AACvC,cAAM,QAAQ,SAAS,MAAM,SAAS,CAAC,EAAE,KAAK,EAAE;AAEhD,YAAI,QAAQ;AACV,gBAAM,QAAQ,YAAY,MAAM,IAAI;AACpC,iBAAO,IAAI,OAAO,MAAM;QAC1B;AACA,cAAM,cAAc,gBAAgB,QAAQ;AAC5C,eAAO,eAAe,aAAa,UAAU;AAC7C,YAAI,OAAO;AACT,gBAAM,QAAQ,YAAY,SAAS,SAAS,SAAS,CAAC,IAAI;AAC1D,iBAAO,IAAI,OAAO,KAAK;QACzB;MACF,OAAO;AACL,cAAM,QAAQ,YAAY,SAAS,MAAM,IAAI;AAC7C,eAAO,IAAI,OAAO,OAAO;MAC3B;AACA,gBAAU;AACV,iBAAW,CAAA;IACb;AAEA,UAAM,mBAAmB,CACvB,WACA,OACA,MACA,SACA,YACE;AACF,oBAAc,aAAa,WAAW,OAAO,IAAI,GAAG,SAAS,OAAO;IACtE;AAEA,aAAS,MAAM,GAAG,MAAM,KAAK,MAAM,OAAO;AACxC,YAAM,OAAO,QAAQ,GAAG;AACxB,YAAM,WAAW,MAAM;AACvB,YAAM,KAAK,WAAW,KAAK,OAAO;AAClC,YAAM,QAAQ,WAAY,KAAK,SAAS,IAAK;AAC7C,YAAM,cAAc,WAAW,aAAa,IAAI,IAAI;AACpD,YAAM,cAAc,WAAW,KAAK,UAAU;AAK9C,YAAM,gBACJ,YACA,UAAU,KACV,MAAM,MACL,QAAQ,MAAM,CAAC,EAAE,SAAS,OAAO;AACpC,UAAI,qBAAqB,CAAC,eAAe;AACvC,cAAM,KAAK,cACT,KAAK,IACL,KAAK,IACL,KAAK,OACL,KAAK,OACL,KAAK,KAAK,EACV;AACF,YACE,KAAK,SAAS,WAAW,mBACxB,kBAAkB,UAAa,kBAAkB,IAClD;AACA,8BAAoB;QACtB,OAAO;AACL,0BAAgB;QAClB;MACF;AAEA,UAAI,YAAY,UAAU,GAAG;AAC3B,iBAAS,GAAG;AAKZ,YAAI,CAAC,eAAe;AAClB,qBAAW,KAAK,GAAG;AACnB,gBAAM,QAAQ,eAAe,IAAI;AACjC,gBAAM,SAAS,QAAQ;AACvB,2BACE,SAAS,gBAAgB,IACzB,SAAS,gBAAgB,KAAK,IAAI,OAClC,KACA,aACA,WAAW;QAEf;AACA,mBAAW;AACX,qBAAa;AACb,qBAAa;AACb,kBAAU;AACV,mBAAW,CAAA;AACX,mBAAW,MAAM;AACjB;MACF;AAEA,UAAI,YAAY,UAAU,GAAG;AAC3B,iBAAS,GAAG;AAMZ,YAAI,MAAM,KAAK,KAAK,MAAM;AACxB,qBAAW,KAAK,GAAG;AACnB,gBAAMC,SAAQ,eAAe,IAAI;AACjC,gBAAMC,UAAS,QAAQ;AACvB,2BACEA,UAAS,gBAAgB,IACzBA,UAAS,gBAAgBD,MAAK,IAAIA,QAClC,KACA,aACA,WAAW;AAEb,qBAAW;AACX,uBAAa;AACb,uBAAa;AACb,oBAAU;AACV,qBAAW,CAAA;AACX,qBAAW,MAAM;AACjB;QACF;AAEA,cAAM,KAAK,KAAK,UAAU,MAAM,KAAK,OAAO,cAAc,EAAE,IAAI;AAChE,mBAAW,IAAI,KAAK,CAAC;AACrB,cAAM,QAAQ,eAAe,IAAI;AACjC,cAAM,SAAS,aAAa,OAAO,YAAY,MAAM;AACrD,cAAM,MAAM,SAAS,0BAA0B;AAC/C,yBACE,KACA,SAAS,gBAAgB,KAAK,IAAI,OAClC,IACA,aACA,WAAW;AAGb,mBAAW;AACX,qBAAa;AACb,qBAAa;AACb,kBAAU;AACV,mBAAW,CAAA;AACX,mBAAW,MAAM;AACjB;MACF;AAEA,UAAI,YAAY,MAAM,QAAU,MAAM,MAAQ;AAC5C,iBAAS,GAAG;AACZ,cAAM,KAAK,KAAK,SAAS,OAAO,cAAc,EAAE;AAChD,mBAAW,IAAI,GAAG;AAElB,cAAM,SAAS,cACb,KAAK,IACL,KAAK,IACL,KAAK,OACL,KAAK,OACL,KAAK,KAAK;AAEZ,cAAM,MAAM,QAAQ,YAAY,2BAA2B;AAC3D,cAAM,KAAK,mBAAmB,IAAI,OAAO,IAAI,OAAO,EAAE;AACtD,cAAM,QACJ,eAAe,IAAI,IAAI,SAAS,OAAO,EAAE,eAAe,EAAE;AAC5D,yBACE,KACA,QAAQ,YAAY,gBAAgB,KAAK,IAAI,OAC7C,IACA,aACA,WAAW;AAGb,mBAAW;AACX,qBAAa;AACb,qBAAa;AACb,kBAAU;AACV,mBAAW,CAAA;AACX,mBAAW,MAAM;MACnB,OAAO;AACL,cAAM,KACJ,KAAK,UAAU,YAAY,MAAM,KAAK,OAAO,cAAc,EAAE,IAAI;AACnE,mBAAW,IAAI,KAAK,GAAG,KAAK,eAAe,IAAI;AAC/C,cAAM,QAAQ,WAAW,eAAe,IAAI,IAAI;AAKhD,YAAI,GAAG,WAAW,KAAK,GAAG,WAAW,CAAC,IAAI,KAAM;AAC9C,mBAAS,GAAG;AACZ,gBAAM,SAAS,QAAQ;AACvB,gBAAM,MAAM,WAAW,EAAE;AACzB,gBAAM,WAAW,OAAO,OAAO,OAAO,cAAc,EAAE,IAAI,MAAM;AAChE,cAAI,YAAY,UAAU,aAAa;AACvC,cAAI,YAAY,KAAK,QAAQ;AAAW,yBAAa;AACrD,cAAI;AAAQ,yBAAa,YAAY,iBAAiB;AACtD,2BACE,YACC,SAAS,gBAAgB,KAAK,IAAI,UAAU,UAAU,SAAS,KAChE,IACA,aACA,WAAW;AAEb,qBAAW;AACX,uBAAa;AACb,uBAAa;AACb,qBAAW,MAAM;AACjB;QACF;AAEA,YAAI,UAAU,YAAY,gBAAgB,YAAY;AACpD,mBAAS,GAAG;AACZ,qBAAW;AACX,uBAAa;AACb,uBAAa;AACb,oBAAU;AACV,qBAAW,CAAC,EAAE;AACd,qBAAW;QACb,OAAO;AACL,qBAAW;AACX,mBAAS,KAAK,EAAE;QAClB;MACF;IACF;AACA,aAAS,KAAK,IAAI;AAClB,QAAI;AAAe,YAAM,KAAK,EAAE,MAAM,WAAW,OAAM,CAAE;AAEzD,SAAK,eAAe,OAAO,KAAK;AAChC,SAAK,QAAQ,IAAI,OAAO,OAAO;AAE/B,UAAM,QACJ,qBAAqB,kBAAkB,iBAClC,iBAAiB,KAClB;AACN,QAAI,YAAY,GAAG;AACjB,UAAI,WAAW,KAAK,UAAU,QAAQ,KAAK,KAAK;AAC9C,cAAM,MAAM,aAAa;AACzB,aAAK,UAAU,QAAQ,IAAI;MAC7B;IACF,WAAW,KAAK,cAAc,IAAI,KAAK,MAAM,OAAO;AAClD,YAAM,MAAM,aAAa;AACzB,WAAK,cAAc,IAAI,OAAO,KAAK;IACrC;EACF;EAEQ,eAAe,KAAkB,OAAgB;AACvD,UAAM,WAAW,KAAK,SAAS,IAAI,GAAG;AACtC,QAAI,QAAQ;AACZ,QAAI,SAAS,UAAU,UAAU;AACjC,QAAI,SAAS,MAAM;AACnB,QAAI,UAAU;AACZ,aACE,QAAQ,UACR,QAAQ,UACR,SAAS,KAAK,EAAE,SAAS,MAAM,KAAK,EAAE;AAEtC;AACF,aACE,SAAS,SACT,SAAS,SACT,SAAS,SAAS,CAAC,EAAE,SAAS,MAAM,SAAS,CAAC,EAAE,MAChD;AACA;AACA;MACF;IACF;AACA,QAAI,UAAU,UAAU,UAAU;AAAQ;AAI1C,QAAI,WAAW,aAAa,UAAa,WAAW;AACpD,aAAS,IAAI,OAAO,YAAY,IAAI,QAAQ,KAAK;AAC/C,YAAM,QAAQ,IAAI,WAAW,CAAC;AAC9B,iBACE,MAAM,CAAC,EAAE,YAAY,UACrB,MAAM,CAAC,EAAE,YAAY,SAAU,CAAC,EAAE,WAClC,OAAO,WAAW,WAAW,KAC7B,MAAM,YAAY,aAAa;IACnC;AACA,QAAI,UAAU;AACZ,eAAS,IAAI,OAAO,IAAI,QAAQ,KAAK;AACnC,YAAI,MAAM,CAAC,EAAE,SAAS,SAAU,CAAC,EAAE;AACjC,cAAI,WAAW,CAAC,EAAE,WAAY,YAAY,MAAM,CAAC,EAAE;MACvD;AACA,WAAK,SAAS,IAAI,KAAK,KAAK;AAC5B;IACF;AAEA,UAAM,WAAW,QAAQ,MAAM,SAAS;AACxC,UAAM,WAAW,KAAK,IAAI,SAAS,OAAO,SAAS,KAAK;AAExD,QAAI,WAAW,UAAU;AACvB,UAAI,YAAY,MAAM,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,KAAK,EAAE;IACxD,OAAO;AAGL,YAAM,QAAQ,IAAI,cAAc,YAAW;AAC3C,YAAM,SAAS,KAAK,KAAK;AACzB,YAAM,OAAO,KAAK,MAAM;AACxB,YAAM,eAAc;AACpB,YAAM,OAAO,MACV,MAAM,OAAO,MAAM,EACnB,IAAI,CAAC,SAAS,KAAK,IAAI,EACvB,KAAK,EAAE;AACV,UAAI;AAAM,cAAM,WAAW,MAAM,yBAAyB,IAAI,CAAC;IACjE;AACA,SAAK,SAAS,IAAI,KAAK,KAAK;EAC9B;EAEQ,qBACN,MACA,UACA,OAAqB;AAErB,UAAM,UAAU,KAAK,qBAAqB,QAAQ;AAElD,SAAK,iBACH,OACA,CAAC,QAAQ,KAAK,kBAAkB,UAAU,GAAG,GAC7C,SACA,IACA,EAAE;AAEJ,UAAM,UAAU,KAAK,QAAQ,IAAI,KAAK;AACtC,UAAM,WAAW,KAAK,2BAA2B,QAAQ;AACzD,YAAQ,WACN,YAAY,WAAW,KAAK,OAAO,EAAE,GAAG,SAAQ,IAAK;EACzD;EAEQ,eAAe,MAAoB,UAAyB;AAClE,UAAM,kBAAkB,KAAK,mBAAkB;AAC/C,UAAM,YAAY,UAAU,aAAa;AACzC,UAAM,UAAU,aAAa,UAAa,YAAY;AACtD,UAAM,WAAW,UAAU,gBAAgB;AAC3C,UAAM,oBAAoB,UAAU,6BAA6B;AACjE,UAAM,iBAAiB,UAAU,4BAA4B;AAC7D,UAAM,iBACJ,YAAY,SAAS,eAAe,IAChC,SAAS,eACT,KAAK,OAAO;AAClB,UAAM,eAAe,UACjB,KAAK,MAAM,SAAS,YAAY,SAAS,IACzC;AACJ,UAAM,cAAc,UAChB,KAAK,KAAK,iBAAiB,SAAS,IACpC;AACJ,UAAM,QAAQ,UACV,KAAK,IAAI,GAAG,KAAK,IAAI,iBAAiB,eAAe,QAAQ,CAAC,IAC9D;AACJ,UAAM,MAAM,UACR,KAAK,IACH,OACA,KAAK,IAAI,iBAAiB,eAAe,cAAc,QAAQ,CAAC,IAElE;AACJ,UAAM,YAAY,KAAK,UAAU,cAAc,aAAY;AAC3D,UAAM,uBACJ,cAAc,QACd,CAAC,UAAU,gBACV,KAAK,UAAU,SAAS,UAAU,UAAU,KAC3C,KAAK,UAAU,SAAS,UAAU,SAAS;AAG/C,UAAM,mBACJ,KAAK,WACL,CAAC,KAAK,iBACN,qBACA,oBAAoB,KAAK,4BACzB,mBAAmB,KAAK;AAE1B,UAAM,SAAS,KAAK,gBAAgB,CAAC,KAAK,YAAY;AACtD,UAAM,QACH,KAAK,gBAAgB,KAAK,gBAAgB,SAAS,CAAC,KAAK,aAC1D,iBACA;AACF,UAAM,SAAS,KAAK,KAAK,WAAW,CAAC;AACrC,QACE,WACA,oBACA,CAAC,wBACD,CAAC,UAAU,gBACX,cAAc,KAAK,wBACnB,KAAK,gBAAgB,WAAW,OAAO,SACvC,KAAK,gBAAgB,UAAU,cAAc,IAAI,YACjD,SAAS,KAAK,IAAI,GAAG,KAAK,IAAI,iBAAiB,eAAe,MAAM,CAAC,KACrE,QAAQ,KAAK,IAAI,iBAAiB,eAAe,cAAc,MAAM;AAErE;AACF,UAAM,UAAU,oBAAI,IAAG;AACvB,aAAS,QAAQ,OAAO,QAAQ,KAAK;AAAS,cAAQ,IAAI,KAAK;AAC/D,QACE,CAAC,UAAU,gBACX,wBACA,UAAU,eAAe,GACzB;AACA,YAAM,QAAQ,UAAU,WAAW,CAAC;AACpC,YAAM,WAAW,KAAK,kBAAkB,QAAQ,CAAC,KAAK,MACpD,MAAM,eAAe,GAAG,IACpB,CAAC,KAAK,gBAAgB,CAAC,IAAI,cAAc,IACzC,CAAA,CAAE;AAER,UAAI,SAAS,UAAU,4BAA4B;AACjD,mBAAW,SAAS;AAClB,cAAI,SAAS,KAAK,QAAQ;AAAiB,oBAAQ,IAAI,KAAK;MAChE;IACF;AACA,QAAI,UAAU,cAAc;AAC1B,eACM,QAAQ,KAAK,IAAI,GAAG,SAAS,aAAa,KAAK,GACnD,SAAS,KAAK,IAAI,kBAAkB,GAAG,SAAS,aAAa,GAAG,GAChE;AAEA,gBAAQ,IAAI,KAAK;IACrB;AACA,UAAM,UAAU,MAAM,KAAK,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AACxD,UAAM,OAAO,QAAQ,IAAI,CAAC,UAAU,iBAAiB,KAAK;AAC1D,QACE,oBACA,cAAc,KAAK,wBACnB,KAAK,WAAW,KAAK,gBAAgB,UACrC,KAAK,MAAM,CAAC,KAAK,UAAU,QAAQ,KAAK,gBAAgB,KAAK,CAAC,GAC9D;AACA;IACF;AAEA,UAAM,WAAW,oBAAI,IAAG;AACxB,aAAS,IAAI,GAAG,IAAI,KAAK,kBAAkB,QAAQ,KAAK;AACtD,eAAS,IAAI,KAAK,gBAAgB,CAAC,GAAG,KAAK,kBAAkB,CAAC,CAAC;IACjE;AAEA,UAAM,WAAW,IAAI,IAAI,IAAI;AAC7B,eAAW,CAAC,KAAK,KAAK,KAAK,UAAU;AACnC,UAAI,CAAC,SAAS,IAAI,GAAG;AAAG,cAAM,OAAM;IACtC;AACA,eAAW,UAAU,KAAK;AAAuB,aAAO,OAAM;AAC9D,SAAK,wBAAwB,CAAA;AAE7B,UAAM,WAA6B,CAAA;AACnC,QAAI,cAAc,KAAK,sBAAsB,eAAe;AAC5D,QAAI,iBAAiB,QAAQ,CAAC,KAAK,mBAAmB;AACtD,eAAW,SAAS,SAAS;AAC3B,UAAI,QAAQ,gBAAgB,GAAG;AAC7B,cAAM,SAAS,SAAS,cAAc,KAAK;AAC3C,eAAO,YAAY;AACnB,eAAO,MAAM,SAAS,IAAI,QAAQ,gBAAgB,KAAK,SAAS;AAChE,aAAK,UAAU,aACb,QACA,eAAe,KAAK,uBAAuB;AAE7C,aAAK,sBAAsB,KAAK,MAAM;MACxC;AACA,sBAAgB;AAChB,YAAM,MAAM,iBAAiB;AAC7B,YAAM,SAAS,kBAAkB,IAAI;AACrC,UAAI,QAAQ,SAAS,IAAI,GAAG;AAC5B,UAAI,CAAC,OAAO;AACV,gBAAQ,SAAS,cAAc,KAAK;AACpC,cAAM,YAAY;AAClB,aAAK,qBAAqB,MAAM,QAAQ,KAAK;MAC/C,WAAW,CAAC,kBAAkB;AAC5B,aAAK,qBAAqB,MAAM,QAAQ,KAAK;MAC/C;AAEA,UAAI,UAAU,aAAa;AACzB,aAAK,UAAU,aACb,OACA,eAAe,KAAK,uBAAuB;MAE/C;AACA,oBAAc,MAAM;AACpB,eAAS,KAAK,KAAK;IACrB;AACA,SAAK,oBAAoB;AACzB,SAAK,kBAAkB;AACvB,SAAK,2BAA2B;AAChC,SAAK,0BAA0B;AAC/B,SAAK,uBAAuB;AAE5B,QAAI,KAAK,sBAAsB;AAC7B,WAAK,qBAAqB,MAAM,SAAS,IAAI,QAAQ,CAAC,KAAK,mBAAmB,SAAS;IACzF;AACA,QAAI,KAAK,yBAAyB;AAChC,WAAK,wBAAwB,MAAM,SAAS,GAAG,QAAQ,UAAU,kBAAkB,QAAQ,QAAQ,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC;IACrI;EACF;EAEQ,mBAAmB,SAAiC,CAAA,GAAE;AAC5D,eAAW,CAAC,KAAK,QAAQ,KAAK;MAC5B,CAAC,cAAc,eAAe;MAC9B,CAAC,cAAc,eAAe;MAC9B,CAAC,UAAU,mBAAmB;OACpB;AACV,YAAM,QAAQ,OAAO,GAAG;AACxB,YAAM,MAAM,UAAU,SAAY,KAAK,SAAS,KAAK;AACrD,UAAI,KAAK,UAAU,MAAM,iBAAiB,QAAQ,MAAM;AAAK;AAC7D,UAAI;AAAK,aAAK,UAAU,MAAM,YAAY,UAAU,GAAG;;AAClD,aAAK,UAAU,MAAM,eAAe,QAAQ;IACnD;EACF;EAEA,OAAO,MAAoB,UAAyB;AAClD,SAAK,mBAAmB,KAAK,oBAAmB,CAAE;AAClD,SAAK,WAAW;AAChB,SAAK,cAAL,KAAK,YAAc,IAAI,iBACrB,KAAK,UAAU,iBAAiB,KAAK,SAAS;AAEhD,UAAM,YAAY,KAAK,UAAU,aAAa,MAAM,KAAK,cAAa,CAAE;AACxE,UAAM,OAAO,KAAK,QAAO;AACzB,UAAM,OAAO,KAAK,QAAO;AAEzB,QAAI,UAAU;AACd,QAAI,KAAK,cAAc,SAAS,KAAK,QAAQ,SAAS,KAAK,MAAM;AAC/D,WAAK,MAAM,MAAM,IAAI;AACrB,WAAK,aAAa;AAClB,gBAAU;IACZ;AAEA,SAAK,eACH,MACA,YAAY;MACV,GAAG;MACH,cAAc,YACV,EAAE,OAAO,UAAU,MAAM,KAAK,KAAK,UAAU,IAAI,IAAG,IACpD;KACL;AAGH,UAAM,SAAS,KAAK,UAAS;AAC7B,UAAM,gBAAgB,OAAO;AAC7B,UAAM,QAAQ,OAAO,SAAS;AAC9B,UAAM,QAAQ,OAAO,OAAO,YAAY,KAAK;AAE7C,QAAI,KAAK,UAAU,QAAQ,gBAAgB;AACzC,WAAK,UAAU,QAAQ,cAAc;AACvC,QAAI,KAAK,UAAU,QAAQ,gBAAgB;AACzC,WAAK,UAAU,QAAQ,cAAc;AAEvC,UAAM,oBACJ,OAAO,QAAQ,KAAK,iBACpB,OAAO,QAAQ,KAAK,iBACpB,kBAAkB,KAAK;AAEzB,aAAS,IAAI,GAAG,IAAI,KAAK,MAAM,KAAK;AAClC,YAAM,UAAU,KAAK,iBAAiB,WAAW,KAAK,WAAW,CAAC;AAClE,YAAM,YAAY,MAAM,KAAK,iBAAiB;AAC9C,YAAM,YAAY,MAAM,OAAO;AAE/B,UAAI,WAAW,aAAc,aAAa,mBAAoB;AAC5D,cAAM,OAAO,aAAa,gBAAgB,OAAO,MAAM;AACvD,aAAK,iBACH,KAAK,OAAO,CAAC,GACb,CAAC,QAAQ,KAAK,QAAQ,GAAG,GAAG,GAC5B,KAAK,MACL,MACA,CAAC;MAEL;AACA,YAAM,UAAU,KAAK,QAAQ,IAAI,KAAK,OAAO,CAAC,CAAC;AAC/C,UAAI,SAAS;AACX,cAAM,WAAW,KAAK,iBAAiB,CAAC;AACxC,gBAAQ,WAAW,WAAW,EAAE,GAAG,SAAQ,IAAK;MAClD;IACF;AAEA,SAAK,gBAAgB,OAAO;AAC5B,SAAK,gBAAgB,OAAO;AAC5B,SAAK,oBAAoB;AAEzB,SAAK,WAAU;AACf,SAAK,gBAAgB;AACrB,SAAK,UAAU,YAAY,KAAK,cAAa,GAAI,SAAS;AAC1D,SAAK,UAAU;AACf,SAAK,SAAS,UAAU,MAAM;MAC5B,WAAW,UAAU,aAAa;MAClC,cAAc,UAAU,gBAAgB;MACxC,WAAW,UAAU,aAAa;MAClC,WAAW,UAAU,aAAa;MAClC,cAAc,UAAU,gBAAgB;MACxC,iBAAiB,KAAK,mBAAkB;KACzC;EACH;;EAGA,CAAC,aAAU;AACT,aAAS,IAAI,GAAG,IAAI,KAAK,kBAAkB,QAAQ,KAAK;AACtD,YAAM;QACJ,KACE,KAAK,gBAAgB,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,uBAAuB;QACpE,SAAS,KAAK,kBAAkB,CAAC;;IAErC;AACA,aAAS,IAAI,GAAG,IAAI,KAAK,OAAO,QAAQ,KAAK;AAC3C,YAAM;QACJ,KAAK,KAAK,IAAI,GAAG,KAAK,wBAAwB,IAAI;QAClD,SAAS,KAAK,OAAO,CAAC;;IAE1B;EACF;;EAGA,mBAAgB;AACd,UAAM,WAAW,KAAK,UAAU;AAChC,QAAI,CAAC;AAAU,aAAO;AACtB,WAAO,iBAAiB,UAAU,KAAK,cAAa,CAAE;EACxD;EAEQ,CAAC,gBAAa;AACpB,eAAW,OAAO,KAAK,WAAU,GAAI;AACnC,YAAM,UAAU,KAAK,QAAQ,IAAI,IAAI,OAAO;AAC5C,UAAI;AAAS,cAAM,EAAE,GAAG,KAAK,QAAO;IACtC;EACF;EAEA,eAAe,MAAkB;AAC/B,SAAK,WAAW,eAAe,MAAM,KAAK,cAAa,CAAE;AACzD,SAAK,UAAU;EACjB;;EAGA,WACE,QACA,SACA,WAAiB;AAEjB,QAAI,CAAC,KAAK,WAAW,KAAK,cAAc,aAAa;AAAG,aAAO;AAC/D,UAAM,UAAU,OAAO,QAAQ,WAAW;AAC1C,UAAM,UAAU,MAAM,KAAK,KAAK,WAAU,CAAE,EAAE,KAC5C,CAAC,QAAQ,IAAI,YAAY,OAAO;AAElC,QAAI,CAAC;AAAS,aAAO;AACrB,UAAM,MAAM,KAAK,OACd,UAAU,QAAQ,QAAQ,sBAAqB,EAAG,QAAQ,SAAS;AAEtE,WAAO,OAAO,KAAK,MAAM,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAK,IAAG,IAAK;EACnE;EAEA,OACE,MACA,UACA,MACA,cAAwB;AAExB,QAAI,CAAC,KAAK,WAAW,KAAK;AAAY,aAAO;AAC7C,UAAM,QAAQ,eAAe,MAAM,UAAU,IAAI;AACjD,QAAI,CAAC;AAAO,aAAO;AACnB,iBAAY;AAGZ,QAAI,CAAC,KAAK,WAAW,KAAK;AAAY,aAAO;AAC7C,SAAK,eAAe,MAAM;MACxB,GAAI,KAAK,YAAY,EAAE,WAAW,GAAG,cAAc,GAAG,WAAW,EAAC;MAClE,cAAc,EAAE,OAAO,MAAM,MAAM,KAAK,KAAK,MAAM,IAAI,IAAG;KAC3D;AACD,UAAM,UAAU,MAAM,KAAK,KAAK,cAAa,CAAE;AAC/C,UAAM,OAAO,CAACE,WAA4B,UAAkB;AAC1D,YAAM,MAAM,QAAQ,KAAK,CAACC,SAAQA,KAAI,QAAQD,UAAS,GAAG;AAC1D,aACE,OACA,UAAU,IAAI,SAAS,aAAa,IAAI,SAASA,UAAS,KAAK,KAAK,CAAC;IAEzE;AACA,UAAM,QAAQ,KAAK,MAAM,OAAO,KAAK,GACnC,MAAM,KAAK,MAAM,KAAK,IAAI;AAC5B,UAAM,SAAS,KAAK,UAAU,cAAc,aAAY;AACxD,QAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AAAQ,aAAO;AACtC,WAAO,iBAAiB,GAAG,OAAO,GAAG,GAAG;AACxC,SAAK,WAAW,QAAQ,MAAM,KAAK,cAAa,CAAE;AAClD,WAAO;EACT;EAEA,UACE,MACA,OACA,KACA,cAAwB;AAExB,QAAI,CAAC,KAAK,WAAW,KAAK;AAAY,aAAO;AAC7C,UAAM,YAAY,mBAAmB,MAAM,OAAO,GAAG;AACrD,QAAI,CAAC;AAAW,aAAO;AACvB,iBAAY;AACZ,WAAO,KAAK,WAAW,CAAC,KAAK,aAAa,YAAY;EACxD;;EAGA,eACE,SACA,SACA,WAAiB;AAEjB,QAAI,CAAC,KAAK,WAAW,KAAK,cAAc,aAAa;AAAG,aAAO;AAC/D,QAAI,UAAiE;AACrE,eAAW,EAAE,KAAK,QAAO,KAAM,KAAK,WAAU,GAAI;AAChD,YAAM,OAAO,QAAQ,sBAAqB;AAC1C,YAAM,WAAW,KAAK,IAAI,KAAK,MAAM,SAAS,UAAU,KAAK,QAAQ,CAAC;AACtE,UAAI,CAAC,WAAW,WAAW,QAAQ;AACjC,kBAAU;UACR;UACA;UACA,KAAK,KAAK,IACR,GACA,KAAK,IACH,KAAK,OAAO,GACZ,KAAK,OAAO,UAAU,KAAK,QAAQ,SAAS,CAAC,CAC9C;;IAGT;AACA,WAAO,WAAW,EAAE,KAAK,QAAQ,KAAK,KAAK,QAAQ,IAAG;EACxD;EAEA,eAAY;AACV,SAAK,aAAa;EACpB;;EAGA,mBAAgB;AACd,SAAK,gBAAgB;EACvB;;EAGA,qBAAqB,aAA6B;AAChD,QAAI,CAAC,YAAY,cAAc,CAAC,KAAK,YAAY;AAAY;AAC7D,SAAK,YAAY,gBAAgB,WAAW;EAC9C;EAEA,UAAO;AACL,SAAK,mBAAkB;AACvB,SAAK,UAAU;AACf,SAAK,WAAW,QAAO;AACvB,SAAK,SAAS,QAAO;AACrB,SAAK,UAAU,YAAY;AAC3B,SAAK,SAAS,CAAA;AACd,SAAK,oBAAoB,CAAA;EAC3B;;;;ACrvCF,IAAM,mBAAmB;EACvB;EACA;EACA;EACA;;AAGF,IAAM,qBACJ;AACF,IAAI,aAAa;AAGX,IAAO,qBAAP,MAAyB;EAO7B,YACU,MACA,OAA0B;AAD1B,SAAA,OAAA;AACA,SAAA,QAAA;AALF,SAAA,YAAY;AAOlB,SAAK,OAAO,KAAK,cAAc,cAAc,MAAM;AACnD,OAAG;AACD,WAAK,KAAK,KAAK,oBAAoB,EAAE,UAAU;IACjD,SACG,KAAK,YAAW,EAAkB,cAAc,IAAI,KAAK,KAAK,EAAE,EAAE;AAErE,SAAK,KAAK,SAAS;AACnB,SAAK,KAAK,cAAc;AACxB,SAAK,OAAO,KAAK,IAAI;AACrB,SAAK,WAAW,KAAK,aAAa,UAAU;AAC5C,SAAK,cAAc,CAAC,KAAK,aAAa,MAAM;AAC5C,QAAI,KAAK;AAAa,WAAK,aAAa,QAAQ,OAAO;AACvD,SAAK,WAAW,IAAI,iBAAiB,CAAC,YAAY,KAAK,KAAK,OAAO,CAAC;AACpE,SAAK,KAAI;EACX;EAEQ,KAAK,UAA4B,CAAA,GAAE;AACzC,QAAI,QAAQ,KAAK,CAAC,WAAW,OAAO,kBAAkB,UAAU;AAC9D,WAAK,WAAW,KAAK,KAAK,aAAa,UAAU;AACnD,eAAW,aAAa,kBAAkB;AACxC,YAAM,QAAQ,KAAK,KAAK,aAAa,SAAS;AAC9C,UAAI,OAAO,KAAI;AAAI,aAAK,MAAM,aAAa,WAAW,KAAK;;AACtD,aAAK,MAAM,gBAAgB,SAAS;IAC3C;AACA,QAAI,CAAC,KAAK,MAAM,aAAa,YAAY;AACvC,WAAK,MAAM,aAAa,cAAc,UAAU;AAGlD,UAAM,cAAc,KAAK,MAAM,aAAa,kBAAkB;AAC9D,QAAI;AACF,WAAK,MAAM,aACT,oBACA,GAAG,WAAW,IAAI,KAAK,KAAK,EAAE,EAAE;AAEpC,SAAK,MAAM,aACT,oBACA,CAAC,KAAK,MAAM,aAAa,kBAAkB,GAAG,kBAAkB,EAC7D,OAAO,OAAO,EACd,KAAK,GAAG,CAAC;AAEd,SAAK,MAAM,aAAa,YAAY,KAAK,YAAY,GAAG;AAKxD,SAAK,SAAS,WAAU;AACxB,QAAI,KAAK,aAAa;AAAM,WAAK,KAAK,aAAa,YAAY,IAAI;AACnE,SAAK,SAAS,QAAQ,KAAK,MAAM;MAC/B,YAAY;MACZ,iBAAiB,CAAC,GAAG,kBAAkB,UAAU;KAClD;EACH;EAEA,UAAO;AACL,QAAI,KAAK;AAAW;AACpB,SAAK,YAAY;AACjB,UAAM,UAAU,KAAK,SAAS,YAAW;AACzC,QAAI,QAAQ,KAAK,CAAC,WAAW,OAAO,kBAAkB,UAAU;AAC9D,WAAK,WAAW,KAAK,KAAK,aAAa,UAAU;AACnD,SAAK,SAAS,WAAU;AACxB,SAAK,KAAK,OAAM;AAChB,QAAI,KAAK,aAAa;AAAM,WAAK,KAAK,gBAAgB,UAAU;;AAC3D,WAAK,KAAK,aAAa,YAAY,KAAK,QAAQ;AACrD,QAAI,KAAK,eAAe,KAAK,KAAK,aAAa,MAAM,MAAM;AACzD,WAAK,KAAK,gBAAgB,MAAM;EACpC;;;;ACtFI,SAAU,yBACd,OACAE,YAAoB;AAEpB,SAAOA,WAAU,SAAS,WAAW,KAAK,IAAI,MAAM,UAAU,MAAM;AACtE;;;ACPO,IAAM,sBAAsB,KAAK;AACjC,IAAM,0BAA0B,KAAK;AACrC,IAAM,mBAAmB,KAAK;AAC9B,IAAM,0BAA0B,KAAK;AA0B5C,IAAM,kBAA8C;EAClD,QAAQ,EAAE,MAAM,IAAI,OAAO,IAAG;EAC9B,OAAO,EAAE,MAAM,IAAI,OAAO,IAAG;EAC7B,KAAK,EAAE,MAAM,GAAG,OAAO,IAAG;EAC1B,WAAW,EAAE,MAAM,KAAK,OAAO,IAAG;EAClC,QAAQ,EAAE,MAAM,GAAG,OAAO,IAAG;EAC7B,QAAQ,EAAE,MAAM,GAAG,OAAO,IAAG;EAC7B,WAAW,EAAE,MAAM,GAAG,OAAO,IAAG;EAChC,YAAY,EAAE,MAAM,GAAG,OAAO,IAAG;EACjC,SAAS,EAAE,MAAM,GAAG,OAAO,IAAG;EAC9B,WAAW,EAAE,MAAM,GAAG,OAAO,IAAG;EAChC,QAAQ,EAAE,MAAM,GAAG,OAAO,IAAG;EAC7B,UAAU,EAAE,MAAM,GAAG,OAAO,IAAG;EAC/B,MAAM,EAAE,MAAM,GAAG,OAAO,IAAG;EAC3B,KAAK,EAAE,MAAM,GAAG,OAAO,IAAG;EAC1B,UAAU,EAAE,MAAM,OAAO,OAAO,KAAK,UAAU,KAAI;EACnD,YAAY,EAAE,MAAM,OAAO,OAAO,IAAG;EACrC,SAAS,EAAE,MAAM,OAAO,OAAO,KAAK,UAAU,KAAI;EAClD,aAAa,EAAE,MAAM,OAAO,OAAO,IAAG;EACtC,OAAO,EAAE,MAAM,OAAO,OAAO,IAAG;EAChC,IAAI,EAAE,MAAM,GAAG,OAAO,IAAG;EACzB,IAAI,EAAE,MAAM,GAAG,OAAO,IAAG;EACzB,IAAI,EAAE,MAAM,IAAI,OAAO,IAAG;EAC1B,IAAI,EAAE,MAAM,GAAG,OAAO,IAAG;EACzB,IAAI,EAAE,MAAM,IAAI,OAAO,IAAG;EAC1B,IAAI,EAAE,MAAM,IAAI,OAAO,IAAG;EAC1B,IAAI,EAAE,MAAM,IAAI,OAAO,IAAG;EAC1B,IAAI,EAAE,MAAM,IAAI,OAAO,IAAG;EAC1B,IAAI,EAAE,MAAM,IAAI,OAAO,IAAG;EAC1B,KAAK,EAAE,MAAM,IAAI,OAAO,IAAG;EAC3B,KAAK,EAAE,MAAM,IAAI,OAAO,IAAG;EAC3B,KAAK,EAAE,MAAM,IAAI,OAAO,IAAG;EAC3B,WAAW,EAAE,MAAM,OAAO,OAAO,KAAK,UAAU,KAAI;EACpD,aAAa,EAAE,MAAM,OAAO,OAAO,KAAK,UAAU,KAAI;EACtD,SAAS,EAAE,MAAM,OAAO,OAAO,KAAK,UAAU,KAAI;EAClD,UAAU,EAAE,MAAM,OAAO,OAAO,KAAK,UAAU,KAAI;EACnD,YAAY,EAAE,MAAM,OAAO,OAAO,KAAK,UAAU,KAAI;EACrD,cAAc,EAAE,MAAM,OAAO,OAAO,KAAK,UAAU,KAAI;EACvD,UAAU,EAAE,MAAM,OAAO,OAAO,KAAK,UAAU,KAAI;EACnD,WAAW,EAAE,MAAM,OAAO,OAAO,KAAK,UAAU,KAAI;EACpD,SAAS,EAAE,MAAM,OAAO,OAAO,IAAG;EAClC,SAAS,EAAE,MAAM,OAAO,OAAO,IAAG;EAClC,SAAS,EAAE,MAAM,OAAO,OAAO,IAAG;EAClC,SAAS,EAAE,MAAM,OAAO,OAAO,IAAG;EAClC,SAAS,EAAE,MAAM,OAAO,OAAO,IAAG;EAClC,SAAS,EAAE,MAAM,OAAO,OAAO,IAAG;EAClC,SAAS,EAAE,MAAM,OAAO,OAAO,IAAG;EAClC,SAAS,EAAE,MAAM,OAAO,OAAO,IAAG;EAClC,SAAS,EAAE,MAAM,OAAO,OAAO,IAAG;EAClC,SAAS,EAAE,MAAM,OAAO,OAAO,IAAG;EAClC,eAAe,EAAE,MAAM,OAAO,OAAO,IAAG;EACxC,cAAc,EAAE,MAAM,OAAO,OAAO,IAAG;EACvC,gBAAgB,EAAE,MAAM,OAAO,OAAO,IAAG;EACzC,gBAAgB,EAAE,MAAM,OAAO,OAAO,IAAG;EACzC,WAAW,EAAE,MAAM,OAAO,OAAO,IAAG;EACpC,aAAa,EAAE,MAAM,OAAO,OAAO,IAAG;EACtC,aAAa,EAAE,MAAM,OAAO,OAAO,IAAG;EACtC,aAAa,EAAE,MAAM,OAAO,OAAO,IAAG;;AAGxC,IAAM,eAA2B,EAAE,MAAM,GAAG,OAAO,IAAG;AAEtD,SAAS,QAAQ,IAAI,SAAS,IAAI,SAAS;AACzC,kBAAgB,IAAI,KAAK,EAAE,IAAI;IAC7B,MAAM,QAAQ;IACd,OAAO;;AAEX;AAEA,SAAS,UAAU,OAAa;AAC9B,QAAM,QAAQ,MAAM,KAAK,KAAK;AAC9B,SAAO,MAAM,WAAW,IAAI,MAAM,CAAC,EAAE,YAAY,CAAC,IAAK;AACzD;AAEA,SAAS,eAAe,OAAoB;AAC1C,QAAM,UAAU,UAAU,MAAM,GAAG;AACnC,MAAI,YAAY,QAAQ,UAAU,MAAQ,YAAY;AAAM,WAAO;AACnE,QAAM,QAAQ,MAAM,IAAI,YAAW;AACnC,QAAM,UAAU,UAAU,KAAK;AAC/B,SAAO,EAAE,MAAM,WAAW,SAAS,OAAO,IAAG;AAC/C;AAEA,SAAS,WACP,OACA,iBAAwB;AAExB,MAAI,mBAAmB,MAAM,KAAK,WAAW,QAAQ,GAAG;AACtD,QAAI,MAAM,SAAS,aAAa,MAAM,QAAQ,SAAS;AACrD,aAAO,EAAE,OAAO,cAAc,eAAe,QAAO;IACtD;AACA,QAAI,MAAM,IAAI,WAAW,GAAG;AAC1B,YAAMC,SAAQ,eAAe,KAAK;AAClC,aAAOA,SAAQ,EAAE,OAAAA,QAAO,eAAe,KAAI,IAAK;IAClD;AACA,UAAM,QAAQ,gBAAgB,MAAM,GAAG;AACvC,WAAO,QAAQ,EAAE,OAAO,eAAe,MAAM,IAAG,IAAK;EACvD;AAEA,QAAM,mBAAmB,sBAAsB,KAAK;AACpD,MAAI,kBAAkB;AACpB,WAAO,EAAE,OAAO,kBAAkB,eAAe,MAAM,KAAI;EAC7D;AACA,QAAM,SAAS,gBAAgB,MAAM,IAAI;AACzC,MAAI;AAAQ,WAAO,EAAE,OAAO,QAAQ,eAAe,MAAM,KAAI;AAC7D,QAAM,QAAQ,gBAAgB,MAAM,GAAG;AACvC,MAAI;AAAO,WAAO,EAAE,OAAO,OAAO,eAAe,MAAM,IAAG;AAC1D,QAAM,YAAY,eAAe,KAAK;AACtC,SAAO,YAAY,EAAE,OAAO,WAAW,eAAe,KAAI,IAAK;AACjE;AAEA,SAAS,sBAAsB,OAAoB;AACjD,QAAM,MAAM,GAAG,MAAM,IAAI,IAAI,MAAM,GAAG;AACtC,QAAM,OAAO;IACX,qBAAqB;IACrB,sBAAsB;IACtB,mBAAmB;IACnB,qBAAqB;IACrB,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;IAChB,eAAe;IACf,kBAAkB;IAClB,wBAAwB;IACxB,iBAAiB;IACjB,GAAG;AACL,SAAO,SAAS,SAAY,OAAO,EAAE,MAAM,OAAO,IAAG;AACvD;AAEA,SAAS,YACP,QACA,kBAAsC;AAEtC,aAAW,QAAQ,oBAAoB,CAAA,GAAI;AACzC,QAAI,KAAK,WAAW,MAAM;AAAG,aAAO;EACtC;AACA,SAAO;AACT;AAEA,SAAS,cACP,OACA,QACA,kBAAsC;AAEtC,MAAI,QAAQ;AACZ,QAAM,iBAAiB,WAAW;AAClC,MACE,MAAM,YACN,YAAY,SAAS,gBAAgB,KACpC,kBAAkB,MAAM,KAAK,WAAW,OAAO;AAEhD,aAAS;AACX,MACE,MAAM,UACN,YAAY,OAAO,gBAAgB,KAClC,kBAAkB,MAAM,KAAK,WAAW,KAAK;AAE9C,aAAS;AACX,MACE,MAAM,WACN,YAAY,WAAW,gBAAgB,KACtC,kBAAkB,MAAM,KAAK,WAAW,SAAS;AAElD,aAAS;AACX,MACE,MAAM,WACN,YAAY,QAAQ,gBAAgB,KACnC,kBAAkB,MAAM,KAAK,WAAW,MAAM;AAE/C,aAAS;AACX,MAAI,MAAM,iBAAiB,UAAU;AAAG,aAAS;AACjD,MAAI,MAAM,iBAAiB,SAAS;AAAG,aAAS;AAChD,SAAO;AACT;AAEA,SAAS,eAAe,OAAoB;AAC1C,MAAI,MAAM,WAAW,MAAM,WAAW,MAAM;AAAQ,WAAO,CAAA;AAC3D,SAAO,MAAM,KAAK,MAAM,GAAG,EACxB,IAAI,CAAC,SAAS,KAAK,YAAY,CAAC,CAAE,EAClC,OAAO,CAAC,UAAU,SAAS,MAAQ,UAAU,GAAI;AACtD;AAGM,SAAU,kBAAkB,KAAW;AAC3C,MAAI,IAAI,WAAW;AAAG,WAAO;AAC7B,QAAM,OAAO,IAAI,YAAW,EAAG,WAAW,CAAC;AAC3C,MAAI,QAAQ,MAAM,QAAQ;AAAK,WAAO,OAAO,aAAa,OAAO,EAAE;AAEnE,UAAQ,KAAK;IACX,KAAK;IACL,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT;AACE,aAAO;EACX;AACF;AAEA,SAAS,mBAAmB,OAAoB;AAC9C,MAAI,MAAM;AAAS,WAAO;AAC1B,QAAM,QAAQ,MAAM,KAAK,MAAM,GAAG;AAClC,MACE,MAAM,WAAW,KACjB,MAAM,CAAC,EAAE,YAAY,CAAC,IAAK,MAC3B,MAAM,CAAC,EAAE,YAAY,CAAC,IAAK;AAE3B,WAAO;AAET,MAAI,MAAM,YAAY,MAAM,WAAW,WAAW,KAAK,MAAM,GAAG,GAAG;AACjE,WAAO;EACT;AAEA,MAAI,MAAM,SAAS;AACjB,UAAM,MAAM,MAAM,IAAI,YAAW;AACjC,UAAM,UAAU,kBAAkB,GAAG,KAAK;AAC1C,WAAO,MAAM,SAAS,OAAO,OAAO,KAAK;EAC3C;AAEA,SAAO,MAAM,SAAS,OAAO,MAAM,GAAG,KAAK;AAC7C;AAEA,SAAS,yBACP,eACA,OACA,QACA,cACA,eAAsB;AAEtB,QAAM,eAAe,QAAQ,QAAQ,CAAC;AACtC,QAAM,eAAe,QAAQ,QAAQ,mBAAmB;AACxD,QAAM,YAAY,QAAQ,QAAQ,gBAAgB;AAClD,QAAM,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;AACtD,QAAM,mBAAmB,eAAe,EAAE,KAAK;AAE/C,MAAI,iBAAiB,cAAc,qBAAqB,GAAG;AACzD,UAAM,cAAc;MAClB,SAAS;MACT,WAAW;MACX,YAAY;MACZ,WAAW;MACX,OAAO;MACP,KAAK;MACL,MAAM;MACN,aAAa;AACf,QAAI;AAAa,aAAO,EAAE,SAAS,MAAM,UAAU,YAAW;EAChE;AAEA,MAAI,qBAAqB,GAAG;AAC1B,QAAI,CAAC,gBAAgB,CAAC,aAAa,kBAAkB,UAAU;AAC7D,aAAO,EAAE,SAAS,MAAM,UAAU,OAAM;IAC1C;AACA,QAAI,YAAY;AACd,YAAM,mBAAmB;QACvB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,aAAa;AACf,UAAI;AACF,eAAO,EAAE,SAAS,MAAM,UAAU,iBAAgB;IACtD;EACF;AAEA,MAAI,cAAc,iBAAiB,GAAG;AACpC,UAAM,SAAS,eAAe,IAAI,SAAS;AAC3C,QAAI,kBAAkB,SAAS;AAC7B,aAAO,EAAE,SAAS,MAAM,UAAU,GAAG,MAAM,KAAI;IACjD;AACA,QAAI,kBAAkB,UAAU;AAC9B,aAAO,EAAE,SAAS,MAAM,UAAU,GAAG,MAAM,OAAM;IACnD;AACA,QAAI,kBAAkB,aAAa;AACjC,aAAO;QACL,SAAS;QACT,UAAU,GAAG,MAAM,GAAG,eAAe,IAAI,OAAS,MAAM;;IAE5D;AACA,QAAI,kBAAkB,OAAO;AAC3B,UAAI,eAAe,GAAG;AACpB,eAAO;UACL,SAAS;UACT,UAAU,GAAG,eAAe,IAAI,aAAa,MAAM;;MAEvD;AACA,aAAO,EAAE,SAAS,MAAM,UAAU,GAAG,MAAM,IAAI;IACjD;EACF;AAEA,MACE,qBAAqB,KACrB,CAAC,cACA,kBAAkB,WACjB,kBAAkB,eAClB,kBAAkB,QACpB;AACA,WAAO;MACL,SAAS;MACT,UACE,WAAW,YACP,OACA,kBAAkB,UAChB,OACA,kBAAkB,cAChB,SACA;;EAEd;AAEA,SAAO,EAAE,SAAS,OAAO,UAAU,KAAI;AACzC;AAEM,SAAU,eACd,OACA,OACA,QACA,kBACA,gBAAgB,OAAK;AAErB,MAAI,UAAU;AAAG,WAAO;AACxB,MAAI,WAAW,aAAa,EAAE,QAAQ;AAAsB,WAAO;AAEnE,QAAM,kBAAkB,EAAE,QAAQ,MAAM,EAAE,QAAQ;AAClD,QAAM,WAAW,WAAW,OAAO,eAAe;AAClD,QAAM,QAAQ,UAAU,SAAS;AACjC,QAAM,YAAY,eAAe,KAAK;AAEtC,QAAM,aACJ,EAAE,QAAQ,qBACV,cAAc,QACd,CAAC,MAAM,UACP,CAAC,MAAM,WACP,CAAC,MAAM;AAET,QAAM,iBACJ,EAAE,QAAQ,MACV,EAAE,QAAQ,sBACT,WAAW,WAAW,EAAE,QAAQ,0BAChC,MAAM,WAAW,MAAM,UACpB,mBAAmB,KAAK,IACxB;AAEN,MAAI,WAAW,aAAa,EAAE,QAAQ,qBAAqB,YAAY;AACrE,WAAO;EACT;AAEA,MACE,WAAW,aACX,EAAE,QAAQ,qBACV,CAAC,MAAM,UACP,CAAC,MAAM,WACP,CAAC,MAAM,SACP;AACA,QAAI,CAAC,MAAM,UAAU;AACnB,UACE,MAAM,QAAQ,YACb,MAAM,SAAS,iBAAiB;AAEjC,eAAO;AACT,UAAI,MAAM,QAAQ;AAAO,eAAO;AAChC,UAAI,MAAM,QAAQ;AAAa,eAAO;IACxC;AACA,QAAI;AAAY,aAAO,MAAM;EAC/B;AACA,MAAI,mBAAmB;AAAM,WAAO;AAEpC,MAAI,CAAC;AAAO,WAAO;AACnB,MAAI,MAAM,YAAY,EAAE,QAAQ;AAAmB,WAAO;AAE1D,QAAM,YAAY,cAAc,OAAO,QAAQ,gBAAgB;AAC/D,MAAI,UAAU,eAAe;AAC3B,UAAM,SAAS,yBACb,SAAS,eACT,OACA,QACA,YAAY,GACZ,aAAa;AAEf,QAAI,OAAO;AAAS,aAAO,OAAO;EACpC;AACA,QAAM,YACJ,QAAQ,sBACJ,WAAW,WACT,IACA,WAAW,YACT,IACA,IACJ;AAEN,MAAI,MAAM,UAAU,OAAO,MAAM,UAAU,KAAK;AAC9C,QAAI,cAAc,GAAG;AACnB,aAAO,UAAU,SAAS,IAAI,SAAS,GAAG,MAAM,KAAK;IACvD;AACA,QAAI,YAAY;AAAG,aAAO,UAAU,SAAS,GAAG,MAAM,KAAK;AAC3D,WAAO,QAAQ,MAAM,KAAK;EAC5B;AAEA,MAAI,WAAW,QAAQ,MAAM,IAAI;AACjC,MAAI,aAAa,QAAQ,2BAA2B,MAAM,UAAU;AAClE,UAAM,UAAU,UAAU,MAAM,GAAG;AACnC,QAAI,YAAY,QAAQ,YAAY,MAAM;AAAM,kBAAY,IAAI,OAAO;EACzE;AAEA,MAAI,mBAAmB;AACvB,MAAI,cAAc,KAAK,cAAc,GAAG;AACtC,gBAAY,IAAI,SAAS,IAAI,SAAS;AACtC,uBAAmB;EACrB,WAAW,YAAY,GAAG;AACxB,gBAAY,IAAI,SAAS;AACzB,uBAAmB;EACrB;AAEA,MAAI,aAAa,QAAQ,2BAA2B,WAAW,WAAW;AACxE,UAAM,OAAO,eAAe,KAAK;AACjC,QAAI,KAAK,SAAS,GAAG;AACnB,kBAAY,mBAAmB,MAAM;AACrC,kBAAY,KAAK,KAAK,GAAG;IAC3B;EACF;AAEA,SAAO,WAAW,MAAM;AAC1B;;;AC1cA,IAAM,cAAsC;EAC1C,SAAS;EACT,WAAW;EACX,YAAY;EACZ,WAAW;EACX,MAAM;EACN,KAAK;;AAGP,IAAM,WAAmC;EACvC,SAAS;EACT,WAAW;EACX,YAAY;EACZ,WAAW;EACX,MAAM;EACN,KAAK;;AAGP,IAAM,oBAA4C;EAChD,SAAS;EACT,WAAW;EACX,YAAY;EACZ,WAAW;EACX,MAAM;EACN,KAAK;EACL,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;;AAGN,IAAM,sBAA8C;EAClD,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,UAAU;EACV,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,KAAK;EACL,KAAK;EACL,KAAK;;AAGP,IAAM,aAAqC;EACzC,OAAO;EACP,WAAW;EACX,KAAK;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,UAAU;EACV,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,KAAK;EACL,KAAK;EACL,KAAK;;AAGP,IAAM,6BAA6B;AACnC,IAAM,8BAA8B;AAEpC,IAAM,0BAA0B;AAEhC,SAAS,oBACP,OACA,kBAAqC;AAErC,MACE,MAAM,WACN,EACE,MAAM,iBAAiB,UAAU,KAChC,MAAM,WAAW,MAAM,UAAU,iBAAiB,IAAI,UAAU;AAGnE,WAAO;AACT,QAAM,QAAQ,MAAM,KAAK,MAAM,GAAG;AAClC,SACE,MAAM,WAAW,KACjB,MAAM,CAAC,EAAE,YAAY,CAAC,KAAM,MAC5B,MAAM,CAAC,MAAM;AAEjB;AAEM,IAAO,eAAP,MAAmB;EA+CvB,YACE,SACA,QACA,WACA,cAAqE,MACnE,MACF,qBAAiC,MAAK;EAAE,GACxC,UACQ,kBAIP;AAJO,SAAA,mBAAA;AA3CF,SAAA,YAAY;AACZ,SAAA,mBAAmB;AACnB,SAAA,0BAA+D;AAE/D,SAAA,+BAA+B;AAC/B,SAAA,eAAe;AACf,SAAA,kBAMG;AACH,SAAA,UAAU;AAEV,SAAA,mBAAmB,oBAAI,IAAG;AAC1B,SAAA,mBAAmB,oBAAI,IAAG;AAC1B,SAAA,gBAAgB,oBAAI,IAAG;AACvB,SAAA,eAAe;AA+BrB,SAAK,UAAU;AACf,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,YAAY;AACjB,SAAK,cAAc;AACnB,SAAK,qBAAqB;AAC1B,SAAK,eACH,QAAQ,cAAc,aAAa,aAAa,mBAAmB,EAChE,WAAW;AAEhB,SAAK,WAAW,SAAS,cAAc,UAAU;AACjD,SAAK,SAAS,aAAa,kBAAkB,KAAK;AAClD,SAAK,SAAS,aAAa,gBAAgB,KAAK;AAChD,SAAK,SAAS,aAAa,eAAe,KAAK;AAC/C,SAAK,SAAS,aAAa,cAAc,OAAO;AAChD,SAAK,SAAS,aAAa,gBAAgB,MAAM;AACjD,SAAK,SAAS,OAAO;AACrB,UAAM,IAAI,KAAK,SAAS;AACxB,MAAE,WAAW;AACb,MAAE,OAAO;AACT,MAAE,MAAM;AACR,MAAE,QAAQ,KAAK,eAAe,gCAAgC;AAC9D,MAAE,SAAS,KAAK,eAAe,2BAA2B;AAC1D,MAAE,YAAY;AACd,MAAE,OAAO;AACT,MAAE,aAAa;AACf,MAAE,cAAc;AAChB,MAAE,uBAAuB;AACzB,MAAE,aAAa;AACf,MAAE,SAAS;AAEX,MAAE,UAAU,KAAK,eAAe,MAAM;AACtC,MAAE,WAAW;AACb,MAAE,SAAS;AACX,MAAE,UAAU;AACZ,MAAE,SAAS;AACX,MAAE,UAAU;AACZ,MAAE,SAAS;AACX,MAAE,gBAAgB,KAAK,eAAe,SAAS;AAC/C,MAAE,aAAa;AACf,MAAE,QAAQ;AACV,MAAE,aAAa;AACf,YAAQ,YAAY,KAAK,QAAQ;AACjC,SAAK,gBAAgB,IAAI,mBAAmB,SAAS,KAAK,QAAQ;AAElE,SAAK,aAAa,KAAK,cAAc,KAAK,IAAI;AAC9C,SAAK,WAAW,KAAK,YAAY,KAAK,IAAI;AAC1C,SAAK,WAAW,KAAK,YAAY,KAAK,IAAI;AAC1C,SAAK,sBAAsB,KAAK,uBAAuB,KAAK,IAAI;AAChE,SAAK,oBAAoB,KAAK,qBAAqB,KAAK,IAAI;AAC5D,SAAK,WAAW,KAAK,YAAY,KAAK,IAAI;AAC1C,SAAK,WAAW,MAAK;AACnB,UAAI,KAAK;AAAS;AAClB,WAAK,UAAU;AACf,UAAI,KAAK,gBAAgB,CAAC,KAAK,SAAS;AAAO,aAAK,gBAAe;AACnE,WAAK,iBAAgB;AACrB,WAAK,QAAQ,UAAU,IAAI,SAAS;AACpC,UAAI,KAAK,UAAS,GAAI,cAAa;AAAI,aAAK,OAAO,QAAQ;IAC7D;AACA,SAAK,UAAU,MAAK;AAClB,WAAK,eAAe;AACpB,WAAK,UAAU;AACf,WAAK,YAAY;AACjB,WAAK,0BAA0B;AAC/B,WAAK,+BAA+B;AACpC,WAAK,gBAAe;AACpB,WAAK,SAAS,QAAQ;AACtB,WAAK,QAAQ,UAAU,OAAO,SAAS;AACvC,WAAK,iBAAgB;AACrB,WAAK,kBAAkB;AACvB,WAAK,iBAAiB,MAAK;AAC3B,WAAK,cAAc,MAAK;AACxB,UAAI,KAAK,UAAS,GAAI,cAAa;AAAI,aAAK,OAAO,QAAQ;IAC7D;AACA,SAAK,eAAe,CAAC,UAAS;AAC5B,WAAK,eAAe;AACpB,WAAK,YAAY,OAAO,OAAO;IACjC;AACA,SAAK,eAAe,CAAC,UAAS;AAC5B,UAAI,KAAK,iBAAiB;AAAG;AAC7B,UAAI,MAAM,YAAY,KAAK,MAAM,UAAU;AACzC,aAAK,kBAAkB;AACvB;MACF;AACA,WAAK,YAAY,OAAO,MAAM;IAChC;AACA,SAAK,eAAe,CAAC,UAAS;AAC5B,UAAI,KAAK,iBAAiB;AAAG,aAAK,YAAY,OAAO,MAAM;IAC7D;AACA,SAAK,aAAa,CAAC,UAAS;AAC1B,UAAI,KAAK,iBAAiB;AAAG;AAC7B,WAAK,YAAY,OAAO,SAAS;AACjC,WAAK,eAAe,MAAM,UAAU;AACpC,UAAI,KAAK,iBAAiB;AAAG,aAAK,iBAAgB;IACpD;AACA,SAAK,gBAAgB,MAAK;AACxB,UAAI,KAAK,iBAAiB;AAAG,aAAK,kBAAkB;IACtD;AACA,SAAK,WAAW,CAAC,UAAU,KAAK,YAAY,OAAO,OAAO;AAE1D,SAAK,SAAS,iBAAiB,WAAW,KAAK,UAAU;AACzD,SAAK,SAAS,iBAAiB,SAAS,KAAK,QAAQ;AACrD,SAAK,SAAS,iBAAiB,SAAS,KAAK,QAAyB;AACtE,SAAK,SAAS,iBACZ,oBACA,KAAK,mBAAmB;AAE1B,SAAK,SAAS,iBACZ,kBACA,KAAK,iBAAkC;AAEzC,SAAK,SAAS,iBAAiB,SAAS,KAAK,QAAQ;AACrD,SAAK,SAAS,iBAAiB,SAAS,KAAK,QAAQ;AACrD,SAAK,SAAS,iBAAiB,QAAQ,KAAK,OAAO;AACnD,SAAK,QAAQ,iBAAiB,aAAa,KAAK,YAAY;AAC5D,SAAK,QAAQ,iBAAiB,aAAa,KAAK,YAAY;AAC5D,SAAK,QAAQ,iBAAiB,cAAc,KAAK,aAAa;AAC9D,SAAK,QAAQ,iBAAiB,SAAS,KAAK,UAAU,EAAE,SAAS,MAAK,CAAE;EAC1E;EAEA,QAAK;AACH,QAAI,KAAK;AAAc,WAAK,mBAAkB;AAC9C,QAAI,KAAK,gBAAgB,CAAC,KAAK,aAAa,CAAC,KAAK,SAAS,OAAO;AAChE,WAAK,gBAAe;IACtB;AACA,SAAK,iBAAgB;AACrB,SAAK,SAAS,MAAM,EAAE,eAAe,KAAI,CAAE;EAC7C;EAEA,oBAAiB;AACf,QAAI,KAAK,aAAa,KAAK;AAAc,WAAK,iBAAgB;EAChE;EAEA,UAAO;AACL,SAAK,cAAc,QAAO;AAC1B,SAAK,SAAS,oBAAoB,WAAW,KAAK,UAAU;AAC5D,SAAK,SAAS,oBAAoB,SAAS,KAAK,QAAQ;AACxD,SAAK,SAAS,oBAAoB,SAAS,KAAK,QAAyB;AACzE,SAAK,SAAS,oBACZ,oBACA,KAAK,mBAAmB;AAE1B,SAAK,SAAS,oBACZ,kBACA,KAAK,iBAAkC;AAEzC,SAAK,SAAS,oBAAoB,SAAS,KAAK,QAAQ;AACxD,SAAK,SAAS,oBAAoB,SAAS,KAAK,QAAQ;AACxD,SAAK,SAAS,oBAAoB,QAAQ,KAAK,OAAO;AACtD,SAAK,QAAQ,oBAAoB,aAAa,KAAK,YAAY;AAC/D,SAAK,QAAQ,oBAAoB,aAAa,KAAK,YAAY;AAC/D,SAAK,QAAQ,oBAAoB,cAAc,KAAK,aAAa;AACjE,SAAK,iBAAgB;AACrB,SAAK,QAAQ,oBAAoB,SAAS,KAAK,QAAQ;AACvD,SAAK,QAAQ,UAAU,OAAO,SAAS;AACvC,SAAK,SAAS,OAAM;EACtB;EAEQ,cAAc,GAAgB;AACpC,UAAM,QAAQ,EAAE,QAAQ,EAAE;AAC1B,QAAI,EAAE,QAAQ;AAAa,WAAK,+BAA+B;AAC/D,UAAM,mBAAmB,yCAAyC,KAChE,EAAE,IAAI;AAER,QAAI,kBAAkB;AACpB,WAAK,iBAAiB,IAAI,EAAE,IAAI;IAClC;AACA,QAAI,KAAK,aAAa,EAAE,eAAe,EAAE,YAAY,KAAK;AACxD,WAAK,eAAe;AACpB,WAAK,iBAAgB;AACrB,WAAK,iBAAiB,IAAI,KAAK;AAC/B;IACF;AACA,SAAK,0BAA0B;AAE/B,UAAM,SAAS,KAAK,UAAS;AAC7B,UAAM,aAAa,QAAQ,qBAAoB,KAAM;AACrD,UAAM,oBACJ,oBAAoB,QAAQ,aAAa,gBAAgB;AAC3D,UAAM,YAAY,KAAK,cAAc,IAAI,KAAK;AAK9C,QACE,KAAK,gBACL,EAAE,QAAQ,SACV,CAAC,EAAE,UACH,CAAC,EAAE,WACH,CAAC,EAAE,WACH,CAAC,EAAE,UACH,CAAC,WACD;AACA,WAAK,eAAe;AACpB,WAAK,iBAAiB,IAAI,KAAK;AAC/B;IACF;AAGA,QAAI,EAAE,QAAQ,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS;AAC3D,WAAK,eACH,EAAE,QAAQ,YACV,CAAC,EAAE,UACH,CAAC,EAAE,WACH,CAAC,EAAE,WACH,CAAC,EAAE;IACP;AAIA,QAAI,oBAAoB,GAAG,KAAK,gBAAgB,GAAG;AACjD,UAAI,CAAC;AAAW,aAAK,iBAAiB,IAAI,KAAK;AAC/C;IACF;AAEA,QACE,CAAC,aACD,KAAK,oBACL,CAAC,EAAE,WACD,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,EAAE,YAC7B,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,YACjC,EAAE,IAAI,YAAW,MAAO,KACxB;AACA,QAAE,eAAc;AAChB,QAAE,gBAAe;AACjB,WAAK,iBAAiB,IAAI,KAAK;AAC/B,WAAK,iBAAiB,UAAS;AAC/B;IACF;AACA,QACE,CAAC,aACD,EAAE,QAAQ,YACV,CAAC,EAAE,WACH,CAAC,EAAE,WACH,CAAC,EAAE,UACH,CAAC,EAAE,YACH,KAAK,kBAAkB,aAAY,GACnC;AACA,QAAE,eAAc;AAChB,QAAE,gBAAe;AACjB,WAAK,iBAAiB,IAAI,KAAK;AAC/B,WAAK,iBAAiB,eAAc;AACpC;IACF;AACA,QACE,CAAC,cACA,EAAE,WAAW,EAAE,YAChB,CAAC,EAAE,UACH,EAAE,IAAI,YAAW,MAAO,KACxB;AACA,YAAM,MAAM,OAAO,aAAY;AAC/B,UACE,KAAK,kBAAkB,aAAY,KAClC,OAAO,IAAI,SAAQ,EAAG,SAAS,GAChC;AACA,aAAK,iBAAiB,IAAI,KAAK;AAC/B,YAAI,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,SAAS;AACzC,YAAE,eAAc;AAChB,YAAE,gBAAe;AACjB,eAAK,QAAQ,cAAc,YAAY,MAAM;QAC/C;AACA;MACF;IACF;AACA,QAAI,CAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,KAAK;AAC3D,WAAK,iBAAiB,IAAI,KAAK;AAC/B,WAAK,SAAS,MAAK;AACnB;IACF;AACA,QAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,WAAW,CAAC,EAAE,SAAS;AAC/D,WAAK,iBAAiB,IAAI,KAAK;AAC/B,UAAI,EAAE,QAAQ,aAAa;AACzB,UAAE,eAAc;AAChB,aAAK,kBAAkB,eAAc;AACrC,aAAK,OAAO,GAAM;MACpB,WAAW,EAAE,QAAQ,KAAK;AACxB,UAAE,eAAc;AAChB,cAAM,MAAM,OAAO,aAAY;AAC/B,YAAI,KAAK;AACP,gBAAM,QAAQ,SAAS,YAAW;AAClC,gBAAM,mBAAmB,KAAK,OAAO;AACrC,cAAI,gBAAe;AACnB,cAAI,SAAS,KAAK;QACpB;MACF;AACA;IACF;AAEA,SAAK,iBAAiB,OAAO,KAAK;AAClC,UAAM,oBACJ,KAAK,gBACL,EAAE,QAAQ,eACV,CAAC,EAAE,UACH,CAAC,EAAE,WACH,CAAC,EAAE;AACL,QAAI,eAAe,GAAG;AACpB,YAAMC,OAAM,eACV,GACA,YACA,EAAE,SAAS,WAAW,SACtB,KAAK,kBACL,QAAQ,gBAAe,KAAM,KAAK;AAEpC,UAAIA,MAAK;AACP,YAAI,CAAC;AAAkB,eAAK,kBAAkB,eAAc;AAC5D,YAAI;AAAmB,eAAK,+BAA+B;;AACtD,YAAE,eAAc;AACrB,UAAE,gBAAe;AACjB,aAAK,cAAc,IAAI,KAAK;AAC5B,aAAK,OAAOA,MAAK,gBAAgB;MACnC;AACA;IACF;AACA,UAAM,MAAM,KAAK,cAAc,CAAC;AAChC,QAAI,KAAK;AACP,WAAK,kBAAkB,eAAc;AACrC,UAAI;AAAmB,aAAK,+BAA+B;;AACtD,UAAE,eAAc;AACrB,QAAE,gBAAe;AACjB,WAAK,OAAO,GAAG;IACjB;EACF;EAEQ,YAAY,GAAgB;AAClC,UAAM,QAAQ,EAAE,QAAQ,EAAE;AAC1B,SAAK,iBAAiB,OAAO,EAAE,IAAI;AACnC,UAAM,YAAY,KAAK,cAAc,OAAO,KAAK;AACjD,QAAI,KAAK,iBAAiB,OAAO,KAAK;AAAG;AAEzC,QAAI,CAAC;AAAW;AAChB,QAAI,KAAK;AAAW;AACpB,UAAM,SAAS,KAAK,UAAS;AAC7B,UAAM,aAAa,QAAQ,qBAAoB,KAAM;AACrD,QAAI,EAAE,aAAa;AAAsB;AACzC,UAAM,MAAM,eACV,GACA,YACA,WACA,KAAK,kBACL,QAAQ,gBAAe,KAAM,KAAK;AAEpC,QAAI,CAAC;AAAK;AACV,MAAE,eAAc;AAEhB,SAAK,OAAO,KAAK,IAAI;EACvB;EAEQ,YAAY,GAAiB;AACnC,SAAK,eAAe;AACpB,SAAK,0BAA0B;AAC/B,SAAK,+BAA+B;AACpC,UAAM,OAAO,EAAE,eAAe,QAAQ,MAAM;AAG5C,QAAI,CAAC;AAAM;AACX,MAAE,eAAc;AAChB,SAAK,UAAU,IAAI;EACrB;EAEQ,UAAU,MAAY;AAC5B,SAAK,kBAAkB,eAAc;AACrC,UAAM,SAAS,KAAK,UAAS;AAC7B,QAAI,UAAU,OAAO,eAAc,GAAI;AAGrC,YAAM,OAAO,KAAK,QAAQ,SAAS,EAAE;AACrC,WAAK,OAAO,cAAc,OAAO,WAAW;IAC9C,OAAO;AACL,WAAK,OAAO,IAAI;IAClB;EACF;EAEQ,yBAAsB;AAC5B,SAAK,eAAe;AACpB,SAAK,mBAAkB;AACvB,SAAK,YAAY;AACjB,SAAK,0BAA0B;AAC/B,SAAK,+BAA+B;AACpC,QAAI,KAAK,gBAAgB,KAAK,SAAS,UAAU,yBAAyB;AACxE,WAAK,SAAS,QAAQ;IACxB;AACA,SAAK,iBAAgB;AACrB,UAAM,IAAI,KAAK,SAAS;AACxB,MAAE,UAAU;AACZ,MAAE,QAAQ;AACV,MAAE,aAAa;AACf,MAAE,aAAa;EACjB;EAEQ,qBAAqB,GAAmB;AAC9C,SAAK,YAAY;AACjB,SAAK,gBAAe;AACpB,SAAK,gBAAe;AACpB,QAAI,EAAE,MAAM;AACV,WAAK,0BAA0B,EAAE,MAAM,EAAE,MAAM,IAAI,YAAY,IAAG,EAAE;AACpE,WAAK,OAAO,EAAE,IAAI;IACpB;EACF;EAEQ,kBAAe;AACrB,SAAK,mBAAmB;AACxB,UAAM,IAAI,KAAK,SAAS;AACxB,MAAE,UAAU,KAAK,eAAe,MAAM;AACtC,MAAE,QAAQ,KAAK,eAAe,gCAAgC;AAC9D,MAAE,SAAS,KAAK,eAAe,2BAA2B;AAC1D,MAAE,QAAQ;AACV,MAAE,aAAa;AACf,MAAE,aAAa;EACjB;EAEQ,mBAAgB;AACtB,UAAM,SAAS,KAAK,UAAS;AAC7B,UAAM,WAAW,KAAK,YAAW;AACjC,UAAM,WAAW,KAAK,QAAQ,cAC5B,qCAAqC;AAEvC,QAAI,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,WAAW;AAC1D,WAAK,SAAS,MAAM,OAAO;AAC3B,WAAK,SAAS,MAAM,MAAM;AAC1B,UAAI,KAAK,WAAW;AAClB,aAAK,SAAS,MAAM,QAAQ,GAAG,KAAK,IAAI,GAAG,KAAK,gBAAgB,CAAC;AACjE,aAAK,SAAS,MAAM,SAAS,GAAG,UAAU,aAAa,EAAE;MAC3D;AACA;IACF;AAEA,UAAM,EAAE,WAAW,UAAS,IAAK;AACjC,QAAI,aAAa,KAAK,aAAa;AAAG;AACtC,UAAM,SAAS,OAAO,UAAS;AAC/B,UAAM,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,OAAO,KAAK,OAAO,QAAO,IAAK,CAAC,CAAC;AAClE,UAAM,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,OAAO,KAAK,OAAO,QAAO,IAAK,CAAC,CAAC;AAClE,UAAM,WAAW,KAAK,QAAQ,sBAAqB;AACnD,UAAM,UAAU,SAAS,sBAAqB;AAC9C,UAAM,IAAI,KAAK,SAAS;AACxB,MAAE,OAAO,GAAG,QAAQ,OAAO,SAAS,OAAO,KAAK,QAAQ,aAAa,KAAK,QAAQ,aAAa,MAAM,SAAS;AAC9G,MAAE,MAAM,GAAG,QAAQ,MAAM,SAAS,MAAM,KAAK,QAAQ,YAAY,KAAK,QAAQ,YAAY,MAAM,SAAS;AACzG,QAAI,KAAK,WAAW;AAClB,QAAE,QAAQ,GAAG,KAAK,KACf,OAAO,QAAO,IAAK,OAAO,WAC3B,KAAK,IAAI,WAAW,KAAK,gBAAgB,CAAC,CAC3C;AACD,QAAE,SAAS,GAAG,SAAS;IACzB;EACF;EAEQ,kBAAe;AACrB,UAAM,YAAY,KAAK,YAAW,GAAI;AACtC,QAAI,CAAC,aAAa,aAAa;AAAG;AAGlC,SAAK,SAAS,MAAM,QAAQ;AAC5B,SAAK,mBAAmB,KAAK,SAAS,QAClC,KAAK,IAAI,WAAW,KAAK,SAAS,cAAc,SAAS,IACzD;AACJ,SAAK,iBAAgB;EACvB;EAEQ,kBAAe;AACrB,SAAK,SAAS,QAAQ,KAAK,eAAe,0BAA0B;AACpE,QAAI,KAAK;AAAc,WAAK,SAAS,kBAAkB,GAAG,CAAC;EAC7D;EAEQ,kBAAe;AACrB,SAAK,kBAAkB,eAAc;AACrC,UAAM,SAAS,KAAK,UAAS;AAC7B,UAAM,QAAQ,QAAQ,qBAAoB,KAAM;AAChD,UAAM,MAAM,QACR,eACE,IAAI,cAAc,WAAW;MAC3B,KAAK;MACL,MAAM;KACP,GACD,OACA,SACA,QACA,QAAQ,gBAAe,KAAM,KAAK,IAEpC;AACJ,QAAI;AAAK,WAAK,OAAO,GAAG;EAC1B;EAEQ,YAAY,OAAY;AAC9B,SAAK,eAAe;AACpB,QAAI,KAAK,WAAW;AAClB,WAAK,gBAAe;AACpB;IACF;AACA,UAAM,YAAa,MAAqB;AACxC,UAAM,WAAW,KAAK,SAAS;AAC/B,UAAM,QACJ,KAAK,gBAAgB,SAAS,WAAW,uBAAuB,IAC5D,SAAS,MAAM,wBAAwB,MAAM,IAC7C;AACN,SAAK,gBAAe;AACpB,UAAM,SAAS,KAAK;AACpB,SAAK,0BAA0B;AAC/B,QAAI,KAAK,gBAAgB,cAAc,yBAAyB;AAC9D,UAAI,KAAK,8BAA8B;AACrC,aAAK,+BAA+B;MACtC,OAAO;AACL,aAAK,gBAAe;MACtB;AACA;IACF;AACA,SAAK,+BAA+B;AACpC,QAAI,CAAC;AAAO;AAGZ,QACE,UACA,UAAU,OAAO,QACjB,YAAY,IAAG,IAAK,OAAO,KAAK;AAEhC;AACF,QAAI,cAAc;AAAmB,WAAK,UAAU,KAAK;SACpD;AACH,WAAK,kBAAkB,eAAc;AACrC,WAAK,OAAO,KAAK;IACnB;EACF;EAEQ,YACN,OACA,MAA4C;AAE5C,UAAM,SAAS,KAAK,UAAS;AAC7B,UAAM,WAAW,QAAQ,gBAAe,KAAM;AAC9C,UAAM,WACJ,QAAQ,gBAAe,MAAO,QAAQ,WAAU,IAAK,QAAQ;AAC/D,QACE,CAAC,UACD,aAAa,KACZ,aAAa,SACZ,aAAa,gBACb,aAAa,SACb,aAAa,UACb,aAAa,SACf;AACA,WAAK,kBAAkB;AACvB;IACF;AACA,QAAI,SAAS,SAAS;AACpB,YAAM,QAAQ;AACd,YAAM,eACJ,KAAK,QAAQ,eAAe,KAAK,QAAQ;AAC3C,UACE,eAAe,MACd,MAAM,YACL,eAAe,KAAK,QAAQ,YAAY,8BAC1C;AACA,aAAK,kBAAkB;AACvB,YAAI,MAAM,UAAU;AAClB,gBAAM,QACJ,KAAK,IAAI,MAAM,MAAM,IAAI,KAAK,IAAI,MAAM,MAAM,IAC1C,MAAM,SACN,MAAM;AACZ,gBAAM,QACJ,MAAM,cAAc,IACf,KAAK,YAAW,GAAI,aAAa,KAClC,MAAM,cAAc,IAClB,KAAK,QAAQ,eACb;AACR,cAAI,UAAU,GAAG;AACf,iBAAK,QAAQ,aAAa,QAAQ;AAClC,kBAAM,eAAc;UACtB;QACF;AACA;MACF;IACF;AACA,QACE,SAAS,WACT,yBACE,OACA,KAAK,QAAQ,cAAc,aAAa,aAAa,SAAS,KAEhE,MAAM,kBAAkB,WACxB,MAAM,OAAO,QAAQ,YAAY,GACjC;AACA;IACF;AACA,QAAI,SAAS,YAAY,MAAM,YAAY,MAAM,SAAS;AAAI;AAC9D,QAAI,SAAS,aAAa,MAAM,SAAS;AAAG;AAC5C,UAAM,mBAAmB,MAAM,UAAU;AACzC,UAAM,eACJ,aAAa,QAAS,aAAa,QAAQ,qBAAqB;AAClE,QAAI,SAAS,UAAU,CAAC,cAAc;AACpC,WAAK,kBAAkB;AACvB;IACF;AAEA,UAAM,OAAO,KAAK,QAAQ,cAAc;AACxC,QAAI,CAAC;AAAM;AACX,UAAM,cAAc,KAAK,QAAQ,cAC/B,qCAAqC;AAEvC,UAAM,WAAW,KAAK,QAAQ,sBAAqB;AACnD,UAAM,UAAU,aAAa,sBAAqB;AAClD,UAAM,WAAW,KAAK,YAAW;AACjC,QAAI;AACJ,QAAI;AACJ,QAAI;AACJ,QAAI;AACJ,QAAI,WAAW,UAAU;AACvB,aAAO,QAAQ;AACf,YAAM,QAAQ;AACd,kBAAY,SAAS;AACrB,kBAAY,SAAS;IACvB,OAAO;AACL,YAAM,QAAQ,KAAK,iBAAiB,KAAK,OAAO;AAChD,YAAM,aAAa,WAAW,MAAM,eAAe,KAAK;AACxD,YAAM,cAAc,WAAW,MAAM,gBAAgB,KAAK;AAC1D,YAAM,YAAY,WAAW,MAAM,cAAc,KAAK;AACtD,YAAM,eAAe,WAAW,MAAM,iBAAiB,KAAK;AAC5D,YAAM,cAAc,WAAW,MAAM,WAAW,KAAK;AACrD,YAAM,eAAe,WAAW,MAAM,YAAY,KAAK;AACvD,YAAM,aAAa,WAAW,MAAM,UAAU,KAAK;AACnD,YAAM,gBAAgB,WAAW,MAAM,aAAa,KAAK;AACzD,aAAO,SAAS,QAAQ,SAAS,OAAO,aAAa;AACrD,YAAM,SAAS,OAAO,SAAS,MAAM,YAAY;AACjD,mBACG,SAAS,QACR,aACA,cACA,cACA,gBACF,OAAO,QAAO;AAChB,mBACG,SAAS,SACR,YACA,eACA,aACA,iBACF,OAAO,QAAO;IAClB;AACA,UAAM,OAAO,OAAO,QAAO;AAC3B,UAAM,OAAO,OAAO,QAAO;AAC3B,UAAM,YAAY,YAAY;AAC9B,UAAM,aAAa,YAAY;AAC/B,QACE,CAAC,OAAO,SAAS,SAAS,KAC1B,CAAC,OAAO,SAAS,UAAU,KAC3B,aAAa,KACb,cAAc;AAEd;AACF,UAAM,cACJ,MAAM,UAAU,QAChB,MAAM,WAAW,OAAO,aACxB,MAAM,UAAU,OAChB,MAAM,WAAW,MAAM;AACzB,QACE,gBACC,SAAS,WACR,SAAS,WACR,SAAS,UAAU,qBAAqB,IAC3C;AACA,WAAK,kBAAkB;AACvB;IACF;AACA,UAAM,SAAS,aAAa;AAE5B,UAAM,IAAI,KAAK,IACb,GACA,KAAK,IACH,SAAS,KAAK,KAAK,SAAS,IAAI,MAChC,KAAK,OAAO,MAAM,UAAU,SAAS,SAAS,IAAI,UAAU,IAAI,CAAC,CAClE;AAEH,UAAM,IAAI,KAAK,IACb,GACA,KAAK,IACH,SAAS,KAAK,KAAK,UAAU,IAAI,MACjC,KAAK,OAAO,MAAM,UAAU,QAAQ,SAAS,IAAI,UAAU,IAAI,CAAC,CACjE;AAEH,UAAM,aACH,MAAM,WAAW,IAAI,MACrB,MAAM,SAAS,IAAI,MACnB,MAAM,UAAU,KAAK;AACxB,QAAI;AACJ,QAAI,QAAQ;AACZ,QAAI,SAAS,SAAS;AACpB,YAAM,QAAQ;AACd,UAAI,KAAK,IAAI,MAAM,MAAM,IAAI,KAAK,IAAI,MAAM,MAAM,GAAG;AACnD,YAAI,MAAM,WAAW;AAAG;AACxB,gBAAQ,MAAM,SAAS,IAAI,KAAK,MAAM;MACxC,OAAO;AACL,YAAI,MAAM,WAAW;AAAG;AACxB,gBAAQ,MAAM,SAAS,IAAI,KAAK,MAAM;MACxC;IACF,OAAO;AACL,YAAM,SACJ,SAAS,aAAa,aAAa,SAAS,CAAC,SACzC,IACA,SAAS,SACP,qBAAqB,IACnB,IACA,mBAAmB,IACjB,IACA,mBAAmB,IACjB,IACA,IACN,MAAM,WAAW,IACf,IACA,MAAM,WAAW,IACf,IACA;AACZ,aAAO,SAAS,aAAa,SAAS,SAAS,KAAK;AACpD,UAAI,SAAS;AAAW,gBAAQ;IAClC;AACA,UAAM,SACJ,aAAa,QACT,WAAW,GAAG,IAAM,IAAM,IAAM,OAAO,IAAI,IAAI,IAAI,IAAI,EAAE,IACzD;AACN,QACE,WACC,IAAI,OACH,IAAI,OACH,CAAC,KAAK,aAAa,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,IAAI,OACrD;AACA,WAAK,kBAAkB;AACvB;IACF;AACA,QAAI,aAAa,WAAW,IAAI,QAAQ,IAAI,OAAO;AACjD,WAAK,kBAAkB;AACvB;IACF;AACA,QAAI,SAAS,QAAQ;AACnB,YAAM,WAAW,KAAK;AACtB,UACE,UAAU,SAAS,YACnB,SAAS,aAAa,YACtB,SAAS,SAAS,QAClB,SAAS,MAAM,KACf,SAAS,MAAM,GACf;AACA;MACF;AACA,WAAK,kBAAkB,EAAE,MAAM,UAAU,UAAU,MAAM,GAAG,EAAC;IAC/D,OAAO;AACL,WAAK,kBAAkB;IACzB;AACA,QAAI,SAAS,SAAS;AACpB,WAAK,SAAS,MAAM,EAAE,eAAe,KAAI,CAAE;AAC3C,UAAI,CAAC,KAAK;AAAS,aAAK,SAAQ;AAChC,WAAK,eACH,qBACC,MAAM,WAAW,IAAI,IAAI,MAAM,WAAW,IAAI,IAAI;AACrD,WAAK,iBAAiB,aAAa,KAAK,YAAY;AACpD,WAAK,iBAAiB,WAAW,KAAK,UAAU;IAClD;AACA,UAAM,eAAc;AACpB,QAAI,QAAQ;AACV,UAAI,KAAK;AAAU,aAAK,SAAS,MAAM;;AAClC,aAAK,OAAO,OAAO,aAAa,GAAG,MAAM,CAAC;IACjD,WAAW,aAAa,QAAQ;AAC9B,WAAK,OAAO,SAAS,OAAO,cAAc,OAAO,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,EAAE;IACxE,WAAW,aAAa,SAAS;AAC/B,WAAK,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;IAC5C,OAAO;AACL,WAAK,OAAO,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE;IAC/C;EACF;EAEQ,mBAAgB;AACtB,SAAK,eAAe;AACpB,UAAM,OAAO,KAAK,QAAQ,cAAc;AACxC,UAAM,oBAAoB,aAAa,KAAK,YAAY;AACxD,UAAM,oBAAoB,WAAW,KAAK,UAAU;EACtD;EAEQ,cAAc,GAAgB;AACpC,QAAI,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,EAAE,SAAS;AACxC,YAAM,UAAU,kBAAkB,EAAE,GAAG;AACvC,UAAI,YAAY;AAAM,eAAO;AAC7B,UAAI,EAAE,QAAQ;AAAa,eAAO;IACpC;AAEA,QAAI,EAAE,QAAQ,WAAW,EAAE;AAAU,aAAO;AAC5C,QAAI,EAAE,QAAQ,SAAS,EAAE;AAAU,aAAO;AAE1C,QAAI,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU;AACvD,YAAM,WACJ,IAAI,OAAO,EAAE,QAAQ,IAAI,IAAI,OAAO,EAAE,MAAM,IAAI,IAAI,OAAO,EAAE,OAAO;AACtE,YAAM,QAAQ,kBAAkB,EAAE,GAAG;AACrC,UAAI;AAAO,eAAO,UAAU,QAAQ,GAAG,KAAK;AAC5C,YAAM,QAAQ,oBAAoB,EAAE,GAAG;AACvC,UAAI;AAAO,eAAO,QAAQ,KAAK,IAAI,QAAQ;IAC7C;AAEA,UAAM,QAAQ,WAAW,EAAE,GAAG;AAC9B,QAAI;AAAO,aAAO,EAAE,SAAS,SAAS,QAAQ;AAE9C,UAAM,SAAS,KAAK,UAAS;AAC7B,UAAM,UAAU,UAAU,OAAO,cAAa;AAC9C,UAAM,SAAS,UAAU,WAAW;AACpC,UAAM,MAAM,OAAO,EAAE,GAAG;AACxB,QAAI;AAAK,aAAO,EAAE,SAAS,SAAS,MAAM;AAE1C,QAAI,EAAE,IAAI,WAAW,KAAK,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS;AAClD,aAAO,EAAE,SAAS,SAAS,EAAE,MAAM,EAAE;IACvC;AAEA,WAAO;EACT;;;;ACx8BF,IAAM,kBAAkB,KAAK,OAAO;AAG9B,UAAW,SACf,MACA,QAAQ,iBAAe;AAEvB,QAAM,UAAU,KAAK,mBAAkB;AACvC,QAAM,QAAkB,CAAA;AACxB,MAAI,QAAQ;AACZ,MAAI,SAAS;AACb,MAAI,OAAO;AACX,MAAI,eAAe;AACnB,QAAM,SAAS,CAAC,SAAgB;AAC9B,cAAU,KAAK;AACf,QAAI,SAAS;AACX,YAAM,IAAI,WACR,oDAAoD;AAExD,aAAS;AACT,QAAI,MAAM,UAAU,MAAM;AACxB,YAAM,KAAK,KAAK;AAChB,cAAQ;IACV;EACF;AACA,WAAS,MAAM,GAAG,MAAM,UAAU,KAAK,QAAO,GAAI,OAAO;AACvD,UAAM,SAAS,UAAU,MAAM;AAC/B,UAAM,WACJ,MAAM,UACF,KAAK,2BAA2B,MAAM,IACtC,KAAK,iBAAiB,MAAM,OAAO;AACzC,QAAI,MAAM,KAAK,EAAE,gBAAgB,UAAU;AAAoB,aAAO,IAAI;AAC1E,mBAAe,UAAU,eAAe;AACxC,UAAM,OACJ,MAAM,UAAU,KAAK,qBAAqB,MAAM,IAAI,KAAK,QAAO;AAElE,QAAI,SAAS;AACb,aAAS,MAAM,GAAG,MAAM,MAAM,OAAO;AACnC,UAAI,EAAE,QAAQ,KAAK;AACjB,eAAO;AACP;MACF;AACA,YAAM,OACJ,MAAM,UACF,KAAK,kBAAkB,QAAQ,GAAG,IAClC,KAAK,QAAQ,MAAM,SAAS,GAAG;AACrC,UAAI,KAAK,UAAU,KAAK,KAAK;AAAY;AACzC,YAAM,OAAO,KAAK,SAAS,OAAO,cAAc,KAAK,QAAQ,EAAE;AAC/D,UAAI,OAAO,KAAK,IAAI,GAAG;AACrB,kBAAU,KAAK;MACjB,OAAO;AACL,YAAI,SAAS,SAAS,KAAK,SAAS;AAClC,gBAAM,IAAI,WACR,oDAAoD;AAExD,eAAO,IAAI,OAAO,MAAM,IAAI,IAAI;AAChC,iBAAS;MACX;IACF;AACA,QAAI,cAAc;AAChB,UAAI,SAAS,SAAS;AACpB,cAAM,IAAI,WACR,oDAAoD;AAExD,aAAO,IAAI,OAAO,MAAM,CAAC;IAC3B;AACA,QAAI,EAAE,QAAQ,KAAK;AACjB,aAAO;AACP;IACF;EACF;AACA,QAAM,KAAK,KAAK;AAChB,SAAO,MAAM,KAAK,EAAE;AACtB;AAEA,SAAS,QAAQ,SAAe;AAC9B,SAAO,IAAI,aAAa,SAAS,YAAY;AAC/C;AAGM,IAAO,cAAP,MAAkB;EAAxB,cAAA;AACU,SAAA,UAMG;AACH,SAAA,QAA8C;EAwDxD;EAtDE,KAAK,QAAoB;AACvB,SAAK,OAAO,QAAQ,kCAAkC,CAAC;AACvD,QAAI,QAAQ;AAAS,aAAO,QAAQ,OAAO,OAAO,MAAM;AACxD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAU;AACrC,YAAM,QAAQ,MAAM,KAAK,OAAO,QAAQ,MAAM;AAC9C,WAAK,UAAU,EAAE,SAAS,QAAQ,QAAQ,OAAO,MAAM,KAAI;AAC3D,cAAQ,iBAAiB,SAAS,OAAO,EAAE,MAAM,KAAI,CAAE;IACzD,CAAC;EACH;EAEA,OAAO,MAAkB;AACvB,UAAM,UAAU,KAAK;AACrB,QAAI,CAAC,WAAW,QAAQ;AAAM;AAC9B,UAAM,OAAQ,QAAQ,OAAO,SAAS,IAAI;AAC1C,UAAM,OAAO,MAAK;AAChB,UAAI,KAAK,YAAY;AAAS;AAC9B,WAAK,QAAQ;AACb,YAAM,WAAW,YAAY,IAAG,IAAK;AACrC,UAAI;AACF,iBAAS,QAAQ,GAAG,QAAQ,IAAI,SAAS;AACvC,gBAAM,OAAO,KAAK,KAAI;AACtB,cAAI,KAAK,MAAM;AACb,iBAAK,QAAO;AACZ,oBAAQ,QAAQ,KAAK,KAAK;AAC1B;UACF;AACA,cAAI,YAAY,IAAG,KAAM;AAAU;QACrC;AACA,aAAK,QAAQ,WAAW,MAAM,CAAC;MACjC,SAAS,OAAO;AACd,aAAK,OAAO,KAAK;MACnB;IACF;AACA,SAAK,QAAQ,WAAW,MAAM,CAAC;EACjC;EAEA,OAAO,OAAe;AACpB,UAAM,UAAU,KAAK;AACrB,QAAI,CAAC;AAAS;AACd,SAAK,QAAO;AACZ,YAAQ,OACN,UAAU,SACN,QAAQ,sCAAsC,IAC9C,KAAK;EAEb;EAEQ,UAAO;AACb,QAAI,KAAK,UAAU;AAAM,mBAAa,KAAK,KAAK;AAChD,SAAK,QAAQ;AACb,SAAK,SAAS,QAAQ,oBAAoB,SAAS,KAAK,QAAQ,KAAK;AACrE,SAAK,SAAS,MAAM,OAAO,EAAE;AAC7B,SAAK,UAAU;EACjB;;;;AC5IF,IAAM,SAAS,oBAAI,QAAO;AAGpB,IAAO,mBAAP,MAAuB;EAS3B,YAAoB,SAAoB;AAApB,SAAA,UAAA;AARZ,SAAA,OAAsB;AACtB,SAAA,OAAuC;AACvC,SAAA,QAA8C;AAC9C,SAAA,UAAgD;AAEhD,SAAA,YAAuC;AACvC,SAAA,YAAY,oBAAI,IAAG;AA4InB,SAAA,gBAAgB,CAAC,UAAuB;AAE9C,UAAI,MAAM,WAAW,KAAK,KAAK,QAAQ,SAAS,MAAM,MAAc;AAClE;AACF,WAAK,MAAK;IACZ;AAEQ,SAAA,UAAU,CAAC,UAAqB;AACtC,UAAI,CAAC,KAAK,QAAQ,SAAS,MAAM,MAAc;AAAG,aAAK,MAAK;IAC9D;AAEQ,SAAA,oBAAoB,MAAK;AAC/B,UAAI,CAAC,KAAK;AAAQ;AAClB,YAAMC,OAAM,KAAK,QAAQ;AACzB,YAAM,SAASA,KAAI;AACnB,UACE,WACC,OAAO,YAAY,WAAW,OAAO,YAAY,aAClD;AACA,cAAM,QAAQ;AACd,YAAI,MAAM,mBAAmB,MAAM,cAAc;AAC/C,eAAK,MAAK;AACV;QACF;MACF;AACA,YAAM,YAAYA,KAAI,aAAY;AAClC,UAAI,aAAa,CAAC,UAAU;AAAa,aAAK,MAAK;IACrD;AApKE,SAAK,SAAS,QAAQ,cAAc,cAAc,KAAK;AACvD,SAAK,OAAO,YAAY;AACxB,SAAK,OAAO,aAAa,QAAQ,QAAQ;AACzC,YAAQ,YAAY,KAAK,MAAM;AAC/B,UAAM,MAAM,QAAQ;AACpB,QAAI,iBAAiB,eAAe,KAAK,eAAe,IAAI;AAC5D,QAAI,iBAAiB,WAAW,KAAK,OAAO;AAC5C,QAAI,iBAAiB,mBAAmB,KAAK,iBAAiB;EAChE;EAEA,IAAI,UAAO;AACT,WAAO,KAAK,YAAY;EAC1B;EAEA,IAAI,SAAM;AACR,WAAO,KAAK,WAAW,KAAK,SAAS;EACvC;EAEA,UAAO;AACL,SAAK,kBAAiB;AACtB,WAAO,KAAK;EACd;EAEA,SAAM;AACJ,SAAK,MAAK;AACV,SAAK,OAAO,cAAc;AAC1B,WAAO,IAAI,QAAQ,CAAC,YAAW;AAC7B,WAAK,UAAU;IACjB,CAAC;EACH;EAEA,gBAAgB,WAA6B;AAC3C,SAAK,MAAK;AACV,SAAK,YAAY;AACjB,SAAK,OAAO,UAAU;EACxB;EAEA,eACE,MACA,WAAiB;AAEjB,SAAK,iBAAgB;AACrB,QAAI,CAAC,KAAK,aAAa,aAAa;AAAG;AACvC,UAAM,QAAQ,KAAK,UAAU,KAAK,CAAC,EAAE;AACrC,eAAW,EAAE,KAAK,QAAO,KAAM,MAAM;AACnC,YAAM,QAAQ,KAAK,UAAU,KAAK,MAAM,KAAK;AAC7C,UAAI,CAAC;AAAO;AACZ,cAAQ,UAAU,IAAI,oBAAoB;AAC1C,cAAQ,MAAM,YACZ,yBACA,GAAG,MAAM,OAAO,SAAS,IAAI;AAE/B,cAAQ,MAAM,YACZ,0BACA,IAAI,MAAM,QAAQ,MAAM,QAAQ,SAAS,IAAI;AAE/C,WAAK,UAAU,IAAI,OAAO;IAC5B;EACF;EAEQ,mBAAgB;AACtB,eAAW,WAAW,KAAK,WAAW;AACpC,cAAQ,UAAU,OAAO,oBAAoB;AAC7C,cAAQ,MAAM,eAAe,uBAAuB;AACpD,cAAQ,MAAM,eAAe,wBAAwB;IACvD;AACA,SAAK,UAAU,MAAK;EACtB;EAEQ,QAAK;AACX,UAAM,MAAM,KAAK,QAAQ;AACzB,WAAO,IAAI,GAAG,GAAG,MAAK;AACtB,SAAK,MAAK;AACV,WAAO,IAAI,KAAK,IAAI;AAGpB,UAAM,SAAS,IAAI,aAAY;AAC/B,QAAI,UAAU,CAAC,OAAO;AAAa,aAAO,gBAAe;EAC3D;;EAGA,OAAO,MAAkB;AACvB,QAAI,CAAC,KAAK,WAAW,KAAK;AAAM;AAChC,UAAM,OAAQ,KAAK,OAAO,SAAS,IAAI;AACvC,UAAM,OAAO,MAAK;AAChB,WAAK,QAAQ;AACb,YAAM,WAAW,YAAY,IAAG,IAAK;AACrC,UAAI;AACF,iBAAS,QAAQ,GAAG,QAAQ,IAAI,SAAS;AACvC,gBAAM,OAAO,KAAK,KAAI;AACtB,cAAI,KAAK,MAAM;AACb,iBAAK,OAAO;AACZ,iBAAK,OAAO,KAAK;AACjB,iBAAK,QAAQ,UAAU,IAAI,iBAAiB;AAC5C,iBAAK,OAAO,cAAc;AAC1B,kBAAM,UAAU,KAAK;AACrB,iBAAK,UAAU;AACf,sBAAU,IAAI;AACd;UACF;AACA,cAAI,YAAY,IAAG,KAAM;AAAU;QACrC;AACA,aAAK,QAAQ,WAAW,MAAM,CAAC;MACjC,QAAQ;AACN,aAAK,MAAK;AACV,aAAK,OAAO,cACV;MACJ;IACF;AACA,SAAK,QAAQ,WAAW,MAAM,CAAC;EACjC;EAEA,MAAM,UAAU,IAAE;AAChB,QAAI,CAAC,KAAK,UAAU,CAAC,KAAK,OAAO,eAAe,CAAC;AAAS;AAC1D,QAAI,KAAK,UAAU;AAAM,mBAAa,KAAK,KAAK;AAChD,SAAK,QAAQ;AACb,SAAK,MAAM,OAAO,EAAE;AACpB,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,YAAY;AACjB,SAAK,iBAAgB;AACrB,SAAK,QAAQ,UAAU,OAAO,iBAAiB;AAC/C,SAAK,OAAO,cAAc;AAC1B,QAAI,OAAO,IAAI,KAAK,QAAQ,aAAa,MAAM;AAC7C,aAAO,OAAO,KAAK,QAAQ,aAAa;AAC1C,UAAM,UAAU,KAAK;AACrB,SAAK,UAAU;AACf,cAAU,KAAK;EACjB;EAEA,aAAU;AACR,QAAI,CAAC,KAAK;AAAQ;AAClB,SAAK,MACH,KAAK,UAAU,gDAAgD,EAAE;EAErE;EA+BA,UAAO;AACL,SAAK,MAAK;AACV,UAAM,MAAM,KAAK,QAAQ;AACzB,QAAI,oBAAoB,eAAe,KAAK,eAAe,IAAI;AAC/D,QAAI,oBAAoB,WAAW,KAAK,OAAO;AAC/C,QAAI,oBAAoB,mBAAmB,KAAK,iBAAiB;AACjE,SAAK,OAAO,OAAM;EACpB;;;;AC5LI,IAAO,gBAAP,MAAoB;EAOxB,YACU,SACA,WAKP;AANO,SAAA,UAAA;AACA,SAAA,YAAA;AARF,SAAA,SAAkC;AAClC,SAAA,gBAAgB;AAChB,SAAA,QAAQ;AACR,SAAA,YAA+B;AAC/B,SAAA,QAAuB;AAqBvB,SAAA,OAAO,CAAC,UAAqB;AACnC,WAAK,OAAM;AACX,WAAK,QAAQ;AACb,WAAK,gBAAgB;AACrB,UACE,MAAM,oBACN,MAAM,WAAW,KACjB,CAAC,MAAM,UACP,MAAM,WACN,MAAM;AAEN;AACF,YAAM,SAAS,KAAK,UAAU,MAAM,KAAK;AACzC,UAAI,CAAC,UAAU,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM;AAAG;AACvD,WAAK,SAAS;AACd,WAAK,QAAQ;AACb,YAAM,eAAc;AACpB,YAAM,yBAAwB;IAChC;AAQQ,SAAA,OAAO,CAAC,UAAqB;AACnC,UAAI,CAAC,KAAK;AAAO;AACjB,UAAI,EAAE,MAAM,UAAU,IAAI;AACxB,aAAK,KAAI;AACT;MACF;AACA,YAAM,eAAc;AACpB,YAAM,yBAAwB;AAC9B,WAAK,OAAO,KAAK;AACjB,WAAK,YAAY;AACjB,WAAK,eAAc;IACrB;AAsBQ,SAAA,KAAK,CAAC,UAAqB;AACjC,UAAI,CAAC,KAAK,SAAS,MAAM,WAAW;AAAG;AACvC,YAAM,eAAc;AACpB,YAAM,yBAAwB;AAC9B,WAAK,OAAO,KAAK;AACjB,WAAK,OAAM;AACX,WAAK,QAAQ;AACb,WAAK,gBAAgB;IACvB;AAEQ,SAAA,QAAQ,CAAC,UAAqB;AACpC,UAAI,CAAC,KAAK,iBAAiB,MAAM,WAAW;AAAG;AAC/C,WAAK,gBAAgB;AACrB,YAAM,eAAc;AACpB,YAAM,yBAAwB;IAChC;AAEQ,SAAA,MAAM,CAAC,UAAwB;AACrC,UAAI,CAAC,KAAK,UAAU,MAAM,QAAQ;AAAU;AAC5C,YAAM,eAAc;AACpB,YAAM,yBAAwB;AAC9B,WAAK,OAAM;AACX,WAAK,UAAU,MAAK;IACtB;AAEA,SAAA,SAAS,MAAW;AAClB,WAAK,SAAS;AACd,WAAK,YAAY;AACjB,UAAI,KAAK,UAAU;AAAM,6BAAqB,KAAK,KAAK;AACxD,WAAK,QAAQ;IACf;AAEQ,SAAA,OAAO,MAAW;AACxB,WAAK,OAAM;AACX,WAAK,QAAQ;IACf;AAEQ,SAAA,QAAQ,CAAC,UAA2B;AAC1C,UAAI,CAAC,KAAK,QAAQ,SAAS,MAAM,MAAc;AAAG,aAAK,OAAM;IAC/D;AA5GE,YAAQ,iBAAiB,aAAa,KAAK,MAAM,IAAI;AACrD,YAAQ,iBAAiB,SAAS,KAAK,OAAO,IAAI;AAClD,UAAM,MAAM,QAAQ;AACpB,QAAI,iBAAiB,aAAa,KAAK,MAAM,IAAI;AACjD,QAAI,iBAAiB,WAAW,KAAK,IAAI,IAAI;AAC7C,QAAI,iBAAiB,WAAW,KAAK,KAAK,IAAI;AAC9C,QAAI,iBAAiB,WAAW,KAAK,KAAK;AAC1C,QAAI,aAAa,iBAAiB,QAAQ,KAAK,IAAI;EACrD;EAsBQ,OAAO,OAAiB;AAC9B,UAAM,QAAQ,KAAK,UAAU,SAAS,KAAK;AAC3C,QAAI,KAAK,WAAW,CAAC,SAAS,CAAC,KAAK,UAAU,OAAO,KAAK,QAAQ,KAAK;AACrE,WAAK,UAAU,MAAK;EACxB;EAeQ,iBAAc;AACpB,QAAI,KAAK,UAAU,QAAQ,CAAC,KAAK,UAAU,CAAC,KAAK;AAAW;AAC5D,SAAK,QAAQ,sBAAsB,MAAK;AACtC,WAAK,QAAQ;AACb,UAAI,CAAC,KAAK,UAAU,CAAC,KAAK;AAAW;AACrC,YAAM,OAAO,KAAK,QAAQ,sBAAqB;AAC/C,YAAM,IAAI,KAAK,UAAU;AACzB,YAAM,QACJ,IAAI,KAAK,MACL,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,IAC1B,IAAI,KAAK,SACP,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM,IAC5B;AACR,YAAM,SAAS,KAAK,QAAQ;AAC5B,WAAK,QAAQ,aAAa;AAC1B,WAAK,OAAO,KAAK,SAAS;AAC1B,UAAI,KAAK,QAAQ,cAAc;AAAQ,aAAK,eAAc;IAC5D,CAAC;EACH;EA2CA,UAAO;AACL,SAAK,OAAM;AACX,SAAK,QAAQ,oBAAoB,aAAa,KAAK,MAAM,IAAI;AAC7D,SAAK,QAAQ,oBAAoB,SAAS,KAAK,OAAO,IAAI;AAC1D,UAAM,MAAM,KAAK,QAAQ;AACzB,QAAI,oBAAoB,aAAa,KAAK,MAAM,IAAI;AACpD,QAAI,oBAAoB,WAAW,KAAK,IAAI,IAAI;AAChD,QAAI,oBAAoB,WAAW,KAAK,KAAK,IAAI;AACjD,QAAI,oBAAoB,WAAW,KAAK,KAAK;AAC7C,QAAI,aAAa,oBAAoB,QAAQ,KAAK,IAAI;EACxD;;;;ACzIF,IAAM,cAAc;AACpB,IAAM,YAAY;AAClB,IAAM,WAAW;AACjB,IAAM,YAAY;AAClB,IAAM,iBAAiB;AACvB,IAAM,gBACJ;AAWI,IAAO,sBAAP,MAA0B;EAQ9B,YACU,MACA,SACA,OAAoB;AAFpB,SAAA,OAAA;AACA,SAAA,UAAA;AACA,SAAA,QAAA;AAVF,SAAA,OAA8B;AAC9B,SAAA,QAA8C;AAC9C,SAAA,WAA0B;AAC1B,SAAA,QAAQ;AACR,SAAA,aAAa;AACb,SAAA,SAAS;AA2CjB,SAAA,QAAQ,MAAW;AACjB,WAAK,WAAU;AACf,WAAK,QAAQ;AACb,WAAK,aAAa;AAClB,WAAK,SAAS;AACd,YAAM,OAAO,KAAK,QAAO;AAGzB,UAAI,QAAQ,KAAK,OAAM,GAAI;AACzB,aAAK,WAAW,KAAK,SAAS,IAAI;AAClC,YAAI,CAAC,KAAK;AAAU,eAAK,MAAK;MAChC;IACF;AAhDE,SAAK,iBAAiB,WAAW,KAAK,KAAK;AAC3C,SAAK,iBAAiB,YAAY,KAAK,KAAK;AAC5C,SAAK,cAAc,iBAAiB,oBAAoB,KAAK,KAAK;AAClE,SAAK,cAAc,aAAa,iBAAiB,QAAQ,KAAK,KAAK;AACnE,SAAK,cAAc,aAAa,iBAAiB,SAAS,KAAK,KAAK;EACtE;EAEA,WAAW,SAAgB;AACzB,QAAI,YAAY,CAAC,CAAC,KAAK;AAAM;AAC7B,QAAI,SAAS;AACX,WAAK,OAAO,KAAK,KAAK,cAAc,cAAc,KAAK;AACvD,WAAK,KAAK,YAAY;AACtB,WAAK,KAAK,aAAa,QAAQ,KAAK;AACpC,WAAK,KAAK,aAAa,cAAc,iBAAiB;AACtD,WAAK,KAAK,aAAa,aAAa,QAAQ;AAC5C,WAAK,KAAK,aAAa,iBAAiB,WAAW;AACnD,WAAK,KAAK,aAAa,eAAe,OAAO;AAC7C,WAAK,KAAK,OAAO,KAAK,IAAI;IAC5B,OAAO;AACL,WAAK,MAAM,OAAM;AACjB,WAAK,OAAO;IACd;AACA,SAAK,MAAK;EACZ;EAEQ,SAAM;AACZ,WACE,CAAC,CAAC,KAAK,QACP,KAAK,KAAK,UAAU,SAAS,SAAS,KACtC,KAAK,KAAK,eACV,KAAK,KAAK,cAAc,oBAAoB,YAC5C,KAAK,KAAK,cAAc,SAAQ;EAEpC;EAiBA,QAAK;AACH,QAAI,KAAK;AAAQ,WAAK,MAAK;SACtB;AACH,WAAK,QAAQ;AACb,WAAK,aAAa;IACpB;EACF;;EAGA,aAAU;AACR,QAAI,KAAK,UAAU;AAAM,mBAAa,KAAK,KAAK;AAChD,SAAK,QAAQ;AACb,SAAK,WAAW;AAChB,SAAK,MAAM,gBAAe;EAC5B;;EAGA,WAAQ;AACN,QAAI,CAAC,KAAK,OAAM,GAAI;AAClB,WAAK,WAAU;AACf;IACF;AACA,QAAI,KAAK,UAAU,KAAK,UAAU;AAAM;AACxC,UAAM,OAAO,KAAK,QAAO;AACzB,QAAI,CAAC;AAAM;AACX,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,WAAW,KAAK,SAAS,IAAI;AAClC,UAAI,CAAC,KAAK;AAAU,aAAK,MAAK;AAC9B;IACF;AACA,SAAK,QAAQ,WAAW,MAAK;AAC3B,WAAK,QAAQ;AACb,UAAI,CAAC,KAAK,OAAM,GAAI;AAClB,aAAK,WAAU;AACf;MACF;AAGA,UAAI,CAAC,KAAK,MAAK;AAAI;AACnB,YAAM,UAAU,KAAK,QAAO;AAC5B,UAAI;AAAS,aAAK,SAAS,OAAO;IACpC,GAAG,WAAW;EAChB;EAEQ,SAAS,MAAoB,OAAc;AACjD,UAAM,OAAO,KAAK,QAAO;AACzB,UAAM,OAAO,KAAK,QAAO;AACzB,UAAM,UAAU,KAAK,mBAAkB;AACvC,UAAM,YAAY,KAAK,8BAA6B,KAAM;AAC1D,UAAM,OAAO,UAAU;AACvB,UAAM,QAAQ,SAAS;AACvB,QAAI,QAAQ,cAAc,OAAO,OAAO,SAAS,OAAO;AACtD,aAAO;AACT,UAAM,QAAkB,CAAA;AACxB,QAAI,SAAS;AACb,aAAS,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO;AAC9C,YAAM,SAAS,OAAO,MAAM;AAC5B,YAAM,QAAQ,MAAM,OAAO,KAAK,qBAAqB,MAAM,IAAI;AAE/D,UAAI,QAAQ;AAAM,eAAO;AACzB,UAAI,OAAO;AACX,eAAS,MAAM,GAAG,MAAM,OAAO,OAAO;AACpC,cAAM,OACJ,MAAM,OACF,KAAK,kBAAkB,QAAQ,GAAG,IAClC,KAAK,QAAQ,MAAM,MAAM,GAAG;AAClC,YAAI,KAAK,UAAU,KAAK,KAAK;AAAY;AACzC,cAAM,QAAQ,KAAK,SAAS,OAAO,cAAc,KAAK,QAAQ,EAAE;AAChE,kBAAU,MAAM;AAChB,YAAI,SAAS;AAAU,iBAAO;AAC9B,gBAAQ;MACV;AACA,YAAM,KAAK,KAAK,QAAQ,OAAO,EAAE,CAAC;IACpC;AACA,WAAO,EAAE,MAAM,OAAO,MAAM,MAAM,WAAW,KAAK,eAAc,GAAI,MAAK;EAC3E;EAEQ,SAAS,MAAkB;AACjC,UAAM,WAAW,KAAK;AACtB,QAAI,CAAC;AAAU;AACf,UAAM,OACJ,KAAK,mBAAkB,KAAM,KAAK,8BAA6B,KAAM;AACvE,QACE,SAAS,SAAS,KAAK,QAAO,KAC9B,SAAS,SAAS,KAAK,QAAO,KAC9B,SAAS,cAAc,KAAK,eAAc,KAC1C,OAAO,SAAS,MAChB;AACA,WAAK,WAAW,KAAK,SAAS,IAAI;AAClC;IACF;AACA,UAAM,UAAU,KAAK,SAAS,MAAM,SAAS,IAAI;AACjD,QAAI,CAAC,SAAS;AACZ,WAAK,MAAK;AACV;IACF;AACA,UAAM,UAAU,QAAQ,MAAM,OAC5B,CAAC,MAAM,UAAU,KAAK,KAAI,KAAM,SAAS,SAAS,MAAM,KAAK,CAAC;AAEhE,SAAK,WAAW;MACd,GAAG;MACH;MACA,OAAO,QAAQ,MAAM,MAAM,OAAO,QAAQ,IAAI;;AAEhD,QAAI,CAAC,QAAQ;AAAQ;AACrB,UAAM,OAAO,QAAQ,KAAK,IAAI;AAC9B,QACE,KAAK,QAAQ,QAAQ,SAAS,aAC9B,KAAK,aAAa,KAAK,SAAS,gBAChC;AACA,WAAK,MAAK;AACV;IACF;AACA,SAAK,SAAS,QAAQ;AACtB,SAAK,cAAc,KAAK;AACxB,SAAK,QAAQ,IAAI;EACnB;EAEQ,QAAQ,MAAY;AAC1B,QAAI,CAAC,KAAK;AAAM;AAChB,UAAM,QAAQ,KAAK,KAAK,cAAc,cAAc,KAAK;AACzD,UAAM,cAAc;AAGpB,SAAK,KAAK,gBAAgB,KAAK;EACjC;EAEQ,QAAK;AACX,SAAK,SAAS;AACd,SAAK,WAAW;AAChB,SAAK,QAAQ,aAAa;EAC5B;EAEA,UAAO;AACL,SAAK,WAAW,KAAK;AACrB,SAAK,KAAK,oBAAoB,WAAW,KAAK,KAAK;AACnD,SAAK,KAAK,oBAAoB,YAAY,KAAK,KAAK;AACpD,SAAK,KAAK,cAAc,oBAAoB,oBAAoB,KAAK,KAAK;AAC1E,SAAK,KAAK,cAAc,aAAa,oBACnC,QACA,KAAK,KAAK;AAEZ,SAAK,KAAK,cAAc,aAAa,oBACnC,SACA,KAAK,KAAK;EAEd;;;;AClOF,IAAM,aAAqC;EACzC,GAAM;EACN,GAAM;EACN,GAAM;EACN,GAAM;EACN,IAAM;EACN,IAAM;EACN,IAAM;EACN,KAAM;;AAGR,SAAS,aAAa,OAAa;AACjC,QAAM,QAAkB,CAAA;AACxB,aAAW,CAAC,KAAK,IAAI,KAAK,OAAO,QAAQ,UAAU,GAAG;AACpD,QAAI,QAAQ,OAAO,GAAG;AAAG,YAAM,KAAK,IAAI;EAC1C;AACA,SAAO;AACT;AAaA,IAAM,MAAM;AAEZ,SAAS,cAAc,MAAY;AACjC,QAAM,UAAwB,CAAA;AAC9B,QAAM,KAAK,KAAK,IAAG;AACnB,MAAI,IAAI;AACR,MAAI,YAAY;AAEhB,QAAM,YAAY,MAAK;AACrB,QAAI,IAAI,WAAW;AACjB,YAAM,MAAM,KAAK,MAAM,WAAW,CAAC;AACnC,UAAI,IAAI,SAAS,KAAK,CAAC,iBAAiB,KAAK,GAAG,GAAG;AACjD,gBAAQ,KAAK,EAAE,IAAI,MAAM,QAAQ,KAAK,IAAI,MAAM,GAAG,EAAE,EAAC,CAAE;MAC1D;IACF;EACF;AAEA,SAAO,IAAI,KAAK,QAAQ;AACtB,QAAI,KAAK,WAAW,CAAC,MAAM,KAAK;AAC9B;AACA;IACF;AAEA,cAAS;AACT,UAAM,WAAW;AACjB;AAEA,QAAI,KAAK,KAAK;AAAQ;AACtB,UAAM,OAAO,KAAK,CAAC;AAEnB,QAAI,SAAS,KAAK;AAEhB;AACA,UAAI,OAAO;AACX,UACE,IAAI,KAAK,WACR,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,MACnD;AACA,eAAO,KAAK,CAAC;AACb;MACF;AACA,UAAI,WAAW;AACf,aACE,IAAI,KAAK,WACP,KAAK,WAAW,CAAC,KAAK,MAAQ,KAAK,WAAW,CAAC,KAAK,MACpD,KAAK,CAAC,MAAM,MACd;AACA,oBAAY,KAAK,CAAC;AAClB;MACF;AAEA,aACE,IAAI,KAAK,UACT,KAAK,WAAW,CAAC,KAAK,MACtB,KAAK,WAAW,CAAC,KAAK,IACtB;AACA;MACF;AACA,UAAI,QAAQ;AACZ,UACE,IAAI,KAAK,UACT,KAAK,WAAW,CAAC,KAAK,MACtB,KAAK,WAAW,CAAC,KAAK,KACtB;AACA,gBAAQ,KAAK,CAAC;AACd;MACF;AACA,YAAM,MAAM,KAAK,MAAM,UAAU,CAAC;AAClC,YAAM,SAAS,WACX,SACG,MAAM,MAAM,EACZ,IAAI,MAAM,EACV,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAC1B,CAAA;AAEJ,YAAM,OAAO,UAAU,MAAM,QAAQ;AACrC,cAAQ,KAAK;QACX;QACA;QACA;QACA,QAAQ,OAAO,SAAS,IAAI,SAAS;QACrC,SAAS,QAAQ;QACjB;OACD;IACH,WAAW,SAAS,KAAK;AAEvB;AACA,aACE,IAAI,KAAK,UACT,KAAK,WAAW,CAAC,MAAM,KACvB,EACE,KAAK,WAAW,CAAC,MAAM,OACvB,IAAI,IAAI,KAAK,UACb,KAAK,IAAI,CAAC,MAAM,OAElB;AACA;MACF;AACA,UAAI,IAAI,KAAK,QAAQ;AACnB,YAAI,KAAK,WAAW,CAAC,MAAM;AAAM;iBACxB,KAAK,WAAW,CAAC,MAAM;AAAK,eAAK;MAC5C;AACA,YAAM,MAAM,KAAK,MAAM,UAAU,CAAC;AAClC,cAAQ,KAAK,EAAE,IAAI,MAAM,OAAO,KAAK,IAAI,MAAM,GAAG,EAAE,EAAC,CAAE;IACzD,WAAW,QAAQ,OAAO,QAAQ,KAAK;AAErC;AACA,cAAQ,KAAK;QACX;QACA,MAAM;QACN,KAAK,KAAK,MAAM,UAAU,CAAC;QAC3B,OAAO;OACR;IACH,OAAO;AACL;IACF;AACA,gBAAY;EACd;AAEA,YAAS;AACT,SAAO;AACT;AAsCA,IAAM,aAAa;AAEb,IAAO,eAAP,MAAmB;EAAzB,cAAA;AACU,SAAA,UAAwB,CAAA;AACxB,SAAA,UAA+B;AAC/B,SAAA,QAAmB;MACzB,YAAY;MACZ,eAAe;MACf,aAAa;MACb,aAAa;MACb,eAAe;;EAiJnB;EA9IE,IAAI,SAAM;AACR,WAAO,KAAK;EACd;EAEA,IAAI,OAAI;AACN,WAAO,KAAK;EACd;EAEA,UAAU,QAAoB;AAC5B,SAAK,UAAU;EACjB;EAEA,WAAW,MAAyB;AAClC,UAAM,MACJ,OAAO,SAAS,WAAW,OAAO,IAAI,YAAW,EAAG,OAAO,IAAI;AACjE,UAAM,UAAU,cAAc,GAAG;AACjC,eAAW,SAAS,SAAS;AAC3B,WAAK,QAAQ,KAAK,KAAK;IACzB;AACA,QAAI,KAAK,QAAQ,SAAS,YAAY;AACpC,WAAK,UAAU,KAAK,QAAQ,MAAM,CAAC,UAAU;IAC/C;EACF;EAEA,aAAa,UAAkB,WAAiB;AAC9C,SAAK,MAAM;AACX,SAAK,MAAM,iBAAiB;AAC5B,SAAK,MAAM,cAAc,KAAK,MAAM,gBAAgB,KAAK,MAAM;AAC/D,QAAI,WAAW,KAAK,MAAM,aAAa;AACrC,WAAK,MAAM,cAAc;IAC3B;AACA,SAAK,MAAM,gBAAgB;EAC7B;EAEA,YAAS;AACP,SAAK,QAAQ;MACX,YAAY;MACZ,eAAe;MACf,aAAa;MACb,aAAa;MACb,eAAe;;EAEnB;;EAIA,KAAK,KAAa,KAAW;AAC3B,QAAI,CAAC,KAAK;AAAS,aAAO;AAC1B,UAAM,IAAI,KAAK,QAAQ,QAAQ,KAAK,GAAG;AACvC,WAAO;MACL,GAAG;MACH,SAAS,EAAE,UAAU,EAAE,QAAQ,KAAK,OAAO,cAAc,EAAE,IAAI,IAAI;MACnE,WAAW,aAAa,EAAE,KAAK;;EAEnC;EAEA,IAAI,KAAW;AACb,QAAI,CAAC,KAAK;AAAS,aAAO;AAC1B,UAAM,OAAO,KAAK,QAAQ,QAAO;AACjC,UAAM,QAAoB,CAAA;AAC1B,aAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,YAAM,KAAK,KAAK,KAAK,KAAK,CAAC,CAAE;IAC/B;AACA,WAAO;EACT;EAEA,OAAI;AACF,QAAI,CAAC,KAAK;AAAS,aAAO;AAC1B,UAAM,SAAS,KAAK,QAAQ,UAAS;AACrC,WAAO;MACL,MAAM,KAAK,QAAQ,QAAO;MAC1B,MAAM,KAAK,QAAQ,QAAO;MAC1B;MACA,WAAW,KAAK,QAAQ,eAAc;MACtC,iBAAiB,KAAK,QAAQ,mBAAkB;;EAEpD;EAEA,YAAS;AACP,QAAI,CAAC,KAAK;AAAS,aAAO,CAAA;AAC1B,WAAO,KAAK,QAAQ,sBAAqB;EAC3C;;EAIA,KAAK,QAAQ,IAAE;AACb,UAAM,UAAU,KAAK,QAAQ,MAAM,CAAC,KAAK;AACzC,YAAQ,MACN,6BAAwB,QAAQ,MAAM,WACtC,mCAAmC;AAErC,eAAW,KAAK,SAAS;AACvB,YAAM,QACJ,EAAE,SAAS,QACP,UACA,EAAE,SAAS,QACT,UACA,EAAE,SAAS,QACT,UACA,EAAE,SAAS,QACT,UACA;AACZ,YAAM,QACJ,EAAE,SAAS,QACP,oEACA,EAAE,SAAS,QACT,oEACA;AACR,YAAM,SAAS;QACb,EAAE,UAAU,WAAW,EAAE,OAAO,KAAK;QACrC,EAAE,SAAS,WAAW,EAAE,MAAM,MAAM;QACpC,EAAE,QAAQ,SAAS,EAAE,KAAK,KAAK;QAE9B,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,cAAQ,IACN,GAAG,KAAK,IAAI,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC,IAC9B,OACA,SAAS,KAAK,MAAM,KAAK,EAAE;IAE/B;AACA,YAAQ,SAAQ;EAClB;EAEA,gBAAa;AACX,UAAM,UAAU,KAAK,UAAS;AAC9B,QAAI,QAAQ,WAAW,GAAG;AACxB,cAAQ,IAAI,+CAA0C,gBAAgB;AACtE;IACF;AACA,YAAQ,MACN,wBAAmB,QAAQ,MAAM,wBACjC,mCAAmC;AAErC,eAAW,KAAK,SAAS;AACvB,cAAQ,IACN,WAAW,EAAE,KAAK,YAAY,EAAE,WAAW,GAAG,YAAY,EAAE,OAAO,MAAM,GAAG,EAAE,UAAU,CAAC,GAAG;IAEhG;AACA,YAAQ,SAAQ;EAClB;;;;AC1TF,SAAS,KAAK,MAAc,eAAsB;AAChD,MAAI;AAAe,WAAO;AAG1B,MAAI,KAAK,UAAU;AAAG,WAAO,KAAK,YAAW;AAC7C,MAAI,SAAS;AACb,aAAW,QAAQ;AAAM,cAAU,KAAK,YAAW;AACnD,SAAO;AACT;AAGM,UAAW,WACf,MACA,OACA,eAAsB;AAEtB,QAAM,SAAS,KAAK,OAAO,aAAa;AACxC,MAAI,CAAC;AAAQ;AACb,QAAM,SAAS,IAAI,YAAY,OAAO,MAAM;AAC5C,WAAS,IAAI,GAAG,SAAS,GAAG,IAAI,OAAO,QAAQ,KAAK;AAClD,WAAO,SAAS,KAAK,OAAO,CAAC,MAAM,OAAO,MAAM;AAC9C,eAAS,OAAO,SAAS,CAAC;AAC5B,QAAI,OAAO,CAAC,MAAM,OAAO,MAAM;AAAG;AAClC,WAAO,CAAC,IAAI;EACd;AACA,QAAM,YAAY,IAAI,MAAgB,OAAO,MAAM;AACnD,QAAM,UAAU,KAAK,mBAAkB;AACvC,MAAI,UAAU;AACd,MAAI,QAAQ;AACZ,MAAI,OAAO;AACX,MAAI,eAAe;AACnB,MAAI;AACJ,WAAS,MAAM,GAAG,MAAM,UAAU,KAAK,QAAO,GAAI,OAAO;AACvD,UAAM,SAAS,UAAU,IAAI;AAC7B,UAAM,WACJ,MAAM,UACF,KAAK,2BAA2B,MAAM,IACtC,KAAK,iBAAiB,MAAM,OAAO;AACzC,QAAI,CAAC,gBAAgB,CAAC,UAAU;AAAmB,gBAAU;AAC7D,mBAAe,UAAU,eAAe;AACxC,UAAM,OACJ,MAAM,UAAU,KAAK,qBAAqB,MAAM,IAAI,KAAK,QAAO;AAClE,aAAS,MAAM,GAAG,MAAM,MAAM,OAAO;AAEnC,UAAI,EAAE,QAAQ,KAAK;AACjB,eAAO;AACP,cAAM;MACR;AACA,YAAM,OACJ,MAAM,UACF,KAAK,kBAAkB,QAAQ,GAAG,IAClC,KAAK,QAAQ,MAAM,SAAS,GAAG;AACrC,UAAI,KAAK,UAAU,KAAK,KAAK;AAAY;AACzC,YAAM,OAAO,KACX,KAAK,SAAS,OAAO,cAAc,KAAK,QAAQ,EAAE,GAClD,aAAa;AAIf,UAAI,YAAY,KAAK,KAAK,WAAW,KAAK,SAAS,OAAO,CAAC;AAAG;AAC9D,YAAM,WAAW;QACf;QACA;QACA,QAAQ,KAAK,IAAI,MAAM,OAAO,KAAK,SAAS,EAAE;;AAEhD,eAAS,OAAO,GAAG,OAAO,KAAK,QAAQ,QAAQ;AAC7C,YAAI,EAAE,QAAQ,KAAK;AACjB,iBAAO;AACP,gBAAM;QACR;AACA,kBAAU,UAAU,OAAO,MAAM,IAAI;AACrC,eAAO,UAAU,KAAK,KAAK,IAAI,MAAM,OAAO,OAAO;AACjD,oBAAU,OAAO,UAAU,CAAC;AAC9B,YAAI,KAAK,IAAI,MAAM,OAAO,OAAO;AAAG;AACpC,YAAI,YAAY,OAAO,QAAQ;AAC7B,gBAAM,QAAQ;YACZ,OAAO,WAAW,QAAQ,OAAO,UAAU,OAAO,MAAM;YACxD,KAAK;;AAGP,cACE,CAAC,iBACD,cAAc,MAAM,QAAQ,MAAM,MAAM,OACxC,cAAc,MAAM,QAAQ,MAAM,MAAM,OACxC,cAAc,IAAI,QAAQ,MAAM,IAAI,OACpC,cAAc,IAAI,WAAW,MAAM,IAAI,QACvC;AACA,kBAAM;AACN,4BAAgB;UAClB;AACA,oBAAU,OAAO,UAAU,CAAC;QAC9B;MACF;IACF;AACA,QAAI,EAAE,QAAQ,KAAK;AACjB,aAAO;AACP,YAAM;IACR;EACF;AACF;AAGM,IAAO,mBAAP,MAAuB;EAgB3B,YAAoB,SAAkC;AAAlC,SAAA,UAAA;AAfpB,SAAA,UAAyB,CAAA;AACjB,SAAA,QAAqB;MAC3B,OAAO;MACP,eAAe;MACf,OAAO;MACP,aAAa;MACb,WAAW;MACX,SAAS;;AAEH,SAAA,QAA8C;AAC9C,SAAA,UAAiC;AACjC,SAAA,OAA6C;AAC7C,SAAA,UAAU;AACV,SAAA,cAAc;EAEmC;EAEzD,WAAQ;AACN,WAAO,EAAE,GAAG,KAAK,MAAK;EACxB;EAEA,OAAO,OAAe,SAAsB;AAC1C,QAAI,MAAM,SAAS;AACjB,YAAM,IAAI,WAAW,8CAA8C;AACrE,SAAK,MAAM,QAAQ;AACnB,SAAK,MAAM,gBAAgB,QAAQ,iBAAiB;AACpD,SAAK,cAAc;AACnB,SAAK,WAAU;EACjB;EAEA,aAAU;AACR,SAAK,OAAM;AACX,SAAK,UAAU,CAAA;AACf,SAAK,MAAM,QAAQ;AACnB,SAAK,MAAM,cAAc;AACzB,SAAK,MAAM,UAAU;AACrB,SAAK,UAAU,KAAK,MAAM,YAAY,KAAK,MAAM,MAAM,SAAS;AAChE,SAAK,QAAQ,KAAK;EACpB;EAEA,OAAO,MAAkB;AACvB,QAAI,CAAC,KAAK;AAAS;AACnB,SAAK,UAAU;AACf,UAAM,OAAQ,KAAK,OAAO,WACxB,MACA,KAAK,MAAM,OACX,KAAK,MAAM,aAAa;AAE1B,UAAM,OAAO,MAAK;AAChB,UAAI,KAAK,SAAS;AAAM;AACxB,WAAK,QAAQ;AACb,YAAM,WAAW,YAAY,IAAG,IAAK;AACrC,UAAI,OAAO;AACX,SAAG;AACD,cAAM,OAAO,KAAK,KAAI;AACtB,YAAI,KAAK,MAAM;AACb,iBAAO;AACP;QACF;AACA,YAAI,KAAK,OAAO;AACd,cAAI,KAAK,QAAQ,WAAW,KAAO;AACjC,iBAAK,MAAM,UAAU;AACrB,mBAAO;AACP;UACF;AACA,eAAK,QAAQ,KAAK,KAAK,KAAK;QAC9B;MACF,SAAS,YAAY,IAAG,IAAK;AAC7B,WAAK,MAAM,QAAQ,KAAK,QAAQ;AAChC,YAAM,SAAS,KAAK,eAAe,KAAK,QAAQ,SAAS;AACzD,UAAI,KAAK,QAAQ,UAAU,KAAK,MAAM,gBAAgB;AACpD,aAAK,MAAM,cAAc;AAC3B,UAAI;AAAQ,aAAK,cAAc;AAC/B,WAAK,MAAM,YAAY,CAAC;AACxB,UAAI,MAAM;AACR,aAAK,OAAO,MAAS;AACrB,aAAK,OAAO;AACZ,aAAK,UAAS;MAChB;AACA,WAAK,QAAQ,MAAM;AAEnB,UAAI,KAAK,SAAS;AAAM,aAAK,SAAS,IAAI;IAC5C;AACA,SAAK,SAAS,IAAI;EACpB;EAEQ,SAAS,MAAgB;AAG/B,QAAI,OAAO,mBAAmB,aAAa;AACzC,WAAK,QAAQ,WAAW,MAAM,CAAC;IACjC,OAAO;AACL,YAAM,UAAW,KAAK,YAAL,KAAK,UAAY,IAAI,eAAc;AACpD,cAAQ,MAAM,YAAY;AAC1B,cAAQ,MAAM,YAAY,IAAI;IAChC;EACF;EAEQ,YAAS;AACf,QAAI,KAAK,UAAU;AAAM,mBAAa,KAAK,KAAK;AAChD,SAAK,QAAQ;AACb,QAAI,KAAK,SAAS;AAChB,WAAK,QAAQ,MAAM,YAAY;AAC/B,WAAK,QAAQ,MAAM,MAAK;AACxB,WAAK,QAAQ,MAAM,MAAK;AACxB,WAAK,UAAU;IACjB;EACF;EAEA,SAAS,WAAiB;AACxB,QAAI,CAAC,KAAK,QAAQ;AAAQ,aAAO;AACjC,SAAK,MAAM,eACR,KAAK,MAAM,cAAc,YAAY,KAAK,QAAQ,UACnD,KAAK,QAAQ;AACf,SAAK,cAAc;AACnB,SAAK,QAAQ,IAAI;AACjB,WAAO;EACT;EAEA,SAAM;AACJ,SAAK,UAAS;AACd,SAAK,MAAM,OAAO,MAAS;AAC3B,SAAK,OAAO;AACZ,SAAK,UAAU;AACf,SAAK,UAAU,CAAA;AACf,SAAK,MAAM,QAAQ;AACnB,SAAK,MAAM,cAAc;AACzB,SAAK,MAAM,YAAY;AACvB,SAAK,MAAM,UAAU;EACvB;;;;AClPF,IAAM,iCAAiC;AACvC,IAAM,gCAAgC;AAuChC,IAAO,QAAP,MAAY;EA2DhB,YAAY,SAAsB,UAAwB,CAAA,GAAE;AAvD5D,SAAA,SAA8B;AAE9B,SAAA,QAA6B;AAKrB,SAAA,eAA2C;AAK3C,SAAA,WAA4B;AAC5B,SAAA,QAA6B;AAC7B,SAAA,QAAuB;AAGvB,SAAA,2BAAiE;AACjE,SAAA,2BAA4D;AAC5D,SAAA,gCAAgC;AAChC,SAAA,sBAAsB;AACtB,SAAA,iBAAwC;AACxC,SAAA,aAAa;AACb,SAAA,wBAAwB;AACxB,SAAA,4BAA4B;AAC5B,SAAA,yBAAwC;AACxC,SAAA,0BAAyC;AACzC,SAAA,aAAa;AACb,SAAA,aAAa;AACb,SAAA,wBAA+C;AAI/C,SAAA,eAAe,IAAI,YAAW;AAE9B,SAAA,gBAAgB;AAqBtB,SAAK,UAAU;AACf,SAAK,cAAc,QAAQ;AAC3B,SAAK,uBAAuB,QAAQ,SAAS;AAC7C,SAAK,uBAAuB,QAAQ,SAAS;AAC7C,SAAK,UAAU,QAAQ;AACvB,SAAK,gBAAgB,QAAQ;AAC7B,SAAK,iBAAiB,QAAQ;AAC9B,SAAK,OAAO,QAAQ,QAAQ;AAC5B,SAAK,OAAO,QAAQ,QAAQ;AAC5B,SAAK,aAAa,QAAQ,eAAe;AACzC,SAAK,gBAAgB,QAAQ,SAAS;AACtC,SAAK,mBAAmB,QAAQ,mBAAmB;AAEnD,SAAK,SAAS,QAAQ,UAAU;AAChC,SAAK,WAAW,QAAQ,YAAY;AACpC,SAAK,UAAU,QAAQ,WAAW;AAClC,SAAK,qBAAqB,QAAQ,sBAAsB;AACxD,SAAK,SAAS,QAAQ,UAAU;AAChC,SAAK,qBAAqB,QAAQ,sBAAsB;AACxD,SAAK,mBAAmB,QAAQ,oBAAoB;AACpD,SAAK,WAAW,QAAQ,YAAY;AACpC,SAAK,iBAAiB,QAAQ,kBAAkB;AAChD,SAAK,UAAU,IAAI,iBAAiB,CAAC,WAAU;AAC7C,WAAK,kBAAL,KAAK,gBAAkB;AACvB,UAAI,QAAQ;AACV,cAAM,QAAQ,KAAK,QAAQ,QAAQ,KAAK,eAAc,EAAG,WAAW;AACpE,YAAI,OAAO;AACT,eAAK,wBAAwB;AAC7B,eAAK,0BAA0B;AAC/B,eAAK,eACF,MAAM,MAAM,MAAM,OAAO,KAAK,aAC7B,KAAK,QAAQ,eAAe,CAAC;QAEnC;MACF;AACA,UAAI,KAAK,6BAA6B;AAAQ,aAAK,gBAAe;AAClE,WAAK,iBAAiB,KAAK,eAAc,CAAE;IAC7C,CAAC;AAED,SAAK,aAAa,SAAS,cAAc,KAAK;AAC9C,SAAK,WAAW,YAAY;AAC5B,SAAK,QAAQ,YAAY,KAAK,UAAU;AACxC,SAAK,QAAQ,UAAU,IAAI,OAAO;AAClC,SAAK,oBAAoB,IAAI,iBAAiB,KAAK,OAAO;AAC1D,SAAK,iBAAiB,IAAI,cAAc,KAAK,SAAS;MACpD,OAAO,CAAC,UAAS;AACf,YACE,EAAE,MAAM,kBAAkB,YAC1B,CAAC,KAAK,UACN,CAAC,KAAK,WAAU;AAEhB,iBAAO;AACT,cAAM,QAAQ,KAAK,UAAU,WAC3B,MAAM,QACN,MAAM,SACN,KAAK,UAAU;AAEjB,YACE,CAAC,SACA,CAAC,MAAM,YACN,KAAK,OAAO,gBAAe,KAC3B,MAAM,OAAO,KAAK,OAAO,mBAAkB;AAE7C,iBAAO;AACT,eAAO;MACT;MACA,UAAU,CAAC,UAAS;AAClB,cAAM,SAAS,KAAK,QAAQ,sBAAqB;AACjD,eACE,KAAK,UAAU,eACb,MAAM,SACN,KAAK,IACH,OAAO,MAAM,GACb,KAAK,IAAI,OAAO,SAAS,GAAG,MAAM,OAAO,CAAC,GAE5C,KAAK,UAAU,KACZ;MAET;MACA,QAAQ,CAAC,OAAO,QAAQ,KAAK,gBAAgB,OAAO,GAAG;MACvD,OAAO,MAAM,KAAK,kBAAkB,MAAK;KAC1C;AACD,SAAK,uBAAuB,IAAI,oBAC9B,KAAK,SACL,MAAM,KAAK,QACX,MACE,KAAK,WAAU,KACf,KAAK,UAAU,QACf,KAAK,6BAA6B,MAAM;AAE5C,SAAK,qBAAqB,WAAW,QAAQ,kBAAkB,KAAK;AACpE,SAAK,sBAAsB,MAAK;AAC9B,UAAI,KAAK,WAAU;AAAI,aAAK,gBAAe;WACtC;AACH,aAAK,eAAe,OAAM;AAC1B,aAAK,uBAAsB;AAC3B,aAAK,qBAAqB,WAAU;MACtC;IACF;AACA,SAAK,QAAQ,cAAc,iBACzB,oBACA,KAAK,mBAAmB;AAE1B,SAAK,QAAQ,UAAU,OAAO,gBAAgB,QAAQ,gBAAgB,IAAI;AAC1E,SAAK,QAAQ,UAAU,OACrB,iBACA,QAAQ,gBAAgB,KAAK;AAG/B,SAAK,gBAAgB,CAAC,UAAS;AAC7B,UAAI,MAAM,oBAAoB,KAAK,kBAAkB;AAAQ;AAC7D,YAAM,SAAS,MAAM;AACrB,UAAI,kBAAkB,WAAW,OAAO,QAAQ,YAAY,GAAG;AAC7D,YACE,yBACE,OACA,KAAK,QAAQ,cAAc,aAAa,aAAa,SAAS,KAEhE,MAAM,WAAW,GACjB;AACA;QACF;AACA,cAAM,eAAc;MACtB;AACA,YAAM,MAAM,OAAO,aAAY;AAC/B,UAAI,CAAC,OAAO,IAAI;AAAa,aAAK,OAAO,MAAK;IAChD;AACA,SAAK,iBAAiB,CAAC,UAAS;AAC9B,UACE,MAAM,oBACN,MAAM,WAAW,KAChB,MAAM,WAAW,KAAK,MAAM,WAAW,KACxC,MAAM,UACN,MAAM,WACN,MAAM,WACN,EAAE,MAAM,kBAAkB;AAE1B;AACF,YAAM,WAAW,KAAK,UAAU,WAC9B,MAAM,QACN,MAAM,SACN,KAAK,UAAU;AAEjB,UAAI,CAAC,YAAY,CAAC,KAAK;AAAQ;AAC/B,UACE,CAAC,MAAM,YACP,KAAK,OAAO,gBAAe,KAC3B,SAAS,OAAO,KAAK,OAAO,mBAAkB;AAE9C;AACF,YAAM,WACJ,MAAM,WAAW,IACb,KAAK,WAAW,QAAQ,IACxB,KAAK,WAAW,SAAS,GAAG;AAClC,UAAI;AAAU,cAAM,eAAc;IACpC;AAIA,SAAK,QAAQ,iBAAiB,SAAS,KAAK,cAAc;AAC1D,SAAK,QAAQ,iBAAiB,SAAS,KAAK,aAAa;AACzD,SAAK,oBAAoB,CAAC,UAAS;AACjC,WAAK,QAAQ,UAAU,OACrB,wBACA,yBACE,OACA,KAAK,QAAQ,cAAc,aAAa,aAAa,SAAS,CAC/D;IAEL;AACA,SAAK,gBAAgB,MAAK;AACxB,WAAK,QAAQ,UAAU,OAAO,sBAAsB;IACtD;AACA,SAAK,QAAQ,cAAc,iBACzB,WACA,KAAK,iBAAiB;AAExB,SAAK,QAAQ,cAAc,iBACzB,SACA,KAAK,iBAAiB;AAExB,SAAK,QAAQ,cAAc,aAAa,iBACtC,QACA,KAAK,aAAa;AAEpB,SAAK,YAAY,MAAK;AACpB,UAAI,KAAK,4BAA4B;AAAM;AAC3C,UAAI,KAAK,yBAAyB,KAAK,oBAAmB,GAAI;AAC5D,aAAK,yBAAyB;AAC9B;MACF;AACA,UACE,KAAK,2BAA2B,QAChC,KAAK,IAAI,KAAK,QAAQ,YAAY,KAAK,sBAAsB,KAC3D,+BACF;AACA,aAAK,yBAAyB;AAC9B;MACF;AACA,WAAK,yBAAyB;AAC9B,WAAK,wBAAwB;AAC7B,WAAK,gBAAe;IACtB;AACA,SAAK,QAAQ,iBAAiB,UAAU,KAAK,WAAW,EAAE,SAAS,KAAI,CAAE;AACzE,SAAK,UAAU,CAAC,UAAS;AACvB,UAAI,MAAM,oBAAoB,CAAC,MAAM;AAAe;AACpD,YAAM,SAAS,MAAM;AACrB,UACE,kBAAkB,WAClB,CAAC,KAAK,QAAQ,SAAS,MAAM,MAC5B,OAAO,QAAQ,iBAAiB,KAC9B,OAAuB;AAE1B;AACF,YAAM,OAAO,KAAK,iBAAgB;AAElC,UAAI,KAAK,kBAAkB,SAAS;AAClC,cAAM,eAAc;AACpB;MACF;AACA,UAAI,SAAS;AAAM;AACnB,YAAM,cAAc,QAAQ,cAAc,IAAI;AAC9C,YAAM,eAAc;IACtB;AACA,SAAK,QAAQ,cAAc,iBAAiB,QAAQ,KAAK,OAAO;EAClE;EAEA,MAAM,OAAI;AACR,QAAI;AACF,UAAI,KAAK,aAAa;AACpB,aAAK,SAAS,KAAK;MACrB,OAAO;AACL,aAAK,SAAS,MAAM,WAAW,KAAK,KAAK,OAAO;MAClD;AACA,UAAI,KAAK;AAAY,eAAO;AAC5B,YAAM,cAAc,KAAK;AACzB,YAAM,cAAc,KAAK;AACzB,WAAK,cAAa;AAClB,UAAI,KAAK,YAAY;AACnB,cAAM,OAAO,KAAK,iBAAgB;AAClC,YAAI,MAAM;AACR,cAAI,CAAC,KAAK;AAAsB,iBAAK,OAAO,KAAK;AACjD,cAAI,CAAC,KAAK;AAAsB,iBAAK,OAAO,KAAK;QACnD;MACF;AACA,WAAK,OAAO,KAAK,KAAK,MAAM,KAAK,IAAI;AACrC,UAAI,KAAK;AAAc,aAAK,OAAO,iBAAiB,KAAK,YAAY;AACrE,WAAK,OAAO,KAAK,OAAO,QAAO;AAC/B,WAAK,OAAO,KAAK,OAAO,QAAO;AAE/B,UAAI,KAAK,eAAe;AACtB,aAAK,QAAQ,IAAI,aAAY;AAC7B,aAAK,MAAM,UAAU,KAAK,MAAM;AAC/B,mBAAuC,UAAU;MACpD;AAEA,WAAK,iBAAgB;AAErB,WAAK,WAAW,IAAI,SAAS,KAAK,YAAY;QAC5C,WAAW,KAAK;QAChB,eAAe,KAAK;QACpB,gBAAgB,KAAK;OACtB;AACD,WAAK,SAAS,MAAM,KAAK,MAAM,KAAK,IAAI;AAExC,WAAK,QAAQ,IAAI,aACf,KAAK,SACL,CAAC,MAAM,iBAAiB,UAAS;AAC/B,YAAI,CAAC,gBAAgB;AACnB,eAAK,qBAAqB,MAAK;AAC/B,eAAK,gBAAe;QACtB;AACA,YAAI,KAAK,QAAQ;AACf,eAAK,OAAO,IAAI;QAClB,OAAO;AACL,eAAK,MAAM,IAAI;QACjB;MACF,GACA,MAAM,KAAK,QACX,MACE,KAAK,aAAa,KAAK,KAAK,aAAa,IACrC,EAAE,WAAW,KAAK,YAAY,WAAW,KAAK,WAAU,IACxD,MACN,MAAK;AACH,aAAK,eAAe,OAAM;AAC1B,aAAK,kBAAkB,MAAK;AAC5B,aAAK,gBAAe;MACtB,GACA,CAAC,SAAQ;AACP,aAAK,qBAAqB,MAAK;AAC/B,aAAK,eAAe,OAAM;AAC1B,aAAK,kBAAkB,MAAK;AAC5B,aAAK,gBAAe;AACpB,YAAI,KAAK,UAAU;AACjB,eAAK,SAAS,IAAI;QACpB,WAAW,CAAC,KAAK,QAAQ;AACvB,eAAK,MAAM,IAAI;QACjB,WAAW,KAAK,MAAM,CAAC,SAAS,OAAO,GAAG,GAAG;AAC3C,eAAK,OAAO,OAAO,aAAa,GAAG,IAAI,CAAC;QAC1C;MACF,GACA;QACE,WAAW,MAAK;AACd,eAAK,KAAK,UAAS;QACrB;QACA,cAAc,MAAM,KAAK,kBAAkB;QAC3C,gBAAgB,MAAK;AACnB,eAAK,eAAe,OAAM;AAC1B,eAAK,kBAAkB,MAAK;QAC9B;OACD;AAGH,WAAK,qBAAoB;AACzB,UAAI,CAAC,KAAK,YAAY;AACpB,aAAK,YAAW;MAClB;AAEA,WAAK,MAAM,MAAK;AAChB,WAAK,eAAc;AACnB,UAAI,KAAK,SAAS,eAAe,KAAK,SAAS;AAC7C,aAAK,WAAW,KAAK,MAAM,KAAK,IAAI;IACxC,SAAS,KAAK;AACZ,WAAK,QAAO;AACZ,YAAM,IAAI,MACR,gCAAgC,eAAe,QAAQ,IAAI,UAAU,GAAG,EAAE;IAE9E;AAEA,WAAO;EACT;EAEQ,sBAAmB;AACzB,UAAM,KAAK,KAAK;AAChB,WAAO,GAAG,eAAe,GAAG,YAAY,GAAG,eAAe;EAC5D;EAEQ,kBAAe;AACrB,SAAK,cAAc,KAAK,QAAQ,YAAY;EAC9C;EAEQ,cAAc,OAAa;AACjC,UAAM,SAAS,KAAK,QAAQ;AAC5B,SAAK,QAAQ,YAAY;AACzB,UAAM,QAAQ,KAAK,QAAQ;AAC3B,QAAI,UAAU;AAAQ;AACtB,SAAK,yBAAyB;EAChC;;EAGA,eAAe,QAA2B;AACxC,UAAM,SAAS;MACb,OAAO;MACP,OAAO;MACP,OAAO;MACP,GAAG,OAAO;;AAEZ,QACE,OAAO,QAAQ,WAAW,MAC1B,OAAO,KACL,CAAC,UAAU,CAAC,OAAO,UAAU,KAAK,KAAK,QAAQ,KAAK,QAAQ,QAAQ;AAGtE,YAAM,IAAI,WACR,wEAAwE;AAE5E,QAAI,KAAK;AAAY;AACrB,UAAM,OAAO,EAAE,GAAG,QAAQ,SAAS,CAAC,GAAG,OAAO,OAAO,EAAC;AACtD,SAAK,QAAQ,iBAAiB,IAAI;AAClC,SAAK,eAAe;AACpB,UAAM,aAAa;MACjB;MACA;MACA;MACA,GAAG,OAAO,QAAQ,IAAI,CAAC,GAAG,UAAU,gBAAgB,KAAK,EAAE;;AAE7D,WAAO,QAAQ,CAAC,OAAO,UACrB,KAAK,QAAQ,MAAM,YACjB,WAAW,KAAK,GAChB,IAAI,MAAM,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,CAC1C;AAEH,SAAK,UAAU,iBAAgB;AAC/B,SAAK,gBAAe;EACtB;EAEA,MAAM,MAAyB;AAC7B,QAAI,CAAC,KAAK,UAAU,KAAK;AAAY;AACrC,SAAK,aAAa,OAAM;AACxB,SAAK,eAAe,OAAM;AAC1B,SAAK,kBAAkB,WAAU;AACjC,SAAK,UAAU,eAAe,KAAK,MAAM;AACzC,QAAI,KAAK;AAAO,WAAK,MAAM,WAAW,IAAI;AAC1C,SAAK,wBAAwB,KAAK,oBAAmB;AACrD,UAAM,oBAAoB,KAAK,0BAA0B,IAAI;AAC7D,QAAI;AACJ,QAAI,mBAAmB;AACvB,UAAM,sBAAsB,CAAC,UAAkB;AAC7C,UAAI;AAAkB;AACtB,yBAAmB;AACnB,sBAAgB;IAClB;AACA,UAAM,QAAQ,MAAK;AACjB,YAAM,SAAS,KAAK,gBAAe;AACnC,UAAI,OAAO;AAAU,4BAAoB,OAAO,KAAK;AACrD,YAAM,QAAQ,KAAK,QAAQ,eAAc,KAAM;AAC/C,UAAI,QAAQ,GAAG;AACb,YAAI;AACF,eAAK,SAAS,KAAK;QACrB,SAAS,OAAO;AACd,8BAAoB,KAAK;QAC3B;MACF;AAEA,UAAI;AACF,aAAK,cAAa;MACpB,SAAS,OAAO;AACd,4BAAoB,KAAK;MAC3B;AACA,UAAI;AACF,cAAM,OAAO,KAAK,QAAQ,oBAAmB,KAAM;AACnD,YAAI,SAAS,QAAQ,CAAC,KAAK;AAAY,eAAK,mBAAmB,IAAI;MACrE,SAAS,OAAO;AACd,4BAAoB,KAAK;MAC3B;AACA,UAAI;AACF,cAAM,QAAQ,KAAK,QAAQ,2BAA0B,KAAM;AAC3D,YAAI,UAAU,QAAQ,CAAC,KAAK;AAC1B,eAAK,qBAAqB,KAAK;MACnC,SAAS,OAAO;AACd,4BAAoB,KAAK;MAC3B;AACA,UAAI;AACF,cAAM,MAAM,KAAK,QAAQ,sBAAqB,KAAM;AACpD,YAAI,QAAQ,QAAQ,CAAC,KAAK;AAAY,eAAK,qBAAqB,GAAG;MACrE,SAAS,OAAO;AACd,4BAAoB,KAAK;MAC3B;IACF;AACA,QAAI,OAAO,SAAS,UAAU;AAC5B,WAAK,OAAO,YAAY,MAAM,KAAK;IACrC,OAAO;AACL,WAAK,OAAO,SAAS,MAAM,KAAK;IAClC;AACA,UAAM,eAAe,KAAK,OAAO,qBAAoB,KAAM;AAC3D,UAAM,aAAa,KAAK,OAAO,+BAA8B,KAAM;AACnE,SAAK,0BAA0B,cAAc,UAAU;AACvD,SAAK,kBAAiB;AACtB,QAAI,KAAK,6BAA6B,QAAQ;AAC5C,WAAK,uBAAsB;AAC3B,WAAK,gBAAe;IACtB;AACA,UAAK;AACL,eAAW,SAAS,mBAAmB;AACrC,UAAI;AACF,aAAK,SAAS,KAAK,oBAAoB,KAAK,CAAC;MAC/C,SAAS,OAAO;AACd,4BAAoB,KAAK;MAC3B;IACF;AACA,QAAI;AAAkB,YAAM;EAC9B;;EAGA,MAAG;AACD,QAAI,CAAC,KAAK,UAAU,KAAK;AAAY;AACrC,UAAM,OAAO,KAAK,iBAAgB;AAClC,QAAI,SAAS,KAAK,SAAS,KAAK,QAAQ,KAAK,SAAS,KAAK;AACzD,WAAK,OAAO,KAAK,MAAM,KAAK,IAAI;EACpC;EAEQ,mBAAgB;AACtB,UAAM,WAAW,KAAK,iBAAgB;AACtC,QAAI,CAAC;AAAU,aAAO;AACtB,UAAM,QAAQ,iBAAiB,KAAK,OAAO;AAC3C,UAAM,OAAO,KAAK,QAAQ,sBAAqB;AAC/C,UAAM,SAAS,CAAC,UAAkB,WAAW,KAAK,KAAK;AACvD,UAAM,WACJ,OAAO,MAAM,eAAe,IAAI,OAAO,MAAM,gBAAgB;AAC/D,UAAM,WACJ,OAAO,MAAM,cAAc,IAAI,OAAO,MAAM,iBAAiB;AAC/D,UAAM,iBAAiB,KAAK,IAC1B,GACA,KAAK,QAAQ,cAAc,KAAK,QAAQ,cAAc,QAAQ;AAEhE,UAAM,kBAAkB,KAAK,IAC3B,GACA,KAAK,QAAQ,eAAe,KAAK,QAAQ,eAAe,QAAQ;AAElE,UAAM,QACJ,KAAK,QACL,OAAO,MAAM,WAAW,IACxB,OAAO,MAAM,YAAY,IACzB,WACA;AACF,UAAM,SACJ,KAAK,SACL,OAAO,MAAM,UAAU,IACvB,OAAO,MAAM,aAAa,IAC1B,WACA;AACF,QAAI,SAAS,KAAK,UAAU;AAAG,aAAO;AACtC,UAAM,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,QAAQ,SAAS,SAAS,CAAC;AAC/D,UAAM,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,SAAS,SAAS,SAAS,CAAC;AAChE,WAAO,EAAE,MAAM,KAAI;EACrB;EAEA,OAAO,MAAc,MAAY;AAC/B,QAAI,CAAC,KAAK,UAAU,KAAK;AAAY;AACrC,SAAK,aAAa,OAAM;AACxB,SAAK,eAAe,OAAM;AAC1B,SAAK,kBAAkB,WAAU;AACjC,SAAK,UAAU,eAAe,KAAK,MAAM;AACzC,SAAK,wBACH,KAAK,4BAA4B,QAAQ,KAAK,oBAAmB;AACnE,SAAK,OAAO,OAAO,MAAM,IAAI;AAC7B,SAAK,qBAAqB,WAAU;AACpC,SAAK,OAAO,KAAK,OAAO,QAAO;AAC/B,SAAK,OAAO,KAAK,OAAO,QAAO;AAC/B,UAAM,eAAe,KAAK,OAAO,qBAAoB,KAAM;AAC3D,UAAM,aAAa,KAAK,OAAO,+BAA8B,KAAM;AACnE,QAAI,KAAK,0BAA0B,cAAc,UAAU,GAAG;AAC5D,WAAK,sBAAsB;IAC7B,OAAO;AACL,WAAK,eAAc;AACnB,WAAK,gBAAe;IACtB;AACA,SAAK,kBAAiB;AACtB,QAAI,KAAK;AAAU,WAAK,SAAS,KAAK,MAAM,KAAK,IAAI;EACvD;;EAGA,OAAO,OAAe,UAAyB,CAAA,GAAE;AAC/C,QAAI,KAAK;AAAY;AACrB,SAAK,QAAQ,OAAO,OAAO,OAAO;AAClC,SAAK,aAAY;EACnB;EAEA,WAAQ;AACN,WAAO,CAAC,KAAK,cAAc,KAAK,QAAQ,SAAS,CAAC;EACpD;EACA,eAAY;AACV,WAAO,CAAC,KAAK,cAAc,KAAK,QAAQ,SAAS,EAAE;EACrD;EACA,cAAW;AACT,SAAK,OAAO,EAAE;EAChB;EACA,iBAAc;AACZ,WAAO,KAAK,QAAQ,SAAQ;EAC9B;;EAGA,eAAe,WAAiB;AAC9B,QACE,CAAC,KAAK,WAAU,KAChB,CAAC,KAAK,QAAQ,cACd,CAAC,KAAK,YACN,KAAK,6BAA6B,UAClC,KAAK,OAAO,eAAc,KACzB,cAAc,MAAM,cAAc;AAEnC,aAAO;AAGT,SAAK,uBAAsB;AAC3B,SAAK,UAAS;AACd,QAAI,cAAc,KAAK,KAAK,oBAAmB;AAAI,aAAO;AAC1D,UAAM,SAAS,KAAK,QAAQ,sBAAqB;AACjD,UAAM,SAAS,KAAK,SAAS,eAC3B,OAAO,MACP,OAAO,MAAM,KAAK,QAAQ,YAAY,GACtC,KAAK,UAAU;AAEjB,QAAI,CAAC;AAAQ,aAAO;AACpB,UAAM,SAAS,KAAK,OAAO,WAAW,OAAO,KAAK,SAAS;AAC3D,QACE,WAAW,QACX,CAAC,OAAO,UAAU,MAAM,KACxB,SAAS,KACT,UAAU,KAAK,OAAO,mBAAkB,IAAK,KAAK,SACjD,YAAY,IAAI,UAAU,OAAO,MAAM,UAAU,OAAO;AAEzD,aAAO;AACT,UAAM,SAAS,KAAK,QAAQ;AAC5B,SAAK,wBAAwB;AAC7B,SAAK,gBAAgB;AACrB,SAAK,0BAA0B,SAAS,KAAK;AAC7C,SAAK,UAAS;AAGd,UAAM,UAAU,MAAM,KAAK,KAAK,SAAS,WAAU,CAAE,EAAE,KACrD,CAAC,EAAE,IAAG,MAAO,QAAQ,MAAM;AAE7B,QAAI,SAAS;AACX,WAAK,cACH,KAAK,QAAQ,YACX,QAAQ,QAAQ,sBAAqB,EAAG,MACxC,OAAO,MACP,KAAK,QAAQ,SAAS;IAE5B;AACA,SAAK,gBAAe;AACpB,WACE,KAAK,IAAI,KAAK,QAAQ,YAAY,MAAM,IAAI;EAEhD;;EAGA,uBAAuB,SAAgB;AACrC,QAAI,CAAC,KAAK;AAAY,WAAK,qBAAqB,WAAW,OAAO;EACpE;;EAGA,mBAAmB,QAAe;AAChC,QAAI,KAAK,cAAc,WAAW,KAAK;AAAkB;AACzD,SAAK,mBAAmB;AACxB,SAAK,oBAAmB;EAC1B;EAEQ,aAAU;AAChB,WACE,CAAC,KAAK,cACN,CAAC,KAAK,oBACN,KAAK,QAAQ,cAAc,oBAAoB;EAEnD;;EAGA,SAAS,UAAoC,CAAA,GAAE;AAC7C,QAAI,KAAK,cAAc,CAAC,KAAK,YAAY,CAAC,KAAK;AAC7C,aAAO,QAAQ,OAAO,IAAI,MAAM,6BAA6B,CAAC;AAChE,UAAM,WAAW,KAAK,aAAa,KAAK,QAAQ,MAAM;AACtD,SAAK,gBAAe;AACpB,WAAO;EACT;;EAGA,mBAAgB;AACd,QAAI,KAAK;AAAY,aAAO;AAC5B,WACE,KAAK,kBAAkB,QAAO,KAC9B,KAAK,UAAU,iBAAgB,KAC/B;EAEJ;;EAGA,YAAS;AACP,QAAI,KAAK,cAAc,CAAC,KAAK,YAAY,CAAC,KAAK;AAC7C,aAAO,QAAQ,QAAQ,KAAK;AAC9B,SAAK,eAAe,OAAM;AAC1B,UAAM,WAAW,KAAK,kBAAkB,OAAM;AAC9C,SAAK,gBAAe;AACpB,WAAO;EACT;;EAGA,WAAW,UAA0B;AACnC,WAAO,KAAK,YAAY,UAAU,MAAM;EAC1C;;EAGA,WAAW,KAAW;AACpB,WAAO,KAAK,YAAY,EAAE,KAAK,KAAK,EAAC,GAAI,MAAM;EACjD;;EAGA,gBAAgB,OAAyB,KAAqB;AAC5D,QAAI,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,KAAK,YAAY,CAAC,KAAK,WAAU;AACvE,aAAO;AACT,UAAM,YAAY,KAAK,SAAS,UAAU,KAAK,QAAQ,OAAO,KAAK,MAAK;AACtE,WAAK,OAAO,MAAK;IACnB,CAAC;AACD,QAAI,CAAC;AAAW,aAAO;AACvB,SAAK,kBAAkB,gBAAgB,SAAS;AAChD,SAAK,kBAAkB,eACrB,KAAK,SAAS,WAAU,GACxB,KAAK,UAAU;AAEjB,WAAO;EACT;EAEQ,YACN,UACA,MAAqB;AAErB,QAAI,KAAK,cAAc,CAAC,KAAK,UAAU,CAAC,KAAK;AAAU,aAAO;AAC9D,WAAO,KAAK,SAAS,OAAO,KAAK,QAAQ,UAAU,MAAM,MAAK;AAC5D,WAAK,eAAe,OAAM;AAC1B,WAAK,kBAAkB,MAAK;AAC5B,YAAM,SAAS,KAAK,QAAQ,cAAc;AAC1C,UACE,kBAAkB,eAClB,KAAK,QAAQ,SAAS,MAAM,KAC5B,OAAO,YAAY;AAEnB,eAAO,KAAI;IACf,CAAC;EACH;;EAGA,iBAAc;AACZ,SAAK,eAAe,OAAM;AAC1B,SAAK,kBAAkB,MAAK;AAC5B,UAAM,YAAY,KAAK,QAAQ,cAAc,aAAY;AACzD,QAAI,CAAC,aAAa,UAAU;AAAa;AACzC,aAAS,QAAQ,GAAG,QAAQ,UAAU,YAAY,SAAS;AACzD,YAAM,QAAQ,UAAU,WAAW,KAAK;AACxC,UACE,CAAC,KAAK,QAAQ,SAAS,MAAM,cAAc,KAC3C,CAAC,KAAK,QAAQ,SAAS,MAAM,YAAY;AAEzC;IACJ;AACA,cAAU,gBAAe;EAC3B;EAEQ,oBAAiB;AACvB,QAAI,CAAC,KAAK,eAAc,EAAG;AAAO;AAClC,SAAK,gBAAgB;AACrB,SAAK,QAAQ,WAAU;AACvB,SAAK,aAAY;EACnB;EAEQ,eAAY;AAClB,QAAI,CAAC,KAAK,YAAY,CAAC,KAAK,UAAU,CAAC,KAAK,WAAU;AAAI;AAC1D,UAAM,WAAW,SAAS,uBAAsB;AAChD,UAAM,UAAU,KAAK,QAAQ;AAC7B,QAAI,CAAC,QAAQ,QAAQ;AACnB,WAAK,SAAS,qBAAqB,QAAQ;AAC3C;IACF;AACA,UAAM,SAAS,KAAK,eAAc,EAAG;AACrC,UAAM,WAAW,KAAK,QAAQ,sBAAqB;AACnD,eAAW,EAAE,KAAK,QAAO,KAAM,KAAK,SAAS,WAAU,GAAI;AACzD,YAAM,OAAO,QAAQ,sBAAqB;AAC1C,UAAI,KAAK,UAAU,SAAS,OAAO,KAAK,OAAO,SAAS;AAAQ;AAEhE,UAAI,MAAM,GACR,OAAO,QAAQ;AACjB,aAAO,MAAM,MAAM;AACjB,cAAM,MAAO,MAAM,SAAU;AAC7B,YAAI,QAAQ,GAAG,EAAE,IAAI,MAAM;AAAK,gBAAM,MAAM;;AACvC,iBAAO;MACd;AACA,YAAM,UAAU,KAAK,OAAO,mBAAkB;AAC9C,YAAM,SAAS,UAAU,MAAM;AAC/B,UAAI,OACF,MAAM,UAAU,KAAK,OAAO,qBAAqB,MAAM,IAAI,KAAK;AAClE,UAAI,QAAQ;AAAG;AACf,YAAM,OACJ,MAAM,UACF,KAAK,OAAO,kBAAkB,QAAQ,OAAO,CAAC,IAC9C,KAAK,OAAO,QAAQ,MAAM,SAAS,OAAO,CAAC;AACjD,UAAI,KAAK;AAAY;AACrB,UAAI,aAAa,IACf,WAAW;AACb,YAAM,OAAO,CAAC,OAAe,KAAaC,cAAqB;AAC7D,YAAI,OAAO;AAAO;AAClB,cAAM,OAAO,SAAS,cAAc,KAAK;AACzC,aAAK,YAAY,oBAAoBA,YAAW,wBAAwB,EAAE;AAC1E,aAAK,MAAM,UAAU,QAAQ,QAAQ,KAAK,UAAU,UAAU,QAAQ,SAAS,aAAa,MAAM,SAAS,KAAK,UAAU,aAAa,KAAK,MAAM;AAClJ,iBAAS,YAAY,IAAI;MAC3B;AACA,eACM,IAAI,KACR,IAAI,QAAQ,UAAU,QAAQ,CAAC,EAAE,MAAM,OAAO,KAC9C,KACA;AACA,cAAM,QAAQ,QAAQ,CAAC;AACvB,cAAM,QAAQ,MAAM,MAAM,QAAQ,MAAM,MAAM,MAAM,MAAM;AAC1D,cAAM,MAAM,KAAK,IACf,MACA,MAAM,IAAI,QAAQ,MAAM,MAAM,IAAI,SAAS,IAAI;AAEjD,YAAI,cAAc,KAAK,QAAQ,UAAU;AACvC,eAAK,YAAY,UAAU,KAAK;AAChC,uBAAa;QACf;AACA,YAAI,aAAa;AAAG,uBAAa;AACjC,mBAAW,KAAK,IAAI,UAAU,GAAG;MACnC;AACA,UAAI,cAAc;AAAG,aAAK,YAAY,UAAU,KAAK;AACrD,YAAM,WAAW,QAAQ,MAAM;AAC/B,UAAI,YAAY,SAAS,MAAM,OAAO,OAAO,SAAS,IAAI,OAAO,KAAK;AACpE,aACE,SAAS,MAAM,QAAQ,MAAM,SAAS,MAAM,MAAM,GAClD,KAAK,IAAI,MAAM,SAAS,IAAI,QAAQ,MAAM,SAAS,IAAI,SAAS,IAAI,GACpE,IAAI;MAER;IACF;AACA,SAAK,SAAS,qBAAqB,QAAQ;EAC7C;EAEA,QAAK;AACH,QAAI,KAAK,OAAO;AACd,WAAK,MAAM,MAAK;IAClB,OAAO;AACL,WAAK,QAAQ,MAAK;IACpB;EACF;EAEQ,kBAAe;AACrB,QACE,CAAC,KAAK,WAAU,KAChB,KAAK,6BAA6B,UAClC,KAAK,SAAS;AAEd;AACF,SAAK,QAAQ,sBAAsB,MAAK;AACtC,WAAK,QAAQ;AACb,WAAK,UAAS;IAChB,CAAC;EACH;EAEQ,yBAAsB;AAC5B,QAAI,KAAK,SAAS,MAAM;AACtB,2BAAqB,KAAK,KAAK;AAC/B,WAAK,QAAQ;IACf;EACF;EAEQ,0BACN,cACA,YAAkB;AAElB,QAAI,CAAC,cAAc;AACjB,UAAI,KAAK,6BAA6B,QAAQ;AAC5C,aAAK,kCAAiC;MACxC;AACA,WAAK,2BAA2B;AAChC,aAAO;IACT;AACA,QACE,KAAK,6BAA6B,UAClC,eAAe,KAAK,+BACpB;AACA,WAAK,+BAA+B,UAAU;AAC9C,aAAO;IACT,WACE,KAAK,6BAA6B,iBAClC,eAAe,KAAK,+BACpB;AACA,WAAK,2BAA2B;IAClC;AACA,QAAI,KAAK,6BAA6B,QAAQ;AAC5C,aAAO,KAAK,6BAA6B;IAC3C;AACA,SAAK,2BAA2B;AAChC,SAAK,uBAAsB;AAC3B,SAAK,+BAA+B,UAAU;AAC9C,WAAO;EACT;EAEQ,+BAA+B,YAAkB;AACvD,SAAK,kCAAiC;AACtC,SAAK,gCAAgC;AACrC,SAAK,2BAA2B,WAAW,MAAK;AAC9C,UACE,KAAK,6BAA6B,UAClC,KAAK,kCAAkC,YACvC;AACA;MACF;AACA,WAAK,2BAA2B;AAChC,WAAK,2BAA2B;AAChC,WAAK,uBAAsB;AAC3B,WAAK,uBAAsB;AAC3B,WAAK,UAAS;IAChB,GAAG,8BAA8B;EACnC;EAEQ,oCAAiC;AACvC,QAAI,KAAK,4BAA4B;AAAM;AAC3C,iBAAa,KAAK,wBAAwB;AAC1C,SAAK,2BAA2B;EAClC;EAEQ,yBAAsB;AAC5B,QAAI,CAAC,KAAK;AAAqB;AAC/B,SAAK,eAAc;AACnB,SAAK,sBAAsB;EAC7B;EAEQ,iBAAc;AACpB,QAAI,CAAC,KAAK,yBAAyB,KAAK,4BAA4B,MAAM;AACxE,WAAK,0BAA0B,KAAK,QAAQ;IAC9C;AACA,SAAK,UAAU,aAAY;EAC7B;EAEQ,iBAAc;AACpB,SAAK,UAAS;EAChB;EAEQ,YAAS;AACf,QACE,CAAC,KAAK,WAAU,KAChB,CAAC,KAAK,UACN,CAAC,KAAK,YACN,KAAK,6BAA6B;AAElC;AAEF,QAAI,aAAa;AACjB,UAAM,KAAK,KAAK,QAAQ,YAAY,IAAG,IAAK;AAC5C,QAAI,KAAK,OAAO;AACd,eAAS,IAAI,GAAG,IAAI,KAAK,MAAM,KAAK;AAClC,YAAI,KAAK,OAAO,WAAW,CAAC;AAAG;MACjC;IACF;AAEA,UAAM,YAAY,KAAK,cAAc;AACrC,UAAM,kBAAkB,KAAK,OAAO,mBAAkB;AACtD,UAAM,iBAAiB,KAAK,OAAO,8BAA6B;AAChE,UAAM,iBACJ,mBAAmB,UACnB,kBAAkB,KAAK,4BACnB,iBAAiB,KAAK,4BACtB;AACN,QAAI,mBAAmB,QAAW;AAChC,WAAK,4BAA4B;IACnC;AACA,QAAI,YACF,KAAK,4BAA4B,OAC7B,KAAK,0BACL,KAAK,QAAQ;AACnB,QAAI,CAAC,KAAK,yBAAyB,iBAAiB,GAAG;AACrD,kBAAY,KAAK,IAAI,GAAG,YAAY,iBAAiB,SAAS;AAC9D,UAAI,KAAK,4BAA4B,MAAM;AACzC,aAAK,0BAA0B;MACjC,OAAO;AACL,aAAK,cAAc,SAAS;MAC9B;IACF;AAEA,SAAK,SAAS,OAAO,KAAK,QAAQ;MAChC,WAAW,KAAK,wBACZ,KAAK,IACH,IACC,kBAAkB,KAAK,QAAQ,YAC9B,KAAK,QAAQ,YAAY,IAE7B;MACJ,cAAc,KAAK,QAAQ;MAC3B;MACA,0BAA0B;MAC1B,WAAW,KAAK;KACjB;AAED,QAAI,KAAK,OAAO;AACd,WAAK,MAAM,aAAa,YAAY,IAAG,IAAK,IAAI,UAAU;IAC5D;AAEA,UAAM,gBAAgB,kBAAkB,KAAK,KAAK,SAAS;AAC3D,SAAK,QAAQ,UAAU,OAAO,kBAAkB,aAAa;AAE7D,QAAI,KAAK,uBAAuB;AAC9B,WAAK,gBAAe;IACtB,WAAW,KAAK,4BAA4B,MAAM;AAChD,YAAM,mBAAmB,KAAK;AAC9B,WAAK,0BAA0B;AAC/B,WAAK,cAAc,gBAAgB;IACrC,WAAW,CAAC,iBAAiB,KAAK,QAAQ,cAAc,GAAG;AACzD,WAAK,cAAc,CAAC;IACtB;AAEA,SAAK,OAAO,kBAAiB;AAC7B,QAAI,KAAK,eAAe;AACtB,WAAK,gBAAgB;AACrB,YAAM,QAAQ,KAAK,QAAQ,QAAQ,KAAK,eAAc,EAAG,WAAW;AACpE,YAAM,SACJ,SACA,MAAM,KAAK,KAAK,SAAS,WAAU,CAAE,EAAE,KACrC,CAAC,EAAE,IAAG,MAAO,QAAQ,MAAM,MAAM,GAAG;AAExC,UAAI,QAAQ;AACV,cAAM,OAAO,OAAO,QAAQ,sBAAqB;AACjD,cAAM,WAAW,KAAK,QAAQ,sBAAqB;AACnD,aAAK,cACH,KAAK,QAAQ,YACX,KAAK,MACL,SAAS,OACR,KAAK,QAAQ,eAAe,KAAK,UAAU,CAAC;MAEnD;IACF;AACA,SAAK,aAAY;AACjB,SAAK,QAAQ,OAAO,KAAK,MAAM;AAC/B,SAAK,kBAAkB,OAAO,KAAK,MAAM;AACzC,SAAK,kBAAkB,eACrB,KAAK,SAAS,WAAU,GACxB,KAAK,UAAU;AAEjB,SAAK,aAAa,OAAO,KAAK,MAAM;AACpC,SAAK,qBAAqB,SAAQ;AAElC,SAAK,cAAa;AAElB,SAAK,gBAAe;EACtB;EAEQ,gBAAa;AACnB,UAAM,QAAQ,KAAK,QAAQ,SAAQ,KAAM;AACzC,QAAI,UAAU;AAAM,WAAK,UAAU,KAAK;EAC1C;EAEQ,kBAAe;AACrB,QAAI,CAAC,KAAK;AAAQ,aAAO,EAAE,UAAU,MAAK;AAC1C,QAAI;AACJ,QAAI;AACJ,QAAI,WAAW;AACf,YAAQ,WAAW,KAAK,OAAO,YAAW,OAAQ,MAAM;AACtD,UAAI;AACF,YAAI,KAAK;AAAQ,eAAK,OAAO,QAAQ;MACvC,SAAS,OAAO;AACd,YAAI,CAAC,UAAU;AACb,qBAAW;AACX,uBAAa;QACf;MACF;IACF;AACA,WAAO,EAAE,UAAU,OAAO,WAAU;EACtC;;;;;;EAOQ,0BAA0B,MAAyB;AACzD,UAAM,UAAuB,CAAA;AAC7B,QAAI,QAAQ,KAAK;AACjB,QAAI,QAAQ;AACZ,WAAO,QAAQ,KAAK,QAAQ;AAC1B,UAAI,UAAU,GAAG;AAGf,gBACE,OAAO,SAAS,WACZ,KAAK,QAAQ,QAAQ,KAAK,IAC1B,KAAK,QAAQ,IAAM,KAAK;AAC9B,YAAI,QAAQ;AAAG;AACf,gBAAQ;AACR;AACA;MACF;AACA,YAAM,OACJ,OAAO,SAAS,WAAW,KAAK,WAAW,KAAK,IAAI,KAAK,KAAK;AAChE;AACA,YAAM,UAAU,SAAS,KAAO,IAAI;AACpC,cAAQ,OAAO;QACb,KAAK;AACH,kBAAQ,SAAS,KAAO,IAAI;AAC5B;QACF,KAAK;AACH,kBAAQ,SAAS,KAAO,IAAI;AAC5B;QACF,KAAK;AACH,kBAAQ,SAAS,KAAO,IAAI,SAAS,KAAO,IAAI;AAChD;QACF,KAAK;QACL,KAAK;AACH,cAAI,SAAS;AAAM,oBAAQ,KAAK,UAAU,IAAI,KAAK,EAAE;AACrD,kBAAQ;AACR;MACJ;IACF;AAEA,SAAK,wBAAwB;AAC7B,WAAO;EACT;EAEQ,oBAAoB,OAAc;AACxC,UAAM,EAAE,OAAO,OAAM,IAAK,KAAK,WAAU;AACzC,QAAI,UAAU,IAAI;AAChB,aAAO,UAAU,MAAM,IAAI,KAAK;IAClC;AACA,UAAM,YAAY,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,UAAU,CAAC;AACzD,UAAM,aAAa,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,UAAU,CAAC;AAC1D,WAAO,UAAU,UAAU,IAAI,SAAS;EAC1C;EAEQ,aAAU;AAChB,UAAM,QAAQ,iBAAiB,KAAK,OAAO;AAC3C,UAAM,qBACH,WAAW,MAAM,WAAW,KAAK,MACjC,WAAW,MAAM,YAAY,KAAK;AACrC,UAAM,mBACH,WAAW,MAAM,UAAU,KAAK,MAChC,WAAW,MAAM,aAAa,KAAK;AAEtC,QAAI,QAAQ,KAAK,QAAQ,cAAc;AACvC,QAAI,SAAS,KAAK,QAAQ,eAAe;AACzC,QAAI,SAAS,KAAK,UAAU,GAAG;AAC7B,YAAM,OAAO,KAAK,QAAQ,sBAAqB;AAC/C,cAAQ,KAAK,QAAQ;AACrB,eAAS,KAAK,SAAS;IACzB;AAIA,QAAI,SAAS,KAAK,KAAK,aAAa;AAAG,cAAQ,KAAK,OAAO,KAAK;AAChE,QAAI,UAAU,KAAK,KAAK,aAAa;AACnC,eAAS,KAAK,OAAO,KAAK;AAE5B,WAAO;MACL,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,CAAC;MACpC,QAAQ,KAAK,IAAI,GAAG,KAAK,MAAM,MAAM,CAAC;;EAE1C;EAEQ,cAAW;AACjB,UAAM,KAAK,KAAK,cAAc;AAC9B,UAAM,aAAa,KAAK,OAAO;AAC/B,UAAM,KAAK,iBAAiB,KAAK,OAAO;AACxC,QAAI,SACD,WAAW,GAAG,UAAU,KAAK,MAAM,WAAW,GAAG,aAAa,KAAK;AACtE,QAAI,GAAG,cAAc,cAAc;AACjC,gBACG,WAAW,GAAG,cAAc,KAAK,MACjC,WAAW,GAAG,iBAAiB,KAAK;IACzC;AACA,SAAK,QAAQ,MAAM,SAAS,GAAG,aAAa,KAAK;EACnD;EAEQ,gBAAa;AACnB,UAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,UAAM,YAAY;AAClB,UAAM,MAAM,aAAa;AACzB,UAAM,MAAM,WAAW;AACvB,UAAM,cAAc;AACpB,SAAK,WAAW,YAAY,KAAK;AACjC,UAAM,IAAI,MAAM,sBAAqB,EAAG;AACxC,UAAM,OAAM;AACZ,QAAI,IAAI,GAAG;AACT,WAAK,aAAa;AAClB,WAAK,QAAQ,MAAM,YAAY,qBAAqB,GAAG,CAAC,IAAI;IAC9D;EACF;EAEQ,mBAAgB;AAItB,UAAM,MAAM,SAAS,cAAc,KAAK;AACxC,QAAI,YAAY;AAChB,QAAI,MAAM,aAAa;AACvB,QAAI,MAAM,WAAW;AAErB,UAAM,QAAQ,SAAS,cAAc,MAAM;AAE3C,UAAM,MAAM,QAAQ;AACpB,UAAM,cAAc;AACpB,QAAI,YAAY,KAAK;AAErB,SAAK,WAAW,YAAY,GAAG;AAC/B,UAAM,YAAY,MAAM,sBAAqB,EAAG;AAChD,UAAM,YAAY,IAAI,sBAAqB,EAAG;AAC9C,QAAI,OAAM;AAEV,QAAI,cAAc,KAAK,cAAc;AAAG,aAAO;AAC/C,SAAK,aAAa;AAClB,SAAK,aAAa;AAClB,SAAK,QAAQ,MAAM,YAAY,qBAAqB,GAAG,SAAS,IAAI;AACpE,WAAO,EAAE,WAAW,UAAS;EAC/B;EAEQ,uBAAoB;AAG1B,UAAM,QAAQ,SAAS,cAAc,MAAM;AAC3C,UAAM,YAAY;AAClB,UAAM,aAAa,eAAe,MAAM;AACxC,UAAM,cAAc;AACpB,SAAK,QAAQ,YAAY,KAAK;AAC9B,QAAI;AAEJ,SAAK,iBAAiB,IAAI,eAAe,CAAC,YAAW;AACnD,UAAI,KAAK;AAAY;AACrB,iBAAW,SAAS,SAAS;AAC3B,YAAI,MAAM,WAAW,KAAK;AAAS,0BAAgB,MAAM;MAC3D;AACA,YAAM,WAAW,KAAK,iBAAgB;AACtC,UAAI,CAAC,YAAY,CAAC,KAAK,cAAc,CAAC;AAAe;AAErD,YAAM,EAAE,WAAW,UAAS,IAAK;AACjC,YAAM,UAAU,KAAK,IAAI,GAAG,KAAK,MAAM,cAAc,QAAQ,SAAS,CAAC;AACvE,YAAM,UAAU,KAAK,IAAI,GAAG,KAAK,MAAM,cAAc,SAAS,SAAS,CAAC;AACxE,UAAI,YAAY,KAAK,QAAQ,YAAY,KAAK,MAAM;AAClD,aAAK,OAAO,SAAS,OAAO;MAC9B;IACF,CAAC;AACD,SAAK,eAAe,QAAQ,KAAK;AACjC,QAAI,KAAK;AAAY,WAAK,eAAe,QAAQ,KAAK,OAAO;EAC/D;EAEA,UAAO;AACL,SAAK,aAAa;AAClB,SAAK,aAAa,OAAM;AACxB,SAAK,kBAAkB,QAAO;AAC9B,SAAK,eAAe,QAAO;AAC3B,SAAK,qBAAqB,QAAO;AACjC,SAAK,QAAQ,OAAM;AACnB,SAAK,iBAAiB;AACtB,SAAK,wBAAwB;AAC7B,SAAK,uBAAsB;AAC3B,SAAK,kCAAiC;AACtC,QAAI,KAAK;AAAgB,WAAK,eAAe,WAAU;AACvD,QAAI,KAAK;AAAO,WAAK,MAAM,QAAO;AAClC,SAAK,UAAU,QAAO;AACtB,SAAK,WAAW;AAChB,SAAK,QAAQ,oBAAoB,SAAS,KAAK,aAAa;AAC5D,SAAK,QAAQ,oBAAoB,SAAS,KAAK,cAAc;AAC7D,SAAK,QAAQ,oBAAoB,UAAU,KAAK,SAAS;AACzD,SAAK,QAAQ,cAAc,oBAAoB,QAAQ,KAAK,OAAO;AACnE,SAAK,QAAQ,cAAc,oBACzB,oBACA,KAAK,mBAAmB;AAE1B,SAAK,QAAQ,cAAc,oBACzB,WACA,KAAK,iBAAiB;AAExB,SAAK,QAAQ,cAAc,oBACzB,SACA,KAAK,iBAAiB;AAExB,SAAK,QAAQ,cAAc,aAAa,oBACtC,QACA,KAAK,aAAa;AAEpB,SAAK,QAAQ,UAAU,OAAO,sBAAsB;AACpD,SAAK,QAAQ,YAAY;AACzB,QACE,KAAK,SACJ,WAAuC,YAAY,MACpD;AACA,aAAQ,WAAuC;IACjD;AACA,SAAK,QAAQ;EACf;;;;AC5zCK,IAAM,eAAsD;AAAA,EACjE,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AACV;;;AC5BA;;;ACAA;;;ACGA,IAAM,SAAS,oBAAI,QAAiC;AAEpD,SAAS,SAASC,WAAmC;AACnD,MAAI,QAAQ,OAAO,IAAIA,SAAQ;AAC/B,MAAI,CAAC,OAAO;AACV,UAAM,OAAOA,UAAS;AACtB,YAAQ,IAAI,KAAK,cAAc;AAC/B,UAAM,YAAY,GAAG,gBAAK;AAAA,EAAK,sBAAK,EAAE;AACtC,WAAO,IAAIA,WAAU,KAAK;AAAA,EAC5B;AACA,SAAO;AACT;AAEO,SAAS,MAAM,MAAmC;AACvD,QAAM,QAAQ,SAAU,KAAK,iBAAiB,IAAiB;AAC/D,MAAI,KAAK,mBAAmB,SAAS,KAAK,EAAG;AAC7C,OAAK,qBAAqB,CAAC,GAAG,KAAK,oBAAoB,KAAK;AAC9D;;;ACXA,IAAM,UAAU,IAAI,YAAY;AAEhC,SAAS,UAAU,OAA0C;AAC3D,QAAM,SAAS,OAAO,SAAS,SAAS,IAAI,EAAE;AAC9C,SAAO,SAAS,IAAI,SAAS;AAC/B;AAEO,IAAM,gBAAN,MAAM,uBAAsB,YAAY;AAAA,EAC7C,OAAO,qBAAqB,CAAC,QAAQ,MAAM;AAAA,EAE3C,OAAO,UAAU,IAAI,IAAI,gBAAgB,YAAY,GAAG,EAAE;AAAA,EAE1D,WAAmC;AAAA,EACnC,QAAsB;AAAA,EACtB,WAAmC;AAAA,EACnC,SAA8B;AAAA,EAC9B,cAAc;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,SAAS,QAAQ,cAAoB;AAAA,EAErC,cAAc;AACZ,UAAM;AACN,UAAM,UAAU,CAAC,WAAoB,MAAM;AACzC,WAAK,WAAW;AAAA,IAClB;AACA,SAAK,iBAAiB,SAAS,QAAQ,IAAI,GAAG,IAAI;AAClD,SAAK,iBAAiB,SAAS,QAAQ,KAAK,CAAC;AAAA,EAC/C;AAAA,EAEA,IAAI,UAAkC;AACpC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,QAAQ,SAAiC;AAC3C,SAAK,WAAW;AAChB,QAAI,CAAC,KAAK,MAAO;AACjB,SAAK,OAAO;AACZ,UAAM,QAAQ,KAAK;AACnB,SAAK,KAAK,MAAM,KAAK,WAAW,EAAE,MAAM,CAAC,UAAU,KAAK,MAAM,OAAO,KAAK,CAAC;AAAA,EAC7E;AAAA,EAEA,IAAI,QAAuB;AACzB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,OAAe;AACjB,WAAO,KAAK,OAAO,QAAQ,UAAU,KAAK,aAAa,MAAM,CAAC,KAAK;AAAA,EACrE;AAAA,EAEA,IAAI,OAAe;AACjB,WAAO,KAAK,OAAO,QAAQ,UAAU,KAAK,aAAa,MAAM,CAAC,KAAK;AAAA,EACrE;AAAA,EAEA,oBAA0B;AACxB,UAAM,KAAK,YAAY,CAA0B;AACjD,UAAM,aAAa,EAAE,KAAK;AAC1B,UAAM,QAAQ,KAAK;AACnB,SAAK,KAAK,OAAO,UAAU,EAAE,MAAM,CAAC,UAAU,KAAK,MAAM,OAAO,KAAK,CAAC;AAAA,EACxE;AAAA,EAEA,uBAA6B;AAC3B,SAAK,eAAe;AACpB,SAAK,OAAO;AACZ,SAAK,OAAO,QAAQ;AACpB,SAAK,QAAQ;AACb,SAAK,gBAAgB;AACrB,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,2BAAiC;AAC/B,UAAM,OAAO,KAAK;AAClB,QAAI,CAAC,QAAQ,KAAK,UAAW;AAC7B,UAAM,OAAO,UAAU,KAAK,aAAa,MAAM,CAAC;AAChD,UAAM,OAAO,UAAU,KAAK,aAAa,MAAM,CAAC;AAChD,SAAK,aAAa,SAAS,UAAa,SAAS;AACjD,UAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,MAAM,MAAM,QAAQ,KAAK,KAAK;AAChE,QAAI,KAAK,WAAY,MAAK,IAAI;AAAA,aACrB,KAAK,SAAS,KAAK,QAAQ,KAAK,SAAS,KAAK,KAAM,MAAK,OAAO,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/F;AAAA,EAEA,OAAO,MAAc,MAAoB;AACvC,SAAK,OAAO,MAAM;AAChB,WAAK,aAAa,QAAQ,OAAO,IAAI,CAAC;AACtC,WAAK,aAAa,QAAQ,OAAO,IAAI,CAAC;AAAA,IACxC,CAAC;AAAA,EACH;AAAA,EAEA,MAAY;AACV,SAAK,OAAO,MAAM;AAChB,WAAK,gBAAgB,MAAM;AAC3B,WAAK,gBAAgB,MAAM;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,MAAiC;AACrC,SAAK,OAAO,MAAM,IAAI;AAAA,EACxB;AAAA,EAEA,KAAK,MAAiC;AACpC,UAAM,QAAQ,OAAO,SAAS,WAAW,QAAQ,OAAO,IAAI,IAAI;AAChE,QAAI,KAAK,SAAU,MAAK,SAAS,MAAM,KAAK;AAAA,QACvC,MAAK,QAAQ,KAAK,MAAM,MAAM,CAAC;AAAA,EACtC;AAAA,EAEA,OAAO,MAA4B;AACjC,UAAM,UAAU,KAAK;AACrB,QAAI,CAAC,QAAS;AACd,UAAM,OAAO,aAAa,IAAI;AAC9B,QAAI,QAAQ,OAAQ,SAAQ,OAAO,IAAI;AAAA,aAC9B,SAAS,KAAM,SAAQ,MAAM,WAAW,GAAG,IAAI,CAAC;AAAA,EAC3D;AAAA,EAES,QAAc;AACrB,SAAK,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,WAA4B;AAC1B,WAAO,KAAK,OAAO,SAAS,KAAK,QAAQ,QAAQ,EAAE;AAAA,EACrD;AAAA,EAEA,MAAM,OAAO,YAAmC;AAC9C,UAAM,OAAO,KAAK,cAAc,cAAc,KAAK;AACnD,SAAK,gBAAgB,IAAI;AACzB,UAAM,OAAO,UAAU,KAAK,aAAa,MAAM,CAAC;AAChD,UAAM,OAAO,UAAU,KAAK,aAAa,MAAM,CAAC;AAChD,UAAM,OAAO,MAAM,eAAe,KAAK;AACvC,UAAM,OAAO,IAAI,MAAM,MAAM;AAAA,MAC3B;AAAA,MACA;AAAA,MACA,SAAS,eAAc;AAAA,MACvB,QAAQ,CAAC,SAAS,KAAK,KAAK,KAAK,KAAK,KAAK,WAAW,KAAK,QAAQ,UAAU,IAAI,IAAI,IAAI;AAAA,MACzF,UAAU,CAAC,SAAS,KAAK,KAAK,KAAK,KAAK,IAAI;AAAA,MAC5C,UAAU,CAAC,GAAG,MAAM,KAAK,KAAK,KAAK,SAAS,GAAG,CAAC;AAAA,MAChD,SAAS,CAAC,UAAU,KAAK,KAAK,KAAK,MAAM,SAAS,EAAE,MAAM,CAAC;AAAA,MAC3D,QAAQ,CAAC,UAAU,KAAK,KAAK,KAAK,MAAM,QAAQ,EAAE,MAAM,CAAC;AAAA,IAC3D,CAAC;AACD,QAAI;AACF,YAAM,KAAK,KAAK;AAAA,IAClB,SAAS,OAAO;AACd,UAAI,eAAe,KAAK,YAAa,OAAM;AAC3C;AAAA,IACF;AACA,QAAI,eAAe,KAAK,YAAa,QAAO,KAAK,QAAQ;AACzD,SAAK,QAAQ;AACb,SAAK,yBAAyB;AAC9B,UAAM,KAAK,MAAM,UAAU;AAAA,EAC7B;AAAA,EAEA,MAAM,MAAM,YAAmC;AAC7C,UAAM,UAAU,EAAE,KAAK;AACvB,SAAK,OAAO;AACZ,UAAM,UAAU,KAAK;AACrB,QAAI,CAAC,QAAS,QAAO,KAAK,UAAU;AACpC,UAAM,QAAsB,CAAC;AAC7B,SAAK,SAAS;AACd,QAAI,QAAQ;AACZ,UAAM,UAAU,MAAM,eAAe,KAAK,eAAe,YAAY,KAAK;AAC1E,UAAM,OAAO,MAAM,CAAC,SAAS,QAAQ;AACrC,UAAM,OAAO,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,KAAK;AAChD,QAAI;AACJ,QAAI;AACF,gBAAU,MAAM,QAAQ;AAAA,QACtB;AAAA,UACE,QAAQ,CAAC,SAAS;AAChB,gBAAI,KAAK,EAAG,MAAK,OAAO,MAAM,IAAI;AAAA,UACpC;AAAA,UACA,MAAM,CAAC,WAAW;AAChB,gBAAI,CAAC,KAAK,EAAG;AACb,oBAAQ;AACR,iBAAK,OAAO;AACZ,iBAAK,MAAM,QAAQ,EAAE,OAAO,CAAC;AAAA,UAC/B;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,IACF,SAAS,OAAO;AACd,UAAI,CAAC,QAAQ,EAAG;AAChB,WAAK,SAAS;AACd,YAAM;AAAA,IACR;AACA,QAAI,CAAC,QAAQ,EAAG,QAAO,QAAQ,MAAM;AACrC,QAAI,OAAO;AACT,cAAQ,MAAM;AACd,aAAO,KAAK,UAAU;AAAA,IACxB;AACA,SAAK,WAAW;AAChB,SAAK,SAAS;AACd,QAAI,KAAK,SAAS,KAAK,QAAQ,KAAK,SAAS,KAAK,KAAM,SAAQ,OAAO,KAAK,MAAM,KAAK,IAAI;AAC3F,eAAW,SAAS,MAAO,SAAQ,MAAM,KAAK;AAC9C,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,OAAO,QAA0B;AAC/B,SAAK,YAAY;AACjB,QAAI;AACF,aAAO;AAAA,IACT,UAAE;AACA,WAAK,YAAY;AAAA,IACnB;AACA,SAAK,yBAAyB;AAAA,EAChC;AAAA,EAEA,SAAe;AACb,UAAM,WAAW,KAAK;AACtB,SAAK,SAAS,QAAQ,cAAoB;AAC1C,aAAS,QAAQ,KAAK,OAAO,OAAO;AACpC,aAAS,QAAQ,MAAM,MAAM;AAAA,IAAC,CAAC;AAAA,EACjC;AAAA,EAEA,YAAkB;AAChB,SAAK,OAAO,QAAQ,IAAI;AACxB,SAAK,MAAM,SAAS,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,KAAK,CAAC;AAAA,EAC1D;AAAA,EAEA,SAAe;AACb,UAAM,UAAU,KAAK;AACrB,SAAK,WAAW;AAChB,SAAK,SAAS;AACd,aAAS,MAAM;AAAA,EACjB;AAAA,EAEA,SAAS,MAAc,MAAoB;AACzC,SAAK,UAAU,OAAO,MAAM,IAAI;AAChC,SAAK,MAAM,UAAU,EAAE,MAAM,KAAK,CAAC;AAAA,EACrC;AAAA,EAEA,MAAM,OAAgB,OAAyC;AAC7D,UAAM,OAAO,KAAK;AAClB,UAAM,QAAQ,MAAM,MAAM;AAAA,IAAC,CAAC;AAC5B,QAAI,UAAU,KAAK,OAAQ,MAAK,MAAM,SAAS,EAAE,MAAM,CAAC;AAAA,EAC1D;AAAA,EAEA,MAAM,MAAc,QAAuB;AACzC,SAAK,cAAc,IAAI,YAAY,MAAM,EAAE,OAAO,CAAC,CAAC;AAAA,EACtD;AACF;AAEO,SAAS,SAAe;AAC7B,MAAI,CAAC,eAAe,IAAI,gBAAgB,EAAG,gBAAe,OAAO,kBAAkB,aAAa;AAClG;;;AC9NA,IAAMC,WAAU,IAAI,YAAY;AAEzB,SAAS,cACd,QACA,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,KAAK,IAAI,IAA0B,CAAC,GAC5C;AACjB,SAAO;AAAA,IACL,MAAM,KAAK,MAAM,EAAE,MAAM,KAAK,GAAG;AAC/B,YAAM,SAAS,CAAC,UAAsB,KAAK,OAAO,KAAK;AACvD,YAAM,WAAW,MAAM,OAAO,aAAa,MAAM,EAAE,KAAK,KAAK,MAAM,MAAM,OAAO,CAAC;AACjF,eAAS,OAAO;AAAA,QACd,CAAC,WAAW,KAAK,KAAK,MAAM;AAAA,QAC5B,CAAC,UAAU;AACT,eAAK,OAAOA,SAAQ,OAAO;AAAA,EAAO,iBAAiB,QAAQ,MAAM,UAAU,KAAK;AAAA,CAAM,CAAC;AACvF,eAAK,KAAK,CAAC;AAAA,QACb;AAAA,MACF;AACA,aAAO;AAAA,QACL,OAAO,CAAC,SAAS,SAAS,MAAM,IAAI;AAAA,QACpC,QAAQ,CAAC,GAAG,MAAM,SAAS,OAAO,GAAG,CAAC;AAAA,QACtC,QAAQ,CAAC,SAAS,SAAS,OAAO,IAAI;AAAA,QACtC,OAAO,MAAM,SAAS,MAAM;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AACF;;;ACnCA,OAAO;",
|
|
6
|
+
"names": ["WASM_BASE64", "text", "row", "content", "style", "cursor", "position", "row", "navigator", "entry", "seq", "doc", "selected", "document", "encoder"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type TerminalSignal = 'SIGINT' | 'SIGTSTP' | 'SIGQUIT' | 'SIGHUP';
|
|
2
|
+
export interface TerminalSize {
|
|
3
|
+
cols: number;
|
|
4
|
+
rows: number;
|
|
5
|
+
}
|
|
6
|
+
export interface TerminalSink {
|
|
7
|
+
output(data: Uint8Array): void;
|
|
8
|
+
exit(status: number): void;
|
|
9
|
+
}
|
|
10
|
+
export interface TerminalSession {
|
|
11
|
+
write(data: Uint8Array): void;
|
|
12
|
+
resize(cols: number, rows: number): void;
|
|
13
|
+
signal?(name: TerminalSignal): void;
|
|
14
|
+
close(): void;
|
|
15
|
+
}
|
|
16
|
+
export interface TerminalBackend {
|
|
17
|
+
open(sink: TerminalSink, size: TerminalSize): TerminalSession | Promise<TerminalSession>;
|
|
18
|
+
}
|
|
19
|
+
export declare const controlBytes: Record<TerminalSignal, number | null>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { TerminalBackend, TerminalSession, TerminalSignal, TerminalSink, TerminalSize, } from './backend.js';
|
|
2
|
+
export type { KernelBackendOptions, KernelTerminal, KernelTerminalOptions, TerminalKernel, } from './kernel-backend.js';
|
|
3
|
+
export { kernelBackend } from './kernel-backend.js';
|
|
4
|
+
export { define, SliccTerminal } from './slicc-terminal.js';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TerminalBackend, TerminalSignal } from './backend.js';
|
|
2
|
+
export interface KernelTerminal {
|
|
3
|
+
readonly exited: Promise<number>;
|
|
4
|
+
write(data: Uint8Array): void;
|
|
5
|
+
resize(cols: number, rows: number): void;
|
|
6
|
+
signal(name: TerminalSignal): void;
|
|
7
|
+
close(): void;
|
|
8
|
+
}
|
|
9
|
+
export interface KernelTerminalOptions {
|
|
10
|
+
cwd?: string;
|
|
11
|
+
env?: Record<string, string>;
|
|
12
|
+
cols: number;
|
|
13
|
+
rows: number;
|
|
14
|
+
onData: (bytes: Uint8Array) => void;
|
|
15
|
+
}
|
|
16
|
+
export interface TerminalKernel {
|
|
17
|
+
openTerminal(argv: string[], options: KernelTerminalOptions): Promise<KernelTerminal>;
|
|
18
|
+
}
|
|
19
|
+
export interface KernelBackendOptions {
|
|
20
|
+
argv?: string[];
|
|
21
|
+
cwd?: string;
|
|
22
|
+
env?: Record<string, string>;
|
|
23
|
+
}
|
|
24
|
+
export declare function kernelBackend(kernel: TerminalKernel, { argv, cwd, env }?: KernelBackendOptions): TerminalBackend;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type TerminalBackend, type TerminalSignal } from './backend.js';
|
|
2
|
+
export declare class SliccTerminal extends HTMLElement {
|
|
3
|
+
#private;
|
|
4
|
+
static observedAttributes: string[];
|
|
5
|
+
static wasmUrl: string;
|
|
6
|
+
constructor();
|
|
7
|
+
get backend(): TerminalBackend | null;
|
|
8
|
+
set backend(backend: TerminalBackend | null);
|
|
9
|
+
get ready(): Promise<this>;
|
|
10
|
+
get cols(): number;
|
|
11
|
+
get rows(): number;
|
|
12
|
+
connectedCallback(): void;
|
|
13
|
+
disconnectedCallback(): void;
|
|
14
|
+
attributeChangedCallback(): void;
|
|
15
|
+
resize(cols: number, rows: number): void;
|
|
16
|
+
fit(): void;
|
|
17
|
+
write(data: string | Uint8Array): void;
|
|
18
|
+
send(data: string | Uint8Array): void;
|
|
19
|
+
signal(name: TerminalSignal): void;
|
|
20
|
+
focus(): void;
|
|
21
|
+
readText(): Promise<string>;
|
|
22
|
+
}
|
|
23
|
+
export declare function define(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function adopt(root: Document | ShadowRoot): void;
|
package/dist/wterm.wasm
ADDED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,10 +1,68 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/slicc-spectrum",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "A terminal web component for SLICC, built on wterm, that talks to slicc-kernel",
|
|
5
|
+
"type": "module",
|
|
5
6
|
"license": "Apache-2.0",
|
|
6
7
|
"repository": {
|
|
7
8
|
"type": "git",
|
|
8
9
|
"url": "git+https://github.com/ai-ecoverse/slicc-spectrum.git"
|
|
10
|
+
},
|
|
11
|
+
"engines": {
|
|
12
|
+
"node": ">=24"
|
|
13
|
+
},
|
|
14
|
+
"fledgling": {
|
|
15
|
+
"provider": "github",
|
|
16
|
+
"workflow": "release.yml",
|
|
17
|
+
"repo": "ai-ecoverse/slicc-spectrum",
|
|
18
|
+
"publish": true
|
|
19
|
+
},
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public",
|
|
22
|
+
"provenance": true
|
|
23
|
+
},
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"types": "./dist/types/index.d.ts",
|
|
27
|
+
"default": "./dist/slicc-terminal.js"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"dist"
|
|
32
|
+
],
|
|
33
|
+
"scripts": {
|
|
34
|
+
"prepare": "lefthook install",
|
|
35
|
+
"build": "node build.mjs",
|
|
36
|
+
"prepack": "npm run build",
|
|
37
|
+
"trust": "npx fledgling sync -y --skip-publish",
|
|
38
|
+
"trust:dry": "npx fledgling sync --dry-run -y --skip-publish",
|
|
39
|
+
"release": "semantic-release",
|
|
40
|
+
"start": "npm run build && node test/integration/server.mjs",
|
|
41
|
+
"pretest": "npm run build && playwright-core install --no-shell chromium",
|
|
42
|
+
"test": "node --test --test-global-setup=test/integration/global.mjs 'test/integration/*.test.mjs'",
|
|
43
|
+
"test:unit": "NODE_NO_WARNINGS=1 mcr -c mcr.config.mjs node --test 'test/unit/**/*.test.mjs'",
|
|
44
|
+
"coverage:staged": "npm run --silent test:unit && uvx diff-cover@10.6.0 coverage/unit/lcov.info --compare-branch HEAD --ignore-unstaged --fail-under 100",
|
|
45
|
+
"typecheck": "tsc",
|
|
46
|
+
"lint": "biome check . && npm run typecheck && npm run lint:comments && npm run lint:no-unit-tests",
|
|
47
|
+
"lint:comments": "d=node_modules/.cache/no-comment-9cc7617; [ -f $d/check.mjs ] || { mkdir -p $d && for f in lib comments marker check; do curl -fsSL -o $d/$f.mjs https://raw.githubusercontent.com/ai-ecoverse/slicc/9cc7617c94c24b84c4d6fd8edf92441378257d07/packages/dev-tools/no-comment/$f.mjs || exit 1; done; } && node $d/check.mjs --force",
|
|
48
|
+
"lint:no-unit-tests": "! git ls-files --cached --others --exclude-standard | grep -E '(^|/)(tests?|__tests__)/|\\.(test|spec)\\.' | grep -vE '^test/integration/'",
|
|
49
|
+
"format": "biome check --write ."
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@ai-ecoverse/slicc-kernel": "1.1.0",
|
|
53
|
+
"@ai-ecoverse/wasm-bash": "5.3.0-7",
|
|
54
|
+
"@ai-ecoverse/wasm-coreutils": "9.7.0-3",
|
|
55
|
+
"@biomejs/biome": "2.5.15",
|
|
56
|
+
"@happy-dom/global-registrator": "20.14.5",
|
|
57
|
+
"@types/node": "26.6.4",
|
|
58
|
+
"@wterm/core": "0.5.4",
|
|
59
|
+
"@wterm/dom": "0.5.4",
|
|
60
|
+
"esbuild": "0.28.2",
|
|
61
|
+
"happy-dom": "20.14.5",
|
|
62
|
+
"lefthook": "2.1.16",
|
|
63
|
+
"monocart-coverage-reports": "2.13.0",
|
|
64
|
+
"playwright-core": "1.63.0",
|
|
65
|
+
"semantic-release": "25.0.9",
|
|
66
|
+
"typescript": "7.0.2"
|
|
9
67
|
}
|
|
10
68
|
}
|