@lucca-front/ng 17.2.2 → 17.2.3-backfix

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.
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-option.mjs","sources":["../../../packages/ng/option/item/option-item.model.ts","../../../packages/ng/option/item/option-item.component.ts","../../../packages/ng/option/item/option-item.component.html","../../../packages/ng/option/item/option-item.module.ts","../../../packages/ng/option/item/tree-option-item.model.ts","../../../packages/ng/option/item/tree-option-item.translate.ts","../../../packages/ng/option/item/tree-option-item.component.ts","../../../packages/ng/option/item/tree-option-item.component.html","../../../packages/ng/option/item/tree-option-item.module.ts","../../../packages/ng/option/operator/option-operator.model.ts","../../../packages/ng/option/operator/feeder/option-feeder.component.ts","../../../packages/ng/option/operator/feeder/option-feeder.module.ts","../../../packages/ng/option/operator/tree-option-operator.model.ts","../../../packages/ng/option/operator/feeder/tree-option-feeder.component.ts","../../../packages/ng/option/operator/feeder/tree-option-feeder.module.ts","../../../packages/ng/option/operator/pager/option-pager.component.ts","../../../packages/ng/option/operator/pager/option-pager.module.ts","../../../packages/ng/option/operator/pager/tree-option-pager.component.ts","../../../packages/ng/option/operator/pager/tree-option-pager.module.ts","../../../packages/ng/option/placeholder/option-placeholder.translate.ts","../../../packages/ng/option/placeholder/option-placeholder.component.ts","../../../packages/ng/option/placeholder/option-placeholder.component.html","../../../packages/ng/option/placeholder/option-placeholder.module.ts","../../../packages/ng/option/operator/searcher/option-searcher.component.ts","../../../packages/ng/option/operator/searcher/option-searcher.component.html","../../../packages/ng/option/operator/searcher/option-searcher.module.ts","../../../packages/ng/option/operator/searcher/tree-option-searcher.component.ts","../../../packages/ng/option/operator/searcher/tree-option-searcher.module.ts","../../../packages/ng/option/operator/for-groups/for-groups.directive.ts","../../../packages/ng/option/operator/for-groups/for-groups.module.ts","../../../packages/ng/option/operator/for-options/for-options.directive.ts","../../../packages/ng/option/operator/for-options/for-options.module.ts","../../../packages/ng/option/operator/for-options/for-tree-options.directive.ts","../../../packages/ng/option/operator/for-options/for-tree-options.module.ts","../../../packages/ng/option/operator/option-operator.module.ts","../../../packages/ng/option/operator/tree-option-operator.module.ts","../../../packages/ng/option/selector/option-selector.model.ts","../../../packages/ng/option/selector/all/select-all.translate.ts","../../../packages/ng/option/selector/all/select-all.component.ts","../../../packages/ng/option/selector/all/select-all.component.html","../../../packages/ng/option/selector/all/select-all.module.ts","../../../packages/ng/option/selector/tree-option-selector.model.ts","../../../packages/ng/option/selector/all/tree-select-all.component.ts","../../../packages/ng/option/selector/all/tree-select-all.module.ts","../../../packages/ng/option/selector/option-selector.module.ts","../../../packages/ng/option/selector/tree-option-selector.module.ts","../../../packages/ng/option/picker/option-picker.model.ts","../../../packages/ng/option/picker/option-picker.component.ts","../../../packages/ng/option/picker/option-picker.component.html","../../../packages/ng/option/picker/option-picker-advanced.component.ts","../../../packages/ng/option/picker/option-picker-advanced.component.html","../../../packages/ng/option/picker/option-picker.module.ts","../../../packages/ng/option/picker/tree-option-picker.component.ts","../../../packages/ng/option/picker/tree-option-picker.component.html","../../../packages/ng/option/picker/tree-option-picker-advanced.component.ts","../../../packages/ng/option/picker/tree-option-picker-advanced.component.html","../../../packages/ng/option/picker/tree-option-picker.module.ts","../../../packages/ng/option/picker/tree-option-picker.model.ts","../../../packages/ng/option/option.module.ts","../../../packages/ng/option/tree-option.module.ts","../../../packages/ng/option/lucca-front-ng-option.ts"],"sourcesContent":["import { ElementRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport interface ILuOptionItem<T> {\n\tvalue: T;\n\tonSelect: Observable<this>;\n\telement: ElementRef<HTMLElement>;\n\tselected: boolean;\n\thighlighted: boolean;\n\tdisabled: boolean;\n}\nexport abstract class ALuOptionItem<T> implements ILuOptionItem<T> {\n\tabstract value: T;\n\tabstract onSelect: Observable<this>;\n\tabstract element: ElementRef;\n\tabstract selected: boolean;\n\tabstract highlighted: boolean;\n\tabstract disabled: boolean;\n}\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';\nimport { ALuOptionItem, ILuOptionItem } from './option-item.model';\n\n@Component({\n\tselector: 'lu-option',\n\ttemplateUrl: './option-item.component.html',\n\tstyleUrls: ['./option-item.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [CommonModule],\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionItem,\n\t\t\tuseExisting: forwardRef(() => LuOptionItemComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuOptionItemComponent<T> extends ALuOptionItem<T> implements ILuOptionItem<T> {\n\tprotected _selected = false;\n\tget selected() {\n\t\treturn this._selected;\n\t}\n\t@Input() set selected(s: boolean) {\n\t\tif (s !== this._selected) {\n\t\t\tthis._selected = s;\n\t\t\tthis._cdr.markForCheck();\n\t\t}\n\t}\n\tprotected _highlighted = false;\n\tget highlighted() {\n\t\treturn this._highlighted;\n\t}\n\t@Input() set highlighted(h: boolean) {\n\t\tif (h !== this._highlighted) {\n\t\t\tthis._highlighted = h;\n\t\t\tthis._cdr.markForCheck();\n\t\t}\n\t}\n\t@Input() value: T;\n\t@Output() onSelect = new EventEmitter<this>();\n\tselect() {\n\t\tif (!this.disabled) {\n\t\t\tthis.onSelect.emit(this);\n\t\t}\n\t}\n\n\tprotected _disabled = false;\n\tget disabled() {\n\t\treturn this._disabled;\n\t}\n\t@Input() set disabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\n\t@ViewChild('element', { read: ElementRef, static: true }) element: ElementRef;\n\tconstructor(private _cdr: ChangeDetectorRef) {\n\t\tsuper();\n\t}\n}\n","<div class=\"optionItem\" #element>\n\t<div\n\t\tclass=\"optionItem-value\"\n\t\t(click)=\"select()\"\n\t\t[class.is-selected]=\"selected\"\n\t\t[class.is-highlighted]=\"highlighted\"\n\t\t[class.is-disabled]=\"disabled\"\n\t>\n\t\t<ng-content></ng-content>\n\t</div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuOptionItemComponent } from './option-item.component';\n\n@NgModule({\n\timports: [LuOptionItemComponent],\n\texports: [LuOptionItemComponent],\n})\nexport class LuOptionItemModule {}\n","import { Observable } from 'rxjs';\nimport { ALuOptionItem, ILuOptionItem } from './option-item.model';\n\nexport interface ILuTreeOptionItem<T> extends ILuOptionItem<T> {\n\tchildren: this[];\n\tallChildren: this[];\n\n\tonSelectSelf: Observable<this>;\n\tonSelectChildren: Observable<this>;\n}\nexport abstract class ALuTreeOptionItem<T> extends ALuOptionItem<T> implements ILuTreeOptionItem<T> {\n\tabstract children: this[];\n\tget allChildren(): this[] {\n\t\treturn this.children.map((c) => [c, ...c.allChildren]).reduce((aggr, val) => [...aggr, ...val], []);\n\t}\n\tabstract onSelectSelf: Observable<this>;\n\tabstract onSelectChildren: Observable<this>;\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_TREE_OPTION_ITEM_TRANSLATIONS = new InjectionToken('LuTreeOptionItemTranslations', {\n\tfactory: () => luTreeOptionItemTranslations,\n});\n\nexport interface ILuTreeOptionItemLabel {\n\tparentOnly: string;\n\tchildrenOnly: string;\n}\n\nexport const luTreeOptionItemTranslations: ILuTranslation<ILuTreeOptionItemLabel> = {\n\ten: {\n\t\tparentOnly: 'Parent only',\n\t\tchildrenOnly: 'Children only',\n\t},\n\tfr: {\n\t\tparentOnly: 'Seulement le parent',\n\t\tchildrenOnly: 'Seulement les enfants',\n\t},\n};\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';\nimport { getIntl, ILuTree } from '@lucca-front/ng/core';\nimport { ALuInputDisplayer, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';\nimport { ALuTreeOptionItem, ILuTreeOptionItem } from './tree-option-item.model';\nimport { LU_TREE_OPTION_ITEM_TRANSLATIONS } from './tree-option-item.translate';\n\n@Component({\n\tselector: 'lu-tree-option',\n\ttemplateUrl: './tree-option-item.component.html',\n\tstyleUrls: ['./tree-option-item.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [CommonModule, LuTooltipTriggerDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionItem,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionItemComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuTreeOptionItemComponent<T> extends ALuTreeOptionItem<T> implements ILuTreeOptionItem<T> {\n\tprotected _children: this[] = [];\n\tprotected _tree: ILuTree<T>;\n\tprotected _displayer: ILuInputDisplayer<T>;\n\t@ViewChild('value', { static: true, read: ViewContainerRef })\n\tprotected _valueVCR: ViewContainerRef;\n\t@ViewChild('children', { static: true, read: ViewContainerRef })\n\tprotected _childrenVCR: ViewContainerRef;\n\t@ViewChild('element', { read: ElementRef, static: true }) element: ElementRef;\n\n\t@Output() onSelect = new EventEmitter<this>();\n\t@Output() onSelectSelf = new EventEmitter<this>();\n\t@Output() onSelectChildren = new EventEmitter<this>();\n\tselect() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.onSelect.emit(this);\n\t}\n\tselectSelf() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.onSelectSelf.emit(this);\n\t}\n\tselectChildren() {\n\t\tthis.onSelectChildren.emit(this);\n\t}\n\n\t@Input() set tree(t: ILuTree<T>) {\n\t\tthis._tree = t;\n\t\tthis._renderValue(t.value);\n\t\tthis._renderChildren(t.children);\n\t}\n\tget value() {\n\t\treturn this._tree.value;\n\t}\n\tget children() {\n\t\treturn this._children;\n\t}\n\tset children(c) {\n\t\tthis._children = c;\n\t}\n\tget hasChildren() {\n\t\treturn !!this.children && this.children.length > 0;\n\t}\n\n\tprotected _selected = false;\n\tget selected() {\n\t\treturn this._selected;\n\t}\n\t@Input() set selected(s: boolean) {\n\t\tif (s !== this._selected && !this.disabled) {\n\t\t\tthis._selected = s;\n\t\t\tthis._cdr.markForCheck();\n\t\t}\n\t}\n\tprotected _highlighted = false;\n\tget highlighted() {\n\t\treturn this._highlighted;\n\t}\n\t@Input() set highlighted(h: boolean) {\n\t\tif (h !== this._highlighted) {\n\t\t\tthis._highlighted = h;\n\t\t\tthis._cdr.markForCheck();\n\t\t}\n\t}\n\tget disabled() {\n\t\treturn this._tree.disabled;\n\t}\n\n\t@ContentChild(ALuInputDisplayer, { static: true }) set _contentChildDisplayer(displayer: ILuInputDisplayer<T>) {\n\t\tthis._displayer = displayer;\n\t}\n\n\tpublic intl = getIntl(LU_TREE_OPTION_ITEM_TRANSLATIONS);\n\n\tconstructor(private _cdr: ChangeDetectorRef) {\n\t\tsuper();\n\t}\n\n\tprivate _renderValue(value: T) {\n\t\tconst evr = this._displayer.getViewRef(value);\n\t\tthis._valueVCR.clear();\n\t\tthis._valueVCR.insert(evr);\n\t}\n\tprivate _renderChildren(children: ILuTree<T>[] = []) {\n\t\tthis._childrenVCR.clear();\n\t\tthis.children = children.map((c) => {\n\t\t\tconst ref = this._childrenVCR.createComponent(LuTreeOptionItemComponent);\n\t\t\tref.instance._displayer = this._displayer;\n\t\t\tref.instance.tree = c;\n\t\t\treturn ref.instance as this; //yolo\n\t\t});\n\t}\n}\n","<div class=\"optionItem\" #element>\n\t<div\n\t\tclass=\"optionItem-value\"\n\t\t(click)=\"select()\"\n\t\t[class.is-disabled]=\"disabled\"\n\t\t[class.is-selected]=\"selected\"\n\t\t[class.is-highlighted]=\"highlighted\"\n\t>\n\t\t<ng-container #value></ng-container>\n\t</div>\n\t<div class=\"optionItem-icons\" *ngIf=\"hasChildren\">\n\t\t<span *ngIf=\"!_tree.disabled\" class=\"optionItem-icon parentOnly\" (click)=\"selectSelf()\" [luTooltip]=\"intl.parentOnly\">\n\t\t\t<svg class=\"optionItem-icon-shape\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n\t\t\t\t<path\n\t\t\t\t\topacity=\"0.2\"\n\t\t\t\t\td=\"M8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18ZM8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18Z\"\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\td=\"M4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7ZM4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7Z\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t</span>\n\t\t<span class=\"optionItem-icon childrenOnly\" (click)=\"selectChildren()\" [luTooltip]=\"intl.childrenOnly\">\n\t\t\t<svg class=\"optionItem-icon-shape\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18ZM8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18Z\"\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\topacity=\"0.2\"\n\t\t\t\t\td=\"M4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7ZM4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7Z\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t</span>\n\t</div>\n</div>\n\n<div #children class=\"children\">\n\t<ng-container #children></ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionItemComponent } from './tree-option-item.component';\n\n@NgModule({\n\timports: [LuTreeOptionItemComponent],\n\texports: [LuTreeOptionItemComponent],\n})\nexport class LuTreeOptionItemModule {}\n","import { Observable } from 'rxjs';\n\nexport interface ILuOptionOperator<T> {\n\tinOptions$?: Observable<T[]>;\n\toutOptions$?: Observable<T[]>;\n}\nexport abstract class ALuOptionOperator<T> implements ILuOptionOperator<T> {\n\tabstract inOptions$?: Observable<T[]>;\n\tabstract outOptions$?: Observable<T[]>;\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\n\n@Component({\n\tselector: 'lu-option-feeder',\n\ttemplate: '',\n\tstyleUrls: [],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuOptionFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuOptionFeederComponent<T> implements ILuOptionOperator<T> {\n\toutOptions$ = new BehaviorSubject<T[]>([]);\n\t@Input() set options(options: T[]) {\n\t\tthis.outOptions$.next(options);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuOptionFeederComponent } from './option-feeder.component';\n\n@NgModule({\n\timports: [LuOptionFeederComponent],\n\texports: [LuOptionFeederComponent],\n})\nexport class LuOptionFeederModule {}\n","import { ILuOptionOperator, ALuOptionOperator } from './option-operator.model';\nimport { ILuTree } from '@lucca-front/ng/core';\n\nexport type ILuTreeOptionOperator<T> = ILuOptionOperator<ILuTree<T>>;\n\nexport abstract class ALuTreeOptionOperator<T> extends ALuOptionOperator<ILuTree<T>> implements ILuTreeOptionOperator<T> {}\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\nimport { ILuTree } from '@lucca-front/ng/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\n\n@Component({\n\tselector: 'lu-tree-option-feeder',\n\ttemplate: '',\n\tstyleUrls: [],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuTreeOptionFeederComponent<T> implements ILuTreeOptionOperator<T> {\n\toutOptions$ = new BehaviorSubject<ILuTree<T>[]>([]);\n\t@Input() set options(options: ILuTree<T>[]) {\n\t\tthis.outOptions$.next(options);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionFeederComponent } from './tree-option-feeder.component';\n\n@NgModule({\n\timports: [LuTreeOptionFeederComponent],\n\texports: [LuTreeOptionFeederComponent],\n})\nexport class LuTreeOptionFeederModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { ALuOnScrollBottomSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\nconst MAGIC_STEP = 10;\n@Component({\n\tselector: 'lu-option-pager',\n\ttemplate: '',\n\tstyleUrls: [],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuOptionPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuOptionPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuOptionPagerComponent<T> extends ALuOptionOperator<T> implements ILuOptionOperator<T>, ILuOnScrollBottomSubscriber {\n\toutOptions$: Observable<T[]>;\n\tset inOptions$(in$: Observable<T[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.paging$]).pipe(\n\t\t\tmap(([options, paging]) => {\n\t\t\t\treturn (options || []).slice(0, paging);\n\t\t\t}),\n\t\t);\n\t}\n\tpaging$ = new BehaviorSubject<number>(MAGIC_STEP);\n\tnext() {\n\t\tthis.paging$.next(this.paging$.value + MAGIC_STEP);\n\t}\n\tonScrollBottom() {\n\t\tthis.next();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuOptionPagerComponent } from './option-pager.component';\n\n@NgModule({\n\timports: [LuOptionPagerComponent],\n\texports: [LuOptionPagerComponent],\n})\nexport class LuOptionPagerModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { ALuOnScrollBottomSubscriber, ILuOnScrollBottomSubscriber, ILuTree } from '@lucca-front/ng/core';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\nconst MAGIC_STEP = 10;\n@Component({\n\tselector: 'lu-tree-option-pager',\n\ttemplate: '',\n\tstyleUrls: [],\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuTreeOptionPagerComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionOperator<T>, ILuOnScrollBottomSubscriber {\n\toutOptions$: Observable<ILuTree<T>[]>;\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.paging$]).pipe(\n\t\t\tmap(([options, paging]) => {\n\t\t\t\treturn this.trim(options, paging);\n\t\t\t}),\n\t\t);\n\t}\n\tpaging$ = new BehaviorSubject<number>(MAGIC_STEP);\n\tnext() {\n\t\tthis.paging$.next(this.paging$.value + MAGIC_STEP);\n\t}\n\tonScrollBottom() {\n\t\tthis.next();\n\t}\n\ttrim(trees: ILuTree<T>[] = [], paging: number = MAGIC_STEP): ILuTree<T>[] {\n\t\tconst flat = this.flatten(trees);\n\t\tconst flatTrimmed = flat.slice(0, paging);\n\n\t\treturn this.filter(trees, flatTrimmed);\n\t}\n\tflatten(trees: ILuTree<T>[] = []): T[] {\n\t\treturn trees.map((t) => [t.value, ...this.flatten(t.children)]).reduce((a, v) => [...a, ...v], []);\n\t}\n\tfilter(trees: ILuTree<T>[] = [], values: T[]): ILuTree<T>[] {\n\t\treturn trees\n\t\t\t.map((t) => {\n\t\t\t\tif (!values.some((v) => v === t.value)) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\treturn { ...t, children: this.filter(t.children, values) };\n\t\t\t})\n\t\t\t.filter((t) => !!t);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionPagerComponent } from './tree-option-pager.component';\n\n@NgModule({\n\timports: [LuTreeOptionPagerComponent],\n\texports: [LuTreeOptionPagerComponent],\n})\nexport class LuTreeOptionPagerModule {}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_OPTION_PLACEHOLDER_TRANSLATIONS = new InjectionToken('LuOptionPlaceholderTranslations', {\n\tfactory: () => luOptionPlaceholderTranslations,\n});\n\nexport interface ILuOptionPlaceholderLabel {\n\tplaceholderDescription: string;\n\tplaceholderAction: string;\n}\n\nexport const luOptionPlaceholderTranslations: ILuTranslation<ILuOptionPlaceholderLabel> = {\n\ten: {\n\t\tplaceholderDescription: 'No results match your search criteria.',\n\t\tplaceholderAction: 'Clear search',\n\t},\n\tfr: {\n\t\tplaceholderDescription: 'Aucun résultat pour votre recherche',\n\t\tplaceholderAction: 'Vider la recherche',\n\t},\n\tes: {\n\t\tplaceholderDescription: 'No se han encontrado resultados para su búsqueda',\n\t\tplaceholderAction: 'Eliminar búsqueda',\n\t},\n};\n","import { Component, EventEmitter, Output } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LU_OPTION_PLACEHOLDER_TRANSLATIONS } from './option-placeholder.translate';\n\n@Component({\n\tselector: 'lu-option-placeholder',\n\ttemplateUrl: './option-placeholder.component.html',\n\tstyleUrls: ['./option-placeholder.component.scss'],\n\tstandalone: true,\n})\nexport class LuOptionPlaceholderComponent {\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output() onClear = new EventEmitter();\n\n\tpublic intl = getIntl(LU_OPTION_PLACEHOLDER_TRANSLATIONS);\n\n\tclear() {\n\t\tthis.onClear.emit();\n\t}\n}\n","<div class=\"optionPlaceholder\">\n\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.placeholderDescription }}</p>\n\t<button type=\"button\" class=\"link\" (click)=\"clear()\">{{ intl.placeholderAction }}</button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuOptionPlaceholderComponent } from './option-placeholder.component';\n\n@NgModule({\n\timports: [LuOptionPlaceholderComponent],\n\texports: [LuOptionPlaceholderComponent],\n})\nexport class LuOptionPlaceholderModule {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber } from '@lucca-front/ng/core';\nimport { combineLatest, merge, Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { LuOptionPlaceholderComponent } from '../../placeholder';\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\n\n@Component({\n\tselector: 'lu-option-searcher',\n\ttemplateUrl: 'option-searcher.component.html',\n\tstyleUrls: ['option-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuOptionSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuOptionSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuOptionSearcherComponent<T> extends ALuOptionOperator<T> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\n\tsearchControl = new FormControl();\n\tclue$ = merge(of(''), this.searchControl.valueChanges) as Observable<string>;\n\tempty$: Observable<boolean>;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\toutOptions$: Observable<T[]>;\n\tset inOptions$(in$: Observable<T[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.clue$]).pipe(\n\t\t\tmap(([options, clue]) => {\n\t\t\t\treturn clue ? (options || []).filter((o) => this.searchFn(o, clue)) : options || [];\n\t\t\t}),\n\t\t);\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => !o || o.length === 0));\n\t}\n\t@Input() searchFn: (option: T, clue: string) => boolean = () => true;\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis.searchControl.setValue('');\n\t}\n\tresetClue() {\n\t\tthis.searchControl.setValue('');\n\t}\n}\n","<div class=\"textfield mod-search\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"searchControl\" />\n</div>\n\n<lu-option-placeholder *ngIf=\"empty$ | async\" (onClear)=\"resetClue()\"></lu-option-placeholder>\n","import { NgModule } from '@angular/core';\nimport { LuOptionSearcherComponent } from './option-searcher.component';\n\n@NgModule({\n\timports: [LuOptionSearcherComponent],\n\texports: [LuOptionSearcherComponent],\n})\nexport class LuOptionSearcherModule {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber, ILuTree } from '@lucca-front/ng/core';\nimport { combineLatest, merge, Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { LuOptionPlaceholderComponent } from '../../placeholder';\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\n\n@Component({\n\tselector: 'lu-tree-option-searcher',\n\ttemplateUrl: './option-searcher.component.html',\n\tstyleUrls: ['./option-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuTreeOptionSearcherComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionOperator<T>, ILuOnOpenSubscriber {\n\tsearchControl = new FormControl();\n\tclue$ = merge(of(''), this.searchControl.valueChanges) as Observable<string>;\n\tempty$: Observable<boolean>;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\toutOptions$: Observable<ILuTree<T>[]>;\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.clue$]).pipe(\n\t\t\tmap(([options, clue]) => {\n\t\t\t\tif (!clue) {\n\t\t\t\t\treturn options || [];\n\t\t\t\t}\n\t\t\t\treturn this.trim(options, clue);\n\t\t\t}),\n\t\t);\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => !o || o.length === 0));\n\t}\n\t@Input() searchFn: (option: T, clue: string) => boolean = () => true;\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis.searchControl.setValue('');\n\t}\n\ttrim(options: ILuTree<T>[], clue: string): ILuTree<T>[] {\n\t\treturn options\n\t\t\t.map((option) => {\n\t\t\t\tif (this.searchFn(option.value, clue)) {\n\t\t\t\t\treturn { ...option };\n\t\t\t\t}\n\t\t\t\tconst trimmedChildren = option.children ? this.trim(option.children, clue) : [];\n\t\t\t\tif (trimmedChildren.length) {\n\t\t\t\t\treturn { ...option, children: trimmedChildren };\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t})\n\t\t\t.filter((o) => !!o);\n\t}\n\tresetClue() {\n\t\tthis.searchControl.setValue('');\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionSearcherComponent } from './tree-option-searcher.component';\n\n@NgModule({\n\timports: [LuTreeOptionSearcherComponent],\n\texports: [LuTreeOptionSearcherComponent],\n})\nexport class LuTreeOptionSearcherModule {}\n","import { ChangeDetectorRef, Directive, forwardRef, Input, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ILuGroup } from '@lucca-front/ng/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\n\nexport class LuForGroupContext<T> {\n\tpublic constructor(public $implicit: T, public index: number, public count: number) {}\n\n\tpublic get first(): boolean {\n\t\treturn this.index === 0;\n\t}\n\n\tpublic get last(): boolean {\n\t\treturn this.index === this.count - 1;\n\t}\n\n\tpublic get even(): boolean {\n\t\treturn this.index % 2 === 0;\n\t}\n\n\tpublic get odd(): boolean {\n\t\treturn !this.even;\n\t}\n}\n\n@Directive({\n\tselector: '[luForGroups]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuForGroupsDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuForGroupsDirective<TItem, TKey> implements ILuOptionOperator<TItem>, OnDestroy {\n\toutOptions$?: Observable<TItem[]>;\n\n\tprivate _groupByFn: (item: TItem) => TKey;\n\t@Input('luForGroupsGroupBy')\n\tpublic set attrGroupBy(fn: (item: TItem) => TKey) {\n\t\tthis._groupByFn = fn;\n\t}\n\n\tprotected _subs = new Subscription();\n\tpublic set inOptions$(options$: Observable<TItem[]>) {\n\t\tthis._subs.add(options$.subscribe((options) => this.render(options)));\n\t\tthis.outOptions$ = options$;\n\t}\n\n\tpublic constructor(protected _vcr: ViewContainerRef, protected _cdr: ChangeDetectorRef, protected _templateRef: TemplateRef<LuForGroupContext<ILuGroup<TItem, TKey>>>) {}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis._subs.unsubscribe();\n\t}\n\n\tpublic render(options: TItem[]): void {\n\t\tthis._vcr.clear();\n\t\tconst count = options.length;\n\t\tconst groups = this.groupBy(options);\n\t\tgroups.forEach((group, index) => {\n\t\t\tthis._vcr.createEmbeddedView(this._templateRef, new LuForGroupContext<ILuGroup<TItem, TKey>>(group, index, count));\n\t\t});\n\t\tthis._cdr.markForCheck();\n\t}\n\n\tprotected groupBy(items: TItem[]): ILuGroup<TItem, TKey>[] {\n\t\tconst groups: ILuGroup<TItem, TKey>[] = [];\n\t\titems.forEach((item) => {\n\t\t\tconst key = this._groupByFn(item);\n\t\t\tlet group = groups.find((g) => g.key === key);\n\t\t\tif (!group) {\n\t\t\t\tgroup = { key: key, items: [] };\n\t\t\t\tgroups.push(group);\n\t\t\t}\n\t\t\tgroup.items.push(item);\n\t\t});\n\t\treturn groups;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuForGroupsDirective } from './for-groups.directive';\n\n@NgModule({\n\timports: [LuForGroupsDirective],\n\texports: [LuForGroupsDirective],\n})\nexport class LuForGroupsModule {}\n","import { NgForOf, NgForOfContext } from '@angular/common';\nimport { ChangeDetectorRef, Directive, forwardRef, Input, IterableDiffers, OnDestroy, TemplateRef, TrackByFunction, ViewContainerRef } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\n\n@Directive({\n\tselector: '[luForOptions]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuForOptionsDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuForOptionsDirective<T> extends NgForOf<T> implements ILuOptionOperator<T>, OnDestroy {\n\toutOptions$;\n\tprotected _subs = new Subscription();\n\tset inOptions$(options$: Observable<T[]>) {\n\t\tthis._subs.add(\n\t\t\toptions$.subscribe((options) => {\n\t\t\t\tthis.ngForOf = options;\n\t\t\t\tthis._changeDetectionRef.markForCheck();\n\t\t\t}),\n\t\t);\n\t\tthis.outOptions$ = options$;\n\t}\n\t@Input()\n\tset luForOptionsTrackBy(fn: TrackByFunction<T>) {\n\t\tthis.ngForTrackBy = fn;\n\t}\n\n\tconstructor(_viewContainer: ViewContainerRef, _template: TemplateRef<NgForOfContext<T>>, _differs: IterableDiffers, protected _changeDetectionRef: ChangeDetectorRef) {\n\t\tsuper(_viewContainer, _template, _differs);\n\t}\n\n\tngOnDestroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuForOptionsDirective } from './for-options.directive';\n\n@NgModule({\n\timports: [LuForOptionsDirective],\n\texports: [LuForOptionsDirective],\n})\nexport class LuForOptionsModule {}\n","import { Directive, forwardRef, OnDestroy } from '@angular/core';\n\nimport { ILuTree } from '@lucca-front/ng/core';\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\nimport { LuForOptionsDirective } from './for-options.directive';\n\n@Directive({\n\tselector: '[luForTreeOptions]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuForTreeOptionsDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuForTreeOptionsDirective<T> extends LuForOptionsDirective<ILuTree<T>> implements ILuTreeOptionOperator<T>, OnDestroy {}\n","import { NgModule } from '@angular/core';\nimport { LuForTreeOptionsDirective } from './for-tree-options.directive';\n\n@NgModule({\n\timports: [LuForTreeOptionsDirective],\n\texports: [LuForTreeOptionsDirective],\n})\nexport class LuForTreeOptionsModule {}\n","import { NgModule } from '@angular/core';\nimport { LuOptionFeederComponent } from './feeder';\nimport { LuForGroupsDirective } from './for-groups/index';\nimport { LuForOptionsDirective } from './for-options/index';\nimport { LuOptionPagerComponent } from './pager';\nimport { LuOptionSearcherComponent } from './searcher/index';\n\n@NgModule({\n\timports: [LuOptionPagerComponent, LuOptionFeederComponent, LuOptionSearcherComponent, LuForOptionsDirective, LuForGroupsDirective],\n\texports: [LuOptionPagerComponent, LuOptionFeederComponent, LuOptionSearcherComponent, LuForOptionsDirective, LuForGroupsDirective],\n})\nexport class LuOptionOperatorModule {}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionFeederComponent } from './feeder/index';\nimport { LuForTreeOptionsDirective } from './for-options/index';\nimport { LuTreeOptionPagerComponent } from './pager/index';\nimport { LuTreeOptionSearcherModule } from './searcher/index';\n\n@NgModule({\n\timports: [LuTreeOptionFeederComponent, LuForTreeOptionsDirective, LuTreeOptionPagerComponent, LuTreeOptionSearcherModule],\n\texports: [LuTreeOptionFeederComponent, LuForTreeOptionsDirective, LuTreeOptionPagerComponent, LuTreeOptionSearcherModule],\n})\nexport class LuTreeOptionOperatorModule {}\n","import { Observable } from 'rxjs';\n\nexport interface ILuOptionSelector<T> {\n\tmultiple: boolean;\n\tonSelectValue: Observable<T | T[]>;\n\tsetValue(value: T | T[]): void;\n}\nexport abstract class ALuOptionSelector<T> implements ILuOptionSelector<T> {\n\tmultiple: boolean;\n\tabstract onSelectValue: Observable<T | T[]>;\n\tabstract setValue(value: T | T[]): void;\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_OPTION_SELECT_ALL_TRANSLATIONS = new InjectionToken('LuOptionSelectAllTranslations', {\n\tfactory: () => luOptionSelectAllTranslations,\n});\n\nexport interface ILuOptionSelectAllLabel {\n\tselect: string;\n\tdeselect: string;\n}\n\nexport const luOptionSelectAllTranslations: ILuTranslation<ILuOptionSelectAllLabel> = {\n\ten: {\n\t\tselect: 'Select all',\n\t\tdeselect: 'Deselect all',\n\t},\n\tfr: {\n\t\tselect: 'Tout sélectionner',\n\t\tdeselect: 'Tout déselectionner',\n\t},\n\tde: {\n\t\tselect: 'Alle auswählen',\n\t\tdeselect: 'Alle abwählen',\n\t},\n\tpt: {\n\t\tselect: 'Selecionar tudo',\n\t\tdeselect: 'Desselecionar tudo',\n\t},\n\tes: {\n\t\tselect: 'Seleccionar todo',\n\t\tdeselect: 'Desmarcar todo',\n\t},\n};\n","import { ChangeDetectionStrategy, Component, forwardRef, HostBinding } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { Observable, Subject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { ALuOptionOperator } from '../../operator/option-operator.model';\nimport { ALuOptionSelector, ILuOptionSelector } from '../option-selector.model';\nimport { LU_OPTION_SELECT_ALL_TRANSLATIONS } from './select-all.translate';\n\n@Component({\n\tselector: 'lu-option-select-all',\n\ttemplateUrl: './select-all.component.html',\n\tstyleUrls: ['select-all.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuOptionSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuOptionSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuOptionSelectAllComponent<T> extends ALuOptionOperator<T> implements ILuOptionSelector<T> {\n\tmultiple = true;\n\tonSelectValue = new Subject<T | T[]>();\n\tprivate _values: T[];\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\toptions: T[];\n\toutOptions$: Observable<T[]>;\n\tset inOptions$(in$: Observable<T[]>) {\n\t\tthis.outOptions$ = in$.pipe(tap((options) => (this.options = options)));\n\t}\n\n\tpublic intl = getIntl(LU_OPTION_SELECT_ALL_TRANSLATIONS);\n\n\tselectAll() {\n\t\tthis.onSelectValue.next([...this.options]);\n\t}\n\tdeselectAll() {\n\t\tthis.onSelectValue.next([]);\n\t}\n\tsetValue(values: T | T[]): void {\n\t\tthis._values = values as T[];\n\t}\n}\n","<button type=\"button\" (click)=\"selectAll()\" class=\"link selectAll-button\">{{ intl.select }}</button>\n<button type=\"button\" (click)=\"deselectAll()\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\n","import { NgModule } from '@angular/core';\nimport { LuOptionSelectAllComponent } from './select-all.component';\n\n@NgModule({\n\timports: [LuOptionSelectAllComponent],\n\texports: [LuOptionSelectAllComponent],\n})\nexport class LuOptionSelectAllModule {}\n","import { ALuOptionSelector, ILuOptionSelector } from './option-selector.model';\n\nexport type ILuTreeOptionSelector<T> = ILuOptionSelector<T>;\nexport abstract class ALuTreeOptionSelector<T> extends ALuOptionSelector<T> implements ILuTreeOptionSelector<T> {}\n","import { ChangeDetectionStrategy, Component, forwardRef, HostBinding } from '@angular/core';\nimport { getIntl, ILuTree } from '@lucca-front/ng/core';\nimport { Observable, Subject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { ALuTreeOptionOperator } from '../../operator/index';\nimport { ALuTreeOptionSelector, ILuTreeOptionSelector } from '../tree-option-selector.model';\nimport { LU_OPTION_SELECT_ALL_TRANSLATIONS } from './select-all.translate';\n\n@Component({\n\tselector: 'lu-tree-option-select-all',\n\ttemplateUrl: './select-all.component.html',\n\tstyleUrls: ['select-all.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuTreeOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuTreeOptionSelectAllComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionSelector<T> {\n\tmultiple = true;\n\tonSelectValue = new Subject<T | T[]>();\n\tprivate _values: T[];\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\tflatOptions: T[];\n\toutOptions$: Observable<ILuTree<T>[]>;\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\n\t\tthis.outOptions$ = in$.pipe(tap((options) => (this.flatOptions = this.flattenTree(options))));\n\t}\n\n\tpublic intl = getIntl(LU_OPTION_SELECT_ALL_TRANSLATIONS);\n\n\tselectAll() {\n\t\tthis.onSelectValue.next([...this.flatOptions]);\n\t}\n\tdeselectAll() {\n\t\tthis.onSelectValue.next([]);\n\t}\n\tsetValue(values: T | T[]): void {\n\t\tthis._values = values as T[];\n\t}\n\n\tprivate flattenTree(tree: ILuTree<T>[] = []): T[] {\n\t\treturn tree.map((t) => [t.value, ...this.flattenTree(t.children)]).reduce((agg, cur) => [...agg, ...cur], []);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionSelectAllComponent } from './tree-select-all.component';\n\n@NgModule({\n\timports: [LuTreeOptionSelectAllComponent],\n\texports: [LuTreeOptionSelectAllComponent],\n})\nexport class LuTreeOptionSelectAllModule {}\n","import { NgModule } from '@angular/core';\nimport { LuOptionSelectAllModule } from './all/index';\n\n@NgModule({\n\timports: [LuOptionSelectAllModule],\n\texports: [LuOptionSelectAllModule],\n})\nexport class LuOptionSelectorModule {}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionSelectAllModule } from './all/index';\n\n@NgModule({\n\timports: [LuTreeOptionSelectAllModule],\n\texports: [LuTreeOptionSelectAllModule],\n})\nexport class LuTreeOptionSelectorModule {}\n","import { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { merge, Observable, Subscription } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { ILuOptionItem } from '../item/option-item.model';\n\nexport type ILuOptionPickerPanel<T> = ILuPickerPanel<T>;\n\nexport type LuOptionComparer<T> = (option1: T, option2: T) => boolean;\n\nexport abstract class ALuOptionPicker<T, O extends ILuOptionItem<T> = ILuOptionItem<T>> extends ALuPickerPanel<T> implements ILuOptionPickerPanel<T> {\n\tprotected _subs = new Subscription();\n\toverride onSelectValue: Observable<T | T[]>;\n\tprotected _value: T | T[];\n\tsetValue(value: T | T[]) {\n\t\tthis._value = value;\n\t\tthis._applySelected();\n\t}\n\tprivate __options$: Observable<O[]>;\n\tprotected get _options$() {\n\t\treturn this.__options$;\n\t}\n\tprotected set _options$(options$: Observable<O[]>) {\n\t\tthis.__options$ = options$;\n\t\t// reapply selected when the options change\n\t\tthis._subs.add(\n\t\t\toptions$.subscribe(() => {\n\t\t\t\tthis._applySelected();\n\t\t\t\tthis._applyHighlight();\n\t\t\t}),\n\t\t);\n\t\t// subscribe to any option.onSelect\n\t\tconst singleFlow$ = options$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelect))));\n\t\tthis._subs.add(singleFlow$.subscribe((option) => this._toggle(option)));\n\t}\n\tprotected optionComparer: LuOptionComparer<T> = (option1: T, option2: T) => JSON.stringify(option1) === JSON.stringify(option2);\n\tprotected _toggle(option: O) {\n\t\tconst value = option.value;\n\t\tif (!this.multiple) {\n\t\t\tthis._select(value);\n\t\t} else {\n\t\t\tconst values = <T[]>this._value || [];\n\t\t\tlet newValues: T[];\n\t\t\tif (values.some((v) => this.optionComparer(v, value))) {\n\t\t\t\t// value was present, we remove it\n\t\t\t\tnewValues = values.filter((v) => !this.optionComparer(v, value));\n\t\t\t} else {\n\t\t\t\t// value was absent, we add it\n\t\t\t\tnewValues = [...values, value];\n\t\t\t}\n\t\t\tthis._select(newValues);\n\t\t}\n\t}\n\n\tprotected _select(val: T | T[]) {\n\t\tthis._emitSelectValue(val);\n\t\tif (!this.multiple) {\n\t\t\tthis._emitCloseEvent();\n\t\t}\n\t}\n\tprotected abstract _applySelected();\n\tprotected abstract _applyHighlight();\n\tprotected destroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n\toverride _handleKeydown(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis._emitCloseEvent();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tbreak;\n\t\t\tcase 'Tab':\n\t\t\t\tthis._emitCloseEvent();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprotected abstract _emitSelectValue(value: T | T[]);\n}\n","/* eslint-disable @angular-eslint/no-output-native */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChildren,\n\tDirective,\n\tEventEmitter,\n\tforwardRef,\n\tInject,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tQueryList,\n\tTemplateRef,\n\tViewChild,\n} from '@angular/core';\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\nimport { luTransformPopover } from '@lucca-front/ng/popover';\nimport { merge, of } from 'rxjs';\nimport { delay, map, share } from 'rxjs/operators';\nimport { LuOptionItemComponent } from '../item';\nimport { ALuOptionItem } from '../item/option-item.model';\nimport { ALuOptionPicker, ILuOptionPickerPanel, LuOptionComparer } from './option-picker.model';\n\n@Directive()\nexport abstract class ALuOptionPickerComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>>\n\textends ALuOptionPicker<T, O>\n\timplements ILuOptionPickerPanel<T>, OnDestroy, AfterViewInit\n{\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('panel-classes')\n\tset inputPanelClasses(classes: string) {\n\t\tthis.panelClasses = classes;\n\t}\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('content-classes')\n\tset inputContentClasses(classes: string) {\n\t\tthis.contentClasses = classes;\n\t}\n\n\t/**\n\t * This method take a function that compare options from feeder and options from form value.\n\t * By default, compare JSON values.\n\t */\n\t@Input('option-comparer')\n\tset inputOptionComparer(comparer: LuOptionComparer<T>) {\n\t\tthis.optionComparer = comparer;\n\t}\n\n\t@Output() override close = new EventEmitter<void>();\n\t@Output() override open = new EventEmitter<void>();\n\t@Output() override hovered = new EventEmitter<boolean>();\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output() override onSelectValue = new EventEmitter<T>();\n\n\tprotected _isOptionItemsInitialized: boolean;\n\tprotected _defaultOverlayPaneClasses = ['mod-optionPicker'];\n\n\tprotected _options: O[] = [];\n\tprotected _optionsQL: QueryList<O>;\n\t@ContentChildren(ALuOptionItem, { descendants: true }) set optionsQL(ql: QueryList<O>) {\n\t\tthis._optionsQL = ql;\n\t}\n\n\tconstructor(protected _changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) protected document: Document) {\n\t\tsuper();\n\t\tthis._isOptionItemsInitialized = false;\n\t\tthis.overlayPaneClass = this._defaultOverlayPaneClasses;\n\t}\n\n\tprotected _emitSelectValue(val: T) {\n\t\tthis.onSelectValue.emit(val);\n\t}\n\tngOnDestroy() {\n\t\tsuper.destroy();\n\t}\n\t_emitOpenEvent(): void {\n\t\tthis.open.emit();\n\t}\n\t_emitCloseEvent(): void {\n\t\tthis.close.emit();\n\t}\n\t_emitHoveredEvent(h: boolean): void {\n\t\tthis.hovered.emit(h);\n\t}\n\toverride onOpen() {\n\t\tsuper.onOpen();\n\t\tthis.highlightIndex = -1;\n\t\tthis._incrHighlight();\n\t\tthis._applySelected();\n\t}\n\t@ViewChild(TemplateRef, { static: true })\n\tset vcTemplateRef(tr: TemplateRef<HTMLElement>) {\n\t\tthis.templateRef = tr;\n\t}\n\n\t// keydown\n\toverride _handleKeydown(event: KeyboardEvent) {\n\t\tsuper._handleKeydown(event);\n\t\tswitch (event.key) {\n\t\t\tcase 'Enter':\n\t\t\t\tthis._selectHighlighted();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tthis._decrHighlight();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tthis._incrHighlight();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tprotected _highlightIndex = -1;\n\tget highlightIndex() {\n\t\treturn this._highlightIndex;\n\t}\n\tset highlightIndex(i: number) {\n\t\tthis._highlightIndex = i;\n\t\tthis._applyHighlight(true);\n\t}\n\tprotected _initHighlight() {\n\t\tthis._subs.add(\n\t\t\tthis._options$.subscribe((options) => {\n\t\t\t\tconst optionCount = options.length;\n\t\t\t\tconst newHighlight = Math.max(Math.min(this.highlightIndex, optionCount - 1), -1);\n\t\t\t\tif (newHighlight !== this.highlightIndex) {\n\t\t\t\t\tthis.highlightIndex = newHighlight;\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\t\tsetTimeout(() => {\n\t\t\tthis.highlightIndex = -1;\n\t\t}, 1);\n\t}\n\tprotected _incrHighlight() {\n\t\tconst nextIndex = this._options.findIndex((item, index) => index > this.highlightIndex && !item.disabled);\n\t\tthis.highlightIndex = nextIndex > -1 ? nextIndex : this._options.findIndex((item) => !item.disabled);\n\t}\n\tprotected _decrHighlight() {\n\t\t//NB: findLastIndex would be better but is not available on this project\n\t\tlet nextIndex = -1;\n\t\tfor (let i = this.highlightIndex - 1; i >= 0; --i) {\n\t\t\tif (!this._options[i].disabled) {\n\t\t\t\tnextIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (nextIndex > -1) {\n\t\t\tthis.highlightIndex = nextIndex;\n\t\t\treturn;\n\t\t}\n\n\t\tconst optionsLength = this._options.length - 1;\n\t\tfor (let i = optionsLength; i >= 0; --i) {\n\t\t\tif (!this._options[i].disabled) {\n\t\t\t\tnextIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tthis.highlightIndex = nextIndex;\n\t}\n\tprotected _applyHighlight(reScroll = false) {\n\t\tif (!this.isOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = this._options;\n\t\t// remove `is-highlighted` class from all other options\n\t\toptions.forEach((option) => (option.highlighted = false));\n\t\t// apply `is-highlighted` to current highlight\n\t\tconst highlightedOption = options[this.highlightIndex];\n\n\t\tif (highlightedOption) {\n\t\t\thighlightedOption.highlighted = true;\n\t\t\t// scroll to let the highlighted option visible\n\t\t\tif (reScroll) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis._scrollToHighlight(highlightedOption.element.nativeElement);\n\t\t\t\t}, 1);\n\t\t\t}\n\t\t}\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\tprotected _scrollToHighlight(targetElt: HTMLElement) {\n\t\tif (!targetElt) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentElt = this.document.querySelector<HTMLElement>('.lu-picker-content');\n\t\tif (!contentElt) {\n\t\t\treturn;\n\t\t}\n\t\tconst headerElt = this.document.querySelector<HTMLElement>('.lu-picker-content .lu-picker-header');\n\t\tconst headerHeight = headerElt ? headerElt.offsetHeight : 0;\n\t\tconst footerElt = this.document.querySelector<HTMLElement>('.lu-picker-content .lu-picker-footer');\n\t\tconst footerHeight = footerElt ? footerElt.offsetHeight : 0;\n\t\t// highlighted option is too high\n\t\tif (contentElt.scrollTop + headerHeight > targetElt.offsetTop) {\n\t\t\tcontentElt.scrollTop = targetElt.offsetTop - headerHeight;\n\t\t\treturn;\n\t\t}\n\t\t// highlight option is too low\n\t\tconst offsetHeight = contentElt.offsetHeight;\n\t\tif (contentElt.scrollTop + offsetHeight - footerHeight < targetElt.offsetTop + targetElt.offsetHeight) {\n\t\t\tcontentElt.scrollTop = targetElt.offsetTop + targetElt.offsetHeight - offsetHeight + footerHeight;\n\t\t\treturn;\n\t\t}\n\t}\n\tprotected _selectHighlighted() {\n\t\tconst options = this._options ? this._options : [];\n\t\tconst highlightedOption = options[this.highlightIndex];\n\t\tif (highlightedOption) {\n\t\t\tthis._toggle(highlightedOption);\n\t\t}\n\t}\n\tprotected _initSelected() {\n\t\tthis._subs.add(\n\t\t\tthis._options$.subscribe(() => {\n\t\t\t\tthis._applySelected();\n\t\t\t}),\n\t\t);\n\t}\n\tprotected _applySelected() {\n\t\tif (!this._options) {\n\t\t\treturn;\n\t\t}\n\t\t// const selectedClass = 'is-selected';\n\n\t\tconst options = this._options;\n\t\t// remove `is-selected` class from all other options\n\t\toptions.forEach((option) => (option.selected = false));\n\n\t\t// add `is-selected` to all selected indexes\n\t\tconst selectedIndexes: number[] = [];\n\t\tif (!this.multiple) {\n\t\t\tconst selectedIndex = this._options.findIndex((o) => this.optionComparer(o.value, this._value as T));\n\t\t\tif (selectedIndex !== -1) {\n\t\t\t\tselectedIndexes.push(selectedIndex);\n\t\t\t}\n\t\t\tif (selectedIndex !== -1 && this.highlightIndex === -1) {\n\t\t\t\tthis.highlightIndex = selectedIndex;\n\t\t\t}\n\t\t} else {\n\t\t\tconst values = <T[]>this._value || [];\n\t\t\tconst matchingIndexes = this._options\n\t\t\t\t.map((o) => values.some((v) => this.optionComparer(o.value, v)))\n\t\t\t\t.map((f, i) => (f ? i : null))\n\t\t\t\t.filter((i) => i !== null);\n\t\t\tselectedIndexes.push(...matchingIndexes);\n\t\t\t// selectedIndexes.push(\n\t\t\t// \t...values\n\t\t\t// \t.map(v => this._options.findIndex(o => this.optionComparer(o.value, v)))\n\t\t\t// \t.filter(i => i !== -1)\n\t\t\t// );\n\t\t}\n\t\tselectedIndexes.forEach((i) => {\n\t\t\tconst option = options[i];\n\t\t\tif (option) {\n\t\t\t\toption.selected = true;\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected initItems() {\n\t\tconst items$ = merge(of(this._optionsQL), this._optionsQL.changes).pipe(\n\t\t\tmap<QueryList<O>, O[]>((q) => q.toArray()),\n\t\t\tdelay(0),\n\t\t\tshare(),\n\t\t);\n\t\titems$.subscribe((o) => (this._options = o || []));\n\t\tthis._options$ = items$;\n\t\tthis._initHighlight();\n\t\tthis._initSelected();\n\t}\n\tngAfterViewInit() {\n\t\tthis.initItems();\n\t}\n}\n/**\n * basic option picker panel\n */\n@Component({\n\tselector: 'lu-option-picker',\n\ttemplateUrl: './option-picker.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\texportAs: 'LuOptionPicker',\n\tstandalone: true,\n\timports: [CommonModule, OverlayModule, LuOptionItemComponent, A11yModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuPickerPanel,\n\t\t\tuseExisting: forwardRef(() => LuOptionPickerComponent),\n\t\t},\n\t],\n})\nexport class LuOptionPickerComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>> extends ALuOptionPickerComponent<T, O> {\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n}\n","<ng-template>\n\t<div\n\t\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\t\trole=\"dialog\"\n\t\t[ngClass]=\"panelClassesMap\"\n\t\t[class.mod-multiple]=\"multiple\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t>\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, QueryList } from '@angular/core';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\nimport { luTransformPopover } from '@lucca-front/ng/popover';\nimport { LuScrollDirective } from '@lucca-front/ng/scroll';\nimport { merge, Observable } from 'rxjs';\nimport { first, map, mergeAll, shareReplay, startWith } from 'rxjs/operators';\nimport { LuOptionItemComponent } from '../item';\nimport { ALuOptionOperator, ILuOptionOperator } from '../operator/index';\nimport { ALuOptionSelector, ILuOptionSelector } from '../selector/index';\nimport { ALuOptionPickerComponent } from './option-picker.component';\n\n@Directive()\nexport abstract class ALuOptionPickerAdvancedComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>>\n\textends ALuOptionPickerComponent<T, O>\n\timplements AfterViewInit\n{\n\tloading$: Observable<boolean>;\n\n\tprotected _operators: ILuOptionOperator<T>[] = [];\n\tprotected _operatorsQL: QueryList<ILuOptionOperator<T>>;\n\t@ContentChildren(ALuOptionOperator, { descendants: true }) set operatorsQL(ql: QueryList<ILuOptionOperator<T>>) {\n\t\tthis._operatorsQL = ql;\n\t}\n\tprotected _onOpenSubscribers: ILuOnOpenSubscriber[] = [];\n\t@ContentChildren(ALuOnOpenSubscriber, { descendants: true }) set onOpenSubsQL(ql: QueryList<ILuOnOpenSubscriber>) {\n\t\tthis._onOpenSubscribers = ql.toArray();\n\t}\n\tprotected _onCloseSubscribers: ILuOnCloseSubscriber[] = [];\n\t@ContentChildren(ALuOnCloseSubscriber, { descendants: true })\n\tset onCloseSubsQL(ql: QueryList<ILuOnCloseSubscriber>) {\n\t\tthis._onCloseSubscribers = ql.toArray();\n\t}\n\tprotected _onScrollBottomSubscribers: ILuOnScrollBottomSubscriber[] = [];\n\t@ContentChildren(ALuOnScrollBottomSubscriber, { descendants: true })\n\tset onScrollBottomSubsQL(ql: QueryList<ILuOnScrollBottomSubscriber>) {\n\t\tthis._onScrollBottomSubscribers = ql.toArray();\n\t}\n\tprotected _selectors: ILuOptionSelector<T>[] = [];\n\tprotected _selectorsQL: QueryList<ILuOptionSelector<T>>;\n\t@ContentChildren(ALuOptionSelector, { descendants: true }) set selectorsQL(ql: QueryList<ILuOptionSelector<T>>) {\n\t\tthis._selectorsQL = ql;\n\t}\n\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n\tonScrollBottom() {\n\t\tthis._onScrollBottomSubscribers.forEach((o: ILuOnScrollBottomSubscriber) => {\n\t\t\tif (!o.onScrollBottom) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\to.onScrollBottom();\n\t\t});\n\t}\n\toverride onOpen() {\n\t\tthis._onOpenSubscribers.forEach((o: ILuOnOpenSubscriber) => {\n\t\t\to.onOpen();\n\t\t});\n\t\tconst operators = this._operators || [];\n\t\tconst lastOperator = operators[operators.length - 1];\n\t\tif (lastOperator && lastOperator.outOptions$) {\n\t\t\tthis.loading$ = lastOperator.outOptions$.pipe(\n\t\t\t\tfirst(),\n\t\t\t\tmap(() => false),\n\t\t\t\tstartWith(true),\n\t\t\t\tshareReplay(),\n\t\t\t);\n\t\t}\n\t\tsuper.onOpen();\n\t}\n\toverride onClose() {\n\t\tthis._onCloseSubscribers.forEach((o: ILuOnCloseSubscriber) => {\n\t\t\to.onClose();\n\t\t});\n\t\tsuper.onClose();\n\t}\n\toverride setValue(value: T | T[]) {\n\t\tsuper.setValue(value);\n\t\tthis._selectors.forEach((s) => s.setValue(value));\n\t}\n\tprotected initOperators() {\n\t\tconst operators = this._operatorsQL.toArray();\n\t\tthis._operators = operators;\n\t\tlet options$: Observable<T[]>;\n\t\toperators.forEach((operator) => {\n\t\t\toperator.inOptions$ = options$;\n\t\t\toptions$ = operator.outOptions$;\n\t\t});\n\t}\n\tprotected initSelectors() {\n\t\t// TODO : FIX changes type\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst selectors$: Observable<ILuOptionSelector<T>[]> = this._selectorsQL.changes.pipe(startWith(this._selectorsQL.toArray()));\n\t\tthis._subs.add(\n\t\t\tselectors$.subscribe((selectors) => {\n\t\t\t\tthis._selectors = selectors;\n\t\t\t\tthis._selectors.forEach((s) => s.setValue(this._value));\n\t\t\t\tthis._subs.add(\n\t\t\t\t\tmerge(this._selectors.map((s) => s.onSelectValue))\n\t\t\t\t\t\t.pipe(mergeAll())\n\t\t\t\t\t\t.subscribe((values) => {\n\t\t\t\t\t\t\tthis._select(values);\n\t\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\t}\n\toverride ngAfterViewInit() {\n\t\tsuper.ngAfterViewInit();\n\t\tthis.initOperators();\n\t\tthis.initSelectors();\n\t}\n}\n\n/**\n * advanced option picker panel\n */\n@Component({\n\tselector: 'lu-option-picker-advanced',\n\ttemplateUrl: './option-picker-advanced.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\texportAs: 'LuOptionPickerAdvanced',\n\tstandalone: true,\n\timports: [CommonModule, OverlayModule, LuOptionItemComponent, LuScrollDirective, A11yModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuPickerPanel,\n\t\t\tuseExisting: forwardRef(() => LuOptionPickerAdvancedComponent),\n\t\t},\n\t],\n})\nexport class LuOptionPickerAdvancedComponent<\n\tT,\n\tO extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>,\n> extends ALuOptionPickerAdvancedComponent<T, O> {\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n}\n","<ng-template>\n\t<div\n\t\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\t\trole=\"dialog\"\n\t\t[ngClass]=\"panelClassesMap\"\n\t\t[class.mod-multiple]=\"multiple\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t>\n\t\t<div\n\t\t\t[class.is-loading]=\"loading$ | async\"\n\t\t\tclass=\"lu-picker-content\"\n\t\t\t[ngClass]=\"contentClassesMap\"\n\t\t\t[cdkTrapFocus]=\"trapFocus\"\n\t\t\tluScroll\n\t\t\t(onScrollBottom)=\"onScrollBottom()\"\n\t\t>\n\t\t\t<ng-content></ng-content>\n\t\t\t<div *ngIf=\"loading$ | async\" class=\"loading lu-picker-loading\"></div>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { LuOptionItemComponent } from '../item/index';\nimport { LuOptionPickerAdvancedComponent } from './option-picker-advanced.component';\nimport { LuOptionPickerComponent } from './option-picker.component';\n\n@NgModule({\n\timports: [LuOptionPickerComponent, LuOptionPickerAdvancedComponent, LuOptionItemComponent],\n\texports: [LuOptionPickerComponent, LuOptionPickerAdvancedComponent, LuOptionItemComponent],\n})\nexport class LuOptionPickerModule {}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, OnDestroy, QueryList, ViewContainerRef } from '@angular/core';\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\nimport { luTransformPopover } from '@lucca-front/ng/popover';\nimport { merge, Observable } from 'rxjs';\nimport { delay, map, startWith, switchMap } from 'rxjs/operators';\nimport { ALuTreeOptionItem } from '../item/index';\nimport { ALuOptionPickerComponent } from './option-picker.component';\nimport { ILuTreeOptionPickerPanel } from './tree-option-picker.model';\n\nenum ToggleMode {\n\tall,\n\tself,\n\tchildren,\n}\n\n@Directive()\nexport abstract class ALuTreeOptionPickerComponent<T, O extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>>\n\textends ALuOptionPickerComponent<T, O>\n\timplements ILuTreeOptionPickerPanel<T>, OnDestroy, AfterViewInit\n{\n\t@ContentChildren(ALuTreeOptionItem, { descendants: true })\n\toverride set optionsQL(ql: QueryList<O>) {\n\t\tthis._optionsQL = ql;\n\t}\n\t@ContentChildren(ALuTreeOptionItem, {\n\t\tdescendants: true,\n\t\tread: ViewContainerRef,\n\t})\n\toptionsQLVR: QueryList<ViewContainerRef>;\n\tprotected override set _options$(optionItems$: Observable<O[]>) {\n\t\t// reapply selected when the options change\n\t\tthis._subs.add(optionItems$.subscribe(() => this._applySelected()));\n\t\t// subscribe to any option.onSelect\n\t\tconst singleFlowSelect$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelect))));\n\t\tconst singleFlowSelectSelf$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelectSelf))));\n\t\tconst singleFlowSelectChildren$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelectChildren))));\n\n\t\tthis._subs.add(singleFlowSelect$.subscribe((option) => this._toggle(option, ToggleMode.all)));\n\t\tthis._subs.add(singleFlowSelectSelf$.subscribe((option) => this._toggle(option, ToggleMode.self)));\n\t\tthis._subs.add(singleFlowSelectChildren$.subscribe((option) => this._toggle(option, ToggleMode.children)));\n\t}\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n\tprotected override _toggle(option: O, mod = ToggleMode.all) {\n\t\tswitch (mod) {\n\t\t\tcase ToggleMode.self:\n\t\t\t\treturn this._toggleSelf(option);\n\t\t\tcase ToggleMode.children:\n\t\t\t\treturn this._toggleChildren(option);\n\t\t\tdefault:\n\t\t\t\treturn this._toggleAll(option);\n\t\t}\n\t}\n\tprotected _toggleAll(option: O) {\n\t\tconst value = option.value;\n\t\tif (!this.multiple) {\n\t\t\tthis._select(value);\n\t\t\treturn;\n\t\t}\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\n\t\tconst values = <T[]>this._value || [];\n\t\tlet newValues: T[];\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\n\t\tconst allChildrenSelected = allChildren.every((child) => values.some((v) => this.optionComparer(v, child)));\n\t\tif (selfSelected && allChildrenSelected) {\n\t\t\t// remove option and its children\n\t\t\tnewValues = this._remove(values, [value, ...allChildren]);\n\t\t} else {\n\t\t\t// add option and its children\n\t\t\tnewValues = this._add(values, [value, ...allChildren]);\n\t\t}\n\t\tthis._select(newValues);\n\t}\n\tprotected _toggleSelf(option: O) {\n\t\tconst value = option.value;\n\t\tif (!this.multiple) {\n\t\t\tthis._select(value);\n\t\t\treturn;\n\t\t}\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\n\t\tconst values = <T[]>this._value || [];\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\n\t\tconst someChildSelected = allChildren.some((child) => values.some((v) => this.optionComparer(v, child)));\n\n\t\tlet newValues = this._remove(values, [...allChildren]);\n\t\tif (selfSelected && !someChildSelected) {\n\t\t\t// remove option\n\t\t\tnewValues = this._remove(newValues, [value]);\n\t\t} else {\n\t\t\t// add option\n\t\t\tnewValues = this._add(newValues, [value]);\n\t\t}\n\t\tthis._select(newValues);\n\t}\n\tprotected _toggleChildren(option: O) {\n\t\tconst value = option.value;\n\t\tif (!this.multiple) {\n\t\t\tthis._select(value);\n\t\t\treturn;\n\t\t}\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\n\t\tconst values = <T[]>this._value || [];\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\n\t\tlet newValues = this._remove(values, [value]);\n\t\tconst allChildrenSelected = allChildren.every((child) => values.some((v) => this.optionComparer(v, child)));\n\t\tif (allChildrenSelected && !selfSelected) {\n\t\t\tnewValues = this._remove(newValues, allChildren);\n\t\t} else {\n\t\t\tnewValues = this._add(newValues, allChildren);\n\t\t}\n\t\tthis._select(newValues);\n\t}\n\tprotected _add(values: T[], entries: T[]): T[] {\n\t\tconst newEntries = entries.filter((entry) => !values.some((v) => this.optionComparer(v, entry)));\n\t\treturn [...values, ...newEntries];\n\t}\n\tprotected _remove(values: T[], entries: T[]): T[] {\n\t\tconst entriesToKeep = values.filter((value) => !entries.some((e) => this.optionComparer(e, value)));\n\t\treturn [...entriesToKeep];\n\t}\n\n\tprotected override initItems() {\n\t\tconst items$ = this._optionsQL.changes.pipe(\n\t\t\tstartWith(this._optionsQL),\n\t\t\tmap<QueryList<O>, O[]>((q) => q.toArray()),\n\t\t\tmap((roots) => roots.map((r) => [r, ...r.allChildren]).reduce((agg, val) => [...agg, ...val], [])),\n\t\t\tdelay(0),\n\t\t);\n\t\tthis._subs.add(items$.subscribe((o) => (this._options = o || [])));\n\t\tthis._options$ = items$;\n\t}\n\toverride ngAfterViewInit() {\n\t\tthis.initItems();\n\t}\n}\n/**\n * basic tree option picker panel\n */\n@Component({\n\tselector: 'lu-tree-option-picker',\n\ttemplateUrl: './tree-option-picker.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\texportAs: 'LuTreeOptionPicker',\n\tstandalone: true,\n\timports: [CommonModule, A11yModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuPickerPanel,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPickerComponent),\n\t\t},\n\t],\n})\nexport class LuTreeOptionPickerComponent<\n\tT,\n\tO extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>,\n> extends ALuTreeOptionPickerComponent<T, O> {\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n}\n","<ng-template>\n\t<div\n\t\tclass=\"lu-picker-panel lu-tree-option-picker-panel\"\n\t\trole=\"dialog\"\n\t\t[ngClass]=\"panelClassesMap\"\n\t\t[class.mod-multiple]=\"multiple\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t>\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, QueryList } from '@angular/core';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuTree } from '@lucca-front/ng/core';\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\nimport { luTransformPopover } from '@lucca-front/ng/popover';\nimport { merge, Observable } from 'rxjs';\nimport { first, map, mergeAll, shareReplay, startWith } from 'rxjs/operators';\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../operator/index';\nimport { ALuTreeOptionSelector, ILuTreeOptionSelector } from '../selector/index';\nimport { ALuTreeOptionPickerComponent } from './tree-option-picker.component';\n\n@Directive()\nexport abstract class ALuTreeOptionPickerAdvancedComponent<T, O extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>>\n\textends ALuTreeOptionPickerComponent<T, O>\n\timplements AfterViewInit\n{\n\tloading$: Observable<boolean>;\n\n\tprotected _operators: ILuTreeOptionOperator<T>[] = [];\n\tprotected _operatorsQL: QueryList<ILuTreeOptionOperator<T>>;\n\t@ContentChildren(ALuTreeOptionOperator, { descendants: true })\n\tset operatorsQL(ql: QueryList<ILuTreeOptionOperator<T>>) {\n\t\tthis._operatorsQL = ql;\n\t}\n\tprotected _onOpenSubscribers: ILuOnOpenSubscriber[] = [];\n\t@ContentChildren(ALuOnOpenSubscriber, { descendants: true }) set onOpenSubsQL(ql: QueryList<ILuOnOpenSubscriber>) {\n\t\tthis._onOpenSubscribers = ql.toArray();\n\t}\n\tprotected _onCloseSubscribers: ILuOnCloseSubscriber[] = [];\n\t@ContentChildren(ALuOnCloseSubscriber, { descendants: true })\n\tset onCloseSubsQL(ql: QueryList<ILuOnCloseSubscriber>) {\n\t\tthis._onCloseSubscribers = ql.toArray();\n\t}\n\tprotected _onScrollBottomSubscribers: ILuOnScrollBottomSubscriber[] = [];\n\t@ContentChildren(ALuOnScrollBottomSubscriber, { descendants: true })\n\tset onScrollBottomSubsQL(ql: QueryList<ILuOnScrollBottomSubscriber>) {\n\t\tthis._onScrollBottomSubscribers = ql.toArray();\n\t}\n\n\tprotected _selectorsQL: QueryList<ILuTreeOptionSelector<T>>;\n\tprotected _selectors: ILuTreeOptionSelector<T>[] = [];\n\t@ContentChildren(ALuTreeOptionSelector, { descendants: true })\n\tset selectorsQL(ql: QueryList<ILuTreeOptionSelector<T>>) {\n\t\tthis._selectorsQL = ql;\n\t}\n\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n\tonScrollBottom() {\n\t\tthis._onScrollBottomSubscribers.forEach((o) => {\n\t\t\tif (!o.onScrollBottom) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\to.onScrollBottom();\n\t\t});\n\t}\n\toverride onOpen() {\n\t\tthis._onOpenSubscribers.forEach((o) => {\n\t\t\to.onOpen();\n\t\t});\n\t\tsuper.onOpen();\n\t}\n\toverride onClose() {\n\t\tthis._onCloseSubscribers.forEach((o) => {\n\t\t\to.onClose();\n\t\t});\n\t\tsuper.onClose();\n\t}\n\toverride setValue(value: T | T[]) {\n\t\tsuper.setValue(value);\n\t\tthis._selectors.forEach((s) => s.setValue(value));\n\t}\n\n\tprotected initOperators() {\n\t\tconst operators = this._operatorsQL.toArray();\n\t\tthis._operators = operators;\n\t\tlet options$: Observable<ILuTree<T>[]>;\n\t\toperators.forEach((operator) => {\n\t\t\toperator.inOptions$ = options$;\n\t\t\toptions$ = operator.outOptions$;\n\t\t});\n\t\tconst lastOperator = operators[operators.length - 1];\n\t\tif (lastOperator && lastOperator.outOptions$) {\n\t\t\tthis.loading$ = lastOperator.outOptions$.pipe(\n\t\t\t\tfirst(),\n\t\t\t\tmap(() => false),\n\t\t\t\tstartWith(true),\n\t\t\t\tshareReplay(),\n\t\t\t);\n\t\t}\n\t}\n\tprotected initSelectors() {\n\t\tthis._selectors = this._selectorsQL.toArray();\n\t\tthis._subs.add(\n\t\t\tmerge(this._selectors.map((s) => s.onSelectValue))\n\t\t\t\t.pipe(mergeAll())\n\t\t\t\t.subscribe((values) => {\n\t\t\t\t\tthis._select(values);\n\t\t\t\t}),\n\t\t);\n\t}\n\toverride ngAfterViewInit() {\n\t\tsuper.ngAfterViewInit();\n\t\tthis.initOperators();\n\t\tthis.initSelectors();\n\t}\n}\n\n/**\n * advanced option picker panel\n */\n@Component({\n\tselector: 'lu-tree-option-picker-advanced',\n\ttemplateUrl: './tree-option-picker-advanced.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\texportAs: 'LuOptionPicker',\n\tstandalone: true,\n\timports: [CommonModule, A11yModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuPickerPanel,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPickerAdvancedComponent),\n\t\t},\n\t],\n})\nexport class LuTreeOptionPickerAdvancedComponent<\n\tT,\n\tO extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>,\n> extends ALuTreeOptionPickerAdvancedComponent<T, O> {\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n}\n","<ng-template>\n\t<div\n\t\tclass=\"lu-picker-panel lu-tree-option-picker-panel\"\n\t\trole=\"dialog\"\n\t\t[ngClass]=\"panelClassesMap\"\n\t\t[class.mod-multiple]=\"multiple\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t>\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\" luScroll (onScrollBottom)=\"onScrollBottom()\">\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<ng-content [class.is-loading]=\"loading$ | async\"></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LuScrollDirective } from '@lucca-front/ng/scroll';\nimport { LuTreeOptionPickerAdvancedComponent } from './tree-option-picker-advanced.component';\nimport { LuTreeOptionPickerComponent } from './tree-option-picker.component';\n\n@NgModule({\n\timports: [CommonModule, OverlayModule, LuScrollDirective, A11yModule, LuTreeOptionPickerAdvancedComponent, LuTreeOptionPickerComponent],\n\texports: [LuTreeOptionPickerComponent, LuTreeOptionPickerAdvancedComponent],\n})\nexport class LuTreeOptionPickerModule {}\n","import { ILuTreeOptionItem } from '../item/index';\nimport { ALuOptionPicker, ILuOptionPickerPanel } from './option-picker.model';\n\nexport type ILuTreeOptionPickerPanel<T> = ILuOptionPickerPanel<T>;\n\nexport abstract class ALuTreeOptionPicker<T, I extends ILuTreeOptionItem<T> = ILuTreeOptionItem<T>> extends ALuOptionPicker<T, I> implements ILuTreeOptionPickerPanel<T> {}\n","import { NgModule } from '@angular/core';\nimport { LuOptionItemComponent } from './item/index';\nimport { LuForGroupsDirective, LuForOptionsDirective, LuOptionFeederComponent, LuOptionPagerComponent, LuOptionSearcherComponent } from './operator/index';\nimport { LuOptionPickerAdvancedComponent, LuOptionPickerComponent } from './picker/index';\nimport { LuOptionPlaceholderComponent } from './placeholder/index';\nimport { LuOptionSelectAllComponent } from './selector/index';\n\n@NgModule({\n\timports: [\n\t\tLuOptionItemComponent,\n\t\tLuOptionPickerComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuOptionPagerComponent,\n\t\tLuOptionFeederComponent,\n\t\tLuOptionSearcherComponent,\n\t\tLuForOptionsDirective,\n\t\tLuForGroupsDirective,\n\t\tLuOptionSelectAllComponent,\n\t\tLuOptionPlaceholderComponent,\n\t],\n\texports: [\n\t\tLuOptionItemComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuOptionPickerComponent,\n\t\tLuOptionPagerComponent,\n\t\tLuOptionFeederComponent,\n\t\tLuOptionSearcherComponent,\n\t\tLuForOptionsDirective,\n\t\tLuForGroupsDirective,\n\t\tLuOptionSelectAllComponent,\n\t\tLuOptionPlaceholderComponent,\n\t],\n})\nexport class LuOptionModule {}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionItemModule } from './item/index';\nimport { LuTreeOptionPickerModule } from './picker/index';\nimport { LuTreeOptionOperatorModule } from './operator/index';\nimport { LuTreeOptionSelectorModule } from './selector/index';\n\n@NgModule({\n\timports: [LuTreeOptionItemModule, LuTreeOptionPickerModule, LuTreeOptionOperatorModule, LuTreeOptionSelectorModule],\n\texports: [LuTreeOptionItemModule, LuTreeOptionPickerModule, LuTreeOptionOperatorModule, LuTreeOptionSelectorModule],\n})\nexport class LuTreeOptionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MAGIC_STEP","i1"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-option.mjs","sources":["../../../packages/ng/option/item/option-item.model.ts","../../../packages/ng/option/item/option-item.component.ts","../../../packages/ng/option/item/option-item.component.html","../../../packages/ng/option/item/option-item.module.ts","../../../packages/ng/option/item/tree-option-item.model.ts","../../../packages/ng/option/item/tree-option-item.translate.ts","../../../packages/ng/option/item/tree-option-item.component.ts","../../../packages/ng/option/item/tree-option-item.component.html","../../../packages/ng/option/item/tree-option-item.module.ts","../../../packages/ng/option/operator/option-operator.model.ts","../../../packages/ng/option/operator/feeder/option-feeder.component.ts","../../../packages/ng/option/operator/feeder/option-feeder.module.ts","../../../packages/ng/option/operator/tree-option-operator.model.ts","../../../packages/ng/option/operator/feeder/tree-option-feeder.component.ts","../../../packages/ng/option/operator/feeder/tree-option-feeder.module.ts","../../../packages/ng/option/operator/pager/option-pager.component.ts","../../../packages/ng/option/operator/pager/option-pager.module.ts","../../../packages/ng/option/operator/pager/tree-option-pager.component.ts","../../../packages/ng/option/operator/pager/tree-option-pager.module.ts","../../../packages/ng/option/placeholder/option-placeholder.translate.ts","../../../packages/ng/option/placeholder/option-placeholder.component.ts","../../../packages/ng/option/placeholder/option-placeholder.component.html","../../../packages/ng/option/placeholder/option-placeholder.module.ts","../../../packages/ng/option/operator/searcher/option-searcher.component.ts","../../../packages/ng/option/operator/searcher/option-searcher.component.html","../../../packages/ng/option/operator/searcher/option-searcher.module.ts","../../../packages/ng/option/operator/searcher/tree-option-searcher.component.ts","../../../packages/ng/option/operator/searcher/tree-option-searcher.module.ts","../../../packages/ng/option/operator/for-groups/for-groups.directive.ts","../../../packages/ng/option/operator/for-groups/for-groups.module.ts","../../../packages/ng/option/operator/for-options/for-options.directive.ts","../../../packages/ng/option/operator/for-options/for-options.module.ts","../../../packages/ng/option/operator/for-options/for-tree-options.directive.ts","../../../packages/ng/option/operator/for-options/for-tree-options.module.ts","../../../packages/ng/option/operator/option-operator.module.ts","../../../packages/ng/option/operator/tree-option-operator.module.ts","../../../packages/ng/option/selector/option-selector.model.ts","../../../packages/ng/option/selector/all/select-all.translate.ts","../../../packages/ng/option/selector/all/select-all.component.ts","../../../packages/ng/option/selector/all/select-all.component.html","../../../packages/ng/option/selector/all/select-all.module.ts","../../../packages/ng/option/selector/tree-option-selector.model.ts","../../../packages/ng/option/selector/all/tree-select-all.component.ts","../../../packages/ng/option/selector/all/tree-select-all.module.ts","../../../packages/ng/option/selector/option-selector.module.ts","../../../packages/ng/option/selector/tree-option-selector.module.ts","../../../packages/ng/option/picker/option-picker.model.ts","../../../packages/ng/option/picker/option-picker.component.ts","../../../packages/ng/option/picker/option-picker.component.html","../../../packages/ng/option/picker/option-picker-advanced.component.ts","../../../packages/ng/option/picker/option-picker-advanced.component.html","../../../packages/ng/option/picker/option-picker.module.ts","../../../packages/ng/option/picker/tree-option-picker.component.ts","../../../packages/ng/option/picker/tree-option-picker.component.html","../../../packages/ng/option/picker/tree-option-picker-advanced.component.ts","../../../packages/ng/option/picker/tree-option-picker-advanced.component.html","../../../packages/ng/option/picker/tree-option-picker.module.ts","../../../packages/ng/option/picker/tree-option-picker.model.ts","../../../packages/ng/option/option.module.ts","../../../packages/ng/option/tree-option.module.ts","../../../packages/ng/option/lucca-front-ng-option.ts"],"sourcesContent":["import { ElementRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nexport interface ILuOptionItem<T> {\n\tvalue: T;\n\tonSelect: Observable<this>;\n\telement: ElementRef<HTMLElement>;\n\tselected: boolean;\n\thighlighted: boolean;\n\tdisabled: boolean;\n}\nexport abstract class ALuOptionItem<T> implements ILuOptionItem<T> {\n\tabstract value: T;\n\tabstract onSelect: Observable<this>;\n\tabstract element: ElementRef;\n\tabstract selected: boolean;\n\tabstract highlighted: boolean;\n\tabstract disabled: boolean;\n}\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';\nimport { ALuOptionItem, ILuOptionItem } from './option-item.model';\n\n@Component({\n\tselector: 'lu-option',\n\ttemplateUrl: './option-item.component.html',\n\tstyleUrls: ['./option-item.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [CommonModule],\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionItem,\n\t\t\tuseExisting: forwardRef(() => LuOptionItemComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuOptionItemComponent<T> extends ALuOptionItem<T> implements ILuOptionItem<T> {\n\tprotected _selected = false;\n\tget selected() {\n\t\treturn this._selected;\n\t}\n\t@Input() set selected(s: boolean) {\n\t\tif (s !== this._selected) {\n\t\t\tthis._selected = s;\n\t\t\tthis._cdr.markForCheck();\n\t\t}\n\t}\n\tprotected _highlighted = false;\n\tget highlighted() {\n\t\treturn this._highlighted;\n\t}\n\t@Input() set highlighted(h: boolean) {\n\t\tif (h !== this._highlighted) {\n\t\t\tthis._highlighted = h;\n\t\t\tthis._cdr.markForCheck();\n\t\t}\n\t}\n\t@Input() value: T;\n\t@Output() onSelect = new EventEmitter<this>();\n\tselect() {\n\t\tif (!this.disabled) {\n\t\t\tthis.onSelect.emit(this);\n\t\t}\n\t}\n\n\tprotected _disabled = false;\n\tget disabled() {\n\t\treturn this._disabled;\n\t}\n\t@Input() set disabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\n\t@ViewChild('element', { read: ElementRef, static: true }) element: ElementRef;\n\tconstructor(private _cdr: ChangeDetectorRef) {\n\t\tsuper();\n\t}\n}\n","<div class=\"optionItem\" #element>\n\t<div\n\t\tclass=\"optionItem-value\"\n\t\t(click)=\"select()\"\n\t\t[class.is-selected]=\"selected\"\n\t\t[class.is-highlighted]=\"highlighted\"\n\t\t[class.is-disabled]=\"disabled\"\n\t>\n\t\t<ng-content></ng-content>\n\t</div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuOptionItemComponent } from './option-item.component';\n\n@NgModule({\n\timports: [LuOptionItemComponent],\n\texports: [LuOptionItemComponent],\n})\nexport class LuOptionItemModule {}\n","import { Observable } from 'rxjs';\nimport { ALuOptionItem, ILuOptionItem } from './option-item.model';\n\nexport interface ILuTreeOptionItem<T> extends ILuOptionItem<T> {\n\tchildren: this[];\n\tallChildren: this[];\n\n\tonSelectSelf: Observable<this>;\n\tonSelectChildren: Observable<this>;\n}\nexport abstract class ALuTreeOptionItem<T> extends ALuOptionItem<T> implements ILuTreeOptionItem<T> {\n\tabstract children: this[];\n\tget allChildren(): this[] {\n\t\treturn this.children.map((c) => [c, ...c.allChildren]).reduce((aggr, val) => [...aggr, ...val], []);\n\t}\n\tabstract onSelectSelf: Observable<this>;\n\tabstract onSelectChildren: Observable<this>;\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_TREE_OPTION_ITEM_TRANSLATIONS = new InjectionToken('LuTreeOptionItemTranslations', {\n\tfactory: () => luTreeOptionItemTranslations,\n});\n\nexport interface ILuTreeOptionItemLabel {\n\tparentOnly: string;\n\tchildrenOnly: string;\n}\n\nexport const luTreeOptionItemTranslations: ILuTranslation<ILuTreeOptionItemLabel> = {\n\ten: {\n\t\tparentOnly: 'Parent only',\n\t\tchildrenOnly: 'Children only',\n\t},\n\tfr: {\n\t\tparentOnly: 'Seulement le parent',\n\t\tchildrenOnly: 'Seulement les enfants',\n\t},\n};\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';\nimport { getIntl, ILuTree } from '@lucca-front/ng/core';\nimport { ALuInputDisplayer, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';\nimport { ALuTreeOptionItem, ILuTreeOptionItem } from './tree-option-item.model';\nimport { LU_TREE_OPTION_ITEM_TRANSLATIONS } from './tree-option-item.translate';\n\n@Component({\n\tselector: 'lu-tree-option',\n\ttemplateUrl: './tree-option-item.component.html',\n\tstyleUrls: ['./tree-option-item.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [CommonModule, LuTooltipTriggerDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionItem,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionItemComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuTreeOptionItemComponent<T> extends ALuTreeOptionItem<T> implements ILuTreeOptionItem<T> {\n\tprotected _children: this[] = [];\n\tprotected _tree: ILuTree<T>;\n\tprotected _displayer: ILuInputDisplayer<T>;\n\t@ViewChild('value', { static: true, read: ViewContainerRef })\n\tprotected _valueVCR: ViewContainerRef;\n\t@ViewChild('children', { static: true, read: ViewContainerRef })\n\tprotected _childrenVCR: ViewContainerRef;\n\t@ViewChild('element', { read: ElementRef, static: true }) element: ElementRef;\n\n\t@Output() onSelect = new EventEmitter<this>();\n\t@Output() onSelectSelf = new EventEmitter<this>();\n\t@Output() onSelectChildren = new EventEmitter<this>();\n\tselect() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.onSelect.emit(this);\n\t}\n\tselectSelf() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.onSelectSelf.emit(this);\n\t}\n\tselectChildren() {\n\t\tthis.onSelectChildren.emit(this);\n\t}\n\n\t@Input() set tree(t: ILuTree<T>) {\n\t\tthis._tree = t;\n\t\tthis._renderValue(t.value);\n\t\tthis._renderChildren(t.children);\n\t}\n\tget value() {\n\t\treturn this._tree.value;\n\t}\n\tget children() {\n\t\treturn this._children;\n\t}\n\tset children(c) {\n\t\tthis._children = c;\n\t}\n\tget hasChildren() {\n\t\treturn !!this.children && this.children.length > 0;\n\t}\n\n\tprotected _selected = false;\n\tget selected() {\n\t\treturn this._selected;\n\t}\n\t@Input() set selected(s: boolean) {\n\t\tif (s !== this._selected && !this.disabled) {\n\t\t\tthis._selected = s;\n\t\t\tthis._cdr.markForCheck();\n\t\t}\n\t}\n\tprotected _highlighted = false;\n\tget highlighted() {\n\t\treturn this._highlighted;\n\t}\n\t@Input() set highlighted(h: boolean) {\n\t\tif (h !== this._highlighted) {\n\t\t\tthis._highlighted = h;\n\t\t\tthis._cdr.markForCheck();\n\t\t}\n\t}\n\tget disabled() {\n\t\treturn this._tree.disabled;\n\t}\n\n\t@ContentChild(ALuInputDisplayer, { static: true }) set _contentChildDisplayer(displayer: ILuInputDisplayer<T>) {\n\t\tthis._displayer = displayer;\n\t}\n\n\tpublic intl = getIntl(LU_TREE_OPTION_ITEM_TRANSLATIONS);\n\n\tconstructor(private _cdr: ChangeDetectorRef) {\n\t\tsuper();\n\t}\n\n\tprivate _renderValue(value: T) {\n\t\tconst evr = this._displayer.getViewRef(value);\n\t\tthis._valueVCR.clear();\n\t\tthis._valueVCR.insert(evr);\n\t}\n\tprivate _renderChildren(children: ILuTree<T>[] = []) {\n\t\tthis._childrenVCR.clear();\n\t\tthis.children = children.map((c) => {\n\t\t\tconst ref = this._childrenVCR.createComponent(LuTreeOptionItemComponent);\n\t\t\tref.instance._displayer = this._displayer;\n\t\t\tref.instance.tree = c;\n\t\t\treturn ref.instance as this; //yolo\n\t\t});\n\t}\n}\n","<div class=\"optionItem\" #element>\n\t<div\n\t\tclass=\"optionItem-value\"\n\t\t(click)=\"select()\"\n\t\t[class.is-disabled]=\"disabled\"\n\t\t[class.is-selected]=\"selected\"\n\t\t[class.is-highlighted]=\"highlighted\"\n\t>\n\t\t<ng-container #value></ng-container>\n\t</div>\n\t<div class=\"optionItem-icons\" *ngIf=\"hasChildren\">\n\t\t<span *ngIf=\"!_tree.disabled\" class=\"optionItem-icon parentOnly\" (click)=\"selectSelf()\" [luTooltip]=\"intl.parentOnly\">\n\t\t\t<svg class=\"optionItem-icon-shape\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n\t\t\t\t<path\n\t\t\t\t\topacity=\"0.2\"\n\t\t\t\t\td=\"M8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18ZM8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18Z\"\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\td=\"M4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7ZM4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7Z\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t</span>\n\t\t<span class=\"optionItem-icon childrenOnly\" (click)=\"selectChildren()\" [luTooltip]=\"intl.childrenOnly\">\n\t\t\t<svg class=\"optionItem-icon-shape\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18ZM8 13C8.55 13 9 12.55 9 12C9 11.45 8.55 11 8 11C7.45 11 7 11.45 7 12C7 12.55 7.45 13 8 13ZM8 18C8.55 18 9 17.55 9 17C9 16.45 8.55 16 8 16C7.45 16 7 16.45 7 17C7 17.55 7.45 18 8 18ZM12 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11H12C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13ZM12 18H20C20.55 18 21 17.55 21 17C21 16.45 20.55 16 20 16H12C11.45 16 11 16.45 11 17C11 17.55 11.45 18 12 18Z\"\n\t\t\t\t/>\n\t\t\t\t<path\n\t\t\t\t\topacity=\"0.2\"\n\t\t\t\t\td=\"M4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7ZM4 8C4.55 8 5 7.55 5 7C5 6.45 4.55 6 4 6C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8ZM7 7C7 7.55 7.45 8 8 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H8C7.45 6 7 6.45 7 7Z\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t</span>\n\t</div>\n</div>\n\n<div #children class=\"children\">\n\t<ng-container #children></ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionItemComponent } from './tree-option-item.component';\n\n@NgModule({\n\timports: [LuTreeOptionItemComponent],\n\texports: [LuTreeOptionItemComponent],\n})\nexport class LuTreeOptionItemModule {}\n","import { Observable } from 'rxjs';\n\nexport interface ILuOptionOperator<T> {\n\tinOptions$?: Observable<T[]>;\n\toutOptions$?: Observable<T[]>;\n}\nexport abstract class ALuOptionOperator<T> implements ILuOptionOperator<T> {\n\tabstract inOptions$?: Observable<T[]>;\n\tabstract outOptions$?: Observable<T[]>;\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\n\n@Component({\n\tselector: 'lu-option-feeder',\n\ttemplate: '',\n\tstyleUrls: [],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuOptionFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuOptionFeederComponent<T> implements ILuOptionOperator<T> {\n\toutOptions$ = new BehaviorSubject<T[]>([]);\n\t@Input() set options(options: T[]) {\n\t\tthis.outOptions$.next(options);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuOptionFeederComponent } from './option-feeder.component';\n\n@NgModule({\n\timports: [LuOptionFeederComponent],\n\texports: [LuOptionFeederComponent],\n})\nexport class LuOptionFeederModule {}\n","import { ILuOptionOperator, ALuOptionOperator } from './option-operator.model';\nimport { ILuTree } from '@lucca-front/ng/core';\n\nexport type ILuTreeOptionOperator<T> = ILuOptionOperator<ILuTree<T>>;\n\nexport abstract class ALuTreeOptionOperator<T> extends ALuOptionOperator<ILuTree<T>> implements ILuTreeOptionOperator<T> {}\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\nimport { ILuTree } from '@lucca-front/ng/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\n\n@Component({\n\tselector: 'lu-tree-option-feeder',\n\ttemplate: '',\n\tstyleUrls: [],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionFeederComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuTreeOptionFeederComponent<T> implements ILuTreeOptionOperator<T> {\n\toutOptions$ = new BehaviorSubject<ILuTree<T>[]>([]);\n\t@Input() set options(options: ILuTree<T>[]) {\n\t\tthis.outOptions$.next(options);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionFeederComponent } from './tree-option-feeder.component';\n\n@NgModule({\n\timports: [LuTreeOptionFeederComponent],\n\texports: [LuTreeOptionFeederComponent],\n})\nexport class LuTreeOptionFeederModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { ALuOnScrollBottomSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\nconst MAGIC_STEP = 10;\n@Component({\n\tselector: 'lu-option-pager',\n\ttemplate: '',\n\tstyleUrls: [],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuOptionPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuOptionPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuOptionPagerComponent<T> extends ALuOptionOperator<T> implements ILuOptionOperator<T>, ILuOnScrollBottomSubscriber {\n\toutOptions$: Observable<T[]>;\n\tset inOptions$(in$: Observable<T[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.paging$]).pipe(\n\t\t\tmap(([options, paging]) => {\n\t\t\t\treturn (options || []).slice(0, paging);\n\t\t\t}),\n\t\t);\n\t}\n\tpaging$ = new BehaviorSubject<number>(MAGIC_STEP);\n\tnext() {\n\t\tthis.paging$.next(this.paging$.value + MAGIC_STEP);\n\t}\n\tonScrollBottom() {\n\t\tthis.next();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuOptionPagerComponent } from './option-pager.component';\n\n@NgModule({\n\timports: [LuOptionPagerComponent],\n\texports: [LuOptionPagerComponent],\n})\nexport class LuOptionPagerModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { ALuOnScrollBottomSubscriber, ILuOnScrollBottomSubscriber, ILuTree } from '@lucca-front/ng/core';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\nconst MAGIC_STEP = 10;\n@Component({\n\tselector: 'lu-tree-option-pager',\n\ttemplate: '',\n\tstyleUrls: [],\n\tstandalone: true,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPagerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuTreeOptionPagerComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionOperator<T>, ILuOnScrollBottomSubscriber {\n\toutOptions$: Observable<ILuTree<T>[]>;\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.paging$]).pipe(\n\t\t\tmap(([options, paging]) => {\n\t\t\t\treturn this.trim(options, paging);\n\t\t\t}),\n\t\t);\n\t}\n\tpaging$ = new BehaviorSubject<number>(MAGIC_STEP);\n\tnext() {\n\t\tthis.paging$.next(this.paging$.value + MAGIC_STEP);\n\t}\n\tonScrollBottom() {\n\t\tthis.next();\n\t}\n\ttrim(trees: ILuTree<T>[] = [], paging: number = MAGIC_STEP): ILuTree<T>[] {\n\t\tconst flat = this.flatten(trees);\n\t\tconst flatTrimmed = flat.slice(0, paging);\n\n\t\treturn this.filter(trees, flatTrimmed);\n\t}\n\tflatten(trees: ILuTree<T>[] = []): T[] {\n\t\treturn trees.map((t) => [t.value, ...this.flatten(t.children)]).reduce((a, v) => [...a, ...v], []);\n\t}\n\tfilter(trees: ILuTree<T>[] = [], values: T[]): ILuTree<T>[] {\n\t\treturn trees\n\t\t\t.map((t) => {\n\t\t\t\tif (!values.some((v) => v === t.value)) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\treturn { ...t, children: this.filter(t.children, values) };\n\t\t\t})\n\t\t\t.filter((t) => !!t);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionPagerComponent } from './tree-option-pager.component';\n\n@NgModule({\n\timports: [LuTreeOptionPagerComponent],\n\texports: [LuTreeOptionPagerComponent],\n})\nexport class LuTreeOptionPagerModule {}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_OPTION_PLACEHOLDER_TRANSLATIONS = new InjectionToken('LuOptionPlaceholderTranslations', {\n\tfactory: () => luOptionPlaceholderTranslations,\n});\n\nexport interface ILuOptionPlaceholderLabel {\n\tplaceholderDescription: string;\n\tplaceholderAction: string;\n}\n\nexport const luOptionPlaceholderTranslations: ILuTranslation<ILuOptionPlaceholderLabel> = {\n\ten: {\n\t\tplaceholderDescription: 'No results match your search criteria.',\n\t\tplaceholderAction: 'Clear search',\n\t},\n\tfr: {\n\t\tplaceholderDescription: 'Aucun résultat pour votre recherche',\n\t\tplaceholderAction: 'Vider la recherche',\n\t},\n\tes: {\n\t\tplaceholderDescription: 'No se han encontrado resultados para su búsqueda',\n\t\tplaceholderAction: 'Eliminar búsqueda',\n\t},\n};\n","import { Component, EventEmitter, Output } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LU_OPTION_PLACEHOLDER_TRANSLATIONS } from './option-placeholder.translate';\n\n@Component({\n\tselector: 'lu-option-placeholder',\n\ttemplateUrl: './option-placeholder.component.html',\n\tstyleUrls: ['./option-placeholder.component.scss'],\n\tstandalone: true,\n})\nexport class LuOptionPlaceholderComponent {\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output() onClear = new EventEmitter();\n\n\tpublic intl = getIntl(LU_OPTION_PLACEHOLDER_TRANSLATIONS);\n\n\tclear() {\n\t\tthis.onClear.emit();\n\t}\n}\n","<div class=\"optionPlaceholder\">\n\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.placeholderDescription }}</p>\n\t<button type=\"button\" class=\"link\" (click)=\"clear()\">{{ intl.placeholderAction }}</button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuOptionPlaceholderComponent } from './option-placeholder.component';\n\n@NgModule({\n\timports: [LuOptionPlaceholderComponent],\n\texports: [LuOptionPlaceholderComponent],\n})\nexport class LuOptionPlaceholderModule {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber } from '@lucca-front/ng/core';\nimport { combineLatest, merge, Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { LuOptionPlaceholderComponent } from '../../placeholder';\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\n\n@Component({\n\tselector: 'lu-option-searcher',\n\ttemplateUrl: 'option-searcher.component.html',\n\tstyleUrls: ['option-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuOptionSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuOptionSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuOptionSearcherComponent<T> extends ALuOptionOperator<T> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\n\tsearchControl = new FormControl();\n\tclue$ = merge(of(''), this.searchControl.valueChanges) as Observable<string>;\n\tempty$: Observable<boolean>;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\toutOptions$: Observable<T[]>;\n\tset inOptions$(in$: Observable<T[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.clue$]).pipe(\n\t\t\tmap(([options, clue]) => {\n\t\t\t\treturn clue ? (options || []).filter((o) => this.searchFn(o, clue)) : options || [];\n\t\t\t}),\n\t\t);\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => !o || o.length === 0));\n\t}\n\t@Input() searchFn: (option: T, clue: string) => boolean = () => true;\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis.searchControl.setValue('');\n\t}\n\tresetClue() {\n\t\tthis.searchControl.setValue('');\n\t}\n}\n","<div class=\"textfield mod-search\">\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"searchControl\" />\n</div>\n\n<lu-option-placeholder *ngIf=\"empty$ | async\" (onClear)=\"resetClue()\"></lu-option-placeholder>\n","import { NgModule } from '@angular/core';\nimport { LuOptionSearcherComponent } from './option-searcher.component';\n\n@NgModule({\n\timports: [LuOptionSearcherComponent],\n\texports: [LuOptionSearcherComponent],\n})\nexport class LuOptionSearcherModule {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Input, ViewChild } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber, ILuTree } from '@lucca-front/ng/core';\nimport { combineLatest, merge, Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { LuOptionPlaceholderComponent } from '../../placeholder';\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\n\n@Component({\n\tselector: 'lu-tree-option-searcher',\n\ttemplateUrl: './option-searcher.component.html',\n\tstyleUrls: ['./option-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuTreeOptionSearcherComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionOperator<T>, ILuOnOpenSubscriber {\n\tsearchControl = new FormControl();\n\tclue$ = merge(of(''), this.searchControl.valueChanges) as Observable<string>;\n\tempty$: Observable<boolean>;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLElement>;\n\toutOptions$: Observable<ILuTree<T>[]>;\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.clue$]).pipe(\n\t\t\tmap(([options, clue]) => {\n\t\t\t\tif (!clue) {\n\t\t\t\t\treturn options || [];\n\t\t\t\t}\n\t\t\t\treturn this.trim(options, clue);\n\t\t\t}),\n\t\t);\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => !o || o.length === 0));\n\t}\n\t@Input() searchFn: (option: T, clue: string) => boolean = () => true;\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis.searchControl.setValue('');\n\t}\n\ttrim(options: ILuTree<T>[], clue: string): ILuTree<T>[] {\n\t\treturn options\n\t\t\t.map((option) => {\n\t\t\t\tif (this.searchFn(option.value, clue)) {\n\t\t\t\t\treturn { ...option };\n\t\t\t\t}\n\t\t\t\tconst trimmedChildren = option.children ? this.trim(option.children, clue) : [];\n\t\t\t\tif (trimmedChildren.length) {\n\t\t\t\t\treturn { ...option, children: trimmedChildren };\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t})\n\t\t\t.filter((o) => !!o);\n\t}\n\tresetClue() {\n\t\tthis.searchControl.setValue('');\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionSearcherComponent } from './tree-option-searcher.component';\n\n@NgModule({\n\timports: [LuTreeOptionSearcherComponent],\n\texports: [LuTreeOptionSearcherComponent],\n})\nexport class LuTreeOptionSearcherModule {}\n","import { ChangeDetectorRef, Directive, forwardRef, Input, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ILuGroup } from '@lucca-front/ng/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\n\nexport class LuForGroupContext<T> {\n\tpublic constructor(public $implicit: T, public index: number, public count: number) {}\n\n\tpublic get first(): boolean {\n\t\treturn this.index === 0;\n\t}\n\n\tpublic get last(): boolean {\n\t\treturn this.index === this.count - 1;\n\t}\n\n\tpublic get even(): boolean {\n\t\treturn this.index % 2 === 0;\n\t}\n\n\tpublic get odd(): boolean {\n\t\treturn !this.even;\n\t}\n}\n\n@Directive({\n\tselector: '[luForGroups]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuForGroupsDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuForGroupsDirective<TItem, TKey> implements ILuOptionOperator<TItem>, OnDestroy {\n\toutOptions$?: Observable<TItem[]>;\n\n\tprivate _groupByFn: (item: TItem) => TKey;\n\t@Input('luForGroupsGroupBy')\n\tpublic set attrGroupBy(fn: (item: TItem) => TKey) {\n\t\tthis._groupByFn = fn;\n\t}\n\n\tprotected _subs = new Subscription();\n\tpublic set inOptions$(options$: Observable<TItem[]>) {\n\t\tthis._subs.add(options$.subscribe((options) => this.render(options)));\n\t\tthis.outOptions$ = options$;\n\t}\n\n\tpublic constructor(protected _vcr: ViewContainerRef, protected _cdr: ChangeDetectorRef, protected _templateRef: TemplateRef<LuForGroupContext<ILuGroup<TItem, TKey>>>) {}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis._subs.unsubscribe();\n\t}\n\n\tpublic render(options: TItem[]): void {\n\t\tthis._vcr.clear();\n\t\tconst count = options.length;\n\t\tconst groups = this.groupBy(options);\n\t\tgroups.forEach((group, index) => {\n\t\t\tthis._vcr.createEmbeddedView(this._templateRef, new LuForGroupContext<ILuGroup<TItem, TKey>>(group, index, count));\n\t\t});\n\t\tthis._cdr.markForCheck();\n\t}\n\n\tprotected groupBy(items: TItem[]): ILuGroup<TItem, TKey>[] {\n\t\tconst groups: ILuGroup<TItem, TKey>[] = [];\n\t\titems.forEach((item) => {\n\t\t\tconst key = this._groupByFn(item);\n\t\t\tlet group = groups.find((g) => g.key === key);\n\t\t\tif (!group) {\n\t\t\t\tgroup = { key: key, items: [] };\n\t\t\t\tgroups.push(group);\n\t\t\t}\n\t\t\tgroup.items.push(item);\n\t\t});\n\t\treturn groups;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuForGroupsDirective } from './for-groups.directive';\n\n@NgModule({\n\timports: [LuForGroupsDirective],\n\texports: [LuForGroupsDirective],\n})\nexport class LuForGroupsModule {}\n","import { NgForOf, NgForOfContext } from '@angular/common';\nimport { ChangeDetectorRef, Directive, forwardRef, Input, IterableDiffers, OnDestroy, TemplateRef, TrackByFunction, ViewContainerRef } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { ALuOptionOperator, ILuOptionOperator } from '../option-operator.model';\n\n@Directive({\n\tselector: '[luForOptions]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuForOptionsDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuForOptionsDirective<T> extends NgForOf<T> implements ILuOptionOperator<T>, OnDestroy {\n\toutOptions$;\n\tprotected _subs = new Subscription();\n\tset inOptions$(options$: Observable<T[]>) {\n\t\tthis._subs.add(\n\t\t\toptions$.subscribe((options) => {\n\t\t\t\tthis.ngForOf = options;\n\t\t\t\tthis._changeDetectionRef.markForCheck();\n\t\t\t}),\n\t\t);\n\t\tthis.outOptions$ = options$;\n\t}\n\t@Input()\n\tset luForOptionsTrackBy(fn: TrackByFunction<T>) {\n\t\tthis.ngForTrackBy = fn;\n\t}\n\n\tconstructor(_viewContainer: ViewContainerRef, _template: TemplateRef<NgForOfContext<T>>, _differs: IterableDiffers, protected _changeDetectionRef: ChangeDetectorRef) {\n\t\tsuper(_viewContainer, _template, _differs);\n\t}\n\n\tngOnDestroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuForOptionsDirective } from './for-options.directive';\n\n@NgModule({\n\timports: [LuForOptionsDirective],\n\texports: [LuForOptionsDirective],\n})\nexport class LuForOptionsModule {}\n","import { Directive, forwardRef, OnDestroy } from '@angular/core';\n\nimport { ILuTree } from '@lucca-front/ng/core';\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../tree-option-operator.model';\nimport { LuForOptionsDirective } from './for-options.directive';\n\n@Directive({\n\tselector: '[luForTreeOptions]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuForTreeOptionsDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuForTreeOptionsDirective<T> extends LuForOptionsDirective<ILuTree<T>> implements ILuTreeOptionOperator<T>, OnDestroy {}\n","import { NgModule } from '@angular/core';\nimport { LuForTreeOptionsDirective } from './for-tree-options.directive';\n\n@NgModule({\n\timports: [LuForTreeOptionsDirective],\n\texports: [LuForTreeOptionsDirective],\n})\nexport class LuForTreeOptionsModule {}\n","import { NgModule } from '@angular/core';\nimport { LuOptionFeederComponent } from './feeder';\nimport { LuForGroupsDirective } from './for-groups/index';\nimport { LuForOptionsDirective } from './for-options/index';\nimport { LuOptionPagerComponent } from './pager';\nimport { LuOptionSearcherComponent } from './searcher/index';\n\n@NgModule({\n\timports: [LuOptionPagerComponent, LuOptionFeederComponent, LuOptionSearcherComponent, LuForOptionsDirective, LuForGroupsDirective],\n\texports: [LuOptionPagerComponent, LuOptionFeederComponent, LuOptionSearcherComponent, LuForOptionsDirective, LuForGroupsDirective],\n})\nexport class LuOptionOperatorModule {}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionFeederComponent } from './feeder/index';\nimport { LuForTreeOptionsDirective } from './for-options/index';\nimport { LuTreeOptionPagerComponent } from './pager/index';\nimport { LuTreeOptionSearcherModule } from './searcher/index';\n\n@NgModule({\n\timports: [LuTreeOptionFeederComponent, LuForTreeOptionsDirective, LuTreeOptionPagerComponent, LuTreeOptionSearcherModule],\n\texports: [LuTreeOptionFeederComponent, LuForTreeOptionsDirective, LuTreeOptionPagerComponent, LuTreeOptionSearcherModule],\n})\nexport class LuTreeOptionOperatorModule {}\n","import { Observable } from 'rxjs';\n\nexport interface ILuOptionSelector<T> {\n\tmultiple: boolean;\n\tonSelectValue: Observable<T | T[]>;\n\tsetValue(value: T | T[]): void;\n}\nexport abstract class ALuOptionSelector<T> implements ILuOptionSelector<T> {\n\tmultiple: boolean;\n\tabstract onSelectValue: Observable<T | T[]>;\n\tabstract setValue(value: T | T[]): void;\n}\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_OPTION_SELECT_ALL_TRANSLATIONS = new InjectionToken('LuOptionSelectAllTranslations', {\n\tfactory: () => luOptionSelectAllTranslations,\n});\n\nexport interface ILuOptionSelectAllLabel {\n\tselect: string;\n\tdeselect: string;\n}\n\nexport const luOptionSelectAllTranslations: ILuTranslation<ILuOptionSelectAllLabel> = {\n\ten: {\n\t\tselect: 'Select all',\n\t\tdeselect: 'Deselect all',\n\t},\n\tfr: {\n\t\tselect: 'Tout sélectionner',\n\t\tdeselect: 'Tout déselectionner',\n\t},\n\tde: {\n\t\tselect: 'Alle auswählen',\n\t\tdeselect: 'Alle abwählen',\n\t},\n\tpt: {\n\t\tselect: 'Selecionar tudo',\n\t\tdeselect: 'Desselecionar tudo',\n\t},\n\tes: {\n\t\tselect: 'Seleccionar todo',\n\t\tdeselect: 'Desmarcar todo',\n\t},\n};\n","import { ChangeDetectionStrategy, Component, forwardRef, HostBinding } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { Observable, Subject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { ALuOptionOperator } from '../../operator/option-operator.model';\nimport { ALuOptionSelector, ILuOptionSelector } from '../option-selector.model';\nimport { LU_OPTION_SELECT_ALL_TRANSLATIONS } from './select-all.translate';\n\n@Component({\n\tselector: 'lu-option-select-all',\n\ttemplateUrl: './select-all.component.html',\n\tstyleUrls: ['select-all.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuOptionSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuOptionSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuOptionSelectAllComponent<T> extends ALuOptionOperator<T> implements ILuOptionSelector<T> {\n\tmultiple = true;\n\tonSelectValue = new Subject<T | T[]>();\n\tprivate _values: T[];\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\toptions: T[];\n\toutOptions$: Observable<T[]>;\n\tset inOptions$(in$: Observable<T[]>) {\n\t\tthis.outOptions$ = in$.pipe(tap((options) => (this.options = options)));\n\t}\n\n\tpublic intl = getIntl(LU_OPTION_SELECT_ALL_TRANSLATIONS);\n\n\tselectAll() {\n\t\tthis.onSelectValue.next([...this.options]);\n\t}\n\tdeselectAll() {\n\t\tthis.onSelectValue.next([]);\n\t}\n\tsetValue(values: T | T[]): void {\n\t\tthis._values = values as T[];\n\t}\n}\n","<button type=\"button\" (click)=\"selectAll()\" class=\"link selectAll-button\">{{ intl.select }}</button>\n<button type=\"button\" (click)=\"deselectAll()\" class=\"link selectAll-button u-marginLeftXS\">{{ intl.deselect }}</button>\n","import { NgModule } from '@angular/core';\nimport { LuOptionSelectAllComponent } from './select-all.component';\n\n@NgModule({\n\timports: [LuOptionSelectAllComponent],\n\texports: [LuOptionSelectAllComponent],\n})\nexport class LuOptionSelectAllModule {}\n","import { ALuOptionSelector, ILuOptionSelector } from './option-selector.model';\n\nexport type ILuTreeOptionSelector<T> = ILuOptionSelector<T>;\nexport abstract class ALuTreeOptionSelector<T> extends ALuOptionSelector<T> implements ILuTreeOptionSelector<T> {}\n","import { ChangeDetectionStrategy, Component, forwardRef, HostBinding } from '@angular/core';\nimport { getIntl, ILuTree } from '@lucca-front/ng/core';\nimport { Observable, Subject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { ALuTreeOptionOperator } from '../../operator/index';\nimport { ALuTreeOptionSelector, ILuTreeOptionSelector } from '../tree-option-selector.model';\nimport { LU_OPTION_SELECT_ALL_TRANSLATIONS } from './select-all.translate';\n\n@Component({\n\tselector: 'lu-tree-option-select-all',\n\ttemplateUrl: './select-all.component.html',\n\tstyleUrls: ['select-all.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuTreeOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuTreeOptionSelector,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionSelectAllComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuTreeOptionSelectAllComponent<T> extends ALuTreeOptionOperator<T> implements ILuTreeOptionSelector<T> {\n\tmultiple = true;\n\tonSelectValue = new Subject<T | T[]>();\n\tprivate _values: T[];\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\tflatOptions: T[];\n\toutOptions$: Observable<ILuTree<T>[]>;\n\tset inOptions$(in$: Observable<ILuTree<T>[]>) {\n\t\tthis.outOptions$ = in$.pipe(tap((options) => (this.flatOptions = this.flattenTree(options))));\n\t}\n\n\tpublic intl = getIntl(LU_OPTION_SELECT_ALL_TRANSLATIONS);\n\n\tselectAll() {\n\t\tthis.onSelectValue.next([...this.flatOptions]);\n\t}\n\tdeselectAll() {\n\t\tthis.onSelectValue.next([]);\n\t}\n\tsetValue(values: T | T[]): void {\n\t\tthis._values = values as T[];\n\t}\n\n\tprivate flattenTree(tree: ILuTree<T>[] = []): T[] {\n\t\treturn tree.map((t) => [t.value, ...this.flattenTree(t.children)]).reduce((agg, cur) => [...agg, ...cur], []);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionSelectAllComponent } from './tree-select-all.component';\n\n@NgModule({\n\timports: [LuTreeOptionSelectAllComponent],\n\texports: [LuTreeOptionSelectAllComponent],\n})\nexport class LuTreeOptionSelectAllModule {}\n","import { NgModule } from '@angular/core';\nimport { LuOptionSelectAllModule } from './all/index';\n\n@NgModule({\n\timports: [LuOptionSelectAllModule],\n\texports: [LuOptionSelectAllModule],\n})\nexport class LuOptionSelectorModule {}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionSelectAllModule } from './all/index';\n\n@NgModule({\n\timports: [LuTreeOptionSelectAllModule],\n\texports: [LuTreeOptionSelectAllModule],\n})\nexport class LuTreeOptionSelectorModule {}\n","import { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { merge, Observable, Subscription } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { ILuOptionItem } from '../item/option-item.model';\n\nexport type ILuOptionPickerPanel<T> = ILuPickerPanel<T>;\n\nexport type LuOptionComparer<T> = (option1: T, option2: T) => boolean;\n\nexport abstract class ALuOptionPicker<T, O extends ILuOptionItem<T> = ILuOptionItem<T>> extends ALuPickerPanel<T> implements ILuOptionPickerPanel<T> {\n\tprotected _subs = new Subscription();\n\toverride onSelectValue: Observable<T | T[]>;\n\tprotected _value: T | T[];\n\tsetValue(value: T | T[]) {\n\t\tthis._value = value;\n\t\tthis._applySelected();\n\t}\n\tprivate __options$: Observable<O[]>;\n\tprotected get _options$() {\n\t\treturn this.__options$;\n\t}\n\tprotected set _options$(options$: Observable<O[]>) {\n\t\tthis.__options$ = options$;\n\t\t// reapply selected when the options change\n\t\tthis._subs.add(\n\t\t\toptions$.subscribe(() => {\n\t\t\t\tthis._applySelected();\n\t\t\t\tthis._applyHighlight();\n\t\t\t}),\n\t\t);\n\t\t// subscribe to any option.onSelect\n\t\tconst singleFlow$ = options$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelect))));\n\t\tthis._subs.add(singleFlow$.subscribe((option) => this._toggle(option)));\n\t}\n\tprotected optionComparer: LuOptionComparer<T> = (option1: T, option2: T) => JSON.stringify(option1) === JSON.stringify(option2);\n\tprotected _toggle(option: O) {\n\t\tconst value = option.value;\n\t\tif (!this.multiple) {\n\t\t\tthis._select(value);\n\t\t} else {\n\t\t\tconst values = <T[]>this._value || [];\n\t\t\tlet newValues: T[];\n\t\t\tif (values.some((v) => this.optionComparer(v, value))) {\n\t\t\t\t// value was present, we remove it\n\t\t\t\tnewValues = values.filter((v) => !this.optionComparer(v, value));\n\t\t\t} else {\n\t\t\t\t// value was absent, we add it\n\t\t\t\tnewValues = [...values, value];\n\t\t\t}\n\t\t\tthis._select(newValues);\n\t\t}\n\t}\n\n\tprotected _select(val: T | T[]) {\n\t\tthis._emitSelectValue(val);\n\t\tif (!this.multiple) {\n\t\t\tthis._emitCloseEvent();\n\t\t}\n\t}\n\tprotected abstract _applySelected();\n\tprotected abstract _applyHighlight();\n\tprotected destroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n\toverride _handleKeydown(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis._emitCloseEvent();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tbreak;\n\t\t\tcase 'Tab':\n\t\t\t\tthis._emitCloseEvent();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprotected abstract _emitSelectValue(value: T | T[]);\n}\n","/* eslint-disable @angular-eslint/no-output-native */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChildren,\n\tDirective,\n\tEventEmitter,\n\tforwardRef,\n\tInject,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tQueryList,\n\tTemplateRef,\n\tViewChild,\n} from '@angular/core';\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\nimport { luTransformPopover } from '@lucca-front/ng/popover';\nimport { merge, of } from 'rxjs';\nimport { delay, map, share } from 'rxjs/operators';\nimport { LuOptionItemComponent } from '../item';\nimport { ALuOptionItem } from '../item/option-item.model';\nimport { ALuOptionPicker, ILuOptionPickerPanel, LuOptionComparer } from './option-picker.model';\n\n@Directive()\nexport abstract class ALuOptionPickerComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>>\n\textends ALuOptionPicker<T, O>\n\timplements ILuOptionPickerPanel<T>, OnDestroy, AfterViewInit\n{\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('panel-classes')\n\tset inputPanelClasses(classes: string) {\n\t\tthis.panelClasses = classes;\n\t}\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('content-classes')\n\tset inputContentClasses(classes: string) {\n\t\tthis.contentClasses = classes;\n\t}\n\n\t/**\n\t * This method take a function that compare options from feeder and options from form value.\n\t * By default, compare JSON values.\n\t */\n\t@Input('option-comparer')\n\tset inputOptionComparer(comparer: LuOptionComparer<T>) {\n\t\tthis.optionComparer = comparer;\n\t}\n\n\t@Output() override close = new EventEmitter<void>();\n\t@Output() override open = new EventEmitter<void>();\n\t@Output() override hovered = new EventEmitter<boolean>();\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output() override onSelectValue = new EventEmitter<T>();\n\n\tprotected _isOptionItemsInitialized: boolean;\n\tprotected _defaultOverlayPaneClasses = ['mod-optionPicker'];\n\n\tprotected _options: O[] = [];\n\tprotected _optionsQL: QueryList<O>;\n\t@ContentChildren(ALuOptionItem, { descendants: true }) set optionsQL(ql: QueryList<O>) {\n\t\tthis._optionsQL = ql;\n\t}\n\n\tconstructor(protected _changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) protected document: Document) {\n\t\tsuper();\n\t\tthis._isOptionItemsInitialized = false;\n\t\tthis.overlayPaneClass = this._defaultOverlayPaneClasses;\n\t}\n\n\tprotected _emitSelectValue(val: T) {\n\t\tthis.onSelectValue.emit(val);\n\t}\n\tngOnDestroy() {\n\t\tsuper.destroy();\n\t}\n\t_emitOpenEvent(): void {\n\t\tthis.open.emit();\n\t}\n\t_emitCloseEvent(): void {\n\t\tthis.close.emit();\n\t}\n\t_emitHoveredEvent(h: boolean): void {\n\t\tthis.hovered.emit(h);\n\t}\n\toverride onOpen() {\n\t\tsuper.onOpen();\n\t\tthis.highlightIndex = -1;\n\t\tthis._incrHighlight();\n\t\tthis._applySelected();\n\t}\n\t@ViewChild(TemplateRef, { static: true })\n\tset vcTemplateRef(tr: TemplateRef<HTMLElement>) {\n\t\tthis.templateRef = tr;\n\t}\n\n\t// keydown\n\toverride _handleKeydown(event: KeyboardEvent) {\n\t\tsuper._handleKeydown(event);\n\t\tswitch (event.key) {\n\t\t\tcase 'Enter':\n\t\t\t\tthis._selectHighlighted();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tthis._decrHighlight();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tthis._incrHighlight();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tprotected _highlightIndex = -1;\n\tget highlightIndex() {\n\t\treturn this._highlightIndex;\n\t}\n\tset highlightIndex(i: number) {\n\t\tthis._highlightIndex = i;\n\t\tthis._applyHighlight(true);\n\t}\n\tprotected _initHighlight() {\n\t\tthis._subs.add(\n\t\t\tthis._options$.subscribe((options) => {\n\t\t\t\tconst optionCount = options.length;\n\t\t\t\tconst newHighlight = Math.max(Math.min(this.highlightIndex, optionCount - 1), -1);\n\t\t\t\tif (newHighlight !== this.highlightIndex) {\n\t\t\t\t\tthis.highlightIndex = newHighlight;\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\t\tsetTimeout(() => {\n\t\t\tthis.highlightIndex = -1;\n\t\t}, 1);\n\t}\n\tprotected _incrHighlight() {\n\t\tconst nextIndex = this._options.findIndex((item, index) => index > this.highlightIndex && !item.disabled);\n\t\tthis.highlightIndex = nextIndex > -1 ? nextIndex : this._options.findIndex((item) => !item.disabled);\n\t}\n\tprotected _decrHighlight() {\n\t\t//NB: findLastIndex would be better but is not available on this project\n\t\tlet nextIndex = -1;\n\t\tfor (let i = this.highlightIndex - 1; i >= 0; --i) {\n\t\t\tif (!this._options[i].disabled) {\n\t\t\t\tnextIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (nextIndex > -1) {\n\t\t\tthis.highlightIndex = nextIndex;\n\t\t\treturn;\n\t\t}\n\n\t\tconst optionsLength = this._options.length - 1;\n\t\tfor (let i = optionsLength; i >= 0; --i) {\n\t\t\tif (!this._options[i].disabled) {\n\t\t\t\tnextIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tthis.highlightIndex = nextIndex;\n\t}\n\tprotected _applyHighlight(reScroll = false) {\n\t\tif (!this.isOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst options = this._options;\n\t\t// remove `is-highlighted` class from all other options\n\t\toptions.forEach((option) => (option.highlighted = false));\n\t\t// apply `is-highlighted` to current highlight\n\t\tconst highlightedOption = options[this.highlightIndex];\n\n\t\tif (highlightedOption) {\n\t\t\thighlightedOption.highlighted = true;\n\t\t\t// scroll to let the highlighted option visible\n\t\t\tif (reScroll) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis._scrollToHighlight(highlightedOption.element.nativeElement);\n\t\t\t\t}, 1);\n\t\t\t}\n\t\t}\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\tprotected _scrollToHighlight(targetElt: HTMLElement) {\n\t\tif (!targetElt) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentElt = this.document.querySelector<HTMLElement>('.lu-picker-content');\n\t\tif (!contentElt) {\n\t\t\treturn;\n\t\t}\n\t\tconst headerElt = this.document.querySelector<HTMLElement>('.lu-picker-content .lu-picker-header');\n\t\tconst headerHeight = headerElt ? headerElt.offsetHeight : 0;\n\t\tconst footerElt = this.document.querySelector<HTMLElement>('.lu-picker-content .lu-picker-footer');\n\t\tconst footerHeight = footerElt ? footerElt.offsetHeight : 0;\n\t\t// highlighted option is too high\n\t\tif (contentElt.scrollTop + headerHeight > targetElt.offsetTop) {\n\t\t\tcontentElt.scrollTop = targetElt.offsetTop - headerHeight;\n\t\t\treturn;\n\t\t}\n\t\t// highlight option is too low\n\t\tconst offsetHeight = contentElt.offsetHeight;\n\t\tif (contentElt.scrollTop + offsetHeight - footerHeight < targetElt.offsetTop + targetElt.offsetHeight) {\n\t\t\tcontentElt.scrollTop = targetElt.offsetTop + targetElt.offsetHeight - offsetHeight + footerHeight;\n\t\t\treturn;\n\t\t}\n\t}\n\tprotected _selectHighlighted() {\n\t\tconst options = this._options ? this._options : [];\n\t\tconst highlightedOption = options[this.highlightIndex];\n\t\tif (highlightedOption) {\n\t\t\tthis._toggle(highlightedOption);\n\t\t}\n\t}\n\tprotected _initSelected() {\n\t\tthis._subs.add(\n\t\t\tthis._options$.subscribe(() => {\n\t\t\t\tthis._applySelected();\n\t\t\t}),\n\t\t);\n\t}\n\tprotected _applySelected() {\n\t\tif (!this._options) {\n\t\t\treturn;\n\t\t}\n\t\t// const selectedClass = 'is-selected';\n\n\t\tconst options = this._options;\n\t\t// remove `is-selected` class from all other options\n\t\toptions.forEach((option) => (option.selected = false));\n\n\t\t// add `is-selected` to all selected indexes\n\t\tconst selectedIndexes: number[] = [];\n\t\tif (!this.multiple) {\n\t\t\tconst selectedIndex = this._options.findIndex((o) => this.optionComparer(o.value, this._value as T));\n\t\t\tif (selectedIndex !== -1) {\n\t\t\t\tselectedIndexes.push(selectedIndex);\n\t\t\t}\n\t\t\tif (selectedIndex !== -1 && this.highlightIndex === -1) {\n\t\t\t\tthis.highlightIndex = selectedIndex;\n\t\t\t}\n\t\t} else {\n\t\t\tconst values = <T[]>this._value || [];\n\t\t\tconst matchingIndexes = this._options\n\t\t\t\t.map((o) => values.some((v) => this.optionComparer(o.value, v)))\n\t\t\t\t.map((f, i) => (f ? i : null))\n\t\t\t\t.filter((i) => i !== null);\n\t\t\tselectedIndexes.push(...matchingIndexes);\n\t\t\t// selectedIndexes.push(\n\t\t\t// \t...values\n\t\t\t// \t.map(v => this._options.findIndex(o => this.optionComparer(o.value, v)))\n\t\t\t// \t.filter(i => i !== -1)\n\t\t\t// );\n\t\t}\n\t\tselectedIndexes.forEach((i) => {\n\t\t\tconst option = options[i];\n\t\t\tif (option) {\n\t\t\t\toption.selected = true;\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected initItems() {\n\t\tconst items$ = merge(of(this._optionsQL), this._optionsQL.changes).pipe(\n\t\t\tmap<QueryList<O>, O[]>((q) => q.toArray()),\n\t\t\tdelay(0),\n\t\t\tshare(),\n\t\t);\n\t\titems$.subscribe((o) => (this._options = o || []));\n\t\tthis._options$ = items$;\n\t\tthis._initHighlight();\n\t\tthis._initSelected();\n\t}\n\tngAfterViewInit() {\n\t\tthis.initItems();\n\t}\n}\n/**\n * basic option picker panel\n */\n@Component({\n\tselector: 'lu-option-picker',\n\ttemplateUrl: './option-picker.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\texportAs: 'LuOptionPicker',\n\tstandalone: true,\n\timports: [CommonModule, OverlayModule, LuOptionItemComponent, A11yModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuPickerPanel,\n\t\t\tuseExisting: forwardRef(() => LuOptionPickerComponent),\n\t\t},\n\t],\n})\nexport class LuOptionPickerComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>> extends ALuOptionPickerComponent<T, O> {\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n}\n","<ng-template>\n\t<div\n\t\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\t\trole=\"dialog\"\n\t\t[ngClass]=\"panelClassesMap\"\n\t\t[class.mod-multiple]=\"multiple\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t>\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, QueryList } from '@angular/core';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\nimport { luTransformPopover } from '@lucca-front/ng/popover';\nimport { LuScrollDirective } from '@lucca-front/ng/scroll';\nimport { merge, Observable } from 'rxjs';\nimport { first, map, mergeAll, shareReplay, startWith } from 'rxjs/operators';\nimport { LuOptionItemComponent } from '../item';\nimport { ALuOptionOperator, ILuOptionOperator } from '../operator/index';\nimport { ALuOptionSelector, ILuOptionSelector } from '../selector/index';\nimport { ALuOptionPickerComponent } from './option-picker.component';\n\n@Directive()\nexport abstract class ALuOptionPickerAdvancedComponent<T, O extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>>\n\textends ALuOptionPickerComponent<T, O>\n\timplements AfterViewInit\n{\n\tloading$: Observable<boolean>;\n\n\tprotected _operators: ILuOptionOperator<T>[] = [];\n\tprotected _operatorsQL: QueryList<ILuOptionOperator<T>>;\n\t@ContentChildren(ALuOptionOperator, { descendants: true }) set operatorsQL(ql: QueryList<ILuOptionOperator<T>>) {\n\t\tthis._operatorsQL = ql;\n\t}\n\tprotected _onOpenSubscribers: ILuOnOpenSubscriber[] = [];\n\t@ContentChildren(ALuOnOpenSubscriber, { descendants: true }) set onOpenSubsQL(ql: QueryList<ILuOnOpenSubscriber>) {\n\t\tthis._onOpenSubscribers = ql.toArray();\n\t}\n\tprotected _onCloseSubscribers: ILuOnCloseSubscriber[] = [];\n\t@ContentChildren(ALuOnCloseSubscriber, { descendants: true })\n\tset onCloseSubsQL(ql: QueryList<ILuOnCloseSubscriber>) {\n\t\tthis._onCloseSubscribers = ql.toArray();\n\t}\n\tprotected _onScrollBottomSubscribers: ILuOnScrollBottomSubscriber[] = [];\n\t@ContentChildren(ALuOnScrollBottomSubscriber, { descendants: true })\n\tset onScrollBottomSubsQL(ql: QueryList<ILuOnScrollBottomSubscriber>) {\n\t\tthis._onScrollBottomSubscribers = ql.toArray();\n\t}\n\tprotected _selectors: ILuOptionSelector<T>[] = [];\n\tprotected _selectorsQL: QueryList<ILuOptionSelector<T>>;\n\t@ContentChildren(ALuOptionSelector, { descendants: true }) set selectorsQL(ql: QueryList<ILuOptionSelector<T>>) {\n\t\tthis._selectorsQL = ql;\n\t}\n\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n\tonScrollBottom() {\n\t\tthis._onScrollBottomSubscribers.forEach((o: ILuOnScrollBottomSubscriber) => {\n\t\t\tif (!o.onScrollBottom) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\to.onScrollBottom();\n\t\t});\n\t}\n\toverride onOpen() {\n\t\tthis._onOpenSubscribers.forEach((o: ILuOnOpenSubscriber) => {\n\t\t\to.onOpen();\n\t\t});\n\t\tconst operators = this._operators || [];\n\t\tconst lastOperator = operators[operators.length - 1];\n\t\tif (lastOperator && lastOperator.outOptions$) {\n\t\t\tthis.loading$ = lastOperator.outOptions$.pipe(\n\t\t\t\tfirst(),\n\t\t\t\tmap(() => false),\n\t\t\t\tstartWith(true),\n\t\t\t\tshareReplay(),\n\t\t\t);\n\t\t}\n\t\tsuper.onOpen();\n\t}\n\toverride onClose() {\n\t\tthis._onCloseSubscribers.forEach((o: ILuOnCloseSubscriber) => {\n\t\t\to.onClose();\n\t\t});\n\t\tsuper.onClose();\n\t}\n\toverride setValue(value: T | T[]) {\n\t\tsuper.setValue(value);\n\t\tthis._selectors.forEach((s) => s.setValue(value));\n\t}\n\tprotected initOperators() {\n\t\tconst operators = this._operatorsQL.toArray();\n\t\tthis._operators = operators;\n\t\tlet options$: Observable<T[]>;\n\t\toperators.forEach((operator) => {\n\t\t\toperator.inOptions$ = options$;\n\t\t\toptions$ = operator.outOptions$;\n\t\t});\n\t}\n\tprotected initSelectors() {\n\t\t// TODO : FIX changes type\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst selectors$: Observable<ILuOptionSelector<T>[]> = this._selectorsQL.changes.pipe(startWith(this._selectorsQL.toArray()));\n\t\tthis._subs.add(\n\t\t\tselectors$.subscribe((selectors) => {\n\t\t\t\tthis._selectors = selectors;\n\t\t\t\tthis._selectors.forEach((s) => s.setValue(this._value));\n\t\t\t\tthis._subs.add(\n\t\t\t\t\tmerge(this._selectors.map((s) => s.onSelectValue))\n\t\t\t\t\t\t.pipe(mergeAll())\n\t\t\t\t\t\t.subscribe((values) => {\n\t\t\t\t\t\t\tthis._select(values);\n\t\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}),\n\t\t);\n\t}\n\toverride ngAfterViewInit() {\n\t\tsuper.ngAfterViewInit();\n\t\tthis.initOperators();\n\t\tthis.initSelectors();\n\t}\n}\n\n/**\n * advanced option picker panel\n */\n@Component({\n\tselector: 'lu-option-picker-advanced',\n\ttemplateUrl: './option-picker-advanced.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\texportAs: 'LuOptionPickerAdvanced',\n\tstandalone: true,\n\timports: [CommonModule, OverlayModule, LuOptionItemComponent, LuScrollDirective, A11yModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuPickerPanel,\n\t\t\tuseExisting: forwardRef(() => LuOptionPickerAdvancedComponent),\n\t\t},\n\t],\n})\nexport class LuOptionPickerAdvancedComponent<\n\tT,\n\tO extends import('../item/option-item.model').ILuOptionItem<T> = import('../item/option-item.model').ILuOptionItem<T>,\n> extends ALuOptionPickerAdvancedComponent<T, O> {\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n}\n","<ng-template>\n\t<div\n\t\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\t\trole=\"dialog\"\n\t\t[ngClass]=\"panelClassesMap\"\n\t\t[class.mod-multiple]=\"multiple\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t>\n\t\t<div\n\t\t\t[class.is-loading]=\"loading$ | async\"\n\t\t\tclass=\"lu-picker-content\"\n\t\t\t[ngClass]=\"contentClassesMap\"\n\t\t\t[cdkTrapFocus]=\"trapFocus\"\n\t\t\tluScroll\n\t\t\t(onScrollBottom)=\"onScrollBottom()\"\n\t\t>\n\t\t\t<ng-content></ng-content>\n\t\t\t<div *ngIf=\"loading$ | async\" class=\"loading lu-picker-loading\"></div>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { LuOptionItemComponent } from '../item/index';\nimport { LuOptionPickerAdvancedComponent } from './option-picker-advanced.component';\nimport { LuOptionPickerComponent } from './option-picker.component';\n\n@NgModule({\n\timports: [LuOptionPickerComponent, LuOptionPickerAdvancedComponent, LuOptionItemComponent],\n\texports: [LuOptionPickerComponent, LuOptionPickerAdvancedComponent, LuOptionItemComponent],\n})\nexport class LuOptionPickerModule {}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, OnDestroy, QueryList, ViewContainerRef } from '@angular/core';\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\nimport { luTransformPopover } from '@lucca-front/ng/popover';\nimport { merge, Observable } from 'rxjs';\nimport { delay, map, startWith, switchMap } from 'rxjs/operators';\nimport { ALuTreeOptionItem } from '../item/index';\nimport { ALuOptionPickerComponent } from './option-picker.component';\nimport { ILuTreeOptionPickerPanel } from './tree-option-picker.model';\n\nenum ToggleMode {\n\tall,\n\tself,\n\tchildren,\n}\n\n@Directive()\nexport abstract class ALuTreeOptionPickerComponent<T, O extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>>\n\textends ALuOptionPickerComponent<T, O>\n\timplements ILuTreeOptionPickerPanel<T>, OnDestroy, AfterViewInit\n{\n\t@ContentChildren(ALuTreeOptionItem, { descendants: true })\n\toverride set optionsQL(ql: QueryList<O>) {\n\t\tthis._optionsQL = ql;\n\t}\n\t@ContentChildren(ALuTreeOptionItem, {\n\t\tdescendants: true,\n\t\tread: ViewContainerRef,\n\t})\n\toptionsQLVR: QueryList<ViewContainerRef>;\n\tprotected override set _options$(optionItems$: Observable<O[]>) {\n\t\t// reapply selected when the options change\n\t\tthis._subs.add(optionItems$.subscribe(() => this._applySelected()));\n\t\t// subscribe to any option.onSelect\n\t\tconst singleFlowSelect$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelect))));\n\t\tconst singleFlowSelectSelf$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelectSelf))));\n\t\tconst singleFlowSelectChildren$ = optionItems$.pipe(switchMap((items) => merge(...items.map((i) => i.onSelectChildren))));\n\n\t\tthis._subs.add(singleFlowSelect$.subscribe((option) => this._toggle(option, ToggleMode.all)));\n\t\tthis._subs.add(singleFlowSelectSelf$.subscribe((option) => this._toggle(option, ToggleMode.self)));\n\t\tthis._subs.add(singleFlowSelectChildren$.subscribe((option) => this._toggle(option, ToggleMode.children)));\n\t}\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n\tprotected override _toggle(option: O, mod = ToggleMode.all) {\n\t\tswitch (mod) {\n\t\t\tcase ToggleMode.self:\n\t\t\t\treturn this._toggleSelf(option);\n\t\t\tcase ToggleMode.children:\n\t\t\t\treturn this._toggleChildren(option);\n\t\t\tdefault:\n\t\t\t\treturn this._toggleAll(option);\n\t\t}\n\t}\n\tprotected _toggleAll(option: O) {\n\t\tconst value = option.value;\n\t\tif (!this.multiple) {\n\t\t\tthis._select(value);\n\t\t\treturn;\n\t\t}\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\n\t\tconst values = <T[]>this._value || [];\n\t\tlet newValues: T[];\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\n\t\tconst allChildrenSelected = allChildren.every((child) => values.some((v) => this.optionComparer(v, child)));\n\t\tif (selfSelected && allChildrenSelected) {\n\t\t\t// remove option and its children\n\t\t\tnewValues = this._remove(values, [value, ...allChildren]);\n\t\t} else {\n\t\t\t// add option and its children\n\t\t\tnewValues = this._add(values, [value, ...allChildren]);\n\t\t}\n\t\tthis._select(newValues);\n\t}\n\tprotected _toggleSelf(option: O) {\n\t\tconst value = option.value;\n\t\tif (!this.multiple) {\n\t\t\tthis._select(value);\n\t\t\treturn;\n\t\t}\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\n\t\tconst values = <T[]>this._value || [];\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\n\t\tconst someChildSelected = allChildren.some((child) => values.some((v) => this.optionComparer(v, child)));\n\n\t\tlet newValues = this._remove(values, [...allChildren]);\n\t\tif (selfSelected && !someChildSelected) {\n\t\t\t// remove option\n\t\t\tnewValues = this._remove(newValues, [value]);\n\t\t} else {\n\t\t\t// add option\n\t\t\tnewValues = this._add(newValues, [value]);\n\t\t}\n\t\tthis._select(newValues);\n\t}\n\tprotected _toggleChildren(option: O) {\n\t\tconst value = option.value;\n\t\tif (!this.multiple) {\n\t\t\tthis._select(value);\n\t\t\treturn;\n\t\t}\n\t\tconst allChildren = option.allChildren.map((i) => i.value);\n\t\tconst values = <T[]>this._value || [];\n\t\tconst selfSelected = values.some((v) => this.optionComparer(v, value));\n\t\tlet newValues = this._remove(values, [value]);\n\t\tconst allChildrenSelected = allChildren.every((child) => values.some((v) => this.optionComparer(v, child)));\n\t\tif (allChildrenSelected && !selfSelected) {\n\t\t\tnewValues = this._remove(newValues, allChildren);\n\t\t} else {\n\t\t\tnewValues = this._add(newValues, allChildren);\n\t\t}\n\t\tthis._select(newValues);\n\t}\n\tprotected _add(values: T[], entries: T[]): T[] {\n\t\tconst newEntries = entries.filter((entry) => !values.some((v) => this.optionComparer(v, entry)));\n\t\treturn [...values, ...newEntries];\n\t}\n\tprotected _remove(values: T[], entries: T[]): T[] {\n\t\tconst entriesToKeep = values.filter((value) => !entries.some((e) => this.optionComparer(e, value)));\n\t\treturn [...entriesToKeep];\n\t}\n\n\tprotected override initItems() {\n\t\tconst items$ = this._optionsQL.changes.pipe(\n\t\t\tstartWith(this._optionsQL),\n\t\t\tmap<QueryList<O>, O[]>((q) => q.toArray()),\n\t\t\tmap((roots) => roots.map((r) => [r, ...r.allChildren]).reduce((agg, val) => [...agg, ...val], [])),\n\t\t\tdelay(0),\n\t\t);\n\t\tthis._subs.add(items$.subscribe((o) => (this._options = o || [])));\n\t\tthis._options$ = items$;\n\t}\n\toverride ngAfterViewInit() {\n\t\tthis.initItems();\n\t}\n}\n/**\n * basic tree option picker panel\n */\n@Component({\n\tselector: 'lu-tree-option-picker',\n\ttemplateUrl: './tree-option-picker.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\texportAs: 'LuTreeOptionPicker',\n\tstandalone: true,\n\timports: [CommonModule, A11yModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuPickerPanel,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPickerComponent),\n\t\t},\n\t],\n})\nexport class LuTreeOptionPickerComponent<\n\tT,\n\tO extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>,\n> extends ALuTreeOptionPickerComponent<T, O> {\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n}\n","<ng-template>\n\t<div\n\t\tclass=\"lu-picker-panel lu-tree-option-picker-panel\"\n\t\trole=\"dialog\"\n\t\t[ngClass]=\"panelClassesMap\"\n\t\t[class.mod-multiple]=\"multiple\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t>\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Directive, forwardRef, Inject, QueryList } from '@angular/core';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuTree } from '@lucca-front/ng/core';\nimport { ALuPickerPanel } from '@lucca-front/ng/picker';\nimport { luTransformPopover } from '@lucca-front/ng/popover';\nimport { merge, Observable } from 'rxjs';\nimport { first, map, mergeAll, shareReplay, startWith } from 'rxjs/operators';\nimport { ALuTreeOptionOperator, ILuTreeOptionOperator } from '../operator/index';\nimport { ALuTreeOptionSelector, ILuTreeOptionSelector } from '../selector/index';\nimport { ALuTreeOptionPickerComponent } from './tree-option-picker.component';\n\n@Directive()\nexport abstract class ALuTreeOptionPickerAdvancedComponent<T, O extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>>\n\textends ALuTreeOptionPickerComponent<T, O>\n\timplements AfterViewInit\n{\n\tloading$: Observable<boolean>;\n\n\tprotected _operators: ILuTreeOptionOperator<T>[] = [];\n\tprotected _operatorsQL: QueryList<ILuTreeOptionOperator<T>>;\n\t@ContentChildren(ALuTreeOptionOperator, { descendants: true })\n\tset operatorsQL(ql: QueryList<ILuTreeOptionOperator<T>>) {\n\t\tthis._operatorsQL = ql;\n\t}\n\tprotected _onOpenSubscribers: ILuOnOpenSubscriber[] = [];\n\t@ContentChildren(ALuOnOpenSubscriber, { descendants: true }) set onOpenSubsQL(ql: QueryList<ILuOnOpenSubscriber>) {\n\t\tthis._onOpenSubscribers = ql.toArray();\n\t}\n\tprotected _onCloseSubscribers: ILuOnCloseSubscriber[] = [];\n\t@ContentChildren(ALuOnCloseSubscriber, { descendants: true })\n\tset onCloseSubsQL(ql: QueryList<ILuOnCloseSubscriber>) {\n\t\tthis._onCloseSubscribers = ql.toArray();\n\t}\n\tprotected _onScrollBottomSubscribers: ILuOnScrollBottomSubscriber[] = [];\n\t@ContentChildren(ALuOnScrollBottomSubscriber, { descendants: true })\n\tset onScrollBottomSubsQL(ql: QueryList<ILuOnScrollBottomSubscriber>) {\n\t\tthis._onScrollBottomSubscribers = ql.toArray();\n\t}\n\n\tprotected _selectorsQL: QueryList<ILuTreeOptionSelector<T>>;\n\tprotected _selectors: ILuTreeOptionSelector<T>[] = [];\n\t@ContentChildren(ALuTreeOptionSelector, { descendants: true })\n\tset selectorsQL(ql: QueryList<ILuTreeOptionSelector<T>>) {\n\t\tthis._selectorsQL = ql;\n\t}\n\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n\tonScrollBottom() {\n\t\tthis._onScrollBottomSubscribers.forEach((o) => {\n\t\t\tif (!o.onScrollBottom) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\to.onScrollBottom();\n\t\t});\n\t}\n\toverride onOpen() {\n\t\tthis._onOpenSubscribers.forEach((o) => {\n\t\t\to.onOpen();\n\t\t});\n\t\tsuper.onOpen();\n\t}\n\toverride onClose() {\n\t\tthis._onCloseSubscribers.forEach((o) => {\n\t\t\to.onClose();\n\t\t});\n\t\tsuper.onClose();\n\t}\n\toverride setValue(value: T | T[]) {\n\t\tsuper.setValue(value);\n\t\tthis._selectors.forEach((s) => s.setValue(value));\n\t}\n\n\tprotected initOperators() {\n\t\tconst operators = this._operatorsQL.toArray();\n\t\tthis._operators = operators;\n\t\tlet options$: Observable<ILuTree<T>[]>;\n\t\toperators.forEach((operator) => {\n\t\t\toperator.inOptions$ = options$;\n\t\t\toptions$ = operator.outOptions$;\n\t\t});\n\t\tconst lastOperator = operators[operators.length - 1];\n\t\tif (lastOperator && lastOperator.outOptions$) {\n\t\t\tthis.loading$ = lastOperator.outOptions$.pipe(\n\t\t\t\tfirst(),\n\t\t\t\tmap(() => false),\n\t\t\t\tstartWith(true),\n\t\t\t\tshareReplay(),\n\t\t\t);\n\t\t}\n\t}\n\tprotected initSelectors() {\n\t\tthis._selectors = this._selectorsQL.toArray();\n\t\tthis._subs.add(\n\t\t\tmerge(this._selectors.map((s) => s.onSelectValue))\n\t\t\t\t.pipe(mergeAll())\n\t\t\t\t.subscribe((values) => {\n\t\t\t\t\tthis._select(values);\n\t\t\t\t}),\n\t\t);\n\t}\n\toverride ngAfterViewInit() {\n\t\tsuper.ngAfterViewInit();\n\t\tthis.initOperators();\n\t\tthis.initSelectors();\n\t}\n}\n\n/**\n * advanced option picker panel\n */\n@Component({\n\tselector: 'lu-tree-option-picker-advanced',\n\ttemplateUrl: './tree-option-picker-advanced.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\texportAs: 'LuOptionPicker',\n\tstandalone: true,\n\timports: [CommonModule, A11yModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuPickerPanel,\n\t\t\tuseExisting: forwardRef(() => LuTreeOptionPickerAdvancedComponent),\n\t\t},\n\t],\n})\nexport class LuTreeOptionPickerAdvancedComponent<\n\tT,\n\tO extends import('../item/tree-option-item.model').ILuTreeOptionItem<T> = import('../item/tree-option-item.model').ILuTreeOptionItem<T>,\n> extends ALuTreeOptionPickerAdvancedComponent<T, O> {\n\tconstructor(_changeDetectorRef: ChangeDetectorRef, @Inject(DOCUMENT) document: Document) {\n\t\tsuper(_changeDetectorRef, document);\n\t}\n}\n","<ng-template>\n\t<div\n\t\tclass=\"lu-picker-panel lu-tree-option-picker-panel\"\n\t\trole=\"dialog\"\n\t\t[ngClass]=\"panelClassesMap\"\n\t\t[class.mod-multiple]=\"multiple\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t>\n\t\t<div class=\"lu-picker-content\" [ngClass]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\" luScroll (onScrollBottom)=\"onScrollBottom()\">\n\t\t\t<div class=\"lu-picker-content-option\">\n\t\t\t\t<ng-content [class.is-loading]=\"loading$ | async\"></ng-content>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LuScrollDirective } from '@lucca-front/ng/scroll';\nimport { LuTreeOptionPickerAdvancedComponent } from './tree-option-picker-advanced.component';\nimport { LuTreeOptionPickerComponent } from './tree-option-picker.component';\n\n@NgModule({\n\timports: [CommonModule, OverlayModule, LuScrollDirective, A11yModule, LuTreeOptionPickerAdvancedComponent, LuTreeOptionPickerComponent],\n\texports: [LuTreeOptionPickerComponent, LuTreeOptionPickerAdvancedComponent],\n})\nexport class LuTreeOptionPickerModule {}\n","import { ILuTreeOptionItem } from '../item/index';\nimport { ALuOptionPicker, ILuOptionPickerPanel } from './option-picker.model';\n\nexport type ILuTreeOptionPickerPanel<T> = ILuOptionPickerPanel<T>;\n\nexport abstract class ALuTreeOptionPicker<T, I extends ILuTreeOptionItem<T> = ILuTreeOptionItem<T>> extends ALuOptionPicker<T, I> implements ILuTreeOptionPickerPanel<T> {}\n","import { NgModule } from '@angular/core';\nimport { LuOptionItemComponent } from './item/index';\nimport { LuForGroupsDirective, LuForOptionsDirective, LuOptionFeederComponent, LuOptionPagerComponent, LuOptionSearcherComponent } from './operator/index';\nimport { LuOptionPickerAdvancedComponent, LuOptionPickerComponent } from './picker/index';\nimport { LuOptionPlaceholderComponent } from './placeholder/index';\nimport { LuOptionSelectAllComponent } from './selector/index';\n\n@NgModule({\n\timports: [\n\t\tLuOptionItemComponent,\n\t\tLuOptionPickerComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuOptionPagerComponent,\n\t\tLuOptionFeederComponent,\n\t\tLuOptionSearcherComponent,\n\t\tLuForOptionsDirective,\n\t\tLuForGroupsDirective,\n\t\tLuOptionSelectAllComponent,\n\t\tLuOptionPlaceholderComponent,\n\t],\n\texports: [\n\t\tLuOptionItemComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuOptionPickerComponent,\n\t\tLuOptionPagerComponent,\n\t\tLuOptionFeederComponent,\n\t\tLuOptionSearcherComponent,\n\t\tLuForOptionsDirective,\n\t\tLuForGroupsDirective,\n\t\tLuOptionSelectAllComponent,\n\t\tLuOptionPlaceholderComponent,\n\t],\n})\nexport class LuOptionModule {}\n","import { NgModule } from '@angular/core';\nimport { LuTreeOptionItemModule } from './item/index';\nimport { LuTreeOptionPickerModule } from './picker/index';\nimport { LuTreeOptionOperatorModule } from './operator/index';\nimport { LuTreeOptionSelectorModule } from './selector/index';\n\n@NgModule({\n\timports: [LuTreeOptionItemModule, LuTreeOptionPickerModule, LuTreeOptionOperatorModule, LuTreeOptionSelectorModule],\n\texports: [LuTreeOptionItemModule, LuTreeOptionPickerModule, LuTreeOptionOperatorModule, LuTreeOptionSelectorModule],\n})\nexport class LuTreeOptionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MAGIC_STEP","i1"],"mappings":";;;;;;;;;;;;;;;;;;MAWsB,aAAa,CAAA;AAOlC;;AClBD;AAoBM,MAAO,qBAAyB,SAAQ,aAAgB,CAAA;AAE7D,IAAA,IAAI,QAAQ,GAAA;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;KACtB;IACD,IAAa,QAAQ,CAAC,CAAU,EAAA;AAC/B,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE;AACzB,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AACzB,SAAA;KACD;AAED,IAAA,IAAI,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;KACzB;IACD,IAAa,WAAW,CAAC,CAAU,EAAA;AAClC,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;AAC5B,YAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;AACtB,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AACzB,SAAA;KACD;IAGD,MAAM,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACnB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,SAAA;KACD;AAGD,IAAA,IAAI,QAAQ,GAAA;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;KACtB;IACD,IAAa,QAAQ,CAAC,CAAU,EAAA;AAC/B,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;KACnB;AAGD,IAAA,WAAA,CAAoB,IAAuB,EAAA;AAC1C,QAAA,KAAK,EAAE,CAAC;QADW,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;QArCjC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAUlB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAWrB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAQ,CAAC;QAOpC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;KAW3B;8GAxCW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EARtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAuC6B,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzDzC,uRAWA,EAAA,MAAA,EAAA,CAAA,irJAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDDW,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAUV,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAfjC,SAAS;+BACC,WAAW,EAAA,eAAA,EAGJ,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,YAAY,CAAC,EACX,UAAA,EAAA,IAAI,EACL,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,2BAA2B,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,uRAAA,EAAA,MAAA,EAAA,CAAA,irJAAA,CAAA,EAAA,CAAA;sFAOY,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAUO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAMG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAWM,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAIoD,OAAO,EAAA,CAAA;sBAAhE,SAAS;uBAAC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MElD5C,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAlB,kBAAkB,EAAA,OAAA,EAAA,CAHpB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACrB,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEnB,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,kBAAkB,YAHpB,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,qBAAqB,CAAC;oBAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AAChC,iBAAA,CAAA;;;ACIK,MAAgB,iBAAqB,SAAQ,aAAgB,CAAA;AAElE,IAAA,IAAI,WAAW,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;KACpG;AAGD;;MCdY,gCAAgC,GAAG,IAAI,cAAc,CAAC,8BAA8B,EAAE;AAClG,IAAA,OAAO,EAAE,MAAM,4BAA4B;AAC3C,CAAA,EAAE;AAOU,MAAA,4BAA4B,GAA2C;AACnF,IAAA,EAAE,EAAE;AACH,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,YAAY,EAAE,eAAe;AAC7B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,UAAU,EAAE,qBAAqB;AACjC,QAAA,YAAY,EAAE,uBAAuB;AACrC,KAAA;;;ACpBF;AAwBM,MAAO,yBAA6B,SAAQ,iBAAoB,CAAA;IAarE,MAAM,GAAA;QACL,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;IACD,UAAU,GAAA;QACT,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7B;IACD,cAAc,GAAA;AACb,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjC;IAED,IAAa,IAAI,CAAC,CAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACjC;AACD,IAAA,IAAI,KAAK,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;KACxB;AACD,IAAA,IAAI,QAAQ,GAAA;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;KACtB;IACD,IAAI,QAAQ,CAAC,CAAC,EAAA;AACb,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;KACnB;AACD,IAAA,IAAI,WAAW,GAAA;AACd,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;KACnD;AAGD,IAAA,IAAI,QAAQ,GAAA;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;KACtB;IACD,IAAa,QAAQ,CAAC,CAAU,EAAA;QAC/B,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC3C,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AACzB,SAAA;KACD;AAED,IAAA,IAAI,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;KACzB;IACD,IAAa,WAAW,CAAC,CAAU,EAAA;AAClC,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;AAC5B,YAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;AACtB,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AACzB,SAAA;KACD;AACD,IAAA,IAAI,QAAQ,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;KAC3B;IAED,IAAuD,sBAAsB,CAAC,SAA+B,EAAA;AAC5G,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;KAC5B;AAID,IAAA,WAAA,CAAoB,IAAuB,EAAA;AAC1C,QAAA,KAAK,EAAE,CAAC;QADW,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;QA5EjC,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AASvB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAQ,CAAC;AACpC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAQ,CAAC;AACxC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAQ,CAAC;QAmC5C,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAUlB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAkBxB,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;KAIvD;AAEO,IAAA,YAAY,CAAC,KAAQ,EAAA;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAC3B;IACO,eAAe,CAAC,WAAyB,EAAE,EAAA;AAClD,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;YACzE,GAAG,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC1C,YAAA,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;AACtB,YAAA,OAAO,GAAG,CAAC,QAAgB,CAAC;AAC7B,SAAC,CAAC,CAAC;KACH;8GA9FW,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAR1B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAyEa,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAnEW,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAEb,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAE/B,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChCzC,y3GAuCA,EAAA,MAAA,EAAA,CAAA,s+UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDxBW,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,yBAAyB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FASrC,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAfrC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAGT,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,yBAAyB,CAAC,EACvC,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC;AACxD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,y3GAAA,EAAA,MAAA,EAAA,CAAA,s+UAAA,CAAA,EAAA,CAAA;sFAOS,SAAS,EAAA,CAAA;sBADlB,SAAS;uBAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;gBAGlD,YAAY,EAAA,CAAA;sBADrB,SAAS;uBAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;gBAEL,OAAO,EAAA,CAAA;sBAAhE,SAAS;uBAAC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAE9C,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBAiBM,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAsBO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAUO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAUiD,sBAAsB,EAAA,CAAA;sBAA5E,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MExFrC,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAtB,sBAAsB,EAAA,OAAA,EAAA,CAHxB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CACzB,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEvB,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,sBAAsB,YAHxB,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGvB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,yBAAyB,CAAC;oBACpC,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACpC,iBAAA,CAAA;;;MCAqB,iBAAiB,CAAA;AAGtC;;MCSY,uBAAuB,CAAA;AAdpC,IAAA,WAAA,GAAA;AAeC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAM,EAAE,CAAC,CAAC;AAI3C,KAAA;IAHA,IAAa,OAAO,CAAC,OAAY,EAAA;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/B;8GAJW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EARxB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAVS,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAYA,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAdnC,SAAS;+BACC,kBAAkB,EAAA,QAAA,EAClB,EAAE,EAEK,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACL,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,CAAA;8BAIY,OAAO,EAAA,CAAA;sBAAnB,KAAK;;;MCbM,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAApB,oBAAoB,EAAA,OAAA,EAAA,CAHtB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAErB,oBAAoB,EAAA,CAAA,CAAA,EAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,uBAAuB,CAAC;oBAClC,OAAO,EAAE,CAAC,uBAAuB,CAAC;AAClC,iBAAA,CAAA;;;ACDK,MAAgB,qBAAyB,SAAQ,iBAA6B,CAAA;AAAuC;;MCc9G,2BAA2B,CAAA;AAdxC,IAAA,WAAA,GAAA;AAeC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAe,EAAE,CAAC,CAAC;AAIpD,KAAA;IAHA,IAAa,OAAO,CAAC,OAAqB,EAAA;AACzC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/B;8GAJW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAR5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,qBAAqB;AAC9B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAVS,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAYA,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAdvC,SAAS;+BACC,uBAAuB,EAAA,QAAA,EACvB,EAAE,EAEK,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACL,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,qBAAqB;AAC9B,4BAAA,WAAW,EAAE,UAAU,CAAC,iCAAiC,CAAC;AAC1D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,CAAA;8BAIY,OAAO,EAAA,CAAA;sBAAnB,KAAK;;;MCdM,wBAAwB,CAAA;8GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAxB,wBAAwB,EAAA,OAAA,EAAA,CAH1B,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAC3B,2BAA2B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEzB,wBAAwB,EAAA,CAAA,CAAA,EAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,2BAA2B,CAAC;oBACtC,OAAO,EAAE,CAAC,2BAA2B,CAAC;AACtC,iBAAA,CAAA;;;ACDD,MAAMA,YAAU,GAAG,EAAE,CAAC;AAoBhB,MAAO,sBAA0B,SAAQ,iBAAoB,CAAA;AAnBnE,IAAA,WAAA,GAAA;;AA4BC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAASA,YAAU,CAAC,CAAC;AAOlD,KAAA;IAdA,IAAI,UAAU,CAAC,GAAoB,EAAA;QAClC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACzD,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,KAAI;AACzB,YAAA,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SACxC,CAAC,CACF,CAAC;KACF;IAED,IAAI,GAAA;AACH,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAGA,YAAU,CAAC,CAAC;KACnD;IACD,cAAc,GAAA;QACb,IAAI,CAAC,IAAI,EAAE,CAAC;KACZ;8GAfW,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAbvB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAfS,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAiBA,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAnBlC,SAAS;+BACC,iBAAiB,EAAA,QAAA,EACjB,EAAE,EAEK,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACL,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,CAAA;;;MChBW,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAnB,mBAAmB,EAAA,OAAA,EAAA,CAHrB,sBAAsB,CAAA,EAAA,OAAA,EAAA,CACtB,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEpB,mBAAmB,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,iBAAA,CAAA;;;ACDD,MAAM,UAAU,GAAG,EAAE,CAAC;AAoBhB,MAAO,0BAA8B,SAAQ,qBAAwB,CAAA;AAnB3E,IAAA,WAAA,GAAA;;AA4BC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAS,UAAU,CAAC,CAAC;AA0BlD,KAAA;IAjCA,IAAI,UAAU,CAAC,GAA6B,EAAA;QAC3C,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACzD,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,KAAI;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAClC,CAAC,CACF,CAAC;KACF;IAED,IAAI,GAAA;AACH,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;KACnD;IACD,cAAc,GAAA;QACb,IAAI,CAAC,IAAI,EAAE,CAAC;KACZ;AACD,IAAA,IAAI,CAAC,KAAA,GAAsB,EAAE,EAAE,SAAiB,UAAU,EAAA;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;KACvC;IACD,OAAO,CAAC,QAAsB,EAAE,EAAA;QAC/B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KACnG;AACD,IAAA,MAAM,CAAC,KAAA,GAAsB,EAAE,EAAE,MAAW,EAAA;AAC3C,QAAA,OAAO,KAAK;AACV,aAAA,GAAG,CAAC,CAAC,CAAC,KAAI;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE;AACvC,gBAAA,OAAO,SAAS,CAAC;AACjB,aAAA;AACD,YAAA,OAAO,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;AAC5D,SAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACrB;8GAlCW,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAb3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,qBAAqB;AAC9B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAfS,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAiBA,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAnBtC,SAAS;+BACC,sBAAsB,EAAA,QAAA,EACtB,EAAE,EAEA,UAAA,EAAA,IAAI,mBACC,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,qBAAqB;AAC9B,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC,CAAC;AACzD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC,CAAC;AACzD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,CAAA;;;MChBW,uBAAuB,CAAA;8GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAvB,uBAAuB,EAAA,OAAA,EAAA,CAHzB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAC1B,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAExB,uBAAuB,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,0BAA0B,CAAC;oBACrC,OAAO,EAAE,CAAC,0BAA0B,CAAC;AACrC,iBAAA,CAAA;;;MCHY,kCAAkC,GAAG,IAAI,cAAc,CAAC,iCAAiC,EAAE;AACvG,IAAA,OAAO,EAAE,MAAM,+BAA+B;AAC9C,CAAA,EAAE;AAOU,MAAA,+BAA+B,GAA8C;AACzF,IAAA,EAAE,EAAE;AACH,QAAA,sBAAsB,EAAE,wCAAwC;AAChE,QAAA,iBAAiB,EAAE,cAAc;AACjC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,sBAAsB,EAAE,qCAAqC;AAC7D,QAAA,iBAAiB,EAAE,oBAAoB;AACvC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,sBAAsB,EAAE,kDAAkD;AAC1E,QAAA,iBAAiB,EAAE,mBAAmB;AACtC,KAAA;;;MCdW,4BAA4B,CAAA;AANzC,IAAA,WAAA,GAAA;;AAQW,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAEhC,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAK1D,KAAA;IAHA,KAAK,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACpB;8GARW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,kHCVzC,iPAIA,EAAA,MAAA,EAAA,CAAA,iwBAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDMa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,cAGrB,IAAI,EAAA,QAAA,EAAA,iPAAA,EAAA,MAAA,EAAA,CAAA,iwBAAA,CAAA,EAAA,CAAA;8BAIN,OAAO,EAAA,CAAA;sBAAhB,MAAM;;;MELK,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAzB,yBAAyB,EAAA,OAAA,EAAA,CAH3B,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAC5B,4BAA4B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE1B,yBAAyB,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,4BAA4B,CAAC;oBACvC,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACvC,iBAAA,CAAA;;;ACuBK,MAAO,yBAA6B,SAAQ,iBAAoB,CAAA;AApBtE,IAAA,WAAA,GAAA;;AAqBC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAuB,CAAC;AAapE,QAAA,IAAA,CAAA,QAAQ,GAAyC,MAAM,IAAI,CAAC;AASrE,KAAA;IAjBA,IAAI,UAAU,CAAC,GAAoB,EAAA;QAClC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACvD,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,KAAI;AACvB,YAAA,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,OAAO,IAAI,EAAE,CAAC;SACpF,CAAC,CACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;KACtE;IAGD,MAAM,GAAA;AACL,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KAChC;IACD,SAAS,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KAChC;8GAvBW,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAb1B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;SACD,EAMiC,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,kECjC7C,0OAKA,EAAA,MAAA,EAAA,CAAA,w3BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDUW,mBAAmB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,wLAAE,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAc7D,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBApBrC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAGb,eAAA,EAAA,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,OAAA,EACP,CAAC,mBAAmB,EAAE,YAAY,EAAE,4BAA4B,CAAC,EAC/D,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC;AACxD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC;AACxD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,0OAAA,EAAA,MAAA,EAAA,CAAA,w3BAAA,CAAA,EAAA,CAAA;8BAOD,WAAW,EAAA,CAAA;sBADV,SAAS;uBAAC,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAWnD,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MErCM,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAtB,sBAAsB,EAAA,OAAA,EAAA,CAHxB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CACzB,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEvB,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,sBAAsB,YAHxB,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGvB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,yBAAyB,CAAC;oBACpC,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACpC,iBAAA,CAAA;;;ACuBK,MAAO,6BAAiC,SAAQ,qBAAwB,CAAA;AApB9E,IAAA,WAAA,GAAA;;AAqBC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAuB,CAAC;AAgBpE,QAAA,IAAA,CAAA,QAAQ,GAAyC,MAAM,IAAI,CAAC;AAuBrE,KAAA;IAlCA,IAAI,UAAU,CAAC,GAA6B,EAAA;QAC3C,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACvD,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,KAAI;YACvB,IAAI,CAAC,IAAI,EAAE;gBACV,OAAO,OAAO,IAAI,EAAE,CAAC;AACrB,aAAA;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAChC,CAAC,CACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;KACtE;IAGD,MAAM,GAAA;AACL,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KAChC;IACD,IAAI,CAAC,OAAqB,EAAE,IAAY,EAAA;AACvC,QAAA,OAAO,OAAO;AACZ,aAAA,GAAG,CAAC,CAAC,MAAM,KAAI;YACf,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;AACtC,gBAAA,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;AACrB,aAAA;YACD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAChF,IAAI,eAAe,CAAC,MAAM,EAAE;gBAC3B,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;AAChD,aAAA;AACD,YAAA,OAAO,SAAS,CAAC;AAClB,SAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACrB;IACD,SAAS,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KAChC;8GAxCW,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EAb9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,qBAAqB;AAC9B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,6BAA6B,CAAC;AAC5D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,6BAA6B,CAAC;AAC5D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;SACD,EAMiC,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,kEFjC7C,0OAKA,EAAA,MAAA,EAAA,CAAA,w3BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EESW,mBAAmB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,wLAAE,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAe7D,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBApBzC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EAGlB,eAAA,EAAA,uBAAuB,CAAC,MAAM,WACtC,CAAC,mBAAmB,EAAE,YAAY,EAAE,4BAA4B,CAAC,EAAA,UAAA,EAC9D,IAAI,EACL,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,qBAAqB;AAC9B,4BAAA,WAAW,EAAE,UAAU,CAAC,mCAAmC,CAAC;AAC5D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAE,UAAU,CAAC,mCAAmC,CAAC;AAC5D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,0OAAA,EAAA,MAAA,EAAA,CAAA,w3BAAA,CAAA,EAAA,CAAA;8BAOD,WAAW,EAAA,CAAA;sBADV,SAAS;uBAAC,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAcnD,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MCxCM,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAA1B,0BAA0B,EAAA,OAAA,EAAA,CAH5B,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAC7B,6BAA6B,CAAA,EAAA,CAAA,CAAA,EAAA;AAE3B,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,0BAA0B,YAH5B,6BAA6B,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG3B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,6BAA6B,CAAC;oBACxC,OAAO,EAAE,CAAC,6BAA6B,CAAC;AACxC,iBAAA,CAAA;;;MCDY,iBAAiB,CAAA;AAC7B,IAAA,WAAA,CAA0B,SAAY,EAAS,KAAa,EAAS,KAAa,EAAA;QAAxD,IAAS,CAAA,SAAA,GAAT,SAAS,CAAG;QAAS,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;QAAS,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;KAAI;AAEtF,IAAA,IAAW,KAAK,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;KACxB;AAED,IAAA,IAAW,IAAI,GAAA;QACd,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;KACrC;AAED,IAAA,IAAW,IAAI,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;KAC5B;AAED,IAAA,IAAW,GAAG,GAAA;AACb,QAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;KAClB;AACD,CAAA;MAaY,oBAAoB,CAAA;IAIhC,IACW,WAAW,CAAC,EAAyB,EAAA;AAC/C,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACrB;IAGD,IAAW,UAAU,CAAC,QAA6B,EAAA;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;KAC5B;AAED,IAAA,WAAA,CAA6B,IAAsB,EAAY,IAAuB,EAAY,YAAmE,EAAA;QAAxI,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;QAAY,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;QAAY,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAuD;AAN3J,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;KAMoI;IAElK,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;KACzB;AAEM,IAAA,MAAM,CAAC,OAAgB,EAAA;AAC7B,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAClB,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;AAC/B,YAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,iBAAiB,CAAwB,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACpH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;KACzB;AAES,IAAA,OAAO,CAAC,KAAc,EAAA;QAC/B,MAAM,MAAM,GAA4B,EAAE,CAAC;AAC3C,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAClC,YAAA,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,EAAE;gBACX,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAChC,gBAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnB,aAAA;AACD,YAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,MAAM,CAAC;KACd;8GA3CW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EARrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,oBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAEW,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA;AACD,iBAAA,CAAA;+IAMW,WAAW,EAAA,CAAA;sBADrB,KAAK;uBAAC,oBAAoB,CAAA;;;MCjCf,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAjB,iBAAiB,EAAA,OAAA,EAAA,CAHnB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACpB,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAElB,iBAAiB,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAC/B,iBAAA,CAAA;;;ACUK,MAAO,qBAAyB,SAAQ,OAAU,CAAA;IAGvD,IAAI,UAAU,CAAC,QAAyB,EAAA;AACvC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACb,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,KAAI;AAC9B,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,YAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;SACxC,CAAC,CACF,CAAC;AACF,QAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;KAC5B;IACD,IACI,mBAAmB,CAAC,EAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACvB;AAED,IAAA,WAAA,CAAY,cAAgC,EAAE,SAAyC,EAAE,QAAyB,EAAY,mBAAsC,EAAA;AACnK,QAAA,KAAK,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QADkF,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAmB;AAf1J,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;KAiBpC;IAED,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;KACzB;8GAvBW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EARtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAEW,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,2BAA2B,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA;AACD,iBAAA,CAAA;6KAcI,mBAAmB,EAAA,CAAA;sBADtB,KAAK;;;MCrBM,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAlB,kBAAkB,EAAA,OAAA,EAAA,CAHpB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACrB,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEnB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,qBAAqB,CAAC;oBAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AAChC,iBAAA,CAAA;;;ACWK,MAAO,yBAA6B,SAAQ,qBAAiC,CAAA;8GAAtE,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAR1B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,qBAAqB;AAC9B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAEW,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAXrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,qBAAqB;AAC9B,4BAAA,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC;AACxD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA;AACD,iBAAA,CAAA;;;MCTY,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAtB,sBAAsB,EAAA,OAAA,EAAA,CAHxB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CACzB,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEvB,sBAAsB,EAAA,CAAA,CAAA,EAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,yBAAyB,CAAC;oBACpC,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACpC,iBAAA,CAAA;;;MCKY,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,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,sBAAsB,YAHxB,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,oBAAoB,CACvH,EAAA,OAAA,EAAA,CAAA,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAErH,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,sBAAsB,YAHyB,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGxE,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,oBAAoB,CAAC;oBAClI,OAAO,EAAE,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,oBAAoB,CAAC;AAClI,iBAAA,CAAA;;;MCAY,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,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,0BAA0B,EAH5B,OAAA,EAAA,CAAA,2BAA2B,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAC9G,2BAA2B,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE5G,0BAA0B,EAAA,OAAA,EAAA,CAHwD,0BAA0B,EAC1B,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE5G,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,2BAA2B,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,CAAC;oBACzH,OAAO,EAAE,CAAC,2BAA2B,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,CAAC;AACzH,iBAAA,CAAA;;;MCFqB,iBAAiB,CAAA;AAItC;;MCRY,iCAAiC,GAAG,IAAI,cAAc,CAAC,+BAA+B,EAAE;AACpG,IAAA,OAAO,EAAE,MAAM,6BAA6B;AAC5C,CAAA,EAAE;AAOU,MAAA,6BAA6B,GAA4C;AACrF,IAAA,EAAE,EAAE;AACH,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,QAAQ,EAAE,cAAc;AACxB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,MAAM,EAAE,mBAAmB;AAC3B,QAAA,QAAQ,EAAE,qBAAqB;AAC/B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,MAAM,EAAE,gBAAgB;AACxB,QAAA,QAAQ,EAAE,eAAe;AACzB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,MAAM,EAAE,iBAAiB;AACzB,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,MAAM,EAAE,kBAAkB;AAC1B,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,KAAA;;;ACLI,MAAO,0BAA8B,SAAQ,iBAAoB,CAAA;AAnBvE,IAAA,WAAA,GAAA;;QAoBC,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAChB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAW,CAAC;QAGF,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAO3C,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;AAWzD,KAAA;IAfA,IAAI,UAAU,CAAC,GAAoB,EAAA;QAClC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KACxE;IAID,SAAS,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;KAC3C;IACD,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC5B;AACD,IAAA,QAAQ,CAAC,MAAe,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAa,CAAC;KAC7B;8GAtBW,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAb3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBF,6OAEA,EAAA,MAAA,EAAA,CAAA,wuBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDyBa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAnBtC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,mBAGf,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACL,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC,CAAC;AACzD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC,CAAC;AACzD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,6OAAA,EAAA,MAAA,EAAA,CAAA,wuBAAA,CAAA,EAAA,CAAA;8BAOoC,KAAK,EAAA,CAAA;sBAAzC,WAAW;uBAAC,sBAAsB,CAAA;;;MEzBvB,uBAAuB,CAAA;8GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAvB,uBAAuB,EAAA,OAAA,EAAA,CAHzB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAC1B,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAExB,uBAAuB,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,0BAA0B,CAAC;oBACrC,OAAO,EAAE,CAAC,0BAA0B,CAAC;AACrC,iBAAA,CAAA;;;ACHK,MAAgB,qBAAyB,SAAQ,iBAAoB,CAAA;AAAuC;;ACwB5G,MAAO,8BAAkC,SAAQ,qBAAwB,CAAA;AAnB/E,IAAA,WAAA,GAAA;;QAoBC,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAChB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAW,CAAC;QAGF,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAO3C,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;AAezD,KAAA;IAnBA,IAAI,UAAU,CAAC,GAA6B,EAAA;AAC3C,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9F;IAID,SAAS,GAAA;AACR,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KAC/C;IACD,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC5B;AACD,IAAA,QAAQ,CAAC,MAAe,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAa,CAAC;KAC7B;IAEO,WAAW,CAAC,OAAqB,EAAE,EAAA;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;KAC9G;8GA1BW,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,EAb/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,qBAAqB;AAC9B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,8BAA8B,CAAC;AAC7D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,qBAAqB;AAC9B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,8BAA8B,CAAC;AAC7D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EHzBF,6OAEA,EAAA,MAAA,EAAA,CAAA,wuBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FGyBa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAnB1C,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,mBAGpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACL,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,qBAAqB;AAC9B,4BAAA,WAAW,EAAE,UAAU,CAAC,oCAAoC,CAAC;AAC7D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,qBAAqB;AAC9B,4BAAA,WAAW,EAAE,UAAU,CAAC,oCAAoC,CAAC;AAC7D,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,6OAAA,EAAA,MAAA,EAAA,CAAA,wuBAAA,CAAA,EAAA,CAAA;8BAOoC,KAAK,EAAA,CAAA;sBAAzC,WAAW;uBAAC,sBAAsB,CAAA;;;MCzBvB,2BAA2B,CAAA;8GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAA3B,2BAA2B,EAAA,OAAA,EAAA,CAH7B,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAC9B,8BAA8B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE5B,2BAA2B,EAAA,CAAA,CAAA,EAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,8BAA8B,CAAC;oBACzC,OAAO,EAAE,CAAC,8BAA8B,CAAC;AACzC,iBAAA,CAAA;;;MCCY,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAtB,sBAAsB,EAAA,OAAA,EAAA,CAHxB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAErB,sBAAsB,EAAA,OAAA,EAAA,CAHxB,uBAAuB,EACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAErB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,uBAAuB,CAAC;oBAClC,OAAO,EAAE,CAAC,uBAAuB,CAAC;AAClC,iBAAA,CAAA;;;MCCY,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAA1B,0BAA0B,EAAA,OAAA,EAAA,CAH5B,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAC3B,2BAA2B,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEzB,0BAA0B,EAAA,OAAA,EAAA,CAH5B,2BAA2B,EAC3B,2BAA2B,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEzB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,2BAA2B,CAAC;oBACtC,OAAO,EAAE,CAAC,2BAA2B,CAAC;AACtC,iBAAA,CAAA;;;ACGK,MAAgB,eAAkE,SAAQ,cAAiB,CAAA;AAAjH,IAAA,WAAA,GAAA;;AACW,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QAwB3B,IAAc,CAAA,cAAA,GAAwB,CAAC,OAAU,EAAE,OAAU,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;KA4ChI;AAjEA,IAAA,QAAQ,CAAC,KAAc,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;KACtB;AAED,IAAA,IAAc,SAAS,GAAA;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC;KACvB;IACD,IAAc,SAAS,CAAC,QAAyB,EAAA;AAChD,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;;QAE3B,IAAI,CAAC,KAAK,CAAC,GAAG,CACb,QAAQ,CAAC,SAAS,CAAC,MAAK;YACvB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,eAAe,EAAE,CAAC;SACvB,CAAC,CACF,CAAC;;AAEF,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACxE;AAES,IAAA,OAAO,CAAC,MAAS,EAAA;AAC1B,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACpB,SAAA;AAAM,aAAA;AACN,YAAA,MAAM,MAAM,GAAQ,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AACtC,YAAA,IAAI,SAAc,CAAC;AACnB,YAAA,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE;;gBAEtD,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACjE,aAAA;AAAM,iBAAA;;AAEN,gBAAA,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/B,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACxB,SAAA;KACD;AAES,IAAA,OAAO,CAAC,GAAY,EAAA;AAC7B,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,eAAe,EAAE,CAAC;AACvB,SAAA;KACD;IAGS,OAAO,GAAA;AAChB,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;KACzB;AACQ,IAAA,cAAc,CAAC,KAAoB,EAAA;QAC3C,QAAQ,KAAK,CAAC,GAAG;AAChB,YAAA,KAAK,QAAQ;gBACZ,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM;AACP,YAAA,KAAK,KAAK;gBACT,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM;AACP,SAAA;KACD;AAGD;;AC9ED;AA8BM,MAAgB,wBACrB,SAAQ,eAAqB,CAAA;AAG7B;;;;;AAKG;IACH,IACI,iBAAiB,CAAC,OAAe,EAAA;AACpC,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;KAC5B;AACD;;;;;AAKG;IACH,IACI,mBAAmB,CAAC,OAAe,EAAA;AACtC,QAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;KAC9B;AAED;;;AAGG;IACH,IACI,mBAAmB,CAAC,QAA6B,EAAA;AACpD,QAAA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;KAC/B;IAaD,IAA2D,SAAS,CAAC,EAAgB,EAAA;AACpF,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACrB;IAED,WAAsB,CAAA,kBAAqC,EAA8B,QAAkB,EAAA;AAC1G,QAAA,KAAK,EAAE,CAAC;QADa,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QAA8B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAfxF,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;AACjC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;AAChC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAW,CAAC;;AAEtC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAK,CAAC;AAG/C,QAAA,IAAA,CAAA,0BAA0B,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAElD,IAAQ,CAAA,QAAA,GAAQ,EAAE,CAAC;QA2DnB,IAAe,CAAA,eAAA,GAAG,CAAC,CAAC,CAAC;AAnD9B,QAAA,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;AACvC,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,0BAA0B,CAAC;KACxD;AAES,IAAA,gBAAgB,CAAC,GAAM,EAAA;AAChC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7B;IACD,WAAW,GAAA;QACV,KAAK,CAAC,OAAO,EAAE,CAAC;KAChB;IACD,cAAc,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KACjB;IACD,eAAe,GAAA;AACd,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KAClB;AACD,IAAA,iBAAiB,CAAC,CAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACrB;IACQ,MAAM,GAAA;QACd,KAAK,CAAC,MAAM,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;KACtB;IACD,IACI,aAAa,CAAC,EAA4B,EAAA;AAC7C,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KACtB;;AAGQ,IAAA,cAAc,CAAC,KAAoB,EAAA;AAC3C,QAAA,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5B,QAAQ,KAAK,CAAC,GAAG;AAChB,YAAA,KAAK,OAAO;gBACX,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM;AACP,YAAA,KAAK,SAAS;gBACb,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM;AACP,YAAA,KAAK,WAAW;gBACf,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM;AACP,SAAA;KACD;AAED,IAAA,IAAI,cAAc,GAAA;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC5B;IACD,IAAI,cAAc,CAAC,CAAS,EAAA;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KAC3B;IACS,cAAc,GAAA;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACb,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,KAAI;AACpC,YAAA,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;YACnC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAClF,YAAA,IAAI,YAAY,KAAK,IAAI,CAAC,cAAc,EAAE;AACzC,gBAAA,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;AACnC,aAAA;SACD,CAAC,CACF,CAAC;QACF,UAAU,CAAC,MAAK;AACf,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;SACzB,EAAE,CAAC,CAAC,CAAC;KACN;IACS,cAAc,GAAA;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1G,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACrG;IACS,cAAc,GAAA;;AAEvB,QAAA,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;AACnB,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC/B,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM;AACN,aAAA;AACD,SAAA;AAED,QAAA,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;AACnB,YAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,OAAO;AACP,SAAA;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC/B,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM;AACN,aAAA;AACD,SAAA;AACD,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;KAChC;IACS,eAAe,CAAC,QAAQ,GAAG,KAAK,EAAA;AACzC,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACjB,OAAO;AACP,SAAA;AAED,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;;AAE9B,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;;QAE1D,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAEvD,QAAA,IAAI,iBAAiB,EAAE;AACtB,YAAA,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC;;AAErC,YAAA,IAAI,QAAQ,EAAE;gBACb,UAAU,CAAC,MAAK;oBACf,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;iBACjE,EAAE,CAAC,CAAC,CAAC;AACN,aAAA;AACD,SAAA;AACD,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACvC;AACS,IAAA,kBAAkB,CAAC,SAAsB,EAAA;QAClD,IAAI,CAAC,SAAS,EAAE;YACf,OAAO;AACP,SAAA;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAc,oBAAoB,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,EAAE;YAChB,OAAO;AACP,SAAA;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAc,sCAAsC,CAAC,CAAC;AACnG,QAAA,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAc,sCAAsC,CAAC,CAAC;AACnG,QAAA,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC;;QAE5D,IAAI,UAAU,CAAC,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC,SAAS,EAAE;YAC9D,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,YAAY,CAAC;YAC1D,OAAO;AACP,SAAA;;AAED,QAAA,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;AAC7C,QAAA,IAAI,UAAU,CAAC,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,EAAE;AACtG,YAAA,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;YAClG,OAAO;AACP,SAAA;KACD;IACS,kBAAkB,GAAA;AAC3B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnD,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACvD,QAAA,IAAI,iBAAiB,EAAE;AACtB,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAChC,SAAA;KACD;IACS,aAAa,GAAA;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACb,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAK;YAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;SACtB,CAAC,CACF,CAAC;KACF;IACS,cAAc,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,OAAO;AACP,SAAA;;AAGD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;;AAE9B,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;;QAGvD,MAAM,eAAe,GAAa,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,MAAW,CAAC,CAAC,CAAC;AACrG,YAAA,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;AACzB,gBAAA,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACpC,aAAA;YACD,IAAI,aAAa,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,EAAE;AACvD,gBAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;AACpC,aAAA;AACD,SAAA;AAAM,aAAA;AACN,YAAA,MAAM,MAAM,GAAQ,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AACtC,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ;iBACnC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D,iBAAA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;iBAC7B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AAC5B,YAAA,eAAe,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;;;;;;AAMzC,SAAA;AACD,QAAA,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAC7B,YAAA,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1B,YAAA,IAAI,MAAM,EAAE;AACX,gBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AACvB,aAAA;AACF,SAAC,CAAC,CAAC;KACH;IAES,SAAS,GAAA;AAClB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CACtE,GAAG,CAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,EAC1C,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,EAAE,CACP,CAAC;AACF,QAAA,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;KACrB;IACD,eAAe,GAAA;QACd,IAAI,CAAC,SAAS,EAAE,CAAC;KACjB;AA1QoB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,mDAiDwB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAjDxD,wBAAwB,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,CAAA,eAAA,EAAA,mBAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,iBAAA,EAAA,qBAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,iBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EA6C5B,aAAa,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA+BnB,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FA5ED,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAD7C,SAAS;;0BAkDqD,MAAM;2BAAC,QAAQ,CAAA;yCAtCzE,iBAAiB,EAAA,CAAA;sBADpB,KAAK;uBAAC,eAAe,CAAA;gBAWlB,mBAAmB,EAAA,CAAA;sBADtB,KAAK;uBAAC,iBAAiB,CAAA;gBAUpB,mBAAmB,EAAA,CAAA;sBADtB,KAAK;uBAAC,iBAAiB,CAAA;gBAKL,KAAK,EAAA,CAAA;sBAAvB,MAAM;gBACY,IAAI,EAAA,CAAA;sBAAtB,MAAM;gBACY,OAAO,EAAA,CAAA;sBAAzB,MAAM;gBAEY,aAAa,EAAA,CAAA;sBAA/B,MAAM;gBAOoD,SAAS,EAAA,CAAA;sBAAnE,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,aAAa,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAgCjD,aAAa,EAAA,CAAA;sBADhB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;AAgMzC;;AAEG;AAgBG,MAAO,uBAAkJ,SAAQ,wBAA8B,CAAA;IACpM,WAAY,CAAA,kBAAqC,EAAoB,QAAkB,EAAA;AACtF,QAAA,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;KACpC;AAHW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,mDACwB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AADvD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAPxB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,aAAA;SACD,EC1TF,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,oiBAkBA,EDkSW,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,8BAAyB,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAH5D,CAAC,kBAAkB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAWpB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAfnC,SAAS;+BACC,kBAAkB,EAAA,eAAA,EAEX,uBAAuB,CAAC,MAAM,cACnC,CAAC,kBAAkB,CAAC,EAAA,QAAA,EACtB,gBAAgB,EAAA,UAAA,EACd,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAC9D,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,cAAc;AACvB,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,oiBAAA,EAAA,CAAA;;0BAGmD,MAAM;2BAAC,QAAQ,CAAA;;;AE7S9D,MAAgB,gCACrB,SAAQ,wBAA8B,CAAA;IAOtC,IAA+D,WAAW,CAAC,EAAmC,EAAA;AAC7G,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACvB;IAED,IAAiE,YAAY,CAAC,EAAkC,EAAA;AAC/G,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;KACvC;IAED,IACI,aAAa,CAAC,EAAmC,EAAA;AACpD,QAAA,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;KACxC;IAED,IACI,oBAAoB,CAAC,EAA0C,EAAA;AAClE,QAAA,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;KAC/C;IAGD,IAA+D,WAAW,CAAC,EAAmC,EAAA;AAC7G,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACvB;IAED,WAAY,CAAA,kBAAqC,EAAoB,QAAkB,EAAA;AACtF,QAAA,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QA1B3B,IAAU,CAAA,UAAA,GAA2B,EAAE,CAAC;QAKxC,IAAkB,CAAA,kBAAA,GAA0B,EAAE,CAAC;QAI/C,IAAmB,CAAA,mBAAA,GAA2B,EAAE,CAAC;QAKjD,IAA0B,CAAA,0BAAA,GAAkC,EAAE,CAAC;QAK/D,IAAU,CAAA,UAAA,GAA2B,EAAE,CAAC;KAQjD;IACD,cAAc,GAAA;QACb,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAA8B,KAAI;AAC1E,YAAA,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE;gBACtB,OAAO;AACP,aAAA;YACD,CAAC,CAAC,cAAc,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;KACH;IACQ,MAAM,GAAA;QACd,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAsB,KAAI;YAC1D,CAAC,CAAC,MAAM,EAAE,CAAC;AACZ,SAAC,CAAC,CAAC;AACH,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACrD,QAAA,IAAI,YAAY,IAAI,YAAY,CAAC,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAC5C,KAAK,EAAE,EACP,GAAG,CAAC,MAAM,KAAK,CAAC,EAChB,SAAS,CAAC,IAAI,CAAC,EACf,WAAW,EAAE,CACb,CAAC;AACF,SAAA;QACD,KAAK,CAAC,MAAM,EAAE,CAAC;KACf;IACQ,OAAO,GAAA;QACf,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAuB,KAAI;YAC5D,CAAC,CAAC,OAAO,EAAE,CAAC;AACb,SAAC,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;KAChB;AACQ,IAAA,QAAQ,CAAC,KAAc,EAAA;AAC/B,QAAA,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;KAClD;IACS,aAAa,GAAA;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,IAAI,QAAyB,CAAC;AAC9B,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AAC9B,YAAA,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC/B,YAAA,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC;AACjC,SAAC,CAAC,CAAC;KACH;IACS,aAAa,GAAA;;;QAGtB,MAAM,UAAU,GAAuC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC9H,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CACb,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,KAAI;AAClC,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CACb,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;iBAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,iBAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AACrB,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aACrB,CAAC,CACH,CAAC;SACF,CAAC,CACF,CAAC;KACF;IACQ,eAAe,GAAA;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;KACrB;AAnGoB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,mDA+BM,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGA/B9C,gCAAgC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAQpC,iBAAiB,EAIjB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,mBAAmB,mEAInB,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,SAAA,EAKpB,2BAA2B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAM3B,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FA3Bb,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBADrD,SAAS;;0BAgC2C,MAAM;2BAAC,QAAQ,CAAA;yCAvBJ,WAAW,EAAA,CAAA;sBAAzE,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAIQ,YAAY,EAAA,CAAA;sBAA5E,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAKvD,aAAa,EAAA,CAAA;sBADhB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,oBAAoB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAMxD,oBAAoB,EAAA,CAAA;sBADvB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,2BAA2B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAMJ,WAAW,EAAA,CAAA;sBAAzE,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;;AA2E1D;;AAEG;AAgBG,MAAO,+BAGX,SAAQ,gCAAsC,CAAA;IAC/C,WAAY,CAAA,kBAAqC,EAAoB,QAAkB,EAAA;AACtF,QAAA,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;KACpC;AANW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,mDAIgB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAJvD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAPhC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,+BAA+B,CAAC;AAC9D,aAAA;AACD,SAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtIF,6rBAwBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDwGW,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAyB,iBAAiB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAH/E,CAAC,kBAAkB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAWpB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAf3C,SAAS;+BACC,2BAA2B,EAAA,eAAA,EAEpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,CAAC,kBAAkB,CAAC,EACtB,QAAA,EAAA,wBAAwB,EACtB,UAAA,EAAA,IAAI,WACP,CAAC,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,UAAU,CAAC,EACjF,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,cAAc;AACvB,4BAAA,WAAW,EAAE,UAAU,CAAC,qCAAqC,CAAC;AAC9D,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,6rBAAA,EAAA,CAAA;;0BAMmD,MAAM;2BAAC,QAAQ,CAAA;;;MEnIvD,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAApB,oBAAoB,EAAA,OAAA,EAAA,CAHtB,uBAAuB,EAAE,+BAA+B,EAAE,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAC/E,uBAAuB,EAAE,+BAA+B,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;AAE7E,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,oBAAoB,EAHtB,OAAA,EAAA,CAAA,uBAAuB,EAAE,+BAA+B,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG7E,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,+BAA+B,EAAE,qBAAqB,CAAC;AAC1F,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,+BAA+B,EAAE,qBAAqB,CAAC;AAC1F,iBAAA,CAAA;;;ACGD,IAAK,UAIJ,CAAA;AAJD,CAAA,UAAK,UAAU,EAAA;AACd,IAAA,UAAA,CAAA,UAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACH,IAAA,UAAA,CAAA,UAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;AACT,CAAC,EAJI,UAAU,KAAV,UAAU,GAId,EAAA,CAAA,CAAA,CAAA;AAGK,MAAgB,4BACrB,SAAQ,wBAA8B,CAAA;IAGtC,IACa,SAAS,CAAC,EAAgB,EAAA;AACtC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACrB;IAMD,IAAuB,SAAS,CAAC,YAA6B,EAAA;;AAE7D,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;;AAEpE,QAAA,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,QAAA,MAAM,qBAAqB,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAClH,QAAA,MAAM,yBAAyB,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1H,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KAC3G;IACD,WAAY,CAAA,kBAAqC,EAAoB,QAAkB,EAAA;AACtF,QAAA,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;KACpC;AACkB,IAAA,OAAO,CAAC,MAAS,EAAE,GAAG,GAAG,UAAU,CAAC,GAAG,EAAA;AACzD,QAAA,QAAQ,GAAG;YACV,KAAK,UAAU,CAAC,IAAI;AACnB,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACjC,KAAK,UAAU,CAAC,QAAQ;AACvB,gBAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC,YAAA;AACC,gBAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAChC,SAAA;KACD;AACS,IAAA,UAAU,CAAC,MAAS,EAAA;AAC7B,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO;AACP,SAAA;AACD,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3D,QAAA,MAAM,MAAM,GAAQ,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AACtC,QAAA,IAAI,SAAc,CAAC;QACnB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACvE,QAAA,MAAM,mBAAmB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5G,IAAI,YAAY,IAAI,mBAAmB,EAAE;;AAExC,YAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;AAC1D,SAAA;AAAM,aAAA;;AAEN,YAAA,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;AACvD,SAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACxB;AACS,IAAA,WAAW,CAAC,MAAS,EAAA;AAC9B,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO;AACP,SAAA;AACD,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3D,QAAA,MAAM,MAAM,GAAQ,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACvE,QAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzG,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;AACvD,QAAA,IAAI,YAAY,IAAI,CAAC,iBAAiB,EAAE;;YAEvC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,SAAA;AAAM,aAAA;;YAEN,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,SAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACxB;AACS,IAAA,eAAe,CAAC,MAAS,EAAA;AAClC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO;AACP,SAAA;AACD,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3D,QAAA,MAAM,MAAM,GAAQ,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACvE,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,QAAA,MAAM,mBAAmB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5G,QAAA,IAAI,mBAAmB,IAAI,CAAC,YAAY,EAAE;YACzC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACjD,SAAA;AAAM,aAAA;YACN,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAC9C,SAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACxB;IACS,IAAI,CAAC,MAAW,EAAE,OAAY,EAAA;AACvC,QAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACjG,QAAA,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;KAClC;IACS,OAAO,CAAC,MAAW,EAAE,OAAY,EAAA;AAC1C,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACpG,QAAA,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC;KAC1B;IAEkB,SAAS,GAAA;AAC3B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAC1C,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAC1B,GAAG,CAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,EAC1C,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAClG,KAAK,CAAC,CAAC,CAAC,CACR,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;KACxB;IACQ,eAAe,GAAA;QACvB,IAAI,CAAC,SAAS,EAAE,CAAC;KACjB;AAtHoB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,mDAyBU,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAzB9C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAIhC,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAiB,EAIjB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,iBAAiB,2BAE3B,gBAAgB,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAVF,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADjD,SAAS;;0BA0B2C,MAAM;2BAAC,QAAQ,CAAA;yCApBtD,SAAS,EAAA,CAAA;sBADrB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAQzD,WAAW,EAAA,CAAA;sBAJV,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE;AACnC,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,IAAI,EAAE,gBAAgB;AACtB,qBAAA,CAAA;;AA6GF;;AAEG;AAgBG,MAAO,2BAGX,SAAQ,4BAAkC,CAAA;IAC3C,WAAY,CAAA,kBAAqC,EAAoB,QAAkB,EAAA;AACtF,QAAA,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;KACpC;AANW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,mDAIoB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAJvD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAP5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,aAAA;SACD,EC1JF,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,yiBAkBA,2CDkIW,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,UAAU,EAHtB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,kBAAkB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAWpB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAfvC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,mBAEhB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,CAAC,kBAAkB,CAAC,EAAA,QAAA,EACtB,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,UAAU,CAAC,EACxB,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,cAAc;AACvB,4BAAA,WAAW,EAAE,UAAU,CAAC,iCAAiC,CAAC;AAC1D,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,yiBAAA,EAAA,CAAA;;0BAMmD,MAAM;2BAAC,QAAQ,CAAA;;;AEnJ9D,MAAgB,oCACrB,SAAQ,4BAAkC,CAAA;IAO1C,IACI,WAAW,CAAC,EAAuC,EAAA;AACtD,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACvB;IAED,IAAiE,YAAY,CAAC,EAAkC,EAAA;AAC/G,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;KACvC;IAED,IACI,aAAa,CAAC,EAAmC,EAAA;AACpD,QAAA,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;KACxC;IAED,IACI,oBAAoB,CAAC,EAA0C,EAAA;AAClE,QAAA,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;KAC/C;IAID,IACI,WAAW,CAAC,EAAuC,EAAA;AACtD,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACvB;IAED,WAAY,CAAA,kBAAqC,EAAoB,QAAkB,EAAA;AACtF,QAAA,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QA7B3B,IAAU,CAAA,UAAA,GAA+B,EAAE,CAAC;QAM5C,IAAkB,CAAA,kBAAA,GAA0B,EAAE,CAAC;QAI/C,IAAmB,CAAA,mBAAA,GAA2B,EAAE,CAAC;QAKjD,IAA0B,CAAA,0BAAA,GAAkC,EAAE,CAAC;QAO/D,IAAU,CAAA,UAAA,GAA+B,EAAE,CAAC;KAQrD;IACD,cAAc,GAAA;QACb,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAC7C,YAAA,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE;gBACtB,OAAO;AACP,aAAA;YACD,CAAC,CAAC,cAAc,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;KACH;IACQ,MAAM,GAAA;QACd,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACrC,CAAC,CAAC,MAAM,EAAE,CAAC;AACZ,SAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,CAAC;KACf;IACQ,OAAO,GAAA;QACf,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACtC,CAAC,CAAC,OAAO,EAAE,CAAC;AACb,SAAC,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;KAChB;AACQ,IAAA,QAAQ,CAAC,KAAc,EAAA;AAC/B,QAAA,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;KAClD;IAES,aAAa,GAAA;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,IAAI,QAAkC,CAAC;AACvC,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AAC9B,YAAA,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC/B,YAAA,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC;AACjC,SAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACrD,QAAA,IAAI,YAAY,IAAI,YAAY,CAAC,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAC5C,KAAK,EAAE,EACP,GAAG,CAAC,MAAM,KAAK,CAAC,EAChB,SAAS,CAAC,IAAI,CAAC,EACf,WAAW,EAAE,CACb,CAAC;AACF,SAAA;KACD;IACS,aAAa,GAAA;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CACb,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;aAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,aAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AACrB,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACrB,CAAC,CACH,CAAC;KACF;IACQ,eAAe,GAAA;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;KACrB;AA9FoB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,mDAkCE,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAlC9C,oCAAoC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAQxC,qBAAqB,EAKrB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,mBAAmB,mEAInB,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,SAAA,EAKpB,2BAA2B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAO3B,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FA7BjB,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBADzD,SAAS;;0BAmC2C,MAAM;2BAAC,QAAQ,CAAA;yCAzB/D,WAAW,EAAA,CAAA;sBADd,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAKI,YAAY,EAAA,CAAA;sBAA5E,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAKvD,aAAa,EAAA,CAAA;sBADhB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,oBAAoB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAMxD,oBAAoB,EAAA,CAAA;sBADvB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,2BAA2B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAQ/D,WAAW,EAAA,CAAA;sBADd,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;;AAoE9D;;AAEG;AAgBG,MAAO,mCAGX,SAAQ,oCAA0C,CAAA;IACnD,WAAY,CAAA,kBAAqC,EAAoB,QAAkB,EAAA;AACtF,QAAA,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;KACpC;AANW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,mDAIY,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAJvD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,EAPpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mCAAmC,CAAC;AAClE,aAAA;SACD,EC9HF,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,goBAkBA,2CDsGW,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,UAAU,EAHtB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,kBAAkB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAWpB,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAf/C,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gCAAgC,mBAEzB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,CAAC,kBAAkB,CAAC,EAAA,QAAA,EACtB,gBAAgB,EAAA,UAAA,EACd,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,UAAU,CAAC,EACxB,SAAA,EAAA;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,cAAc;AACvB,4BAAA,WAAW,EAAE,UAAU,CAAC,yCAAyC,CAAC;AAClE,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,goBAAA,EAAA,CAAA;;0BAMmD,MAAM;2BAAC,QAAQ,CAAA;;;MExHvD,wBAAwB,CAAA;8GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,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,wBAAwB,EAH1B,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,mCAAmC,EAAE,2BAA2B,CAC5H,EAAA,OAAA,EAAA,CAAA,2BAA2B,EAAE,mCAAmC,CAAA,EAAA,CAAA,CAAA,EAAA;+GAE9D,wBAAwB,EAAA,OAAA,EAAA,CAH1B,YAAY,EAAE,aAAa,EAAqB,UAAU,EAAE,mCAAmC,EAAE,2BAA2B,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG1H,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,mCAAmC,EAAE,2BAA2B,CAAC;AACvI,oBAAA,OAAO,EAAE,CAAC,2BAA2B,EAAE,mCAAmC,CAAC;AAC3E,iBAAA,CAAA;;;ACNK,MAAgB,mBAA8E,SAAQ,eAAqB,CAAA;AAA0C;;MC4B9J,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;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,YAxBzB,qBAAqB;YACrB,uBAAuB;YACvB,+BAA+B;YAC/B,sBAAsB;YACtB,uBAAuB;YACvB,yBAAyB;YACzB,qBAAqB;YACrB,oBAAoB;YACpB,0BAA0B;AAC1B,YAAA,4BAA4B,aAG5B,qBAAqB;YACrB,+BAA+B;YAC/B,uBAAuB;YACvB,sBAAsB;YACtB,uBAAuB;YACvB,yBAAyB;YACzB,qBAAqB;YACrB,oBAAoB;YACpB,0BAA0B;YAC1B,4BAA4B,CAAA,EAAA,CAAA,CAAA,EAAA;AAGjB,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,YAxBzB,qBAAqB;YACrB,uBAAuB;YACvB,+BAA+B;YAG/B,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAmBd,cAAc,EAAA,UAAA,EAAA,CAAA;kBA1B1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,OAAO,EAAE;wBACR,qBAAqB;wBACrB,uBAAuB;wBACvB,+BAA+B;wBAC/B,sBAAsB;wBACtB,uBAAuB;wBACvB,yBAAyB;wBACzB,qBAAqB;wBACrB,oBAAoB;wBACpB,0BAA0B;wBAC1B,4BAA4B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACR,qBAAqB;wBACrB,+BAA+B;wBAC/B,uBAAuB;wBACvB,sBAAsB;wBACtB,uBAAuB;wBACvB,yBAAyB;wBACzB,qBAAqB;wBACrB,oBAAoB;wBACpB,0BAA0B;wBAC1B,4BAA4B;AAC5B,qBAAA;AACD,iBAAA,CAAA;;;MCtBY,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,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,kBAAkB,EAHpB,OAAA,EAAA,CAAA,sBAAsB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,0BAA0B,CAAA,EAAA,OAAA,EAAA,CACxG,sBAAsB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;AAEtG,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,kBAAkB,EAHpB,OAAA,EAAA,CAAA,sBAAsB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,0BAA0B,EACxG,sBAAsB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEtG,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,0BAA0B,CAAC;oBACnH,OAAO,EAAE,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,0BAA0B,CAAC;AACnH,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}