@domternal/angular 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@domternal/angular)
|
|
4
4
|
[](https://github.com/domternal/domternal/blob/main/LICENSE)
|
|
5
5
|
|
|
6
|
-
A lightweight, extensible rich text editor toolkit built on <u>[ProseMirror](https://prosemirror.net/)</u>. Framework-agnostic headless core with first-class Angular support.
|
|
7
|
-
Use it headless with vanilla JS/TS, add the built-in toolbar and theme, or drop in ready-made
|
|
6
|
+
A lightweight, extensible rich text editor toolkit built on <u>[ProseMirror](https://prosemirror.net/)</u>. Framework-agnostic headless core with first-class Angular and React support.
|
|
7
|
+
Use it headless with vanilla JS/TS, add the built-in toolbar and theme, or drop in ready-made framework components. Fully tree-shakeable, import only what you use, unused extensions are stripped from your bundle.
|
|
8
8
|
|
|
9
9
|
## Links
|
|
10
10
|
|
|
11
|
-
<u>[Website](https://domternal.dev)</u> • <u>[Documentation](https://domternal.dev/v1/introduction)</u>
|
|
11
|
+
<u>[Website](https://domternal.dev)</u> • <u>[Documentation](https://domternal.dev/v1/introduction)</u>
|
|
12
|
+
<u>[StackBlitz (Angular)](https://stackblitz.com/edit/domternal-angular-full-example)</u> • <u>[StackBlitz (React)](https://stackblitz.com/edit/domternal-react-full-example)</u> • <u>[StackBlitz (Vanilla TS)](https://stackblitz.com/edit/domternal-vanilla-full-example)</u>
|
|
12
13
|
|
|
13
14
|
## Features
|
|
14
15
|
|
|
@@ -16,13 +17,14 @@ See <u>[Packages & Bundle Size](https://domternal.dev/v1/packages)</u> for a ful
|
|
|
16
17
|
|
|
17
18
|
- **Headless core** - use with any framework or vanilla JS/TS
|
|
18
19
|
- **Angular components** - editor, toolbar, bubble menu, floating menu, emoji picker (signals, OnPush, zoneless-ready)
|
|
19
|
-
- **
|
|
20
|
+
- **React components** - composable `Domternal` component, toolbar, bubble menu, floating menu, emoji picker, custom node views (React 18+)
|
|
21
|
+
- **57 extensions across 11 packages** - 23 nodes, 9 marks, and 25 behavior extensions
|
|
20
22
|
- **140+ chainable commands** - `editor.chain().focus().toggleBold().run()`
|
|
21
23
|
- **Full table support** - cell merging, column resize, row/column controls, cell toolbar, all free and MIT licensed
|
|
22
24
|
- **Tree-shakeable** - import only what you use, your bundler strips the rest
|
|
23
25
|
- **~38 KB gzipped** (own code), <u>[~108 KB total](https://domternal.dev/v1/packages)</u> with ProseMirror
|
|
24
26
|
- **TypeScript first** - 100% typed, zero `any`
|
|
25
|
-
- **
|
|
27
|
+
- **7,500+ tests** - 3,936 unit tests and 3,652 E2E tests across 76 Playwright specs
|
|
26
28
|
- **Light and dark theme** - 70+ CSS custom properties for full visual control
|
|
27
29
|
- **Inline styles export** - `getHTML({ styled: true })` produces inline CSS ready for email clients, CMS, and Google Docs
|
|
28
30
|
- **SSR helpers** - `generateHTML`, `generateJSON`, `generateText` for server-side rendering
|
package/dist/README.md
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@domternal/angular)
|
|
4
4
|
[](https://github.com/domternal/domternal/blob/main/LICENSE)
|
|
5
5
|
|
|
6
|
-
A lightweight, extensible rich text editor toolkit built on <u>[ProseMirror](https://prosemirror.net/)</u>. Framework-agnostic headless core with first-class Angular support.
|
|
7
|
-
Use it headless with vanilla JS/TS, add the built-in toolbar and theme, or drop in ready-made
|
|
6
|
+
A lightweight, extensible rich text editor toolkit built on <u>[ProseMirror](https://prosemirror.net/)</u>. Framework-agnostic headless core with first-class Angular and React support.
|
|
7
|
+
Use it headless with vanilla JS/TS, add the built-in toolbar and theme, or drop in ready-made framework components. Fully tree-shakeable, import only what you use, unused extensions are stripped from your bundle.
|
|
8
8
|
|
|
9
9
|
## Links
|
|
10
10
|
|
|
11
|
-
<u>[Website](https://domternal.dev)</u> • <u>[Documentation](https://domternal.dev/v1/introduction)</u>
|
|
11
|
+
<u>[Website](https://domternal.dev)</u> • <u>[Documentation](https://domternal.dev/v1/introduction)</u>
|
|
12
|
+
<u>[StackBlitz (Angular)](https://stackblitz.com/edit/domternal-angular-full-example)</u> • <u>[StackBlitz (React)](https://stackblitz.com/edit/domternal-react-full-example)</u> • <u>[StackBlitz (Vanilla TS)](https://stackblitz.com/edit/domternal-vanilla-full-example)</u>
|
|
12
13
|
|
|
13
14
|
## Features
|
|
14
15
|
|
|
@@ -16,13 +17,14 @@ See <u>[Packages & Bundle Size](https://domternal.dev/v1/packages)</u> for a ful
|
|
|
16
17
|
|
|
17
18
|
- **Headless core** - use with any framework or vanilla JS/TS
|
|
18
19
|
- **Angular components** - editor, toolbar, bubble menu, floating menu, emoji picker (signals, OnPush, zoneless-ready)
|
|
19
|
-
- **
|
|
20
|
+
- **React components** - composable `Domternal` component, toolbar, bubble menu, floating menu, emoji picker, custom node views (React 18+)
|
|
21
|
+
- **57 extensions across 11 packages** - 23 nodes, 9 marks, and 25 behavior extensions
|
|
20
22
|
- **140+ chainable commands** - `editor.chain().focus().toggleBold().run()`
|
|
21
23
|
- **Full table support** - cell merging, column resize, row/column controls, cell toolbar, all free and MIT licensed
|
|
22
24
|
- **Tree-shakeable** - import only what you use, your bundler strips the rest
|
|
23
25
|
- **~38 KB gzipped** (own code), <u>[~108 KB total](https://domternal.dev/v1/packages)</u> with ProseMirror
|
|
24
26
|
- **TypeScript first** - 100% typed, zero `any`
|
|
25
|
-
- **
|
|
27
|
+
- **7,500+ tests** - 3,936 unit tests and 3,652 E2E tests across 76 Playwright specs
|
|
26
28
|
- **Light and dark theme** - 70+ CSS custom properties for full visual control
|
|
27
29
|
- **Inline styles export** - `getHTML({ styled: true })` produces inline CSS ready for email clients, CMS, and Google Docs
|
|
28
30
|
- **SSR helpers** - `generateHTML`, `generateJSON`, `generateText` for server-side rendering
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domternal-angular.mjs","sources":["../../src/lib/editor.component.ts","../../src/lib/toolbar.component.ts","../../src/lib/bubble-menu.component.ts","../../src/lib/floating-menu.component.ts","../../src/lib/emoji-picker.component.ts","../../src/domternal-angular.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n forwardRef,\n signal,\n ChangeDetectionStrategy,\n inject,\n NgZone,\n OnDestroy,\n effect,\n input,\n output,\n viewChild,\n untracked,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {\n Editor,\n Document,\n Paragraph,\n Text,\n BaseKeymap,\n History,\n} from '@domternal/core';\nimport type { Content, AnyExtension, FocusPosition, JSONContent, TransactionEventProps, FocusEventProps } from '@domternal/core';\n\nexport const DEFAULT_EXTENSIONS: AnyExtension[] = [Document, Paragraph, Text, BaseKeymap, History];\n\n@Component({\n selector: 'domternal-editor',\n template: '<div #editorRef></div>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'dm-editor' },\n styles: [`:host { display: block; }`],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DomternalEditorComponent),\n multi: true,\n },\n ],\n})\nexport class DomternalEditorComponent implements ControlValueAccessor, OnDestroy {\n // === Template ref ===\n readonly editorRef = viewChild.required<ElementRef<HTMLDivElement>>('editorRef');\n\n // === Inputs ===\n readonly extensions = input<AnyExtension[]>([]);\n readonly content = input<Content>('');\n readonly editable = input(true);\n readonly autofocus = input<FocusPosition>(false);\n readonly outputFormat = input<'html' | 'json'>('html');\n\n // === Outputs ===\n readonly editorCreated = output<Editor>();\n readonly contentUpdated = output<{ editor: Editor }>();\n readonly selectionChanged = output<{ editor: Editor }>();\n readonly focusChanged = output<{ editor: Editor; event: FocusEvent }>();\n readonly blurChanged = output<{ editor: Editor; event: FocusEvent }>();\n readonly editorDestroyed = output<void>();\n\n // === Signals (read-only public state) ===\n private _htmlContent = signal('');\n private _jsonContent = signal<JSONContent | null>(null);\n private _isEmpty = signal(true);\n private _isFocused = signal(false);\n // Candidate for linkedSignal(editable) once min Angular version is >=20\n private _isEditable = signal(true);\n\n readonly htmlContent = this._htmlContent.asReadonly();\n readonly jsonContent = this._jsonContent.asReadonly();\n readonly isEmpty = this._isEmpty.asReadonly();\n readonly isFocused = this._isFocused.asReadonly();\n readonly isEditable = this._isEditable.asReadonly();\n\n // === Editor instance ===\n private _editor: Editor | null = null;\n\n get editor(): Editor | null {\n return this._editor;\n }\n\n // === ControlValueAccessor ===\n private onChange: (value: Content) => void = () => {};\n private onTouched: () => void = () => {};\n private _pendingContent: Content | null = null;\n\n private ngZone = inject(NgZone);\n\n constructor() {\n afterNextRender(() => {\n this.createEditor();\n });\n\n // React to editable input changes\n effect(() => {\n const editable = this.editable();\n if (!this._editor || this._editor.isDestroyed) return;\n untracked(() => {\n this._editor!.setEditable(editable);\n this._isEditable.set(editable);\n });\n });\n\n // React to content input changes\n effect(() => {\n const content = this.content();\n const format = this.outputFormat();\n if (!this._editor || this._editor.isDestroyed) return;\n untracked(() => {\n const current = format === 'html'\n ? this._editor!.getHTML()\n : JSON.stringify(this._editor!.getJSON());\n const incoming = format === 'html'\n ? (content as string)\n : JSON.stringify(content);\n if (incoming !== current) {\n this._editor!.setContent(content, false);\n }\n });\n });\n\n // React to extensions input changes\n effect(() => {\n this.extensions(); // track the signal\n if (!this._editor || this._editor.isDestroyed) return;\n untracked(() => {\n this.recreateEditor();\n });\n });\n }\n\n // === Lifecycle ===\n\n ngOnDestroy(): void {\n if (this._editor && !this._editor.isDestroyed) {\n this._editor.destroy();\n this.editorDestroyed.emit();\n }\n this._editor = null;\n }\n\n // === ControlValueAccessor implementation ===\n\n writeValue(value: Content): void {\n if (!this._editor || this._editor.isDestroyed) {\n this._pendingContent = value;\n return;\n }\n\n // Compare current content to avoid unnecessary setContent (which resets cursor)\n if (this.outputFormat() === 'html') {\n if (value === this._editor.getHTML()) return;\n } else {\n if (JSON.stringify(value) === JSON.stringify(this._editor.getJSON())) return;\n }\n\n this._editor.setContent(value, false);\n }\n\n registerOnChange(fn: (value: Content) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._isEditable.set(!isDisabled);\n if (this._editor && !this._editor.isDestroyed) {\n this._editor.setEditable(!isDisabled);\n }\n }\n\n // === Private ===\n\n private recreateEditor(): void {\n if (!this._editor || this._editor.isDestroyed) return;\n const currentContent = this._editor.getJSON();\n this._editor.destroy();\n this.editorDestroyed.emit();\n this._pendingContent = currentContent;\n this.createEditor();\n }\n\n private createEditor(): void {\n const initialContent = this._pendingContent ?? this.content();\n this._pendingContent = null;\n\n this._editor = new Editor({\n element: this.editorRef().nativeElement,\n extensions: [...DEFAULT_EXTENSIONS, ...this.extensions()],\n content: initialContent,\n editable: this.editable(),\n autofocus: this.autofocus(),\n });\n\n this._isEditable.set(this.editable());\n\n // Set initial signal values\n this._htmlContent.set(this._editor.getHTML());\n this._jsonContent.set(this._editor.getJSON());\n this._isEmpty.set(this._editor.isEmpty);\n\n this._editor.on('transaction', ({ transaction }: TransactionEventProps) => {\n this.ngZone.run(() => {\n const ed = this._editor!;\n\n if (transaction.docChanged) {\n const html = ed.getHTML();\n this._htmlContent.set(html);\n this._jsonContent.set(ed.getJSON());\n this._isEmpty.set(ed.isEmpty);\n this.contentUpdated.emit({ editor: ed });\n\n const value: Content = this.outputFormat() === 'html' ? html : ed.getJSON();\n this.onChange(value);\n }\n\n if (!transaction.docChanged && transaction.selectionSet) {\n this.selectionChanged.emit({ editor: ed });\n }\n });\n });\n\n this._editor.on('focus', ({ event }: FocusEventProps) => {\n this.ngZone.run(() => {\n this._isFocused.set(true);\n this.focusChanged.emit({ editor: this._editor!, event });\n });\n });\n\n this._editor.on('blur', ({ event }: FocusEventProps) => {\n this.ngZone.run(() => {\n this._isFocused.set(false);\n this.blurChanged.emit({ editor: this._editor!, event });\n this.onTouched();\n });\n });\n\n // Emit editor created\n this.ngZone.run(() => {\n this.editorCreated.emit(this._editor!);\n });\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnDestroy,\n input,\n signal,\n effect,\n inject,\n NgZone,\n ElementRef,\n untracked,\n} from '@angular/core';\nimport { DomSanitizer, type SafeHtml } from '@angular/platform-browser';\n\nimport {\n Editor,\n ToolbarController,\n defaultIcons,\n positionFloatingOnce,\n} from '@domternal/core';\nimport type {\n ToolbarItem,\n ToolbarButton,\n ToolbarDropdown,\n ToolbarControllerEditor,\n IconSet,\n ToolbarGroup,\n ToolbarLayoutEntry,\n} from '@domternal/core';\n\nconst isMac = typeof navigator !== 'undefined' && /Mac|iPhone|iPad|iPod/.test(navigator.userAgent);\n\n@Component({\n selector: 'domternal-toolbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'dm-toolbar',\n 'role': 'toolbar',\n '[attr.aria-label]': '\"Editor formatting\"',\n '(keydown)': 'onKeydown($event)',\n },\n template: `\n @for (group of groups(); track group.name; let gi = $index) {\n @if (gi > 0) {\n <div class=\"dm-toolbar-separator\" role=\"separator\"></div>\n }\n <div class=\"dm-toolbar-group\" role=\"group\" [attr.aria-label]=\"group.name || 'Tools'\">\n @for (item of group.items; track item.name) {\n @if (item.type === 'button') {\n <button\n type=\"button\"\n class=\"dm-toolbar-button\"\n [class.dm-toolbar-button--active]=\"isActive(item.name)\"\n [attr.aria-pressed]=\"isActive(item.name)\"\n [attr.aria-expanded]=\"getAriaExpanded(asButton(item))\"\n [attr.aria-label]=\"asButton(item).label\"\n [title]=\"getTooltip(asButton(item))\"\n [tabindex]=\"getFlatIndex(item.name) === focusedIndex() ? 0 : -1\"\n [disabled]=\"isDisabled(item.name)\"\n [innerHTML]=\"getCachedIcon(asButton(item).icon)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onButtonClick(asButton(item), $event)\"\n (focus)=\"onButtonFocus(item.name)\"\n ></button>\n }\n @if (item.type === 'dropdown') {\n <div class=\"dm-toolbar-dropdown-wrapper\">\n <button\n type=\"button\"\n class=\"dm-toolbar-button dm-toolbar-dropdown-trigger\"\n [class.dm-toolbar-button--active]=\"isDropdownActive(asDropdown(item))\"\n [attr.aria-expanded]=\"openDropdown() === asDropdown(item).name\"\n [attr.aria-haspopup]=\"'true'\"\n [attr.aria-label]=\"asDropdown(item).label\"\n [title]=\"asDropdown(item).label\"\n [tabindex]=\"getFlatIndex(item.name) === focusedIndex() ? 0 : -1\"\n [disabled]=\"isDisabled(asDropdown(item).name)\"\n [attr.data-dropdown]=\"asDropdown(item).name\"\n [innerHTML]=\"getDropdownTriggerHtml(asDropdown(item))\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onDropdownToggle(asDropdown(item))\"\n (focus)=\"onButtonFocus(item.name)\"\n ></button>\n @if (openDropdown() === asDropdown(item).name) {\n @if (asDropdown(item).layout === 'grid') {\n <div class=\"dm-toolbar-dropdown-panel dm-color-palette\" role=\"menu\"\n [attr.style]=\"getGridStyle(asDropdown(item))\">\n @for (sub of asDropdown(item).items; track sub.name) {\n @if (sub.color) {\n <button\n type=\"button\"\n class=\"dm-color-swatch\"\n [class.dm-color-swatch--active]=\"isActive(sub.name)\"\n role=\"menuitem\"\n [attr.aria-label]=\"sub.label\"\n [title]=\"sub.label\"\n [style.background-color]=\"sub.color\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onDropdownItemClick(sub)\"\n ></button>\n } @else {\n <button\n type=\"button\"\n class=\"dm-color-palette-reset\"\n role=\"menuitem\"\n [attr.aria-label]=\"sub.label\"\n [innerHTML]=\"getCachedItemContent(sub.icon, sub.label)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onDropdownItemClick(sub)\"\n ></button>\n }\n }\n </div>\n } @else {\n <div class=\"dm-toolbar-dropdown-panel\" role=\"menu\"\n [attr.data-display-mode]=\"asDropdown(item).displayMode ?? null\">\n @for (sub of asDropdown(item).items; track sub.name) {\n <button\n type=\"button\"\n class=\"dm-toolbar-dropdown-item\"\n [class.dm-toolbar-dropdown-item--active]=\"isActive(sub.name)\"\n role=\"menuitem\"\n [attr.aria-label]=\"sub.label\"\n [attr.style]=\"sub.style ?? null\"\n [innerHTML]=\"getCachedItemContent(sub.icon, sub.label, asDropdown(item).displayMode)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onDropdownItemClick(sub, $event)\"\n ></button>\n }\n </div>\n }\n }\n </div>\n }\n }\n </div>\n }\n `,\n})\nexport class DomternalToolbarComponent implements OnDestroy {\n readonly editor = input.required<Editor>();\n readonly icons = input<IconSet | null>(null);\n readonly layout = input<ToolbarLayoutEntry[]>();\n\n /** Exposed state signals for template */\n readonly groups = signal<ToolbarGroup[]>([]);\n readonly focusedIndex = signal(0);\n readonly openDropdown = signal<string | null>(null);\n /** Bumped on active state changes to trigger re-evaluation of isActive() */\n readonly activeVersion = signal(0);\n\n private controller: ToolbarController | null = null;\n private clickOutsideHandler: ((e: Event) => void) | null = null;\n private dismissOverlayHandler: (() => void) | null = null;\n private editorEl: HTMLElement | null = null;\n private cleanupFloating: (() => void) | null = null;\n private ngZone = inject(NgZone);\n private elRef = inject(ElementRef);\n private sanitizer = inject(DomSanitizer);\n\n /** SafeHtml cache — same reference returned for same key, prevents DOM churn */\n private htmlCache = new Map<string, SafeHtml>();\n\n private readonly dropdownCaret = '<svg class=\"dm-dropdown-caret\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\"><path d=\"M2 4l3 3 3-3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>';\n\n constructor() {\n effect(() => {\n const editor = this.editor();\n untracked(() => this.setupController(editor));\n });\n }\n\n ngOnDestroy(): void {\n this.destroyController();\n }\n\n // === Template helpers ===\n\n isActive(name: string): boolean {\n this.activeVersion(); // subscribe to changes\n return this.controller?.activeMap.get(name) ?? false;\n }\n\n isDisabled(name: string): boolean {\n this.activeVersion(); // subscribe to changes\n return this.controller?.disabledMap.get(name) ?? false;\n }\n\n isDropdownActive(dropdown: ToolbarDropdown): boolean {\n if (dropdown.layout === 'grid') return false; // color dropdowns use bar indicator instead\n if (dropdown.dynamicLabel) return false; // label text already communicates state\n this.activeVersion(); // subscribe to changes\n return dropdown.items.some((item: ToolbarButton) => this.controller?.activeMap.get(item.name) ?? false);\n }\n\n /** Returns trigger innerHTML: dynamic icon + caret (+ color indicator for grid dropdowns). */\n getDropdownTriggerHtml(dropdown: ToolbarDropdown): SafeHtml {\n this.activeVersion(); // subscribe to changes\n const activeItem = dropdown.items.find((item: ToolbarButton) => this.controller?.activeMap.get(item.name));\n\n if (dropdown.layout === 'grid') {\n const color = activeItem?.color ?? dropdown.defaultIndicatorColor ?? null;\n const key = `tr:${dropdown.icon}:${color ?? ''}`;\n let cached = this.htmlCache.get(key);\n if (!cached) {\n let html = this.resolveIconSvg(dropdown.icon) + this.dropdownCaret;\n if (color) {\n html += `<span class=\"dm-toolbar-color-indicator\" style=\"background-color: ${color}\"></span>`;\n }\n cached = this.sanitizer.bypassSecurityTrustHtml(html);\n this.htmlCache.set(key, cached);\n }\n return cached;\n }\n\n // Non-grid dropdown — show active sub-item's label as text\n if (dropdown.dynamicLabel) {\n if (activeItem) return this.getCachedTriggerLabel(activeItem.label);\n\n // Try reading CSS property from DOM (inline or computed depending on property)\n if (dropdown.computedStyleProperty) {\n let computed: string | null;\n if (dropdown.computedStyleProperty === 'font-family') {\n // Font-family: read ONLY inline style (explicit mark), not computed (browser default)\n computed = this.getInlineStyleAtCursor(dropdown.computedStyleProperty);\n if (computed) {\n const first = computed.split(',')[0]?.replace(/['\"]+/g, '').trim();\n computed = first || null;\n }\n } else {\n computed = this.getComputedStyleAtCursor(dropdown.computedStyleProperty);\n }\n if (computed) return this.getCachedTriggerLabel(computed);\n }\n\n if (dropdown.dynamicLabelFallback) {\n return this.getCachedTriggerLabel(dropdown.dynamicLabelFallback);\n }\n return this.getCachedTriggerLabel(dropdown.icon, true);\n }\n const icon = dropdown.dynamicIcon && activeItem ? activeItem.icon : dropdown.icon;\n return this.getCachedTriggerIcon(icon);\n }\n\n /**\n * Returns 'true' when an emitEvent button's panel is open, null otherwise.\n * Maps to [attr.aria-expanded] — null removes the attribute entirely.\n */\n getAriaExpanded(item: ToolbarButton): string | null {\n if (!item.emitEvent) return null;\n this.activeVersion(); // subscribe to changes\n return this.controller?.expandedMap.get(item.name) ? 'true' : null;\n }\n\n getFlatIndex(name: string): number {\n return this.controller?.getFlatIndex(name) ?? -1;\n }\n\n getTooltip(item: ToolbarButton): string {\n if (item.shortcut) {\n const parts = item.shortcut.split('-');\n const mapped = parts.map((p: string) => {\n if (p === 'Mod') return isMac ? '\\u2318' : 'Ctrl';\n if (p === 'Shift') return isMac ? '\\u21E7' : 'Shift';\n if (p === 'Alt') return isMac ? '\\u2325' : 'Alt';\n return p.toUpperCase();\n });\n const shortcut = isMac ? mapped.join('') : mapped.join('+');\n return `${item.label} (${shortcut})`;\n }\n return item.label;\n }\n\n getCachedIcon(name: string): SafeHtml {\n const key = `i:${name}`;\n let cached = this.htmlCache.get(key);\n if (!cached) {\n cached = this.sanitizer.bypassSecurityTrustHtml(this.resolveIconSvg(name));\n this.htmlCache.set(key, cached);\n }\n return cached;\n }\n\n getCachedTriggerLabel(label: string, isIcon?: boolean): SafeHtml {\n const key = `tl:${label}`;\n let cached = this.htmlCache.get(key);\n if (!cached) {\n const content = isIcon ? this.resolveIconSvg(label) : label;\n cached = this.sanitizer.bypassSecurityTrustHtml(\n `<span class=\"dm-toolbar-trigger-label\">${content}</span>` + this.dropdownCaret,\n );\n this.htmlCache.set(key, cached);\n }\n return cached;\n }\n\n getCachedTriggerIcon(iconName: string): SafeHtml {\n const key = `t:${iconName}`;\n let cached = this.htmlCache.get(key);\n if (!cached) {\n cached = this.sanitizer.bypassSecurityTrustHtml(this.resolveIconSvg(iconName) + this.dropdownCaret);\n this.htmlCache.set(key, cached);\n }\n return cached;\n }\n\n getCachedItemContent(iconName: string, label: string, displayMode?: 'icon-text' | 'text' | 'icon'): SafeHtml {\n const mode = displayMode ?? 'icon-text';\n const key = `dc:${iconName}:${label}:${mode}`;\n let cached = this.htmlCache.get(key);\n if (!cached) {\n let html: string;\n if (mode === 'text') {\n html = label;\n } else if (mode === 'icon') {\n html = this.resolveIconSvg(iconName);\n } else {\n html = this.resolveIconSvg(iconName) + ' ' + label;\n }\n cached = this.sanitizer.bypassSecurityTrustHtml(html);\n this.htmlCache.set(key, cached);\n }\n return cached;\n }\n\n asButton(item: ToolbarItem): ToolbarButton {\n return item as ToolbarButton;\n }\n\n asDropdown(item: ToolbarItem): ToolbarDropdown {\n return item as ToolbarDropdown;\n }\n\n getGridStyle(dropdown: ToolbarDropdown): string {\n return `--dm-palette-columns: ${String(dropdown.gridColumns ?? 10)}`;\n }\n\n // === Event handlers ===\n\n onButtonClick(item: ToolbarButton, event?: MouseEvent): void {\n // Close any open dropdown when clicking a regular button\n if (this.openDropdown()) {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller?.closeDropdown();\n this.syncState();\n }\n\n if (item.emitEvent) {\n const anchor = event?.currentTarget as HTMLElement | undefined;\n // emitEvent is a dynamic string; cast needed to bypass strict EventEmitter<EditorEvents> typing\n (this.editor().emit as (e: string, d: unknown) => void)(item.emitEvent, { anchorElement: anchor });\n return;\n }\n this.controller?.executeCommand(item);\n }\n\n onDropdownToggle(dropdown: ToolbarDropdown): void {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller?.toggleDropdown(dropdown.name);\n this.syncState();\n\n // Position the panel after Angular renders it (tracks resize, not scroll)\n if (this.openDropdown()) {\n requestAnimationFrame(() => {\n const trigger = this.elRef.nativeElement.querySelector(\n `[aria-expanded=\"true\"]`,\n ) as HTMLElement | null;\n const panel = trigger?.parentElement?.querySelector(\n '.dm-toolbar-dropdown-panel',\n ) as HTMLElement | null;\n if (trigger && panel) {\n // List dropdowns align to trigger's left edge; grid/picker dropdowns center\n const placement = dropdown.layout === 'grid' ? 'bottom' : 'bottom-start';\n this.cleanupFloating = positionFloatingOnce(trigger, panel, {\n placement,\n offsetValue: 4,\n });\n }\n });\n }\n }\n\n onDropdownItemClick(item: ToolbarButton, event?: Event): void {\n // For emitEvent items, use the dropdown trigger as anchor (sub-item gets removed when dropdown closes)\n let anchor: HTMLElement | undefined;\n if (item.emitEvent && event?.currentTarget) {\n const wrapper = (event.currentTarget as HTMLElement).closest('.dm-toolbar-dropdown-wrapper');\n anchor = wrapper?.querySelector('.dm-toolbar-dropdown-trigger') as HTMLElement | undefined;\n }\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller?.closeDropdown();\n if (item.emitEvent) {\n (this.editor().emit as (e: string, d: unknown) => void)(item.emitEvent, { anchorElement: anchor });\n } else {\n this.controller?.executeCommand(item);\n }\n }\n\n onButtonFocus(name: string): void {\n const index = this.controller?.getFlatIndex(name) ?? -1;\n if (index >= 0) {\n this.controller?.setFocusedIndex(index);\n }\n }\n\n onKeydown(event: KeyboardEvent): void {\n if (!this.controller) return;\n\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.controller.navigateNext();\n this.focusCurrentButton();\n break;\n case 'ArrowLeft':\n event.preventDefault();\n this.controller.navigatePrev();\n this.focusCurrentButton();\n break;\n case 'Home':\n event.preventDefault();\n this.controller.navigateFirst();\n this.focusCurrentButton();\n break;\n case 'End':\n event.preventDefault();\n this.controller.navigateLast();\n this.focusCurrentButton();\n break;\n case 'Escape':\n if (this.openDropdown()) {\n event.preventDefault();\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller.closeDropdown();\n this.syncState();\n this.focusCurrentButton();\n }\n break;\n }\n }\n\n // === Private ===\n\n private resolveIconSvg(name: string): string {\n const customIcons = this.icons();\n if (customIcons) {\n return customIcons[name] ?? '';\n }\n return defaultIcons[name] ?? '';\n }\n\n private setupController(editor: Editor): void {\n this.destroyController();\n\n this.controller = new ToolbarController(\n editor as unknown as ToolbarControllerEditor,\n () => this.ngZone.run(() => this.syncState()),\n this.layout(),\n );\n this.controller.subscribe();\n this.syncState();\n\n // Click outside to close dropdown\n this.clickOutsideHandler = (e: Event) => {\n if (this.openDropdown() && !this.elRef.nativeElement.contains(e.target as Node)) {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller?.closeDropdown();\n this.ngZone.run(() => this.syncState());\n }\n };\n document.addEventListener('mousedown', this.clickOutsideHandler);\n\n // Listen for dismiss-overlays (e.g. table handle clicks that stopPropagation on mousedown)\n this.editorEl = editor.view.dom.closest('.dm-editor') as HTMLElement | null;\n if (this.editorEl) {\n this.dismissOverlayHandler = () => {\n if (this.openDropdown()) {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller?.closeDropdown();\n this.ngZone.run(() => this.syncState());\n }\n };\n this.editorEl.addEventListener('dm:dismiss-overlays', this.dismissOverlayHandler);\n }\n }\n\n private destroyController(): void {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n if (this.clickOutsideHandler) {\n document.removeEventListener('mousedown', this.clickOutsideHandler);\n this.clickOutsideHandler = null;\n }\n if (this.dismissOverlayHandler && this.editorEl) {\n this.editorEl.removeEventListener('dm:dismiss-overlays', this.dismissOverlayHandler);\n this.dismissOverlayHandler = null;\n this.editorEl = null;\n }\n if (this.controller) {\n this.controller.destroy();\n this.controller = null;\n }\n }\n\n private syncState(): void {\n if (!this.controller) return;\n\n // Only update groups if they actually changed (initial build or rebuild)\n const controllerGroups = this.controller.groups;\n if (this.groups().length !== controllerGroups.length) {\n this.groups.set(controllerGroups);\n }\n\n this.focusedIndex.set(this.controller.focusedIndex);\n this.openDropdown.set(this.controller.openDropdown);\n\n // Bump version to trigger isActive() re-evaluation without creating new objects\n this.activeVersion.update(v => v + 1);\n }\n\n private getComputedStyleAtCursor(prop: string): string | null {\n try {\n const { from } = this.editor().state.selection;\n const resolved = this.editor().view.domAtPos(from);\n const el = resolved.node instanceof HTMLElement\n ? resolved.node\n : resolved.node.parentElement;\n if (!el) return null;\n // Prefer inline style (explicit mark) over computed style (inherited from heading, etc.)\n return el.style.getPropertyValue(prop)\n || window.getComputedStyle(el).getPropertyValue(prop)\n || null;\n } catch {\n return null;\n }\n }\n\n /** Read only inline style — no computed fallback (used for font-family). */\n private getInlineStyleAtCursor(prop: string): string | null {\n try {\n const { from } = this.editor().state.selection;\n const resolved = this.editor().view.domAtPos(from);\n const el = resolved.node instanceof HTMLElement\n ? resolved.node\n : resolved.node.parentElement;\n if (!el) return null;\n return el.style.getPropertyValue(prop) || null;\n } catch {\n return null;\n }\n }\n\n private focusCurrentButton(): void {\n const idx = this.controller?.focusedIndex ?? 0;\n const buttons = this.elRef.nativeElement.querySelectorAll(\n '.dm-toolbar-button'\n ) as NodeListOf<HTMLButtonElement>;\n buttons[idx]?.focus();\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnDestroy,\n input,\n signal,\n inject,\n NgZone,\n viewChild,\n ElementRef,\n afterNextRender,\n} from '@angular/core';\nimport { DomSanitizer, type SafeHtml } from '@angular/platform-browser';\n\nimport {\n Editor,\n PluginKey,\n ToolbarController,\n createBubbleMenuPlugin,\n defaultIcons,\n} from '@domternal/core';\nimport type { BubbleMenuOptions, ToolbarButton } from '@domternal/core';\n\ninterface BubbleMenuSeparator { type: 'separator'; name: string }\ntype BubbleMenuItem = ToolbarButton | BubbleMenuSeparator;\n\n/** Minimal ProseMirror Selection shape for duck-typing (avoids instanceof issues across bundles) */\ninterface ResolvedPosShape {\n parent: { type: { name: string; spec: { marks?: string } } };\n depth: number;\n node: (depth: number) => { type: { name: string } };\n}\n\ninterface SelectionShape {\n empty: boolean;\n $from: ResolvedPosShape;\n $to: ResolvedPosShape;\n node?: { type: { name: string } };\n}\n\n/** Check if a resolved position is inside a table cell or header. */\nfunction isInsideTableCell($pos: ResolvedPosShape): boolean {\n for (let d = $pos.depth; d > 0; d--) {\n const name = $pos.node(d).type.name;\n if (name === 'tableCell' || name === 'tableHeader') return true;\n }\n return false;\n}\n\n/** ProseMirror schema shape for mark filtering */\ninterface SchemaShape {\n nodes: Record<string, { allowsMarkType: (mt: unknown) => boolean }>;\n marks: Record<string, unknown>;\n}\n\n@Component({\n selector: 'domternal-bubble-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <div #menuEl class=\"dm-bubble-menu\">\n @for (item of resolvedItems(); track item.name) {\n @if (item.type === 'separator') {\n <span class=\"dm-toolbar-separator\"></span>\n } @else {\n <button type=\"button\" class=\"dm-toolbar-button\"\n [class.dm-toolbar-button--active]=\"isItemActive(item)\"\n [disabled]=\"isItemDisabled(item)\"\n [title]=\"item.label\"\n [attr.aria-label]=\"item.label\"\n [innerHTML]=\"getCachedIcon(item.icon)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"executeCommand(item)\"></button>\n }\n }\n <ng-content />\n </div>\n `,\n styles: [`:host { display: contents; }`],\n})\nexport class DomternalBubbleMenuComponent implements OnDestroy {\n readonly editor = input.required<Editor>();\n readonly shouldShow = input<BubbleMenuOptions['shouldShow']>();\n readonly placement = input<'top' | 'bottom'>('top');\n readonly offset = input<number>(8);\n readonly updateDelay = input(0);\n\n /** Fixed item names (e.g. ['bold', 'italic', 'code']). Omit for auto mode (all format items). */\n readonly items = input<string[]>();\n\n /** Context-aware: map context names to item arrays, `true` for all valid items, or `null` to disable */\n readonly contexts = input<Record<string, string[] | true | null>>();\n\n /** Internal — updated on transactions. Not meant to be set from outside. */\n readonly resolvedItems = signal<BubbleMenuItem[]>([]);\n\n private menuEl = viewChild.required<ElementRef<HTMLElement>>('menuEl');\n private pluginKey: PluginKey;\n\n private sanitizer = inject(DomSanitizer);\n private ngZone = inject(NgZone);\n\n private activeVersion = signal(0);\n private itemMap = new Map<string, ToolbarButton>();\n private activeMap = new Map<string, boolean>();\n private disabledMap = new Map<string, boolean>();\n private htmlCache = new Map<string, SafeHtml>();\n private bubbleDefaults = new Map<string, BubbleMenuItem[]>();\n private transactionHandler: (() => void) | null = null;\n\n constructor() {\n this.pluginKey = new PluginKey(\n 'angularBubbleMenu-' + Math.random().toString(36).slice(2, 8),\n );\n\n afterNextRender(() => {\n const editor = this.editor();\n const ctxs = this.contexts();\n let shouldShowFn = this.shouldShow();\n\n if (!shouldShowFn) {\n if (ctxs) {\n shouldShowFn = ({ state }: { state: { selection: SelectionShape } }) => {\n const context = this.detectContext(state.selection, ctxs);\n if (!context) return false;\n if (context in ctxs) {\n const val = ctxs[context];\n if (val === null) return false;\n return val === true || (Array.isArray(val) && val.length > 0);\n }\n return this.bubbleDefaults.has(context);\n };\n } else {\n // Auto/items mode: show when any endpoint's parent allows marks\n shouldShowFn = ({ state }: { state: { selection: SelectionShape } }) => {\n if (state.selection.empty || state.selection.node) return false;\n if (isInsideTableCell(state.selection.$from)) return false;\n return state.selection.$from.parent.type.spec.marks !== ''\n || state.selection.$to.parent.type.spec.marks !== '';\n };\n }\n }\n\n const plugin = createBubbleMenuPlugin({\n pluginKey: this.pluginKey,\n editor,\n element: this.menuEl().nativeElement,\n shouldShow: shouldShowFn,\n placement: this.placement(),\n offset: this.offset(),\n updateDelay: this.updateDelay(),\n });\n editor.registerPlugin(plugin);\n this.setupItemTracking(editor);\n });\n }\n\n ngOnDestroy(): void {\n const editor = this.editor();\n if (this.transactionHandler) {\n editor.off('transaction', this.transactionHandler);\n }\n if (!editor.isDestroyed) {\n editor.unregisterPlugin(this.pluginKey);\n }\n }\n\n // === Template helpers ===\n\n isItemActive(item: ToolbarButton): boolean {\n this.activeVersion();\n return this.activeMap.get(item.name) ?? false;\n }\n\n isItemDisabled(item: ToolbarButton): boolean {\n this.activeVersion();\n return this.disabledMap.get(item.name) ?? false;\n }\n\n getCachedIcon(name: string): SafeHtml {\n let cached = this.htmlCache.get(name);\n if (!cached) {\n cached = this.sanitizer.bypassSecurityTrustHtml(defaultIcons[name] ?? '');\n this.htmlCache.set(name, cached);\n }\n return cached;\n }\n\n executeCommand(item: ToolbarButton): void {\n if (item.emitEvent) {\n // emitEvent is a dynamic string; cast needed to bypass strict EventEmitter<EditorEvents> typing\n (this.editor().emit as (e: string, d: unknown) => void)(item.emitEvent, {});\n return;\n }\n ToolbarController.executeItem(this.editor() as never, item);\n }\n\n // === Internal ===\n\n private buildItemMap(editor: Editor): void {\n this.itemMap.clear();\n for (const item of editor.toolbarItems) {\n if (item.type === 'button') {\n this.itemMap.set(item.name, item);\n } else if (item.type === 'dropdown') {\n for (const sub of item.items) {\n this.itemMap.set(sub.name, sub);\n }\n }\n }\n }\n\n private resolveNames(names: string[]): BubbleMenuItem[] {\n const result: BubbleMenuItem[] = [];\n let sepIdx = 0;\n for (const name of names) {\n if (name === '|') {\n result.push({ type: 'separator', name: `sep-${sepIdx++}` });\n } else {\n const item = this.itemMap.get(name);\n if (item) result.push(item);\n }\n }\n return result;\n }\n\n private getFormatItems(): ToolbarButton[] {\n return Array.from(this.itemMap.values())\n .filter(item => item.group === 'format')\n .sort((a, b) => (b.priority ?? 100) - (a.priority ?? 100));\n }\n\n private detectContext(selection: SelectionShape, ctxs: Record<string, string[] | true | null>): string | null {\n // CellSelection (duck-type: has $anchorCell) — never show bubble menu\n if ('$anchorCell' in selection) return null;\n if (selection.node) return selection.node.type.name;\n if (selection.empty) return null;\n\n // TextSelection inside a table cell → 'table' context.\n // Cross-cell TextSelection (drag across cells) → hide bubble menu.\n const fromCell = this.findCellNode(selection.$from);\n if (fromCell) {\n const toCell = this.findCellNode(selection.$to);\n if (toCell && fromCell !== toCell) return null;\n return 'table';\n }\n\n const fromName = selection.$from.parent.type.name;\n if (fromName in ctxs) return fromName;\n if ('text' in ctxs && selection.$from.parent.type.spec.marks !== '') return 'text';\n // Cross-block: also check $to so bold/italic is offered when any endpoint allows marks\n const toName = selection.$to.parent.type.name;\n if (toName in ctxs) return toName;\n if ('text' in ctxs && selection.$to.parent.type.spec.marks !== '') return 'text';\n return null;\n }\n\n private findCellNode(pos: ResolvedPosShape): { type: { name: string } } | null {\n for (let d = pos.depth; d > 0; d--) {\n const node = pos.node(d);\n if (node.type.name === 'tableCell' || node.type.name === 'tableHeader') {\n return node;\n }\n }\n return null;\n }\n\n /** Filters out mark items that the context node type doesn't allow (e.g. bold on codeBlock) */\n private filterBySchema(editor: Editor, contextName: string, items: ToolbarButton[]): ToolbarButton[] {\n if (contextName === 'text' || contextName === 'table') return items;\n const schema = (editor.state as unknown as { schema?: SchemaShape }).schema;\n if (!schema) return items;\n const nodeType = schema.nodes[contextName];\n if (!nodeType) return items;\n return items.filter(item => {\n const markName = typeof item.isActive === 'string' ? item.isActive : null;\n if (!markName) return true;\n const markType = schema.marks?.[markName];\n if (!markType) return true;\n return nodeType.allowsMarkType(markType);\n });\n }\n\n private buildBubbleDefaults(editor: Editor): void {\n this.bubbleDefaults.clear();\n const byCtx = new Map<string, ToolbarButton[]>();\n const addItem = (btn: ToolbarButton): void => {\n const ctx = (btn as unknown as Record<string, unknown>)['bubbleMenu'] as string | undefined;\n if (!ctx) return;\n let arr = byCtx.get(ctx);\n if (!arr) { arr = []; byCtx.set(ctx, arr); }\n arr.push(btn);\n };\n for (const item of editor.toolbarItems) {\n if (item.type === 'button') addItem(item);\n else if (item.type === 'dropdown') {\n for (const sub of item.items) addItem(sub);\n }\n }\n for (const [ctx, items] of byCtx) {\n items.sort((a, b) => (b.priority ?? 100) - (a.priority ?? 100));\n const result: BubbleMenuItem[] = [];\n let lastGroup: string | undefined;\n let sepIdx = 0;\n for (const item of items) {\n if (lastGroup !== undefined && item.group !== lastGroup) {\n result.push({ type: 'separator', name: `bsep-${sepIdx++}` });\n }\n result.push(item);\n lastGroup = item.group;\n }\n this.bubbleDefaults.set(ctx, result);\n }\n }\n\n private setupItemTracking(editor: Editor): void {\n this.buildItemMap(editor);\n this.buildBubbleDefaults(editor);\n\n if (this.contexts()) {\n this.updateContextItems(editor);\n } else if (this.items()) {\n this.resolvedItems.set(this.resolveNames(this.items()!));\n } else {\n this.resolvedItems.set(this.resolveNames(['bold', 'italic', 'underline']));\n }\n\n this.transactionHandler = () => {\n this.ngZone.run(() => {\n if (this.contexts()) {\n this.updateContextItems(editor);\n }\n this.updateStates(editor);\n this.activeVersion.update(v => v + 1);\n });\n };\n editor.on('transaction', this.transactionHandler);\n this.updateStates(editor);\n }\n\n private updateContextItems(editor: Editor): void {\n const ctxs = this.contexts()!;\n const ctx = this.detectContext(editor.state.selection as unknown as SelectionShape, ctxs);\n if (!ctx) {\n this.resolvedItems.set([]);\n return;\n }\n if (ctx in ctxs) {\n const val = ctxs[ctx];\n if (val === null || (Array.isArray(val) && val.length === 0)) {\n this.resolvedItems.set([]);\n return;\n }\n if (val === true) {\n this.resolvedItems.set(this.filterBySchema(editor, ctx, this.getFormatItems()));\n } else if (Array.isArray(val)) {\n const resolved = this.resolveNames(val);\n const buttons = resolved.filter((i): i is ToolbarButton => i.type !== 'separator');\n const filtered = new Set(this.filterBySchema(editor, ctx, buttons).map(b => b.name));\n this.resolvedItems.set(resolved.filter(i => i.type === 'separator' || filtered.has(i.name)));\n }\n } else {\n this.resolvedItems.set(this.bubbleDefaults.get(ctx) ?? []);\n }\n }\n\n private updateStates(editor: Editor): void {\n let canProxy: Record<string, (...args: unknown[]) => boolean> | null = null;\n try { canProxy = editor.can() as unknown as Record<string, (...args: unknown[]) => boolean>; } catch {}\n\n for (const item of this.resolvedItems()) {\n if (item.type === 'separator') continue;\n this.activeMap.set(item.name, ToolbarController.resolveActive(editor as never, item));\n try {\n const canCmd = canProxy?.[item.command];\n this.disabledMap.set(item.name, canCmd\n ? !(item.commandArgs?.length ? canCmd(...item.commandArgs) : canCmd())\n : false);\n } catch { this.disabledMap.set(item.name, false); }\n }\n }\n\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnDestroy,\n input,\n viewChild,\n ElementRef,\n afterNextRender,\n} from '@angular/core';\n\nimport {\n Editor,\n PluginKey,\n createFloatingMenuPlugin,\n} from '@domternal/core';\nimport type { FloatingMenuOptions } from '@domternal/core';\n\n@Component({\n selector: 'domternal-floating-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: '<div #menuEl class=\"dm-floating-menu\"><ng-content /></div>',\n styles: [`:host { display: contents; }`],\n})\nexport class DomternalFloatingMenuComponent implements OnDestroy {\n readonly editor = input.required<Editor>();\n readonly shouldShow = input<FloatingMenuOptions['shouldShow']>();\n readonly offset = input<number>(0);\n\n private menuEl = viewChild.required<ElementRef<HTMLElement>>('menuEl');\n private pluginKey: PluginKey;\n\n constructor() {\n // Unique key per instance — multiple floating menus on same page\n this.pluginKey = new PluginKey(\n 'angularFloatingMenu-' + Math.random().toString(36).slice(2, 8),\n );\n\n afterNextRender(() => {\n const shouldShow = this.shouldShow();\n const plugin = createFloatingMenuPlugin({\n pluginKey: this.pluginKey,\n editor: this.editor(),\n element: this.menuEl().nativeElement,\n ...(shouldShow && { shouldShow }),\n offset: this.offset(),\n });\n this.editor().registerPlugin(plugin);\n });\n }\n\n ngOnDestroy(): void {\n const editor = this.editor();\n if (!editor.isDestroyed) {\n editor.unregisterPlugin(this.pluginKey);\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnDestroy,\n input,\n signal,\n computed,\n effect,\n inject,\n NgZone,\n ElementRef,\n untracked,\n} from '@angular/core';\n\nimport { Editor, positionFloatingOnce } from '@domternal/core';\n\nexport interface EmojiPickerItem {\n emoji: string;\n name: string;\n group: string;\n}\n\nconst CATEGORY_ICONS: Record<string, string> = {\n 'Smileys & Emotion': '\\u{1F600}',\n 'People & Body': '\\u{1F44B}',\n 'Animals & Nature': '\\u{1F431}',\n 'Food & Drink': '\\u{1F355}',\n 'Travel & Places': '\\u{1F697}',\n 'Activities': '\\u{26BD}',\n 'Objects': '\\u{1F4A1}',\n 'Symbols': '\\u{1F523}',\n 'Flags': '\\u{1F3C1}',\n};\n\n@Component({\n selector: 'domternal-emoji-picker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { 'class': 'dm-emoji-picker-host' },\n template: `\n @if (isOpen()) {\n <div class=\"dm-emoji-picker\">\n <div class=\"dm-emoji-picker-search\">\n <input\n #searchInput\n type=\"text\"\n placeholder=\"Search emoji...\"\n [value]=\"searchQuery()\"\n (input)=\"onSearch($event)\"\n (keydown.escape)=\"close()\"\n />\n </div>\n\n <div class=\"dm-emoji-picker-tabs\" role=\"tablist\">\n @for (cat of categoryNames(); track cat) {\n <button\n type=\"button\"\n class=\"dm-emoji-picker-tab\"\n [class.dm-emoji-picker-tab--active]=\"activeCategory() === cat\"\n [title]=\"cat\"\n [attr.aria-label]=\"cat\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"scrollToCategory(cat)\"\n >{{ categoryIcon(cat) }}</button>\n }\n </div>\n\n <div class=\"dm-emoji-picker-grid\" #grid (scroll)=\"onGridScroll()\">\n @if (searchQuery()) {\n @for (item of filteredEmojis(); track item.name) {\n <button\n type=\"button\"\n class=\"dm-emoji-swatch\"\n [title]=\"formatName(item.name)\"\n [attr.aria-label]=\"formatName(item.name)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"selectEmoji(item)\"\n >{{ item.emoji }}</button>\n }\n @empty {\n <div class=\"dm-emoji-picker-empty\">No emoji found</div>\n }\n } @else {\n @if (frequentlyUsed().length) {\n <div class=\"dm-emoji-picker-category-label\">Frequently Used</div>\n @for (item of frequentlyUsed(); track item.name) {\n <button\n type=\"button\"\n class=\"dm-emoji-swatch\"\n [title]=\"formatName(item.name)\"\n [attr.aria-label]=\"formatName(item.name)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"selectEmoji(item)\"\n >{{ item.emoji }}</button>\n }\n }\n @for (cat of categoryNames(); track cat) {\n <div class=\"dm-emoji-picker-category-label\" [attr.data-category]=\"cat\">{{ cat }}</div>\n @for (item of getCategory(cat); track item.name) {\n <button\n type=\"button\"\n class=\"dm-emoji-swatch\"\n [title]=\"formatName(item.name)\"\n [attr.aria-label]=\"formatName(item.name)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"selectEmoji(item)\"\n >{{ item.emoji }}</button>\n }\n }\n }\n </div>\n </div>\n }\n `,\n})\nexport class DomternalEmojiPickerComponent implements OnDestroy {\n readonly editor = input.required<Editor>();\n readonly emojis = input.required<EmojiPickerItem[]>();\n\n readonly isOpen = signal(false);\n readonly searchQuery = signal('');\n readonly activeCategory = signal('');\n\n private anchorEl: HTMLElement | null = null;\n private ngZone = inject(NgZone);\n private elRef = inject(ElementRef);\n private clickOutsideHandler: ((e: Event) => void) | null = null;\n private keydownHandler: ((e: KeyboardEvent) => void) | null = null;\n private eventHandler: ((...args: unknown[]) => void) | null = null;\n private cleanupFloating: (() => void) | null = null;\n\n readonly categories = computed(() => {\n const map = new Map<string, EmojiPickerItem[]>();\n for (const item of this.emojis()) {\n let list = map.get(item.group);\n if (!list) {\n list = [];\n map.set(item.group, list);\n }\n list.push(item);\n }\n return map;\n });\n\n readonly categoryNames = computed(() => [...this.categories().keys()]);\n\n readonly filteredEmojis = computed(() => {\n const query = this.searchQuery().toLowerCase();\n if (!query) return [];\n const storage = this.getEmojiStorage();\n const searchFn = storage?.['searchEmoji'] as ((q: string) => EmojiPickerItem[]) | undefined;\n if (searchFn) {\n return searchFn(query);\n }\n return this.emojis().filter(\n (item) =>\n item.name.includes(query) ||\n item.group.toLowerCase().includes(query),\n );\n });\n\n readonly frequentlyUsed = computed(() => {\n // Re-evaluate when panel opens (isOpen changes)\n this.isOpen();\n const storage = this.getEmojiStorage();\n const getFreq = storage?.['getFrequentlyUsed'] as (() => string[]) | undefined;\n if (!getFreq) return [];\n const names = getFreq();\n if (!names.length) return [];\n const nameMap = storage!['_nameMap'] as Map<string, EmojiPickerItem> | undefined;\n if (!nameMap) return [];\n return names.slice(0, 16).map((n) => nameMap.get(n)).filter(Boolean) as EmojiPickerItem[];\n });\n\n constructor() {\n effect(() => {\n const editor = this.editor();\n untracked(() => this.setupEventListener(editor));\n });\n }\n\n ngOnDestroy(): void {\n this.cleanup();\n }\n\n getCategory(cat: string): EmojiPickerItem[] {\n return this.categories().get(cat) ?? [];\n }\n\n categoryIcon(cat: string): string {\n return CATEGORY_ICONS[cat] ?? cat.charAt(0);\n }\n\n formatName(name: string): string {\n return name.replace(/_/g, ' ');\n }\n\n onSearch(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.searchQuery.set(input.value);\n }\n\n selectEmoji(item: EmojiPickerItem): void {\n const editor = this.editor();\n const cmd = editor.commands as Record<string, (...args: unknown[]) => boolean>;\n if (cmd['insertEmoji']) {\n cmd['insertEmoji'](item.name);\n }\n this.close();\n }\n\n scrollToCategory(cat: string): void {\n this.searchQuery.set('');\n this.activeCategory.set(cat);\n\n // Wait for search to clear and DOM to update\n requestAnimationFrame(() => {\n const grid = this.elRef.nativeElement.querySelector('.dm-emoji-picker-grid') as HTMLElement | null;\n if (!grid) return;\n const label = grid.querySelector(`[data-category=\"${cat}\"]`) as HTMLElement | null;\n if (label) {\n // Use manual scrollTop instead of scrollIntoView to avoid scrolling the page\n grid.scrollTo({ top: label.offsetTop - grid.offsetTop, behavior: 'smooth' });\n }\n });\n }\n\n onGridScroll(): void {\n const grid = this.elRef.nativeElement.querySelector('.dm-emoji-picker-grid') as HTMLElement | null;\n if (!grid || this.searchQuery()) return;\n\n const labels = Array.from(grid.querySelectorAll('.dm-emoji-picker-category-label[data-category]')) as HTMLElement[];\n\n let currentCat = '';\n for (const label of labels) {\n if (label.offsetTop - grid.offsetTop <= grid.scrollTop + 20) {\n currentCat = label.getAttribute('data-category') ?? '';\n }\n }\n\n if (currentCat && currentCat !== this.activeCategory()) {\n this.activeCategory.set(currentCat);\n }\n }\n\n close(): void {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.isOpen.set(false);\n this.setStorageOpen(false);\n this.searchQuery.set('');\n this.anchorEl = null;\n this.removeGlobalListeners();\n this.editor().view.focus();\n }\n\n private setupEventListener(editor: Editor): void {\n this.cleanup();\n\n this.eventHandler = (...args: unknown[]) => {\n const data = args[0] as { anchorElement?: HTMLElement } | undefined;\n this.ngZone.run(() => {\n if (this.isOpen()) {\n this.close();\n return;\n }\n\n this.anchorEl = data?.anchorElement ?? null;\n this.isOpen.set(true);\n this.setStorageOpen(true);\n this.searchQuery.set('');\n\n // Set initial active category\n const names = this.categoryNames();\n if (names.length > 0 && names[0]) {\n this.activeCategory.set(names[0]);\n }\n\n this.addGlobalListeners();\n\n // Position panel and focus search input after render\n requestAnimationFrame(() => {\n const panel = this.elRef.nativeElement.querySelector('.dm-emoji-picker') as HTMLElement | null;\n if (panel && this.anchorEl) {\n this.cleanupFloating?.();\n this.cleanupFloating = positionFloatingOnce(this.anchorEl, panel, {\n placement: 'bottom',\n offsetValue: 4,\n });\n }\n const input = this.elRef.nativeElement.querySelector('.dm-emoji-picker-search input') as HTMLInputElement | null;\n input?.focus();\n });\n });\n };\n\n (editor.on as (e: string, h: (...args: unknown[]) => void) => void)('insertEmoji', this.eventHandler);\n }\n\n private addGlobalListeners(): void {\n this.clickOutsideHandler = (e: Event) => {\n const target = e.target as Node;\n if (\n this.isOpen() &&\n !this.elRef.nativeElement.contains(target) &&\n target !== this.anchorEl &&\n !this.anchorEl?.contains(target)\n ) {\n this.ngZone.run(() => this.close());\n }\n };\n document.addEventListener('mousedown', this.clickOutsideHandler);\n\n this.keydownHandler = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.isOpen()) {\n e.preventDefault();\n this.ngZone.run(() => this.close());\n }\n };\n document.addEventListener('keydown', this.keydownHandler);\n }\n\n private removeGlobalListeners(): void {\n if (this.clickOutsideHandler) {\n document.removeEventListener('mousedown', this.clickOutsideHandler);\n this.clickOutsideHandler = null;\n }\n if (this.keydownHandler) {\n document.removeEventListener('keydown', this.keydownHandler);\n this.keydownHandler = null;\n }\n }\n\n private setStorageOpen(open: boolean): void {\n const storage = this.getEmojiStorage();\n if (storage) storage['isOpen'] = open;\n // Dispatch a no-op transaction so the toolbar's transaction handler\n // re-evaluates isActiveFn and shows the button as active/inactive.\n const editor = this.editor();\n editor.view.dispatch(editor.view.state.tr);\n }\n\n private getEmojiStorage(): Record<string, unknown> | null {\n const storage = this.editor().storage as Record<string, unknown>;\n return (storage['emoji'] as Record<string, unknown>) ?? null;\n }\n\n private cleanup(): void {\n this.removeGlobalListeners();\n if (this.eventHandler) {\n const editor = this.editor();\n (editor.off as (e: string, h: (...args: unknown[]) => void) => void)('insertEmoji', this.eventHandler);\n this.eventHandler = null;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AA6BO,MAAM,kBAAkB,GAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO;MAiBpF,wBAAwB,CAAA;;AAE1B,IAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAA6B,WAAW,CAAC;;AAGvE,IAAA,UAAU,GAAG,KAAK,CAAiB,EAAE,iFAAC;AACtC,IAAA,OAAO,GAAG,KAAK,CAAU,EAAE,8EAAC;AAC5B,IAAA,QAAQ,GAAG,KAAK,CAAC,IAAI,+EAAC;AACtB,IAAA,SAAS,GAAG,KAAK,CAAgB,KAAK,gFAAC;AACvC,IAAA,YAAY,GAAG,KAAK,CAAkB,MAAM,mFAAC;;IAG7C,aAAa,GAAG,MAAM,EAAU;IAChC,cAAc,GAAG,MAAM,EAAsB;IAC7C,gBAAgB,GAAG,MAAM,EAAsB;IAC/C,YAAY,GAAG,MAAM,EAAyC;IAC9D,WAAW,GAAG,MAAM,EAAyC;IAC7D,eAAe,GAAG,MAAM,EAAQ;;AAGjC,IAAA,YAAY,GAAG,MAAM,CAAC,EAAE,mFAAC;AACzB,IAAA,YAAY,GAAG,MAAM,CAAqB,IAAI,mFAAC;AAC/C,IAAA,QAAQ,GAAG,MAAM,CAAC,IAAI,+EAAC;AACvB,IAAA,UAAU,GAAG,MAAM,CAAC,KAAK,iFAAC;;AAE1B,IAAA,WAAW,GAAG,MAAM,CAAC,IAAI,kFAAC;AAEzB,IAAA,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5C,IAAA,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5C,IAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;AACpC,IAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;AACxC,IAAA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;;IAG3C,OAAO,GAAkB,IAAI;AAErC,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;;AAGQ,IAAA,QAAQ,GAA6B,MAAK,EAAE,CAAC;AAC7C,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;IAChC,eAAe,GAAmB,IAAI;AAEtC,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAE/B,IAAA,WAAA,GAAA;QACE,eAAe,CAAC,MAAK;YACnB,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE;YAC/C,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,OAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;AACnC,gBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChC,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE;YAC/C,SAAS,CAAC,MAAK;AACb,gBAAA,MAAM,OAAO,GAAG,MAAM,KAAK;AACzB,sBAAE,IAAI,CAAC,OAAQ,CAAC,OAAO;AACvB,sBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,CAAC;AAC3C,gBAAA,MAAM,QAAQ,GAAG,MAAM,KAAK;AAC1B,sBAAG;AACH,sBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AAC3B,gBAAA,IAAI,QAAQ,KAAK,OAAO,EAAE;oBACxB,IAAI,CAAC,OAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC;gBAC1C;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE;YAC/C,SAAS,CAAC,MAAK;gBACb,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;;IAIA,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACtB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;QAC7B;AACA,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;IACrB;;AAIA,IAAA,UAAU,CAAC,KAAc,EAAA;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK;YAC5B;QACF;;AAGA,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,MAAM,EAAE;AAClC,YAAA,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBAAE;QACxC;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAAE;QACxE;QAEA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC;IACvC;AAEA,IAAA,gBAAgB,CAAC,EAA4B,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;QAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QACjC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC;QACvC;IACF;;IAIQ,cAAc,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE;QAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAC7C,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACtB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;QACrC,IAAI,CAAC,YAAY,EAAE;IACrB;IAEQ,YAAY,GAAA;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE;AAC7D,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAE3B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC;AACxB,YAAA,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,aAAa;YACvC,UAAU,EAAE,CAAC,GAAG,kBAAkB,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AACzD,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;AACzB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC5B,SAAA,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;;AAGrC,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AAC7C,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAEvC,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,WAAW,EAAyB,KAAI;AACxE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,MAAM,EAAE,GAAG,IAAI,CAAC,OAAQ;AAExB,gBAAA,IAAI,WAAW,CAAC,UAAU,EAAE;AAC1B,oBAAA,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;AACzB,oBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;oBAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC;oBAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAExC,oBAAA,MAAM,KAAK,GAAY,IAAI,CAAC,YAAY,EAAE,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;AAC3E,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACtB;gBAEA,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,YAAY,EAAE;oBACvD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBAC5C;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAmB,KAAI;AACtD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAQ,EAAE,KAAK,EAAE,CAAC;AAC1D,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAmB,KAAI;AACrD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1B,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAQ,EAAE,KAAK,EAAE,CAAC;gBACvD,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;;AAGF,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;YACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAQ,CAAC;AACxC,QAAA,CAAC,CAAC;IACJ;uGA3MW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EARxB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC;AACvD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAXS,wBAAwB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAavB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAfpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,YAClB,wBAAwB,EAAA,eAAA,EACjB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,QAC/B,EAAE,KAAK,EAAE,WAAW,EAAE,EAAA,SAAA,EAEjB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B,CAAC;AACvD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;iGAImE,WAAW,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACjBjF,MAAM,KAAK,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;MA8GrF,yBAAyB,CAAA;AAC3B,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAU;AACjC,IAAA,KAAK,GAAG,KAAK,CAAiB,IAAI,4EAAC;IACnC,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAwB;;AAGtC,IAAA,MAAM,GAAG,MAAM,CAAiB,EAAE,6EAAC;AACnC,IAAA,YAAY,GAAG,MAAM,CAAC,CAAC,mFAAC;AACxB,IAAA,YAAY,GAAG,MAAM,CAAgB,IAAI,mFAAC;;AAE1C,IAAA,aAAa,GAAG,MAAM,CAAC,CAAC,oFAAC;IAE1B,UAAU,GAA6B,IAAI;IAC3C,mBAAmB,GAAgC,IAAI;IACvD,qBAAqB,GAAwB,IAAI;IACjD,QAAQ,GAAuB,IAAI;IACnC,eAAe,GAAwB,IAAI;AAC3C,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1B,IAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;;AAGhC,IAAA,SAAS,GAAG,IAAI,GAAG,EAAoB;IAE9B,aAAa,GAAG,8MAA8M;AAE/O,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC5B,SAAS,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AAC/C,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,iBAAiB,EAAE;IAC1B;;AAIA,IAAA,QAAQ,CAAC,IAAY,EAAA;AACnB,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK;IACtD;AAEA,IAAA,UAAU,CAAC,IAAY,EAAA;AACrB,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK;IACxD;AAEA,IAAA,gBAAgB,CAAC,QAAyB,EAAA;AACxC,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,QAAQ,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;AACxC,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAmB,KAAK,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IACzG;;AAGA,IAAA,sBAAsB,CAAC,QAAyB,EAAA;AAC9C,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAmB,KAAK,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE1G,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE;YAC9B,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,QAAQ,CAAC,qBAAqB,IAAI,IAAI;YACzE,MAAM,GAAG,GAAG,CAAA,GAAA,EAAM,QAAQ,CAAC,IAAI,CAAA,CAAA,EAAI,KAAK,IAAI,EAAE,CAAA,CAAE;YAChD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;YACpC,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa;gBAClE,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,IAAI,CAAA,kEAAA,EAAqE,KAAK,CAAA,SAAA,CAAW;gBAC/F;gBACA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC;gBACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;YACjC;AACA,YAAA,OAAO,MAAM;QACf;;AAGA,QAAA,IAAI,QAAQ,CAAC,YAAY,EAAE;AACzB,YAAA,IAAI,UAAU;gBAAE,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC;;AAGnE,YAAA,IAAI,QAAQ,CAAC,qBAAqB,EAAE;AAClC,gBAAA,IAAI,QAAuB;AAC3B,gBAAA,IAAI,QAAQ,CAAC,qBAAqB,KAAK,aAAa,EAAE;;oBAEpD,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,qBAAqB,CAAC;oBACtE,IAAI,QAAQ,EAAE;wBACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;AAClE,wBAAA,QAAQ,GAAG,KAAK,IAAI,IAAI;oBAC1B;gBACF;qBAAO;oBACL,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBAC1E;AACA,gBAAA,IAAI,QAAQ;AAAE,oBAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC;YAC3D;AAEA,YAAA,IAAI,QAAQ,CAAC,oBAAoB,EAAE;gBACjC,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAClE;YACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QACxD;AACA,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;AACjF,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;IACxC;AAEA;;;AAGG;AACH,IAAA,eAAe,CAAC,IAAmB,EAAA;QACjC,IAAI,CAAC,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,IAAI;AAChC,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI;IACpE;AAEA,IAAA,YAAY,CAAC,IAAY,EAAA;QACvB,OAAO,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD;AAEA,IAAA,UAAU,CAAC,IAAmB,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,KAAI;gBACrC,IAAI,CAAC,KAAK,KAAK;oBAAE,OAAO,KAAK,GAAG,QAAQ,GAAG,MAAM;gBACjD,IAAI,CAAC,KAAK,OAAO;oBAAE,OAAO,KAAK,GAAG,QAAQ,GAAG,OAAO;gBACpD,IAAI,CAAC,KAAK,KAAK;oBAAE,OAAO,KAAK,GAAG,QAAQ,GAAG,KAAK;AAChD,gBAAA,OAAO,CAAC,CAAC,WAAW,EAAE;AACxB,YAAA,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3D,YAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAA,EAAA,EAAK,QAAQ,GAAG;QACtC;QACA,OAAO,IAAI,CAAC,KAAK;IACnB;AAEA,IAAA,aAAa,CAAC,IAAY,EAAA;AACxB,QAAA,MAAM,GAAG,GAAG,CAAA,EAAA,EAAK,IAAI,EAAE;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACjC;AACA,QAAA,OAAO,MAAM;IACf;IAEA,qBAAqB,CAAC,KAAa,EAAE,MAAgB,EAAA;AACnD,QAAA,MAAM,GAAG,GAAG,CAAA,GAAA,EAAM,KAAK,EAAE;QACzB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK;AAC3D,YAAA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAC7C,CAAA,uCAAA,EAA0C,OAAO,SAAS,GAAG,IAAI,CAAC,aAAa,CAChF;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACjC;AACA,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,oBAAoB,CAAC,QAAgB,EAAA;AACnC,QAAA,MAAM,GAAG,GAAG,CAAA,EAAA,EAAK,QAAQ,EAAE;QAC3B,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;YACnG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACjC;AACA,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,oBAAoB,CAAC,QAAgB,EAAE,KAAa,EAAE,WAA2C,EAAA;AAC/F,QAAA,MAAM,IAAI,GAAG,WAAW,IAAI,WAAW;QACvC,MAAM,GAAG,GAAG,CAAA,GAAA,EAAM,QAAQ,IAAI,KAAK,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE;QAC7C,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,IAAI,IAAY;AAChB,YAAA,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,IAAI,GAAG,KAAK;YACd;AAAO,iBAAA,IAAI,IAAI,KAAK,MAAM,EAAE;AAC1B,gBAAA,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YACtC;iBAAO;gBACL,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,KAAK;YACpD;YACA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACjC;AACA,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,QAAQ,CAAC,IAAiB,EAAA;AACxB,QAAA,OAAO,IAAqB;IAC9B;AAEA,IAAA,UAAU,CAAC,IAAiB,EAAA;AAC1B,QAAA,OAAO,IAAuB;IAChC;AAEA,IAAA,YAAY,CAAC,QAAyB,EAAA;QACpC,OAAO,CAAA,sBAAA,EAAyB,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA,CAAE;IACtE;;IAIA,aAAa,CAAC,IAAmB,EAAE,KAAkB,EAAA;;AAEnD,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,YAAA,IAAI,CAAC,eAAe,IAAI;AACxB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,YAAA,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE;YAChC,IAAI,CAAC,SAAS,EAAE;QAClB;AAEA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,MAAM,GAAG,KAAK,EAAE,aAAwC;;AAE7D,YAAA,IAAI,CAAC,MAAM,EAAE,CAAC,IAAwC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;YAClG;QACF;AACA,QAAA,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC;IACvC;AAEA,IAAA,gBAAgB,CAAC,QAAyB,EAAA;AACxC,QAAA,IAAI,CAAC,eAAe,IAAI;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAC3B,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE;;AAGhB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACvB,qBAAqB,CAAC,MAAK;AACzB,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CACpD,CAAA,sBAAA,CAAwB,CACH;gBACvB,MAAM,KAAK,GAAG,OAAO,EAAE,aAAa,EAAE,aAAa,CACjD,4BAA4B,CACP;AACvB,gBAAA,IAAI,OAAO,IAAI,KAAK,EAAE;;AAEpB,oBAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,KAAK,MAAM,GAAG,QAAQ,GAAG,cAAc;oBACxE,IAAI,CAAC,eAAe,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE;wBAC1D,SAAS;AACT,wBAAA,WAAW,EAAE,CAAC;AACf,qBAAA,CAAC;gBACJ;AACF,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,mBAAmB,CAAC,IAAmB,EAAE,KAAa,EAAA;;AAEpD,QAAA,IAAI,MAA+B;QACnC,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE,aAAa,EAAE;YAC1C,MAAM,OAAO,GAAI,KAAK,CAAC,aAA6B,CAAC,OAAO,CAAC,8BAA8B,CAAC;AAC5F,YAAA,MAAM,GAAG,OAAO,EAAE,aAAa,CAAC,8BAA8B,CAA4B;QAC5F;AACA,QAAA,IAAI,CAAC,eAAe,IAAI;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE;AAChC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,IAAI,CAAC,MAAM,EAAE,CAAC,IAAwC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QACpG;aAAO;AACL,YAAA,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC;QACvC;IACF;AAEA,IAAA,aAAa,CAAC,IAAY,EAAA;AACxB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,QAAA,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,YAAA,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC;QACzC;IACF;AAEA,IAAA,SAAS,CAAC,KAAoB,EAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;AAEtB,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,YAAY;gBACf,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;gBAC9B,IAAI,CAAC,kBAAkB,EAAE;gBACzB;AACF,YAAA,KAAK,WAAW;gBACd,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;gBAC9B,IAAI,CAAC,kBAAkB,EAAE;gBACzB;AACF,YAAA,KAAK,MAAM;gBACT,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBAC/B,IAAI,CAAC,kBAAkB,EAAE;gBACzB;AACF,YAAA,KAAK,KAAK;gBACR,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;gBAC9B,IAAI,CAAC,kBAAkB,EAAE;gBACzB;AACF,YAAA,KAAK,QAAQ;AACX,gBAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;oBACvB,KAAK,CAAC,cAAc,EAAE;AACtB,oBAAA,IAAI,CAAC,eAAe,IAAI;AACxB,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,oBAAA,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;oBAC/B,IAAI,CAAC,SAAS,EAAE;oBAChB,IAAI,CAAC,kBAAkB,EAAE;gBAC3B;gBACA;;IAEN;;AAIQ,IAAA,cAAc,CAAC,IAAY,EAAA;AACjC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE;QAChC,IAAI,WAAW,EAAE;AACf,YAAA,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE;QAChC;AACA,QAAA,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;IACjC;AAEQ,IAAA,eAAe,CAAC,MAAc,EAAA;QACpC,IAAI,CAAC,iBAAiB,EAAE;AAExB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CACrC,MAA4C,EAC5C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,EAC7C,IAAI,CAAC,MAAM,EAAE,CACd;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;QAC3B,IAAI,CAAC,SAAS,EAAE;;AAGhB,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAQ,KAAI;AACtC,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE;AAC/E,gBAAA,IAAI,CAAC,eAAe,IAAI;AACxB,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,gBAAA,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE;AAChC,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC;AACF,QAAA,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC;;AAGhE,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAuB;AAC3E,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,qBAAqB,GAAG,MAAK;AAChC,gBAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,oBAAA,IAAI,CAAC,eAAe,IAAI;AACxB,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,oBAAA,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE;AAChC,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACzC;AACF,YAAA,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QACnF;IACF;IAEQ,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,eAAe,IAAI;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACnE,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;QACjC;QACA,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC;AACpF,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACjC,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;QACtB;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QACxB;IACF;IAEQ,SAAS,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;;AAGtB,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM;QAC/C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,EAAE;AACpD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACnC;QAEA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;;AAGnD,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC;AAEQ,IAAA,wBAAwB,CAAC,IAAY,EAAA;AAC3C,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS;AAC9C,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AAClD,YAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,YAAY;kBAChC,QAAQ,CAAC;AACX,kBAAE,QAAQ,CAAC,IAAI,CAAC,aAAa;AAC/B,YAAA,IAAI,CAAC,EAAE;AAAE,gBAAA,OAAO,IAAI;;AAEpB,YAAA,OAAO,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI;mBAChC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI;AACjD,mBAAA,IAAI;QACX;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,IAAI;QACb;IACF;;AAGQ,IAAA,sBAAsB,CAAC,IAAY,EAAA;AACzC,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS;AAC9C,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AAClD,YAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,YAAY;kBAChC,QAAQ,CAAC;AACX,kBAAE,QAAQ,CAAC,IAAI,CAAC,aAAa;AAC/B,YAAA,IAAI,CAAC,EAAE;AAAE,gBAAA,OAAO,IAAI;YACpB,OAAO,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI;QAChD;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,IAAI;QACb;IACF;IAEQ,kBAAkB,GAAA;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,IAAI,CAAC;AAC9C,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CACvD,oBAAoB,CACY;AAClC,QAAA,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE;IACvB;uGAzaW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,EAAA,cAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlG1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAEU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA5GrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,YAAY;AACrB,wBAAA,MAAM,EAAE,SAAS;AACjB,wBAAA,mBAAmB,EAAE,qBAAqB;AAC1C,wBAAA,WAAW,EAAE,mBAAmB;AACjC,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgGT,EAAA,CAAA;AACF,iBAAA;;;ACnGD;AACA,SAAS,iBAAiB,CAAC,IAAsB,EAAA;AAC/C,IAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACnC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;AACnC,QAAA,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,aAAa;AAAE,YAAA,OAAO,IAAI;IACjE;AACA,IAAA,OAAO,KAAK;AACd;MAiCa,4BAA4B,CAAA;AAC9B,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAU;IACjC,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAmC;AACrD,IAAA,SAAS,GAAG,KAAK,CAAmB,KAAK,gFAAC;AAC1C,IAAA,MAAM,GAAG,KAAK,CAAS,CAAC,6EAAC;AACzB,IAAA,WAAW,GAAG,KAAK,CAAC,CAAC,kFAAC;;IAGtB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAY;;IAGzB,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA0C;;AAG1D,IAAA,aAAa,GAAG,MAAM,CAAmB,EAAE,oFAAC;AAE7C,IAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAA0B,QAAQ,CAAC;AAC9D,IAAA,SAAS;AAET,IAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AAChC,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAEvB,IAAA,aAAa,GAAG,MAAM,CAAC,CAAC,oFAAC;AACzB,IAAA,OAAO,GAAG,IAAI,GAAG,EAAyB;AAC1C,IAAA,SAAS,GAAG,IAAI,GAAG,EAAmB;AACtC,IAAA,WAAW,GAAG,IAAI,GAAG,EAAmB;AACxC,IAAA,SAAS,GAAG,IAAI,GAAG,EAAoB;AACvC,IAAA,cAAc,GAAG,IAAI,GAAG,EAA4B;IACpD,kBAAkB,GAAwB,IAAI;AAEtD,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAC5B,oBAAoB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAC9D;QAED,eAAe,CAAC,MAAK;AACnB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC5B,YAAA,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE;YAEpC,IAAI,CAAC,YAAY,EAAE;gBACjB,IAAI,IAAI,EAAE;AACR,oBAAA,YAAY,GAAG,CAAC,EAAE,KAAK,EAA4C,KAAI;AACrE,wBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC;AACzD,wBAAA,IAAI,CAAC,OAAO;AAAE,4BAAA,OAAO,KAAK;AAC1B,wBAAA,IAAI,OAAO,IAAI,IAAI,EAAE;AACnB,4BAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;4BACzB,IAAI,GAAG,KAAK,IAAI;AAAE,gCAAA,OAAO,KAAK;AAC9B,4BAAA,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC/D;wBACA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;AACzC,oBAAA,CAAC;gBACH;qBAAO;;AAEL,oBAAA,YAAY,GAAG,CAAC,EAAE,KAAK,EAA4C,KAAI;wBACrE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI;AAAE,4BAAA,OAAO,KAAK;AAC/D,wBAAA,IAAI,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;AAAE,4BAAA,OAAO,KAAK;AAC1D,wBAAA,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK;AACjD,+BAAA,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;AAC1D,oBAAA,CAAC;gBACH;YACF;YAEA,MAAM,MAAM,GAAG,sBAAsB,CAAC;gBACpC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM;AACN,gBAAA,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa;AACpC,gBAAA,UAAU,EAAE,YAAY;AACxB,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrB,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAChC,aAAA,CAAC;AACF,YAAA,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;AAC7B,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;AAChC,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC;QACpD;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;AACvB,YAAA,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;QACzC;IACF;;AAIA,IAAA,YAAY,CAAC,IAAmB,EAAA;QAC9B,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK;IAC/C;AAEA,IAAA,cAAc,CAAC,IAAmB,EAAA;QAChC,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK;IACjD;AAEA,IAAA,aAAa,CAAC,IAAY,EAAA;QACxB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACzE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;QAClC;AACA,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,cAAc,CAAC,IAAmB,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;;AAEjB,YAAA,IAAI,CAAC,MAAM,EAAE,CAAC,IAAwC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YAC3E;QACF;QACA,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAW,EAAE,IAAI,CAAC;IAC7D;;AAIQ,IAAA,YAAY,CAAC,MAAc,EAAA;AACjC,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,QAAA,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE;AACtC,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;YACnC;AAAO,iBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;AACnC,gBAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;oBAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;gBACjC;YACF;QACF;IACF;AAEQ,IAAA,YAAY,CAAC,KAAe,EAAA;QAClC,MAAM,MAAM,GAAqB,EAAE;QACnC,IAAI,MAAM,GAAG,CAAC;AACd,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,IAAI,KAAK,GAAG,EAAE;AAChB,gBAAA,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,MAAM,EAAE,CAAA,CAAE,EAAE,CAAC;YAC7D;iBAAO;gBACL,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACnC,gBAAA,IAAI,IAAI;AAAE,oBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7B;QACF;AACA,QAAA,OAAO,MAAM;IACf;IAEQ,cAAc,GAAA;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;aACpC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;aACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;IAC9D;IAEQ,aAAa,CAAC,SAAyB,EAAE,IAA4C,EAAA;;QAE3F,IAAI,aAAa,IAAI,SAAS;AAAE,YAAA,OAAO,IAAI;QAC3C,IAAI,SAAS,CAAC,IAAI;AAAE,YAAA,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACnD,IAAI,SAAS,CAAC,KAAK;AAAE,YAAA,OAAO,IAAI;;;QAIhC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC;QACnD,IAAI,QAAQ,EAAE;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;AAC/C,YAAA,IAAI,MAAM,IAAI,QAAQ,KAAK,MAAM;AAAE,gBAAA,OAAO,IAAI;AAC9C,YAAA,OAAO,OAAO;QAChB;QAEA,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;QACjD,IAAI,QAAQ,IAAI,IAAI;AAAE,YAAA,OAAO,QAAQ;AACrC,QAAA,IAAI,MAAM,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;AAAE,YAAA,OAAO,MAAM;;QAElF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;QAC7C,IAAI,MAAM,IAAI,IAAI;AAAE,YAAA,OAAO,MAAM;AACjC,QAAA,IAAI,MAAM,IAAI,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;AAAE,YAAA,OAAO,MAAM;AAChF,QAAA,OAAO,IAAI;IACb;AAEQ,IAAA,YAAY,CAAC,GAAqB,EAAA;AACxC,QAAA,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE;AACtE,gBAAA,OAAO,IAAI;YACb;QACF;AACA,QAAA,OAAO,IAAI;IACb;;AAGQ,IAAA,cAAc,CAAC,MAAc,EAAE,WAAmB,EAAE,KAAsB,EAAA;AAChF,QAAA,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO;AAAE,YAAA,OAAO,KAAK;AACnE,QAAA,MAAM,MAAM,GAAI,MAAM,CAAC,KAA6C,CAAC,MAAM;AAC3E,QAAA,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,KAAK;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;AAC1C,QAAA,IAAI,CAAC,QAAQ;AAAE,YAAA,OAAO,KAAK;AAC3B,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,IAAG;AACzB,YAAA,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI;AACzE,YAAA,IAAI,CAAC,QAAQ;AAAE,gBAAA,OAAO,IAAI;YAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;AACzC,YAAA,IAAI,CAAC,QAAQ;AAAE,gBAAA,OAAO,IAAI;AAC1B,YAAA,OAAO,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC1C,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,mBAAmB,CAAC,MAAc,EAAA;AACxC,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;AAC3B,QAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B;AAChD,QAAA,MAAM,OAAO,GAAG,CAAC,GAAkB,KAAU;AAC3C,YAAA,MAAM,GAAG,GAAI,GAA0C,CAAC,YAAY,CAAuB;AAC3F,YAAA,IAAI,CAAC,GAAG;gBAAE;YACV,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YACxB,IAAI,CAAC,GAAG,EAAE;gBAAE,GAAG,GAAG,EAAE;AAAE,gBAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;YAAE;AAC3C,YAAA,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AACf,QAAA,CAAC;AACD,QAAA,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE;AACtC,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC;AACpC,iBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;AACjC,gBAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC;YAC5C;QACF;QACA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE;YAChC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAqB,EAAE;AACnC,YAAA,IAAI,SAA6B;YACjC,IAAI,MAAM,GAAG,CAAC;AACd,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AACvD,oBAAA,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,MAAM,EAAE,CAAA,CAAE,EAAE,CAAC;gBAC9D;AACA,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACjB,gBAAA,SAAS,GAAG,IAAI,CAAC,KAAK;YACxB;YACA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACtC;IACF;AAEQ,IAAA,iBAAiB,CAAC,MAAc,EAAA;AACtC,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AACzB,QAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;AAEhC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QACjC;AAAO,aAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;AACvB,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC;QAC1D;aAAO;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5E;AAEA,QAAA,IAAI,CAAC,kBAAkB,GAAG,MAAK;AAC7B,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,oBAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBACjC;AACA,gBAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AACzB,gBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC;QACD,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACjD,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAC3B;AAEQ,IAAA,kBAAkB,CAAC,MAAc,EAAA;AACvC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAG;AAC7B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,SAAsC,EAAE,IAAI,CAAC;QACzF,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B;QACF;AACA,QAAA,IAAI,GAAG,IAAI,IAAI,EAAE;AACf,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACrB,YAAA,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;AAC5D,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B;YACF;AACA,YAAA,IAAI,GAAG,KAAK,IAAI,EAAE;AAChB,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACjF;AAAO,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AACvC,gBAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAyB,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;gBAClF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACpF,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9F;QACF;aAAO;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5D;IACF;AAEQ,IAAA,YAAY,CAAC,MAAc,EAAA;QACjC,IAAI,QAAQ,GAA2D,IAAI;AAC3E,QAAA,IAAI;AAAE,YAAA,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAgE;QAAE;QAAE,MAAM,EAAC;QAEtG,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACvC,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;gBAAE;AAC/B,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,MAAe,EAAE,IAAI,CAAC,CAAC;AACrF,YAAA,IAAI;gBACF,MAAM,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;sBAC5B,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,EAAE;sBACnE,KAAK,CAAC;YACZ;AAAE,YAAA,MAAM;gBAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE;QACpD;IACF;uGA5SW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EArB7B;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAGU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAzBxC,SAAS;+BACE,uBAAuB,EAAA,eAAA,EAChB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAC3B;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA;2vBAmB4D,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MCxE1D,8BAA8B,CAAA;AAChC,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAU;IACjC,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAqC;AACvD,IAAA,MAAM,GAAG,KAAK,CAAS,CAAC,6EAAC;AAE1B,IAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAA0B,QAAQ,CAAC;AAC9D,IAAA,SAAS;AAEjB,IAAA,WAAA,GAAA;;QAEE,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAC5B,sBAAsB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAChE;QAED,eAAe,CAAC,MAAK;AACnB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;YACpC,MAAM,MAAM,GAAG,wBAAwB,CAAC;gBACtC,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa;AACpC,gBAAA,IAAI,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;AACjC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACtB,aAAA,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC;AACtC,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;AACvB,YAAA,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;QACzC;IACF;uGAhCW,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA9B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,6kBAH/B,4DAA4D,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAG3D,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;+BACE,yBAAyB,EAAA,eAAA,EAClB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAC3B,4DAA4D,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA;yXAQT,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACPvE,MAAM,cAAc,GAA2B;AAC7C,IAAA,mBAAmB,EAAE,WAAW;AAChC,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,kBAAkB,EAAE,WAAW;AAC/B,IAAA,cAAc,EAAE,WAAW;AAC3B,IAAA,iBAAiB,EAAE,WAAW;AAC9B,IAAA,YAAY,EAAE,UAAU;AACxB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,OAAO,EAAE,WAAW;CACrB;MAmFY,6BAA6B,CAAA;AAC/B,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAU;AACjC,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAqB;AAE5C,IAAA,MAAM,GAAG,MAAM,CAAC,KAAK,6EAAC;AACtB,IAAA,WAAW,GAAG,MAAM,CAAC,EAAE,kFAAC;AACxB,IAAA,cAAc,GAAG,MAAM,CAAC,EAAE,qFAAC;IAE5B,QAAQ,GAAuB,IAAI;AACnC,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;IAC1B,mBAAmB,GAAgC,IAAI;IACvD,cAAc,GAAwC,IAAI;IAC1D,YAAY,GAA0C,IAAI;IAC1D,eAAe,GAAwB,IAAI;AAE1C,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAClC,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B;QAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YAChC,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE;gBACT,IAAI,GAAG,EAAE;gBACT,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;YAC3B;AACA,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACjB;AACA,QAAA,OAAO,GAAG;AACZ,IAAA,CAAC,iFAAC;AAEO,IAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,oFAAC;AAE7D,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE;AAC9C,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,EAAE;AACrB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE;AACtC,QAAA,MAAM,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAmD;QAC3F,IAAI,QAAQ,EAAE;AACZ,YAAA,OAAO,QAAQ,CAAC,KAAK,CAAC;QACxB;AACA,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CACzB,CAAC,IAAI,KACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3C;AACH,IAAA,CAAC,qFAAC;AAEO,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;;QAEtC,IAAI,CAAC,MAAM,EAAE;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE;AACtC,QAAA,MAAM,OAAO,GAAG,OAAO,GAAG,mBAAmB,CAAiC;AAC9E,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,EAAE;AACvB,QAAA,MAAM,KAAK,GAAG,OAAO,EAAE;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM;AAAE,YAAA,OAAO,EAAE;AAC5B,QAAA,MAAM,OAAO,GAAG,OAAQ,CAAC,UAAU,CAA6C;AAChF,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,EAAE;AACvB,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAsB;AAC3F,IAAA,CAAC,qFAAC;AAEF,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC5B,SAAS,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAClD,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,EAAE;IAChB;AAEA,IAAA,WAAW,CAAC,GAAW,EAAA;QACrB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;IACzC;AAEA,IAAA,YAAY,CAAC,GAAW,EAAA;QACtB,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C;AAEA,IAAA,UAAU,CAAC,IAAY,EAAA;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;IAChC;AAEA,IAAA,QAAQ,CAAC,KAAY,EAAA;AACnB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;QAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;IACnC;AAEA,IAAA,WAAW,CAAC,IAAqB,EAAA;AAC/B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAA2D;AAC9E,QAAA,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE;YACtB,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B;QACA,IAAI,CAAC,KAAK,EAAE;IACd;AAEA,IAAA,gBAAgB,CAAC,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;;QAG5B,qBAAqB,CAAC,MAAK;AACzB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAuB;AAClG,YAAA,IAAI,CAAC,IAAI;gBAAE;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA,gBAAA,EAAmB,GAAG,CAAA,EAAA,CAAI,CAAuB;YAClF,IAAI,KAAK,EAAE;;AAET,gBAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC9E;AACF,QAAA,CAAC,CAAC;IACJ;IAEA,YAAY,GAAA;AACV,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAuB;AAClG,QAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE;AAEjC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gDAAgD,CAAC,CAAkB;QAEnH,IAAI,UAAU,GAAG,EAAE;AACnB,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,IAAI,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,EAAE;gBAC3D,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,EAAE;YACxD;QACF;QAEA,IAAI,UAAU,IAAI,UAAU,KAAK,IAAI,CAAC,cAAc,EAAE,EAAE;AACtD,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;QACrC;IACF;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,eAAe,IAAI;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;QACpB,IAAI,CAAC,qBAAqB,EAAE;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;IAC5B;AAEQ,IAAA,kBAAkB,CAAC,MAAc,EAAA;QACvC,IAAI,CAAC,OAAO,EAAE;AAEd,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAe,KAAI;AACzC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAgD;AACnE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;oBACjB,IAAI,CAAC,KAAK,EAAE;oBACZ;gBACF;gBAEA,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,aAAa,IAAI,IAAI;AAC3C,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;AACzB,gBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;;AAGxB,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE;gBAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBAChC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnC;gBAEA,IAAI,CAAC,kBAAkB,EAAE;;gBAGzB,qBAAqB,CAAC,MAAK;AACzB,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAuB;AAC9F,oBAAA,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC1B,wBAAA,IAAI,CAAC,eAAe,IAAI;wBACxB,IAAI,CAAC,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;AAChE,4BAAA,SAAS,EAAE,QAAQ;AACnB,4BAAA,WAAW,EAAE,CAAC;AACf,yBAAA,CAAC;oBACJ;AACA,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,+BAA+B,CAA4B;oBAChH,KAAK,EAAE,KAAK,EAAE;AAChB,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC;QAEA,MAAM,CAAC,EAA2D,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC;IACvG;IAEQ,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAQ,KAAI;AACtC,YAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAc;YAC/B,IACE,IAAI,CAAC,MAAM,EAAE;gBACb,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC1C,MAAM,KAAK,IAAI,CAAC,QAAQ;gBACxB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAChC;AACA,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC;AACF,QAAA,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAEhE,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAgB,KAAI;YACzC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACvC,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC;AACF,QAAA,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;IAC3D;IAEQ,qBAAqB,GAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACnE,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;QACjC;AACA,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;AAC5D,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;QAC5B;IACF;AAEQ,IAAA,cAAc,CAAC,IAAa,EAAA;AAClC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE;AACtC,QAAA,IAAI,OAAO;AAAE,YAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;;;AAGrC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5C;IAEQ,eAAe,GAAA;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAkC;AAChE,QAAA,OAAQ,OAAO,CAAC,OAAO,CAA6B,IAAI,IAAI;IAC9D;IAEQ,OAAO,GAAA;QACb,IAAI,CAAC,qBAAqB,EAAE;AAC5B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC3B,MAAM,CAAC,GAA4D,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC;AACtG,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAC1B;IACF;uGA/OW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA5E9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0ET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAEU,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAjFzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;oBAClC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;AACzC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0ET,EAAA,CAAA;AACF,iBAAA;;;ACnHD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"domternal-angular.mjs","sources":["../../src/lib/editor.component.ts","../../src/lib/toolbar.component.ts","../../src/lib/bubble-menu.component.ts","../../src/lib/floating-menu.component.ts","../../src/lib/emoji-picker.component.ts","../../src/domternal-angular.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n forwardRef,\n signal,\n ChangeDetectionStrategy,\n inject,\n NgZone,\n OnDestroy,\n effect,\n input,\n output,\n viewChild,\n untracked,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {\n Editor,\n Document,\n Paragraph,\n Text,\n BaseKeymap,\n History,\n} from '@domternal/core';\nimport type { Content, AnyExtension, FocusPosition, JSONContent, TransactionEventProps, FocusEventProps } from '@domternal/core';\n\nexport const DEFAULT_EXTENSIONS: AnyExtension[] = [Document, Paragraph, Text, BaseKeymap, History];\n\n@Component({\n selector: 'domternal-editor',\n template: '<div #editorRef></div>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'dm-editor' },\n styles: [`:host { display: block; }`],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DomternalEditorComponent),\n multi: true,\n },\n ],\n})\nexport class DomternalEditorComponent implements ControlValueAccessor, OnDestroy {\n // === Template ref ===\n readonly editorRef = viewChild.required<ElementRef<HTMLDivElement>>('editorRef');\n\n // === Inputs ===\n readonly extensions = input<AnyExtension[]>([]);\n readonly content = input<Content>('');\n readonly editable = input(true);\n readonly autofocus = input<FocusPosition>(false);\n readonly outputFormat = input<'html' | 'json'>('html');\n\n // === Outputs ===\n readonly editorCreated = output<Editor>();\n readonly contentUpdated = output<{ editor: Editor }>();\n readonly selectionChanged = output<{ editor: Editor }>();\n readonly focusChanged = output<{ editor: Editor; event: FocusEvent }>();\n readonly blurChanged = output<{ editor: Editor; event: FocusEvent }>();\n readonly editorDestroyed = output<void>();\n\n // === Signals (read-only public state) ===\n private _htmlContent = signal('');\n private _jsonContent = signal<JSONContent | null>(null);\n private _isEmpty = signal(true);\n private _isFocused = signal(false);\n // Candidate for linkedSignal(editable) once min Angular version is >=20\n private _isEditable = signal(true);\n\n readonly htmlContent = this._htmlContent.asReadonly();\n readonly jsonContent = this._jsonContent.asReadonly();\n readonly isEmpty = this._isEmpty.asReadonly();\n readonly isFocused = this._isFocused.asReadonly();\n readonly isEditable = this._isEditable.asReadonly();\n\n // === Editor instance ===\n private _editor: Editor | null = null;\n\n get editor(): Editor | null {\n return this._editor;\n }\n\n // === ControlValueAccessor ===\n private onChange: (value: Content) => void = () => {};\n private onTouched: () => void = () => {};\n private _pendingContent: Content | null = null;\n\n private ngZone = inject(NgZone);\n\n constructor() {\n afterNextRender(() => {\n this.createEditor();\n });\n\n // React to editable input changes\n effect(() => {\n const editable = this.editable();\n if (!this._editor || this._editor.isDestroyed) return;\n untracked(() => {\n this._editor!.setEditable(editable);\n this._isEditable.set(editable);\n });\n });\n\n // React to content input changes\n effect(() => {\n const content = this.content();\n const format = this.outputFormat();\n if (!this._editor || this._editor.isDestroyed) return;\n untracked(() => {\n const current = format === 'html'\n ? this._editor!.getHTML()\n : JSON.stringify(this._editor!.getJSON());\n const incoming = format === 'html'\n ? (content as string)\n : JSON.stringify(content);\n if (incoming !== current) {\n this._editor!.setContent(content, false);\n }\n });\n });\n\n // React to extensions input changes\n effect(() => {\n this.extensions(); // track the signal\n if (!this._editor || this._editor.isDestroyed) return;\n untracked(() => {\n this.recreateEditor();\n });\n });\n }\n\n // === Lifecycle ===\n\n ngOnDestroy(): void {\n if (this._editor && !this._editor.isDestroyed) {\n this._editor.destroy();\n this.editorDestroyed.emit();\n }\n this._editor = null;\n }\n\n // === ControlValueAccessor implementation ===\n\n writeValue(value: Content): void {\n if (!this._editor || this._editor.isDestroyed) {\n this._pendingContent = value;\n return;\n }\n\n // Compare current content to avoid unnecessary setContent (which resets cursor)\n if (this.outputFormat() === 'html') {\n if (value === this._editor.getHTML()) return;\n } else {\n if (JSON.stringify(value) === JSON.stringify(this._editor.getJSON())) return;\n }\n\n this._editor.setContent(value, false);\n }\n\n registerOnChange(fn: (value: Content) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._isEditable.set(!isDisabled);\n if (this._editor && !this._editor.isDestroyed) {\n this._editor.setEditable(!isDisabled);\n }\n }\n\n // === Private ===\n\n private recreateEditor(): void {\n if (!this._editor || this._editor.isDestroyed) return;\n const currentContent = this._editor.getJSON();\n this._editor.destroy();\n this.editorDestroyed.emit();\n this._pendingContent = currentContent;\n this.createEditor();\n }\n\n private createEditor(): void {\n const initialContent = this._pendingContent ?? this.content();\n this._pendingContent = null;\n\n this._editor = new Editor({\n element: this.editorRef().nativeElement,\n extensions: [...DEFAULT_EXTENSIONS, ...this.extensions()],\n content: initialContent,\n editable: this.editable(),\n autofocus: this.autofocus(),\n });\n\n this._isEditable.set(this.editable());\n\n // Set initial signal values\n this._htmlContent.set(this._editor.getHTML());\n this._jsonContent.set(this._editor.getJSON());\n this._isEmpty.set(this._editor.isEmpty);\n\n this._editor.on('transaction', ({ transaction }: TransactionEventProps) => {\n this.ngZone.run(() => {\n const ed = this._editor!;\n\n if (transaction.docChanged) {\n const html = ed.getHTML();\n this._htmlContent.set(html);\n this._jsonContent.set(ed.getJSON());\n this._isEmpty.set(ed.isEmpty);\n this.contentUpdated.emit({ editor: ed });\n\n const value: Content = this.outputFormat() === 'html' ? html : ed.getJSON();\n this.onChange(value);\n }\n\n if (!transaction.docChanged && transaction.selectionSet) {\n this.selectionChanged.emit({ editor: ed });\n }\n });\n });\n\n this._editor.on('focus', ({ event }: FocusEventProps) => {\n this.ngZone.run(() => {\n this._isFocused.set(true);\n this.focusChanged.emit({ editor: this._editor!, event });\n });\n });\n\n this._editor.on('blur', ({ event }: FocusEventProps) => {\n this.ngZone.run(() => {\n this._isFocused.set(false);\n this.blurChanged.emit({ editor: this._editor!, event });\n this.onTouched();\n });\n });\n\n // Emit editor created\n this.ngZone.run(() => {\n this.editorCreated.emit(this._editor!);\n });\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnDestroy,\n input,\n signal,\n effect,\n inject,\n NgZone,\n ElementRef,\n untracked,\n} from '@angular/core';\nimport { DomSanitizer, type SafeHtml } from '@angular/platform-browser';\n\nimport {\n Editor,\n ToolbarController,\n defaultIcons,\n positionFloatingOnce,\n} from '@domternal/core';\nimport type {\n ToolbarItem,\n ToolbarButton,\n ToolbarDropdown,\n ToolbarControllerEditor,\n IconSet,\n ToolbarGroup,\n ToolbarLayoutEntry,\n} from '@domternal/core';\n\nconst isMac = typeof navigator !== 'undefined' && /Mac|iPhone|iPad|iPod/.test(navigator.userAgent);\n\n@Component({\n selector: 'domternal-toolbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'dm-toolbar',\n 'role': 'toolbar',\n '[attr.aria-label]': '\"Editor formatting\"',\n '(keydown)': 'onKeydown($event)',\n },\n template: `\n @for (group of groups(); track group.name; let gi = $index) {\n @if (gi > 0) {\n <div class=\"dm-toolbar-separator\" role=\"separator\"></div>\n }\n <div class=\"dm-toolbar-group\" role=\"group\" [attr.aria-label]=\"group.name || 'Tools'\">\n @for (item of group.items; track item.name) {\n @if (item.type === 'button') {\n <button\n type=\"button\"\n class=\"dm-toolbar-button\"\n [class.dm-toolbar-button--active]=\"isActive(item.name)\"\n [attr.aria-pressed]=\"isActive(item.name)\"\n [attr.aria-expanded]=\"getAriaExpanded(asButton(item))\"\n [attr.aria-label]=\"asButton(item).label\"\n [title]=\"getTooltip(asButton(item))\"\n [tabindex]=\"getFlatIndex(item.name) === focusedIndex() ? 0 : -1\"\n [disabled]=\"isDisabled(item.name)\"\n [innerHTML]=\"getCachedIcon(asButton(item).icon)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onButtonClick(asButton(item), $event)\"\n (focus)=\"onButtonFocus(item.name)\"\n ></button>\n }\n @if (item.type === 'dropdown') {\n <div class=\"dm-toolbar-dropdown-wrapper\">\n <button\n type=\"button\"\n class=\"dm-toolbar-button dm-toolbar-dropdown-trigger\"\n [class.dm-toolbar-button--active]=\"isDropdownActive(asDropdown(item))\"\n [attr.aria-expanded]=\"openDropdown() === asDropdown(item).name\"\n [attr.aria-haspopup]=\"'true'\"\n [attr.aria-label]=\"asDropdown(item).label\"\n [title]=\"asDropdown(item).label\"\n [tabindex]=\"getFlatIndex(item.name) === focusedIndex() ? 0 : -1\"\n [disabled]=\"isDisabled(asDropdown(item).name)\"\n [attr.data-dropdown]=\"asDropdown(item).name\"\n [innerHTML]=\"getDropdownTriggerHtml(asDropdown(item))\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onDropdownToggle(asDropdown(item))\"\n (focus)=\"onButtonFocus(item.name)\"\n ></button>\n @if (openDropdown() === asDropdown(item).name) {\n @if (asDropdown(item).layout === 'grid') {\n <div class=\"dm-toolbar-dropdown-panel dm-color-palette\" role=\"menu\"\n [attr.style]=\"getGridStyle(asDropdown(item))\">\n @for (sub of asDropdown(item).items; track sub.name) {\n @if (sub.color) {\n <button\n type=\"button\"\n class=\"dm-color-swatch\"\n [class.dm-color-swatch--active]=\"isActive(sub.name)\"\n role=\"menuitem\"\n [attr.aria-label]=\"sub.label\"\n [title]=\"sub.label\"\n [style.background-color]=\"sub.color\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onDropdownItemClick(sub)\"\n ></button>\n } @else {\n <button\n type=\"button\"\n class=\"dm-color-palette-reset\"\n role=\"menuitem\"\n [attr.aria-label]=\"sub.label\"\n [innerHTML]=\"getCachedItemContent(sub.icon, sub.label)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onDropdownItemClick(sub)\"\n ></button>\n }\n }\n </div>\n } @else {\n <div class=\"dm-toolbar-dropdown-panel\" role=\"menu\"\n [attr.data-display-mode]=\"asDropdown(item).displayMode ?? null\">\n @for (sub of asDropdown(item).items; track sub.name) {\n <button\n type=\"button\"\n class=\"dm-toolbar-dropdown-item\"\n [class.dm-toolbar-dropdown-item--active]=\"isActive(sub.name)\"\n role=\"menuitem\"\n [attr.aria-label]=\"sub.label\"\n [attr.style]=\"sub.style ?? null\"\n [innerHTML]=\"getCachedItemContent(sub.icon, sub.label, asDropdown(item).displayMode)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onDropdownItemClick(sub, $event)\"\n ></button>\n }\n </div>\n }\n }\n </div>\n }\n }\n </div>\n }\n `,\n})\nexport class DomternalToolbarComponent implements OnDestroy {\n readonly editor = input.required<Editor>();\n readonly icons = input<IconSet | null>(null);\n readonly layout = input<ToolbarLayoutEntry[]>();\n\n /** Exposed state signals for template */\n readonly groups = signal<ToolbarGroup[]>([]);\n readonly focusedIndex = signal(0);\n readonly openDropdown = signal<string | null>(null);\n /** Bumped on active state changes to trigger re-evaluation of isActive() */\n readonly activeVersion = signal(0);\n\n private controller: ToolbarController | null = null;\n private clickOutsideHandler: ((e: Event) => void) | null = null;\n private dismissOverlayHandler: (() => void) | null = null;\n private editorEl: HTMLElement | null = null;\n private cleanupFloating: (() => void) | null = null;\n private ngZone = inject(NgZone);\n private elRef = inject(ElementRef);\n private sanitizer = inject(DomSanitizer);\n\n /** SafeHtml cache — same reference returned for same key, prevents DOM churn */\n private htmlCache = new Map<string, SafeHtml>();\n\n private readonly dropdownCaret = '<svg class=\"dm-dropdown-caret\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\"><path d=\"M2 4l3 3 3-3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>';\n\n constructor() {\n effect(() => {\n const editor = this.editor();\n untracked(() => this.setupController(editor));\n });\n }\n\n ngOnDestroy(): void {\n this.destroyController();\n }\n\n // === Template helpers ===\n\n isActive(name: string): boolean {\n this.activeVersion(); // subscribe to changes\n return this.controller?.activeMap.get(name) ?? false;\n }\n\n isDisabled(name: string): boolean {\n this.activeVersion(); // subscribe to changes\n return this.controller?.disabledMap.get(name) ?? false;\n }\n\n isDropdownActive(dropdown: ToolbarDropdown): boolean {\n if (dropdown.layout === 'grid') return false; // color dropdowns use bar indicator instead\n if (dropdown.dynamicLabel) return false; // label text already communicates state\n this.activeVersion(); // subscribe to changes\n return dropdown.items.some((item: ToolbarButton) => this.controller?.activeMap.get(item.name) ?? false);\n }\n\n /** Returns trigger innerHTML: dynamic icon + caret (+ color indicator for grid dropdowns). */\n getDropdownTriggerHtml(dropdown: ToolbarDropdown): SafeHtml {\n this.activeVersion(); // subscribe to changes\n const activeItem = dropdown.items.find((item: ToolbarButton) => this.controller?.activeMap.get(item.name));\n\n if (dropdown.layout === 'grid') {\n const color = activeItem?.color ?? dropdown.defaultIndicatorColor ?? null;\n const key = `tr:${dropdown.icon}:${color ?? ''}`;\n let cached = this.htmlCache.get(key);\n if (!cached) {\n let html = this.resolveIconSvg(dropdown.icon) + this.dropdownCaret;\n if (color) {\n html += `<span class=\"dm-toolbar-color-indicator\" style=\"background-color: ${color}\"></span>`;\n }\n cached = this.sanitizer.bypassSecurityTrustHtml(html);\n this.htmlCache.set(key, cached);\n }\n return cached;\n }\n\n // Non-grid dropdown — show active sub-item's label as text\n if (dropdown.dynamicLabel) {\n if (activeItem) return this.getCachedTriggerLabel(activeItem.label);\n\n // Try reading CSS property from DOM (inline or computed depending on property)\n if (dropdown.computedStyleProperty) {\n let computed: string | null;\n if (dropdown.computedStyleProperty === 'font-family') {\n // Font-family: read ONLY inline style (explicit mark), not computed (browser default)\n computed = this.getInlineStyleAtCursor(dropdown.computedStyleProperty);\n if (computed) {\n const first = computed.split(',')[0]?.replace(/['\"]+/g, '').trim();\n computed = first || null;\n }\n } else {\n computed = this.getComputedStyleAtCursor(dropdown.computedStyleProperty);\n }\n if (computed) return this.getCachedTriggerLabel(computed);\n }\n\n if (dropdown.dynamicLabelFallback) {\n return this.getCachedTriggerLabel(dropdown.dynamicLabelFallback);\n }\n return this.getCachedTriggerLabel(dropdown.icon, true);\n }\n const icon = dropdown.dynamicIcon && activeItem ? activeItem.icon : dropdown.icon;\n return this.getCachedTriggerIcon(icon);\n }\n\n /**\n * Returns 'true' when an emitEvent button's panel is open, null otherwise.\n * Maps to [attr.aria-expanded] — null removes the attribute entirely.\n */\n getAriaExpanded(item: ToolbarButton): string | null {\n if (!item.emitEvent) return null;\n this.activeVersion(); // subscribe to changes\n return this.controller?.expandedMap.get(item.name) ? 'true' : null;\n }\n\n getFlatIndex(name: string): number {\n return this.controller?.getFlatIndex(name) ?? -1;\n }\n\n getTooltip(item: ToolbarButton): string {\n if (item.shortcut) {\n const parts = item.shortcut.split('-');\n const mapped = parts.map((p: string) => {\n if (p === 'Mod') return isMac ? '\\u2318' : 'Ctrl';\n if (p === 'Shift') return isMac ? '\\u21E7' : 'Shift';\n if (p === 'Alt') return isMac ? '\\u2325' : 'Alt';\n return p.toUpperCase();\n });\n const shortcut = isMac ? mapped.join('') : mapped.join('+');\n return `${item.label} (${shortcut})`;\n }\n return item.label;\n }\n\n getCachedIcon(name: string): SafeHtml {\n const key = `i:${name}`;\n let cached = this.htmlCache.get(key);\n if (!cached) {\n cached = this.sanitizer.bypassSecurityTrustHtml(this.resolveIconSvg(name));\n this.htmlCache.set(key, cached);\n }\n return cached;\n }\n\n getCachedTriggerLabel(label: string, isIcon?: boolean): SafeHtml {\n const key = `tl:${label}`;\n let cached = this.htmlCache.get(key);\n if (!cached) {\n const content = isIcon ? this.resolveIconSvg(label) : label;\n cached = this.sanitizer.bypassSecurityTrustHtml(\n `<span class=\"dm-toolbar-trigger-label\">${content}</span>` + this.dropdownCaret,\n );\n this.htmlCache.set(key, cached);\n }\n return cached;\n }\n\n getCachedTriggerIcon(iconName: string): SafeHtml {\n const key = `t:${iconName}`;\n let cached = this.htmlCache.get(key);\n if (!cached) {\n cached = this.sanitizer.bypassSecurityTrustHtml(this.resolveIconSvg(iconName) + this.dropdownCaret);\n this.htmlCache.set(key, cached);\n }\n return cached;\n }\n\n getCachedItemContent(iconName: string, label: string, displayMode?: 'icon-text' | 'text' | 'icon'): SafeHtml {\n const mode = displayMode ?? 'icon-text';\n const key = `dc:${iconName}:${label}:${mode}`;\n let cached = this.htmlCache.get(key);\n if (!cached) {\n let html: string;\n if (mode === 'text') {\n html = label;\n } else if (mode === 'icon') {\n html = this.resolveIconSvg(iconName);\n } else {\n html = this.resolveIconSvg(iconName) + ' ' + label;\n }\n cached = this.sanitizer.bypassSecurityTrustHtml(html);\n this.htmlCache.set(key, cached);\n }\n return cached;\n }\n\n asButton(item: ToolbarItem): ToolbarButton {\n return item as ToolbarButton;\n }\n\n asDropdown(item: ToolbarItem): ToolbarDropdown {\n return item as ToolbarDropdown;\n }\n\n getGridStyle(dropdown: ToolbarDropdown): string {\n return `--dm-palette-columns: ${String(dropdown.gridColumns ?? 10)}`;\n }\n\n // === Event handlers ===\n\n onButtonClick(item: ToolbarButton, event?: MouseEvent): void {\n // Close any open dropdown when clicking a regular button\n if (this.openDropdown()) {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller?.closeDropdown();\n this.syncState();\n }\n\n if (item.emitEvent) {\n const anchor = event?.currentTarget as HTMLElement | undefined;\n // emitEvent is a dynamic string; cast needed to bypass strict EventEmitter<EditorEvents> typing\n (this.editor().emit as (e: string, d: unknown) => void)(item.emitEvent, { anchorElement: anchor });\n return;\n }\n this.controller?.executeCommand(item);\n }\n\n onDropdownToggle(dropdown: ToolbarDropdown): void {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller?.toggleDropdown(dropdown.name);\n this.syncState();\n\n // Position the panel after Angular renders it (tracks resize, not scroll)\n if (this.openDropdown()) {\n requestAnimationFrame(() => {\n const trigger = this.elRef.nativeElement.querySelector(\n `[aria-expanded=\"true\"]`,\n ) as HTMLElement | null;\n const panel = trigger?.parentElement?.querySelector(\n '.dm-toolbar-dropdown-panel',\n ) as HTMLElement | null;\n if (trigger && panel) {\n // List dropdowns align to trigger's left edge; grid/picker dropdowns center\n const placement = dropdown.layout === 'grid' ? 'bottom' : 'bottom-start';\n this.cleanupFloating = positionFloatingOnce(trigger, panel, {\n placement,\n offsetValue: 4,\n });\n }\n });\n }\n }\n\n onDropdownItemClick(item: ToolbarButton, event?: Event): void {\n // For emitEvent items, use the dropdown trigger as anchor (sub-item gets removed when dropdown closes)\n let anchor: HTMLElement | undefined;\n if (item.emitEvent && event?.currentTarget) {\n const wrapper = (event.currentTarget as HTMLElement).closest('.dm-toolbar-dropdown-wrapper');\n anchor = wrapper?.querySelector('.dm-toolbar-dropdown-trigger') as HTMLElement | undefined;\n }\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller?.closeDropdown();\n if (item.emitEvent) {\n (this.editor().emit as (e: string, d: unknown) => void)(item.emitEvent, { anchorElement: anchor });\n } else {\n this.controller?.executeCommand(item);\n }\n }\n\n onButtonFocus(name: string): void {\n const index = this.controller?.getFlatIndex(name) ?? -1;\n if (index >= 0) {\n this.controller?.setFocusedIndex(index);\n }\n }\n\n onKeydown(event: KeyboardEvent): void {\n if (!this.controller) return;\n\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.controller.navigateNext();\n this.focusCurrentButton();\n break;\n case 'ArrowLeft':\n event.preventDefault();\n this.controller.navigatePrev();\n this.focusCurrentButton();\n break;\n case 'Home':\n event.preventDefault();\n this.controller.navigateFirst();\n this.focusCurrentButton();\n break;\n case 'End':\n event.preventDefault();\n this.controller.navigateLast();\n this.focusCurrentButton();\n break;\n case 'Escape':\n if (this.openDropdown()) {\n event.preventDefault();\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller.closeDropdown();\n this.syncState();\n this.focusCurrentButton();\n }\n break;\n }\n }\n\n // === Private ===\n\n private resolveIconSvg(name: string): string {\n const customIcons = this.icons();\n if (customIcons) {\n return customIcons[name] ?? '';\n }\n return defaultIcons[name] ?? '';\n }\n\n private setupController(editor: Editor): void {\n this.destroyController();\n\n this.controller = new ToolbarController(\n editor as unknown as ToolbarControllerEditor,\n () => this.ngZone.run(() => this.syncState()),\n this.layout(),\n );\n this.controller.subscribe();\n this.syncState();\n\n // Click outside to close dropdown\n this.clickOutsideHandler = (e: Event) => {\n if (this.openDropdown() && !this.elRef.nativeElement.contains(e.target as Node)) {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller?.closeDropdown();\n this.ngZone.run(() => this.syncState());\n }\n };\n document.addEventListener('mousedown', this.clickOutsideHandler);\n\n // Listen for dismiss-overlays (e.g. table handle clicks that stopPropagation on mousedown)\n this.editorEl = editor.view.dom.closest('.dm-editor') as HTMLElement | null;\n if (this.editorEl) {\n this.dismissOverlayHandler = () => {\n if (this.openDropdown()) {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.controller?.closeDropdown();\n this.ngZone.run(() => this.syncState());\n }\n };\n this.editorEl.addEventListener('dm:dismiss-overlays', this.dismissOverlayHandler);\n }\n }\n\n private destroyController(): void {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n if (this.clickOutsideHandler) {\n document.removeEventListener('mousedown', this.clickOutsideHandler);\n this.clickOutsideHandler = null;\n }\n if (this.dismissOverlayHandler && this.editorEl) {\n this.editorEl.removeEventListener('dm:dismiss-overlays', this.dismissOverlayHandler);\n this.dismissOverlayHandler = null;\n this.editorEl = null;\n }\n if (this.controller) {\n this.controller.destroy();\n this.controller = null;\n }\n }\n\n private syncState(): void {\n if (!this.controller) return;\n\n // Only update groups if they actually changed (initial build or rebuild)\n const controllerGroups = this.controller.groups;\n if (this.groups().length !== controllerGroups.length) {\n this.groups.set(controllerGroups);\n }\n\n this.focusedIndex.set(this.controller.focusedIndex);\n this.openDropdown.set(this.controller.openDropdown);\n\n // Bump version to trigger isActive() re-evaluation without creating new objects\n this.activeVersion.update(v => v + 1);\n }\n\n private getComputedStyleAtCursor(prop: string): string | null {\n try {\n const { from } = this.editor().state.selection;\n const resolved = this.editor().view.domAtPos(from);\n const el = resolved.node instanceof HTMLElement\n ? resolved.node\n : resolved.node.parentElement;\n if (!el) return null;\n // Prefer inline style (explicit mark) over computed style (inherited from heading, etc.)\n return el.style.getPropertyValue(prop)\n || window.getComputedStyle(el).getPropertyValue(prop)\n || null;\n } catch {\n return null;\n }\n }\n\n /** Read only inline style — no computed fallback (used for font-family). */\n private getInlineStyleAtCursor(prop: string): string | null {\n try {\n const { from } = this.editor().state.selection;\n const resolved = this.editor().view.domAtPos(from);\n const el = resolved.node instanceof HTMLElement\n ? resolved.node\n : resolved.node.parentElement;\n if (!el) return null;\n return el.style.getPropertyValue(prop) || null;\n } catch {\n return null;\n }\n }\n\n private focusCurrentButton(): void {\n const idx = this.controller?.focusedIndex ?? 0;\n const buttons = this.elRef.nativeElement.querySelectorAll(\n '.dm-toolbar-button'\n ) as NodeListOf<HTMLButtonElement>;\n buttons[idx]?.focus();\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnDestroy,\n input,\n signal,\n inject,\n NgZone,\n viewChild,\n ElementRef,\n afterNextRender,\n} from '@angular/core';\nimport { DomSanitizer, type SafeHtml } from '@angular/platform-browser';\n\nimport {\n Editor,\n PluginKey,\n ToolbarController,\n createBubbleMenuPlugin,\n defaultIcons,\n} from '@domternal/core';\nimport type { BubbleMenuOptions, ToolbarButton } from '@domternal/core';\n\ninterface BubbleMenuSeparator { type: 'separator'; name: string }\ntype BubbleMenuItem = ToolbarButton | BubbleMenuSeparator;\n\n/** Minimal ProseMirror Selection shape for duck-typing (avoids instanceof issues across bundles) */\ninterface ResolvedPosShape {\n parent: { type: { name: string; spec: { marks?: string } } };\n depth: number;\n node: (depth: number) => { type: { name: string } };\n}\n\ninterface SelectionShape {\n empty: boolean;\n $from: ResolvedPosShape;\n $to: ResolvedPosShape;\n node?: { type: { name: string } };\n}\n\n/** Check if a resolved position is inside a table cell or header. */\nfunction isInsideTableCell($pos: ResolvedPosShape): boolean {\n for (let d = $pos.depth; d > 0; d--) {\n const name = $pos.node(d).type.name;\n if (name === 'tableCell' || name === 'tableHeader') return true;\n }\n return false;\n}\n\n/** ProseMirror schema shape for mark filtering */\ninterface SchemaShape {\n nodes: Record<string, { allowsMarkType: (mt: unknown) => boolean }>;\n marks: Record<string, unknown>;\n}\n\n@Component({\n selector: 'domternal-bubble-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <div #menuEl class=\"dm-bubble-menu\">\n @for (item of resolvedItems(); track item.name) {\n @if (item.type === 'separator') {\n <span class=\"dm-toolbar-separator\"></span>\n } @else {\n <button type=\"button\" class=\"dm-toolbar-button\"\n [class.dm-toolbar-button--active]=\"isItemActive(item)\"\n [disabled]=\"isItemDisabled(item)\"\n [title]=\"item.label\"\n [attr.aria-label]=\"item.label\"\n [innerHTML]=\"getCachedIcon(item.icon)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"executeCommand(item)\"></button>\n }\n }\n <ng-content />\n </div>\n `,\n styles: [`:host { display: contents; }`],\n})\nexport class DomternalBubbleMenuComponent implements OnDestroy {\n readonly editor = input.required<Editor>();\n readonly shouldShow = input<BubbleMenuOptions['shouldShow']>();\n readonly placement = input<'top' | 'bottom'>('top');\n readonly offset = input<number>(8);\n readonly updateDelay = input(0);\n\n /** Fixed item names (e.g. ['bold', 'italic', 'code']). Omit for auto mode (all format items). */\n readonly items = input<string[]>();\n\n /** Context-aware: map context names to item arrays, `true` for all valid items, or `null` to disable */\n readonly contexts = input<Record<string, string[] | true | null>>();\n\n /** Internal — updated on transactions. Not meant to be set from outside. */\n readonly resolvedItems = signal<BubbleMenuItem[]>([]);\n\n private menuEl = viewChild.required<ElementRef<HTMLElement>>('menuEl');\n private pluginKey: PluginKey;\n\n private sanitizer = inject(DomSanitizer);\n private ngZone = inject(NgZone);\n\n private activeVersion = signal(0);\n private itemMap = new Map<string, ToolbarButton>();\n private activeMap = new Map<string, boolean>();\n private disabledMap = new Map<string, boolean>();\n private htmlCache = new Map<string, SafeHtml>();\n private bubbleDefaults = new Map<string, BubbleMenuItem[]>();\n private transactionHandler: (() => void) | null = null;\n\n constructor() {\n this.pluginKey = new PluginKey(\n 'angularBubbleMenu-' + Math.random().toString(36).slice(2, 8),\n );\n\n afterNextRender(() => {\n const editor = this.editor();\n const ctxs = this.contexts();\n let shouldShowFn = this.shouldShow();\n\n if (!shouldShowFn) {\n if (ctxs) {\n shouldShowFn = ({ state }: { state: { selection: SelectionShape } }) => {\n const context = this.detectContext(state.selection, ctxs);\n if (!context) return false;\n if (context in ctxs) {\n const val = ctxs[context];\n if (val === null) return false;\n return val === true || (Array.isArray(val) && val.length > 0);\n }\n return this.bubbleDefaults.has(context);\n };\n } else {\n // Auto/items mode: show when any endpoint's parent allows marks\n shouldShowFn = ({ state }: { state: { selection: SelectionShape } }) => {\n if (state.selection.empty || state.selection.node) return false;\n if (isInsideTableCell(state.selection.$from)) return false;\n return state.selection.$from.parent.type.spec.marks !== ''\n || state.selection.$to.parent.type.spec.marks !== '';\n };\n }\n }\n\n const plugin = createBubbleMenuPlugin({\n pluginKey: this.pluginKey,\n editor,\n element: this.menuEl().nativeElement,\n shouldShow: shouldShowFn,\n placement: this.placement(),\n offset: this.offset(),\n updateDelay: this.updateDelay(),\n });\n editor.registerPlugin(plugin);\n this.setupItemTracking(editor);\n });\n }\n\n ngOnDestroy(): void {\n const editor = this.editor();\n if (this.transactionHandler) {\n editor.off('transaction', this.transactionHandler);\n }\n if (!editor.isDestroyed) {\n editor.unregisterPlugin(this.pluginKey);\n }\n }\n\n // === Template helpers ===\n\n isItemActive(item: ToolbarButton): boolean {\n this.activeVersion();\n return this.activeMap.get(item.name) ?? false;\n }\n\n isItemDisabled(item: ToolbarButton): boolean {\n this.activeVersion();\n return this.disabledMap.get(item.name) ?? false;\n }\n\n getCachedIcon(name: string): SafeHtml {\n let cached = this.htmlCache.get(name);\n if (!cached) {\n cached = this.sanitizer.bypassSecurityTrustHtml(defaultIcons[name] ?? '');\n this.htmlCache.set(name, cached);\n }\n return cached;\n }\n\n executeCommand(item: ToolbarButton): void {\n if (item.emitEvent) {\n // emitEvent is a dynamic string; cast needed to bypass strict EventEmitter<EditorEvents> typing\n (this.editor().emit as (e: string, d: unknown) => void)(item.emitEvent, {});\n return;\n }\n ToolbarController.executeItem(this.editor() as never, item);\n }\n\n // === Internal ===\n\n private buildItemMap(editor: Editor): void {\n this.itemMap.clear();\n for (const item of editor.toolbarItems) {\n if (item.type === 'button') {\n this.itemMap.set(item.name, item);\n } else if (item.type === 'dropdown') {\n for (const sub of item.items) {\n this.itemMap.set(sub.name, sub);\n }\n }\n }\n }\n\n private resolveNames(names: string[]): BubbleMenuItem[] {\n const result: BubbleMenuItem[] = [];\n let sepIdx = 0;\n for (const name of names) {\n if (name === '|') {\n result.push({ type: 'separator', name: `sep-${sepIdx++}` });\n } else {\n const item = this.itemMap.get(name);\n if (item) result.push(item);\n }\n }\n return result;\n }\n\n private getFormatItems(): ToolbarButton[] {\n return Array.from(this.itemMap.values())\n .filter(item => item.group === 'format')\n .sort((a, b) => (b.priority ?? 100) - (a.priority ?? 100));\n }\n\n private detectContext(selection: SelectionShape, ctxs: Record<string, string[] | true | null>): string | null {\n // CellSelection (duck-type: has $anchorCell) — never show bubble menu\n if ('$anchorCell' in selection) return null;\n if (selection.node) return selection.node.type.name;\n if (selection.empty) return null;\n\n // TextSelection inside a table cell → 'table' context.\n // Cross-cell TextSelection (drag across cells) → hide bubble menu.\n const fromCell = this.findCellNode(selection.$from);\n if (fromCell) {\n const toCell = this.findCellNode(selection.$to);\n if (toCell && fromCell !== toCell) return null;\n return 'table';\n }\n\n const fromName = selection.$from.parent.type.name;\n if (fromName in ctxs) return fromName;\n if ('text' in ctxs && selection.$from.parent.type.spec.marks !== '') return 'text';\n // Cross-block: also check $to so bold/italic is offered when any endpoint allows marks\n const toName = selection.$to.parent.type.name;\n if (toName in ctxs) return toName;\n if ('text' in ctxs && selection.$to.parent.type.spec.marks !== '') return 'text';\n return null;\n }\n\n private findCellNode(pos: ResolvedPosShape): { type: { name: string } } | null {\n for (let d = pos.depth; d > 0; d--) {\n const node = pos.node(d);\n if (node.type.name === 'tableCell' || node.type.name === 'tableHeader') {\n return node;\n }\n }\n return null;\n }\n\n /** Filters out mark items that the context node type doesn't allow (e.g. bold on codeBlock) */\n private filterBySchema(editor: Editor, contextName: string, items: ToolbarButton[]): ToolbarButton[] {\n if (contextName === 'text' || contextName === 'table') return items;\n const schema = (editor.state as unknown as { schema?: SchemaShape }).schema;\n if (!schema) return items;\n const nodeType = schema.nodes[contextName];\n if (!nodeType) return items;\n return items.filter(item => {\n const markName = typeof item.isActive === 'string' ? item.isActive : null;\n if (!markName) return true;\n const markType = schema.marks?.[markName];\n if (!markType) return true;\n return nodeType.allowsMarkType(markType);\n });\n }\n\n private buildBubbleDefaults(editor: Editor): void {\n this.bubbleDefaults.clear();\n const byCtx = new Map<string, ToolbarButton[]>();\n const addItem = (btn: ToolbarButton): void => {\n const ctx = (btn as unknown as Record<string, unknown>)['bubbleMenu'] as string | undefined;\n if (!ctx) return;\n let arr = byCtx.get(ctx);\n if (!arr) { arr = []; byCtx.set(ctx, arr); }\n arr.push(btn);\n };\n for (const item of editor.toolbarItems) {\n if (item.type === 'button') addItem(item);\n else if (item.type === 'dropdown') {\n for (const sub of item.items) addItem(sub);\n }\n }\n for (const [ctx, items] of byCtx) {\n items.sort((a, b) => (b.priority ?? 100) - (a.priority ?? 100));\n const result: BubbleMenuItem[] = [];\n let lastGroup: string | undefined;\n let sepIdx = 0;\n for (const item of items) {\n if (lastGroup !== undefined && item.group !== lastGroup) {\n result.push({ type: 'separator', name: `bsep-${sepIdx++}` });\n }\n result.push(item);\n lastGroup = item.group;\n }\n this.bubbleDefaults.set(ctx, result);\n }\n }\n\n private setupItemTracking(editor: Editor): void {\n this.buildItemMap(editor);\n this.buildBubbleDefaults(editor);\n\n if (this.contexts()) {\n this.updateContextItems(editor);\n } else if (this.items()) {\n this.resolvedItems.set(this.resolveNames(this.items()!));\n } else {\n this.resolvedItems.set(this.resolveNames(['bold', 'italic', 'underline']));\n }\n\n this.transactionHandler = () => {\n this.ngZone.run(() => {\n if (this.contexts()) {\n this.updateContextItems(editor);\n }\n this.updateStates(editor);\n this.activeVersion.update(v => v + 1);\n });\n };\n editor.on('transaction', this.transactionHandler);\n this.updateStates(editor);\n }\n\n private updateContextItems(editor: Editor): void {\n const ctxs = this.contexts()!;\n const ctx = this.detectContext(editor.state.selection as unknown as SelectionShape, ctxs);\n if (!ctx) {\n this.resolvedItems.set([]);\n return;\n }\n if (ctx in ctxs) {\n const val = ctxs[ctx];\n if (val === null || (Array.isArray(val) && val.length === 0)) {\n this.resolvedItems.set([]);\n return;\n }\n if (val === true) {\n this.resolvedItems.set(this.filterBySchema(editor, ctx, this.getFormatItems()));\n } else if (Array.isArray(val)) {\n const resolved = this.resolveNames(val);\n const buttons = resolved.filter((i): i is ToolbarButton => i.type !== 'separator');\n const filtered = new Set(this.filterBySchema(editor, ctx, buttons).map(b => b.name));\n this.resolvedItems.set(resolved.filter(i => i.type === 'separator' || filtered.has(i.name)));\n }\n } else {\n this.resolvedItems.set(this.bubbleDefaults.get(ctx) ?? []);\n }\n }\n\n private updateStates(editor: Editor): void {\n let canProxy: Record<string, (...args: unknown[]) => boolean> | null = null;\n try { canProxy = editor.can() as unknown as Record<string, (...args: unknown[]) => boolean>; } catch {}\n\n for (const item of this.resolvedItems()) {\n if (item.type === 'separator') continue;\n this.activeMap.set(item.name, ToolbarController.resolveActive(editor as never, item));\n try {\n const canCmd = canProxy?.[item.command];\n this.disabledMap.set(item.name, canCmd\n ? !(item.commandArgs?.length ? canCmd(...item.commandArgs) : canCmd())\n : false);\n } catch { this.disabledMap.set(item.name, false); }\n }\n }\n\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnDestroy,\n input,\n viewChild,\n ElementRef,\n afterNextRender,\n} from '@angular/core';\n\nimport {\n Editor,\n PluginKey,\n createFloatingMenuPlugin,\n} from '@domternal/core';\nimport type { FloatingMenuOptions } from '@domternal/core';\n\n@Component({\n selector: 'domternal-floating-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: '<div #menuEl class=\"dm-floating-menu\"><ng-content /></div>',\n styles: [`:host { display: contents; }`],\n})\nexport class DomternalFloatingMenuComponent implements OnDestroy {\n readonly editor = input.required<Editor>();\n readonly shouldShow = input<FloatingMenuOptions['shouldShow']>();\n readonly offset = input<number>(0);\n\n private menuEl = viewChild.required<ElementRef<HTMLElement>>('menuEl');\n private pluginKey: PluginKey;\n\n constructor() {\n // Unique key per instance — multiple floating menus on same page\n this.pluginKey = new PluginKey(\n 'angularFloatingMenu-' + Math.random().toString(36).slice(2, 8),\n );\n\n afterNextRender(() => {\n const shouldShow = this.shouldShow();\n const plugin = createFloatingMenuPlugin({\n pluginKey: this.pluginKey,\n editor: this.editor(),\n element: this.menuEl().nativeElement,\n ...(shouldShow && { shouldShow }),\n offset: this.offset(),\n });\n this.editor().registerPlugin(plugin);\n });\n }\n\n ngOnDestroy(): void {\n const editor = this.editor();\n if (!editor.isDestroyed) {\n editor.unregisterPlugin(this.pluginKey);\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnDestroy,\n input,\n signal,\n computed,\n effect,\n inject,\n NgZone,\n ElementRef,\n untracked,\n} from '@angular/core';\n\nimport { Editor, positionFloatingOnce } from '@domternal/core';\n\nexport interface EmojiPickerItem {\n emoji: string;\n name: string;\n group: string;\n}\n\nconst CATEGORY_ICONS: Record<string, string> = {\n 'Smileys & Emotion': '\\u{1F600}',\n 'People & Body': '\\u{1F44B}',\n 'Animals & Nature': '\\u{1F431}',\n 'Food & Drink': '\\u{1F355}',\n 'Travel & Places': '\\u{1F697}',\n 'Activities': '\\u{26BD}',\n 'Objects': '\\u{1F4A1}',\n 'Symbols': '\\u{1F523}',\n 'Flags': '\\u{1F3C1}',\n};\n\n@Component({\n selector: 'domternal-emoji-picker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { 'class': 'dm-emoji-picker-host' },\n template: `\n @if (isOpen()) {\n <div class=\"dm-emoji-picker\">\n <div class=\"dm-emoji-picker-search\">\n <input\n #searchInput\n type=\"text\"\n placeholder=\"Search emoji...\"\n [value]=\"searchQuery()\"\n (input)=\"onSearch($event)\"\n (keydown.escape)=\"close()\"\n />\n </div>\n\n <div class=\"dm-emoji-picker-tabs\" role=\"tablist\">\n @for (cat of categoryNames(); track cat) {\n <button\n type=\"button\"\n class=\"dm-emoji-picker-tab\"\n [class.dm-emoji-picker-tab--active]=\"activeCategory() === cat\"\n [title]=\"cat\"\n [attr.aria-label]=\"cat\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"scrollToCategory(cat)\"\n >{{ categoryIcon(cat) }}</button>\n }\n </div>\n\n <div class=\"dm-emoji-picker-grid\" #grid (scroll)=\"onGridScroll()\">\n @if (searchQuery()) {\n @for (item of filteredEmojis(); track item.name) {\n <button\n type=\"button\"\n class=\"dm-emoji-swatch\"\n [title]=\"formatName(item.name)\"\n [attr.aria-label]=\"formatName(item.name)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"selectEmoji(item)\"\n >{{ item.emoji }}</button>\n }\n @empty {\n <div class=\"dm-emoji-picker-empty\">No emoji found</div>\n }\n } @else {\n @if (frequentlyUsed().length) {\n <div class=\"dm-emoji-picker-category-label\">Frequently Used</div>\n @for (item of frequentlyUsed(); track item.name) {\n <button\n type=\"button\"\n class=\"dm-emoji-swatch\"\n [title]=\"formatName(item.name)\"\n [attr.aria-label]=\"formatName(item.name)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"selectEmoji(item)\"\n >{{ item.emoji }}</button>\n }\n }\n @for (cat of categoryNames(); track cat) {\n <div class=\"dm-emoji-picker-category-label\" [attr.data-category]=\"cat\">{{ cat }}</div>\n @for (item of getCategory(cat); track item.name) {\n <button\n type=\"button\"\n class=\"dm-emoji-swatch\"\n [title]=\"formatName(item.name)\"\n [attr.aria-label]=\"formatName(item.name)\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"selectEmoji(item)\"\n >{{ item.emoji }}</button>\n }\n }\n }\n </div>\n </div>\n }\n `,\n})\nexport class DomternalEmojiPickerComponent implements OnDestroy {\n readonly editor = input.required<Editor>();\n readonly emojis = input.required<EmojiPickerItem[]>();\n\n readonly isOpen = signal(false);\n readonly searchQuery = signal('');\n readonly activeCategory = signal('');\n\n private anchorEl: HTMLElement | null = null;\n private ngZone = inject(NgZone);\n private elRef = inject(ElementRef);\n private clickOutsideHandler: ((e: Event) => void) | null = null;\n private keydownHandler: ((e: KeyboardEvent) => void) | null = null;\n private eventHandler: ((...args: unknown[]) => void) | null = null;\n private cleanupFloating: (() => void) | null = null;\n\n readonly categories = computed(() => {\n const map = new Map<string, EmojiPickerItem[]>();\n for (const item of this.emojis()) {\n let list = map.get(item.group);\n if (!list) {\n list = [];\n map.set(item.group, list);\n }\n list.push(item);\n }\n return map;\n });\n\n readonly categoryNames = computed(() => [...this.categories().keys()]);\n\n readonly filteredEmojis = computed(() => {\n const query = this.searchQuery().toLowerCase();\n if (!query) return [];\n const storage = this.getEmojiStorage();\n const searchFn = storage?.['searchEmoji'] as ((q: string) => EmojiPickerItem[]) | undefined;\n if (searchFn) {\n return searchFn(query);\n }\n return this.emojis().filter(\n (item) =>\n item.name.includes(query) ||\n item.group.toLowerCase().includes(query),\n );\n });\n\n readonly frequentlyUsed = computed(() => {\n // Re-evaluate when panel opens (isOpen changes)\n this.isOpen();\n const storage = this.getEmojiStorage();\n const getFreq = storage?.['getFrequentlyUsed'] as (() => string[]) | undefined;\n if (!getFreq) return [];\n const names = getFreq();\n if (!names.length) return [];\n const nameMap = storage!['_nameMap'] as Map<string, EmojiPickerItem> | undefined;\n if (!nameMap) return [];\n return names.slice(0, 16).map((n) => nameMap.get(n)).filter(Boolean) as EmojiPickerItem[];\n });\n\n constructor() {\n effect(() => {\n const editor = this.editor();\n untracked(() => this.setupEventListener(editor));\n });\n }\n\n ngOnDestroy(): void {\n this.cleanup();\n }\n\n getCategory(cat: string): EmojiPickerItem[] {\n return this.categories().get(cat) ?? [];\n }\n\n categoryIcon(cat: string): string {\n return CATEGORY_ICONS[cat] ?? cat.charAt(0);\n }\n\n formatName(name: string): string {\n return name.replace(/_/g, ' ');\n }\n\n onSearch(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.searchQuery.set(input.value);\n }\n\n selectEmoji(item: EmojiPickerItem): void {\n const editor = this.editor();\n const cmd = editor.commands as Record<string, (...args: unknown[]) => boolean>;\n if (cmd['insertEmoji']) {\n cmd['insertEmoji'](item.name);\n }\n this.close();\n }\n\n scrollToCategory(cat: string): void {\n this.searchQuery.set('');\n this.activeCategory.set(cat);\n\n // Wait for search to clear and DOM to update\n requestAnimationFrame(() => {\n const grid = this.elRef.nativeElement.querySelector('.dm-emoji-picker-grid') as HTMLElement | null;\n if (!grid) return;\n const label = grid.querySelector(`[data-category=\"${cat}\"]`) as HTMLElement | null;\n if (label) {\n // Use manual scrollTop instead of scrollIntoView to avoid scrolling the page\n grid.scrollTo({ top: label.offsetTop - grid.offsetTop, behavior: 'smooth' });\n }\n });\n }\n\n onGridScroll(): void {\n const grid = this.elRef.nativeElement.querySelector('.dm-emoji-picker-grid') as HTMLElement | null;\n if (!grid || this.searchQuery()) return;\n\n const labels = Array.from(grid.querySelectorAll('.dm-emoji-picker-category-label[data-category]')) as HTMLElement[];\n\n let currentCat = '';\n for (const label of labels) {\n if (label.offsetTop - grid.offsetTop <= grid.scrollTop + 20) {\n currentCat = label.getAttribute('data-category') ?? '';\n }\n }\n\n if (currentCat && currentCat !== this.activeCategory()) {\n this.activeCategory.set(currentCat);\n }\n }\n\n close(): void {\n this.cleanupFloating?.();\n this.cleanupFloating = null;\n this.isOpen.set(false);\n this.setStorageOpen(false);\n this.searchQuery.set('');\n this.anchorEl = null;\n this.removeGlobalListeners();\n this.editor().view.focus();\n }\n\n private setupEventListener(editor: Editor): void {\n this.cleanup();\n\n this.eventHandler = (...args: unknown[]) => {\n const data = args[0] as { anchorElement?: HTMLElement } | undefined;\n this.ngZone.run(() => {\n if (this.isOpen()) {\n this.close();\n return;\n }\n\n this.anchorEl = data?.anchorElement ?? null;\n this.isOpen.set(true);\n this.setStorageOpen(true);\n this.searchQuery.set('');\n\n // Set initial active category\n const names = this.categoryNames();\n if (names.length > 0 && names[0]) {\n this.activeCategory.set(names[0]);\n }\n\n this.addGlobalListeners();\n\n // Position panel and focus search input after render\n requestAnimationFrame(() => {\n const panel = this.elRef.nativeElement.querySelector('.dm-emoji-picker') as HTMLElement | null;\n if (panel && this.anchorEl) {\n this.cleanupFloating?.();\n this.cleanupFloating = positionFloatingOnce(this.anchorEl, panel, {\n placement: 'bottom',\n offsetValue: 4,\n });\n }\n const input = this.elRef.nativeElement.querySelector('.dm-emoji-picker-search input') as HTMLInputElement | null;\n input?.focus({ preventScroll: true });\n });\n });\n };\n\n (editor.on as (e: string, h: (...args: unknown[]) => void) => void)('insertEmoji', this.eventHandler);\n }\n\n private addGlobalListeners(): void {\n this.clickOutsideHandler = (e: Event) => {\n const target = e.target as Node;\n if (\n this.isOpen() &&\n !this.elRef.nativeElement.contains(target) &&\n target !== this.anchorEl &&\n !this.anchorEl?.contains(target)\n ) {\n this.ngZone.run(() => this.close());\n }\n };\n document.addEventListener('mousedown', this.clickOutsideHandler);\n\n this.keydownHandler = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.isOpen()) {\n e.preventDefault();\n this.ngZone.run(() => this.close());\n }\n };\n document.addEventListener('keydown', this.keydownHandler);\n }\n\n private removeGlobalListeners(): void {\n if (this.clickOutsideHandler) {\n document.removeEventListener('mousedown', this.clickOutsideHandler);\n this.clickOutsideHandler = null;\n }\n if (this.keydownHandler) {\n document.removeEventListener('keydown', this.keydownHandler);\n this.keydownHandler = null;\n }\n }\n\n private setStorageOpen(open: boolean): void {\n const storage = this.getEmojiStorage();\n if (storage) storage['isOpen'] = open;\n // Dispatch a no-op transaction so the toolbar's transaction handler\n // re-evaluates isActiveFn and shows the button as active/inactive.\n const editor = this.editor();\n editor.view.dispatch(editor.view.state.tr);\n }\n\n private getEmojiStorage(): Record<string, unknown> | null {\n const storage = this.editor().storage as Record<string, unknown>;\n return (storage['emoji'] as Record<string, unknown>) ?? null;\n }\n\n private cleanup(): void {\n this.removeGlobalListeners();\n if (this.eventHandler) {\n const editor = this.editor();\n (editor.off as (e: string, h: (...args: unknown[]) => void) => void)('insertEmoji', this.eventHandler);\n this.eventHandler = null;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AA6BO,MAAM,kBAAkB,GAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO;MAiBpF,wBAAwB,CAAA;;AAE1B,IAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAA6B,WAAW,CAAC;;AAGvE,IAAA,UAAU,GAAG,KAAK,CAAiB,EAAE,iFAAC;AACtC,IAAA,OAAO,GAAG,KAAK,CAAU,EAAE,8EAAC;AAC5B,IAAA,QAAQ,GAAG,KAAK,CAAC,IAAI,+EAAC;AACtB,IAAA,SAAS,GAAG,KAAK,CAAgB,KAAK,gFAAC;AACvC,IAAA,YAAY,GAAG,KAAK,CAAkB,MAAM,mFAAC;;IAG7C,aAAa,GAAG,MAAM,EAAU;IAChC,cAAc,GAAG,MAAM,EAAsB;IAC7C,gBAAgB,GAAG,MAAM,EAAsB;IAC/C,YAAY,GAAG,MAAM,EAAyC;IAC9D,WAAW,GAAG,MAAM,EAAyC;IAC7D,eAAe,GAAG,MAAM,EAAQ;;AAGjC,IAAA,YAAY,GAAG,MAAM,CAAC,EAAE,mFAAC;AACzB,IAAA,YAAY,GAAG,MAAM,CAAqB,IAAI,mFAAC;AAC/C,IAAA,QAAQ,GAAG,MAAM,CAAC,IAAI,+EAAC;AACvB,IAAA,UAAU,GAAG,MAAM,CAAC,KAAK,iFAAC;;AAE1B,IAAA,WAAW,GAAG,MAAM,CAAC,IAAI,kFAAC;AAEzB,IAAA,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5C,IAAA,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5C,IAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;AACpC,IAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;AACxC,IAAA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;;IAG3C,OAAO,GAAkB,IAAI;AAErC,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;;AAGQ,IAAA,QAAQ,GAA6B,MAAK,EAAE,CAAC;AAC7C,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;IAChC,eAAe,GAAmB,IAAI;AAEtC,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAE/B,IAAA,WAAA,GAAA;QACE,eAAe,CAAC,MAAK;YACnB,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE;YAC/C,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,OAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;AACnC,gBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChC,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE;YAC/C,SAAS,CAAC,MAAK;AACb,gBAAA,MAAM,OAAO,GAAG,MAAM,KAAK;AACzB,sBAAE,IAAI,CAAC,OAAQ,CAAC,OAAO;AACvB,sBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,CAAC;AAC3C,gBAAA,MAAM,QAAQ,GAAG,MAAM,KAAK;AAC1B,sBAAG;AACH,sBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AAC3B,gBAAA,IAAI,QAAQ,KAAK,OAAO,EAAE;oBACxB,IAAI,CAAC,OAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC;gBAC1C;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;gBAAE;YAC/C,SAAS,CAAC,MAAK;gBACb,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;;IAIA,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACtB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;QAC7B;AACA,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;IACrB;;AAIA,IAAA,UAAU,CAAC,KAAc,EAAA;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK;YAC5B;QACF;;AAGA,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,MAAM,EAAE;AAClC,YAAA,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBAAE;QACxC;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAAE;QACxE;QAEA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC;IACvC;AAEA,IAAA,gBAAgB,CAAC,EAA4B,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;QAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QACjC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC;QACvC;IACF;;IAIQ,cAAc,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE;QAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAC7C,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACtB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;QACrC,IAAI,CAAC,YAAY,EAAE;IACrB;IAEQ,YAAY,GAAA;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE;AAC7D,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAE3B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC;AACxB,YAAA,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,aAAa;YACvC,UAAU,EAAE,CAAC,GAAG,kBAAkB,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AACzD,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;AACzB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC5B,SAAA,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;;AAGrC,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AAC7C,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAEvC,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,WAAW,EAAyB,KAAI;AACxE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,MAAM,EAAE,GAAG,IAAI,CAAC,OAAQ;AAExB,gBAAA,IAAI,WAAW,CAAC,UAAU,EAAE;AAC1B,oBAAA,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;AACzB,oBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;oBAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC;oBAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAExC,oBAAA,MAAM,KAAK,GAAY,IAAI,CAAC,YAAY,EAAE,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE;AAC3E,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACtB;gBAEA,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,YAAY,EAAE;oBACvD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBAC5C;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAmB,KAAI;AACtD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAQ,EAAE,KAAK,EAAE,CAAC;AAC1D,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAmB,KAAI;AACrD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1B,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAQ,EAAE,KAAK,EAAE,CAAC;gBACvD,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;;AAGF,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;YACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAQ,CAAC;AACxC,QAAA,CAAC,CAAC;IACJ;uGA3MW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EARxB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC;AACvD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAXS,wBAAwB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAavB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAfpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,YAClB,wBAAwB,EAAA,eAAA,EACjB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,QAC/B,EAAE,KAAK,EAAE,WAAW,EAAE,EAAA,SAAA,EAEjB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B,CAAC;AACvD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;iGAImE,WAAW,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACjBjF,MAAM,KAAK,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;MA8GrF,yBAAyB,CAAA;AAC3B,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAU;AACjC,IAAA,KAAK,GAAG,KAAK,CAAiB,IAAI,4EAAC;IACnC,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAwB;;AAGtC,IAAA,MAAM,GAAG,MAAM,CAAiB,EAAE,6EAAC;AACnC,IAAA,YAAY,GAAG,MAAM,CAAC,CAAC,mFAAC;AACxB,IAAA,YAAY,GAAG,MAAM,CAAgB,IAAI,mFAAC;;AAE1C,IAAA,aAAa,GAAG,MAAM,CAAC,CAAC,oFAAC;IAE1B,UAAU,GAA6B,IAAI;IAC3C,mBAAmB,GAAgC,IAAI;IACvD,qBAAqB,GAAwB,IAAI;IACjD,QAAQ,GAAuB,IAAI;IACnC,eAAe,GAAwB,IAAI;AAC3C,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1B,IAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;;AAGhC,IAAA,SAAS,GAAG,IAAI,GAAG,EAAoB;IAE9B,aAAa,GAAG,8MAA8M;AAE/O,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC5B,SAAS,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AAC/C,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,iBAAiB,EAAE;IAC1B;;AAIA,IAAA,QAAQ,CAAC,IAAY,EAAA;AACnB,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK;IACtD;AAEA,IAAA,UAAU,CAAC,IAAY,EAAA;AACrB,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK;IACxD;AAEA,IAAA,gBAAgB,CAAC,QAAyB,EAAA;AACxC,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,QAAQ,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;AACxC,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAmB,KAAK,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IACzG;;AAGA,IAAA,sBAAsB,CAAC,QAAyB,EAAA;AAC9C,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAmB,KAAK,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE1G,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE;YAC9B,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,QAAQ,CAAC,qBAAqB,IAAI,IAAI;YACzE,MAAM,GAAG,GAAG,CAAA,GAAA,EAAM,QAAQ,CAAC,IAAI,CAAA,CAAA,EAAI,KAAK,IAAI,EAAE,CAAA,CAAE;YAChD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;YACpC,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa;gBAClE,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,IAAI,CAAA,kEAAA,EAAqE,KAAK,CAAA,SAAA,CAAW;gBAC/F;gBACA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC;gBACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;YACjC;AACA,YAAA,OAAO,MAAM;QACf;;AAGA,QAAA,IAAI,QAAQ,CAAC,YAAY,EAAE;AACzB,YAAA,IAAI,UAAU;gBAAE,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC;;AAGnE,YAAA,IAAI,QAAQ,CAAC,qBAAqB,EAAE;AAClC,gBAAA,IAAI,QAAuB;AAC3B,gBAAA,IAAI,QAAQ,CAAC,qBAAqB,KAAK,aAAa,EAAE;;oBAEpD,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,qBAAqB,CAAC;oBACtE,IAAI,QAAQ,EAAE;wBACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;AAClE,wBAAA,QAAQ,GAAG,KAAK,IAAI,IAAI;oBAC1B;gBACF;qBAAO;oBACL,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBAC1E;AACA,gBAAA,IAAI,QAAQ;AAAE,oBAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC;YAC3D;AAEA,YAAA,IAAI,QAAQ,CAAC,oBAAoB,EAAE;gBACjC,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAClE;YACA,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QACxD;AACA,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;AACjF,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;IACxC;AAEA;;;AAGG;AACH,IAAA,eAAe,CAAC,IAAmB,EAAA;QACjC,IAAI,CAAC,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,IAAI;AAChC,QAAA,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI;IACpE;AAEA,IAAA,YAAY,CAAC,IAAY,EAAA;QACvB,OAAO,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD;AAEA,IAAA,UAAU,CAAC,IAAmB,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,KAAI;gBACrC,IAAI,CAAC,KAAK,KAAK;oBAAE,OAAO,KAAK,GAAG,QAAQ,GAAG,MAAM;gBACjD,IAAI,CAAC,KAAK,OAAO;oBAAE,OAAO,KAAK,GAAG,QAAQ,GAAG,OAAO;gBACpD,IAAI,CAAC,KAAK,KAAK;oBAAE,OAAO,KAAK,GAAG,QAAQ,GAAG,KAAK;AAChD,gBAAA,OAAO,CAAC,CAAC,WAAW,EAAE;AACxB,YAAA,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3D,YAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAA,EAAA,EAAK,QAAQ,GAAG;QACtC;QACA,OAAO,IAAI,CAAC,KAAK;IACnB;AAEA,IAAA,aAAa,CAAC,IAAY,EAAA;AACxB,QAAA,MAAM,GAAG,GAAG,CAAA,EAAA,EAAK,IAAI,EAAE;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACjC;AACA,QAAA,OAAO,MAAM;IACf;IAEA,qBAAqB,CAAC,KAAa,EAAE,MAAgB,EAAA;AACnD,QAAA,MAAM,GAAG,GAAG,CAAA,GAAA,EAAM,KAAK,EAAE;QACzB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK;AAC3D,YAAA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAC7C,CAAA,uCAAA,EAA0C,OAAO,SAAS,GAAG,IAAI,CAAC,aAAa,CAChF;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACjC;AACA,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,oBAAoB,CAAC,QAAgB,EAAA;AACnC,QAAA,MAAM,GAAG,GAAG,CAAA,EAAA,EAAK,QAAQ,EAAE;QAC3B,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;YACnG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACjC;AACA,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,oBAAoB,CAAC,QAAgB,EAAE,KAAa,EAAE,WAA2C,EAAA;AAC/F,QAAA,MAAM,IAAI,GAAG,WAAW,IAAI,WAAW;QACvC,MAAM,GAAG,GAAG,CAAA,GAAA,EAAM,QAAQ,IAAI,KAAK,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE;QAC7C,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,IAAI,IAAY;AAChB,YAAA,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,IAAI,GAAG,KAAK;YACd;AAAO,iBAAA,IAAI,IAAI,KAAK,MAAM,EAAE;AAC1B,gBAAA,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YACtC;iBAAO;gBACL,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,KAAK;YACpD;YACA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACjC;AACA,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,QAAQ,CAAC,IAAiB,EAAA;AACxB,QAAA,OAAO,IAAqB;IAC9B;AAEA,IAAA,UAAU,CAAC,IAAiB,EAAA;AAC1B,QAAA,OAAO,IAAuB;IAChC;AAEA,IAAA,YAAY,CAAC,QAAyB,EAAA;QACpC,OAAO,CAAA,sBAAA,EAAyB,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA,CAAE;IACtE;;IAIA,aAAa,CAAC,IAAmB,EAAE,KAAkB,EAAA;;AAEnD,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,YAAA,IAAI,CAAC,eAAe,IAAI;AACxB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,YAAA,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE;YAChC,IAAI,CAAC,SAAS,EAAE;QAClB;AAEA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,MAAM,GAAG,KAAK,EAAE,aAAwC;;AAE7D,YAAA,IAAI,CAAC,MAAM,EAAE,CAAC,IAAwC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;YAClG;QACF;AACA,QAAA,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC;IACvC;AAEA,IAAA,gBAAgB,CAAC,QAAyB,EAAA;AACxC,QAAA,IAAI,CAAC,eAAe,IAAI;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAC3B,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE;;AAGhB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACvB,qBAAqB,CAAC,MAAK;AACzB,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CACpD,CAAA,sBAAA,CAAwB,CACH;gBACvB,MAAM,KAAK,GAAG,OAAO,EAAE,aAAa,EAAE,aAAa,CACjD,4BAA4B,CACP;AACvB,gBAAA,IAAI,OAAO,IAAI,KAAK,EAAE;;AAEpB,oBAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,KAAK,MAAM,GAAG,QAAQ,GAAG,cAAc;oBACxE,IAAI,CAAC,eAAe,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE;wBAC1D,SAAS;AACT,wBAAA,WAAW,EAAE,CAAC;AACf,qBAAA,CAAC;gBACJ;AACF,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,mBAAmB,CAAC,IAAmB,EAAE,KAAa,EAAA;;AAEpD,QAAA,IAAI,MAA+B;QACnC,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE,aAAa,EAAE;YAC1C,MAAM,OAAO,GAAI,KAAK,CAAC,aAA6B,CAAC,OAAO,CAAC,8BAA8B,CAAC;AAC5F,YAAA,MAAM,GAAG,OAAO,EAAE,aAAa,CAAC,8BAA8B,CAA4B;QAC5F;AACA,QAAA,IAAI,CAAC,eAAe,IAAI;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE;AAChC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,IAAI,CAAC,MAAM,EAAE,CAAC,IAAwC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QACpG;aAAO;AACL,YAAA,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC;QACvC;IACF;AAEA,IAAA,aAAa,CAAC,IAAY,EAAA;AACxB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,QAAA,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,YAAA,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC;QACzC;IACF;AAEA,IAAA,SAAS,CAAC,KAAoB,EAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;AAEtB,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,YAAY;gBACf,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;gBAC9B,IAAI,CAAC,kBAAkB,EAAE;gBACzB;AACF,YAAA,KAAK,WAAW;gBACd,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;gBAC9B,IAAI,CAAC,kBAAkB,EAAE;gBACzB;AACF,YAAA,KAAK,MAAM;gBACT,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBAC/B,IAAI,CAAC,kBAAkB,EAAE;gBACzB;AACF,YAAA,KAAK,KAAK;gBACR,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;gBAC9B,IAAI,CAAC,kBAAkB,EAAE;gBACzB;AACF,YAAA,KAAK,QAAQ;AACX,gBAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;oBACvB,KAAK,CAAC,cAAc,EAAE;AACtB,oBAAA,IAAI,CAAC,eAAe,IAAI;AACxB,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,oBAAA,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;oBAC/B,IAAI,CAAC,SAAS,EAAE;oBAChB,IAAI,CAAC,kBAAkB,EAAE;gBAC3B;gBACA;;IAEN;;AAIQ,IAAA,cAAc,CAAC,IAAY,EAAA;AACjC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE;QAChC,IAAI,WAAW,EAAE;AACf,YAAA,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE;QAChC;AACA,QAAA,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE;IACjC;AAEQ,IAAA,eAAe,CAAC,MAAc,EAAA;QACpC,IAAI,CAAC,iBAAiB,EAAE;AAExB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CACrC,MAA4C,EAC5C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,EAC7C,IAAI,CAAC,MAAM,EAAE,CACd;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;QAC3B,IAAI,CAAC,SAAS,EAAE;;AAGhB,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAQ,KAAI;AACtC,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE;AAC/E,gBAAA,IAAI,CAAC,eAAe,IAAI;AACxB,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,gBAAA,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE;AAChC,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC;AACF,QAAA,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC;;AAGhE,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAuB;AAC3E,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,qBAAqB,GAAG,MAAK;AAChC,gBAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,oBAAA,IAAI,CAAC,eAAe,IAAI;AACxB,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,oBAAA,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE;AAChC,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACzC;AACF,YAAA,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QACnF;IACF;IAEQ,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,eAAe,IAAI;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACnE,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;QACjC;QACA,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC;AACpF,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACjC,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;QACtB;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QACxB;IACF;IAEQ,SAAS,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;;AAGtB,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM;QAC/C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,EAAE;AACpD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACnC;QAEA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;;AAGnD,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC;AAEQ,IAAA,wBAAwB,CAAC,IAAY,EAAA;AAC3C,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS;AAC9C,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AAClD,YAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,YAAY;kBAChC,QAAQ,CAAC;AACX,kBAAE,QAAQ,CAAC,IAAI,CAAC,aAAa;AAC/B,YAAA,IAAI,CAAC,EAAE;AAAE,gBAAA,OAAO,IAAI;;AAEpB,YAAA,OAAO,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI;mBAChC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI;AACjD,mBAAA,IAAI;QACX;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,IAAI;QACb;IACF;;AAGQ,IAAA,sBAAsB,CAAC,IAAY,EAAA;AACzC,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS;AAC9C,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AAClD,YAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,YAAY;kBAChC,QAAQ,CAAC;AACX,kBAAE,QAAQ,CAAC,IAAI,CAAC,aAAa;AAC/B,YAAA,IAAI,CAAC,EAAE;AAAE,gBAAA,OAAO,IAAI;YACpB,OAAO,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI;QAChD;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,IAAI;QACb;IACF;IAEQ,kBAAkB,GAAA;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,IAAI,CAAC;AAC9C,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CACvD,oBAAoB,CACY;AAClC,QAAA,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE;IACvB;uGAzaW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,EAAA,cAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlG1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAEU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA5GrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,YAAY;AACrB,wBAAA,MAAM,EAAE,SAAS;AACjB,wBAAA,mBAAmB,EAAE,qBAAqB;AAC1C,wBAAA,WAAW,EAAE,mBAAmB;AACjC,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgGT,EAAA,CAAA;AACF,iBAAA;;;ACnGD;AACA,SAAS,iBAAiB,CAAC,IAAsB,EAAA;AAC/C,IAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACnC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;AACnC,QAAA,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,aAAa;AAAE,YAAA,OAAO,IAAI;IACjE;AACA,IAAA,OAAO,KAAK;AACd;MAiCa,4BAA4B,CAAA;AAC9B,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAU;IACjC,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAmC;AACrD,IAAA,SAAS,GAAG,KAAK,CAAmB,KAAK,gFAAC;AAC1C,IAAA,MAAM,GAAG,KAAK,CAAS,CAAC,6EAAC;AACzB,IAAA,WAAW,GAAG,KAAK,CAAC,CAAC,kFAAC;;IAGtB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAY;;IAGzB,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA0C;;AAG1D,IAAA,aAAa,GAAG,MAAM,CAAmB,EAAE,oFAAC;AAE7C,IAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAA0B,QAAQ,CAAC;AAC9D,IAAA,SAAS;AAET,IAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AAChC,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAEvB,IAAA,aAAa,GAAG,MAAM,CAAC,CAAC,oFAAC;AACzB,IAAA,OAAO,GAAG,IAAI,GAAG,EAAyB;AAC1C,IAAA,SAAS,GAAG,IAAI,GAAG,EAAmB;AACtC,IAAA,WAAW,GAAG,IAAI,GAAG,EAAmB;AACxC,IAAA,SAAS,GAAG,IAAI,GAAG,EAAoB;AACvC,IAAA,cAAc,GAAG,IAAI,GAAG,EAA4B;IACpD,kBAAkB,GAAwB,IAAI;AAEtD,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAC5B,oBAAoB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAC9D;QAED,eAAe,CAAC,MAAK;AACnB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC5B,YAAA,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE;YAEpC,IAAI,CAAC,YAAY,EAAE;gBACjB,IAAI,IAAI,EAAE;AACR,oBAAA,YAAY,GAAG,CAAC,EAAE,KAAK,EAA4C,KAAI;AACrE,wBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC;AACzD,wBAAA,IAAI,CAAC,OAAO;AAAE,4BAAA,OAAO,KAAK;AAC1B,wBAAA,IAAI,OAAO,IAAI,IAAI,EAAE;AACnB,4BAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;4BACzB,IAAI,GAAG,KAAK,IAAI;AAAE,gCAAA,OAAO,KAAK;AAC9B,4BAAA,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC/D;wBACA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;AACzC,oBAAA,CAAC;gBACH;qBAAO;;AAEL,oBAAA,YAAY,GAAG,CAAC,EAAE,KAAK,EAA4C,KAAI;wBACrE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI;AAAE,4BAAA,OAAO,KAAK;AAC/D,wBAAA,IAAI,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;AAAE,4BAAA,OAAO,KAAK;AAC1D,wBAAA,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK;AACjD,+BAAA,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;AAC1D,oBAAA,CAAC;gBACH;YACF;YAEA,MAAM,MAAM,GAAG,sBAAsB,CAAC;gBACpC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM;AACN,gBAAA,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa;AACpC,gBAAA,UAAU,EAAE,YAAY;AACxB,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrB,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAChC,aAAA,CAAC;AACF,YAAA,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;AAC7B,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;AAChC,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC;QACpD;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;AACvB,YAAA,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;QACzC;IACF;;AAIA,IAAA,YAAY,CAAC,IAAmB,EAAA;QAC9B,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK;IAC/C;AAEA,IAAA,cAAc,CAAC,IAAmB,EAAA;QAChC,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK;IACjD;AAEA,IAAA,aAAa,CAAC,IAAY,EAAA;QACxB,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACzE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;QAClC;AACA,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,cAAc,CAAC,IAAmB,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;;AAEjB,YAAA,IAAI,CAAC,MAAM,EAAE,CAAC,IAAwC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YAC3E;QACF;QACA,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAW,EAAE,IAAI,CAAC;IAC7D;;AAIQ,IAAA,YAAY,CAAC,MAAc,EAAA;AACjC,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,QAAA,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE;AACtC,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;YACnC;AAAO,iBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;AACnC,gBAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;oBAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;gBACjC;YACF;QACF;IACF;AAEQ,IAAA,YAAY,CAAC,KAAe,EAAA;QAClC,MAAM,MAAM,GAAqB,EAAE;QACnC,IAAI,MAAM,GAAG,CAAC;AACd,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,IAAI,KAAK,GAAG,EAAE;AAChB,gBAAA,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,MAAM,EAAE,CAAA,CAAE,EAAE,CAAC;YAC7D;iBAAO;gBACL,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACnC,gBAAA,IAAI,IAAI;AAAE,oBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7B;QACF;AACA,QAAA,OAAO,MAAM;IACf;IAEQ,cAAc,GAAA;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;aACpC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;aACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;IAC9D;IAEQ,aAAa,CAAC,SAAyB,EAAE,IAA4C,EAAA;;QAE3F,IAAI,aAAa,IAAI,SAAS;AAAE,YAAA,OAAO,IAAI;QAC3C,IAAI,SAAS,CAAC,IAAI;AAAE,YAAA,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACnD,IAAI,SAAS,CAAC,KAAK;AAAE,YAAA,OAAO,IAAI;;;QAIhC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC;QACnD,IAAI,QAAQ,EAAE;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC;AAC/C,YAAA,IAAI,MAAM,IAAI,QAAQ,KAAK,MAAM;AAAE,gBAAA,OAAO,IAAI;AAC9C,YAAA,OAAO,OAAO;QAChB;QAEA,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;QACjD,IAAI,QAAQ,IAAI,IAAI;AAAE,YAAA,OAAO,QAAQ;AACrC,QAAA,IAAI,MAAM,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;AAAE,YAAA,OAAO,MAAM;;QAElF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;QAC7C,IAAI,MAAM,IAAI,IAAI;AAAE,YAAA,OAAO,MAAM;AACjC,QAAA,IAAI,MAAM,IAAI,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;AAAE,YAAA,OAAO,MAAM;AAChF,QAAA,OAAO,IAAI;IACb;AAEQ,IAAA,YAAY,CAAC,GAAqB,EAAA;AACxC,QAAA,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE;AACtE,gBAAA,OAAO,IAAI;YACb;QACF;AACA,QAAA,OAAO,IAAI;IACb;;AAGQ,IAAA,cAAc,CAAC,MAAc,EAAE,WAAmB,EAAE,KAAsB,EAAA;AAChF,QAAA,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO;AAAE,YAAA,OAAO,KAAK;AACnE,QAAA,MAAM,MAAM,GAAI,MAAM,CAAC,KAA6C,CAAC,MAAM;AAC3E,QAAA,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,KAAK;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;AAC1C,QAAA,IAAI,CAAC,QAAQ;AAAE,YAAA,OAAO,KAAK;AAC3B,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,IAAG;AACzB,YAAA,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI;AACzE,YAAA,IAAI,CAAC,QAAQ;AAAE,gBAAA,OAAO,IAAI;YAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;AACzC,YAAA,IAAI,CAAC,QAAQ;AAAE,gBAAA,OAAO,IAAI;AAC1B,YAAA,OAAO,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC1C,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,mBAAmB,CAAC,MAAc,EAAA;AACxC,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;AAC3B,QAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B;AAChD,QAAA,MAAM,OAAO,GAAG,CAAC,GAAkB,KAAU;AAC3C,YAAA,MAAM,GAAG,GAAI,GAA0C,CAAC,YAAY,CAAuB;AAC3F,YAAA,IAAI,CAAC,GAAG;gBAAE;YACV,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YACxB,IAAI,CAAC,GAAG,EAAE;gBAAE,GAAG,GAAG,EAAE;AAAE,gBAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;YAAE;AAC3C,YAAA,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AACf,QAAA,CAAC;AACD,QAAA,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE;AACtC,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC;AACpC,iBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;AACjC,gBAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC;YAC5C;QACF;QACA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE;YAChC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,KAAK,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAqB,EAAE;AACnC,YAAA,IAAI,SAA6B;YACjC,IAAI,MAAM,GAAG,CAAC;AACd,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AACvD,oBAAA,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,MAAM,EAAE,CAAA,CAAE,EAAE,CAAC;gBAC9D;AACA,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACjB,gBAAA,SAAS,GAAG,IAAI,CAAC,KAAK;YACxB;YACA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QACtC;IACF;AAEQ,IAAA,iBAAiB,CAAC,MAAc,EAAA;AACtC,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AACzB,QAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;AAEhC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QACjC;AAAO,aAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;AACvB,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC;QAC1D;aAAO;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5E;AAEA,QAAA,IAAI,CAAC,kBAAkB,GAAG,MAAK;AAC7B,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,oBAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBACjC;AACA,gBAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AACzB,gBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC;QACD,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACjD,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAC3B;AAEQ,IAAA,kBAAkB,CAAC,MAAc,EAAA;AACvC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAG;AAC7B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,SAAsC,EAAE,IAAI,CAAC;QACzF,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B;QACF;AACA,QAAA,IAAI,GAAG,IAAI,IAAI,EAAE;AACf,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACrB,YAAA,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;AAC5D,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B;YACF;AACA,YAAA,IAAI,GAAG,KAAK,IAAI,EAAE;AAChB,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACjF;AAAO,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AACvC,gBAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAyB,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;gBAClF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACpF,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9F;QACF;aAAO;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5D;IACF;AAEQ,IAAA,YAAY,CAAC,MAAc,EAAA;QACjC,IAAI,QAAQ,GAA2D,IAAI;AAC3E,QAAA,IAAI;AAAE,YAAA,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAgE;QAAE;QAAE,MAAM,EAAC;QAEtG,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACvC,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;gBAAE;AAC/B,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,MAAe,EAAE,IAAI,CAAC,CAAC;AACrF,YAAA,IAAI;gBACF,MAAM,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;sBAC5B,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,EAAE;sBACnE,KAAK,CAAC;YACZ;AAAE,YAAA,MAAM;gBAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE;QACpD;IACF;uGA5SW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EArB7B;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAGU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAzBxC,SAAS;+BACE,uBAAuB,EAAA,eAAA,EAChB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAC3B;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA;2vBAmB4D,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MCxE1D,8BAA8B,CAAA;AAChC,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAU;IACjC,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAqC;AACvD,IAAA,MAAM,GAAG,KAAK,CAAS,CAAC,6EAAC;AAE1B,IAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAA0B,QAAQ,CAAC;AAC9D,IAAA,SAAS;AAEjB,IAAA,WAAA,GAAA;;QAEE,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAC5B,sBAAsB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAChE;QAED,eAAe,CAAC,MAAK;AACnB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;YACpC,MAAM,MAAM,GAAG,wBAAwB,CAAC;gBACtC,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrB,gBAAA,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa;AACpC,gBAAA,IAAI,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;AACjC,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACtB,aAAA,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC;AACtC,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;AACvB,YAAA,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;QACzC;IACF;uGAhCW,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA9B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,6kBAH/B,4DAA4D,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAG3D,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;+BACE,yBAAyB,EAAA,eAAA,EAClB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAC3B,4DAA4D,EAAA,MAAA,EAAA,CAAA,2BAAA,CAAA,EAAA;yXAQT,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACPvE,MAAM,cAAc,GAA2B;AAC7C,IAAA,mBAAmB,EAAE,WAAW;AAChC,IAAA,eAAe,EAAE,WAAW;AAC5B,IAAA,kBAAkB,EAAE,WAAW;AAC/B,IAAA,cAAc,EAAE,WAAW;AAC3B,IAAA,iBAAiB,EAAE,WAAW;AAC9B,IAAA,YAAY,EAAE,UAAU;AACxB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,OAAO,EAAE,WAAW;CACrB;MAmFY,6BAA6B,CAAA;AAC/B,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAU;AACjC,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAqB;AAE5C,IAAA,MAAM,GAAG,MAAM,CAAC,KAAK,6EAAC;AACtB,IAAA,WAAW,GAAG,MAAM,CAAC,EAAE,kFAAC;AACxB,IAAA,cAAc,GAAG,MAAM,CAAC,EAAE,qFAAC;IAE5B,QAAQ,GAAuB,IAAI;AACnC,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;IAC1B,mBAAmB,GAAgC,IAAI;IACvD,cAAc,GAAwC,IAAI;IAC1D,YAAY,GAA0C,IAAI;IAC1D,eAAe,GAAwB,IAAI;AAE1C,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAClC,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B;QAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YAChC,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,IAAI,EAAE;gBACT,IAAI,GAAG,EAAE;gBACT,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;YAC3B;AACA,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACjB;AACA,QAAA,OAAO,GAAG;AACZ,IAAA,CAAC,iFAAC;AAEO,IAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,oFAAC;AAE7D,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE;AAC9C,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,EAAE;AACrB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE;AACtC,QAAA,MAAM,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAmD;QAC3F,IAAI,QAAQ,EAAE;AACZ,YAAA,OAAO,QAAQ,CAAC,KAAK,CAAC;QACxB;AACA,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CACzB,CAAC,IAAI,KACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3C;AACH,IAAA,CAAC,qFAAC;AAEO,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;;QAEtC,IAAI,CAAC,MAAM,EAAE;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE;AACtC,QAAA,MAAM,OAAO,GAAG,OAAO,GAAG,mBAAmB,CAAiC;AAC9E,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,EAAE;AACvB,QAAA,MAAM,KAAK,GAAG,OAAO,EAAE;QACvB,IAAI,CAAC,KAAK,CAAC,MAAM;AAAE,YAAA,OAAO,EAAE;AAC5B,QAAA,MAAM,OAAO,GAAG,OAAQ,CAAC,UAAU,CAA6C;AAChF,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,EAAE;AACvB,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAsB;AAC3F,IAAA,CAAC,qFAAC;AAEF,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC5B,SAAS,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAClD,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,EAAE;IAChB;AAEA,IAAA,WAAW,CAAC,GAAW,EAAA;QACrB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;IACzC;AAEA,IAAA,YAAY,CAAC,GAAW,EAAA;QACtB,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C;AAEA,IAAA,UAAU,CAAC,IAAY,EAAA;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;IAChC;AAEA,IAAA,QAAQ,CAAC,KAAY,EAAA;AACnB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;QAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;IACnC;AAEA,IAAA,WAAW,CAAC,IAAqB,EAAA;AAC/B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAA2D;AAC9E,QAAA,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE;YACtB,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B;QACA,IAAI,CAAC,KAAK,EAAE;IACd;AAEA,IAAA,gBAAgB,CAAC,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;;QAG5B,qBAAqB,CAAC,MAAK;AACzB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAuB;AAClG,YAAA,IAAI,CAAC,IAAI;gBAAE;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA,gBAAA,EAAmB,GAAG,CAAA,EAAA,CAAI,CAAuB;YAClF,IAAI,KAAK,EAAE;;AAET,gBAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC9E;AACF,QAAA,CAAC,CAAC;IACJ;IAEA,YAAY,GAAA;AACV,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAuB;AAClG,QAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE;AAEjC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gDAAgD,CAAC,CAAkB;QAEnH,IAAI,UAAU,GAAG,EAAE;AACnB,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,IAAI,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,EAAE;gBAC3D,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,EAAE;YACxD;QACF;QAEA,IAAI,UAAU,IAAI,UAAU,KAAK,IAAI,CAAC,cAAc,EAAE,EAAE;AACtD,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;QACrC;IACF;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,eAAe,IAAI;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;QACpB,IAAI,CAAC,qBAAqB,EAAE;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;IAC5B;AAEQ,IAAA,kBAAkB,CAAC,MAAc,EAAA;QACvC,IAAI,CAAC,OAAO,EAAE;AAEd,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAe,KAAI;AACzC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAgD;AACnE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;oBACjB,IAAI,CAAC,KAAK,EAAE;oBACZ;gBACF;gBAEA,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,aAAa,IAAI,IAAI;AAC3C,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;AACzB,gBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;;AAGxB,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE;gBAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBAChC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnC;gBAEA,IAAI,CAAC,kBAAkB,EAAE;;gBAGzB,qBAAqB,CAAC,MAAK;AACzB,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAuB;AAC9F,oBAAA,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC1B,wBAAA,IAAI,CAAC,eAAe,IAAI;wBACxB,IAAI,CAAC,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;AAChE,4BAAA,SAAS,EAAE,QAAQ;AACnB,4BAAA,WAAW,EAAE,CAAC;AACf,yBAAA,CAAC;oBACJ;AACA,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,+BAA+B,CAA4B;oBAChH,KAAK,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACvC,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC;QAEA,MAAM,CAAC,EAA2D,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC;IACvG;IAEQ,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAQ,KAAI;AACtC,YAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAc;YAC/B,IACE,IAAI,CAAC,MAAM,EAAE;gBACb,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC1C,MAAM,KAAK,IAAI,CAAC,QAAQ;gBACxB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAChC;AACA,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC;AACF,QAAA,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAEhE,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAgB,KAAI;YACzC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACvC,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC;AACF,QAAA,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;IAC3D;IAEQ,qBAAqB,GAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACnE,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;QACjC;AACA,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;AAC5D,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;QAC5B;IACF;AAEQ,IAAA,cAAc,CAAC,IAAa,EAAA;AAClC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE;AACtC,QAAA,IAAI,OAAO;AAAE,YAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;;;AAGrC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5C;IAEQ,eAAe,GAAA;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAkC;AAChE,QAAA,OAAQ,OAAO,CAAC,OAAO,CAA6B,IAAI,IAAI;IAC9D;IAEQ,OAAO,GAAA;QACb,IAAI,CAAC,qBAAqB,EAAE;AAC5B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC3B,MAAM,CAAC,GAA4D,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC;AACtG,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAC1B;IACF;uGA/OW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA5E9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0ET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAEU,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAjFzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;oBAClC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;AACzC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0ET,EAAA,CAAA;AACF,iBAAA;;;ACnHD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.d.ts","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/modules/index.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_formatter-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_event_dispatcher-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_chrome_dev_tools_performance-chunk.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/subscription.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/subscriber.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operator.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/types.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/subject.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/notification.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/onerrorresumenextwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/operators/index.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/timerhandle.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/testing/index.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/config.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/index.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_effect-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/primitives-di.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_discovery-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_api-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_weak_ref-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/core.d.ts","../../../node_modules/.pnpm/@angular+forms@21.2.5_@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21._9dd58c1850e970680480cd43a50272c8/node_modules/@angular/forms/types/forms.d.ts","../../../node_modules/.pnpm/orderedmap@2.1.1/node_modules/orderedmap/dist/index.d.ts","../../../node_modules/.pnpm/prosemirror-model@1.25.4/node_modules/prosemirror-model/dist/index.d.ts","../../pm/src/model.d.ts","../../../node_modules/.pnpm/prosemirror-transform@1.10.5/node_modules/prosemirror-transform/dist/index.d.ts","../../../node_modules/.pnpm/prosemirror-view@1.41.5/node_modules/prosemirror-view/dist/index.d.ts","../../../node_modules/.pnpm/prosemirror-state@1.4.4/node_modules/prosemirror-state/dist/index.d.ts","../../pm/src/state.d.ts","../../../node_modules/.pnpm/prosemirror-inputrules@1.5.1/node_modules/prosemirror-inputrules/dist/index.d.ts","../../pm/src/inputrules.d.ts","../../pm/src/view.d.ts","../../../node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts","../../../node_modules/.pnpm/@floating-ui+core@1.7.4/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts","../../../node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts","../../../node_modules/.pnpm/@floating-ui+dom@1.7.5/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts","../../core/dist/index.d.ts","../src/lib/editor.component.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/_platform_location-chunk.d.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/_common_module-chunk.d.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/_xhr-chunk.d.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/common.d.ts","../../../node_modules/.pnpm/@angular+platform-browser@21.2.5_@angular+common@21.2.5_@angular+core@21.2.5_@angular+c_0fe64ca245d2a123d9e4efa139fcdd6f/node_modules/@angular/platform-browser/types/_browser-chunk.d.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/_module-chunk.d.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/http.d.ts","../../../node_modules/.pnpm/@angular+platform-browser@21.2.5_@angular+common@21.2.5_@angular+core@21.2.5_@angular+c_0fe64ca245d2a123d9e4efa139fcdd6f/node_modules/@angular/platform-browser/types/platform-browser.d.ts","../src/lib/toolbar.component.ts","../src/lib/bubble-menu.component.ts","../src/lib/floating-menu.component.ts","../src/lib/emoji-picker.component.ts","../src/public-api.ts"],"fileIdsList":[[252,258,276],[258],[252,258,276,277,278],[252,258,278,281],[63],[61,62,258],[61,62,63,252,253,254,258],[61],[61,62,63,252,253,254,255,256,257,258],[252,258],[258,279],[258,279,280,282],[270],[271,272],[261,265],[260],[261,263,264],[261],[261,263,265],[64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,183,184,185,187,196,198,199,200,201,202,203,205,206,208,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251],[109],[65,68],[67],[67,68],[64,65,66,68],[65,67,68,225],[68],[64,67,109],[67,68,225],[67,233],[65,67,68],[77],[100],[121],[67,68,109],[68,116],[67,68,109,127],[67,68,127],[68,168],[68,109],[64,68,186],[64,68,187],[209],[193,195],[204],[193],[64,68,186,193,194],[186,187,195],[207],[64,68,193,194,195],[66,67,68],[64,68],[65,67,187,188,189,190],[109,187,188,189,190],[187,189],[67,188,189,191,192,196],[64,67],[68,211],[69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[197],[59],[60,258,274,283],[60,258,259,274],[60,258,274],[60,274,275,284,285,286,287],[262,266,268,269,273],[267],[265],[264]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"51f7e301650aa503b8c67d0ed8d56d8935353cd53ab6cbb1ffa3e205a98884ae","affectsGlobalScope":true,"impliedFormat":99},{"version":"0067f9fd81a2d46e1bcb6b9aa047ce0f3a7945163d98367565da8e736aa75042","affectsGlobalScope":true,"impliedFormat":99},{"version":"dbef0e59b750a038f9300ceda5bf49ad19d7c3f5379b24d36911b9b4e1414532","affectsGlobalScope":true,"impliedFormat":99},{"version":"073ca26c96184db9941b5ec0ddea6981c9b816156d9095747809e524fdd90e35","impliedFormat":1},{"version":"e41d17a2ec23306d953cda34e573ed62954ca6ea9b8c8b74e013d07a6886ce47","impliedFormat":1},{"version":"241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","impliedFormat":1},{"version":"2ae3787e1498b20aad1b9c2ee9ea517ec30e89b70d242d8e3e52d1e091039695","impliedFormat":1},{"version":"c7c72c4cffb1bc83617eefed71ed68cc89df73cab9e19507ccdecb3e72b4967e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","impliedFormat":1},{"version":"38b38db08e7121828294dec10957a7a9ff263e33e2a904b346516d4a4acca482","impliedFormat":1},{"version":"a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","impliedFormat":1},{"version":"8a2aaea564939c22be05d665cc955996721bad6d43148f8fa21ae8f64afecd37","impliedFormat":1},{"version":"e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","impliedFormat":1},{"version":"e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","impliedFormat":1},{"version":"95950a187596e206d32d5d9c7b932901088c65ed8f9040e614aa8e321e0225ef","impliedFormat":1},{"version":"89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","impliedFormat":1},{"version":"e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","impliedFormat":1},{"version":"71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","impliedFormat":1},{"version":"7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","impliedFormat":1},{"version":"78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","impliedFormat":1},{"version":"5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","impliedFormat":1},{"version":"f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","impliedFormat":1},{"version":"9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","impliedFormat":1},{"version":"3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","impliedFormat":1},{"version":"2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","impliedFormat":1},{"version":"4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","impliedFormat":1},{"version":"61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","impliedFormat":1},{"version":"64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","impliedFormat":1},{"version":"0521108c9f8ddb17654a0a54dae6ba9667c99eddccfd6af5748113e022d1c37a","impliedFormat":1},{"version":"c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","impliedFormat":1},{"version":"ee764e6e9a7f2b987cc1a2c0a9afd7a8f4d5ebc4fdb66ad557a7f14a8c2bd320","impliedFormat":1},{"version":"0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","impliedFormat":1},{"version":"5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","impliedFormat":1},{"version":"e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","impliedFormat":1},{"version":"b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","impliedFormat":1},{"version":"6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","impliedFormat":1},{"version":"d7058e75920120b142a9d57be25562a3cd9a936269fd52908505f530105f2ec4","impliedFormat":1},{"version":"6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","impliedFormat":1},{"version":"0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","impliedFormat":1},{"version":"91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","impliedFormat":1},{"version":"db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","impliedFormat":1},{"version":"758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","impliedFormat":1},{"version":"2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","impliedFormat":1},{"version":"6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","impliedFormat":1},{"version":"a472a1d3f25ce13a1d44911cd3983956ac040ce2018e155435ea34afb25f864c","impliedFormat":1},{"version":"b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","impliedFormat":1},{"version":"792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","impliedFormat":1},{"version":"a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","impliedFormat":1},{"version":"93181bac0d90db185bb730c95214f6118ae997fe836a98a49664147fbcaf1988","impliedFormat":1},{"version":"8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","impliedFormat":1},{"version":"b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","impliedFormat":1},{"version":"4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","impliedFormat":1},{"version":"cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","impliedFormat":1},{"version":"75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","impliedFormat":1},{"version":"b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","impliedFormat":1},{"version":"c54166a85bd60f86d1ebb90ce0117c0ecb850b8a33b366691629fdf26f1bbbd8","impliedFormat":1},{"version":"0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","impliedFormat":1},{"version":"80f23f1d60fbed356f726b3b26f9d348dddbb34027926d10d59fad961e70a730","impliedFormat":1},{"version":"cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","impliedFormat":1},{"version":"cc20bb2227dd5de0aab0c8d697d1572f8000550e62c7bf5c92f212f657dd88c5","impliedFormat":1},{"version":"06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","impliedFormat":1},{"version":"860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","impliedFormat":1},{"version":"f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","impliedFormat":1},{"version":"d0da80c845999a16c24d0783033fb5366ada98df17867c98ad433ede05cd87fd","impliedFormat":1},{"version":"bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","impliedFormat":1},{"version":"fd9a991b51870325e46ebb0e6e18722d313f60cd8e596e645ec5ac15b96dbf4e","impliedFormat":1},{"version":"c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","impliedFormat":1},{"version":"a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","impliedFormat":1},{"version":"d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","impliedFormat":1},{"version":"fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","impliedFormat":1},{"version":"063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","impliedFormat":1},{"version":"314e402cd481370d08f63051ae8b8c8e6370db5ee3b8820eeeaaf8d722a6dac6","impliedFormat":1},{"version":"9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","impliedFormat":1},{"version":"4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","impliedFormat":1},{"version":"656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","impliedFormat":1},{"version":"3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","impliedFormat":1},{"version":"1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","impliedFormat":1},{"version":"af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","impliedFormat":1},{"version":"70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","impliedFormat":1},{"version":"af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","impliedFormat":1},{"version":"cefc20054d20b85b534206dbcedd509bb74f87f3d8bc45c58c7be3a76caa45e1","impliedFormat":1},{"version":"ad6eee4877d0f7e5244d34bc5026fd6e9cf8e66c5c79416b73f9f6ebf132f924","impliedFormat":1},{"version":"4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","impliedFormat":1},{"version":"f4749c102ced952aa6f40f0b579865429c4869f6d83df91000e98005476bee87","impliedFormat":1},{"version":"56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","impliedFormat":1},{"version":"8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","impliedFormat":1},{"version":"05f56cd4b929977d18df8f3d08a4c929a2592ef5af083e79974b20a063f30940","impliedFormat":1},{"version":"547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","impliedFormat":1},{"version":"b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","impliedFormat":1},{"version":"3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","impliedFormat":1},{"version":"140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","impliedFormat":1},{"version":"0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","impliedFormat":1},{"version":"cb46b38d5e791acaa243bf342b8b5f8491639847463ac965b93896d4fb0af0d9","impliedFormat":1},{"version":"7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","impliedFormat":1},{"version":"af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","impliedFormat":1},{"version":"006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","impliedFormat":1},{"version":"7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","impliedFormat":1},{"version":"339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","impliedFormat":1},{"version":"34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","impliedFormat":1},{"version":"9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","impliedFormat":1},{"version":"18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","impliedFormat":1},{"version":"5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","impliedFormat":1},{"version":"5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","impliedFormat":1},{"version":"907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","impliedFormat":1},{"version":"ce60a562cd2a92f37a88f2ddd99a3abfbc5848d7baf38c48fb8d3243701fcb75","impliedFormat":1},{"version":"a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","impliedFormat":1},{"version":"f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","impliedFormat":1},{"version":"75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","impliedFormat":1},{"version":"9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","impliedFormat":1},{"version":"b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","impliedFormat":1},{"version":"b6e2b0448ced813b8c207810d96551a26e7d7bb73255eea4b9701698f78846d6","impliedFormat":1},{"version":"8ae10cd85c1bd94d2f2d17c4cbd25c068a4b2471c70c2d96434239f97040747a","impliedFormat":1},{"version":"9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","impliedFormat":1},{"version":"b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","impliedFormat":1},{"version":"e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","impliedFormat":1},{"version":"ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","impliedFormat":1},{"version":"8776a368617ce51129b74db7d55c3373dadcce5d0701e61d106e99998922a239","impliedFormat":1},{"version":"5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","impliedFormat":1},{"version":"9108ab5af05418f599ab48186193b1b07034c79a4a212a7f73535903ba4ca249","impliedFormat":1},{"version":"bb4e2cdcadf9c9e6ee2820af23cee6582d47c9c9c13b0dca1baaffe01fbbcb5f","impliedFormat":1},{"version":"6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","impliedFormat":1},{"version":"423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","impliedFormat":1},{"version":"fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","impliedFormat":1},{"version":"2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","impliedFormat":1},{"version":"c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","impliedFormat":1},{"version":"02ae43d5bae42efcd5a00d3923e764895ce056bca005a9f4e623aa6b4797c8af","impliedFormat":1},{"version":"db6e01f17012a9d7b610ae764f94a1af850f5d98c9c826ad61747dca0fb800bd","impliedFormat":1},{"version":"8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","impliedFormat":1},{"version":"24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","impliedFormat":1},{"version":"33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","impliedFormat":1},{"version":"0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","impliedFormat":1},{"version":"16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","impliedFormat":1},{"version":"8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","impliedFormat":1},{"version":"d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","impliedFormat":1},{"version":"97f9169882d393e6f303f570168ca86b5fe9aab556e9a43672dae7e6bb8e6495","impliedFormat":1},{"version":"7c9adb3fcd7851497818120b7e151465406e711d6a596a71b807f3a17853cb58","impliedFormat":1},{"version":"6752d402f9282dd6f6317c8c048aaaac27295739a166eed27e00391b358fed9a","impliedFormat":1},{"version":"9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","impliedFormat":1},{"version":"fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","impliedFormat":1},{"version":"85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","impliedFormat":1},{"version":"84794e3abd045880e0fadcf062b648faf982aa80cfc56d28d80120e298178626","impliedFormat":1},{"version":"053d8b827286a16a669a36ffc8ccc8acdf8cc154c096610aa12348b8c493c7b8","impliedFormat":1},{"version":"3cce4ce031710970fe12d4f7834375f5fd455aa129af4c11eb787935923ff551","impliedFormat":1},{"version":"8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","impliedFormat":1},{"version":"62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","impliedFormat":1},{"version":"c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","impliedFormat":1},{"version":"8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","impliedFormat":1},{"version":"132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","impliedFormat":1},{"version":"df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","impliedFormat":1},{"version":"33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","impliedFormat":1},{"version":"ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","impliedFormat":1},{"version":"a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","impliedFormat":1},{"version":"eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","impliedFormat":1},{"version":"0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","impliedFormat":1},{"version":"aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","impliedFormat":1},{"version":"0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","impliedFormat":1},{"version":"40f06693e2e3e58526b713c937895c02e113552dc8ba81ecd49cdd9596567ddb","impliedFormat":1},{"version":"4ed5e1992aedb174fb8f5aa8796aa6d4dcb8bd819b4af1b162a222b680a37fa0","impliedFormat":1},{"version":"d7f4bd46a8b97232ea6f8c28012b8d2b995e55e729d11405f159d3e00c51420a","impliedFormat":1},{"version":"d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","impliedFormat":1},{"version":"e4f4f9cf1e3ac9fd91ada072e4d428ecbf0aa6dc57138fb797b8a0ca3a1d521c","impliedFormat":1},{"version":"12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","impliedFormat":1},{"version":"340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","impliedFormat":1},{"version":"c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","impliedFormat":1},{"version":"7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","impliedFormat":1},{"version":"5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","impliedFormat":1},{"version":"9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","impliedFormat":1},{"version":"1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","impliedFormat":1},{"version":"8018dd2e95e7ce6e613ddd81672a54532614dc745520a2f9e3860ff7fb1be0ca","impliedFormat":1},{"version":"b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","impliedFormat":1},{"version":"0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","impliedFormat":1},{"version":"3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","impliedFormat":1},{"version":"032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","impliedFormat":1},{"version":"69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","impliedFormat":1},{"version":"0e704ee6e9fd8b6a5a7167886f4d8915f4bc22ed79f19cb7b32bd28458f50643","impliedFormat":1},{"version":"06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","impliedFormat":1},{"version":"904a96f84b1bcee9a7f0f258d17f8692e6652a0390566515fe6741a5c6db8c1c","impliedFormat":1},{"version":"11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","impliedFormat":1},{"version":"2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","impliedFormat":1},{"version":"1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","impliedFormat":1},{"version":"1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","impliedFormat":1},{"version":"07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","impliedFormat":1},{"version":"619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","impliedFormat":1},{"version":"f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","impliedFormat":1},{"version":"f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","impliedFormat":1},{"version":"350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","impliedFormat":1},{"version":"eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","impliedFormat":1},{"version":"45b74185005ed45bec3f07cac6e4d68eaf02ead9ff5a66721679fb28020e5e7c","impliedFormat":1},{"version":"0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","impliedFormat":1},{"version":"c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","impliedFormat":1},{"version":"5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","impliedFormat":1},{"version":"ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","impliedFormat":1},{"version":"7de1163944c7d80a90451a7da335023522b6c47721292a115dda1982266967db","impliedFormat":99},{"version":"7b5875c37d6f4da9849bf1383271db5f996f1ff046c96817f7f375f909c69f19","impliedFormat":99},{"version":"06250a03d4bc487faa1eba29741a752c1974599b9c3584de45ce23740fc0a116","impliedFormat":99},{"version":"9613dab4115e969141f212e735a171b69a9e6a9780d36067e3c718d4a8b0e706","impliedFormat":99},{"version":"8d0ac51c0261be1f8cbdffa379a009373cf3afcc4e36ab19e449439cb19b8293","impliedFormat":99},{"version":"13dc8db8972cb2e0857bca94b106ebe7b00db0e5517fab33405d7ad704272690","impliedFormat":99},{"version":"96bb70370dffd8027b2ed0eecc3fc385bd3e420d3daedbeac31c8a6d59c85bdd","impliedFormat":99},{"version":"264f935450101e4b000eb351cf75c9d799ca20a278b260a9e5770303b5f2b6a3","impliedFormat":99},{"version":"f6f171b23ae6db93454343f1b788960f799c8f37043904874a752c0990c6fca6","impliedFormat":99},"478e59ac0830a0f6360236632d0d589fb0211183aa1ab82292fbca529c0cce35",{"version":"b0585389e0dcd131241ff48a6b4e8bebdf97813850183ccfa2a60118532938dd","impliedFormat":99},{"version":"b11acc27c280988d7256bbd8ffe9f1cb5a0e5ed17cddf5335289ee0e81500369","affectsGlobalScope":true,"impliedFormat":99},{"version":"02ab5dbcaa58da1d58c46c7cdfa7f94792c5ccf0fc7c0622ef33755fe415366c","impliedFormat":99},"e689cc8cd8a102d31c9d3a7b0db0028594202093c4aca25982b425e8ae744556",{"version":"2a04530c2579ddcf996e1cf017caaba573e0ebf8a5b9e45d3bc25ba4489fb5a3","impliedFormat":99},"f41d91b2db1112fcc673a6862fe68cadcbdd0a66ed16b47ac74a0a6da8932bb4","1b4ed9deaba72d4bc8495bf46db690dbf91040da0cb2401db10bad162732c0e2",{"version":"2b4276dde46aa2faf0dd86119999c76b81e6488cd6b0d0fcf9fb985769cd11c0","impliedFormat":99},{"version":"38d4cff03e87dc58bfd50ffe5a3fb25e6e6d4136a1282883285baf71d35967c5","impliedFormat":99},{"version":"5ecea63968444d55f7c3cf677cbec9525db9229953b34f06be0386a24b0fffd2","impliedFormat":99},{"version":"b50ee4bde16b52ecb08e2407dca49a5649b38e046e353485335aa024f6efb8ef","impliedFormat":99},"5025581a07cc6614d265cef41ea3928ff8faa1e443a2b89342bd60f55d1f1d75",{"version":"9fd7f54f46cf323c3b6979f9016a315a5be14b5c488daf8e129a9c8cd826da59","signature":"9a89103f5f92b0ff239a82caa1b5d839527a1aaadf58e9ad8660dc88c5d79c58"},{"version":"af0e092154d58fbb01d5f62723800f342d8edf5da9f7af88053b3475b76d4831","impliedFormat":99},{"version":"9c976cd1a9a869ddd8b77ce17dd0806ecf93f6f8a9a8bc056c44ecf970f4085a","impliedFormat":99},{"version":"c80e09130316899cfaada1562d0809ce5fd8bf40ee21eed9eb8c94ecbefcdb97","impliedFormat":99},{"version":"65fa2df7b3c7278c4cc46b4f51af3306abf92814f57917b702615a55b0369c36","impliedFormat":99},{"version":"dcd3b89446e71052a322d69060b8e5d8b080765ec03b6c591c7c6c3b09d9436d","impliedFormat":99},{"version":"be318cafe0b485e3b4bc69395bb53707bde5d6c8072fa35dad2e81610433497d","impliedFormat":99},{"version":"7255e951fb4e132a42f0832e17fbc020ac3fa2bdfca810e3699ed7771fb8fb81","impliedFormat":99},{"version":"a5b3941aaca1d6a5e1062be7b80a5b949cafbb94c5a7a44935bf7d45d38d413f","impliedFormat":99},{"version":"bd07411fab77d77b48c489ffd25eac1877aa1554440ffd423db4abf05b736053","signature":"178c3c774bcaf246c20d05c84846fe95b01ed5cca6f8c2f83e003e0f6c33b692"},{"version":"3f68c75e99b2b24253f38ca9838de02c0f972be3f64ada34cc09d3c34ed157b0","signature":"626ac1121f98da7117ba2006b42441d57362b98d5e7841776c150f8af9771452"},{"version":"4af63045c489ba928dfaa6669d4260dce3bc67746228dabf45d87da1f6af7f70","signature":"8cf17707a6b9d7b3a1a6182ee422b70e6eace7da24c3d872292507ce572897ea"},{"version":"806a4a5f5b8e78d1dfb421bfbbe6a52f6303717d70e8f5b417fdfa863a42e0c6","signature":"cf5cd916139b872d4084cbe90bf74563b8e3cc5e9ff3318ab18bb7b8ba0fded5"},{"version":"193891a2f235ef0fcf828b6a93d8d855d7018a41f542a36fc832f9d2bde70264","signature":"5921f181dc44b51a2ad9dc631d11bddd2027640993e6138bff8b5fed84ed0a7a"}],"root":[275,[284,288]],"options":{"allowUnreachableCode":false,"allowUnusedLabels":false,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"exactOptionalPropertyTypes":true,"importHelpers":true,"module":7,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"strict":true,"target":9,"verbatimModuleSyntax":false},"referencedMap":[[277,1],[281,2],[276,2],[279,3],[282,4],[256,5],[63,6],[255,7],[253,8],[258,9],[259,10],[280,11],[283,12],[271,13],[273,14],[267,15],[261,16],[265,17],[263,18],[264,19],[252,20],[203,21],[201,21],[251,22],[216,23],[215,23],[116,24],[67,25],[223,24],[224,24],[226,26],[227,24],[228,27],[127,28],[229,24],[200,24],[230,24],[231,29],[232,24],[233,23],[234,30],[235,24],[236,24],[237,24],[238,24],[239,23],[240,24],[241,24],[242,24],[243,24],[244,31],[245,24],[246,24],[247,24],[248,24],[249,24],[66,22],[69,27],[70,27],[71,27],[72,27],[73,27],[74,27],[75,27],[76,24],[78,32],[79,27],[77,27],[80,27],[81,27],[82,27],[83,27],[84,27],[85,27],[86,24],[87,27],[88,27],[89,27],[90,27],[91,27],[92,24],[93,27],[94,27],[95,27],[96,27],[97,27],[98,27],[99,24],[101,33],[100,27],[102,27],[103,27],[104,27],[105,27],[106,31],[107,24],[108,24],[122,34],[110,35],[111,27],[112,27],[113,24],[114,27],[115,27],[117,36],[118,27],[119,27],[120,27],[121,27],[123,27],[124,27],[125,27],[126,27],[128,37],[129,27],[130,27],[131,27],[132,24],[133,27],[134,38],[135,38],[136,38],[137,24],[138,27],[139,27],[140,27],[145,27],[141,27],[142,24],[143,27],[144,24],[146,27],[147,27],[148,27],[149,27],[150,27],[151,27],[152,24],[153,27],[154,27],[155,27],[156,27],[157,27],[158,27],[159,27],[160,27],[161,27],[162,27],[163,27],[164,27],[165,27],[166,27],[167,27],[168,27],[169,39],[170,27],[171,27],[172,27],[173,27],[174,27],[175,27],[176,24],[177,24],[178,24],[179,24],[180,24],[181,27],[182,27],[183,27],[184,27],[202,40],[250,24],[187,41],[186,42],[210,43],[209,44],[205,45],[204,44],[206,46],[195,47],[193,48],[208,49],[207,46],[196,50],[109,51],[65,52],[64,27],[191,53],[192,54],[190,55],[188,27],[197,56],[68,57],[214,23],[212,58],[185,59],[198,60],[60,61],[285,62],[275,63],[287,64],[286,64],[284,62],[288,65],[274,66],[268,67],[262,18],[266,68],[269,69]],"latestChangedDtsFile":"./src/public-api.d.ts","version":"5.9.3"}
|
|
1
|
+
{"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.d.ts","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/modules/index.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_formatter-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_event_dispatcher-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_chrome_dev_tools_performance-chunk.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/subscription.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/subscriber.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operator.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/types.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/subject.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/notification.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/onerrorresumenextwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/operators/index.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/timerhandle.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/testing/index.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/internal/config.d.ts","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/types/index.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_effect-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/primitives-di.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_discovery-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_api-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/_weak_ref-chunk.d.ts","../../../node_modules/.pnpm/@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1/node_modules/@angular/core/types/core.d.ts","../../../node_modules/.pnpm/@angular+forms@21.2.5_@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21._9dd58c1850e970680480cd43a50272c8/node_modules/@angular/forms/types/forms.d.ts","../../core/dist/types/content.d.ts","../../../node_modules/.pnpm/orderedmap@2.1.1/node_modules/orderedmap/dist/index.d.ts","../../../node_modules/.pnpm/prosemirror-model@1.25.4/node_modules/prosemirror-model/dist/index.d.ts","../../pm/src/model.d.ts","../../../node_modules/.pnpm/prosemirror-transform@1.10.5/node_modules/prosemirror-transform/dist/index.d.ts","../../../node_modules/.pnpm/prosemirror-view@1.41.5/node_modules/prosemirror-view/dist/index.d.ts","../../../node_modules/.pnpm/prosemirror-state@1.4.4/node_modules/prosemirror-state/dist/index.d.ts","../../pm/src/state.d.ts","../../core/dist/types/editorevents.d.ts","../../core/dist/types/editoroptions.d.ts","../../core/dist/types/commands.d.ts","../../../node_modules/.pnpm/prosemirror-inputrules@1.5.1/node_modules/prosemirror-inputrules/dist/index.d.ts","../../pm/src/inputrules.d.ts","../../pm/src/view.d.ts","../../core/dist/types/toolbar.d.ts","../../core/dist/types/extensionconfig.d.ts","../../core/dist/types/attributespec.d.ts","../../core/dist/types/nodeconfig.d.ts","../../core/dist/types/markconfig.d.ts","../../core/dist/types/index.d.ts","../../core/dist/eventemitter.d.ts","../../core/dist/extensionmanager.d.ts","../../core/dist/utils/inlinestyles.d.ts","../../core/dist/editor.d.ts","../../core/dist/commands/selectioncommands.d.ts","../../core/dist/commands/contentcommands.d.ts","../../core/dist/commands/markcommands.d.ts","../../core/dist/commands/nodecommands.d.ts","../../core/dist/commands/listcommands.d.ts","../../core/dist/commands/attributecommands.d.ts","../../core/dist/commands/index.d.ts","../../core/dist/commandmanager.d.ts","../../../node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts","../../../node_modules/.pnpm/@floating-ui+core@1.7.4/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts","../../../node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts","../../../node_modules/.pnpm/@floating-ui+dom@1.7.5/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts","../../core/dist/utils/positionfloating.d.ts","../../core/dist/helpers/createdocument.d.ts","../../core/dist/helpers/isnodeempty.d.ts","../../core/dist/helpers/callorreturn.d.ts","../../core/dist/helpers/markinputrule.d.ts","../../core/dist/helpers/wrappinginputrule.d.ts","../../core/dist/helpers/textblocktypeinputrule.d.ts","../../core/dist/helpers/textinputrule.d.ts","../../core/dist/helpers/nodeinputrule.d.ts","../../core/dist/helpers/isvalidurl.d.ts","../../core/dist/helpers/ssr.d.ts","../../core/dist/helpers/getmarkrange.d.ts","../../core/dist/helpers/findparentnode.d.ts","../../core/dist/helpers/findchildren.d.ts","../../core/dist/helpers/defaultblockat.d.ts","../../core/dist/helpers/index.d.ts","../../core/dist/extension.d.ts","../../core/dist/node.d.ts","../../core/dist/toolbarcontroller.d.ts","../../core/dist/icons/phosphor.d.ts","../../core/dist/icons/index.d.ts","../../core/dist/mark.d.ts","../../core/dist/chainbuilder.d.ts","../../core/dist/canchecker.d.ts","../../core/dist/commandpropsbuilder.d.ts","../../core/dist/nodes/document.d.ts","../../core/dist/nodes/text.d.ts","../../core/dist/nodes/paragraph.d.ts","../../core/dist/nodes/heading.d.ts","../../core/dist/nodes/blockquote.d.ts","../../core/dist/nodes/codeblock.d.ts","../../core/dist/nodes/bulletlist.d.ts","../../core/dist/nodes/orderedlist.d.ts","../../core/dist/nodes/listitem.d.ts","../../core/dist/nodes/horizontalrule.d.ts","../../core/dist/nodes/hardbreak.d.ts","../../core/dist/nodes/tasklist.d.ts","../../core/dist/nodes/taskitem.d.ts","../../core/dist/nodes/index.d.ts","../../core/dist/marks/bold.d.ts","../../core/dist/marks/italic.d.ts","../../core/dist/marks/underline.d.ts","../../core/dist/marks/strike.d.ts","../../core/dist/marks/code.d.ts","../../core/dist/marks/link.d.ts","../../core/dist/marks/subscript.d.ts","../../core/dist/marks/superscript.d.ts","../../core/dist/marks/textstyle.d.ts","../../core/dist/marks/helpers/linkclickplugin.d.ts","../../core/dist/marks/helpers/linkpasteplugin.d.ts","../../core/dist/marks/helpers/autolinkplugin.d.ts","../../core/dist/marks/helpers/linkexitplugin.d.ts","../../core/dist/marks/helpers/index.d.ts","../../core/dist/marks/index.d.ts","../../core/dist/extensions/basekeymap.d.ts","../../core/dist/extensions/history.d.ts","../../core/dist/extensions/dropcursor.d.ts","../../core/dist/extensions/gapcursor.d.ts","../../core/dist/extensions/trailingnode.d.ts","../../core/dist/extensions/placeholder.d.ts","../../core/dist/extensions/listkeymap.d.ts","../../core/dist/extensions/charactercount.d.ts","../../core/dist/extensions/typography.d.ts","../../core/dist/extensions/textalign.d.ts","../../core/dist/extensions/focus.d.ts","../../core/dist/extensions/lineheight.d.ts","../../core/dist/extensions/uniqueid.d.ts","../../core/dist/extensions/selection.d.ts","../../core/dist/extensions/selectiondecoration.d.ts","../../core/dist/extensions/invisiblechars.d.ts","../../core/dist/extensions/textcolor.d.ts","../../core/dist/extensions/highlight.d.ts","../../core/dist/extensions/fontfamily.d.ts","../../core/dist/extensions/fontsize.d.ts","../../core/dist/extensions/clearformatting.d.ts","../../core/dist/extensions/linkpopover.d.ts","../../core/dist/extensions/bubblemenu.d.ts","../../core/dist/extensions/floatingmenu.d.ts","../../core/dist/extensions/starterkit.d.ts","../../core/dist/extensions/index.d.ts","../../core/dist/index.d.ts","../src/lib/editor.component.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/_platform_location-chunk.d.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/_common_module-chunk.d.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/_xhr-chunk.d.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/common.d.ts","../../../node_modules/.pnpm/@angular+platform-browser@21.2.5_@angular+common@21.2.5_@angular+core@21.2.5_@angular+c_0fe64ca245d2a123d9e4efa139fcdd6f/node_modules/@angular/platform-browser/types/_browser-chunk.d.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/_module-chunk.d.ts","../../../node_modules/.pnpm/@angular+common@21.2.5_@angular+core@21.2.5_@angular+compiler@21.2.5_rxjs@7.8.2_zone.js@0.15.1__rxjs@7.8.2/node_modules/@angular/common/types/http.d.ts","../../../node_modules/.pnpm/@angular+platform-browser@21.2.5_@angular+common@21.2.5_@angular+core@21.2.5_@angular+c_0fe64ca245d2a123d9e4efa139fcdd6f/node_modules/@angular/platform-browser/types/platform-browser.d.ts","../src/lib/toolbar.component.ts","../src/lib/bubble-menu.component.ts","../src/lib/floating-menu.component.ts","../src/lib/emoji-picker.component.ts","../src/public-api.ts"],"fileIdsList":[[252,258,378],[258],[252,258,378,379,380],[252,258,380,383],[63],[61,62,258],[61,62,63,252,253,254,258],[61],[61,62,63,252,253,254,255,256,257,258],[252,258],[258,381],[258,381,382,384],[292],[293,294],[262,266],[261],[262,264,265],[262],[262,264,266],[64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,183,184,185,187,196,198,199,200,201,202,203,205,206,208,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251],[109],[65,68],[67],[67,68],[64,65,66,68],[65,67,68,225],[68],[64,67,109],[67,68,225],[67,233],[65,67,68],[77],[100],[121],[67,68,109],[68,116],[67,68,109,127],[67,68,127],[68,168],[68,109],[64,68,186],[64,68,187],[209],[193,195],[204],[193],[64,68,186,193,194],[186,187,195],[207],[64,68,193,194,195],[66,67,68],[64,68],[65,67,187,188,189,190],[109,187,188,189,190],[187,189],[67,188,189,191,192,196],[64,67],[68,211],[69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[197],[59],[60,258,376,385],[60,258,259,376],[60,258,376],[60,376,377,386,387,388,389],[267,270,273,290,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,273,290,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,279,290,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[263,270,279,284,285,286,287,288,289,290,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[263,270,290,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[263,267,273,279,280,281,282],[267,270,273,275,290,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[263,267,269,270,273,274,290,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[312],[267,273,283,312],[267,312],[270,290,312,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,369],[270,290,312,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368],[270,290,312,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,368,369],[270,290,312,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,359,361,363,365,366,367,368,369],[350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374],[267,270,290,312,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,366,367,368,369],[270,290,312,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,363,365,366,367,368,369],[263,267,312],[263,270,290,312,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,365,366,367,368,369],[312,323,324,325,326,327,328,329,330,331,332,333,335,336,337,338,339,340,350,351,352,354,356,371],[270,290,312,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,361,363,365,366,367,368,369],[270,290,312,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,367,368,369],[263,279],[263],[263,267],[297,298,299,300,301,302,303,304,305,306,307,308,309,310],[263,272],[263,267,272],[279],[272],[315],[274],[267,279,280,281,282,283,290,291,296,311,312,313,314,316,317,318,319,320,334,349,375],[263,278,312],[270,290,317,323,324,325,326,327,328,330,331,332,333,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,317,323,324,325,326,327,328,330,331,332,333,335,336,337,338,340,341,342,343,351,359,361,363,365,366,367,368,369],[344,345,346,347],[335,336,337,338,339,340,341,342,343,348],[270,290,317,323,324,325,326,327,328,330,331,332,333,335,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,317,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,317,323,324,325,326,327,328,330,331,332,333,335,336,337,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,317,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,342,343,351,359,361,363,365,366,367,368,369],[270,290,317,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,343,351,359,361,363,365,366,367,368,369],[270,290,317,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,351,359,361,363,365,366,367,368,369],[270,290,317,323,324,325,326,327,328,330,331,332,333,335,336,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[263,277,312],[270,290,313,323,324,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,313,323,324,325,326,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,313,323,324,325,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[313],[270,290,313,323,324,325,326,327,328,330,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,313,323,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,313,323,324,325,326,327,328,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[321,322,323,324,325,326,327,328,329,330,331,332,333],[270,290,313,323,324,325,326,327,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,313,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,313,323,324,325,326,327,328,330,331,332,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[270,290,313,323,324,325,326,327,328,330,331,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[267],[260,263,268],[267,270,272,273,274,290,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[260,268,269,270,274,275,276,277,278,290,323,324,325,326,327,328,330,331,332,333,335,336,337,338,339,340,341,342,343,351,359,361,363,365,366,367,368,369],[263,267,273,275,276],[295],[271],[266],[265]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"51f7e301650aa503b8c67d0ed8d56d8935353cd53ab6cbb1ffa3e205a98884ae","affectsGlobalScope":true,"impliedFormat":99},{"version":"0067f9fd81a2d46e1bcb6b9aa047ce0f3a7945163d98367565da8e736aa75042","affectsGlobalScope":true,"impliedFormat":99},{"version":"dbef0e59b750a038f9300ceda5bf49ad19d7c3f5379b24d36911b9b4e1414532","affectsGlobalScope":true,"impliedFormat":99},{"version":"073ca26c96184db9941b5ec0ddea6981c9b816156d9095747809e524fdd90e35","impliedFormat":1},{"version":"e41d17a2ec23306d953cda34e573ed62954ca6ea9b8c8b74e013d07a6886ce47","impliedFormat":1},{"version":"241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","impliedFormat":1},{"version":"2ae3787e1498b20aad1b9c2ee9ea517ec30e89b70d242d8e3e52d1e091039695","impliedFormat":1},{"version":"c7c72c4cffb1bc83617eefed71ed68cc89df73cab9e19507ccdecb3e72b4967e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","impliedFormat":1},{"version":"38b38db08e7121828294dec10957a7a9ff263e33e2a904b346516d4a4acca482","impliedFormat":1},{"version":"a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","impliedFormat":1},{"version":"8a2aaea564939c22be05d665cc955996721bad6d43148f8fa21ae8f64afecd37","impliedFormat":1},{"version":"e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","impliedFormat":1},{"version":"e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","impliedFormat":1},{"version":"95950a187596e206d32d5d9c7b932901088c65ed8f9040e614aa8e321e0225ef","impliedFormat":1},{"version":"89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","impliedFormat":1},{"version":"e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","impliedFormat":1},{"version":"71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","impliedFormat":1},{"version":"7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","impliedFormat":1},{"version":"78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","impliedFormat":1},{"version":"5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","impliedFormat":1},{"version":"f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","impliedFormat":1},{"version":"9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","impliedFormat":1},{"version":"3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","impliedFormat":1},{"version":"2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","impliedFormat":1},{"version":"4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","impliedFormat":1},{"version":"61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","impliedFormat":1},{"version":"64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","impliedFormat":1},{"version":"0521108c9f8ddb17654a0a54dae6ba9667c99eddccfd6af5748113e022d1c37a","impliedFormat":1},{"version":"c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","impliedFormat":1},{"version":"ee764e6e9a7f2b987cc1a2c0a9afd7a8f4d5ebc4fdb66ad557a7f14a8c2bd320","impliedFormat":1},{"version":"0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","impliedFormat":1},{"version":"5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","impliedFormat":1},{"version":"e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","impliedFormat":1},{"version":"b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","impliedFormat":1},{"version":"6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","impliedFormat":1},{"version":"d7058e75920120b142a9d57be25562a3cd9a936269fd52908505f530105f2ec4","impliedFormat":1},{"version":"6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","impliedFormat":1},{"version":"0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","impliedFormat":1},{"version":"91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","impliedFormat":1},{"version":"db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","impliedFormat":1},{"version":"758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","impliedFormat":1},{"version":"2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","impliedFormat":1},{"version":"6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","impliedFormat":1},{"version":"a472a1d3f25ce13a1d44911cd3983956ac040ce2018e155435ea34afb25f864c","impliedFormat":1},{"version":"b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","impliedFormat":1},{"version":"792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","impliedFormat":1},{"version":"a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","impliedFormat":1},{"version":"93181bac0d90db185bb730c95214f6118ae997fe836a98a49664147fbcaf1988","impliedFormat":1},{"version":"8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","impliedFormat":1},{"version":"b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","impliedFormat":1},{"version":"4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","impliedFormat":1},{"version":"cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","impliedFormat":1},{"version":"75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","impliedFormat":1},{"version":"b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","impliedFormat":1},{"version":"c54166a85bd60f86d1ebb90ce0117c0ecb850b8a33b366691629fdf26f1bbbd8","impliedFormat":1},{"version":"0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","impliedFormat":1},{"version":"80f23f1d60fbed356f726b3b26f9d348dddbb34027926d10d59fad961e70a730","impliedFormat":1},{"version":"cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","impliedFormat":1},{"version":"cc20bb2227dd5de0aab0c8d697d1572f8000550e62c7bf5c92f212f657dd88c5","impliedFormat":1},{"version":"06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","impliedFormat":1},{"version":"860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","impliedFormat":1},{"version":"f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","impliedFormat":1},{"version":"d0da80c845999a16c24d0783033fb5366ada98df17867c98ad433ede05cd87fd","impliedFormat":1},{"version":"bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","impliedFormat":1},{"version":"fd9a991b51870325e46ebb0e6e18722d313f60cd8e596e645ec5ac15b96dbf4e","impliedFormat":1},{"version":"c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","impliedFormat":1},{"version":"a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","impliedFormat":1},{"version":"d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","impliedFormat":1},{"version":"fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","impliedFormat":1},{"version":"063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","impliedFormat":1},{"version":"314e402cd481370d08f63051ae8b8c8e6370db5ee3b8820eeeaaf8d722a6dac6","impliedFormat":1},{"version":"9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","impliedFormat":1},{"version":"4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","impliedFormat":1},{"version":"656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","impliedFormat":1},{"version":"3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","impliedFormat":1},{"version":"1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","impliedFormat":1},{"version":"af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","impliedFormat":1},{"version":"70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","impliedFormat":1},{"version":"af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","impliedFormat":1},{"version":"cefc20054d20b85b534206dbcedd509bb74f87f3d8bc45c58c7be3a76caa45e1","impliedFormat":1},{"version":"ad6eee4877d0f7e5244d34bc5026fd6e9cf8e66c5c79416b73f9f6ebf132f924","impliedFormat":1},{"version":"4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","impliedFormat":1},{"version":"f4749c102ced952aa6f40f0b579865429c4869f6d83df91000e98005476bee87","impliedFormat":1},{"version":"56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","impliedFormat":1},{"version":"8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","impliedFormat":1},{"version":"05f56cd4b929977d18df8f3d08a4c929a2592ef5af083e79974b20a063f30940","impliedFormat":1},{"version":"547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","impliedFormat":1},{"version":"b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","impliedFormat":1},{"version":"3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","impliedFormat":1},{"version":"140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","impliedFormat":1},{"version":"0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","impliedFormat":1},{"version":"cb46b38d5e791acaa243bf342b8b5f8491639847463ac965b93896d4fb0af0d9","impliedFormat":1},{"version":"7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","impliedFormat":1},{"version":"af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","impliedFormat":1},{"version":"006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","impliedFormat":1},{"version":"7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","impliedFormat":1},{"version":"339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","impliedFormat":1},{"version":"34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","impliedFormat":1},{"version":"9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","impliedFormat":1},{"version":"18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","impliedFormat":1},{"version":"5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","impliedFormat":1},{"version":"5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","impliedFormat":1},{"version":"907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","impliedFormat":1},{"version":"ce60a562cd2a92f37a88f2ddd99a3abfbc5848d7baf38c48fb8d3243701fcb75","impliedFormat":1},{"version":"a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","impliedFormat":1},{"version":"f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","impliedFormat":1},{"version":"75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","impliedFormat":1},{"version":"9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","impliedFormat":1},{"version":"b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","impliedFormat":1},{"version":"b6e2b0448ced813b8c207810d96551a26e7d7bb73255eea4b9701698f78846d6","impliedFormat":1},{"version":"8ae10cd85c1bd94d2f2d17c4cbd25c068a4b2471c70c2d96434239f97040747a","impliedFormat":1},{"version":"9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","impliedFormat":1},{"version":"b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","impliedFormat":1},{"version":"e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","impliedFormat":1},{"version":"ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","impliedFormat":1},{"version":"8776a368617ce51129b74db7d55c3373dadcce5d0701e61d106e99998922a239","impliedFormat":1},{"version":"5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","impliedFormat":1},{"version":"9108ab5af05418f599ab48186193b1b07034c79a4a212a7f73535903ba4ca249","impliedFormat":1},{"version":"bb4e2cdcadf9c9e6ee2820af23cee6582d47c9c9c13b0dca1baaffe01fbbcb5f","impliedFormat":1},{"version":"6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","impliedFormat":1},{"version":"423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","impliedFormat":1},{"version":"fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","impliedFormat":1},{"version":"2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","impliedFormat":1},{"version":"c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","impliedFormat":1},{"version":"02ae43d5bae42efcd5a00d3923e764895ce056bca005a9f4e623aa6b4797c8af","impliedFormat":1},{"version":"db6e01f17012a9d7b610ae764f94a1af850f5d98c9c826ad61747dca0fb800bd","impliedFormat":1},{"version":"8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","impliedFormat":1},{"version":"24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","impliedFormat":1},{"version":"33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","impliedFormat":1},{"version":"0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","impliedFormat":1},{"version":"16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","impliedFormat":1},{"version":"8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","impliedFormat":1},{"version":"d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","impliedFormat":1},{"version":"97f9169882d393e6f303f570168ca86b5fe9aab556e9a43672dae7e6bb8e6495","impliedFormat":1},{"version":"7c9adb3fcd7851497818120b7e151465406e711d6a596a71b807f3a17853cb58","impliedFormat":1},{"version":"6752d402f9282dd6f6317c8c048aaaac27295739a166eed27e00391b358fed9a","impliedFormat":1},{"version":"9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","impliedFormat":1},{"version":"fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","impliedFormat":1},{"version":"85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","impliedFormat":1},{"version":"84794e3abd045880e0fadcf062b648faf982aa80cfc56d28d80120e298178626","impliedFormat":1},{"version":"053d8b827286a16a669a36ffc8ccc8acdf8cc154c096610aa12348b8c493c7b8","impliedFormat":1},{"version":"3cce4ce031710970fe12d4f7834375f5fd455aa129af4c11eb787935923ff551","impliedFormat":1},{"version":"8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","impliedFormat":1},{"version":"62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","impliedFormat":1},{"version":"c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","impliedFormat":1},{"version":"8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","impliedFormat":1},{"version":"132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","impliedFormat":1},{"version":"df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","impliedFormat":1},{"version":"33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","impliedFormat":1},{"version":"ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","impliedFormat":1},{"version":"a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","impliedFormat":1},{"version":"eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","impliedFormat":1},{"version":"0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","impliedFormat":1},{"version":"aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","impliedFormat":1},{"version":"0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","impliedFormat":1},{"version":"40f06693e2e3e58526b713c937895c02e113552dc8ba81ecd49cdd9596567ddb","impliedFormat":1},{"version":"4ed5e1992aedb174fb8f5aa8796aa6d4dcb8bd819b4af1b162a222b680a37fa0","impliedFormat":1},{"version":"d7f4bd46a8b97232ea6f8c28012b8d2b995e55e729d11405f159d3e00c51420a","impliedFormat":1},{"version":"d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","impliedFormat":1},{"version":"e4f4f9cf1e3ac9fd91ada072e4d428ecbf0aa6dc57138fb797b8a0ca3a1d521c","impliedFormat":1},{"version":"12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","impliedFormat":1},{"version":"340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","impliedFormat":1},{"version":"c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","impliedFormat":1},{"version":"7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","impliedFormat":1},{"version":"5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","impliedFormat":1},{"version":"9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","impliedFormat":1},{"version":"1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","impliedFormat":1},{"version":"8018dd2e95e7ce6e613ddd81672a54532614dc745520a2f9e3860ff7fb1be0ca","impliedFormat":1},{"version":"b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","impliedFormat":1},{"version":"0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","impliedFormat":1},{"version":"3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","impliedFormat":1},{"version":"032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","impliedFormat":1},{"version":"69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","impliedFormat":1},{"version":"0e704ee6e9fd8b6a5a7167886f4d8915f4bc22ed79f19cb7b32bd28458f50643","impliedFormat":1},{"version":"06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","impliedFormat":1},{"version":"904a96f84b1bcee9a7f0f258d17f8692e6652a0390566515fe6741a5c6db8c1c","impliedFormat":1},{"version":"11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","impliedFormat":1},{"version":"2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","impliedFormat":1},{"version":"1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","impliedFormat":1},{"version":"1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","impliedFormat":1},{"version":"07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","impliedFormat":1},{"version":"619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","impliedFormat":1},{"version":"f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","impliedFormat":1},{"version":"f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","impliedFormat":1},{"version":"350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","impliedFormat":1},{"version":"eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","impliedFormat":1},{"version":"45b74185005ed45bec3f07cac6e4d68eaf02ead9ff5a66721679fb28020e5e7c","impliedFormat":1},{"version":"0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","impliedFormat":1},{"version":"c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","impliedFormat":1},{"version":"5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","impliedFormat":1},{"version":"ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","impliedFormat":1},{"version":"7de1163944c7d80a90451a7da335023522b6c47721292a115dda1982266967db","impliedFormat":99},{"version":"7b5875c37d6f4da9849bf1383271db5f996f1ff046c96817f7f375f909c69f19","impliedFormat":99},{"version":"06250a03d4bc487faa1eba29741a752c1974599b9c3584de45ce23740fc0a116","impliedFormat":99},{"version":"9613dab4115e969141f212e735a171b69a9e6a9780d36067e3c718d4a8b0e706","impliedFormat":99},{"version":"8d0ac51c0261be1f8cbdffa379a009373cf3afcc4e36ab19e449439cb19b8293","impliedFormat":99},{"version":"13dc8db8972cb2e0857bca94b106ebe7b00db0e5517fab33405d7ad704272690","impliedFormat":99},{"version":"96bb70370dffd8027b2ed0eecc3fc385bd3e420d3daedbeac31c8a6d59c85bdd","impliedFormat":99},"eae84179111e692dc12d7bf494fa9d967a457df54444a527030320ae4c273747",{"version":"264f935450101e4b000eb351cf75c9d799ca20a278b260a9e5770303b5f2b6a3","impliedFormat":99},{"version":"f6f171b23ae6db93454343f1b788960f799c8f37043904874a752c0990c6fca6","impliedFormat":99},"478e59ac0830a0f6360236632d0d589fb0211183aa1ab82292fbca529c0cce35",{"version":"b0585389e0dcd131241ff48a6b4e8bebdf97813850183ccfa2a60118532938dd","impliedFormat":99},{"version":"b11acc27c280988d7256bbd8ffe9f1cb5a0e5ed17cddf5335289ee0e81500369","affectsGlobalScope":true,"impliedFormat":99},{"version":"02ab5dbcaa58da1d58c46c7cdfa7f94792c5ccf0fc7c0622ef33755fe415366c","impliedFormat":99},"e689cc8cd8a102d31c9d3a7b0db0028594202093c4aca25982b425e8ae744556","132bda5cb162ddb2039a579ef952e53838a735b4dd9c7aad8124e33e844703b8","1cc484c38d9c1d4a10d8c8e399f7a12c4b41097b789eb8d2f9d764e80e457218","4ae9d102264d01d8a4412b740b701dc468473aa14fa9608e17ecf49a132a2e8c",{"version":"2a04530c2579ddcf996e1cf017caaba573e0ebf8a5b9e45d3bc25ba4489fb5a3","impliedFormat":99},"f41d91b2db1112fcc673a6862fe68cadcbdd0a66ed16b47ac74a0a6da8932bb4","1b4ed9deaba72d4bc8495bf46db690dbf91040da0cb2401db10bad162732c0e2","3682d83ad0fa96ada023fec94c2bc6020cc9c75e970a979e4ba1152b91a62db6","4584bcc6cc0bf74c158cac178697d831fcbf5861bbc50c777e64fbd2a7c47eb3","ad6d2402dfba591799a09c58febc8d2439f97538dd7c4d9e20ebcb6893a7f40e","46b38abe8e338018b04d7927b1df7bce366e50c11ae6611dc475c7cd52a51427","94bc4d21c1641f3737af46d352dbe2db04d2dc846b7b126308c351ca552e39e8","d55a91e97729c9c4ebdbbdf7a9c5a02251206d91462f9df3ff3fcac5581d5e9f","5a2c2dd3dd10f309ee144486a8f132a488736f92042de53439d20d3a259b2463","b4b71622e80b44d40d3b728e71794861bc29fa2a39b843cdd7ad287d0a8ce999","1e06a318e169d4f3f92c2f28943162607ba7ca2e783a32b36f519114053b6b2f","7eb9e2b81dffcbc0e89240e2da5e18080b8480ba40b3b5c832cb788807fdb538","7d98e9ff0a83c1c37348f6912a7a7d469f22781a3a8897b4d775b1f294820ab5","b2f07d9962d81d7655881bcc355eccd8538d204125691f3343b59cb1315a2046","6c83c5c2cd18cbec9798534aa563824d81d6c9d4c1753eb325022510c2da8997","feabf0159426031f3834bf4cad26b3753e95cb9d39dea62443a6fcaa9f3e0f6a","bf25fafe3944e94a86bfc5a830f1645914846bffc9ee71097917a2870192515e","06bf1a6c8a8457b98a733baed4647f214f328f884d3263dbfd6700d4450e7b34","cbee5ec0b39d3dcad043ec5006042ebbd97cd4d56ef48a0e9b8687d036ac9031","8cedfe4684dc3f5bcd9ba8d84adb4e7f7f43dcdf2f100355afd3e7d09ebb7107",{"version":"2b4276dde46aa2faf0dd86119999c76b81e6488cd6b0d0fcf9fb985769cd11c0","impliedFormat":99},{"version":"38d4cff03e87dc58bfd50ffe5a3fb25e6e6d4136a1282883285baf71d35967c5","impliedFormat":99},{"version":"5ecea63968444d55f7c3cf677cbec9525db9229953b34f06be0386a24b0fffd2","impliedFormat":99},{"version":"b50ee4bde16b52ecb08e2407dca49a5649b38e046e353485335aa024f6efb8ef","impliedFormat":99},"9a54c36ce0adb23f5b55882f62c09e3433ff1a6dcee831b390886a4c900a7a99","35ba32539f3a76a496404dada7aeceed227c47c4b741afd46d337e7ea5ef8466","6a6aa612dac220d827b32f67a22b095834771d2ce50f8dac50600c6838b3a7e1","4c83734444d1354fde2fb62f7d6b6252baa859a0164b4697f45c6917553a5e5b","7cb3b06df8df1ed507c8effbc466869addd9577607c32004293512a42ca16a21","05bbafc695178139bea069f2ad5354f59fa4d9f17b2eee3abf211c3a6d099218","b4b13a06384344ce935dfd668fceb089e957ee0b16364fb293c879c6d5bf9b80","fac1f48bc1da0b8205e9544e5025050bb1a52a0d460e89d5d4c699d95023fbd9","62f1fe7c6f3471ab39402ee2c3171813335f19db682ff9dada0335f52ce8cd11","29bde97f926f7ddd8d2e89aaf7199e999708c4ef2d926b28cbf8c5426d1bbe13","3d075199e0dc7722e0cfe202e7caee784c63f092731a828e24d57b43a93c13a7","faa883230719fd86c3b0bccb6f9e92b39a1f425721660f9dc3165425096ae558","d2f94b40a8343d872292218d9bafdd57e0f46c67811f919cb1d13c54d4234b6f","36f2c208fa08420d323ac1678b023e7b03cc4dbbfda71e754186800f0fe7d52e","ecbe9b091b4e4d0474ea239d940720fb82548b246646104fdadb6aad903c740a","4c7d448417cec948a849ef8265cfa9614fefacec7473dfac113fa2f40463ef71","56f420d39d43635140a57259d496df0d775ed6956618a0b9c13e40a8fa96144d","a59c71fcd1263e1bb3f5e876cb52af487fa42bc0e6cc850b2d35f6914d439835","5ca3f18c9efc6875cb223c5ff1cd395f188fa4ab09bf5c0764722caadc14110d","2775c98df33ada02d8d010c64336afdd52a7e3ff23d36d301f66a341ae397106","cf01bbaa7b7cf15566857f69db5187218c0881e3c738207af566d706d9692599","9774e6465d434d7007ce56455d5fb0995f6592e9149ce12afb46be356157783d","c6b93fe5014ea0d91cacb3715d6c93c80ad42b230bcb6a9c6eb7e1779e025859","2d17ecbd4dbc372205a30fc455d02f4aa41cf418055d7ab1e9812123a885ab3d","829f3a9dc484c9d149f3ade94f90336bef161598e27783edd8fc8ccadebffa53","8f02894a65917d0cff963cd6dd93f02c86c7bdb49286a96b70026a0e954547b7","6e403b29340a496bfa1006036f9d37ffbc44c1c3e9233303734bf292ceeee166","2633ca6ceb57b6b268daab74f582e25fdebc6aef79ac488cac965e31bf229cf7","fbb53e0096b252e51e4117932b1331bce07e3d60998d3f1c8c04442f06bcbef6","8277960606502d4519476426eeedc5999bfc677620126051a16d811d8ecfc302","2bf5698c846044f11554f1ebd74b582ec569ef7b33f4f60a9ee3e85953196244","4a39a017b88431bcec8e28392385368dda426f49d432a173f6025354b963dab0","4a5bd2785705927d8d5f6206bd632bd6258ad1508cfad3845957cbd00b205e0c","b9b7042525be183597facead0054cb7119bb040b664698c6627abba4d34386e6","4404ea27096cb42325279356ea706ec961ffae210dee6850442e42808681829b","cd22d0fd2af851b77dbbfdc03011b22f857083c165bb684d15f05782c9a1f332","c2ead85e8f7147147ca8bfb768e393884504c617333ab513ec58c8b32a34803b","0bb2da2b309fe17b81772365224b4416ef843988172865e4b1aaf6034766a300","e3412d4ac2cfe1c673e6ef93aefb0bdea77d9d0562708c3f657db4c95b8bb605","528184e3dc066113d8a6d01985a375b82ec3378a7b77c9cef3f00c78f5c0751a","37389f50adf3becf602ce17b9b166fc71bb60f433c5b38bb7a618e10398b0559","14ab06889da0c7f7d30b47b5088b55b7b7b3d71ec88440d103b8d2055445e71b","08528f405692b7ed53089586658b18e7f244b1abb1437cfcd427ae8c706dabbf","7dbd38f152d2207e1e9ecff80c0571aead0f2bd1bd25ce1bcf85d9066cb366d0","fd32b52cf1a0fea5201d54bc8840037df3f58c043511d8f6d32015eed7625a63","7be9af0b3432c81fe9a4ae1cb8a519764ae1e9d318bce54b409a7780c86dfd86","aca5c5c6cbd4e35a2d4fa0741b53aa597218f0d3f282934f35bed038a542c888","05e18806c3f2fa270da8a35d18a71f46bceb7ea34bbc32176d27342390ddd8ab","9c39131f537cc6b65e72216fd90dcd564cf0ab03785bfddc3f773e04a4e37fe2","ba0041262b7fc4fc520f9401a57daf861951d6747915eb830809b286dc0cbcde","fc6b3dce952d05cad624e5933c1e3b21a915686f797c7478ab54642b003ee856","eb8f5c70baec1a4414460020670e0e3ca39a1cf301b48b1b575ff4dba52a255e","757575f0ae8327d38f7a19fc950123643c21ed7eed035c981b519086e6cb9a3c","906f4661528760640f20f320b82f51aa356fa3b77f7717e8e5b26256ce760376","2b69394179a951c4ba6223d2566e7df132e10ec556f9e417e7101334d41dfe49","ff700a1518235666d43a4f94dd738d0b7e697953b5747d318510870fb280d0b7","8e6572f26c0c1af4901f2998bdb0d51d9d9913e744eb48de6b4e54d6834d0735","39d6aa0eda0aad71db73ddf97413c2c25bc96ff0750ba37e250329d0d8d1b25a","271b50b63b4ec5d1e3291df1e2d98cb7a5636485e9562b9a453f253bf07908d3","6c39b19226e042af0ccd7586981f2e58a7c82b1ef00d8b52aafb9b11a3c04e7b","b7aa79d074a0fd5ccfc372dd6d59565fee8edd42ccf8b9b5862526decb2ac053","0f2fc563cd4091494a70cb04970e0b42b941e71deb72663a4ce804845afaed98","34d46e669640fa7c0baed9692d2660b2c4b4e257767ab662df17de63386e4269","cdd0756165269ca8f07efd6826fa3cae89928c32545069d07397974a2c818b3d","34833a118fa8be8b732cb53baa575db90141b7cc2558a5135fa05b9e11413b21","f513bc375fcfda2621e98900e739c4c6c60c0baa76fa9cfd82f813d12dd39f75","428732d75e88a449d53dfa783f43425428b3e4c8223ecd6d3ee105e7e02263dd","eec28cebaa37c58b6e6a2fcca9c9cb313434fd65c9d3c91e628783a563dc1970","ccf1ee2408edf8089b653f69e5c6332c6d066a74fc78c6081cc62ba98898f867","3fa9a7b0e414348f05dc7f26a052b371199b53ac9ee9aa65b9a61e792520af88","85b14f9ae9049704d0cfdbabd99811bda1f7714ad6b04c5305a9635eef54a115","702130d27fbaf1f1c812c148100441068ade69dd4b57a3de8306d224c8828d38","d789bfe32f828c525c4f8cdc692bf4e4fefe8a40f31d51d01d2b2534e7a571f0","894345fcda174764df8110930f81038150595e52dab6462a8b0e627ecdf3467d","751bb22ade7dd69ca069b227b5f2426e1b2bfc974ec9bf74c5e834d37d2fb56b","42eba6b2fb149bd1956a9a12b28ac385b2880aeb469b571dcd5ccbdb5d24bf1c","fe8c86c85388154d277d3193a13a97a8d80b78ed2407b156b5c4083d02504f0f","8983faf1cb098dbdb1a89e732c7936f9e5726954f76780a1cb29f5554abf4bdf","e67629c9f5ea19c7d5f60773fc1c3890c2c452d1f0430758658ace2eecc0607b","2e7825b8f664754afe95c6317539479115ca9377a150d37ba9e99b765b8bc19b","771ea7d7421006b714062567254513c6f939432c1a8d1f0a56bbb7dc0d73b749",{"version":"9fd7f54f46cf323c3b6979f9016a315a5be14b5c488daf8e129a9c8cd826da59","signature":"9a89103f5f92b0ff239a82caa1b5d839527a1aaadf58e9ad8660dc88c5d79c58"},{"version":"af0e092154d58fbb01d5f62723800f342d8edf5da9f7af88053b3475b76d4831","impliedFormat":99},{"version":"9c976cd1a9a869ddd8b77ce17dd0806ecf93f6f8a9a8bc056c44ecf970f4085a","impliedFormat":99},{"version":"c80e09130316899cfaada1562d0809ce5fd8bf40ee21eed9eb8c94ecbefcdb97","impliedFormat":99},{"version":"65fa2df7b3c7278c4cc46b4f51af3306abf92814f57917b702615a55b0369c36","impliedFormat":99},{"version":"dcd3b89446e71052a322d69060b8e5d8b080765ec03b6c591c7c6c3b09d9436d","impliedFormat":99},{"version":"be318cafe0b485e3b4bc69395bb53707bde5d6c8072fa35dad2e81610433497d","impliedFormat":99},{"version":"7255e951fb4e132a42f0832e17fbc020ac3fa2bdfca810e3699ed7771fb8fb81","impliedFormat":99},{"version":"a5b3941aaca1d6a5e1062be7b80a5b949cafbb94c5a7a44935bf7d45d38d413f","impliedFormat":99},{"version":"bd07411fab77d77b48c489ffd25eac1877aa1554440ffd423db4abf05b736053","signature":"178c3c774bcaf246c20d05c84846fe95b01ed5cca6f8c2f83e003e0f6c33b692"},{"version":"3f68c75e99b2b24253f38ca9838de02c0f972be3f64ada34cc09d3c34ed157b0","signature":"626ac1121f98da7117ba2006b42441d57362b98d5e7841776c150f8af9771452"},{"version":"4af63045c489ba928dfaa6669d4260dce3bc67746228dabf45d87da1f6af7f70","signature":"8cf17707a6b9d7b3a1a6182ee422b70e6eace7da24c3d872292507ce572897ea"},{"version":"1692e8c037e7c1d7d80e7196e675aedff2a3c0244b2c6e5476bce8ecdb59fe50","signature":"cf5cd916139b872d4084cbe90bf74563b8e3cc5e9ff3318ab18bb7b8ba0fded5"},{"version":"193891a2f235ef0fcf828b6a93d8d855d7018a41f542a36fc832f9d2bde70264","signature":"5921f181dc44b51a2ad9dc631d11bddd2027640993e6138bff8b5fed84ed0a7a"}],"root":[377,[386,390]],"options":{"allowUnreachableCode":false,"allowUnusedLabels":false,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"exactOptionalPropertyTypes":true,"importHelpers":true,"module":7,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"strict":true,"target":9,"verbatimModuleSyntax":false},"referencedMap":[[379,1],[383,2],[378,2],[381,3],[384,4],[256,5],[63,6],[255,7],[253,8],[258,9],[259,10],[382,11],[385,12],[293,13],[295,14],[271,15],[262,16],[266,17],[264,18],[265,19],[252,20],[203,21],[201,21],[251,22],[216,23],[215,23],[116,24],[67,25],[223,24],[224,24],[226,26],[227,24],[228,27],[127,28],[229,24],[200,24],[230,24],[231,29],[232,24],[233,23],[234,30],[235,24],[236,24],[237,24],[238,24],[239,23],[240,24],[241,24],[242,24],[243,24],[244,31],[245,24],[246,24],[247,24],[248,24],[249,24],[66,22],[69,27],[70,27],[71,27],[72,27],[73,27],[74,27],[75,27],[76,24],[78,32],[79,27],[77,27],[80,27],[81,27],[82,27],[83,27],[84,27],[85,27],[86,24],[87,27],[88,27],[89,27],[90,27],[91,27],[92,24],[93,27],[94,27],[95,27],[96,27],[97,27],[98,27],[99,24],[101,33],[100,27],[102,27],[103,27],[104,27],[105,27],[106,31],[107,24],[108,24],[122,34],[110,35],[111,27],[112,27],[113,24],[114,27],[115,27],[117,36],[118,27],[119,27],[120,27],[121,27],[123,27],[124,27],[125,27],[126,27],[128,37],[129,27],[130,27],[131,27],[132,24],[133,27],[134,38],[135,38],[136,38],[137,24],[138,27],[139,27],[140,27],[145,27],[141,27],[142,24],[143,27],[144,24],[146,27],[147,27],[148,27],[149,27],[150,27],[151,27],[152,24],[153,27],[154,27],[155,27],[156,27],[157,27],[158,27],[159,27],[160,27],[161,27],[162,27],[163,27],[164,27],[165,27],[166,27],[167,27],[168,27],[169,39],[170,27],[171,27],[172,27],[173,27],[174,27],[175,27],[176,24],[177,24],[178,24],[179,24],[180,24],[181,27],[182,27],[183,27],[184,27],[202,40],[250,24],[187,41],[186,42],[210,43],[209,44],[205,45],[204,44],[206,46],[195,47],[193,48],[208,49],[207,46],[196,50],[109,51],[65,52],[64,27],[191,53],[192,54],[190,55],[188,27],[197,56],[68,57],[214,23],[212,58],[185,59],[198,60],[60,61],[387,62],[377,63],[389,64],[388,64],[386,62],[390,65],[319,66],[318,66],[291,67],[320,66],[289,68],[285,69],[290,70],[288,71],[286,71],[287,71],[284,69],[283,72],[312,73],[281,74],[350,75],[372,76],[357,77],[370,75],[352,75],[373,76],[360,77],[368,78],[369,79],[353,75],[367,80],[351,81],[375,82],[365,83],[361,84],[371,75],[356,75],[355,85],[363,86],[364,77],[374,87],[359,88],[366,89],[354,75],[358,75],[362,77],[297,90],[310,91],[309,91],[308,92],[307,91],[311,93],[298,91],[300,94],[304,95],[306,96],[302,94],[303,97],[301,95],[316,98],[315,99],[376,100],[317,101],[335,102],[339,103],[346,92],[348,104],[344,92],[347,92],[345,92],[349,105],[336,106],[340,107],[338,108],[341,109],[342,110],[343,111],[337,112],[313,113],[325,114],[327,115],[326,116],[321,117],[331,118],[324,119],[330,120],[334,121],[329,117],[328,122],[323,123],[333,124],[332,125],[322,117],[314,99],[270,126],[268,126],[269,127],[275,128],[279,129],[278,130],[277,130],[296,131],[272,132],[263,18],[267,133],[273,134]],"latestChangedDtsFile":"./src/public-api.d.ts","version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@domternal/angular",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Angular components for Domternal editor",
|
|
5
5
|
"author": "https://github.com/ThomasNowHere",
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@angular/core": ">=17.1.0",
|
|
18
18
|
"@angular/forms": ">=17.1.0",
|
|
19
|
-
"@domternal/core": ">=0.
|
|
19
|
+
"@domternal/core": ">=0.4.0"
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
22
|
"dist"
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"@angular/platform-browser": "^21.2.4",
|
|
34
34
|
"ng-packagr": "^21.0.0",
|
|
35
35
|
"typescript": "~5.9.3",
|
|
36
|
-
"@domternal/core": "0.
|
|
36
|
+
"@domternal/core": "0.4.1"
|
|
37
37
|
},
|
|
38
38
|
"keywords": [
|
|
39
39
|
"angular",
|