{"version":3,"file":"ngx-bootstrap-popover.mjs","sources":["../../../../src/popover/popover.config.ts","../../../../src/popover/popover-container.component.ts","../../../../src/popover/popover-container.component.html","../../../../src/popover/popover.directive.ts","../../../../src/popover/popover.module.ts","../../../../src/popover/ngx-bootstrap-popover.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n/**\n * Configuration service for the Popover directive.\n * You can inject this service, typically in your root component, and customize\n * the values of its properties in order to provide default values for all the\n * popovers used in the application.\n */\n@Injectable({\n  providedIn: 'root'\n})\nexport class PopoverConfig {\n  /** sets disable adaptive position */\n  adaptivePosition = true;\n  /**\n   * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\", \"auto\"\n   */\n  placement = 'top';\n  /**\n   * Specifies events that should trigger. Supports a space separated list of\n   * event names.\n   */\n  triggers = 'click';\n\n  outsideClick = false;\n  /**\n   * A selector specifying the element the popover should be appended to.\n   */\n  container?: string;\n  /** delay before showing the tooltip */\n  delay = 0;\n\n  boundariesElement?:string;\n}\n","import { ChangeDetectionStrategy, Input, Component } from '@angular/core';\nimport { PopoverConfig } from './popover.config';\nimport { getBsVer, IBsVersion } from 'ngx-bootstrap/utils';\nimport { PlacementForBs5, checkMargins, AvailableBSPositions } from 'ngx-bootstrap/positioning';\n\n@Component({\n  selector: 'popover-container',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n  host: {\n    '[attr.id]': 'popoverId',\n    '[class]':\n      '\"popover in popover-\" + _placement + \" \" + \"bs-popover-\" + _placement + \" \" + _placement + \" \" + containerClass + \" \" + checkMarginNecessity()',\n    '[class.show]': '!_bsVersions.isBs3',\n    '[class.bs3]': '_bsVersions.isBs3',\n    role: 'tooltip',\n    style: 'display:block; position:absolute'\n  },\n  styles: [\n    `\n      :host.popover.bottom > .arrow {\n        margin-left: -4px;\n      }\n\n      :host .popover-arrow {\n        position: absolute;\n      }\n    `\n  ],\n  templateUrl: './popover-container.component.html'\n})\nexport class PopoverContainerComponent {\n  @Input() set placement(value: AvailableBSPositions) {\n    if (!this._bsVersions.isBs5) {\n      this._placement = value;\n    } else {\n      this._placement = PlacementForBs5[value as keyof typeof PlacementForBs5];\n    }\n  }\n\n  @Input() title?: string;\n\n  containerClass?: string;\n  popoverId?: string;\n  _placement: AvailableBSPositions = 'top';\n\n  get _bsVersions(): IBsVersion {\n    return getBsVer();\n  }\n\n  constructor(config: PopoverConfig) {\n    Object.assign(this, config);\n  }\n\n  checkMarginNecessity(): string {\n    return checkMargins(this._placement);\n  }\n}\n","<div class=\"popover-arrow arrow\"></div>\n<h3 class=\"popover-title popover-header\" *ngIf=\"title\">{{ title }}</h3>\n<div class=\"popover-content popover-body\">\n  <ng-content></ng-content>\n</div>\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';\nimport { PopoverConfig } from './popover.config';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PopoverContainerComponent } from './popover-container.component';\nimport { PositioningService, AvailableBSPositions } from 'ngx-bootstrap/positioning';\nimport { timer } from 'rxjs';\nimport { parseTriggers, Trigger } from 'ngx-bootstrap/utils';\n\nlet id = 0;\n\n/**\n * A lightweight, extensible directive for fancy popover creation.\n */\n@Directive({ selector: '[popover]', exportAs: 'bs-popover' })\nexport class PopoverDirective implements OnInit, OnDestroy {\n  /** unique id popover - use for aria-describedby */\n  popoverId = id++;\n  /** sets disable adaptive position */\n  @Input() adaptivePosition = true;\n\n  @Input() boundariesElement?: 'viewport' | 'scrollParent' | 'window';\n  /**\n   * Content to be displayed as popover.\n   */\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  @Input() popover?: string | TemplateRef<any>;\n  /**\n   * Context to be used if popover is a template.\n   */\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  @Input() popoverContext: any;\n  /**\n   * Title of a popover.\n   */\n  @Input() popoverTitle?: string;\n  /**\n   * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n   */\n  @Input() placement: AvailableBSPositions = 'top';\n  /**\n   * Close popover on outside click\n   */\n  @Input() outsideClick = false;\n  /**\n   * Specifies events that should trigger. Supports a space separated list of\n   * event names.\n   */\n  @Input() triggers = 'click';\n  /**\n   * A selector specifying the element the popover should be appended to.\n   */\n  @Input() container?: string;\n\n  /**\n   * Css class for popover container\n   */\n  @Input() containerClass = '';\n\n  /**\n   * Returns whether or not the popover is currently being shown\n   */\n  @Input()\n  get isOpen(): boolean {\n    return this._popover.isShown;\n  }\n\n  set isOpen(value: boolean) {\n    if (value) {\n      this.show();\n    } else {\n      this.hide();\n    }\n  }\n\n  /**\n   * Delay before showing the tooltip\n   */\n  @Input() delay = 0;\n\n  /**\n   * Emits an event when the popover is shown\n   */\n  @Output() onShown: EventEmitter<unknown>;\n  /**\n   * Emits an event when the popover is hidden\n   */\n  @Output() onHidden: EventEmitter<unknown>;\n\n  protected _popoverCancelShowFn?: () => void;\n\n  protected _delayTimeoutId?: number;\n\n  private _popover: ComponentLoader<PopoverContainerComponent>;\n  private _isInited = false;\n  private _ariaDescribedby?: string;\n\n  constructor(\n    _config: PopoverConfig,\n    private _elementRef: ElementRef,\n    private _renderer: Renderer2,\n    _viewContainerRef: ViewContainerRef,\n    cis: ComponentLoaderFactory,\n    private _positionService: PositioningService\n  ) {\n    this._popover = cis\n      .createLoader<PopoverContainerComponent>(_elementRef, _viewContainerRef, _renderer)\n      .provide({ provide: PopoverConfig, useValue: _config });\n\n    Object.assign(this, _config);\n\n    this.onShown = this._popover.onShown;\n    this.onHidden = this._popover.onHidden;\n\n    // fix: no focus on button on Mac OS #1795\n    if (typeof window !== 'undefined') {\n      _elementRef.nativeElement.addEventListener('click', function () {\n        try {\n          _elementRef.nativeElement.focus();\n        } catch (err) {\n          return;\n        }\n      });\n    }\n  }\n\n  /**\n   * Set attribute aria-describedBy for element directive and\n   * set id for the popover\n   */\n  setAriaDescribedBy(): void {\n    this._ariaDescribedby = this.isOpen ? `ngx-popover-${this.popoverId}` : void 0;\n    if (this._ariaDescribedby) {\n      if (this._popover.instance) {\n        this._popover.instance.popoverId = this._ariaDescribedby;\n      }\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   * Opens an element’s popover. This is considered a “manual” triggering of\n   * the popover.\n   */\n  show(): void {\n    if (this._popover.isShown || !this.popover || this._delayTimeoutId) {\n      return;\n    }\n\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    const showPopover = () => {\n      if (this._delayTimeoutId) {\n        this._delayTimeoutId = undefined;\n      }\n\n      this._popover.attach(PopoverContainerComponent).to(this.container).position({ attachment: this.placement }).show({\n        content: this.popover,\n        context: this.popoverContext,\n        placement: this.placement,\n        title: this.popoverTitle,\n        containerClass: this.containerClass\n      });\n\n      if (!this.adaptivePosition && this._popover._componentRef) {\n        this._positionService.calcPosition();\n        this._positionService.deletePositionElement(this._popover._componentRef.location);\n      }\n\n      this.isOpen = true;\n      this.setAriaDescribedBy();\n    };\n\n    const cancelDelayedTooltipShowing = () => {\n      if (this._popoverCancelShowFn) {\n        this._popoverCancelShowFn();\n      }\n    };\n\n    if (this.delay) {\n      const _timer = timer(this.delay).subscribe(() => {\n        showPopover();\n        cancelDelayedTooltipShowing();\n      });\n\n      if (this.triggers) {\n        parseTriggers(this.triggers).forEach((trigger: Trigger) => {\n          if (!trigger.close) {\n            return;\n          }\n\n          this._popoverCancelShowFn = this._renderer.listen(this._elementRef.nativeElement, trigger.close, () => {\n            _timer.unsubscribe();\n            cancelDelayedTooltipShowing();\n          });\n        });\n      }\n    } else {\n      showPopover();\n    }\n  }\n\n  /**\n   * Closes an element’s popover. This is considered a “manual” triggering of\n   * the popover.\n   */\n  hide(): void {\n    if (this._delayTimeoutId) {\n      clearTimeout(this._delayTimeoutId);\n      this._delayTimeoutId = undefined;\n    }\n\n    if (this.isOpen) {\n      this._popover.hide();\n      this.setAriaDescribedBy();\n      this.isOpen = false;\n    }\n  }\n\n  /**\n   * Toggles an element’s popover. This is considered a “manual” triggering of\n   * the popover.\n   */\n  toggle(): void {\n    if (this.isOpen) {\n      return this.hide();\n    }\n\n    this.show();\n  }\n\n  ngOnInit(): void {\n    // fix: seems there are an issue with `routerLinkActive`\n    // which result in duplicated call ngOnInit without call to ngOnDestroy\n    // read more: https://github.com/valor-software/ngx-bootstrap/issues/1885\n    if (this._isInited) {\n      return;\n    }\n    this._isInited = true;\n\n    this._popover.listen({\n      triggers: this.triggers,\n      outsideClick: this.outsideClick,\n      show: () => this.show(),\n      hide: () => this.hide()\n    });\n  }\n\n  ngOnDestroy(): void {\n    this._popover.dispose();\n  }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { PopoverDirective } from './popover.directive';\nimport { PopoverContainerComponent } from './popover-container.component';\n\n@NgModule({\n    imports: [CommonModule],\n    declarations: [PopoverDirective, PopoverContainerComponent],\n    exports: [PopoverDirective]\n})\nexport class PopoverModule {\n  static forRoot(): ModuleWithProviders<PopoverModule> {\n    return {\n      ngModule: PopoverModule,\n      providers: [ComponentLoaderFactory, PositioningService]\n    };\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.PopoverConfig","i2"],"mappings":";;;;;;;;;;;AAEA;;;;;AAKG;MAIU,aAAa,CAAA;AAH1B,IAAA,WAAA,GAAA;;QAKE,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AACxB;;AAEG;QACH,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAClB;;;AAGG;QACH,IAAQ,CAAA,QAAA,GAAG,OAAO,CAAC;QAEnB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;;QAMrB,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;AAGX,KAAA;8GAtBY,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,cAFZ,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCqBY,yBAAyB,CAAA;IACpC,IAAa,SAAS,CAAC,KAA2B,EAAA;AAChD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACzB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,KAAqC,CAAC,CAAC;AAC1E,SAAA;KACF;AAQD,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,QAAQ,EAAE,CAAC;KACnB;AAED,IAAA,WAAA,CAAY,MAAqB,EAAA;QANjC,IAAU,CAAA,UAAA,GAAyB,KAAK,CAAC;AAOvC,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC7B;IAED,oBAAoB,GAAA;AAClB,QAAA,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACtC;8GAzBU,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,meC/BtC,6MAKA,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FD0Ba,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA1BrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACZ,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAEzC,IAAA,EAAA;AACJ,wBAAA,WAAW,EAAE,WAAW;AACxB,wBAAA,SAAS,EACP,gJAAgJ;AAClJ,wBAAA,cAAc,EAAE,oBAAoB;AACpC,wBAAA,aAAa,EAAE,mBAAmB;AAClC,wBAAA,IAAI,EAAE,SAAS;AACf,wBAAA,KAAK,EAAE,kCAAkC;AAC1C,qBAAA,EAAA,QAAA,EAAA,6MAAA,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA,CAAA;+EAeY,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAQG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;AErBR,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX;;AAEG;MAEU,gBAAgB,CAAA;AA4C3B;;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;IAwBD,WACE,CAAA,OAAsB,EACd,WAAuB,EACvB,SAAoB,EAC5B,iBAAmC,EACnC,GAA2B,EACnB,gBAAoC,EAAA;QAJpC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAGpB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAoB;;QAtF9C,IAAS,CAAA,SAAA,GAAG,EAAE,EAAE,CAAC;;QAER,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AAiBjC;;AAEG;QACM,IAAS,CAAA,SAAA,GAAyB,KAAK,CAAC;AACjD;;AAEG;QACM,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAC9B;;;AAGG;QACM,IAAQ,CAAA,QAAA,GAAG,OAAO,CAAC;AAM5B;;AAEG;QACM,IAAc,CAAA,cAAA,GAAG,EAAE,CAAC;AAkB7B;;AAEG;QACM,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;QAgBX,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAWxB,IAAI,CAAC,QAAQ,GAAG,GAAG;AAChB,aAAA,YAAY,CAA4B,WAAW,EAAE,iBAAiB,EAAE,SAAS,CAAC;aAClF,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAE1D,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;;AAGvC,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,YAAA,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAA;gBAClD,IAAI;AACF,oBAAA,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AACnC,iBAAA;AAAC,gBAAA,OAAO,GAAG,EAAE;oBACZ,OAAO;AACR,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;AAED;;;AAGG;IACH,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,KAAK,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAC1D,aAAA;AACD,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,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE;YAClE,OAAO;AACR,SAAA;AAED,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,MAAM,WAAW,GAAG,MAAK;YACvB,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,gBAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;AAClC,aAAA;YAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;gBAC/G,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,cAAc;gBAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,cAAc,EAAE,IAAI,CAAC,cAAc;AACpC,aAAA,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;AACzD,gBAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;AACrC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACnF,aAAA;AAED,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC5B,SAAC,CAAC;QAEF,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;AACd,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAK;AAC9C,gBAAA,WAAW,EAAE,CAAC;AACd,gBAAA,2BAA2B,EAAE,CAAC;AAChC,aAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAgB,KAAI;AACxD,oBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;wBAClB,OAAO;AACR,qBAAA;oBAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,MAAK;wBACpG,MAAM,CAAC,WAAW,EAAE,CAAC;AACrB,wBAAA,2BAA2B,EAAE,CAAC;AAChC,qBAAC,CAAC,CAAC;AACL,iBAAC,CAAC,CAAC;AACJ,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;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACrB,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;IAED,QAAQ,GAAA;;;;QAIN,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAEtB,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;AAC/B,YAAA,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE;AACvB,YAAA,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE;AACxB,SAAA,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;KACzB;8GAvPU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,sBAAA,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,WAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAA;uOAKjD,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAEG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAIG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAIG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAIG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAIG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAMF,MAAM,EAAA,CAAA;sBADT,KAAK;gBAgBG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKI,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAIG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;;;MCpFI,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;;;ACZD;;AAEG;;;;"}