{"version":3,"file":"busybox-ngx-components.mjs","sources":["../../../projects/ngx-components/src/test-helpers/test-id.ts","../../../projects/ngx-components/src/lib/root-css-variables.service.ts","../../../projects/ngx-components/src/lib/variant.ts","../../../projects/ngx-components/src/lib/card/card.component.ts","../../../projects/ngx-components/src/lib/theme.ts","../../../projects/ngx-components/src/lib/button/button.component.ts","../../../projects/ngx-components/src/lib/file-upload/file-upload.component.ts","../../../projects/ngx-components/src/lib/nav-bar/selected-nav-bar-item.service.ts","../../../projects/ngx-components/src/lib/nav-bar/nav-bar.component.ts","../../../projects/ngx-components/src/lib/nav-bar/nav-item.component.ts","../../../projects/ngx-components/src/lib/nav-bar/nav-bar.module.ts","../../../projects/ngx-components/src/lib/preview-image/preview-image.component.ts"],"sourcesContent":["export const TEST_ID = 'data-testid';\n\nexport function generateTestIdWithPrefix({\n  id,\n  prefix,\n}: {\n  id: string;\n  prefix?: string;\n}) {\n  if (!prefix) return id;\n  if (!id) return prefix;\n  if (id.includes('ngx')) return id;\n  return [prefix, id].join('-');\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class RootCssVariablesService {\n  rootStyles: CSSStyleDeclaration;\n\n  constructor() {\n    this.rootStyles = getComputedStyle(document.documentElement);\n  }\n\n  getVariable(name: string) {\n    return this.rootStyles.getPropertyValue(`--${name}`);\n  }\n}\n","export const VARIANT = 'variant';\n\nexport enum Variant {\n  Primary = 'primary',\n  Secondary = 'secondary',\n  Warning = 'warning',\n}\n","import 'wired-elements/lib/wired-card';\n\nimport { CommonModule } from '@angular/common';\nimport { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';\n\nimport { RootCssVariablesService } from '../root-css-variables.service';\nimport { Variant } from '../variant';\n\n@Component({\n  imports: [CommonModule],\n  providers: [RootCssVariablesService],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  selector: 'ngx-card',\n  standalone: true,\n  template: `\n    <wired-card\n      class=\"tw-w-full\"\n      [attr.data-testid]=\"testId\"\n      [attr.fill]=\"fill\"\n      [attr.data-hover]=\"hover\"\n    >\n      <ng-content></ng-content>\n    </wired-card>\n  `,\n})\nexport class CardComponent {\n  @Input() public hover = false;\n\n  @Input() public 'data-testid' = 'ngx-card';\n\n  @Input() public variant: Variant = Variant.Primary;\n\n  constructor(public rootCssVariablesService: RootCssVariablesService) {}\n\n  get testId() {\n    return this['data-testid'];\n  }\n\n  get fill() {\n    if (this.variant === Variant.Warning) {\n      if (this.hover) {\n        return this.rootCssVariablesService.getVariable('colors-warning-hover');\n      }\n      return this.rootCssVariablesService.getVariable('colors-warning');\n    }\n    if (this.variant === Variant.Secondary) {\n      if (this.hover) {\n        return this.rootCssVariablesService.getVariable(\n          'colors-secondary-hover',\n        );\n      }\n      return this.rootCssVariablesService.getVariable('colors-secondary');\n    }\n    if (this.hover) {\n      return this.rootCssVariablesService.getVariable('colors-primary-hover');\n    }\n    return this.rootCssVariablesService.getVariable('colors-primary');\n  }\n}\n","export const icon = {\n  // https://heroicons.com/\n  outline: {\n    height: 'tw-h-[24px]',\n    width: 'tw-w-[24px]',\n  },\n  solid: {\n    height: 'tw-h-[20px]',\n    width: 'tw-w-[20px]',\n  },\n};\n\nexport const palette = {\n  error: {\n    text: 'tw-text-red-500',\n  },\n  primary: {\n    contrastText: 'tw-text-primary-main-text',\n    hover: {\n      contrastText: 'hover:tw-text-primary-hover-text',\n      main: 'hover:tw-bg-primary-main-hover',\n    },\n    main: 'tw-bg-primary-main',\n  },\n  secondary: {\n    contrastText: 'tw-text-secondary-main-text',\n    hover: {\n      contrastText: 'hover:tw-text-secondary-hover-text',\n      main: 'hover:tw-bg-secondary-main-hover',\n    },\n    main: 'tw-bg-secondary-main',\n  },\n  warning: {\n    contrastText: 'tw-text-warning-text',\n    main: 'tw-bg-warning-main',\n  },\n};\n","import 'wired-elements/lib/wired-button';\n\nimport { CommonModule } from '@angular/common';\nimport {\n  Component,\n  CUSTOM_ELEMENTS_SCHEMA,\n  ElementRef,\n  HostListener,\n  Input,\n  OnInit,\n  ViewChild,\n} from '@angular/core';\nimport cn from 'classnames';\n\nimport { generateTestIdWithPrefix } from '../../test-helpers/test-id';\nimport { CardComponent } from '../card/card.component';\nimport { palette } from '../theme';\nimport { Variant } from '../variant';\n\n@Component({\n  imports: [CommonModule, CardComponent],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  selector: 'ngx-button',\n  standalone: true,\n  template: ` <button\n      (click)=\"onHiddenButtonClick($event)\"\n      [attr.type]=\"buttonType\"\n      class=\"tw-hidden\"\n      #hiddenButton\n    >\n      <ng-content></ng-content>\n    </button>\n    <ngx-card\n      role=\"button\"\n      class=\"tw-cursor-pointer tw-select-none {{ classNames }}\"\n      [data-testid]=\"testId\"\n      [hover]=\"hover\"\n      [variant]=\"variant\"\n    >\n      <ng-content></ng-content>\n    </ngx-card>`,\n})\nexport class ButtonComponent implements OnInit {\n  @ViewChild('hiddenButton')\n  hiddenButton?: ElementRef<HTMLInputElement>;\n\n  hover = false;\n\n  classNames = '';\n\n  @Input() 'data-testid' = 'ngx-button';\n\n  @Input() buttonType = '';\n\n  @Input() variant: Variant.Primary | Variant.Secondary = Variant.Primary;\n\n  @HostListener('click', ['$event'])\n  onButtonClick(event: Event) {\n    event.preventDefault();\n    this.hiddenButton?.nativeElement.click();\n  }\n\n  onHiddenButtonClick(event: Event) {\n    event.stopPropagation();\n  }\n\n  ngOnInit(): void {\n    this.classNames = cn(this.variant, {\n      [palette.primary.contrastText]: this.variant === Variant.Primary,\n      [palette.primary.hover.contrastText]: this.variant === Variant.Primary,\n      [palette.secondary.contrastText]: this.variant === Variant.Secondary,\n      [palette.secondary.hover.contrastText]:\n        this.variant === Variant.Secondary,\n    });\n  }\n\n  get testId() {\n    return generateTestIdWithPrefix({\n      id: this['data-testid'],\n      prefix: 'ngx-button',\n    });\n  }\n\n  @HostListener('mouseenter')\n  onMouseEnter() {\n    this.hover = true;\n  }\n\n  @HostListener('mouseleave')\n  onMouseLeave() {\n    this.hover = false;\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  ViewChild,\n} from '@angular/core';\nimport { NgIconComponent, provideIcons } from '@ng-icons/core';\nimport { heroFolderPlus } from '@ng-icons/heroicons/outline';\n\nimport { generateTestIdWithPrefix } from '../../test-helpers/test-id';\nimport { ButtonComponent } from '../button/button.component';\nimport { Variant } from '../variant';\n\n@Component({\n  imports: [CommonModule, NgIconComponent, ButtonComponent],\n  providers: [provideIcons({ heroFolderPlus })],\n  selector: 'ngx-file-upload',\n  standalone: true,\n  styles: [],\n  template: `\n    <input\n      (change)=\"onFileUpload()\"\n      type=\"file\"\n      class=\"tw-hidden\"\n      [attr.accept]=\"acceptFileType\"\n      [attr.data-testid]=\"testId + '-hidden-input'\"\n      #hiddenUploadInput\n    />\n    <ngx-button\n      (click)=\"triggerFileUpload()\"\n      [data-testid]=\"testId\"\n      buttonType=\"button\"\n      [variant]=\"Variant.Secondary\"\n    >\n      <span class=\"tw-flex tw-items-center tw-justify-center tw-gap-0.5\">\n        <ng-icon name=\"heroFolderPlus\"></ng-icon>\n        <ng-content></ng-content>\n      </span>\n    </ngx-button>\n  `,\n})\nexport class FileUploadComponent {\n  @Input() 'data-testid' = '';\n\n  Variant = Variant;\n\n  @ViewChild('hiddenUploadInput')\n  hiddenUploadInput?: ElementRef<HTMLInputElement>;\n\n  @Output() upload: EventEmitter<File> = new EventEmitter<File>();\n\n  @Input() acceptFileType = '*';\n\n  triggerFileUpload() {\n    this.hiddenUploadInput?.nativeElement.click();\n  }\n\n  async onFileUpload() {\n    const target = this.hiddenUploadInput?.nativeElement;\n    const uploadFile = target?.files?.item(0);\n    if (!uploadFile) return;\n    this.upload.emit(uploadFile);\n  }\n\n  get testId() {\n    return generateTestIdWithPrefix({\n      id: this['data-testid'],\n      prefix: 'ngx-file-upload',\n    });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { filter } from 'rxjs';\n// @TODO: Fix me!\nconst filterWithoutType = filter as any;\n\n@Injectable()\nexport class SelectedNavBarItemService {\n  private _selectedValue = '';\n\n  constructor(private router: Router) {\n    this.selectedValue = router.url;\n    this.router.events\n      .pipe(\n        filterWithoutType(\n          (e: unknown): e is NavigationStart => e instanceof NavigationStart,\n        ),\n      )\n      .subscribe((e: any) => {\n        this.selectedValue = e.url;\n      });\n  }\n\n  set selectedValue(url: string) {\n    this._selectedValue = new URL(url, window.location.origin).pathname;\n  }\n\n  get selectedValue() {\n    return this._selectedValue;\n  }\n}\n","import 'wired-elements/lib/wired-listbox';\n\nimport { Component, Input } from '@angular/core';\n\nimport { generateTestIdWithPrefix } from '../../test-helpers/test-id';\nimport { SelectedNavBarItemService } from './selected-nav-bar-item.service';\n\n@Component({\n  selector: 'ngx-nav-bar',\n  template: `\n    <wired-listbox\n      role=\"tablist\"\n      class=\"tw-flex tw-w-full tw-justify-center\"\n      horizontal\n      [attr.data-testid]=\"testId\"\n      [attr.selected]=\"selectedService.selectedValue\"\n    >\n      <ng-content></ng-content>\n    </wired-listbox>\n  `,\n})\nexport class NavBarComponent {\n  @Input() 'data-testid' = '';\n\n  constructor(public selectedService: SelectedNavBarItemService) {}\n\n  get testId() {\n    return generateTestIdWithPrefix({\n      id: this['data-testid'],\n      prefix: 'ngx-nav-bar',\n    });\n  }\n}\n","import 'wired-elements/lib/wired-item';\n\nimport { Component, Input } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { generateTestIdWithPrefix } from '../../test-helpers/test-id';\nimport { SelectedNavBarItemService } from './selected-nav-bar-item.service';\n\n@Component({\n  selector: 'ngx-nav-item[value]',\n  template: `\n    <wired-item\n      role=\"tab\"\n      class=\"tw-w-full tw-justify-center tw-text-center\"\n      [attr.data-testid]=\"testId\"\n      [attr.aria-selected]=\"selected\"\n      [attr.value]=\"value\"\n      [attr.selected]=\"selected\"\n      (click)=\"itemSelected()\"\n    >\n      <ng-content></ng-content>\n    </wired-item>\n  `,\n})\nexport class NavItemComponent {\n  @Input() value!: string;\n\n  @Input() 'data-testid' = '';\n\n  constructor(\n    public selectedService: SelectedNavBarItemService,\n    public router: Router,\n  ) {}\n\n  get testId() {\n    return generateTestIdWithPrefix({\n      id: this['data-testid'],\n      prefix: 'ngx-nav-bar-item',\n    });\n  }\n\n  get selected() {\n    return this.selectedService.selectedValue === this.value ? true : undefined;\n  }\n\n  itemSelected() {\n    this.router.navigate([this.value]);\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NavBarComponent } from './nav-bar.component';\nimport { NavItemComponent } from './nav-item.component';\nimport { SelectedNavBarItemService } from './selected-nav-bar-item.service';\n\n@NgModule({\n  declarations: [NavBarComponent, NavItemComponent],\n  exports: [NavBarComponent, NavItemComponent],\n  imports: [CommonModule, RouterModule],\n  providers: [SelectedNavBarItemService],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NavBarModule {}\n\nexport { NavBarComponent, NavItemComponent };\n","import 'wired-elements/lib/wired-image';\n\nimport { CommonModule } from '@angular/common';\nimport { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';\n\nimport { generateTestIdWithPrefix } from '../../test-helpers/test-id';\n\n@Component({\n  imports: [CommonModule],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  selector: 'ngx-preview-image',\n  standalone: true,\n  styles: [],\n  template: `\n    <wired-image [attr.src]=\"value\" [attr.data-testid]=\"testId\"> </wired-image>\n  `,\n})\nexport class PreviewImageComponent {\n  @Input() value = '';\n\n  @Input() 'data-testid' = '';\n\n  get testId() {\n    return generateTestIdWithPrefix({\n      id: this['data-testid'],\n      prefix: 'ngx-preview-image',\n    });\n  }\n}\n"],"names":["i1.RootCssVariablesService","i1.SelectedNavBarItemService","i2"],"mappings":";;;;;;;;;;;;;;;;AAAO,MAAM,OAAO,GAAG,aAAa,CAAC;SAErB,wBAAwB,CAAC,EACvC,EAAE,EACF,MAAM,GAIP,EAAA;AACC,IAAA,IAAI,CAAC,MAAM;AAAE,QAAA,OAAO,EAAE,CAAC;AACvB,IAAA,IAAI,CAAC,EAAE;AAAE,QAAA,OAAO,MAAM,CAAC;AACvB,IAAA,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC;;MCRa,uBAAuB,CAAA;AAGlC,IAAA,WAAA,GAAA;AAFA,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,YAAA,EAAA;;;;;AAAgC,SAAA,CAAA,CAAA;QAG9B,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;KAC9D;AAED,IAAA,WAAW,CAAC,IAAY,EAAA;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAK,EAAA,EAAA,IAAI,CAAE,CAAA,CAAC,CAAC;KACtD;;;;;;gGATU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;;;;;;IAAvB,KAAA,EAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA;;2FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACJM,MAAM,OAAO,GAAG,SAAS,CAAC;AAErB,IAAA,QAIX;AAJD,CAAA,UAAY,OAAO,EAAA;AACjB,IAAA,OAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,OAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,OAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAJW,OAAO,KAAP,OAAO,GAIlB,EAAA,CAAA,CAAA;;MCmBY,aAAa,CAAA;AAOxB,IAAA,WAAA,CAAmB,uBAAgD,EAAA;;;;;AAAhD,YAAA,KAAA,EAAA,uBAAA;;AANnB,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,OAAA,EAAA;;;;mBAAwB,KAAK;AAAC,SAAA,CAAA,CAAA;AAE9B,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAgB,aAAa,EAAA;;;;mBAAG,UAAU;AAAC,SAAA,CAAA,CAAA;AAE3C,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,SAAA,EAAA;;;;YAAmC,KAAA,EAAA,OAAO,CAAC,OAAO;AAAC,SAAA,CAAA,CAAA;KAEoB;AAEvE,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5B;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE;YACpC,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,OAAO,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;AACzE,aAAA;YACD,OAAO,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACnE,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,SAAS,EAAE;YACtC,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,OAAO,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAC7C,wBAAwB,CACzB,CAAC;AACH,aAAA;YACD,OAAO,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AACrE,SAAA;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;AACzE,SAAA;QACD,OAAO,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;KACnE;;;;;;gGAhCU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;;;;;;IAAb,KAAA,EAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAfb,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,CAAC,uBAAuB,CAAC,EAI1B,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAdS,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAgBX,aAAa,EAAA,UAAA,EAAA,CAAA;kBAjBzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,SAAS,EAAE,CAAC,uBAAuB,CAAC;oBACpC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;AAST,EAAA,CAAA;iBACF,CAAA;2GAEiB,KAAK,EAAA,CAAA;sBAApB,KAAK;gBAEU,aAAa,EAAA,CAAA;sBAA5B,KAAK;gBAEU,OAAO,EAAA,CAAA;sBAAtB,KAAK;;;AC9BD,MAAM,IAAI,GAAG;AAElB,IAAA,OAAO,EAAE;AACP,QAAA,MAAM,EAAE,aAAa;AACrB,QAAA,KAAK,EAAE,aAAa;AACrB,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE,aAAa;AACrB,QAAA,KAAK,EAAE,aAAa;AACrB,KAAA;CACF,CAAC;AAEK,MAAM,OAAO,GAAG;AACrB,IAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,iBAAiB;AACxB,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,YAAY,EAAE,2BAA2B;AACzC,QAAA,KAAK,EAAE;AACL,YAAA,YAAY,EAAE,kCAAkC;AAChD,YAAA,IAAI,EAAE,gCAAgC;AACvC,SAAA;AACD,QAAA,IAAI,EAAE,oBAAoB;AAC3B,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,YAAY,EAAE,6BAA6B;AAC3C,QAAA,KAAK,EAAE;AACL,YAAA,YAAY,EAAE,oCAAoC;AAClD,YAAA,IAAI,EAAE,kCAAkC;AACzC,SAAA;AACD,QAAA,IAAI,EAAE,sBAAsB;AAC7B,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,YAAY,EAAE,sBAAsB;AACpC,QAAA,IAAI,EAAE,oBAAoB;AAC3B,KAAA;CACF;;MCMY,eAAe,CAAA;AAvB5B,IAAA,WAAA,GAAA;AAwBE,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,cAAA,EAAA;;;;;AAC4C,SAAA,CAAA,CAAA;AAE5C,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,OAAA,EAAA;;;;mBAAQ,KAAK;AAAC,SAAA,CAAA,CAAA;AAEd,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,YAAA,EAAA;;;;mBAAa,EAAE;AAAC,SAAA,CAAA,CAAA;AAEhB,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAS,aAAa,EAAA;;;;mBAAG,YAAY;AAAC,SAAA,CAAA,CAAA;AAEtC,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,YAAA,EAAA;;;;mBAAsB,EAAE;AAAC,SAAA,CAAA,CAAA;AAEzB,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,SAAA,EAAA;;;;YAAwD,KAAA,EAAA,OAAO,CAAC,OAAO;AAAC,SAAA,CAAA,CAAA;KAsCzE;AAnCC,IAAA,aAAa,CAAC,KAAY,EAAA;;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC,KAAK,EAAE,CAAC;KAC1C;AAED,IAAA,mBAAmB,CAAC,KAAY,EAAA;QAC9B,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;AACjC,YAAA,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;AAChE,YAAA,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;AACtE,YAAA,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,SAAS;AACpE,YAAA,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,GACnC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,SAAS;AACrC,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,wBAAwB,CAAC;AAC9B,YAAA,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC;AACvB,YAAA,MAAM,EAAE,YAAY;AACrB,SAAA,CAAC,CAAC;KACJ;IAGD,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACnB;IAGD,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;;;;;;gGAjDU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;;;;;;AAAf,IAAA,KAAA,EAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAlBhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;AAgBI,eAAA,CAAA,EApBJ,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,+BAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAsB1B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAvB3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;oBACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;AAgBI,eAAA,CAAA;iBACf,CAAA;8BAGC,YAAY,EAAA,CAAA;sBADX,SAAS;uBAAC,cAAc,CAAA;gBAOhB,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAGN,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;gBA4BjC,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,YAAY,CAAA;gBAM1B,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,YAAY,CAAA;;;MC5Cf,mBAAmB,CAAA;AA5BhC,IAAA,WAAA,GAAA;AA6BE,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAS,aAAa,EAAA;;;;mBAAG,EAAE;AAAC,SAAA,CAAA,CAAA;AAE5B,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,SAAA,EAAA;;;;mBAAU,OAAO;AAAC,SAAA,CAAA,CAAA;AAElB,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,mBAAA,EAAA;;;;;AACiD,SAAA,CAAA,CAAA;AAEjD,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,QAAA,EAAA;;;;YAAuC,KAAA,EAAA,IAAI,YAAY,EAAQ;AAAC,SAAA,CAAA,CAAA;AAEhE,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,gBAAA,EAAA;;;;mBAA0B,GAAG;AAAC,SAAA,CAAA,CAAA;KAmB/B;IAjBC,iBAAiB,GAAA;;QACf,CAAA,EAAA,GAAA,IAAI,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC,KAAK,EAAE,CAAC;KAC/C;IAEK,YAAY,GAAA;;;YAChB,MAAM,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC;AACrD,YAAA,MAAM,UAAU,GAAG,CAAA,EAAA,GAAA,MAAM,aAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,UAAU;gBAAE,OAAO;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;AAC9B,KAAA;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,wBAAwB,CAAC;AAC9B,YAAA,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC;AACvB,YAAA,MAAM,EAAE,iBAAiB;AAC1B,SAAA,CAAC,CAAC;KACJ;;;;;;gGA5BU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;;;;;;oFAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EA1BnB,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,EAInC,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;AAoBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAzBS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FA2B7C,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBA5B/B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,aAC9C,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,YACnC,iBAAiB,EAAA,UAAA,EACf,IAAI,EAEN,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;AAoBT,EAAA,CAAA,EAAA,CAAA;8BAGQ,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAKN,iBAAiB,EAAA,CAAA;sBADhB,SAAS;uBAAC,mBAAmB,CAAA;gBAGpB,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAEE,cAAc,EAAA,CAAA;sBAAtB,KAAK;;;AClDR,MAAM,iBAAiB,GAAG,MAAa,CAAC;MAG3B,yBAAyB,CAAA;AAGpC,IAAA,WAAA,CAAoB,MAAc,EAAA;;;;;AAAd,YAAA,KAAA,EAAA,MAAA;;AAFpB,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,gBAAA,EAAA;;;;mBAAyB,EAAE;AAAC,SAAA,CAAA,CAAA;AAG1B,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM;AACf,aAAA,IAAI,CACH,iBAAiB,CACf,CAAC,CAAU,KAA2B,CAAC,YAAY,eAAe,CACnE,CACF;AACA,aAAA,SAAS,CAAC,CAAC,CAAM,KAAI;AACpB,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;IAED,IAAI,aAAa,CAAC,GAAW,EAAA;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;KACrE;AAED,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;;;;;;gGAtBU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;;;;;;mGAAzB,yBAAyB,EAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;;;MCeE,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAmB,eAA0C,EAAA;;;;;AAA1C,YAAA,KAAA,EAAA,eAAA;;AAFnB,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAS,aAAa,EAAA;;;;mBAAG,EAAE;AAAC,SAAA,CAAA,CAAA;KAEqC;AAEjE,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,wBAAwB,CAAC;AAC9B,YAAA,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC;AACvB,YAAA,MAAM,EAAE,aAAa;AACtB,SAAA,CAAC,CAAC;KACJ;;;;;;gGAVU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;;;;;;AAAf,IAAA,KAAA,EAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAZhB,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAd3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;AAUT,EAAA,CAAA;iBACF,CAAA;6GAEU,aAAa,EAAA,CAAA;sBAArB,KAAK;;;MCEK,gBAAgB,CAAA;IAK3B,WACS,CAAA,eAA0C,EAC1C,MAAc,EAAA;;;;;AADd,YAAA,KAAA,EAAA,eAAA;;;;;;AACA,YAAA,KAAA,EAAA,MAAA;;AANT,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,OAAA,EAAA;;;;;AAAwB,SAAA,CAAA,CAAA;AAExB,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAS,aAAa,EAAA;;;;mBAAG,EAAE;AAAC,SAAA,CAAA,CAAA;KAKxB;AAEJ,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,wBAAwB,CAAC;AAC9B,YAAA,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC;AACvB,YAAA,MAAM,EAAE,kBAAkB;AAC3B,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;KAC7E;IAED,YAAY,GAAA;QACV,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACpC;;;;;;gGAvBU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;;;;;;AAAhB,IAAA,KAAA,EAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAdjB,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;AAYT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAhB5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;AAYT,EAAA,CAAA;iBACF,CAAA;kIAEU,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,aAAa,EAAA,CAAA;sBAArB,KAAK;;;MCZK,YAAY,CAAA;;;;;;gGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;;;;;;iGAAZ,YAAY,EAAA,YAAA,EAAA,CANR,eAAe,EAAE,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAEtC,YAAY,EAAE,YAAY,CAAA,EAAA,OAAA,EAAA,CAD1B,eAAe,EAAE,gBAAgB,CAAA,EAAA,CAAA;;;;;;AAKhC,IAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,aAHZ,CAAC,yBAAyB,CAAC,EAD5B,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,CAAA,EAAA,CAAA;;2FAIzB,YAAY,EAAA,UAAA,EAAA,CAAA;kBAPxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC;AACjD,oBAAA,OAAO,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC;AAC5C,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;oBACrC,SAAS,EAAE,CAAC,yBAAyB,CAAC;oBACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBAClC,CAAA;;;MCGY,qBAAqB,CAAA;AAVlC,IAAA,WAAA,GAAA;AAWE,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAA,OAAA,EAAA;;;;mBAAiB,EAAE;AAAC,SAAA,CAAA,CAAA;AAEpB,QAAA,MAAA,CAAA,cAAA,CAAA,IAAA,EAAS,aAAa,EAAA;;;;mBAAG,EAAE;AAAC,SAAA,CAAA,CAAA;KAQ7B;AANC,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,wBAAwB,CAAC;AAC9B,YAAA,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC;AACvB,YAAA,MAAM,EAAE,mBAAmB;AAC5B,SAAA,CAAC,CAAC;KACJ;;;;;;gGAVU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;;;;;;AAArB,IAAA,KAAA,EAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAJtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAPS,YAAY,EAAA,CAAA,EAAA,CAAA;;2FASX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;8BACC,CAAC,YAAY,CAAC,EAAA,OAAA,EACd,CAAC,sBAAsB,CAAC,EACvB,QAAA,EAAA,mBAAmB,EACjB,UAAA,EAAA,IAAI,EAEN,QAAA,EAAA,CAAA;;AAET,EAAA,CAAA,EAAA,CAAA;8BAGQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,aAAa,EAAA,CAAA;sBAArB,KAAK;;;;;"}