{"version":3,"file":"ng-devui-tabs.mjs","sources":["../../devui/tabs/tab-closeable-pipe.ts","../../devui/tabs/tab-content.directive.ts","../../devui/tabs/tab-title.directive.ts","../../devui/tabs/tab.component.ts","../../devui/tabs/tabs.component.ts","../../devui/tabs/tabs.component.html","../../devui/tabs/tabs.module.ts","../../devui/tabs/ng-devui-tabs.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { TabComponent } from './tab.component';\n\n@Pipe({\n  name: 'dTabCloseablePipe',\n})\nexport class TabCloseablePipe implements PipeTransform {\n  transform(tab: TabComponent, closeable: boolean, closeableIds: any[]): boolean {\n    if (closeable) {\n      tab.closeable = !tab.disabled && closeable && (closeableIds.length === 0 || closeableIds.includes(tab.id));\n    }\n    return closeable ? tab.closeable : false;\n  }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n  selector: '[dTabContent]',\n})\nexport class TabContentDirective {\n  constructor(public templateRef: TemplateRef<any>) {\n  }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n  selector: '[dTabTitle]',\n})\nexport class TabTitleDirective {\n  constructor(public templateRef: TemplateRef<any>) {\n  }\n}\n","import { Component, ContentChild, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { TabContentDirective } from './tab-content.directive';\nimport { TabTitleDirective } from './tab-title.directive';\n\n@Component({\n  selector: 'd-tab',\n  template: `<ng-template #innerContent><ng-content></ng-content></ng-template>`,\n  preserveWhitespaces: false,\n})\nexport class TabComponent {\n  /**\n   * @deprecated\n   * 用id替代\n   */\n  @Input() set tabId(value) {\n    this.id = value;\n  }\n  @Input() id: number | string;\n  @Input() title: string;\n  @Input() disabled = false;\n  /**\n   * @deprecated\n   * 内容直接写在标签内\n   */\n  @ContentChild(TabContentDirective) contentTpl: TabContentDirective;\n  @ContentChild(TabTitleDirective) titleTpl: TabTitleDirective;\n  @ViewChild('innerContent', { static: true }) innerContent: TemplateRef<any>;\n  // 是否显示关闭按钮，由父层tabs控制\n  closeable: boolean;\n}\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ContentChildren,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  Output,\r\n  QueryList,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { sum } from 'lodash-es';\r\nimport { Observable } from 'rxjs';\r\nimport { TabComponent } from './tab.component';\r\n\r\nexport interface ITabOperation {\r\n  id: number | string;\r\n  operation: string;\r\n}\r\n\r\n@Component({\r\n  selector: 'd-tabs',\r\n  templateUrl: './tabs.component.html',\r\n  styleUrls: ['./tabs.component.scss'],\r\n  exportAs: 'tabs',\r\n  preserveWhitespaces: false,\r\n})\r\nexport class TabsComponent implements OnChanges, AfterViewInit {\r\n  static ID_SEED = 0;\r\n  @ViewChild('tabsEle') tabsEle: ElementRef;\r\n  @ViewChild('tabsViewport') tabsViewport: ElementRef;\r\n  @Input() type: 'tabs' | 'pills' | 'options' | 'wrapped' | 'slider' = 'tabs';\r\n  @Input() size: 'lg' | 'md' | 'sm' | 'xs' = 'md';\r\n  @Input() showContent = true;\r\n  @Input() scrollMode: boolean | 'normal' | 'auto' = false;\r\n  @Input() activeTab: number | string;\r\n  @Input() customWidth: string;\r\n  @Input() reactivable = false;\r\n  @Input() closeable = false;\r\n  @Input() closeableIds = [];\r\n  @Input() addable = false;\r\n  @Input() addTabTpl: TemplateRef<any>;\r\n  @Input() scrollModeOperationTpl: TemplateRef<any>;\r\n  /**\r\n   * @todo\r\n   * 待重新设计\r\n   */\r\n  @Input() vertical = false;\r\n  /**\r\n   * @deprecated\r\n   * class设置无需内层，外层即可\r\n   */\r\n  @Input() cssClass: string;\r\n  @Input() isHidden = false;\r\n  @Input() beforeChange: (currentValue, previousValue) => boolean | Promise<boolean> | Observable<boolean>;\r\n  @ContentChildren(TabComponent) tabs: QueryList<TabComponent>;\r\n  @Output() activeTabChange = new EventEmitter<number | string>();\r\n  @Output() addOrDeleteTabChange = new EventEmitter<ITabOperation>();\r\n  id: string;\r\n  offsetIndex = 0;\r\n  offsetLeft: number;\r\n  offsetWidth: number;\r\n  scrollModeToggle = false;\r\n  tabsWidth = [];\r\n  ARROW_DROPDOWN_WIDTH = 128; // 两边箭头和下拉菜单按钮的宽度 48 + 32 + 48\r\n\r\n  get isShowShadow() {\r\n    return this.scrollModeToggle && ['tabs', 'pills', 'wrapped'].includes(this.type);\r\n  }\r\n\r\n  constructor(private el: ElementRef, private cdr: ChangeDetectorRef) {\r\n    this.id = `devuiTabs${TabsComponent.ID_SEED++}`;\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const { activeTab, scrollMode } = changes;\r\n    if (scrollMode) {\r\n      this.getTabsWidth();\r\n    }\r\n    if (activeTab) {\r\n      this.changeActiveSlidingBlock();\r\n      if (this.scrollModeToggle && this.tabsEle && this.tabs) {\r\n        const tabs = this.tabsEle.nativeElement.querySelectorAll('li.devui-nav-tab-item');\r\n        const index = Array.from(this.tabs).findIndex((item) => item.id === this.activeTab);\r\n        this.offsetIndex = index;\r\n        this.scrollIntoView(tabs[index]);\r\n      }\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    if (this.tabs.length) {\r\n      if (this.activeTab === undefined) {\r\n        // 无选中页签则默认选择第一个未被禁用的页签\r\n        const { id } = this.tabs.find((item) => !item.disabled);\r\n        this.select(id);\r\n      } else {\r\n        this.changeActiveSlidingBlock();\r\n      }\r\n    }\r\n    this.getTabsWidth();\r\n    this.tabs.changes.subscribe(() => {\r\n      this.changeActiveSlidingBlock();\r\n      // 延时等待tabs渲染完毕\r\n      setTimeout(() => this.getTabsWidth());\r\n    });\r\n  }\r\n\r\n  changeActiveSlidingBlock(): void {\r\n    if (this.type === 'slider' && this.tabsEle) {\r\n      // 延时等待active样式切换至正确的tab\r\n      setTimeout(() => {\r\n        const tabEle = this.tabsEle.nativeElement.querySelector(`#${this.id} li.active`);\r\n        if (tabEle) {\r\n          const leftFix = this.scrollModeToggle ? this.tabsEle.nativeElement.scrollLeft : 0;\r\n          this.offsetLeft = tabEle.getBoundingClientRect().left + leftFix - this.tabsEle.nativeElement.getBoundingClientRect().left;\r\n          this.offsetWidth = tabEle.getBoundingClientRect().width;\r\n          this.cdr.detectChanges();\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  canChange(currentTab: number | string): Promise<boolean> {\r\n    let changeResult = Promise.resolve(true);\r\n\r\n    if (this.beforeChange) {\r\n      const result: any = this.beforeChange(currentTab, this.activeTab);\r\n      if (typeof result !== 'undefined') {\r\n        if (result.then) {\r\n          changeResult = result;\r\n        } else if (result.subscribe) {\r\n          changeResult = (result as Observable<boolean>).toPromise();\r\n        } else {\r\n          changeResult = Promise.resolve(result);\r\n        }\r\n      }\r\n    }\r\n\r\n    return changeResult;\r\n  }\r\n\r\n  select(id: number | string, callback?: Function): void {\r\n    if (!this.reactivable && this.activeTab === id) {\r\n      return;\r\n    }\r\n    this.canChange(id).then((change) => {\r\n      if (!change) {\r\n        return;\r\n      }\r\n      const tab = this.tabs.find((item) => item.id === id);\r\n      if (tab && !tab.disabled) {\r\n        this.activeTab = id;\r\n        this.changeActiveSlidingBlock();\r\n        if (callback) {\r\n          callback();\r\n        }\r\n        this.activeTabChange.emit(id);\r\n      }\r\n    });\r\n  }\r\n\r\n  addOrDeleteTab(event: Event, id?: number | string): void {\r\n    event.stopPropagation();\r\n    const operation = id || id === 0 ? 'delete' : 'add';\r\n    this.addOrDeleteTabChange.emit({ id, operation });\r\n  }\r\n\r\n  getTabsWidth(): void {\r\n    if (this.scrollMode && this.tabsViewport && this.tabsEle) {\r\n      let tabsWidthSum = 0;\r\n      const tabs = this.tabsEle.nativeElement.querySelectorAll('li.devui-nav-tab-item');\r\n      this.tabsWidth = [];\r\n      tabs.forEach((tab) => {\r\n        let width = tab.offsetWidth;\r\n        const style = getComputedStyle(tab);\r\n        const marginLeft = parseFloat(style.marginLeft);\r\n        const marginRight = parseFloat(style.marginRight);\r\n        width += marginLeft > 0 ? marginLeft : 0;\r\n        width += marginRight > 0 ? marginRight : 0;\r\n        tabsWidthSum += width;\r\n        this.tabsWidth.push(width);\r\n      });\r\n      // 延时赋值避免脏值检查错误\r\n      setTimeout(() => {\r\n        const fixWidth = this.el.nativeElement.clientWidth - this.ARROW_DROPDOWN_WIDTH;\r\n        this.scrollModeToggle = this.scrollMode === 'auto' ? tabsWidthSum > fixWidth : !!this.scrollMode;\r\n        if (this.scrollModeToggle && this.activeTab && this.tabs) {\r\n          const data = this.tabs.toArray();\r\n          const index = data.findIndex((item) => item.id === this.activeTab);\r\n          const tab = data[index];\r\n          this.scroll(null, index, tab, true);\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  scroll(direction?: string, index?: number, tab?: TabComponent, isInitScrollMode?: boolean): void {\r\n    if (this.scrollModeToggle && this.tabsEle) {\r\n      const tabs = this.tabsEle.nativeElement.querySelectorAll('li.devui-nav-tab-item');\r\n      const containerWidth = this.tabsEle.nativeElement.scrollWidth;\r\n      const scrollLeft = this.tabsEle.nativeElement.scrollLeft;\r\n      const viewportWidth = this.tabsViewport.nativeElement.offsetWidth;\r\n      if (direction) {\r\n        const distance = direction === 'next' ? scrollLeft + viewportWidth : scrollLeft - viewportWidth;\r\n        let width = 0;\r\n        for (let i = 0; i < this.tabsWidth.length; i++) {\r\n          width += this.tabsWidth[i];\r\n          if (width >= distance) {\r\n            const lastIndex = containerWidth - width < viewportWidth ? tabs.length - 1 : i;\r\n            const nexIndex = direction === 'next' ? lastIndex : i + 1;\r\n            this.offsetIndex = i === 0 ? 0 : nexIndex;\r\n            break;\r\n          }\r\n        }\r\n        this.scrollIntoView(tabs[this.offsetIndex]);\r\n      } else if (index >= 0 && tab) {\r\n        const toIndexArr = this.tabsWidth.slice(0, index);\r\n        const width = sum(toIndexArr);\r\n        const lastIndex = containerWidth - width < viewportWidth ? tabs.length - 1 : index;\r\n        const fixIndex = index === 0 ? 0 : lastIndex;\r\n        const dom = tabs[fixIndex];\r\n        this.offsetIndex = fixIndex;\r\n        if (isInitScrollMode) {\r\n          // 切换为滚动模式尚未渲染完，目标dom仍在可视区，不会产生滚动，延时待渲染完毕后执行滚动\r\n          setTimeout(() => this.scrollIntoView(dom));\r\n        } else {\r\n          this.select(tab.id, () => this.scrollIntoView(dom));\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  scrollIntoView(dom: HTMLElement): void {\r\n    if (dom) {\r\n      dom.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'start' });\r\n    }\r\n  }\r\n}\r\n","<div class=\"devui-nav-container devui-nav-{{ size }}\">\r\n  <div *ngIf=\"scrollModeToggle\" class=\"devui-nav-scroll-ctrl\">\r\n    <span [ngClass]=\"{ disable: offsetIndex === 0 }\" (click)=\"scroll('prev')\">\r\n      <svg width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\" version=\"1.1\">\r\n        <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n          <polygon\r\n            fill-rule=\"nonzero\"\r\n            points=\"10.7071068 12.2928932 9.29289322 13.7071068 3.58578644 8 9.29289322 2.29289322 10.7071068 3.70710678 6.41421356 8\"\r\n          ></polygon>\r\n        </g>\r\n      </svg>\r\n    </span>\r\n  </div>\r\n  <div\r\n    #tabsViewport\r\n    [style.width]=\"type === 'tabs' || type === 'wrapped' ? '100%' : ''\"\r\n    [ngClass]=\"{ 'dev-nav-scroll-container': scrollModeToggle, 'devui-nav-shadow': isShowShadow }\"\r\n  >\r\n    <ul\r\n      #tabsEle\r\n      class=\"devui-nav {{ cssClass }} {{ tabs.length ? 'devui-nav-' + type : '' }}\"\r\n      [id]=\"id\"\r\n      [ngClass]=\"{\r\n        'devui-nav-stacked': vertical,\r\n        'devui-nav-add-button': addable,\r\n        'devui-nav-overflow': scrollModeToggle || scrollMode\r\n      }\"\r\n    >\r\n      <ng-container *ngFor=\"let tab of tabs\">\r\n        <li\r\n          class=\"devui-nav-tab-item\"\r\n          [id]=\"tab.id === undefined ? '' : tab.id\"\r\n          [class.disabled]=\"tab.disabled\"\r\n          [class.active]=\"tab.id == activeTab\"\r\n          [class.closeable]=\"tab | dTabCloseablePipe : closeable : closeableIds\"\r\n          (click)=\"select(tab.id)\"\r\n        >\r\n          <a [attr.aria-expanded]=\"tab.id == activeTab\" [style.width]=\"customWidth\" [ngClass]=\"{ 'custom-width': customWidth }\">\r\n            <ng-template\r\n              *ngIf=\"!tab.title\"\r\n              [ngTemplateOutlet]=\"tab.titleTpl?.templateRef\"\r\n              [ngTemplateOutletContext]=\"{ tab: tab, position: 'tab' }\"\r\n            ></ng-template>\r\n            <span *ngIf=\"tab.title\">{{ tab.title }}</span>\r\n          </a>\r\n          <span *ngIf=\"tab.closeable\" class=\"devui-tab-close-icon\" (click)=\"addOrDeleteTab($event, tab.id)\">\r\n            <svg\r\n              width=\"12px\"\r\n              height=\"12px\"\r\n              viewBox=\"0 0 12 12\"\r\n              version=\"1.1\"\r\n              xmlns=\"http://www.w3.org/2000/svg\"\r\n              xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n            >\r\n              <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n                <path\r\n                  d=\"M8.86785321,3.13214679 C9.02624037,3.29053395 9.02624037,3.54733027 8.86785321,3.70571743 L6.573,6 L8.86785321,8.29428257 C9.02624037,8.45266973 9.02624037,8.70946605 8.86785321,8.86785321 C8.70946605,9.02624037 8.45266973,9.02624037 8.29428257,8.86785321 L6,6.573 L3.70571743,8.86785321 C3.54733027,9.02624037 3.29053395,9.02624037 3.13214679,8.86785321 C2.97375963,8.70946605 2.97375963,8.45266973 3.13214679,8.29428257 L5.427,6 L3.13214679,3.70571743 C2.97375963,3.54733027 2.97375963,3.29053395 3.13214679,3.13214679 C3.29053395,2.97375963 3.54733027,2.97375963 3.70571743,3.13214679 L6,5.427 L8.29428257,3.13214679 C8.45266973,2.97375963 8.70946605,2.97375963 8.86785321,3.13214679 Z\"\r\n                  fill-rule=\"nonzero\"\r\n                ></path>\r\n              </g>\r\n            </svg>\r\n          </span>\r\n        </li>\r\n      </ng-container>\r\n      <li *ngIf=\"addable && !addTabTpl; else addTabTpl\" class=\"devui-nav-tab-item devui-tab-add-icon\">\r\n        <a [style.width]=\"customWidth\" (click)=\"addOrDeleteTab($event)\">\r\n          <svg\r\n            width=\"16px\"\r\n            height=\"16px\"\r\n            viewBox=\"0 0 16 16\"\r\n            version=\"1.1\"\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n          >\r\n            <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n              <polygon points=\"7 7 7 2 9 2 9 7 14 7 14 9 9 9 9 14 7 14 7 9 2 9 2 7\"></polygon>\r\n            </g>\r\n          </svg>\r\n        </a>\r\n      </li>\r\n      <div\r\n        *ngIf=\"activeTab !== undefined\"\r\n        class=\"devui-nav-{{ type }}-animation\"\r\n        [style.left]=\"offsetLeft + 'px'\"\r\n        [style.width]=\"offsetWidth + 'px'\"\r\n      ></div>\r\n    </ul>\r\n  </div>\r\n  <div dDropDown appendToBody *ngIf=\"scrollModeToggle\" class=\"devui-nav-scroll-ctrl\">\r\n    <span [ngClass]=\"{ disable: offsetIndex === tabs.length - 1 }\" (click)=\"scroll('next')\">\r\n      <svg width=\"16px\" height=\"16px\" viewBox=\"0 0 16 16\" version=\"1.1\">\r\n        <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n          <polygon\r\n            fill-rule=\"nonzero\"\r\n            transform=\"translate(8.146447, 8.000000) scale(-1, 1) translate(-8.146447, -8.000000) \"\r\n            points=\"11.7071068 12.2928932 10.2928932 13.7071068 4.58578644 8 10.2928932 2.29289322 11.7071068 3.70710678 7.41421356 8\"\r\n          ></polygon>\r\n        </g>\r\n      </svg>\r\n    </span>\r\n    <span class=\"devui-nav-more-operate\" dDropDownToggle>\r\n      <svg\r\n        width=\"16px\"\r\n        height=\"16px\"\r\n        viewBox=\"0 0 16 16\"\r\n        version=\"1.1\"\r\n        xmlns=\"http://www.w3.org/2000/svg\"\r\n        xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n      >\r\n        <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n          <path\r\n            d=\"M0.5,8 C0.499999992,7.46410162 0.785898375,6.96891109 1.24999999,6.7009619 C1.71410161,6.4330127 2.28589839,6.4330127 2.75000001,6.7009619 C3.21410162,6.96891109 3.50000001,7.46410162 3.5,8 C3.5,8.82842713 2.82842712,9.5 2,9.5 C1.17157288,9.5 0.5,8.82842713 0.5,8 Z M6.5,8 C6.49999999,7.46410162 6.78589838,6.96891109 7.24999999,6.7009619 C7.71410161,6.4330127 8.28589839,6.4330127 8.75000001,6.7009619 C9.21410162,6.96891109 9.50000001,7.46410162 9.5,8 C9.5,8.82842713 8.82842712,9.5 8,9.5 C7.17157288,9.5 6.5,8.82842713 6.5,8 Z M12.5,8 C12.5,7.46410162 12.7858984,6.96891109 13.25,6.7009619 C13.7141016,6.4330127 14.2858984,6.4330127 14.75,6.7009619 C15.2141016,6.96891109 15.5,7.46410162 15.5,8 C15.5,8.82842713 14.8284271,9.5 14,9.5 C13.1715729,9.5 12.5,8.82842713 12.5,8 Z\"\r\n            transform=\"translate(8.000000, 8.000000) rotate(90.000000) translate(-8.000000, -8.000000) \"\r\n          ></path>\r\n        </g>\r\n      </svg>\r\n    </span>\r\n    <span *ngIf=\"scrollModeOperationTpl\">\r\n      <ng-template [ngTemplateOutlet]=\"scrollModeOperationTpl\"></ng-template>\r\n    </span>\r\n    <ul dDropDownMenu class=\"devui-nav-dropdown devui-dropdown-menu devui-dropdown-overlay\">\r\n      <li\r\n        *ngFor=\"let tab of tabs; index as i\"\r\n        class=\"devui-dropdown-item\"\r\n        [class.disabled]=\"tab.disabled\"\r\n        [class.active]=\"tab.id == activeTab\"\r\n        (click)=\"tab.disabled ? $event.stopPropagation() : scroll(null, i, tab)\"\r\n      >\r\n        <ng-template\r\n          *ngIf=\"!tab.title\"\r\n          [ngTemplateOutlet]=\"tab.titleTpl?.templateRef\"\r\n          [ngTemplateOutletContext]=\"{ tab: tab, position: 'list' }\"\r\n        ></ng-template>\r\n        <span *ngIf=\"tab.title\">{{ tab.title }}</span>\r\n      </li>\r\n    </ul>\r\n  </div>\r\n</div>\r\n<div class=\"devui-tab-content\" *ngIf=\"showContent\">\r\n  <ng-container *ngFor=\"let tab of tabs\">\r\n    <ng-template [ngTemplateOutlet]=\"isHidden ? hiddenTpl : destroyTpl\" [ngTemplateOutletContext]=\"{ tab: tab }\"> </ng-template>\r\n  </ng-container>\r\n</div>\r\n\r\n<ng-template #destroyTpl let-tab=\"tab\">\r\n  <div class=\"devui-tab-pane fade in\" *ngIf=\"tab.id == activeTab\" [ngClass]=\"{ 'in active': tab.id == activeTab }\">\r\n    <ng-template [ngTemplateOutlet]=\"tab.contentTpl?.templateRef || tab.innerContent\"></ng-template>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #hiddenTpl let-tab=\"tab\">\r\n  <div class=\"devui-tab-pane fade in\" [hidden]=\"tab.id != activeTab\" [ngClass]=\"{ 'in active': tab.id == activeTab }\">\r\n    <ng-template [ngTemplateOutlet]=\"tab.contentTpl?.templateRef || tab.innerContent\"></ng-template>\r\n  </div>\r\n</ng-template>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { DropDownModule } from 'ng-devui/dropdown';\nimport { TabCloseablePipe } from './tab-closeable-pipe';\nimport { TabContentDirective } from './tab-content.directive';\nimport { TabTitleDirective } from './tab-title.directive';\nimport { TabComponent } from './tab.component';\nimport { TabsComponent } from './tabs.component';\n\n@NgModule({\n  imports: [CommonModule, DropDownModule],\n  exports: [TabsComponent, TabComponent, TabTitleDirective, TabContentDirective],\n  declarations: [TabsComponent, TabComponent, TabTitleDirective, TabContentDirective, TabCloseablePipe],\n  providers: [],\n})\nexport class TabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.TabCloseablePipe"],"mappings":";;;;;;;;MAMa,gBAAgB,CAAA;AAC3B,IAAA,SAAS,CAAC,GAAiB,EAAE,SAAkB,EAAE,YAAmB,EAAA;QAClE,IAAI,SAAS,EAAE;YACb,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,KAAK,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5G;QACD,OAAO,SAAS,GAAG,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;KAC1C;+GANU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAhB,gBAAgB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA,EAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,mBAAmB;AAC1B,iBAAA,CAAA;;;MCAY,mBAAmB,CAAA;AAC9B,IAAA,WAAA,CAAmB,WAA6B,EAAA;QAA7B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAkB;KAC/C;+GAFU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAnB,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AAC1B,iBAAA,CAAA;;;MCCY,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CAAmB,WAA6B,EAAA;QAA7B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAkB;KAC/C;+GAFU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAjB,iBAAiB,EAAA,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACxB,iBAAA,CAAA;;;MCKY,YAAY,CAAA;AALzB,IAAA,WAAA,GAAA;QAeW,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAU3B,KAAA;AAnBC;;;AAGG;IACH,IAAa,KAAK,CAAC,KAAK,EAAA;AACtB,QAAA,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;KACjB;+GAPU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,EAeT,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,mBAAmB,EACnB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,iBAAiB,4KAnBrB,CAAoE,kEAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAGnE,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,OAAO;AACjB,oBAAA,QAAQ,EAAE,CAAoE,kEAAA,CAAA;AAC9E,oBAAA,mBAAmB,EAAE,KAAK;AAC3B,iBAAA,CAAA;8BAMc,KAAK,EAAA,CAAA;sBAAjB,KAAK;gBAGG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAK6B,UAAU,EAAA,CAAA;sBAA5C,YAAY;uBAAC,mBAAmB,CAAA;gBACA,QAAQ,EAAA,CAAA;sBAAxC,YAAY;uBAAC,iBAAiB,CAAA;gBACc,YAAY,EAAA,CAAA;sBAAxD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MCKhC,aAAa,CAAA;aACjB,IAAO,CAAA,OAAA,GAAG,CAAH,CAAK,EAAA;AAsCnB,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClF;IAED,WAAoB,CAAA,EAAc,EAAU,GAAsB,EAAA;QAA9C,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAAU,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QAvCzD,IAAI,CAAA,IAAA,GAAwD,MAAM,CAAC;QACnE,IAAI,CAAA,IAAA,GAA8B,IAAI,CAAC;QACvC,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;QACnB,IAAU,CAAA,UAAA,GAAgC,KAAK,CAAC;QAGhD,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QACpB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;QAClB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAGzB;;;AAGG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAMjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAGhB,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAmB,CAAC;AACtD,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAiB,CAAC;QAEnE,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;QAGhB,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;QACzB,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AACf,QAAA,IAAA,CAAA,oBAAoB,GAAG,GAAG,CAAC;QAOzB,IAAI,CAAC,EAAE,GAAG,CAAA,SAAA,EAAY,aAAa,CAAC,OAAO,EAAE,CAAA,CAAE,CAAC;KACjD;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC1C,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QACD,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,wBAAwB,EAAE,CAAC;AAChC,YAAA,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE;AACtD,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;gBAClF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;AACpF,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAClC;SACF;KACF;IAED,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACpB,YAAA,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;;gBAEhC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxD,gBAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aACjB;iBAAM;gBACL,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACjC;SACF;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YAC/B,IAAI,CAAC,wBAAwB,EAAE,CAAC;;YAEhC,UAAU,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AACxC,SAAC,CAAC,CAAC;KACJ;IAED,wBAAwB,GAAA;QACtB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;;YAE1C,UAAU,CAAC,MAAK;AACd,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,EAAE,CAAA,UAAA,CAAY,CAAC,CAAC;gBACjF,IAAI,MAAM,EAAE;AACV,oBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC;oBAClF,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;oBAC1H,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;AACxD,oBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;iBAC1B;AACH,aAAC,CAAC,CAAC;SACJ;KACF;AAED,IAAA,SAAS,CAAC,UAA2B,EAAA;QACnC,IAAI,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzC,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,MAAM,MAAM,GAAQ,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAClE,YAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,gBAAA,IAAI,MAAM,CAAC,IAAI,EAAE;oBACf,YAAY,GAAG,MAAM,CAAC;iBACvB;AAAM,qBAAA,IAAI,MAAM,CAAC,SAAS,EAAE;AAC3B,oBAAA,YAAY,GAAI,MAA8B,CAAC,SAAS,EAAE,CAAC;iBAC5D;qBAAM;AACL,oBAAA,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;iBACxC;aACF;SACF;AAED,QAAA,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,CAAC,EAAmB,EAAE,QAAmB,EAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE;YAC9C,OAAO;SACR;QACD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;YACjC,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO;aACR;AACD,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACrD,YAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;AACxB,gBAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAChC,IAAI,QAAQ,EAAE;AACZ,oBAAA,QAAQ,EAAE,CAAC;iBACZ;AACD,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC/B;AACH,SAAC,CAAC,CAAC;KACJ;IAED,cAAc,CAAC,KAAY,EAAE,EAAoB,EAAA;QAC/C,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC;QACpD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;KACnD;IAED,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE;YACxD,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;AAClF,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnB,gBAAA,IAAI,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC;AAC5B,gBAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAChD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAClD,gBAAA,KAAK,IAAI,UAAU,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;AACzC,gBAAA,KAAK,IAAI,WAAW,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC;gBAC3C,YAAY,IAAI,KAAK,CAAC;AACtB,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,aAAC,CAAC,CAAC;;YAEH,UAAU,CAAC,MAAK;AACd,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC;gBAC/E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,KAAK,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AACjG,gBAAA,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;oBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACjC,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;AACnE,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBACrC;AACH,aAAC,CAAC,CAAC;SACJ;KACF;AAED,IAAA,MAAM,CAAC,SAAkB,EAAE,KAAc,EAAE,GAAkB,EAAE,gBAA0B,EAAA;QACvF,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE;AACzC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YAClF,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC;YAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC;YAClE,IAAI,SAAS,EAAE;AACb,gBAAA,MAAM,QAAQ,GAAG,SAAS,KAAK,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,CAAC;gBAChG,IAAI,KAAK,GAAG,CAAC,CAAC;AACd,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,oBAAA,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3B,oBAAA,IAAI,KAAK,IAAI,QAAQ,EAAE;AACrB,wBAAA,MAAM,SAAS,GAAG,cAAc,GAAG,KAAK,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/E,wBAAA,MAAM,QAAQ,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1D,wBAAA,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;wBAC1C,MAAM;qBACP;iBACF;gBACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aAC7C;AAAM,iBAAA,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;AAC5B,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAClD,gBAAA,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;AAC9B,gBAAA,MAAM,SAAS,GAAG,cAAc,GAAG,KAAK,GAAG,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;AACnF,gBAAA,MAAM,QAAQ,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AAC7C,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3B,gBAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;gBAC5B,IAAI,gBAAgB,EAAE;;oBAEpB,UAAU,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC5C;qBAAM;AACL,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;iBACrD;aACF;SACF;KACF;AAED,IAAA,cAAc,CAAC,GAAgB,EAAA;QAC7B,IAAI,GAAG,EAAE;AACP,YAAA,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;SAC/E;KACF;+GAlNU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAb,aAAa,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EA4BP,YAAY,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,MAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3D/B,krQA2JA,EAAA,MAAA,EAAA,CAAA,iiZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,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,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,SAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,wBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,wBAAA,EAAA,4BAAA,CAAA,EAAA,QAAA,EAAA,CAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,gBAAA,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FD5Ha,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;+BACE,QAAQ,EAAA,QAAA,EAGR,MAAM,EAAA,mBAAA,EACK,KAAK,EAAA,QAAA,EAAA,krQAAA,EAAA,MAAA,EAAA,CAAA,iiZAAA,CAAA,EAAA,CAAA;+GAIJ,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;gBACO,YAAY,EAAA,CAAA;sBAAtC,SAAS;uBAAC,cAAc,CAAA;gBAChB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,sBAAsB,EAAA,CAAA;sBAA9B,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACyB,IAAI,EAAA,CAAA;sBAAlC,eAAe;uBAAC,YAAY,CAAA;gBACnB,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,oBAAoB,EAAA,CAAA;sBAA7B,MAAM;;;ME9CI,UAAU,CAAA;+GAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAV,UAAU,EAAA,YAAA,EAAA,CAHN,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,aAF1F,YAAY,EAAE,cAAc,CAC5B,EAAA,OAAA,EAAA,CAAA,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAIlE,UAAU,EAAA,OAAA,EAAA,CALX,YAAY,EAAE,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAK3B,UAAU,EAAA,UAAA,EAAA,CAAA;kBANtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;oBACvC,OAAO,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,CAAC;oBAC9E,YAAY,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,CAAC;AACrG,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACdD;;AAEG;;;;"}