{"version":3,"file":"ngx-dynamic-components-bootstrap.mjs","sources":["../../../../projects/bootstrap/src/lib/constants.ts","../../../../projects/bootstrap/src/lib/components/select/select.examples.ts","../../../../projects/bootstrap/src/lib/components/select/select.component.ts","../../../../projects/bootstrap/src/lib/components/tabs/tabs.component.ts","../../../../projects/bootstrap/src/lib/components/input-typeahead/input-typeahead.examples.ts","../../../../projects/bootstrap/src/lib/components/input-typeahead/input-typeahead.component.ts","../../../../projects/bootstrap/src/lib/components/register.ts","../../../../projects/bootstrap/src/lib/bootstrap.module.ts","../../../../projects/bootstrap/src/public_api.ts","../../../../projects/bootstrap/src/ngx-dynamic-components-bootstrap.ts"],"sourcesContent":["export const packageName = 'bootstrap';\r\n","import { UIModel, ComponentExample } from '@ngx-dynamic-components/core';\r\nimport { SelectProperties } from './select.component';\r\n\r\nexport const example1: ComponentExample<UIModel<SelectProperties>> = {\r\n  uiModel: `\r\n    <div class=\"flex-column\">\r\n      <div class=\"form-group\">\r\n        <label class=\"col-form-label\" width=\"60px\">Select Option</label>\r\n        <ng-select width=\"300px\" binding=\"$.selectedOption\">\r\n          <option value=\"o1\">Option 1</option>\r\n          <option value=\"o2\">Option 2</option>\r\n        </ng-select>\r\n      </div>\r\n    </div>\r\n  `,\r\n  dataModel: {},\r\n  title: 'Static dropdown declaration',\r\n};\r\n\r\nexport const example2: ComponentExample<UIModel<SelectProperties>> = {\r\n  uiModel: `\r\n    <div class=\"flex-column\">\r\n      <div class=\"form-group\">\r\n        <label class=\"col-form-label\" width=\"60px\">Select</label>\r\n        <ng-select width=\"300px\" itemsSource=\"$.list\" binding=\"$.selected\"></ng-select>\r\n      </div>\r\n    </div>\r\n  `,\r\n  dataModel: {\r\n    list: [{ label: 'Data 1', value: 'd1' }, { label: 'Data 2', value: 'd2' }]\r\n  },\r\n  title: 'Dropdown options binded to dataModel',\r\n};\r\n\r\nexport const example3: ComponentExample<UIModel<SelectProperties>> = {\r\n  uiModel: `\r\n    <div class=\"flex-column\">\r\n      <div class=\"form-group\">\r\n        <label class=\"col-form-label\" width=\"60px\">Country</label>\r\n        <ng-select onSelect=\"countryChanged\" width=\"300px\" binding=\"$.country\">\r\n          <option value=\"uk\">United Kingdom</option>\r\n          <option value=\"ua\">Ukraine</option>\r\n        </ng-select>\r\n      </div>\r\n      <div class=\"form-group\">\r\n        <label class=\"col-form-label\" width=\"60px\">City</label>\r\n        <ng-select width=\"300px\" itemsSource=\"$.cities\" binding=\"$.city\"></ng-select>\r\n      </div>\r\n    </div>\r\n  `,\r\n  dataModel: {},\r\n  scripts: `\r\n  # Evaluated with JSPython https://jspython.dev/\r\n\r\n  def countryChanged():\r\n    dataModel.city = null\r\n    if dataModel.country == null:\r\n      dataModel.cities = []\r\n    if dataModel.country == \"uk\":\r\n      dataModel.cities = [{label: \"London\", value: \"lon\"}, {label: \"Liverpool\", value: \"liv\"}]\r\n    if dataModel.country == \"ua\":\r\n      dataModel.cities = [{label: \"Kyiv\", value: \"kyiv\"}, {label: \"Lviv\", value: \"lvi\"}]\r\n  `,\r\n  title: 'Dependency between dropdowns',\r\n  description: 'Handles change event from first dropdown and changes values in second.'\r\n};\r\n\r\nexport const example4: ComponentExample<UIModel<SelectProperties>> = {\r\n  uiModel: `\r\n    <div class=\"flex-column\">\r\n      <div class=\"form-group\">\r\n        <label class=\"col-form-label\" width=\"60px\">Select</label>\r\n        <ng-select width=\"300px\"\r\n          typeahead=\"onTypeahead(searchTerm)\"\r\n          debounceTime=\"1000\"\r\n          binding=\"$.selected\"\r\n          change=\"onChange()\">\r\n        </ng-select>\r\n      </div>\r\n\r\n      <text binding=\"$.selected\"></text>\r\n    </div>\r\n  `,\r\n  dataModel: {},\r\n  scripts: `\r\n  async def onTypeahead():\r\n    if searchTerm != null:\r\n      # can be server-side call\r\n      return [\r\n        {label: searchTerm + ' 1', value: searchTerm + ' 1'},\r\n        {label: searchTerm + ' 2', value: searchTerm + ' 2'}\r\n      ]\r\n\r\n  async def onChange():\r\n    print('Selected value: ', dataModel.selected)\r\n  `,\r\n  title: 'drop-down with typeahead and debounceTime',\r\n};\r\n\r\n\r\nexport default [example1, example2, example4];\r\n","import { Component } from '@angular/core';\r\nimport {\r\n  BindingProperties, propDescription, PropertyCategories, OptionValue,\r\n  UIModel, ComponentDescriptor, Categories, AttributesMap, XMLResult, BaseUIComponent,\r\n  PropTypes, queryValue\r\n} from '@ngx-dynamic-components/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { packageName } from '../../constants';\r\nimport example from './select.examples';\r\n\r\n@Component({\r\n  selector: 'dc-select', // eslint-disable-line\r\n  template: `\r\n  <ng-select [items]=\"options\" [ngStyle]=\"selectStyles\"\r\n      [(ngModel)]=\"componentDataModel\" [bindLabel]=\"properties.bindLabel\"\r\n      [typeahead]=\"searchText$\"\r\n      [bindValue]=\"properties.bindValue || 'value'\" [placeholder]=\"properties.placeholder\"\r\n      (add)=\"emitEvent(properties.add, $event)\"\r\n      (blur)=\"emitEvent(properties.blur, $event)\"\r\n      (change)=\"onSelect($event)\"\r\n      (close)=\"emitEvent(properties.close, $event)\"\r\n      (clear)=\"emitEvent(properties.clear, $event)\"\r\n      (focus)=\"emitEvent(properties.focus, $event)\"\r\n      (search)=\"emitEvent(properties.search, $event)\"\r\n      (open)=\"emitEvent(properties.open, $event)\"\r\n      (remove)=\"emitEvent(properties.remove, $event)\"\r\n      (scroll)=\"emitEvent(properties.scroll, $event)\"\r\n      (scrollToEnd)=\"emitEvent(properties.scrollToEnd, $event)\"></ng-select>\r\n\r\n    `,\r\n  styles: [`\r\n    :host ::ng-deep .ng-select.ng-select-single .ng-select-container {\r\n      height: inherit;\r\n      min-height: 30px;\r\n    }\r\n  `]\r\n})\r\n// eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle\r\nexport class SelectComponent extends BaseUIComponent<SelectProperties> {\r\n  searchText$ = new Subject<string | null>();\r\n  loading = false;\r\n\r\n  onSelect(evt): void {\r\n    this.changedDataModel.emit(this.dataModel);\r\n    this.emitEvent(this.properties.change, evt);\r\n  }\r\n\r\n\r\n  private get debounceTime(): number {\r\n    return this.properties.debounceTime ? parseInt(this.properties.debounceTime, 10) : 500;\r\n  }\r\n\r\n  // eslint-disable-next-line @angular-eslint/use-lifecycle-interface\r\n  async ngOnInit(): Promise<void> {\r\n    await super.ngOnInit();\r\n\r\n    this.searchText$\r\n      .pipe(\r\n        debounceTime(this.debounceTime),\r\n        distinctUntilChanged(),\r\n      )\r\n      .subscribe(data => this.emitEvent(this.properties.typeahead, data, 'typeahead'));\r\n  }\r\n\r\n  get selectStyles(): AttributesMap {\r\n    if (this.properties.selectHeight) {\r\n      return {\r\n        height: this.properties.selectHeight\r\n      };\r\n    }\r\n    return null;\r\n  }\r\n\r\n  get options(): OptionValue[] {\r\n    const src = this.eventResults.get('typeahead') ?? this.properties.itemsSource;\r\n    if (Array.isArray(src)) {\r\n      return src;\r\n    }\r\n\r\n    if (typeof src === 'string' && src.startsWith('$.')) {\r\n      return queryValue(this.dataModel, src);\r\n    }\r\n  }\r\n}\r\n\r\nexport class SelectProperties extends BindingProperties {\r\n  @propDescription({\r\n    description: 'Select options or binding to dataModel.',\r\n    example: '[{label: \"One\", value: 1}]',\r\n  })\r\n  itemsSource: string | OptionValue[];\r\n\r\n  @propDescription({\r\n    description: 'Select height.',\r\n    example: '30px',\r\n  })\r\n  selectHeight?: string;\r\n\r\n  @propDescription({\r\n    description: 'Placeholder',\r\n    example: 'Select name',\r\n  })\r\n  placeholder?: string;\r\n\r\n  @propDescription({\r\n    description: 'Label property.',\r\n    example: 'name',\r\n  })\r\n  bindLabel?: string;\r\n\r\n  @propDescription({\r\n    description: 'Value property.',\r\n    example: 'id',\r\n  })\r\n  bindValue?: string;\r\n\r\n  @propDescription({\r\n    description: 'Allows to select multiple items.',\r\n    example: 'true'\r\n  })\r\n  multiple: boolean;\r\n\r\n  @propDescription({\r\n    description: 'Output add event handler.',\r\n    example: 'onAdd()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  add?: string;\r\n\r\n  @propDescription({\r\n    description: 'Output blur event handler.',\r\n    example: 'onBlur()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  blur?: string;\r\n\r\n  @propDescription({\r\n    description: 'Output change event handler.',\r\n    example: 'onChange()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  change?: string;\r\n\r\n  @propDescription({\r\n    description: 'debounceTime in miliseconds. Used only with `typeahead` event handler. Default is 500 (miliseconds)',\r\n    example: '500',\r\n    type: PropTypes.PROPERTY\r\n  })\r\n  debounceTime?: string;\r\n\r\n\r\n  @propDescription({\r\n    description: 'Typeahead event handler.',\r\n    example: 'onTypeahead()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  typeahead?: string;\r\n\r\n  @propDescription({\r\n    description: 'Output close event handler.',\r\n    example: 'onClose()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  close?: string;\r\n\r\n  @propDescription({\r\n    description: 'Output clear event handler.',\r\n    example: 'onClear()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  clear?: string;\r\n\r\n  @propDescription({\r\n    description: 'Output focus event handler.',\r\n    example: 'onFocus()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  focus?: string;\r\n\r\n  @propDescription({\r\n    description: 'Output search event handler.',\r\n    example: 'onSearch()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  search?: string;\r\n\r\n  @propDescription({\r\n    description: 'Output open event handler.',\r\n    example: 'onOpen()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  open?: string;\r\n\r\n  @propDescription({\r\n    description: 'Output remove event handler.',\r\n    example: 'onRemove()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  remove?: string;\r\n\r\n  @propDescription({\r\n    description: 'Output scroll event handler.',\r\n    example: 'onScroll()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  scroll?: string;\r\n\r\n  @propDescription({\r\n    description: 'Output scrollToEnd event handler.',\r\n    example: 'onScrollToEnd()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  scrollToEnd?: string;\r\n}\r\n\r\ntype SelectComponentConstrutor = new () => SelectComponent;\r\n\r\ntype SelectPropertiesConstrutor = new () => SelectProperties;\r\n\r\nexport const selectDescriptor: ComponentDescriptor<SelectComponentConstrutor, SelectPropertiesConstrutor> = {\r\n  name: 'ng-select',\r\n  label: 'UI Select Input',\r\n  packageName,\r\n  category: Categories.Basic,\r\n  description: 'NG Select component',\r\n  itemProperties: SelectProperties,\r\n  component: SelectComponent,\r\n  example,\r\n  parseUIModel(xmlRes: XMLResult): UIModel {\r\n    const itemProperties: AttributesMap = {};\r\n    if (!xmlRes.attrs.itemsSource && xmlRes.childNodes) {\r\n      itemProperties.itemsSource = xmlRes.childNodes.map(r => (\r\n        { label: r._, value: r.$ && Object.hasOwn(r.$, 'value') ? r.$.value : r._ }\r\n      ));\r\n      xmlRes.childNodes = null;\r\n    }\r\n\r\n    itemProperties.multiple = xmlRes.attrs.multiple === 'true';\r\n\r\n    return {\r\n      type: 'ng-select',\r\n      itemProperties\r\n    };\r\n  },\r\n  defaultModel: `<ng-select width=\"100px\" itemsSource=\"$.list\" binding=\"$.value\"></ng-select>`,\r\n  propertiesDescriptor: [\r\n    ['selectHeight', { name: 'selectHeight', label: 'Select Height', category: PropertyCategories.Layout }],\r\n  ],\r\n  children: [{\r\n    tag: 'option',\r\n    properties: [{\r\n      name: 'value',\r\n      label: 'Option value'\r\n    }]\r\n  }]\r\n};\r\n","import { AfterViewInit, Component, QueryList, ViewChildren, ViewContainerRef } from '@angular/core';\r\nimport {\r\n  BaseUIComponent, CoreService, StyleProperties, UIModel,\r\n  ComponentExample, ComponentDescriptor, Categories, XMLResult, toXMLResult, createComponent\r\n} from '@ngx-dynamic-components/core';\r\nimport { packageName } from '../../constants';\r\n\r\n@Component({\r\n  selector: 'dc-tabs-ui',\r\n  template: `\r\n    <tabset class=\"tabset-fx w-100 h-100 nav-tabs-boxed\">\r\n      <tab *ngFor=\"let item of uiModel.children; let i = index\" [heading]=\"item.tabProperties.header || 'Tab ' + (i + 1)\">\r\n        <ng-container #vc></ng-container>\r\n      </tab>\r\n    </tabset>\r\n  `\r\n})\r\nexport class TabsComponent extends BaseUIComponent<TabsProperties> implements AfterViewInit {\r\n  @ViewChildren('vc', { read:ViewContainerRef }) vContainers: QueryList<ViewContainerRef>;\r\n\r\n  async ngAfterViewInit() {\r\n    this.vContainers.forEach((vc, i) => createComponent(this, this.uiModel.children[i], vc));\r\n    this.setHostStyles();\r\n    this.emitEvent(this.properties.onInit);\r\n  }\r\n}\r\n\r\nexport class TabsProperties extends StyleProperties {\r\n  header: string;\r\n}\r\n\r\nexport const example: ComponentExample<UIModel<TabsProperties>> = {\r\n  title: 'Tabs group example',\r\n  uiModel: `\r\n  <tab-container width=\"100%\" height=\"100%\" margin=\"8px\">\r\n\t\t<tab header=\"Test tab\" padding=\"0.5rem\">\r\n\t\t\t<text text-style=\"h1\">Tab 1 static text content</text>\r\n\t\t</tab>\r\n    <tab header=\"Btn tab\" class=\"align-items-start p-2 flex-column\">\r\n      <text text-style=\"h1\">Button content</text>\r\n      <button class=\"btn btn-primary mr-2\" onClick=\"button1_Click\">Click</button>\r\n      <div>\r\n        <h4>ClickCount:</h4>\r\n        <text text-style=\"h4\">$.clickCount</text>\r\n      </div>\r\n\t\t</tab>\r\n\t</tab-container>\r\n  `,\r\n  scripts: `\r\n  def button1_Click():\r\n    print(\"button1_Click\")\r\n    if dataModel.clickCount == null:\r\n      dataModel.clickCount = 0\r\n    dataModel.clickCount = dataModel.clickCount + 1\r\n  `,\r\n  dataModel: {\r\n    clickCount: 2\r\n  }\r\n};\r\n\r\ntype TabsComponentConstrutor = new() => TabsComponent;\r\n\r\ntype TabsPropertiesConstrutor = new() => TabsProperties;\r\n\r\nexport const tabsDescriptor: ComponentDescriptor<TabsComponentConstrutor, TabsPropertiesConstrutor> = {\r\n  name: 'tab-container',\r\n  label: 'Tabs container (Bootstrap)',\r\n  packageName,\r\n  category: Categories.Containers,\r\n  description: 'Tabs component',\r\n  itemProperties: TabsProperties,\r\n  component: TabsComponent,\r\n  example,\r\n  parseUIModel(xmlData: XMLResult): UIModel {\r\n    const children = xmlData.childNodes?.map(child => {\r\n      if (child.$$?.length === 1) {\r\n        return { tabProperties: child.$, ...CoreService.getUIModel(toXMLResult(child.$$[0])) };\r\n      }\r\n      const itemProperties = child.$;\r\n      itemProperties.height = '100%';\r\n      itemProperties.width = '100%';\r\n      return {\r\n        type: 'div',\r\n        children: child.$$.map(r => ({ tabProperties: child.$, ...CoreService.getUIModel(toXMLResult(r)) })),\r\n        itemProperties\r\n      };\r\n    });\r\n    return {\r\n      type: 'tab-container',\r\n      children\r\n    };\r\n  },\r\n  children: [{\r\n    tag: 'tab',\r\n    hasChildren: true,\r\n    properties: [{\r\n      name: 'header',\r\n      label: 'Tab title'\r\n    }]\r\n  }],\r\n  defaultModel: `<tab-container width=\"100%\" height=\"100%\" margin=\"8px\">\r\n  <tab header=\"Tab 1\" padding=\"0.5rem\">\r\n    <text text-style=\"h1\">Tab 1 static text content</text>\r\n  </tab>\r\n  <tab header=\"Tab 2\" padding=\"0.5rem\">\r\n    <text text-style=\"h1\">Tab 2 static text content</text>\r\n  </tab>\r\n</tab-container>`\r\n};\r\n","import { UIModel, ComponentExample } from '@ngx-dynamic-components/core';\r\nimport { InputTypeaheadProperties } from './input-typeahead.component';\r\n\r\nexport const example2: ComponentExample<UIModel<InputTypeaheadProperties>> = {\r\n  uiModel: `\r\n    <div class=\"flex-column\">\r\n      <div class=\"form-group\">\r\n        <label class=\"col-form-label\" width=\"60px\">Type text</label>\r\n        <input-typeahead class=\"form-control\" width=\"300px\" itemsSource=\"$.list\" binding=\"$.selected\"></input-typeahead>\r\n      </div>\r\n    </div>\r\n  `,\r\n  dataModel: {\r\n    list: [{ label: 'Data 1', value: 'd1' }, { label: 'Data 2', value: 'd2' }]\r\n  },\r\n  title: 'Dropdown options binded to dataModel',\r\n};\r\n\r\nexport const example3: ComponentExample<UIModel<InputTypeaheadProperties>> = {\r\n  uiModel: `\r\n    <div class=\"flex-column\">\r\n      <div class=\"form-group\">\r\n        <label class=\"col-form-label\" width=\"60px\">Type text</label>\r\n        <input-typeahead width=\"300px\" binding=\"$.selectedOption\">\r\n          <option value=\"o1\">Option 1</option>\r\n          <option value=\"o2\">Option 2</option>\r\n        </input-typeahead>\r\n      </div>\r\n    </div>\r\n  `,\r\n  dataModel: {},\r\n  title: 'Static dropdown declaration',\r\n};\r\n\r\nexport const example1: ComponentExample<UIModel<InputTypeaheadProperties>> = {\r\n  uiModel: `\r\n    <div class=\"flex-column\">\r\n      <div class=\"form-group\">\r\n        <label class=\"col-form-label\" width=\"60px\">Country</label>\r\n        <input-typeahead onSelect=\"countryChanged\" width=\"300px\" binding=\"$.country\">\r\n          <option value=\"uk\">United Kingdom</option>\r\n          <option value=\"ua\">Ukraine</option>\r\n        </input-typeahead>\r\n      </div>\r\n      <div class=\"form-group\">\r\n        <label class=\"col-form-label\" width=\"60px\">City</label>\r\n        <input-typeahead width=\"300px\" itemsSource=\"$.cities\" binding=\"$.city\"></input-typeahead>\r\n      </div>\r\n    </div>\r\n  `,\r\n  dataModel: {},\r\n  scripts: `\r\n  # Evaluated with JSPython https://jspython.dev/\r\n\r\n  def countryChanged():\r\n    dataModel.city = null\r\n    if dataModel.country == null:\r\n      dataModel.cities = []\r\n    if dataModel.country == \"uk\":\r\n      dataModel.cities = [{label: \"London\", value: \"lon\"}, {label: \"Liverpool\", value: \"liv\"}]\r\n    if dataModel.country == \"ua\":\r\n      dataModel.cities = [{label: \"Kyiv\", value: \"kyiv\"}, {label: \"Lviv\", value: \"lvi\"}]\r\n  `,\r\n  title: 'Dependency between dropdowns',\r\n  description: 'Handles change event from first dropdown and changes values in second.'\r\n};\r\n\r\nexport const example4: ComponentExample<UIModel<InputTypeaheadProperties>> = {\r\n  uiModel: `\r\n    <div class=\"flex-column\">\r\n      <div class=\"form-group\">\r\n        <label class=\"col-form-label\" width=\"60px\">Type text</label>\r\n        <input-typeahead width=\"300px\"\r\n          typeahead=\"onTypeahead(searchTerm)\"\r\n          debounceTime=\"1000\"\r\n          binding=\"$.selected\"\r\n          change=\"onChange()\">\r\n        </input-typeahead>\r\n      </div>\r\n\r\n      <text binding=\"$.selected\"></text>\r\n    </div>\r\n  `,\r\n  dataModel: {},\r\n  scripts: `\r\n  async def onTypeahead():\r\n    if searchTerm != null:\r\n      # can be server-side call\r\n      return [\r\n        {label: searchTerm + ' 1', value: searchTerm + ' 1'},\r\n        {label: searchTerm + ' 2', value: searchTerm + ' 2'}\r\n      ]\r\n\r\n  async def onChange():\r\n    print('Selected value: ', dataModel.selected)\r\n  `,\r\n  title: 'drop-down with typeahead and debounceTime',\r\n};\r\n\r\nexport default [example4, example1, example2];\r\n","import { Component, HostBinding } from '@angular/core';\r\nimport {\r\n  BindingProperties, propDescription, PropertyCategories, OptionValue,\r\n  UIModel, ComponentDescriptor, Categories, AttributesMap, XMLResult, BaseUIComponent,\r\n  PropTypes,\r\n  queryValue\r\n} from '@ngx-dynamic-components/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter } from 'rxjs/operators';\r\nimport { packageName } from '../../constants';\r\nimport example from './input-typeahead.examples';\r\n\r\n@Component({\r\n  selector: 'dc-input-typeahead', // eslint-disable-line\r\n  template: `\r\n  <input\r\n      [(ngModel)]=\"componentDataModel\"\r\n      [typeahead]=\"isAsync ? suggestions$ : suggestions\"\r\n      [typeaheadAsync]=\"isAsync\"\r\n      [placeholder]=\"properties.placeholder ?? ''\"\r\n      [typeaheadOptionField]=\"properties.typeaheadOptionField ?? 'label'\"\r\n      [typeaheadMultipleSearch]=\"properties.multiple\"\r\n      [class]=\"properties.class\"\r\n      (input)=\"onInput()\"\r\n      (change)=\"onSelect()\"/>\r\n    `,\r\n  styles: [`\r\n    :host ::ng-deep .input-typeahead.input-typeahead-single .input-typeahead-container {\r\n      height: inherit;\r\n      min-height: 30px;\r\n    }\r\n  `]\r\n})\r\n// eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle\r\nexport class InputTypeaheadComponent extends BaseUIComponent<InputTypeaheadProperties> {\r\n  @HostBinding('attr.class') wrapperClass = null;\r\n  searchText$ = new Subject<string | null>();\r\n  loading = false;\r\n  suggestions$ = new Subject<OptionValue[]>();\r\n  suggestions: OptionValue[];\r\n  isAsync: boolean;\r\n\r\n  private get debounceTime(): number {\r\n    return this.properties.debounceTime ? parseInt(this.properties.debounceTime, 10) : 500;\r\n  }\r\n\r\n  // eslint-disable-next-line @angular-eslint/use-lifecycle-interface\r\n  async ngOnInit(): Promise<void> {\r\n    this.isAsync = !!this.properties.typeahead;\r\n    await super.ngOnInit();\r\n    this.searchText$\r\n      .pipe(\r\n        debounceTime(this.debounceTime),\r\n        distinctUntilChanged(),\r\n      )\r\n      .subscribe(data => this.emitEvent(this.properties.typeahead, data, 'typeahead'));\r\n\r\n    this.eventResults$\r\n      .pipe(\r\n        filter(event => event === 'typeahead')\r\n      )\r\n      .subscribe(() => this.suggestions$.next(this.eventResults.get('typeahead')));\r\n    this.suggestions$.subscribe(val => this.suggestions = val);\r\n    this.initSugesstions();\r\n  }\r\n\r\n  private initSugesstions(): void {\r\n    let src = this.properties.itemsSource;\r\n    if (typeof src === 'string' && src.startsWith('$.')) {\r\n      src = queryValue(this.dataModel, src);\r\n    }\r\n    if (Array.isArray(src)) {\r\n      this.suggestions$.next(src as OptionValue[]);\r\n    }\r\n  }\r\n\r\n  onSelect(): void {\r\n    this.changedDataModel.emit(this.dataModel);\r\n    this.emitEvent(this.properties.change, this.componentDataModel);\r\n  }\r\n\r\n  onInput(): void {\r\n    this.searchText$.next(this.componentDataModel);\r\n  }\r\n}\r\n\r\nexport class InputTypeaheadProperties extends BindingProperties {\r\n  @propDescription({\r\n    description: 'Select suggestions or binding to dataModel.',\r\n    example: '[{label: \"One\", value: 1}]',\r\n  })\r\n  itemsSource: string | OptionValue[];\r\n\r\n  @propDescription({\r\n    description: 'Option field',\r\n    defaultValue: 'label',\r\n    example: '30px',\r\n  })\r\n  typeaheadOptionField?: string;\r\n\r\n  @propDescription({\r\n    description: 'Placeholder',\r\n    example: 'Name',\r\n  })\r\n  placeholder?: string;\r\n\r\n  @propDescription({\r\n    description: 'Allows to select multiple items.',\r\n    example: 'true'\r\n  })\r\n  multiple: boolean;\r\n\r\n  @propDescription({\r\n    description: 'Output change event handler.',\r\n    example: 'onChange()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  change?: string;\r\n\r\n  @propDescription({\r\n    description: 'debounceTime in miliseconds. Used only with `typeahead` event handler. Default is 500 (miliseconds)',\r\n    example: '500',\r\n    type: PropTypes.PROPERTY\r\n  })\r\n  debounceTime?: string;\r\n\r\n\r\n  @propDescription({\r\n    description: 'Typeahead event handler.',\r\n    example: 'onTypeahead()',\r\n    type: PropTypes.EVENT\r\n  })\r\n  typeahead?: string;\r\n}\r\n\r\ntype InputTypeaheadComponentConstrutor = new () => InputTypeaheadComponent;\r\n\r\ntype InputTypeaheadPropertiesConstrutor = new () => InputTypeaheadProperties;\r\n\r\nexport const inputTypeaheadDescriptor: ComponentDescriptor<InputTypeaheadComponentConstrutor, InputTypeaheadPropertiesConstrutor> = {\r\n  name: 'input-typeahead',\r\n  label: 'Input typeahead',\r\n  packageName,\r\n  category: Categories.Basic,\r\n  description: 'Input typeahead component',\r\n  itemProperties: InputTypeaheadProperties,\r\n  component: InputTypeaheadComponent,\r\n  example,\r\n  parseUIModel(xmlRes: XMLResult): UIModel {\r\n    const itemProperties: AttributesMap = {};\r\n    if (!xmlRes.attrs.itemsSource && xmlRes.childNodes) {\r\n      itemProperties.itemsSource = xmlRes.childNodes.map(r => (\r\n        { label: r._, value: r.$ && Object.hasOwn(r.$, 'value') ? r.$.value : r._ }\r\n      ));\r\n      xmlRes.childNodes = null;\r\n    }\r\n\r\n    itemProperties.multiple = xmlRes.attrs.multiple === 'true';\r\n\r\n    return {\r\n      type: 'input-typeahead',\r\n      itemProperties\r\n    };\r\n  },\r\n  defaultModel: `<input-typeahead width=\"100px\" itemsSource=\"$.list\" binding=\"$.value\"></input-typeahead>`,\r\n  propertiesDescriptor: [\r\n    ['selectHeight', { name: 'selectHeight', label: 'Select Height', category: PropertyCategories.Layout }],\r\n  ],\r\n  children: [{\r\n    tag: 'option',\r\n    properties: [{\r\n      name: 'value',\r\n      label: 'Option value'\r\n    }]\r\n  }]\r\n};\r\n","import { CoreService, ComponentDescriptor } from '@ngx-dynamic-components/core';\r\n\r\nimport { selectDescriptor } from './select/select.component';\r\nimport { tabsDescriptor } from './tabs/tabs.component';\r\nimport { packageName } from '../constants';\r\nimport { inputTypeaheadDescriptor } from './input-typeahead/input-typeahead.component';\r\n\r\nexport const COMPONENTS_LIST: ComponentDescriptor[] = [\r\n  tabsDescriptor,\r\n  selectDescriptor,\r\n  inputTypeaheadDescriptor\r\n];\r\n\r\n// Register components.\r\nexport function registerComponents(): void {\r\n  COMPONENTS_LIST.forEach(component => CoreService.registerComponent(component));\r\n}\r\n\r\nexport function getCategories(): { name: string; packageName: string; components: ComponentDescriptor[] }[] {\r\n  const categories = COMPONENTS_LIST.reduce((map, desc) => {\r\n    map[desc.category] = map[desc.category] || [];\r\n    map[desc.category].push(desc);\r\n    return map;\r\n  }, {});\r\n\r\n  return Object.entries(categories).map(([key, val]: [string, ComponentDescriptor[]]) => ({\r\n      name: key,\r\n      components: val,\r\n      packageName\r\n    }));\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule} from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { DynamicComponentsCoreModule } from '@ngx-dynamic-components/core';\r\n\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { setTheme } from 'ngx-bootstrap/utils';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\r\n\r\nimport { SelectComponent } from './components/select/select.component';\r\nimport { TabsComponent } from './components/tabs/tabs.component';\r\nimport { registerComponents } from './components/register';\r\nimport { InputTypeaheadComponent } from './components/input-typeahead/input-typeahead.component';\r\n\r\nexport const tabsModuleForRoot: ModuleWithProviders<TabsModule> = TabsModule.forRoot();\r\n\r\n@NgModule({\r\n  declarations: [SelectComponent, TabsComponent, InputTypeaheadComponent],\r\n  imports: [\r\n    DynamicComponentsCoreModule,\r\n    CommonModule,\r\n    FormsModule,\r\n    NgSelectModule,\r\n    TypeaheadModule,\r\n    tabsModuleForRoot\r\n  ]\r\n})\r\nexport class DynamicComponentsBootstrapModule {\r\n  constructor() {\r\n    setTheme('bs4');\r\n    registerComponents();\r\n  }\r\n}\r\n","/*\r\n * Public API Surface of bootstrap\r\n */\r\n\r\nexport * from './lib/bootstrap.module';\r\nexport * from './lib/components';\r\nexport { COMPONENTS_LIST, getCategories } from './lib/components/register';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["example1","example2","example3","example4","i2","example","i1"],"mappings":";;;;;;;;;;;;;;;;;;AAAO,MAAM,WAAW,GAAG,WAAW;;ACG/B,MAAMA,UAAQ,GAAgD;AACnE,IAAA,OAAO,EAAE,CAAA;;;;;;;;;;AAUR,EAAA,CAAA;AACD,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,KAAK,EAAE,6BAA6B;CACrC,CAAC;AAEK,MAAMC,UAAQ,GAAgD;AACnE,IAAA,OAAO,EAAE,CAAA;;;;;;;AAOR,EAAA,CAAA;AACD,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3E,KAAA;AACD,IAAA,KAAK,EAAE,sCAAsC;CAC9C,CAAC;AAEK,MAAMC,UAAQ,GAAgD;AACnE,IAAA,OAAO,EAAE,CAAA;;;;;;;;;;;;;;AAcR,EAAA,CAAA;AACD,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,OAAO,EAAE,CAAA;;;;;;;;;;;AAWR,EAAA,CAAA;AACD,IAAA,KAAK,EAAE,8BAA8B;AACrC,IAAA,WAAW,EAAE,wEAAwE;CACtF,CAAC;AAEK,MAAMC,UAAQ,GAAgD;AACnE,IAAA,OAAO,EAAE,CAAA;;;;;;;;;;;;;;AAcR,EAAA,CAAA;AACD,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,OAAO,EAAE,CAAA;;;;;;;;;;;AAWR,EAAA,CAAA;AACD,IAAA,KAAK,EAAE,2CAA2C;CACnD,CAAC;AAGF,gBAAe,CAACH,UAAQ,EAAEC,UAAQ,EAAEE,UAAQ,CAAC;;AC9D7C;AACM,MAAO,eAAgB,SAAQ,eAAiC,CAAA;AACpE,IAAA,WAAW,GAAG,IAAI,OAAO,EAAiB,CAAC;IAC3C,OAAO,GAAG,KAAK,CAAC;AAEhB,IAAA,QAAQ,CAAC,GAAG,EAAA;QACV,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC7C;AAGD,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;KACxF;;AAGD,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;AAEvB,QAAA,IAAI,CAAC,WAAW;aACb,IAAI,CACH,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAC/B,oBAAoB,EAAE,CACvB;aACA,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;KACpF;AAED,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;YAChC,OAAO;AACL,gBAAA,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;aACrC,CAAC;AACH,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AAC9E,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACtB,YAAA,OAAO,GAAG,CAAC;AACZ,SAAA;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACxC,SAAA;KACF;uGA5CU,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EA1BhB,QAAA,EAAA,WAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;AAiBP,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,oGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,mCAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,kCAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,WAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FASQ,eAAe,EAAA,UAAA,EAAA,CAAA;kBA5B3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACX,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;AAiBP,IAAA,CAAA,EAAA,MAAA,EAAA,CAAA,oGAAA,CAAA,EAAA,CAAA;;AAwDC,MAAO,gBAAiB,SAAQ,iBAAiB,CAAA;AAKrD,IAAA,WAAW,CAAyB;AAMpC,IAAA,YAAY,CAAU;AAMtB,IAAA,WAAW,CAAU;AAMrB,IAAA,SAAS,CAAU;AAMnB,IAAA,SAAS,CAAU;AAMnB,IAAA,QAAQ,CAAU;AAOlB,IAAA,GAAG,CAAU;AAOb,IAAA,IAAI,CAAU;AAOd,IAAA,MAAM,CAAU;AAOhB,IAAA,YAAY,CAAU;AAQtB,IAAA,SAAS,CAAU;AAOnB,IAAA,KAAK,CAAU;AAOf,IAAA,KAAK,CAAU;AAOf,IAAA,KAAK,CAAU;AAOf,IAAA,MAAM,CAAU;AAOhB,IAAA,IAAI,CAAU;AAOd,IAAA,MAAM,CAAU;AAOhB,IAAA,MAAM,CAAU;AAOhB,IAAA,WAAW,CAAU;AACtB,CAAA;AA3HC,UAAA,CAAA;AAJC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,yCAAyC;AACtD,QAAA,OAAO,EAAE,4BAA4B;KACtC,CAAC;;AACkC,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMpC,UAAA,CAAA;AAJC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,gBAAgB;AAC7B,QAAA,OAAO,EAAE,MAAM;KAChB,CAAC;;AACoB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMtB,UAAA,CAAA;AAJC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,aAAa;AAC1B,QAAA,OAAO,EAAE,aAAa;KACvB,CAAC;;AACmB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMrB,UAAA,CAAA;AAJC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,iBAAiB;AAC9B,QAAA,OAAO,EAAE,MAAM;KAChB,CAAC;;AACiB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMnB,UAAA,CAAA;AAJC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,iBAAiB;AAC9B,QAAA,OAAO,EAAE,IAAI;KACd,CAAC;;AACiB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMnB,UAAA,CAAA;AAJC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,kCAAkC;AAC/C,QAAA,OAAO,EAAE,MAAM;KAChB,CAAC;;AACgB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOlB,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,2BAA2B;AACxC,QAAA,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACW,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOb,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,4BAA4B;AACzC,QAAA,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACY,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOd,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,8BAA8B;AAC3C,QAAA,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACc,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOhB,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,qGAAqG;AAClH,QAAA,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,SAAS,CAAC,QAAQ;KACzB,CAAC;;AACoB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAQtB,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,0BAA0B;AACvC,QAAA,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACiB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOnB,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,6BAA6B;AAC1C,QAAA,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACa,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOf,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,6BAA6B;AAC1C,QAAA,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACa,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOf,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,6BAA6B;AAC1C,QAAA,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACa,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOf,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,8BAA8B;AAC3C,QAAA,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACc,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOhB,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,4BAA4B;AACzC,QAAA,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACY,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOd,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,8BAA8B;AAC3C,QAAA,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACc,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOhB,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,8BAA8B;AAC3C,QAAA,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACc,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOhB,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,mCAAmC;AAChD,QAAA,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACmB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOhB,MAAM,gBAAgB,GAA+E;AAC1G,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,KAAK,EAAE,iBAAiB;IACxB,WAAW;AACX,IAAA,QAAQ,EAAkB,OAAA;AAC1B,IAAA,WAAW,EAAE,qBAAqB;AAClC,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,SAAS,EAAE,eAAe;aAC1BC,SAAO;AACP,IAAA,YAAY,CAAC,MAAiB,EAAA;QAC5B,MAAM,cAAc,GAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE;YAClD,cAAc,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAClD,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAC5E,CAAC,CAAC;AACH,YAAA,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;AAC1B,SAAA;QAED,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC;QAE3D,OAAO;AACL,YAAA,IAAI,EAAE,WAAW;YACjB,cAAc;SACf,CAAC;KACH;AACD,IAAA,YAAY,EAAE,CAA8E,4EAAA,CAAA;AAC5F,IAAA,oBAAoB,EAAE;AACpB,QAAA,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC;AACxG,KAAA;AACD,IAAA,QAAQ,EAAE,CAAC;AACT,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,UAAU,EAAE,CAAC;AACX,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,KAAK,EAAE,cAAc;iBACtB,CAAC;SACH,CAAC;CACH;;AC/OK,MAAO,aAAc,SAAQ,eAA+B,CAAA;AACjB,IAAA,WAAW,CAA8B;AAExF,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;KACxC;uGAPU,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,CAAA,IAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACG,gBAAgB,EATjC,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;AAMT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAEU,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,CAAA;;;;;;AAMT,EAAA,CAAA;AACF,iBAAA,CAAA;8BAEgD,WAAW,EAAA,CAAA;sBAAzD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,IAAI,EAAE,EAAE,IAAI,EAAC,gBAAgB,EAAE,CAAA;;AASzC,MAAO,cAAe,SAAQ,eAAe,CAAA;AACjD,IAAA,MAAM,CAAS;AAChB,CAAA;AAEM,MAAMA,SAAO,GAA8C;AAChE,IAAA,KAAK,EAAE,oBAAoB;AAC3B,IAAA,OAAO,EAAE,CAAA;;;;;;;;;;;;;;AAcR,EAAA,CAAA;AACD,IAAA,OAAO,EAAE,CAAA;;;;;;AAMR,EAAA,CAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,UAAU,EAAE,CAAC;AACd,KAAA;CACF,CAAC;AAMK,MAAM,cAAc,GAA2E;AACpG,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,KAAK,EAAE,4BAA4B;IACnC,WAAW;AACX,IAAA,QAAQ,EAAuB,YAAA;AAC/B,IAAA,WAAW,EAAE,gBAAgB;AAC7B,IAAA,cAAc,EAAE,cAAc;AAC9B,IAAA,SAAS,EAAE,aAAa;aACxBA,SAAO;AACP,IAAA,YAAY,CAAC,OAAkB,EAAA;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,IAAG;AAC/C,YAAA,IAAI,KAAK,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,EAAE;gBAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxF,aAAA;AACD,YAAA,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC;AAC/B,YAAA,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;AAC/B,YAAA,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC;YAC9B,OAAO;AACL,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpG,cAAc;aACf,CAAC;AACJ,SAAC,CAAC,CAAC;QACH,OAAO;AACL,YAAA,IAAI,EAAE,eAAe;YACrB,QAAQ;SACT,CAAC;KACH;AACD,IAAA,QAAQ,EAAE,CAAC;AACT,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,UAAU,EAAE,CAAC;AACX,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,KAAK,EAAE,WAAW;iBACnB,CAAC;SACH,CAAC;AACF,IAAA,YAAY,EAAE,CAAA;;;;;;;AAOC,gBAAA,CAAA;CAChB;;ACzGM,MAAM,QAAQ,GAAwD;AAC3E,IAAA,OAAO,EAAE,CAAA;;;;;;;AAOR,EAAA,CAAA;AACD,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3E,KAAA;AACD,IAAA,KAAK,EAAE,sCAAsC;CAC9C,CAAC;AAEK,MAAM,QAAQ,GAAwD;AAC3E,IAAA,OAAO,EAAE,CAAA;;;;;;;;;;AAUR,EAAA,CAAA;AACD,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,KAAK,EAAE,6BAA6B;CACrC,CAAC;AAEK,MAAM,QAAQ,GAAwD;AAC3E,IAAA,OAAO,EAAE,CAAA;;;;;;;;;;;;;;AAcR,EAAA,CAAA;AACD,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,OAAO,EAAE,CAAA;;;;;;;;;;;AAWR,EAAA,CAAA;AACD,IAAA,KAAK,EAAE,8BAA8B;AACrC,IAAA,WAAW,EAAE,wEAAwE;CACtF,CAAC;AAEK,MAAM,QAAQ,GAAwD;AAC3E,IAAA,OAAO,EAAE,CAAA;;;;;;;;;;;;;;AAcR,EAAA,CAAA;AACD,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,OAAO,EAAE,CAAA;;;;;;;;;;;AAWR,EAAA,CAAA;AACD,IAAA,KAAK,EAAE,2CAA2C;CACnD,CAAC;AAEF,cAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;;AClE7C;AACM,MAAO,uBAAwB,SAAQ,eAAyC,CAAA;IACzD,YAAY,GAAG,IAAI,CAAC;AAC/C,IAAA,WAAW,GAAG,IAAI,OAAO,EAAiB,CAAC;IAC3C,OAAO,GAAG,KAAK,CAAC;AAChB,IAAA,YAAY,GAAG,IAAI,OAAO,EAAiB,CAAC;AAC5C,IAAA,WAAW,CAAgB;AAC3B,IAAA,OAAO,CAAU;AAEjB,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;KACxF;;AAGD,IAAA,MAAM,QAAQ,GAAA;QACZ,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;AAC3C,QAAA,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,WAAW;aACb,IAAI,CACH,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAC/B,oBAAoB,EAAE,CACvB;aACA,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;AAEnF,QAAA,IAAI,CAAC,aAAa;aACf,IAAI,CACH,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,WAAW,CAAC,CACvC;aACA,SAAS,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC/E,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAEO,eAAe,GAAA;AACrB,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QACtC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACnD,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACvC,SAAA;AACD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAoB,CAAC,CAAC;AAC9C,SAAA;KACF;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;KACjE;IAED,OAAO,GAAA;QACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAChD;uGAjDU,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EApBxB,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;AAWP,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,mCAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,kCAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,WAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FASQ,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAtBnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,CAAA;;;;;;;;;;;AAWP,IAAA,CAAA,EAAA,MAAA,EAAA,CAAA,sHAAA,CAAA,EAAA,CAAA;8BAUwB,YAAY,EAAA,CAAA;sBAAtC,WAAW;uBAAC,YAAY,CAAA;;AAmDrB,MAAO,wBAAyB,SAAQ,iBAAiB,CAAA;AAK7D,IAAA,WAAW,CAAyB;AAOpC,IAAA,oBAAoB,CAAU;AAM9B,IAAA,WAAW,CAAU;AAMrB,IAAA,QAAQ,CAAU;AAOlB,IAAA,MAAM,CAAU;AAOhB,IAAA,YAAY,CAAU;AAQtB,IAAA,SAAS,CAAU;AACpB,CAAA;AA1CC,UAAA,CAAA;AAJC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,6CAA6C;AAC1D,QAAA,OAAO,EAAE,4BAA4B;KACtC,CAAC;;AACkC,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOpC,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,YAAY,EAAE,OAAO;AACrB,QAAA,OAAO,EAAE,MAAM;KAChB,CAAC;;AAC4B,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAM9B,UAAA,CAAA;AAJC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,aAAa;AAC1B,QAAA,OAAO,EAAE,MAAM;KAChB,CAAC;;AACmB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMrB,UAAA,CAAA;AAJC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,kCAAkC;AAC/C,QAAA,OAAO,EAAE,MAAM;KAChB,CAAC;;AACgB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOlB,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,8BAA8B;AAC3C,QAAA,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACc,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOhB,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,qGAAqG;AAClH,QAAA,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,SAAS,CAAC,QAAQ;KACzB,CAAC;;AACoB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAQtB,UAAA,CAAA;AALC,IAAA,eAAe,CAAC;AACf,QAAA,WAAW,EAAE,0BAA0B;AACvC,QAAA,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,SAAS,CAAC,KAAK;KACtB,CAAC;;AACiB,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOd,MAAM,wBAAwB,GAA+F;AAClI,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,KAAK,EAAE,iBAAiB;IACxB,WAAW;AACX,IAAA,QAAQ,EAAkB,OAAA;AAC1B,IAAA,WAAW,EAAE,2BAA2B;AACxC,IAAA,cAAc,EAAE,wBAAwB;AACxC,IAAA,SAAS,EAAE,uBAAuB;IAClC,OAAO;AACP,IAAA,YAAY,CAAC,MAAiB,EAAA;QAC5B,MAAM,cAAc,GAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE;YAClD,cAAc,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAClD,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAC5E,CAAC,CAAC;AACH,YAAA,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;AAC1B,SAAA;QAED,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC;QAE3D,OAAO;AACL,YAAA,IAAI,EAAE,iBAAiB;YACvB,cAAc;SACf,CAAC;KACH;AACD,IAAA,YAAY,EAAE,CAA0F,wFAAA,CAAA;AACxG,IAAA,oBAAoB,EAAE;AACpB,QAAA,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC;AACxG,KAAA;AACD,IAAA,QAAQ,EAAE,CAAC;AACT,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,UAAU,EAAE,CAAC;AACX,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,KAAK,EAAE,cAAc;iBACtB,CAAC;SACH,CAAC;CACH;;ACxKY,MAAA,eAAe,GAA0B;IACpD,cAAc;IACd,gBAAgB;IAChB,wBAAwB;EACxB;AAEF;SACgB,kBAAkB,GAAA;AAChC,IAAA,eAAe,CAAC,OAAO,CAAC,SAAS,IAAI,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;AACjF,CAAC;SAEe,aAAa,GAAA;IAC3B,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAI;AACtD,QAAA,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,QAAA,OAAO,GAAG,CAAC;KACZ,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAkC,MAAM;AACpF,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,UAAU,EAAE,GAAG;QACf,WAAW;AACZ,KAAA,CAAC,CAAC,CAAC;AACR;;MCda,iBAAiB,GAAoC,UAAU,CAAC,OAAO,GAAG;MAa1E,gCAAgC,CAAA;AAC3C,IAAA,WAAA,GAAA;QACE,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChB,QAAA,kBAAkB,EAAE,CAAC;KACtB;uGAJU,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,iBAV5B,eAAe,EAAE,aAAa,EAAE,uBAAuB,aAEpE,2BAA2B;YAC3B,YAAY;YACZ,WAAW;YACX,cAAc;YACd,eAAe,EAAAE,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,CAAA;AAIN,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,YARzC,2BAA2B;YAC3B,YAAY;YACZ,WAAW;YACX,cAAc;YACd,eAAe;YACf,iBAAiB,CAAA,EAAA,CAAA,CAAA;;2FAGR,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAX5C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,uBAAuB,CAAC;AACvE,oBAAA,OAAO,EAAE;wBACP,2BAA2B;wBAC3B,YAAY;wBACZ,WAAW;wBACX,cAAc;wBACd,eAAe;wBACf,iBAAiB;AAClB,qBAAA;AACF,iBAAA,CAAA;;;AC5BD;;AAEG;;ACFH;;AAEG;;;;"}