{"version":3,"file":"ngx-bootstrap-tooltip.mjs","sources":["../../../../src/tooltip/tooltip.config.ts","../../../../src/tooltip/tooltip-container.component.ts","../../../../src/tooltip/tooltip.directive.ts","../../../../src/tooltip/tooltip.module.ts","../../../../src/tooltip/ngx-bootstrap-tooltip.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n/** Default values provider for tooltip */\n@Injectable({ providedIn: 'root' })\nexport class TooltipConfig {\n  /** sets disable adaptive position */\n  adaptivePosition = true;\n  /** tooltip placement, supported positions: 'top', 'bottom', 'left', 'right' */\n  placement = 'top';\n  /** array of event names which triggers tooltip opening */\n  triggers = 'hover focus';\n  /** a selector specifying the element the tooltip should be appended to. */\n  container?: string;\n  /** delay before showing the tooltip */\n  delay = 0;\n}\n","import {\n  AfterViewInit,\n  Component,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { TooltipConfig } from './tooltip.config';\nimport { getBsVer, IBsVersion } from 'ngx-bootstrap/utils';\nimport { PlacementForBs5 } from 'ngx-bootstrap/positioning';\n\n@Component({\n  selector: 'bs-tooltip-container',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n  host: {\n    '[class]':\n      '\"show tooltip in tooltip-\" + placement + \" \" + \"bs-tooltip-\" + placement + \" \" + placement + \" \" + containerClass',\n    '[attr.id]': 'this.id',\n    role: 'tooltip'\n  },\n  styles: [\n    `\n    :host.tooltip {\n      display: block;\n      pointer-events: none;\n      position: absolute;\n    }\n\n    :host.tooltip .tooltip-arrow {\n      position: absolute;\n    }\n  `\n  ],\n  template: `\n    <div class=\"tooltip-arrow arrow\"></div>\n    <div class=\"tooltip-inner\"><ng-content></ng-content></div>\n    `\n})\nexport class TooltipContainerComponent implements AfterViewInit {\n  classMap?: { [key: string]: boolean };\n  placement?: string;\n  containerClass?: string;\n  animation?: boolean;\n  id?: string;\n\n  get _bsVersions(): IBsVersion {\n    return getBsVer();\n  }\n\n  constructor(config: TooltipConfig) {\n    Object.assign(this, config);\n  }\n\n  ngAfterViewInit(): void {\n    this.classMap = { in: false, fade: false };\n    if (this.placement) {\n      if (this._bsVersions.isBs5) {\n        this.placement =  PlacementForBs5[this.placement as keyof typeof PlacementForBs5];\n      }\n\n      this.classMap[this.placement] = true;\n    }\n    this.classMap[`tooltip-${this.placement}`] = true;\n\n    this.classMap[\"in\"] = true;\n    if (this.animation) {\n      this.classMap[\"fade\"] = true;\n    }\n\n    if (this.containerClass) {\n      this.classMap[this.containerClass] = true;\n    }\n  }\n}\n","import {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  OnInit,\n  Output,\n  Renderer2,\n  TemplateRef,\n  ViewContainerRef\n} from '@angular/core';\n\nimport { TooltipContainerComponent } from './tooltip-container.component';\nimport { TooltipConfig } from './tooltip.config';\n\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { OnChange, warnOnce, parseTriggers, Trigger } from 'ngx-bootstrap/utils';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\nimport { timer, Subscription } from 'rxjs';\nimport { AvailbleBSPositions } from 'ngx-bootstrap/positioning';\n\nlet id = 0;\n\n@Directive({\n  selector: '[tooltip], [tooltipHtml]',\n  exportAs: 'bs-tooltip'\n})\nexport class TooltipDirective implements OnInit, OnDestroy {\n  tooltipId = id++;\n  /** sets disable adaptive position */\n  @Input() adaptivePosition = true;\n  /**\n   * Content to be displayed as tooltip.\n   */\n  @OnChange()\n  @Input()\n  tooltip?: string | TemplateRef<unknown>;\n  /** Fired when tooltip content changes */\n  @Output()\n  tooltipChange: EventEmitter<string | TemplateRef<unknown>> = new EventEmitter();\n\n  /**\n   * Placement of a tooltip. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n   */\n  @Input() placement: AvailbleBSPositions = 'top';\n  /**\n   * Specifies events that should trigger. Supports a space separated list of\n   * event names.\n   */\n  @Input() triggers = 'hover focus';\n  /**\n   * A selector specifying the element the tooltip should be appended to.\n   */\n  @Input() container?: string;\n  /**\n   * Css class for tooltip container\n   */\n  @Input() containerClass = '';\n  @Input() boundariesElement?: ('viewport' | 'scrollParent' | 'window');\n  /**\n   * Returns whether or not the tooltip is currently being shown\n   */\n  @Input()\n  get isOpen(): boolean {\n    return this._tooltip.isShown;\n  }\n\n  set isOpen(value: boolean) {\n    if (value) {\n      this.show();\n    } else {\n      this.hide();\n    }\n  }\n\n  /**\n   * Allows to disable tooltip\n   */\n  @Input() isDisabled = false;\n\n  /**\n   * Delay before showing the tooltip\n   */\n  @Input() delay = 0;\n\n  /**\n   * Emits an event when the tooltip is shown\n   */\n  @Output() onShown: EventEmitter<unknown>;\n  /**\n   * Emits an event when the tooltip is hidden\n   */\n  @Output() onHidden: EventEmitter<unknown>;\n\n  /** @deprecated - please use `tooltip` instead */\n  @Input('tooltipHtml')\n    set htmlContent(value: string | TemplateRef<unknown>) {\n    warnOnce('tooltipHtml was deprecated, please use `tooltip` instead');\n    this.tooltip = value;\n  }\n\n  /** @deprecated - please use `placement` instead */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  @Input('tooltipPlacement')\n  set _placement(value: AvailbleBSPositions) {\n    warnOnce('tooltipPlacement was deprecated, please use `placement` instead');\n    this.placement = value;\n  }\n\n  /** @deprecated - please use `isOpen` instead */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  @Input('tooltipIsOpen')\n  set _isOpen(value: boolean) {\n    warnOnce('tooltipIsOpen was deprecated, please use `isOpen` instead');\n    this.isOpen = value;\n  }\n\n  get _isOpen(): boolean {\n    warnOnce('tooltipIsOpen was deprecated, please use `isOpen` instead');\n\n    return this.isOpen;\n  }\n\n  /** @deprecated - please use `isDisabled` instead */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  @Input('tooltipEnable')\n  set _enable(value: boolean) {\n    warnOnce('tooltipEnable was deprecated, please use `isDisabled` instead');\n    this.isDisabled = !value;\n  }\n\n  get _enable(): boolean {\n    warnOnce('tooltipEnable was deprecated, please use `isDisabled` instead');\n\n    return this.isDisabled;\n  }\n\n  /** @deprecated - please use `container=\"body\"` instead */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  @Input('tooltipAppendToBody')\n  set _appendToBody(value: boolean) {\n    warnOnce(\n      'tooltipAppendToBody was deprecated, please use `container=\"body\"` instead'\n    );\n    this.container = value ? 'body' : this.container;\n  }\n\n  get _appendToBody(): boolean {\n    warnOnce(\n      'tooltipAppendToBody was deprecated, please use `container=\"body\"` instead'\n    );\n\n    return this.container === 'body';\n  }\n\n  /** @deprecated - removed, will be added to configuration */\n  @Input() tooltipAnimation = true;\n\n  /** @deprecated - will replaced with customClass */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  @Input('tooltipClass')\n  set _popupClass(value: string) {\n    warnOnce('tooltipClass deprecated');\n  }\n\n  /** @deprecated - removed */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  @Input('tooltipContext')\n  set _tooltipContext(value: undefined) {\n    warnOnce('tooltipContext deprecated');\n  }\n\n  /** @deprecated */\n  // eslint-disable-next-line @angular-eslint/no-input-rename\n  @Input('tooltipPopupDelay')\n  set _tooltipPopupDelay(value: number) {\n    warnOnce('tooltipPopupDelay is deprecated, use `delay` instead');\n    this.delay = value;\n  }\n\n  /** @deprecated */\n  @Input() tooltipFadeDuration = 150;\n\n  /** @deprecated -  please use `triggers` instead */\n  @Input('tooltipTrigger')\n  get _tooltipTrigger(): string | string[] {\n    warnOnce('tooltipTrigger was deprecated, please use `triggers` instead');\n\n    return this.triggers;\n  }\n\n  set _tooltipTrigger(value: string | string[]) {\n    warnOnce('tooltipTrigger was deprecated, please use `triggers` instead');\n    this.triggers = (value || '').toString();\n  }\n\n  /** @deprecated */\n  @Output()\n  tooltipStateChanged: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n  protected _delayTimeoutId?: number;\n  protected _tooltipCancelShowFn?: () => void;\n\n  private _tooltip: ComponentLoader<TooltipContainerComponent>;\n  private _delaySubscription?: Subscription;\n  private _ariaDescribedby?: string;\n  constructor(\n    _viewContainerRef: ViewContainerRef,\n    cis: ComponentLoaderFactory,\n    config: TooltipConfig,\n    private _elementRef: ElementRef,\n    private _renderer: Renderer2,\n    private _positionService: PositioningService\n  ) {\n\n    this._tooltip = cis\n      .createLoader<TooltipContainerComponent>(\n        this._elementRef,\n        _viewContainerRef,\n        this._renderer\n      )\n      .provide({provide: TooltipConfig, useValue: config});\n\n    Object.assign(this, config);\n    this.onShown = this._tooltip.onShown;\n    this.onHidden = this._tooltip.onHidden;\n  }\n\n  ngOnInit(): void {\n    this._tooltip.listen({\n      triggers: this.triggers,\n      show: () => this.show()\n    });\n    this.tooltipChange.subscribe((value) => {\n      if (!value) {\n        this._tooltip.hide();\n      }\n    });\n\n    this.onShown.subscribe(() => {\n      this.setAriaDescribedBy();\n    });\n\n    this.onHidden.subscribe(() => {\n      this.setAriaDescribedBy();\n    });\n  }\n\n  setAriaDescribedBy(): void {\n    this._ariaDescribedby = this.isOpen ? `tooltip-${this.tooltipId}` : void 0;\n\n    if (this._ariaDescribedby) {\n      this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ariaDescribedby);\n    } else {\n      this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n    }\n  }\n\n  /**\n   * Toggles an element’s tooltip. This is considered a “manual” triggering of\n   * the tooltip.\n   */\n  toggle(): void {\n    if (this.isOpen) {\n      return this.hide();\n    }\n\n    this.show();\n  }\n\n  /**\n   * Opens an element’s tooltip. This is considered a “manual” triggering of\n   * the tooltip.\n   */\n  show(): void {\n    this._positionService.setOptions({\n      modifiers: {\n        flip: {\n          enabled: this.adaptivePosition\n        },\n        preventOverflow: {\n          enabled: this.adaptivePosition,\n          boundariesElement: this.boundariesElement || 'scrollParent'\n        }\n      }\n    });\n\n    if (\n      this.isOpen ||\n      this.isDisabled ||\n      this._delayTimeoutId ||\n      !this.tooltip\n    ) {\n      return;\n    }\n\n    const showTooltip = () => {\n      if (this._delayTimeoutId) {\n        this._delayTimeoutId = undefined;\n      }\n\n      this._tooltip\n        .attach(TooltipContainerComponent)\n        .to(this.container)\n        .position({attachment: this.placement})\n        .show({\n          content: this.tooltip,\n          placement: this.placement,\n          containerClass: this.containerClass,\n          id: `tooltip-${this.tooltipId}`\n        });\n    };\n    const cancelDelayedTooltipShowing = () => {\n      if (this._tooltipCancelShowFn) {\n        this._tooltipCancelShowFn();\n      }\n    };\n\n    if (this.delay) {\n      if (this._delaySubscription) {\n        this._delaySubscription.unsubscribe();\n      }\n\n      this._delaySubscription = timer(this.delay).subscribe(() => {\n        showTooltip();\n        cancelDelayedTooltipShowing();\n      });\n\n      if (this.triggers) {\n        parseTriggers(this.triggers)\n          .forEach((trigger: Trigger) => {\n            if (!trigger.close) {\n              return;\n            }\n            this._tooltipCancelShowFn = this._renderer.listen(\n              this._elementRef.nativeElement,\n              trigger.close,\n              () => {\n                this._delaySubscription?.unsubscribe();\n                cancelDelayedTooltipShowing();\n              }\n            );\n          });\n      }\n    } else {\n      showTooltip();\n    }\n  }\n\n  /**\n   * Closes an element’s tooltip. This is considered a “manual” triggering of\n   * the tooltip.\n   */\n  hide(): void {\n    if (this._delayTimeoutId) {\n      clearTimeout(this._delayTimeoutId);\n      this._delayTimeoutId = undefined;\n    }\n\n    if (!this._tooltip.isShown) {\n      return;\n    }\n\n    if (this._tooltip.instance?.classMap) {\n      this._tooltip.instance.classMap[\"in\"] = false;\n    }\n\n    setTimeout(() => {\n      this._tooltip.hide();\n    }, this.tooltipFadeDuration);\n  }\n\n  ngOnDestroy(): void {\n    this._tooltip.dispose();\n    this.tooltipChange.unsubscribe();\n    if (this._delaySubscription) {\n      this._delaySubscription.unsubscribe();\n    }\n    this.onShown.unsubscribe();\n    this.onHidden.unsubscribe();\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { TooltipContainerComponent } from './tooltip-container.component';\nimport { TooltipDirective } from './tooltip.directive';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\n\n@NgModule({\n    imports: [CommonModule],\n    declarations: [TooltipDirective, TooltipContainerComponent],\n    exports: [TooltipDirective]\n})\nexport class TooltipModule {\n  static forRoot(): ModuleWithProviders<TooltipModule> {\n    return {\n      ngModule: TooltipModule,\n      providers: [ComponentLoaderFactory, PositioningService]\n    };\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TooltipConfig","i2.TooltipConfig"],"mappings":";;;;;;;;;;;AAEA;MAEa,aAAa,CAAA;AAD1B,IAAA,WAAA,GAAA;;QAGE,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;;QAExB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;QAElB,IAAQ,CAAA,QAAA,GAAG,aAAa,CAAC;;QAIzB,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;AACX,KAAA;8GAXY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADA,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCkCrB,yBAAyB,CAAA;AAOpC,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,QAAQ,EAAE,CAAC;KACnB;AAED,IAAA,WAAA,CAAY,MAAqB,EAAA;AAC/B,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC7B;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;gBAC1B,IAAI,CAAC,SAAS,GAAI,eAAe,CAAC,IAAI,CAAC,SAAyC,CAAC,CAAC;AACnF,aAAA;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AACtC,SAAA;QACD,IAAI,CAAC,QAAQ,CAAC,CAAW,QAAA,EAAA,IAAI,CAAC,SAAS,CAAE,CAAA,CAAC,GAAG,IAAI,CAAC;AAElD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3B,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAC9B,SAAA;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;AAC3C,SAAA;KACF;8GAlCU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,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,EAL1B,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,6HAAA,EAAA,SAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;AAGP,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qHAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAEQ,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA5BrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACf,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAEzC,IAAA,EAAA;AACJ,wBAAA,SAAS,EACP,mHAAmH;AACrH,wBAAA,WAAW,EAAE,SAAS;AACtB,wBAAA,IAAI,EAAE,SAAS;qBAChB,EAcS,QAAA,EAAA,CAAA;;;AAGP,IAAA,CAAA,EAAA,MAAA,EAAA,CAAA,qHAAA,CAAA,EAAA,CAAA;;;ACZL,IAAI,EAAE,GAAG,CAAC,CAAC;MAME,gBAAgB,CAAA;AAgC3B;;AAEG;AACH,IAAA,IACI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC9B;IAED,IAAI,MAAM,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,IAAI,EAAE,CAAC;AACb,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,IAAI,EAAE,CAAC;AACb,SAAA;KACF;;IAsBD,IACM,WAAW,CAAC,KAAoC,EAAA;QACpD,QAAQ,CAAC,0DAA0D,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;;;IAID,IACI,UAAU,CAAC,KAA0B,EAAA;QACvC,QAAQ,CAAC,iEAAiE,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KACxB;;;IAID,IACI,OAAO,CAAC,KAAc,EAAA;QACxB,QAAQ,CAAC,2DAA2D,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;AAED,IAAA,IAAI,OAAO,GAAA;QACT,QAAQ,CAAC,2DAA2D,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;;;IAID,IACI,OAAO,CAAC,KAAc,EAAA;QACxB,QAAQ,CAAC,+DAA+D,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC;KAC1B;AAED,IAAA,IAAI,OAAO,GAAA;QACT,QAAQ,CAAC,+DAA+D,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;;;IAID,IACI,aAAa,CAAC,KAAc,EAAA;QAC9B,QAAQ,CACN,2EAA2E,CAC5E,CAAC;AACF,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;KAClD;AAED,IAAA,IAAI,aAAa,GAAA;QACf,QAAQ,CACN,2EAA2E,CAC5E,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC;KAClC;;;IAOD,IACI,WAAW,CAAC,KAAa,EAAA;QAC3B,QAAQ,CAAC,yBAAyB,CAAC,CAAC;KACrC;;;IAID,IACI,eAAe,CAAC,KAAgB,EAAA;QAClC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;KACvC;;;IAID,IACI,kBAAkB,CAAC,KAAa,EAAA;QAClC,QAAQ,CAAC,sDAAsD,CAAC,CAAC;AACjE,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;;AAMD,IAAA,IACI,eAAe,GAAA;QACjB,QAAQ,CAAC,8DAA8D,CAAC,CAAC;QAEzE,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAED,IAAI,eAAe,CAAC,KAAwB,EAAA;QAC1C,QAAQ,CAAC,8DAA8D,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;KAC1C;IAYD,WACE,CAAA,iBAAmC,EACnC,GAA2B,EAC3B,MAAqB,EACb,WAAuB,EACvB,SAAoB,EACpB,gBAAoC,EAAA;QAFpC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACpB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAoB;QAxL9C,IAAS,CAAA,SAAA,GAAG,EAAE,EAAE,CAAC;;QAER,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;;AASjC,QAAA,IAAA,CAAA,aAAa,GAAgD,IAAI,YAAY,EAAE,CAAC;AAEhF;;AAEG;QACM,IAAS,CAAA,SAAA,GAAwB,KAAK,CAAC;AAChD;;;AAGG;QACM,IAAQ,CAAA,QAAA,GAAG,aAAa,CAAC;AAKlC;;AAEG;QACM,IAAc,CAAA,cAAA,GAAG,EAAE,CAAC;AAkB7B;;AAEG;QACM,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAE5B;;AAEG;QACM,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;;QAyEV,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;;QAyBxB,IAAmB,CAAA,mBAAA,GAAG,GAAG,CAAC;;AAiBnC,QAAA,IAAA,CAAA,mBAAmB,GAA0B,IAAI,YAAY,EAAW,CAAC;QAiBvE,IAAI,CAAC,QAAQ,GAAG,GAAG;aAChB,YAAY,CACX,IAAI,CAAC,WAAW,EAChB,iBAAiB,EACjB,IAAI,CAAC,SAAS,CACf;aACA,OAAO,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;AAEvD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACxC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE;AACxB,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;YACrC,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACtB,aAAA;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAK;YAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;KACJ;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,KAAK,CAAC,CAAC;QAE3E,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACxG,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AACpF,SAAA;KACF;AAED;;;AAGG;IACH,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;AACpB,SAAA;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;AAED;;;AAGG;IACH,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;AAC/B,YAAA,SAAS,EAAE;AACT,gBAAA,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,CAAC,gBAAgB;AAC/B,iBAAA;AACD,gBAAA,eAAe,EAAE;oBACf,OAAO,EAAE,IAAI,CAAC,gBAAgB;AAC9B,oBAAA,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,cAAc;AAC5D,iBAAA;AACF,aAAA;AACF,SAAA,CAAC,CAAC;QAEH,IACE,IAAI,CAAC,MAAM;AACX,YAAA,IAAI,CAAC,UAAU;AACf,YAAA,IAAI,CAAC,eAAe;YACpB,CAAC,IAAI,CAAC,OAAO,EACb;YACA,OAAO;AACR,SAAA;QAED,MAAM,WAAW,GAAG,MAAK;YACvB,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,gBAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;AAClC,aAAA;AAED,YAAA,IAAI,CAAC,QAAQ;iBACV,MAAM,CAAC,yBAAyB,CAAC;AACjC,iBAAA,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;iBAClB,QAAQ,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAC,CAAC;AACtC,iBAAA,IAAI,CAAC;gBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,cAAc,EAAE,IAAI,CAAC,cAAc;AACnC,gBAAA,EAAE,EAAE,CAAA,QAAA,EAAW,IAAI,CAAC,SAAS,CAAE,CAAA;AAChC,aAAA,CAAC,CAAC;AACP,SAAC,CAAC;QACF,MAAM,2BAA2B,GAAG,MAAK;YACvC,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC7B,aAAA;AACH,SAAC,CAAC;QAEF,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,gBAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;AACvC,aAAA;AAED,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAK;AACzD,gBAAA,WAAW,EAAE,CAAC;AACd,gBAAA,2BAA2B,EAAE,CAAC;AAChC,aAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;AACzB,qBAAA,OAAO,CAAC,CAAC,OAAgB,KAAI;AAC5B,oBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;wBAClB,OAAO;AACR,qBAAA;oBACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAC/C,IAAI,CAAC,WAAW,CAAC,aAAa,EAC9B,OAAO,CAAC,KAAK,EACb,MAAK;AACH,wBAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,CAAC;AACvC,wBAAA,2BAA2B,EAAE,CAAC;AAChC,qBAAC,CACF,CAAC;AACJ,iBAAC,CAAC,CAAC;AACN,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,WAAW,EAAE,CAAC;AACf,SAAA;KACF;AAED;;;AAGG;IACH,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACnC,YAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;AAClC,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC1B,OAAO;AACR,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC/C,SAAA;QAED,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACvB,SAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAC9B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;AACvC,SAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KAC7B;8GAjWU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,CAAA,EAAA,UAAA,EAAA,CAAA,kBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,SAAA,CAAA,EAAA,aAAA,EAAA,CAAA,qBAAA,EAAA,eAAA,CAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,CAAA,cAAA,EAAA,aAAA,CAAA,EAAA,eAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,mBAAA,EAAA,oBAAA,CAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;AAS3B,UAAA,CAAA;AAFC,IAAA,QAAQ,EAAE;;AAE6B,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAT7B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE,YAAY;AACvB,iBAAA,CAAA;uPAIU,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAMN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAIN,aAAa,EAAA,CAAA;sBADZ,MAAM;gBAME,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAIG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAIG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAKF,MAAM,EAAA,CAAA;sBADT,KAAK;gBAgBG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKI,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAIG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAID,WAAW,EAAA,CAAA;sBADhB,KAAK;uBAAC,aAAa,CAAA;gBAShB,UAAU,EAAA,CAAA;sBADb,KAAK;uBAAC,kBAAkB,CAAA;gBASrB,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,eAAe,CAAA;gBAelB,OAAO,EAAA,CAAA;sBADV,KAAK;uBAAC,eAAe,CAAA;gBAelB,aAAa,EAAA,CAAA;sBADhB,KAAK;uBAAC,qBAAqB,CAAA;gBAiBnB,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAKF,WAAW,EAAA,CAAA;sBADd,KAAK;uBAAC,cAAc,CAAA;gBAQjB,eAAe,EAAA,CAAA;sBADlB,KAAK;uBAAC,gBAAgB,CAAA;gBAQnB,kBAAkB,EAAA,CAAA;sBADrB,KAAK;uBAAC,mBAAmB,CAAA;gBAOjB,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBAIF,eAAe,EAAA,CAAA;sBADlB,KAAK;uBAAC,gBAAgB,CAAA;gBAcvB,mBAAmB,EAAA,CAAA;sBADlB,MAAM;;;MC3LI,aAAa,CAAA;AACxB,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,SAAS,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;SACxD,CAAC;KACH;8GANU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,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,aAAa,iBAHP,gBAAgB,EAAE,yBAAyB,CADhD,EAAA,OAAA,EAAA,CAAA,YAAY,aAEZ,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEjB,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,aAAa,YAJZ,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIb,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;oBAC3D,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC9B,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}