;\r\n delete renderer.ɵNgxMarkdownRendererExtendedForExtensions;\r\n delete renderer.ɵNgxMarkdownRendererExtendedForMermaid;\r\n\r\n // remove renderer from markedOptions because if renderer is\r\n // passed to marked.parse method, it will ignore all extensions\r\n delete markedOptions.renderer;\r\n\r\n marked.use({ renderer });\r\n }\r\n\r\n return inline\r\n ? marked.parseInline(html, markedOptions)\r\n : marked.parse(html, markedOptions);\r\n }\r\n\r\n private parseEmoji(html: string): string {\r\n if (!isPlatformBrowser(this.platform)) {\r\n return html;\r\n }\r\n if (typeof joypixels === 'undefined' || typeof joypixels.shortnameToUnicode === 'undefined') {\r\n throw new Error(errorJoyPixelsNotLoaded);\r\n }\r\n return joypixels.shortnameToUnicode(html);\r\n }\r\n\r\n private renderKatex(element: HTMLElement, options: KatexOptions): void {\r\n if (!isPlatformBrowser(this.platform)) {\r\n return;\r\n }\r\n if (typeof katex === 'undefined' || typeof renderMathInElement === 'undefined') {\r\n throw new Error(errorKatexNotLoaded);\r\n }\r\n renderMathInElement(element, options);\r\n }\r\n\r\n private renderClipboard(element: HTMLElement, viewContainerRef: ViewContainerRef | undefined, options: ClipboardRenderOptions): void {\r\n if (!isPlatformBrowser(this.platform)) {\r\n return;\r\n }\r\n if (typeof ClipboardJS === 'undefined') {\r\n throw new Error(errorClipboardNotLoaded);\r\n }\r\n if (!viewContainerRef) {\r\n throw new Error(errorClipboardViewContainerRequired);\r\n }\r\n\r\n const {\r\n buttonComponent,\r\n buttonTemplate,\r\n } = options;\r\n\r\n // target every elements\r\n const preElements = element.querySelectorAll('pre');\r\n for (let i = 0; i < preElements.length; i++) {\r\n const preElement = preElements.item(i);\r\n\r\n // create wrapper element\r\n const preWrapperElement = document.createElement('div');\r\n preWrapperElement.style.position = 'relative';\r\n preElement.parentNode!.insertBefore(preWrapperElement, preElement);\r\n preWrapperElement.appendChild(preElement);\r\n\r\n // create toolbar element\r\n const toolbarWrapperElement = document.createElement('div');\r\n toolbarWrapperElement.classList.add('markdown-clipboard-toolbar');\r\n toolbarWrapperElement.style.position = 'absolute';\r\n toolbarWrapperElement.style.top = '.5em';\r\n toolbarWrapperElement.style.right = '.5em';\r\n toolbarWrapperElement.style.zIndex = '1';\r\n preWrapperElement.insertAdjacentElement('beforeend', toolbarWrapperElement);\r\n\r\n // register listener to show/hide toolbar\r\n preWrapperElement.onmouseenter = () => toolbarWrapperElement.classList.add('hover');\r\n preWrapperElement.onmouseleave = () => toolbarWrapperElement.classList.remove('hover');\r\n\r\n // declare embeddedViewRef holding variable\r\n let embeddedViewRef: EmbeddedViewRef;\r\n\r\n // use provided component via input property\r\n // or provided via ClipboardOptions provider\r\n if (buttonComponent) {\r\n const componentRef = viewContainerRef.createComponent(buttonComponent);\r\n embeddedViewRef = componentRef.hostView as EmbeddedViewRef;\r\n componentRef.changeDetectorRef.markForCheck();\r\n }\r\n // use provided template via input property\r\n else if (buttonTemplate) {\r\n embeddedViewRef = viewContainerRef.createEmbeddedView(buttonTemplate);\r\n }\r\n // use default component\r\n else {\r\n const componentRef = viewContainerRef.createComponent(ClipboardButtonComponent);\r\n embeddedViewRef = componentRef.hostView as EmbeddedViewRef;\r\n componentRef.changeDetectorRef.markForCheck();\r\n }\r\n\r\n // declare clipboard instance variable\r\n let clipboardInstance: typeof ClipboardJS;\r\n\r\n // attach clipboard.js to root node\r\n embeddedViewRef.rootNodes.forEach((node: HTMLElement) => {\r\n toolbarWrapperElement.appendChild(node);\r\n clipboardInstance = new ClipboardJS(node, { text: () => preElement.innerText });\r\n });\r\n\r\n // destroy clipboard instance when view is destroyed\r\n embeddedViewRef.onDestroy(() => clipboardInstance.destroy());\r\n }\r\n }\r\n\r\n private renderMermaid(element: HTMLElement, options: MermaidAPI.MermaidConfig = this.DEFAULT_MERMAID_OPTIONS): void {\r\n if (!isPlatformBrowser(this.platform)) {\r\n return;\r\n }\r\n if (typeof mermaid === 'undefined' || typeof mermaid.initialize === 'undefined') {\r\n throw new Error(errorMermaidNotLoaded);\r\n }\r\n const mermaidElements = element.querySelectorAll('.mermaid');\r\n if (mermaidElements.length === 0) {\r\n return;\r\n }\r\n mermaid.initialize(options);\r\n mermaid.run({ nodes: mermaidElements });\r\n }\r\n\r\n private trimIndentation(markdown: string): string {\r\n if (!markdown) {\r\n return '';\r\n }\r\n let indentStart: number;\r\n return markdown\r\n .split('\\n')\r\n .map(line => {\r\n let lineIdentStart = indentStart;\r\n if (line.length > 0) {\r\n lineIdentStart = isNaN(lineIdentStart)\r\n ? line.search(/\\S|$/)\r\n : Math.min(line.search(/\\S|$/), lineIdentStart);\r\n }\r\n if (isNaN(indentStart)) {\r\n indentStart = lineIdentStart;\r\n }\r\n return lineIdentStart\r\n ? line.substring(lineIdentStart)\r\n : line;\r\n }).join('\\n');\r\n }\r\n\r\n private async sanitizeHtml(html: string | Promise): Promise {\r\n if (isSanitizeFunction(this.sanitize)) {\r\n return this.sanitize(await html);\r\n }\r\n if (this.sanitize !== SecurityContext.NONE) {\r\n return this.sanitizer.sanitize(this.sanitize ?? this.DEFAULT_SECURITY_CONTEXT, html) ?? '';\r\n }\r\n return html;\r\n }\r\n}\r\n","export enum PrismPlugin {\r\n CommandLine = 'command-line',\r\n LineHighlight = 'line-highlight',\r\n LineNumbers = 'line-numbers',\r\n}\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, inject, Input, OnChanges, OnDestroy, Output, TemplateRef, Type, ViewContainerRef } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { ClipboardRenderOptions } from './clipboard-options';\r\nimport { KatexOptions } from './katex-options';\r\nimport { MarkdownService, ParseOptions, RenderOptions } from './markdown.service';\r\nimport { MermaidAPI } from './mermaid-options';\r\nimport { PrismPlugin } from './prism-plugin';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'markdown, [markdown]',\r\n template: '',\r\n})\r\nexport class MarkdownComponent implements OnChanges, AfterViewInit, OnDestroy {\r\n element = inject>(ElementRef);\r\n markdownService = inject(MarkdownService);\r\n viewContainerRef = inject(ViewContainerRef);\r\n\r\n protected static ngAcceptInputType_clipboard: boolean | '';\r\n protected static ngAcceptInputType_emoji: boolean | '';\r\n protected static ngAcceptInputType_katex: boolean | '';\r\n protected static ngAcceptInputType_mermaid: boolean | '';\r\n protected static ngAcceptInputType_lineHighlight: boolean | '';\r\n protected static ngAcceptInputType_lineNumbers: boolean | '';\r\n protected static ngAcceptInputType_commandLine: boolean | '';\r\n\r\n @Input() data: string | null | undefined;\r\n @Input() src: string | null | undefined;\r\n\r\n @Input()\r\n get disableSanitizer(): boolean { return this._disableSanitizer; }\r\n set disableSanitizer(value: boolean) { this._disableSanitizer = this.coerceBooleanProperty(value); }\r\n\r\n @Input()\r\n get inline(): boolean { return this._inline; }\r\n set inline(value: boolean) { this._inline = this.coerceBooleanProperty(value); }\r\n\r\n // Plugin - clipboard\r\n @Input()\r\n get clipboard(): boolean { return this._clipboard; }\r\n set clipboard(value: boolean) { this._clipboard = this.coerceBooleanProperty(value); }\r\n\r\n @Input() clipboardButtonComponent: Type | undefined;\r\n @Input() clipboardButtonTemplate: TemplateRef | undefined;\r\n\r\n // Plugin - emoji\r\n @Input()\r\n get emoji(): boolean { return this._emoji; }\r\n set emoji(value: boolean) { this._emoji = this.coerceBooleanProperty(value); }\r\n\r\n // Plugin - katex\r\n @Input()\r\n get katex(): boolean { return this._katex; }\r\n set katex(value: boolean) { this._katex = this.coerceBooleanProperty(value); }\r\n\r\n @Input() katexOptions: KatexOptions | undefined;\r\n\r\n // Plugin - mermaid\r\n @Input()\r\n get mermaid(): boolean { return this._mermaid; }\r\n set mermaid(value: boolean) { this._mermaid = this.coerceBooleanProperty(value); }\r\n\r\n @Input() mermaidOptions: MermaidAPI.MermaidConfig | undefined;\r\n\r\n // Plugin - lineHighlight\r\n @Input()\r\n get lineHighlight(): boolean { return this._lineHighlight; }\r\n set lineHighlight(value: boolean) { this._lineHighlight = this.coerceBooleanProperty(value); }\r\n\r\n @Input() line: string | string[] | undefined;\r\n @Input() lineOffset: number | undefined;\r\n\r\n // Plugin - lineNumbers\r\n @Input()\r\n get lineNumbers(): boolean { return this._lineNumbers; }\r\n set lineNumbers(value: boolean) { this._lineNumbers = this.coerceBooleanProperty(value); }\r\n\r\n @Input() start: number | undefined;\r\n\r\n // Plugin - commandLine\r\n @Input()\r\n get commandLine(): boolean { return this._commandLine; }\r\n set commandLine(value: boolean) { this._commandLine = this.coerceBooleanProperty(value); }\r\n\r\n @Input() filterOutput: string | undefined;\r\n @Input() host: string | undefined;\r\n @Input() prompt: string | undefined;\r\n @Input() output: string | undefined;\r\n @Input() user: string | undefined;\r\n\r\n // Event emitters\r\n @Output() error = new EventEmitter();\r\n @Output() load = new EventEmitter();\r\n @Output() ready = new EventEmitter();\r\n\r\n private _clipboard = false;\r\n private _commandLine = false;\r\n private _disableSanitizer = false;\r\n private _emoji = false;\r\n private _inline = false;\r\n private _katex = false;\r\n private _lineHighlight = false;\r\n private _lineNumbers = false;\r\n private _mermaid = false;\r\n\r\n private readonly destroyed$ = new Subject();\r\n\r\n ngOnChanges(): void {\r\n this.loadContent();\r\n }\r\n\r\n loadContent(): void {\r\n if (this.data != null) {\r\n this.handleData();\r\n return;\r\n }\r\n if (this.src != null) {\r\n this.handleSrc();\r\n return;\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (!this.data && !this.src) {\r\n this.handleTransclusion();\r\n }\r\n\r\n this.markdownService.reload$\r\n .pipe(takeUntil(this.destroyed$))\r\n .subscribe(() => this.loadContent());\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroyed$.next();\r\n this.destroyed$.complete();\r\n }\r\n\r\n async render(markdown: string, decodeHtml = false): Promise {\r\n const parsedOptions: ParseOptions = {\r\n decodeHtml,\r\n inline: this.inline,\r\n emoji: this.emoji,\r\n mermaid: this.mermaid,\r\n disableSanitizer: this.disableSanitizer,\r\n };\r\n\r\n const renderOptions: RenderOptions = {\r\n clipboard: this.clipboard,\r\n clipboardOptions: this.getClipboardOptions(),\r\n katex: this.katex,\r\n katexOptions: this.katexOptions,\r\n mermaid: this.mermaid,\r\n mermaidOptions: this.mermaidOptions,\r\n };\r\n\r\n const parsed = await this.markdownService.parse(markdown, parsedOptions);\r\n\r\n this.element.nativeElement.innerHTML = parsed;\r\n\r\n this.handlePlugins();\r\n\r\n this.markdownService.render(this.element.nativeElement, renderOptions, this.viewContainerRef);\r\n\r\n this.ready.emit();\r\n }\r\n\r\n private coerceBooleanProperty(value: boolean | ''): boolean {\r\n return value != null && `${String(value)}` !== 'false';\r\n }\r\n\r\n private getClipboardOptions(): ClipboardRenderOptions | undefined {\r\n if (this.clipboardButtonComponent || this.clipboardButtonTemplate) {\r\n return {\r\n buttonComponent: this.clipboardButtonComponent,\r\n buttonTemplate: this.clipboardButtonTemplate,\r\n };\r\n }\r\n return undefined;\r\n }\r\n\r\n private handleData(): void {\r\n this.render(this.data!);\r\n }\r\n\r\n private handleSrc(): void {\r\n this.markdownService\r\n .getSource(this.src!)\r\n .subscribe({\r\n next: markdown => {\r\n this.render(markdown).then(() => {\r\n this.load.emit(markdown);\r\n });\r\n },\r\n error: (error: string | Error) => this.error.emit(error),\r\n });\r\n }\r\n\r\n private handleTransclusion(): void {\r\n this.render(this.element.nativeElement.innerHTML, true);\r\n }\r\n\r\n private handlePlugins(): void {\r\n if (this.commandLine) {\r\n this.setPluginClass(this.element.nativeElement, PrismPlugin.CommandLine);\r\n this.setPluginOptions(this.element.nativeElement, {\r\n dataFilterOutput: this.filterOutput,\r\n dataHost: this.host,\r\n dataPrompt: this.prompt,\r\n dataOutput: this.output,\r\n dataUser: this.user,\r\n });\r\n }\r\n if (this.lineHighlight) {\r\n this.setPluginOptions(this.element.nativeElement, { dataLine: this.line, dataLineOffset: this.lineOffset });\r\n }\r\n if (this.lineNumbers) {\r\n this.setPluginClass(this.element.nativeElement, PrismPlugin.LineNumbers);\r\n this.setPluginOptions(this.element.nativeElement, { dataStart: this.start });\r\n }\r\n }\r\n\r\n private setPluginClass(element: HTMLElement, plugin: string | string[]): void {\r\n const preElements = element.querySelectorAll('pre');\r\n for (let i = 0; i < preElements.length; i++) {\r\n const classes = plugin instanceof Array ? plugin : [plugin];\r\n preElements.item(i).classList.add(...classes);\r\n }\r\n }\r\n\r\n private setPluginOptions(element: HTMLElement, options: Record): void {\r\n const preElements = element.querySelectorAll('pre');\r\n for (let i = 0; i < preElements.length; i++) {\r\n Object.keys(options).forEach(option => {\r\n const attributeValue = options[option];\r\n if (attributeValue) {\r\n const attributeName = this.toLispCase(option);\r\n preElements.item(i).setAttribute(attributeName, attributeValue.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n private toLispCase(value: string): string {\r\n const upperChars = value.match(/([A-Z])/g);\r\n if (!upperChars) {\r\n return value;\r\n }\r\n let str = value.toString();\r\n for (let i = 0, n = upperChars.length; i < n; i++) {\r\n str = str.replace(new RegExp(upperChars[i]), '-' + upperChars[i].toLowerCase());\r\n }\r\n if (str.slice(0, 1) === '-') {\r\n str = str.slice(1);\r\n }\r\n return str;\r\n }\r\n}\r\n","import { ElementRef, inject, NgZone, Pipe, PipeTransform, ViewContainerRef } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { first } from 'rxjs/operators';\r\nimport { MarkdownService, ParseOptions, RenderOptions } from './markdown.service';\r\n\r\nexport type MarkdownPipeOptions = ParseOptions & RenderOptions;\r\n\r\n@Pipe({\r\n name: 'markdown',\r\n})\r\nexport class MarkdownPipe implements PipeTransform {\r\n private domSanitizer = inject(DomSanitizer);\r\n private elementRef = inject>(ElementRef);\r\n private markdownService = inject(MarkdownService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private zone = inject(NgZone);\r\n\r\n async transform(value: string, options?: MarkdownPipeOptions): Promise {\r\n if (value == null) {\r\n return '';\r\n }\r\n\r\n if (typeof value !== 'string') {\r\n console.error(`MarkdownPipe has been invoked with an invalid value type [${typeof value}]`);\r\n return value;\r\n }\r\n\r\n const markdown = await this.markdownService.parse(value, options);\r\n\r\n this.zone.onStable\r\n .pipe(first())\r\n .subscribe(() => this.markdownService.render(this.elementRef.nativeElement, options, this.viewContainerRef));\r\n\r\n return this.domSanitizer.bypassSecurityTrustHtml(markdown);\r\n }\r\n}\r\n","import { Provider } from '@angular/core';\r\nimport { MarkdownModuleConfig } from './markdown.module';\r\nimport { MarkdownService } from './markdown.service';\r\n\r\nexport function provideMarkdown(markdownModuleConfig?: MarkdownModuleConfig): Provider[] {\r\n return [\r\n MarkdownService,\r\n markdownModuleConfig?.loader ?? [],\r\n markdownModuleConfig?.clipboardOptions ?? [],\r\n markdownModuleConfig?.markedOptions ?? [],\r\n markdownModuleConfig?.mermaidOptions ?? [],\r\n markdownModuleConfig?.markedExtensions ?? [],\r\n markdownModuleConfig?.sanitize ?? [],\r\n ];\r\n}\r\n","import { InjectionToken, ModuleWithProviders, NgModule, Provider } from '@angular/core';\r\nimport { ClipboardButtonComponent } from './clipboard-button.component';\r\nimport { CLIPBOARD_OPTIONS } from './clipboard-options';\r\nimport { LanguagePipe } from './language.pipe';\r\nimport { MarkdownComponent } from './markdown.component';\r\nimport { MarkdownPipe } from './markdown.pipe';\r\nimport { MARKED_EXTENSIONS } from './marked-extensions';\r\nimport { MARKED_OPTIONS } from './marked-options';\r\nimport { MERMAID_OPTIONS } from './mermaid-options';\r\nimport { provideMarkdown } from './provide-markdown';\r\nimport { SANITIZE } from './sanitize-options';\r\n\r\ntype InjectionTokenType> = T extends InjectionToken ? R : unknown;\r\n\r\ninterface TypedValueProvider> {\r\n provide: T;\r\n useValue: InjectionTokenType;\r\n};\r\n\r\ninterface TypedFactoryProvider> {\r\n provide: T;\r\n useFactory: (...args: any[]) => InjectionTokenType;\r\n deps?: any[];\r\n};\r\n\r\ntype TypedProvider> = TypedValueProvider | TypedFactoryProvider;\r\n\r\ntype MultiTypedProvider> = TypedProvider & { multi: true };\r\n\r\n// having a dependency on `HttpClientModule` within a library\r\n// breaks all the interceptors from the app consuming the library\r\n// here, we explicitely ask the user to pass a provider with\r\n// their own instance of `HttpClientModule`\r\nexport interface MarkdownModuleConfig {\r\n loader?: Provider;\r\n clipboardOptions?: TypedProvider;\r\n markedOptions?: TypedProvider;\r\n markedExtensions?: MultiTypedProvider[];\r\n mermaidOptions?: TypedProvider;\r\n sanitize?: TypedProvider;\r\n}\r\n\r\nconst sharedDeclarations = [\r\n ClipboardButtonComponent,\r\n LanguagePipe,\r\n MarkdownComponent,\r\n MarkdownPipe,\r\n];\r\n\r\n@NgModule({\r\n imports: sharedDeclarations,\r\n exports: sharedDeclarations,\r\n})\r\nexport class MarkdownModule {\r\n static forRoot(markdownModuleConfig?: MarkdownModuleConfig): ModuleWithProviders {\r\n return {\r\n ngModule: MarkdownModule,\r\n providers: [\r\n provideMarkdown(markdownModuleConfig),\r\n ],\r\n };\r\n }\r\n\r\n static forChild(): ModuleWithProviders {\r\n return {\r\n ngModule: MarkdownModule,\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["MarkedRenderer"],"mappings":";;;;;;;;;;;AAKA,MAAM,gBAAgB,GAAG,MAAM;AAC/B,MAAM,kBAAkB,GAAG,QAAQ;MAatB,wBAAwB,CAAA;AAXrC,IAAA,WAAA,GAAA;AAYU,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAQ;QAElC,IAAA,CAAA,MAAM,GAAG,QAAQ,CACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,SAAS,CAAC,MAAM,KAAK,CACnB,EAAE,CAAC,IAAI,CAAC,EACR,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAC/B,CAAC,EACF,oBAAoB,EAAE,EACtB,WAAW,CAAC,CAAC,CAAC,CACf,CACF;QAEQ,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAC7B,IAAI,CAAC,MAAM;AACT,cAAE;cACA,gBAAgB,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CACrB;AAKF,IAAA;IAHC,sBAAsB,GAAA;AACpB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;IAC3B;8GAtBW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,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,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EATzB,CAAA;;;;;;AAMT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAXpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,CAAA;;;;;;AAMT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;MCRY,iBAAiB,GAAG,IAAI,cAAc,CAAmB,mBAAmB;;ACVzF;MACa,oBAAoB,CAAA;AA8EhC;;MC1EY,YAAY,CAAA;IAEvB,SAAS,CAAC,KAAoB,EAAE,QAAgB,EAAA;AAC9C,QAAA,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,KAAK,GAAG,EAAE;QACZ;AACA,QAAA,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,QAAQ,GAAG,EAAE;QACf;AACA,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,CAAC,KAAK,CAAC,CAAA,0DAAA,EAA6D,OAAO,KAAK,CAAA,CAAA,CAAG,CAAC;AAC3F,YAAA,OAAO,KAAK;QACd;AACA,QAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,OAAO,CAAC,KAAK,CAAC,CAAA,yDAAA,EAA4D,OAAO,QAAQ,CAAA,CAAA,CAAG,CAAC;AAC7F,YAAA,OAAO,KAAK;QACd;QACA,OAAO,KAAK,GAAG,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO;IAClD;8GAlBW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;;;MCDY,iBAAiB,GAAG,IAAI,cAAc,CAAkB,mBAAmB;;MCE3E,cAAc,GAAG,IAAI,cAAc,CAAgB,gBAAgB;;MCHnE,eAAe,GAAG,IAAI,cAAc,CAA2B,iBAAiB;;MCAhF,QAAQ,GAAG,IAAI,cAAc,CAAqC,UAAU;AAInF,SAAU,kBAAkB,CAAC,QAAmD,EAAA;AACpF,IAAA,OAAO,OAAO,QAAQ,KAAK,UAAU;AACvC;;ACqCO,MAAM,uBAAuB,GAAG;AAChC,MAAM,mBAAmB,GAAG;AAC5B,MAAM,qBAAqB,GAAG;AAC9B,MAAM,uBAAuB,GAAG;AAChC,MAAM,mCAAmC,GAAG;AAC5C,MAAM,yBAAyB,GAAG;AAoBnC,MAAO,gBAAiB,SAAQ,QAAQ,CAAA;AAA9C,IAAA,WAAA,GAAA;;QACE,IAAA,CAAA,yCAAyC,GAAG,KAAK;QACjD,IAAA,CAAA,sCAAsC,GAAG,KAAK;IAChD;AAAC;MAGY,eAAe,CAAA;IAyD1B,IAAI,OAAO,KAAoB,OAAO,IAAI,CAAC,QAAS,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,KAA2B,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,GAAG,KAAK,EAAE;IAC9D;IAEA,IAAI,QAAQ,GAAA,EAAqB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAS,CAAC,CAAC;IAChE,IAAI,QAAQ,CAAC,KAAqB,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK;IAC/B;AAKA,IAAA,WAAA,GAAA;QArEQ,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAChE,IAAA,CAAA,UAAU,GAAG,MAAM,CAAoB,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7E,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7C,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5D,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;QAC9B,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC/C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AAEvB,QAAA,IAAA,CAAA,sBAAsB,GAAkB;YACvD,QAAQ,EAAE,IAAIA,QAAc,EAAE;SAC/B;AAEgB,QAAA,IAAA,CAAA,qBAAqB,GAAiB;AACrD,YAAA,UAAU,EAAE;gBACV,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;gBAC1C,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;gBACzC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC7C,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;gBACtE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE;gBAChE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE;gBACpE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE;gBAClE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE;gBAC1D,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;AAC7C,aAAA;SACF;AAEgB,QAAA,IAAA,CAAA,uBAAuB,GAA6B;AACnE,YAAA,WAAW,EAAE,KAAK;SACnB;AAEgB,QAAA,IAAA,CAAA,yBAAyB,GAAqB;AAC7D,YAAA,eAAe,EAAE,SAAS;SAC3B;AAEgB,QAAA,IAAA,CAAA,qBAAqB,GAAiB;AACrD,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,gBAAgB,EAAE,KAAK;SACxB;AAEgB,QAAA,IAAA,CAAA,sBAAsB,GAAkB;AACvD,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,gBAAgB,EAAE,SAAS;AAC3B,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,cAAc,EAAE,SAAS;SAC1B;AAEgB,QAAA,IAAA,CAAA,wBAAwB,GAAG,eAAe,CAAC,IAAI;QAExD,IAAA,CAAA,QAAQ,GAAyB,IAAI;AAY5B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ;AACtC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;AAG7C,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAgB,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1E;AAEA,IAAA,KAAK,CAAC,QAAgB,EAAE,YAAA,GAA6B,IAAI,CAAC,qBAAqB,EAAA;AAC7E,QAAA,MAAM,EACJ,UAAU,EACV,MAAM,EACN,KAAK,EACL,OAAO,EACP,gBAAgB,GACjB,GAAG,YAAY;AAEhB,QAAA,MAAM,aAAa,GAAG;YACpB,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,YAAY,CAAC,aAAa;SAC9B;AAED,QAAA,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,QAAQ,EAAE;AAE1E,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC;QAC7D;QAEA,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC;QAC1D;QAEA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;AAC9C,QAAA,MAAM,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO;AAC/D,QAAA,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO;AAC5D,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AACjE,QAAA,MAAM,SAAS,GAAG,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AAEvE,QAAA,OAAO,SAAS;IAClB;IAEA,MAAM,CAAC,OAAoB,EAAE,OAAA,GAAyB,IAAI,CAAC,sBAAsB,EAAE,gBAAmC,EAAA;AACpH,QAAA,MAAM,EACJ,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,YAAY,EACZ,OAAO,EACP,cAAc,GACf,GAAG,OAAO;QAEX,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBACxB,GAAG,IAAI,CAAC,qBAAqB;AAC7B,gBAAA,GAAG,YAAY;AAChB,aAAA,CAAC;QACJ;QACA,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;gBAC1B,GAAG,IAAI,CAAC,uBAAuB;gBAC/B,GAAG,IAAI,CAAC,cAAc;AACtB,gBAAA,GAAG,cAAc;AAClB,aAAA,CAAC;QACJ;QACA,IAAI,SAAS,EAAE;AACb,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE;gBAC9C,GAAG,IAAI,CAAC,yBAAyB;gBACjC,GAAG,IAAI,CAAC,gBAAgB;AACxB,gBAAA,GAAG,gBAAgB;AACpB,aAAA,CAAC;QACJ;AAEA,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IACzB;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IACtB;AAEA,IAAA,SAAS,CAAC,GAAW,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;QAC5C;QACA,OAAO,IAAI,CAAC;aACT,GAAG,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;AACjC,aAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/D;AAEA,IAAA,SAAS,CAAC,OAA4B,EAAA;QACpC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrC;QACF;AACA,QAAA,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,WAAW,EAAE;YAClF;QACF;QACA,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,QAAQ;QACpB;QACA,MAAM,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,oCAAoC,CAAC;QACzF,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAU,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAClG,QAAA,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC;IAClC;AAEQ,IAAA,UAAU,CAAC,IAAY,EAAA;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACrC,YAAA,OAAO,IAAI;QACb;QACA,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;AACnD,QAAA,QAAQ,CAAC,SAAS,GAAG,IAAI;QACzB,OAAO,QAAQ,CAAC,KAAK;IACvB;AAEQ,IAAA,4BAA4B,CAAC,QAAkB,EAAA;QACrD,MAAM,gBAAgB,GAAG,QAA4B;AACrD,QAAA,IAAI,gBAAgB,CAAC,yCAAyC,KAAK,IAAI,EAAE;AACvE,YAAA,OAAO,QAAQ;QACjB;AAEA,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACjD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC;AAEA,QAAA,gBAAgB,CAAC,yCAAyC,GAAG,IAAI;AAEjE,QAAA,OAAO,QAAQ;IACjB;AAEQ,IAAA,yBAAyB,CAAC,QAAkB,EAAA;QAClD,MAAM,gBAAgB,GAAG,QAA4B;AACrD,QAAA,IAAI,gBAAgB,CAAC,sCAAsC,KAAK,IAAI,EAAE;AACpE,YAAA,OAAO,QAAQ;QACjB;AAEA,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI;AACjC,QAAA,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAK,KAAI;AACxB,YAAA,OAAO,KAAK,CAAC,IAAI,KAAK;AACpB,kBAAE,CAAA,qBAAA,EAAwB,KAAK,CAAC,IAAI,CAAA,MAAA;AACpC,kBAAE,WAAW,CAAC,KAAK,CAAC;AACxB,QAAA,CAAC;AAED,QAAA,gBAAgB,CAAC,sCAAsC,GAAG,IAAI;AAE9D,QAAA,OAAO,QAAQ;IACjB;IAEQ,eAAe,CAAC,GAAW,EAAE,QAAgB,EAAA;QACnD,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC;AAC/C,QAAA,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,CAAC;cAC3C,GAAG,CAAC,SAAS,CAAC,gBAAgB,GAAG,CAAC;cAClC,GAAG;QAEP,MAAM,cAAc,GAAG,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1D,QAAA,MAAM,cAAc,GAAG,cAAc,GAAG,CAAC;AACvC,cAAE,kBAAkB,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;cAC7D,EAAE;QAEN,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC;AACpD,QAAA,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC;cAC9B,cAAc,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC;cACzC,EAAE;AAEN,QAAA,OAAO,CAAC,CAAC,SAAS,IAAI,SAAS,KAAK;cAChC,KAAK,GAAG,SAAS,GAAG,IAAI,GAAG,QAAQ,GAAG;cACtC,QAAQ;IACd;AAEQ,IAAA,WAAW,CAAC,IAAY,EAAE,aAA4B,EAAE,MAAM,GAAG,KAAK,EAAA;AAC5E,QAAA,IAAI,aAAa,CAAC,QAAQ,EAAE;;;YAG1B,MAAM,QAAQ,GAAG,EAAE,GAAG,aAAa,CAAC,QAAQ,EAA+B;YAC3E,OAAO,QAAQ,CAAC,yCAAyC;YACzD,OAAO,QAAQ,CAAC,sCAAsC;;;YAItD,OAAO,aAAa,CAAC,QAAQ;AAE7B,YAAA,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC1B;AAEA,QAAA,OAAO;cACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa;cACtC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC;IACvC;AAEQ,IAAA,UAAU,CAAC,IAAY,EAAA;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACrC,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,OAAO,SAAS,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAC3F,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;QAC1C;AACA,QAAA,OAAO,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC;IAC3C;IAEQ,WAAW,CAAC,OAAoB,EAAE,OAAqB,EAAA;QAC7D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrC;QACF;QACA,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE;AAC9E,YAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC;QACtC;AACA,QAAA,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC;IACvC;AAEQ,IAAA,eAAe,CAAC,OAAoB,EAAE,gBAA8C,EAAE,OAA+B,EAAA;QAC3H,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrC;QACF;AACA,QAAA,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;AACtC,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;QAC1C;QACA,IAAI,CAAC,gBAAgB,EAAE;AACrB,YAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC;QACtD;AAEA,QAAA,MAAM,EACJ,eAAe,EACf,cAAc,GACf,GAAG,OAAO;;QAGX,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;AACnD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;;YAGtC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACvD,YAAA,iBAAiB,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU;YAC7C,UAAU,CAAC,UAAW,CAAC,YAAY,CAAC,iBAAiB,EAAE,UAAU,CAAC;AAClE,YAAA,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC;;YAGzC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAC3D,YAAA,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC;AACjE,YAAA,qBAAqB,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU;AACjD,YAAA,qBAAqB,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM;AACxC,YAAA,qBAAqB,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM;AAC1C,YAAA,qBAAqB,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG;AACxC,YAAA,iBAAiB,CAAC,qBAAqB,CAAC,WAAW,EAAE,qBAAqB,CAAC;;AAG3E,YAAA,iBAAiB,CAAC,YAAY,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;AACnF,YAAA,iBAAiB,CAAC,YAAY,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;;AAGtF,YAAA,IAAI,eAAyC;;;YAI7C,IAAI,eAAe,EAAE;gBACnB,MAAM,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC;AACtE,gBAAA,eAAe,GAAG,YAAY,CAAC,QAAoC;AACnE,gBAAA,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE;YAC/C;;iBAEK,IAAI,cAAc,EAAE;AACvB,gBAAA,eAAe,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,cAAc,CAAC;YACvE;;iBAEK;gBACH,MAAM,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,wBAAwB,CAAC;AAC/E,gBAAA,eAAe,GAAG,YAAY,CAAC,QAAoC;AACnE,gBAAA,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE;YAC/C;;AAGA,YAAA,IAAI,iBAAqC;;YAGzC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAiB,KAAI;AACtD,gBAAA,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC;AACvC,gBAAA,iBAAiB,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;AACjF,YAAA,CAAC,CAAC;;YAGF,eAAe,CAAC,SAAS,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC9D;IACF;AAEQ,IAAA,aAAa,CAAC,OAAoB,EAAE,OAAA,GAAoC,IAAI,CAAC,uBAAuB,EAAA;QAC1G,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrC;QACF;AACA,QAAA,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE;AAC/E,YAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;QACxC;QACA,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAc,UAAU,CAAC;AACzE,QAAA,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC;QACF;AACA,QAAA,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IACzC;AAEQ,IAAA,eAAe,CAAC,QAAgB,EAAA;QACtC,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,OAAO,EAAE;QACX;AACA,QAAA,IAAI,WAAmB;AACvB,QAAA,OAAO;aACJ,KAAK,CAAC,IAAI;aACV,GAAG,CAAC,IAAI,IAAG;YACV,IAAI,cAAc,GAAG,WAAW;AAChC,YAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACnB,gBAAA,cAAc,GAAG,KAAK,CAAC,cAAc;AACnC,sBAAE,IAAI,CAAC,MAAM,CAAC,MAAM;AACpB,sBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;YACnD;AACA,YAAA,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE;gBACtB,WAAW,GAAG,cAAc;YAC9B;AACA,YAAA,OAAO;AACL,kBAAE,IAAI,CAAC,SAAS,CAAC,cAAc;kBAC7B,IAAI;AACV,QAAA,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACjB;IAEQ,MAAM,YAAY,CAAC,IAA8B,EAAA;AACvD,QAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACrC,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;QAClC;QACA,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe,CAAC,IAAI,EAAE;AAC1C,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,IAAI,EAAE;QAC5F;AACA,QAAA,OAAO,IAAI;IACb;8GAzYW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAf,eAAe,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B;;;IC3EW;AAAZ,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,aAAA,CAAA,GAAA,cAA4B;AAC5B,IAAA,WAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC;AAChC,IAAA,WAAA,CAAA,aAAA,CAAA,GAAA,cAA4B;AAC9B,CAAC,EAJW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;;MCcV,iBAAiB,CAAA;AAL9B,IAAA,WAAA,GAAA;AAME,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC;AACrD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AACzC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;;AA2EjC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAkB;AAC1C,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAU;AACjC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAQ;QAElC,IAAA,CAAA,UAAU,GAAG,KAAK;QAClB,IAAA,CAAA,YAAY,GAAG,KAAK;QACpB,IAAA,CAAA,iBAAiB,GAAG,KAAK;QACzB,IAAA,CAAA,MAAM,GAAG,KAAK;QACd,IAAA,CAAA,OAAO,GAAG,KAAK;QACf,IAAA,CAAA,MAAM,GAAG,KAAK;QACd,IAAA,CAAA,cAAc,GAAG,KAAK;QACtB,IAAA,CAAA,YAAY,GAAG,KAAK;QACpB,IAAA,CAAA,QAAQ,GAAG,KAAK;AAEP,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAQ;AAuJlD,IAAA;IAnOC,IACI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACjE,IAAA,IAAI,gBAAgB,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnG,IACI,MAAM,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7C,IAAA,IAAI,MAAM,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;;IAG/E,IACI,SAAS,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;AACnD,IAAA,IAAI,SAAS,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;;IAMrF,IACI,KAAK,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAA,IAAI,KAAK,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;;IAG7E,IACI,KAAK,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAA,IAAI,KAAK,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;;IAK7E,IACI,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/C,IAAA,IAAI,OAAO,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;;IAKjF,IACI,aAAa,KAAc,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;AAC3D,IAAA,IAAI,aAAa,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;;IAM7F,IACI,WAAW,KAAc,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;AACvD,IAAA,IAAI,WAAW,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;;IAKzF,IACI,WAAW,KAAc,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;AACvD,IAAA,IAAI,WAAW,CAAC,KAAc,EAAA,EAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAyBzF,WAAW,GAAA;QACT,IAAI,CAAC,WAAW,EAAE;IACpB;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE;YACjB;QACF;AACA,QAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,SAAS,EAAE;YAChB;QACF;IACF;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,kBAAkB,EAAE;QAC3B;QAEA,IAAI,CAAC,eAAe,CAAC;AAClB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;aAC/B,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IACxC;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;IAC5B;AAEA,IAAA,MAAM,MAAM,CAAC,QAAgB,EAAE,UAAU,GAAG,KAAK,EAAA;AAC/C,QAAA,MAAM,aAAa,GAAiB;YAClC,UAAU;YACV,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC;AAED,QAAA,MAAM,aAAa,GAAkB;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,YAAA,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC;AAED,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC;QAExE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,GAAG,MAAM;QAE7C,IAAI,CAAC,aAAa,EAAE;AAEpB,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAE7F,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;IACnB;AAEQ,IAAA,qBAAqB,CAAC,KAAmB,EAAA;AAC/C,QAAA,OAAO,KAAK,IAAI,IAAI,IAAI,CAAA,EAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAE,KAAK,OAAO;IACxD;IAEQ,mBAAmB,GAAA;QACzB,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,uBAAuB,EAAE;YACjE,OAAO;gBACL,eAAe,EAAE,IAAI,CAAC,wBAAwB;gBAC9C,cAAc,EAAE,IAAI,CAAC,uBAAuB;aAC7C;QACH;AACA,QAAA,OAAO,SAAS;IAClB;IAEQ,UAAU,GAAA;AAChB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAK,CAAC;IACzB;IAEQ,SAAS,GAAA;AACf,QAAA,IAAI,CAAC;AACF,aAAA,SAAS,CAAC,IAAI,CAAC,GAAI;AACnB,aAAA,SAAS,CAAC;YACT,IAAI,EAAE,QAAQ,IAAG;gBACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAK;AAC9B,oBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1B,gBAAA,CAAC,CAAC;YACJ,CAAC;AACD,YAAA,KAAK,EAAE,CAAC,KAAqB,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACzD,SAAA,CAAC;IACN;IAEQ,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC;IACzD;IAEQ,aAAa,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC;YACxE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;gBAChD,gBAAgB,EAAE,IAAI,CAAC,YAAY;gBACnC,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,QAAQ,EAAE,IAAI,CAAC,IAAI;AACpB,aAAA,CAAC;QACJ;AACA,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7G;AACA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC;AACxE,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9E;IACF;IAEQ,cAAc,CAAC,OAAoB,EAAE,MAAyB,EAAA;QACpE,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;AACnD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3C,YAAA,MAAM,OAAO,GAAG,MAAM,YAAY,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;AAC3D,YAAA,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QAC/C;IACF;IAEQ,gBAAgB,CAAC,OAAoB,EAAE,OAA+D,EAAA;QAC5G,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;AACnD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,IAAG;AACpC,gBAAA,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;gBACtC,IAAI,cAAc,EAAE;oBAClB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;AAC7C,oBAAA,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;gBAC5E;AACF,YAAA,CAAC,CAAC;QACJ;IACF;AAEQ,IAAA,UAAU,CAAC,KAAa,EAAA;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,KAAK;QACd;AACA,QAAA,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE;AAC1B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACjD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjF;QACA,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE;AAC3B,YAAA,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACpB;AACA,QAAA,OAAO,GAAG;IACZ;8GAlPW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,kuBAFlB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAE1B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,2BAA2B;AACtC,iBAAA;;sBAcE;;sBACA;;sBAEA;;sBAIA;;sBAKA;;sBAIA;;sBACA;;sBAGA;;sBAKA;;sBAIA;;sBAGA;;sBAIA;;sBAGA;;sBAIA;;sBACA;;sBAGA;;sBAIA;;sBAGA;;sBAIA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAGA;;sBACA;;sBACA;;;MCpFU,YAAY,CAAA;AAHzB,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACnC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;AACxD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AACzC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;AAoB9B,IAAA;AAlBC,IAAA,MAAM,SAAS,CAAC,KAAa,EAAE,OAA6B,EAAA;AAC1D,QAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,YAAA,OAAO,EAAE;QACX;AAEA,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,CAAC,KAAK,CAAC,CAAA,0DAAA,EAA6D,OAAO,KAAK,CAAA,CAAA,CAAG,CAAC;AAC3F,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;QAEjE,IAAI,CAAC,IAAI,CAAC;aACP,IAAI,CAAC,KAAK,EAAE;aACZ,SAAS,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE9G,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,QAAQ,CAAC;IAC5D;8GAxBW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;;;ACLK,SAAU,eAAe,CAAC,oBAA2C,EAAA;IACzE,OAAO;QACL,eAAe;QACf,oBAAoB,EAAE,MAAM,IAAI,EAAE;QAClC,oBAAoB,EAAE,gBAAgB,IAAI,EAAE;QAC5C,oBAAoB,EAAE,aAAa,IAAI,EAAE;QACzC,oBAAoB,EAAE,cAAc,IAAI,EAAE;QAC1C,oBAAoB,EAAE,gBAAgB,IAAI,EAAE;QAC5C,oBAAoB,EAAE,QAAQ,IAAI,EAAE;KACrC;AACH;;ACGC;AAMA;AAmBD,MAAM,kBAAkB,GAAG;IACzB,wBAAwB;IACxB,YAAY;IACZ,iBAAiB;IACjB,YAAY;CACb;MAMY,cAAc,CAAA;IACzB,OAAO,OAAO,CAAC,oBAA2C,EAAA;QACxD,OAAO;AACL,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,SAAS,EAAE;gBACT,eAAe,CAAC,oBAAoB,CAAC;AACtC,aAAA;SACF;IACH;AAEA,IAAA,OAAO,QAAQ,GAAA;QACb,OAAO;AACL,YAAA,QAAQ,EAAE,cAAc;SACzB;IACH;8GAdW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAVzB,wBAAwB;YACxB,YAAY;YACZ,iBAAiB;AACjB,YAAA,YAAY,aAHZ,wBAAwB;YACxB,YAAY;YACZ,iBAAiB;YACjB,YAAY,CAAA,EAAA,CAAA,CAAA;+GAOD,cAAc,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,kBAAkB;AAC3B,oBAAA,OAAO,EAAE,kBAAkB;AAC5B,iBAAA;;;ACpDD;;AAEG;;;;"}