@delon/theme 21.2.0 → 21.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -70,7 +70,11 @@ class LayoutDefaultService {
70
70
  .subscribe(type => this.collapsedIcon.set(`menu-${type}`));
71
71
  }
72
72
  checkMedia(value) {
73
- this.settings.setLayout('collapsed', value);
73
+ // 仅当匹配媒体(移动端)时自动折叠侧边栏
74
+ // 不匹配时(桌面端)不应覆盖用户已持久化的 collapsed 偏好
75
+ if (value) {
76
+ this.settings.setLayout('collapsed', true);
77
+ }
74
78
  }
75
79
  /**
76
80
  * Set layout configuration
@@ -1 +1 @@
1
- {"version":3,"file":"layout-default.mjs","sources":["../../../../packages/theme/layout-default/layout-header-item.component.ts","../../../../packages/theme/layout-default/layout.service.ts","../../../../packages/theme/layout-default/layout-header.component.ts","../../../../packages/theme/layout-default/layout-nav.component.ts","../../../../packages/theme/layout-default/layout.component.ts","../../../../packages/theme/layout-default/layout-header-item-trigger.directive.ts","../../../../packages/theme/layout-default/layout-top-menu-item.ts","../../../../packages/theme/layout-default/layout.module.ts","../../../../packages/theme/layout-default/layout-default.ts"],"sourcesContent":["import { Component, input, TemplateRef, viewChild } from '@angular/core';\n\nimport { LayoutDefaultHeaderItemDirection, LayoutDefaultHeaderItemHidden } from './types';\n\n@Component({\n selector: 'layout-default-header-item',\n template: `\n <ng-template #host>\n <ng-content />\n </ng-template>\n `\n})\nexport class LayoutDefaultHeaderItemComponent {\n readonly host = viewChild<TemplateRef<void>>('host');\n\n readonly hidden = input<LayoutDefaultHeaderItemHidden>('none');\n readonly direction = input<LayoutDefaultHeaderItemDirection>('right');\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Injectable, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter, map } from 'rxjs';\n\nimport { SettingsService } from '@delon/theme';\n\nimport { LayoutDefaultOptions } from './types';\n\nconst DEFAULT: LayoutDefaultOptions = {\n logoExpanded: `./assets/logo-full.svg`,\n logoCollapsed: `./assets/logo.svg`,\n logoLink: `/`,\n showHeaderCollapse: true,\n showSiderCollapse: false,\n hideAside: false,\n hideHeader: false\n};\n\n@Injectable({ providedIn: 'root' })\nexport class LayoutDefaultService {\n private readonly settings = inject(SettingsService);\n private readonly bm = inject(BreakpointObserver);\n readonly options = signal(DEFAULT);\n readonly collapsedIcon = signal('');\n\n constructor() {\n const mobileMedia = 'only screen and (max-width: 767.99px)';\n this.bm\n .observe(mobileMedia)\n .pipe(takeUntilDestroyed())\n .subscribe(state => this.checkMedia(state.matches));\n this.checkMedia(this.bm.isMatched(mobileMedia));\n\n const settings = this.settings;\n settings.notify\n .pipe(\n filter(w => w.type === 'layout'),\n map(() => {\n const collapsed = settings.layout.collapsed;\n const ret =\n settings.layout.direction === 'rtl' ? (collapsed ? 'fold' : 'unfold') : collapsed ? 'unfold' : 'fold';\n return ret;\n }),\n takeUntilDestroyed()\n )\n .subscribe(type => this.collapsedIcon.set(`menu-${type}`));\n }\n\n private checkMedia(value: boolean): void {\n this.settings.setLayout('collapsed', value);\n }\n\n /**\n * Set layout configuration\n *\n * 设置布局配置\n */\n setOptions(options?: LayoutDefaultOptions | null): void {\n this.options.set({\n ...DEFAULT,\n ...options\n });\n }\n\n /**\n * Toggle the collapsed state of the sidebar menu bar\n *\n * 切换侧边栏菜单栏折叠状态\n */\n toggleCollapsed(status?: boolean): void {\n this.settings.setLayout('collapsed', status != null ? status : !this.settings.layout.collapsed);\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\n\nimport { SettingsService } from '@delon/theme';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\n\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultService } from './layout.service';\n\n@Component({\n selector: 'layout-default-header',\n template: `\n <ng-template #render let-ls>\n @for (i of ls; track $index) {\n <li [class.hidden-mobile]=\"i.hidden() === 'mobile'\" [class.hidden-pc]=\"i.hidden() === 'pc'\">\n <ng-container *ngTemplateOutlet=\"i.host()\" />\n </li>\n }\n </ng-template>\n @let _opt = opt();\n <div class=\"alain-default__header-logo\" [style.width.px]=\"_opt.logoFixWidth\">\n @if (_opt.logo) {\n <ng-container *ngTemplateOutlet=\"_opt.logo\" />\n } @else {\n <a [routerLink]=\"_opt.logoLink\" class=\"alain-default__header-logo-link\">\n <img class=\"alain-default__header-logo-expanded\" [attr.src]=\"_opt.logoExpanded\" [attr.alt]=\"app.name\" />\n <img class=\"alain-default__header-logo-collapsed\" [attr.src]=\"_opt.logoCollapsed\" [attr.alt]=\"app.name\" />\n </a>\n }\n </div>\n <div class=\"alain-default__nav-wrap\">\n <ul class=\"alain-default__nav\">\n @if (!_opt.hideAside && _opt.showHeaderCollapse) {\n <li>\n <div class=\"alain-default__nav-item alain-default__nav-item--collapse\" (click)=\"srv.toggleCollapsed()\">\n <nz-icon [nzType]=\"srv.collapsedIcon()\" />\n </div>\n </li>\n }\n <ng-template [ngTemplateOutlet]=\"render\" [ngTemplateOutletContext]=\"{ $implicit: left() }\" />\n </ul>\n @if (middle().length > 0) {\n <div class=\"alain-default__nav alain-default__nav-middle\">\n <ng-container *ngTemplateOutlet=\"middle()[0].host()\" />\n </div>\n }\n <ul class=\"alain-default__nav\">\n <ng-template [ngTemplateOutlet]=\"render\" [ngTemplateOutletContext]=\"{ $implicit: right() }\" />\n </ul>\n </div>\n `,\n host: { class: 'alain-default__header' },\n imports: [NgTemplateOutlet, RouterLink, NzIconDirective],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutDefaultHeaderComponent {\n protected readonly app = inject(SettingsService).app;\n protected readonly srv = inject(LayoutDefaultService);\n\n readonly items = input.required<readonly LayoutDefaultHeaderItemComponent[]>();\n\n protected left = computed(() => this.items().filter(i => i.direction() === 'left'));\n protected middle = computed(() => this.items().filter(i => i.direction() === 'middle'));\n protected right = computed(() => this.items().filter(i => i.direction() === 'right'));\n protected opt = this.srv.options;\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n Renderer2,\n ViewEncapsulation,\n afterNextRender,\n booleanAttribute,\n effect,\n inject,\n input,\n numberAttribute,\n output,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs';\n\nimport { Menu, MenuIcon, MenuInner, MenuService, SettingsService } from '@delon/theme';\nimport { WINDOW } from '@delon/util/token';\nimport { NzBadgeComponent } from 'ng-zorro-antd/badge';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\nexport interface Nav extends MenuInner {\n _needIcon?: boolean;\n _text?: SafeHtml;\n}\n\nconst SHOWCLS = 'sidebar-nav__floating-show';\nconst FLOATINGCLS = 'sidebar-nav__floating';\n\n@Component({\n selector: 'layout-default-nav',\n template: `\n <ng-template #icon let-i>\n @if (i) {\n @switch (i.type) {\n @case ('icon') {\n <nz-icon\n class=\"sidebar-nav__item-icon\"\n [nzType]=\"i.value\"\n [nzTheme]=\"i.theme\"\n [nzSpin]=\"i.spin\"\n [nzTwotoneColor]=\"i.twoToneColor\"\n [nzIconfont]=\"i.iconfont\"\n [nzRotate]=\"i.rotate\"\n />\n }\n @case ('iconfont') {\n <nz-icon class=\"sidebar-nav__item-icon\" [nzIconfont]=\"i.iconfont\" />\n }\n @case ('img') {\n <img [src]=\"i.value\" class=\"sidebar-nav__item-icon sidebar-nav__item-img\" />\n }\n @case ('svg') {\n <span class=\"sidebar-nav__item-icon sidebar-nav__item-svg\" [innerHTML]=\"i.value\"></span>\n }\n @default {\n <i class=\"sidebar-nav__item-icon {{ i.value }}\"></i>\n }\n }\n }\n </ng-template>\n <ng-template #tree let-ls>\n @for (i of ls; track $index) {\n @if (i._hidden !== true) {\n @if (i.render_type === 'divider') {\n <li class=\"sidebar-nav__divider\"></li>\n } @else {\n <li\n class=\"sidebar-nav__item\"\n [class.sidebar-nav__selected]=\"i._selected\"\n [class.sidebar-nav__open]=\"i.open\"\n >\n <!-- link -->\n @if (i.children.length === 0) {\n <a\n (click)=\"to(i)\"\n [attr.data-id]=\"i._id\"\n class=\"sidebar-nav__item-link\"\n [class.sidebar-nav__item-disabled]=\"i.disabled\"\n (mouseenter)=\"closeSubMenu()\"\n >\n @if (i._needIcon) {\n @if (collapsed) {\n <span nz-tooltip nzTooltipPlacement=\"right\" [nzTooltipTitle]=\"i.text\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\" />\n </span>\n } @else {\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\" />\n }\n }\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n </a>\n }\n <!-- has children link -->\n @if (i.children.length > 0) {\n <a (click)=\"toggleOpen(i)\" (mouseenter)=\"showSubMenu($event, i)\" class=\"sidebar-nav__item-link\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\" />\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n <i class=\"sidebar-nav__sub-arrow\"></i>\n </a>\n }\n <!-- badge -->\n @if (i.badge) {\n <nz-badge\n [nzCount]=\"i.badge\"\n [nzDot]=\"i.badgeDot\"\n nzStandalone\n [nzOverflowCount]=\"i.badgeOverflowCount ? i.badgeOverflowCount : 9\"\n />\n }\n @if (i.children.length > 0) {\n <ul class=\"sidebar-nav sidebar-nav__sub sidebar-nav__depth{{ i._depth }}\">\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: i.children }\" />\n </ul>\n }\n </li>\n }\n }\n }\n </ng-template>\n <ul class=\"sidebar-nav\">\n @for (group of list(); track $index) {\n @if (group.group) {\n <li class=\"sidebar-nav__item sidebar-nav__group-title\">\n <span [innerHTML]=\"group._text\"></span>\n </li>\n }\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: group.children }\" />\n }\n </ul>\n `,\n host: {\n class: 'd-block',\n '(click)': '_click()',\n '(document:click)': 'closeSubMenu()'\n },\n imports: [NgTemplateOutlet, NzIconDirective, NzTooltipDirective, NzBadgeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class LayoutDefaultNavComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly win = inject(WINDOW);\n private readonly router = inject(Router);\n private readonly render = inject(Renderer2);\n private readonly menuSrv = inject(MenuService);\n private readonly settings = inject(SettingsService);\n private readonly sanitizer = inject(DomSanitizer);\n\n private bodyEl = this.doc.querySelector<HTMLBodyElement>('body')!;\n private floatingEl!: HTMLDivElement;\n dir = inject(Directionality).valueSignal;\n list = signal<Nav[]>([]);\n\n readonly disabledAcl = input(false, { transform: booleanAttribute });\n readonly autoCloseUnderPad = input(true, { transform: booleanAttribute });\n readonly recursivePath = input(true, { transform: booleanAttribute });\n readonly hideEmptyChildren = input(true, { transform: booleanAttribute });\n readonly openStrictly = input<boolean>();\n readonly maxLevelIcon = input(3, { transform: numberAttribute });\n readonly select = output<Menu>();\n\n get collapsed(): boolean {\n return this.settings.layout.collapsed;\n }\n\n constructor() {\n effect(() => {\n const openStrictly = this.openStrictly();\n if (openStrictly != null) {\n this.menuSrv.openStrictly = openStrictly;\n }\n });\n\n this.menuSrv.change.pipe(takeUntilDestroyed()).subscribe(data => {\n this.menuSrv.visit(data, (i: Nav, _p, depth) => {\n i._text = this.sanitizer.bypassSecurityTrustHtml(i.text!);\n i._needIcon = depth! <= this.maxLevelIcon() && !!i.icon;\n if (!i._aclResult) {\n if (this.disabledAcl()) {\n i.disabled = true;\n } else {\n i._hidden = true;\n }\n }\n const icon = i.icon as MenuIcon;\n if (icon && icon.type === 'svg' && typeof icon.value === 'string') {\n icon.value = this.sanitizer.bypassSecurityTrustHtml(icon.value!);\n }\n });\n if (this.hideEmptyChildren()) this.fixHide(data);\n this.list.set(data.filter((w: Nav) => w._hidden !== true));\n });\n this.router.events.pipe(takeUntilDestroyed()).subscribe(e => {\n if (e instanceof NavigationEnd) {\n this.openByUrl(e.urlAfterRedirects);\n this.underPad();\n }\n });\n this.settings.notify\n .pipe(\n takeUntilDestroyed(),\n filter(t => t.type === 'layout' && t.name === 'collapsed')\n )\n .subscribe(() => this.clearFloating());\n\n afterNextRender(() => {\n this.underPad();\n this.openByUrl(this.router.url);\n this.genFloating();\n });\n }\n\n private getLinkNode(node: HTMLElement): HTMLElement | null {\n node = node.nodeName === 'A' ? node : (node.parentNode as HTMLElement);\n return node.nodeName !== 'A' ? null : node;\n }\n\n private floatingClickHandle(e: MouseEvent): boolean {\n e.stopPropagation();\n const linkNode = this.getLinkNode(e.target as HTMLElement);\n if (linkNode == null) {\n return false;\n }\n const id = +linkNode.dataset!.id!;\n // Should be ingore children title trigger event\n if (isNaN(id)) {\n return false;\n }\n\n let item: Nav;\n this.menuSrv.visit(this.list(), (i: Nav) => {\n if (!item && i._id === id) {\n item = i;\n }\n });\n this.to(item!);\n this.hideAll();\n e.preventDefault();\n return false;\n }\n\n private clearFloating(): void {\n if (!this.floatingEl) return;\n this.floatingEl.removeEventListener('click', this.floatingClickHandle.bind(this));\n this.floatingEl.parentNode?.removeChild(this.floatingEl);\n }\n\n private genFloating(): void {\n this.clearFloating();\n this.floatingEl = this.render.createElement('div');\n this.floatingEl.classList.add(`${FLOATINGCLS}-container`);\n this.floatingEl.addEventListener('click', this.floatingClickHandle.bind(this), false);\n this.bodyEl.appendChild(this.floatingEl);\n }\n\n private genSubNode(linkNode: HTMLLinkElement, item: Nav): HTMLUListElement {\n const id = `_sidebar-nav-${item._id}`;\n const childNode = item.badge ? linkNode.nextElementSibling!.nextElementSibling! : linkNode.nextElementSibling!;\n const node = childNode.cloneNode(true) as HTMLUListElement;\n node.id = id;\n node.classList.add(FLOATINGCLS);\n node.addEventListener(\n 'mouseleave',\n () => {\n node.classList.remove(SHOWCLS);\n },\n false\n );\n this.floatingEl.appendChild(node);\n return node;\n }\n\n private hideAll(): void {\n const allNode = this.floatingEl.querySelectorAll(`.${FLOATINGCLS}`);\n allNode.forEach(node => node.classList.remove(SHOWCLS));\n }\n\n // calculate the node position values.\n private calPos(linkNode: HTMLLinkElement, node: HTMLUListElement): void {\n const rect = linkNode.getBoundingClientRect();\n // bug: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14721015/\n const scrollTop = Math.max(this.doc.documentElement.scrollTop, this.bodyEl.scrollTop);\n const docHeight = Math.max(this.doc.documentElement.clientHeight, this.bodyEl.clientHeight);\n const spacing = 5;\n let offsetHeight = -spacing;\n if (docHeight < rect.top + node.clientHeight) {\n offsetHeight = rect.top + node.clientHeight - docHeight + spacing;\n }\n node.style.top = `${rect.top + scrollTop - offsetHeight}px`;\n if (this.dir() === 'rtl') {\n node.style.right = `${rect.width + spacing}px`;\n } else {\n node.style.left = `${rect.right + spacing}px`;\n }\n }\n\n protected showSubMenu(e: MouseEvent, item: Nav): void {\n if (this.collapsed !== true) {\n return;\n }\n e.preventDefault();\n const linkNode = e.target as Element;\n this.genFloating();\n const subNode = this.genSubNode(linkNode as HTMLLinkElement, item);\n this.hideAll();\n subNode.classList.add(SHOWCLS);\n this.calPos(linkNode as HTMLLinkElement, subNode);\n }\n\n protected to(item: Menu): void {\n this.select.emit(item);\n if (item.disabled) return;\n\n if (item.externalLink) {\n if (item.target === '_blank') {\n this.win.open(item.externalLink);\n } else {\n this.win.location.href = item.externalLink;\n }\n return;\n }\n this.router.navigateByUrl(item.link!);\n }\n\n protected toggleOpen(item: Nav): void {\n this.menuSrv.toggleOpen(item);\n }\n\n protected _click(): void {\n if (this.isPad && this.collapsed) {\n this.openAside(false);\n this.hideAll();\n }\n }\n\n protected closeSubMenu(): void {\n if (this.collapsed) {\n this.hideAll();\n }\n }\n\n private openByUrl(url: string | null): void {\n const { menuSrv, recursivePath } = this;\n this.menuSrv.open(menuSrv.find({ url, recursive: recursivePath() }));\n }\n\n private fixHide(ls: Nav[]): void {\n const inFn = (list: Nav[]): void => {\n for (const item of list) {\n if (item.children && item.children.length > 0) {\n inFn(item.children);\n if (!item._hidden) {\n item._hidden = item.children.every((v: Nav) => v._hidden);\n }\n }\n }\n };\n\n inFn(ls);\n }\n\n // #region Under pad\n\n private get isPad(): boolean {\n return this.doc.defaultView!.innerWidth < 768;\n }\n\n private underPad(): void {\n if (this.autoCloseUnderPad() && this.isPad && !this.collapsed) {\n setTimeout(() => this.openAside(true));\n }\n }\n\n private openAside(status: boolean): void {\n this.settings.setLayout('collapsed', status);\n }\n\n // #endregion\n\n ngOnDestroy(): void {\n this.clearFloating();\n }\n}\n","import { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n TemplateRef,\n booleanAttribute,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n RouteConfigLoadEnd,\n RouteConfigLoadStart,\n Router,\n Event\n} from '@angular/router';\nimport { filter } from 'rxjs';\n\nimport { SettingsService } from '@delon/theme';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultHeaderComponent } from './layout-header.component';\nimport { LayoutDefaultNavComponent } from './layout-nav.component';\nimport { LayoutDefaultService } from './layout.service';\nimport { LayoutDefaultOptions } from './types';\n\n@Component({\n selector: 'layout-default',\n exportAs: 'layoutDefault',\n template: `\n @let _opt = opt();\n @if (showFetching()) {\n <div class=\"alain-default__progress-bar\"></div>\n }\n @if (!_opt.hideHeader) {\n <layout-default-header [items]=\"headerItems()\" />\n }\n @if (!_opt.hideAside) {\n <div class=\"alain-default__aside\">\n <div class=\"alain-default__aside-wrap\">\n <div class=\"alain-default__aside-inner\">\n <ng-container *ngTemplateOutlet=\"asideUser()\" />\n <ng-container *ngTemplateOutlet=\"nav()\" />\n @if (!nav()) {\n <layout-default-nav />\n }\n </div>\n @if (_opt.showSiderCollapse) {\n <div class=\"alain-default__aside-link\">\n @if (asideBottom()) {\n <ng-container *ngTemplateOutlet=\"asideBottom()\" />\n } @else {\n <div class=\"alain-default__aside-link-collapsed\" (click)=\"srv.toggleCollapsed()\">\n <nz-icon [nzType]=\"srv.collapsedIcon()\" />\n </div>\n }\n </div>\n }\n </div>\n </div>\n }\n <section class=\"alain-default__content\">\n <ng-container *ngTemplateOutlet=\"content()\" />\n <ng-content />\n </section>\n `,\n host: {\n class: 'alain-default',\n '[class.alain-default__fixed]': 'layout().fixed',\n '[class.alain-default__collapsed]': 'layout().collapsed',\n '[class.alain-default__hide-aside]': 'opt().hideAside',\n '[class.alain-default__hide-header]': 'opt().hideHeader'\n },\n imports: [NgTemplateOutlet, LayoutDefaultHeaderComponent, LayoutDefaultNavComponent, NzIconDirective]\n})\nexport class LayoutDefaultComponent {\n private readonly router = inject(Router);\n private readonly msgSrv = inject(NzMessageService);\n private readonly settings = inject(SettingsService);\n private readonly doc = inject(DOCUMENT);\n protected readonly srv = inject(LayoutDefaultService);\n\n protected readonly headerItems = contentChildren(LayoutDefaultHeaderItemComponent, { descendants: false });\n\n protected opt = this.srv.options;\n protected layout = this.settings.layoutSignal;\n\n readonly options = input<LayoutDefaultOptions>();\n readonly asideUser = input<TemplateRef<void> | null>();\n readonly asideBottom = input<TemplateRef<NzSafeAny> | null>();\n readonly nav = input<TemplateRef<void> | null>();\n readonly content = input<TemplateRef<void> | null>();\n readonly customError = input<string | null>();\n readonly fetchingStrictly = input(false, { transform: booleanAttribute });\n readonly fetching = input(false, { transform: booleanAttribute });\n\n private isFetching = signal(false);\n readonly showFetching = computed(() => {\n if (this.fetchingStrictly()) return this.fetching();\n return this.isFetching();\n });\n\n constructor() {\n this.router.events\n .pipe(\n takeUntilDestroyed(),\n filter(() => !this.fetchingStrictly())\n )\n .subscribe(ev => this.processEv(ev));\n\n effect(() => {\n const opt = this.options();\n this.srv.setOptions(opt);\n });\n\n effect(() => {\n this.doc.body.classList[this.layout().colorWeak ? 'add' : 'remove']('color-weak');\n });\n }\n\n processEv(ev: Event): void {\n if (!this.isFetching() && ev instanceof RouteConfigLoadStart) {\n this.isFetching.set(true);\n }\n if (ev instanceof NavigationError || ev instanceof NavigationCancel) {\n this.isFetching.set(false);\n const customError = this.customError();\n const err = customError === null ? null : (customError ?? `Could not load ${ev.url} route`);\n if (err && ev instanceof NavigationError) {\n this.msgSrv.error(err, { nzDuration: 1000 * 3 });\n }\n return;\n }\n if (!(ev instanceof NavigationEnd || ev instanceof RouteConfigLoadEnd)) {\n return;\n }\n if (this.isFetching()) {\n setTimeout(() => {\n this.isFetching.set(false);\n }, 100);\n }\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[layout-default-header-item-trigger]',\n host: { class: 'alain-default__nav-item' }\n})\nexport class LayoutDefaultHeaderItemTriggerDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\n\n@Component({\n selector: 'layout-default-top-menu-item',\n template: `<ng-content />`,\n host: {\n '[class.alain-default__nav-item]': `true`,\n '[class.alain-default__top-menu-item]': `true`,\n '[class.alain-default__top-menu-item-selected]': `selected()`,\n '[class.alain-default__top-menu-item-disabled]': `disabled()`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class LayoutDefaultTopMenuItemComponent {\n readonly selected = input(false, { transform: booleanAttribute });\n readonly disabled = input(false, { transform: booleanAttribute });\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\nimport { NzDropdownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\n\nimport { LayoutDefaultHeaderItemTriggerDirective } from './layout-header-item-trigger.directive';\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultHeaderComponent } from './layout-header.component';\nimport { LayoutDefaultNavComponent } from './layout-nav.component';\nimport { LayoutDefaultTopMenuItemComponent } from './layout-top-menu-item';\nimport { LayoutDefaultComponent } from './layout.component';\n\nconst COMPONENTS = [\n LayoutDefaultComponent,\n LayoutDefaultNavComponent,\n LayoutDefaultHeaderComponent,\n LayoutDefaultHeaderItemComponent,\n LayoutDefaultHeaderItemTriggerDirective,\n LayoutDefaultTopMenuItemComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n NzTooltipModule,\n NzIconModule,\n NzAvatarModule,\n NzDropdownModule,\n NzBadgeModule,\n ...COMPONENTS\n ],\n exports: COMPONENTS\n})\nexport class LayoutDefaultModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;MAYa,gCAAgC,CAAA;AAClC,IAAA,IAAI,GAAG,SAAS,CAAoB,MAAM,2EAAC;AAE3C,IAAA,MAAM,GAAG,KAAK,CAAgC,MAAM,6EAAC;AACrD,IAAA,SAAS,GAAG,KAAK,CAAmC,OAAO,gFAAC;wGAJ1D,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EANjC;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAEU,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAR5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,QAAQ,EAAE;;;;AAIT,EAAA;AACF,iBAAA;kEAE8C,MAAM,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACJrD,MAAM,OAAO,GAAyB;AACpC,IAAA,YAAY,EAAE,CAAA,sBAAA,CAAwB;AACtC,IAAA,aAAa,EAAE,CAAA,iBAAA,CAAmB;AAClC,IAAA,QAAQ,EAAE,CAAA,CAAA,CAAG;AACb,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,UAAU,EAAE;CACb;MAGY,oBAAoB,CAAA;AACd,IAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AAClC,IAAA,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACvC,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,8EAAC;AACzB,IAAA,aAAa,GAAG,MAAM,CAAC,EAAE,oFAAC;AAEnC,IAAA,WAAA,GAAA;QACE,MAAM,WAAW,GAAG,uCAAuC;AAC3D,QAAA,IAAI,CAAC;aACF,OAAO,CAAC,WAAW;aACnB,IAAI,CAAC,kBAAkB,EAAE;AACzB,aAAA,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAE/C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC9B,QAAA,QAAQ,CAAC;AACN,aAAA,IAAI,CACH,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAChC,GAAG,CAAC,MAAK;AACP,YAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS;AAC3C,YAAA,MAAM,GAAG,GACP,QAAQ,CAAC,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,GAAG,MAAM,GAAG,QAAQ,IAAI,SAAS,GAAG,QAAQ,GAAG,MAAM;AACvG,YAAA,OAAO,GAAG;AACZ,QAAA,CAAC,CAAC,EACF,kBAAkB,EAAE;AAErB,aAAA,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAA,CAAE,CAAC,CAAC;IAC9D;AAEQ,IAAA,UAAU,CAAC,KAAc,EAAA;QAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC;IAC7C;AAEA;;;;AAIG;AACH,IAAA,UAAU,CAAC,OAAqC,EAAA;AAC9C,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACf,YAAA,GAAG,OAAO;AACV,YAAA,GAAG;AACJ,SAAA,CAAC;IACJ;AAEA;;;;AAIG;AACH,IAAA,eAAe,CAAC,MAAgB,EAAA;QAC9B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;IACjG;wGApDW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA;;4FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCqCrB,4BAA4B,CAAA;AACpB,IAAA,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG;AACjC,IAAA,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAE5C,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAA+C;IAEpE,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,MAAM,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;IACzE,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,QAAQ,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;IAC7E,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,OAAO,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAC3E,IAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;wGATrB,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA5C7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAES,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAG5C,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBA9CxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE;AACxC,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,eAAe,CAAC;oBACxD,eAAe,EAAE,uBAAuB,CAAC;AAC1C,iBAAA;;;ACtBD,MAAM,OAAO,GAAG,4BAA4B;AAC5C,MAAM,WAAW,GAAG,uBAAuB;MAiH9B,yBAAyB,CAAA;AACnB,IAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;AACtB,IAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;AACpB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;AAC1B,IAAA,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;AAC7B,IAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AAClC,IAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;IAEzC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAkB,MAAM,CAAE;AACzD,IAAA,UAAU;AAClB,IAAA,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW;AACxC,IAAA,IAAI,GAAG,MAAM,CAAQ,EAAE,2EAAC;IAEf,WAAW,GAAG,KAAK,CAAC,KAAK,mFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC3D,iBAAiB,GAAG,KAAK,CAAC,IAAI,yFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAChE,aAAa,GAAG,KAAK,CAAC,IAAI,qFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC5D,iBAAiB,GAAG,KAAK,CAAC,IAAI,yFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAChE,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAW;IAC/B,YAAY,GAAG,KAAK,CAAC,CAAC,oFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IACvD,MAAM,GAAG,MAAM,EAAQ;AAEhC,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS;IACvC;AAEA,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE;AACxC,YAAA,IAAI,YAAY,IAAI,IAAI,EAAE;AACxB,gBAAA,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY;YAC1C;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,IAAG;AAC9D,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAM,EAAE,EAAE,EAAE,KAAK,KAAI;AAC7C,gBAAA,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAK,CAAC;AACzD,gBAAA,CAAC,CAAC,SAAS,GAAG,KAAM,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;AACvD,gBAAA,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE;AACjB,oBAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACtB,wBAAA,CAAC,CAAC,QAAQ,GAAG,IAAI;oBACnB;yBAAO;AACL,wBAAA,CAAC,CAAC,OAAO,GAAG,IAAI;oBAClB;gBACF;AACA,gBAAA,MAAM,IAAI,GAAG,CAAC,CAAC,IAAgB;AAC/B,gBAAA,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AACjE,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAM,CAAC;gBAClE;AACF,YAAA,CAAC,CAAC;YACF,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAAE,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;AAC5D,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;AAC1D,YAAA,IAAI,CAAC,YAAY,aAAa,EAAE;AAC9B,gBAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBACnC,IAAI,CAAC,QAAQ,EAAE;YACjB;AACF,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC;aACX,IAAI,CACH,kBAAkB,EAAE,EACpB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;aAE3D,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,eAAe,CAAC,MAAK;YACnB,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAC/B,IAAI,CAAC,WAAW,EAAE;AACpB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,WAAW,CAAC,IAAiB,EAAA;AACnC,QAAA,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,GAAG,GAAG,IAAI,GAAI,IAAI,CAAC,UAA0B;AACtE,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,GAAG,GAAG,IAAI,GAAG,IAAI;IAC5C;AAEQ,IAAA,mBAAmB,CAAC,CAAa,EAAA;QACvC,CAAC,CAAC,eAAe,EAAE;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAqB,CAAC;AAC1D,QAAA,IAAI,QAAQ,IAAI,IAAI,EAAE;AACpB,YAAA,OAAO,KAAK;QACd;QACA,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAQ,CAAC,EAAG;;AAEjC,QAAA,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;AACb,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,IAAI,IAAS;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAM,KAAI;YACzC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE;gBACzB,IAAI,GAAG,CAAC;YACV;AACF,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,EAAE,CAAC,IAAK,CAAC;QACd,IAAI,CAAC,OAAO,EAAE;QACd,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,OAAO,KAAK;IACd;IAEQ,aAAa,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;IAC1D;IAEQ,WAAW,GAAA;QACjB,IAAI,CAAC,aAAa,EAAE;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,EAAG,WAAW,CAAA,UAAA,CAAY,CAAC;AACzD,QAAA,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;QACrF,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;IAC1C;IAEQ,UAAU,CAAC,QAAyB,EAAE,IAAS,EAAA;AACrD,QAAA,MAAM,EAAE,GAAG,CAAA,aAAA,EAAgB,IAAI,CAAC,GAAG,EAAE;AACrC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,kBAAmB,CAAC,kBAAmB,GAAG,QAAQ,CAAC,kBAAmB;QAC9G,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAqB;AAC1D,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE;AACZ,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;AAC/B,QAAA,IAAI,CAAC,gBAAgB,CACnB,YAAY,EACZ,MAAK;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;QAChC,CAAC,EACD,KAAK,CACN;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;AACjC,QAAA,OAAO,IAAI;IACb;IAEQ,OAAO,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE,CAAC;AACnE,QAAA,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD;;IAGQ,MAAM,CAAC,QAAyB,EAAE,IAAsB,EAAA;AAC9D,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,qBAAqB,EAAE;;QAE7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACrF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3F,MAAM,OAAO,GAAG,CAAC;AACjB,QAAA,IAAI,YAAY,GAAG,CAAC,OAAO;QAC3B,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE;AAC5C,YAAA,YAAY,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,GAAG,OAAO;QACnE;AACA,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,YAAY,IAAI;AAC3D,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAA,EAAA,CAAI;QAChD;aAAO;AACL,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAA,EAAA,CAAI;QAC/C;IACF;IAEU,WAAW,CAAC,CAAa,EAAE,IAAS,EAAA;AAC5C,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC3B;QACF;QACA,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAiB;QACpC,IAAI,CAAC,WAAW,EAAE;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAA2B,EAAE,IAAI,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE;AACd,QAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,QAA2B,EAAE,OAAO,CAAC;IACnD;AAEU,IAAA,EAAE,CAAC,IAAU,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ;YAAE;AAEnB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;gBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAClC;iBAAO;gBACL,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY;YAC5C;YACA;QACF;QACA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAK,CAAC;IACvC;AAEU,IAAA,UAAU,CAAC,IAAS,EAAA;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;IAC/B;IAEU,MAAM,GAAA;QACd,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;AAChC,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEU,YAAY,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;AAEQ,IAAA,SAAS,CAAC,GAAkB,EAAA;AAClC,QAAA,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI;AACvC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IACtE;AAEQ,IAAA,OAAO,CAAC,EAAS,EAAA;AACvB,QAAA,MAAM,IAAI,GAAG,CAAC,IAAW,KAAU;AACjC,YAAA,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;AACvB,gBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7C,oBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnB,oBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,wBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,OAAO,CAAC;oBAC3D;gBACF;YACF;AACF,QAAA,CAAC;QAED,IAAI,CAAC,EAAE,CAAC;IACV;;AAIA,IAAA,IAAY,KAAK,GAAA;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,WAAY,CAAC,UAAU,GAAG,GAAG;IAC/C;IAEQ,QAAQ,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAC7D,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC;IACF;AAEQ,IAAA,SAAS,CAAC,MAAe,EAAA;QAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9C;;IAIA,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,EAAE;IACtB;wGAlPW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,EAAA,cAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA7G1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAMS,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,qcAAE,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FAItE,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA/GrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,SAAS,EAAE,UAAU;AACrB,wBAAA,kBAAkB,EAAE;AACrB,qBAAA;oBACD,OAAO,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;oBAClF,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC;AAClC,iBAAA;;;MC9DY,sBAAsB,CAAA;AAChB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACjC,IAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AAClC,IAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;AACpB,IAAA,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAElC,WAAW,GAAG,eAAe,CAAC,gCAAgC,mFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAEhG,IAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;AACtB,IAAA,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY;IAEpC,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAwB;IACvC,SAAS,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA4B;IAC7C,WAAW,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAiC;IACpD,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA4B;IACvC,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA4B;IAC3C,WAAW,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAiB;IACpC,gBAAgB,GAAG,KAAK,CAAC,KAAK,wFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAChE,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEzD,IAAA,UAAU,GAAG,MAAM,CAAC,KAAK,iFAAC;AACzB,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;QACpC,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAAE,YAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;AACnD,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;AAC1B,IAAA,CAAC,mFAAC;AAEF,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,MAAM,CAAC;AACT,aAAA,IAAI,CACH,kBAAkB,EAAE,EACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAEvC,aAAA,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAA,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;AAC1B,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC,YAAY,CAAC;AACnF,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,SAAS,CAAC,EAAS,EAAA;QACjB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,oBAAoB,EAAE;AAC5D,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B;QACA,IAAI,EAAE,YAAY,eAAe,IAAI,EAAE,YAAY,gBAAgB,EAAE;AACnE,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1B,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;YACtC,MAAM,GAAG,GAAG,WAAW,KAAK,IAAI,GAAG,IAAI,IAAI,WAAW,IAAI,CAAA,eAAA,EAAkB,EAAE,CAAC,GAAG,CAAA,MAAA,CAAQ,CAAC;AAC3F,YAAA,IAAI,GAAG,IAAI,EAAE,YAAY,eAAe,EAAE;AACxC,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YAClD;YACA;QACF;QACA,IAAI,EAAE,EAAE,YAAY,aAAa,IAAI,EAAE,YAAY,kBAAkB,CAAC,EAAE;YACtE;QACF;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B,CAAC,EAAE,GAAG,CAAC;QACT;IACF;wGAlEW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,4BAAA,EAAA,gBAAA,EAAA,gCAAA,EAAA,oBAAA,EAAA,iCAAA,EAAA,iBAAA,EAAA,kCAAA,EAAA,kBAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAOgB,gCAAgC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EArDvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAQS,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,yBAAyB,wMAAE,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAEzF,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAjDlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,eAAe;AACtB,wBAAA,8BAA8B,EAAE,gBAAgB;AAChD,wBAAA,kCAAkC,EAAE,oBAAoB;AACxD,wBAAA,mCAAmC,EAAE,iBAAiB;AACtD,wBAAA,oCAAoC,EAAE;AACvC,qBAAA;oBACD,OAAO,EAAE,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,eAAe;AACrG,iBAAA;AAQkD,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,gCAAgC,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MCrF9F,uCAAuC,CAAA;wGAAvC,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAvC,uCAAuC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAvC,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBAJnD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sCAAsC;AAChD,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAyB;AACzC,iBAAA;;;MCSY,iCAAiC,CAAA;IACnC,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IACxD,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;wGAFtD,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,ilBAVlC,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FAUf,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAZ7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC1B,oBAAA,IAAI,EAAE;AACJ,wBAAA,iCAAiC,EAAE,CAAA,IAAA,CAAM;AACzC,wBAAA,sCAAsC,EAAE,CAAA,IAAA,CAAM;AAC9C,wBAAA,+CAA+C,EAAE,CAAA,UAAA,CAAY;AAC7D,wBAAA,+CAA+C,EAAE,CAAA,UAAA;AAClD,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC;AAClC,iBAAA;;;ACID,MAAM,UAAU,GAAG;IACjB,sBAAsB;IACtB,yBAAyB;IACzB,4BAA4B;IAC5B,gCAAgC;IAChC,uCAAuC;IACvC;CACD;MAeY,mBAAmB,CAAA;wGAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAX5B,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,cAAc;YACd,gBAAgB;AAChB,YAAA,aAAa,EAhBf,sBAAsB;YACtB,yBAAyB;YACzB,4BAA4B;YAC5B,gCAAgC;YAChC,uCAAuC;AACvC,YAAA,iCAAiC,aALjC,sBAAsB;YACtB,yBAAyB;YACzB,4BAA4B;YAC5B,gCAAgC;YAChC,uCAAuC;YACvC,iCAAiC,CAAA,EAAA,CAAA;AAgBtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAX5B,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,cAAc;YACd,gBAAgB;AAChB,YAAA,aAAa,EAhBf,sBAAsB;YACtB,yBAAyB,CAAA,EAAA,CAAA;;4FAoBd,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,eAAe;wBACf,YAAY;wBACZ,cAAc;wBACd,gBAAgB;wBAChB,aAAa;AACb,wBAAA,GAAG;AACJ,qBAAA;AACD,oBAAA,OAAO,EAAE;AACV,iBAAA;;;ACtCD;;AAEG;;;;"}
1
+ {"version":3,"file":"layout-default.mjs","sources":["../../../../packages/theme/layout-default/layout-header-item.component.ts","../../../../packages/theme/layout-default/layout.service.ts","../../../../packages/theme/layout-default/layout-header.component.ts","../../../../packages/theme/layout-default/layout-nav.component.ts","../../../../packages/theme/layout-default/layout.component.ts","../../../../packages/theme/layout-default/layout-header-item-trigger.directive.ts","../../../../packages/theme/layout-default/layout-top-menu-item.ts","../../../../packages/theme/layout-default/layout.module.ts","../../../../packages/theme/layout-default/layout-default.ts"],"sourcesContent":["import { Component, input, TemplateRef, viewChild } from '@angular/core';\n\nimport { LayoutDefaultHeaderItemDirection, LayoutDefaultHeaderItemHidden } from './types';\n\n@Component({\n selector: 'layout-default-header-item',\n template: `\n <ng-template #host>\n <ng-content />\n </ng-template>\n `\n})\nexport class LayoutDefaultHeaderItemComponent {\n readonly host = viewChild<TemplateRef<void>>('host');\n\n readonly hidden = input<LayoutDefaultHeaderItemHidden>('none');\n readonly direction = input<LayoutDefaultHeaderItemDirection>('right');\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Injectable, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter, map } from 'rxjs';\n\nimport { SettingsService } from '@delon/theme';\n\nimport { LayoutDefaultOptions } from './types';\n\nconst DEFAULT: LayoutDefaultOptions = {\n logoExpanded: `./assets/logo-full.svg`,\n logoCollapsed: `./assets/logo.svg`,\n logoLink: `/`,\n showHeaderCollapse: true,\n showSiderCollapse: false,\n hideAside: false,\n hideHeader: false\n};\n\n@Injectable({ providedIn: 'root' })\nexport class LayoutDefaultService {\n private readonly settings = inject(SettingsService);\n private readonly bm = inject(BreakpointObserver);\n readonly options = signal(DEFAULT);\n readonly collapsedIcon = signal('');\n\n constructor() {\n const mobileMedia = 'only screen and (max-width: 767.99px)';\n this.bm\n .observe(mobileMedia)\n .pipe(takeUntilDestroyed())\n .subscribe(state => this.checkMedia(state.matches));\n this.checkMedia(this.bm.isMatched(mobileMedia));\n\n const settings = this.settings;\n settings.notify\n .pipe(\n filter(w => w.type === 'layout'),\n map(() => {\n const collapsed = settings.layout.collapsed;\n const ret =\n settings.layout.direction === 'rtl' ? (collapsed ? 'fold' : 'unfold') : collapsed ? 'unfold' : 'fold';\n return ret;\n }),\n takeUntilDestroyed()\n )\n .subscribe(type => this.collapsedIcon.set(`menu-${type}`));\n }\n\n private checkMedia(value: boolean): void {\n // 仅当匹配媒体(移动端)时自动折叠侧边栏\n // 不匹配时(桌面端)不应覆盖用户已持久化的 collapsed 偏好\n if (value) {\n this.settings.setLayout('collapsed', true);\n }\n }\n\n /**\n * Set layout configuration\n *\n * 设置布局配置\n */\n setOptions(options?: LayoutDefaultOptions | null): void {\n this.options.set({\n ...DEFAULT,\n ...options\n });\n }\n\n /**\n * Toggle the collapsed state of the sidebar menu bar\n *\n * 切换侧边栏菜单栏折叠状态\n */\n toggleCollapsed(status?: boolean): void {\n this.settings.setLayout('collapsed', status != null ? status : !this.settings.layout.collapsed);\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { RouterLink } from '@angular/router';\n\nimport { SettingsService } from '@delon/theme';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\n\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultService } from './layout.service';\n\n@Component({\n selector: 'layout-default-header',\n template: `\n <ng-template #render let-ls>\n @for (i of ls; track $index) {\n <li [class.hidden-mobile]=\"i.hidden() === 'mobile'\" [class.hidden-pc]=\"i.hidden() === 'pc'\">\n <ng-container *ngTemplateOutlet=\"i.host()\" />\n </li>\n }\n </ng-template>\n @let _opt = opt();\n <div class=\"alain-default__header-logo\" [style.width.px]=\"_opt.logoFixWidth\">\n @if (_opt.logo) {\n <ng-container *ngTemplateOutlet=\"_opt.logo\" />\n } @else {\n <a [routerLink]=\"_opt.logoLink\" class=\"alain-default__header-logo-link\">\n <img class=\"alain-default__header-logo-expanded\" [attr.src]=\"_opt.logoExpanded\" [attr.alt]=\"app.name\" />\n <img class=\"alain-default__header-logo-collapsed\" [attr.src]=\"_opt.logoCollapsed\" [attr.alt]=\"app.name\" />\n </a>\n }\n </div>\n <div class=\"alain-default__nav-wrap\">\n <ul class=\"alain-default__nav\">\n @if (!_opt.hideAside && _opt.showHeaderCollapse) {\n <li>\n <div class=\"alain-default__nav-item alain-default__nav-item--collapse\" (click)=\"srv.toggleCollapsed()\">\n <nz-icon [nzType]=\"srv.collapsedIcon()\" />\n </div>\n </li>\n }\n <ng-template [ngTemplateOutlet]=\"render\" [ngTemplateOutletContext]=\"{ $implicit: left() }\" />\n </ul>\n @if (middle().length > 0) {\n <div class=\"alain-default__nav alain-default__nav-middle\">\n <ng-container *ngTemplateOutlet=\"middle()[0].host()\" />\n </div>\n }\n <ul class=\"alain-default__nav\">\n <ng-template [ngTemplateOutlet]=\"render\" [ngTemplateOutletContext]=\"{ $implicit: right() }\" />\n </ul>\n </div>\n `,\n host: { class: 'alain-default__header' },\n imports: [NgTemplateOutlet, RouterLink, NzIconDirective],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutDefaultHeaderComponent {\n protected readonly app = inject(SettingsService).app;\n protected readonly srv = inject(LayoutDefaultService);\n\n readonly items = input.required<readonly LayoutDefaultHeaderItemComponent[]>();\n\n protected left = computed(() => this.items().filter(i => i.direction() === 'left'));\n protected middle = computed(() => this.items().filter(i => i.direction() === 'middle'));\n protected right = computed(() => this.items().filter(i => i.direction() === 'right'));\n protected opt = this.srv.options;\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n Renderer2,\n ViewEncapsulation,\n afterNextRender,\n booleanAttribute,\n effect,\n inject,\n input,\n numberAttribute,\n output,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs';\n\nimport { Menu, MenuIcon, MenuInner, MenuService, SettingsService } from '@delon/theme';\nimport { WINDOW } from '@delon/util/token';\nimport { NzBadgeComponent } from 'ng-zorro-antd/badge';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\nexport interface Nav extends MenuInner {\n _needIcon?: boolean;\n _text?: SafeHtml;\n}\n\nconst SHOWCLS = 'sidebar-nav__floating-show';\nconst FLOATINGCLS = 'sidebar-nav__floating';\n\n@Component({\n selector: 'layout-default-nav',\n template: `\n <ng-template #icon let-i>\n @if (i) {\n @switch (i.type) {\n @case ('icon') {\n <nz-icon\n class=\"sidebar-nav__item-icon\"\n [nzType]=\"i.value\"\n [nzTheme]=\"i.theme\"\n [nzSpin]=\"i.spin\"\n [nzTwotoneColor]=\"i.twoToneColor\"\n [nzIconfont]=\"i.iconfont\"\n [nzRotate]=\"i.rotate\"\n />\n }\n @case ('iconfont') {\n <nz-icon class=\"sidebar-nav__item-icon\" [nzIconfont]=\"i.iconfont\" />\n }\n @case ('img') {\n <img [src]=\"i.value\" class=\"sidebar-nav__item-icon sidebar-nav__item-img\" />\n }\n @case ('svg') {\n <span class=\"sidebar-nav__item-icon sidebar-nav__item-svg\" [innerHTML]=\"i.value\"></span>\n }\n @default {\n <i class=\"sidebar-nav__item-icon {{ i.value }}\"></i>\n }\n }\n }\n </ng-template>\n <ng-template #tree let-ls>\n @for (i of ls; track $index) {\n @if (i._hidden !== true) {\n @if (i.render_type === 'divider') {\n <li class=\"sidebar-nav__divider\"></li>\n } @else {\n <li\n class=\"sidebar-nav__item\"\n [class.sidebar-nav__selected]=\"i._selected\"\n [class.sidebar-nav__open]=\"i.open\"\n >\n <!-- link -->\n @if (i.children.length === 0) {\n <a\n (click)=\"to(i)\"\n [attr.data-id]=\"i._id\"\n class=\"sidebar-nav__item-link\"\n [class.sidebar-nav__item-disabled]=\"i.disabled\"\n (mouseenter)=\"closeSubMenu()\"\n >\n @if (i._needIcon) {\n @if (collapsed) {\n <span nz-tooltip nzTooltipPlacement=\"right\" [nzTooltipTitle]=\"i.text\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\" />\n </span>\n } @else {\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\" />\n }\n }\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n </a>\n }\n <!-- has children link -->\n @if (i.children.length > 0) {\n <a (click)=\"toggleOpen(i)\" (mouseenter)=\"showSubMenu($event, i)\" class=\"sidebar-nav__item-link\">\n <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\" />\n <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n <i class=\"sidebar-nav__sub-arrow\"></i>\n </a>\n }\n <!-- badge -->\n @if (i.badge) {\n <nz-badge\n [nzCount]=\"i.badge\"\n [nzDot]=\"i.badgeDot\"\n nzStandalone\n [nzOverflowCount]=\"i.badgeOverflowCount ? i.badgeOverflowCount : 9\"\n />\n }\n @if (i.children.length > 0) {\n <ul class=\"sidebar-nav sidebar-nav__sub sidebar-nav__depth{{ i._depth }}\">\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: i.children }\" />\n </ul>\n }\n </li>\n }\n }\n }\n </ng-template>\n <ul class=\"sidebar-nav\">\n @for (group of list(); track $index) {\n @if (group.group) {\n <li class=\"sidebar-nav__item sidebar-nav__group-title\">\n <span [innerHTML]=\"group._text\"></span>\n </li>\n }\n <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: group.children }\" />\n }\n </ul>\n `,\n host: {\n class: 'd-block',\n '(click)': '_click()',\n '(document:click)': 'closeSubMenu()'\n },\n imports: [NgTemplateOutlet, NzIconDirective, NzTooltipDirective, NzBadgeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class LayoutDefaultNavComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly win = inject(WINDOW);\n private readonly router = inject(Router);\n private readonly render = inject(Renderer2);\n private readonly menuSrv = inject(MenuService);\n private readonly settings = inject(SettingsService);\n private readonly sanitizer = inject(DomSanitizer);\n\n private bodyEl = this.doc.querySelector<HTMLBodyElement>('body')!;\n private floatingEl!: HTMLDivElement;\n dir = inject(Directionality).valueSignal;\n list = signal<Nav[]>([]);\n\n readonly disabledAcl = input(false, { transform: booleanAttribute });\n readonly autoCloseUnderPad = input(true, { transform: booleanAttribute });\n readonly recursivePath = input(true, { transform: booleanAttribute });\n readonly hideEmptyChildren = input(true, { transform: booleanAttribute });\n readonly openStrictly = input<boolean>();\n readonly maxLevelIcon = input(3, { transform: numberAttribute });\n readonly select = output<Menu>();\n\n get collapsed(): boolean {\n return this.settings.layout.collapsed;\n }\n\n constructor() {\n effect(() => {\n const openStrictly = this.openStrictly();\n if (openStrictly != null) {\n this.menuSrv.openStrictly = openStrictly;\n }\n });\n\n this.menuSrv.change.pipe(takeUntilDestroyed()).subscribe(data => {\n this.menuSrv.visit(data, (i: Nav, _p, depth) => {\n i._text = this.sanitizer.bypassSecurityTrustHtml(i.text!);\n i._needIcon = depth! <= this.maxLevelIcon() && !!i.icon;\n if (!i._aclResult) {\n if (this.disabledAcl()) {\n i.disabled = true;\n } else {\n i._hidden = true;\n }\n }\n const icon = i.icon as MenuIcon;\n if (icon && icon.type === 'svg' && typeof icon.value === 'string') {\n icon.value = this.sanitizer.bypassSecurityTrustHtml(icon.value!);\n }\n });\n if (this.hideEmptyChildren()) this.fixHide(data);\n this.list.set(data.filter((w: Nav) => w._hidden !== true));\n });\n this.router.events.pipe(takeUntilDestroyed()).subscribe(e => {\n if (e instanceof NavigationEnd) {\n this.openByUrl(e.urlAfterRedirects);\n this.underPad();\n }\n });\n this.settings.notify\n .pipe(\n takeUntilDestroyed(),\n filter(t => t.type === 'layout' && t.name === 'collapsed')\n )\n .subscribe(() => this.clearFloating());\n\n afterNextRender(() => {\n this.underPad();\n this.openByUrl(this.router.url);\n this.genFloating();\n });\n }\n\n private getLinkNode(node: HTMLElement): HTMLElement | null {\n node = node.nodeName === 'A' ? node : (node.parentNode as HTMLElement);\n return node.nodeName !== 'A' ? null : node;\n }\n\n private floatingClickHandle(e: MouseEvent): boolean {\n e.stopPropagation();\n const linkNode = this.getLinkNode(e.target as HTMLElement);\n if (linkNode == null) {\n return false;\n }\n const id = +linkNode.dataset!.id!;\n // Should be ingore children title trigger event\n if (isNaN(id)) {\n return false;\n }\n\n let item: Nav;\n this.menuSrv.visit(this.list(), (i: Nav) => {\n if (!item && i._id === id) {\n item = i;\n }\n });\n this.to(item!);\n this.hideAll();\n e.preventDefault();\n return false;\n }\n\n private clearFloating(): void {\n if (!this.floatingEl) return;\n this.floatingEl.removeEventListener('click', this.floatingClickHandle.bind(this));\n this.floatingEl.parentNode?.removeChild(this.floatingEl);\n }\n\n private genFloating(): void {\n this.clearFloating();\n this.floatingEl = this.render.createElement('div');\n this.floatingEl.classList.add(`${FLOATINGCLS}-container`);\n this.floatingEl.addEventListener('click', this.floatingClickHandle.bind(this), false);\n this.bodyEl.appendChild(this.floatingEl);\n }\n\n private genSubNode(linkNode: HTMLLinkElement, item: Nav): HTMLUListElement {\n const id = `_sidebar-nav-${item._id}`;\n const childNode = item.badge ? linkNode.nextElementSibling!.nextElementSibling! : linkNode.nextElementSibling!;\n const node = childNode.cloneNode(true) as HTMLUListElement;\n node.id = id;\n node.classList.add(FLOATINGCLS);\n node.addEventListener(\n 'mouseleave',\n () => {\n node.classList.remove(SHOWCLS);\n },\n false\n );\n this.floatingEl.appendChild(node);\n return node;\n }\n\n private hideAll(): void {\n const allNode = this.floatingEl.querySelectorAll(`.${FLOATINGCLS}`);\n allNode.forEach(node => node.classList.remove(SHOWCLS));\n }\n\n // calculate the node position values.\n private calPos(linkNode: HTMLLinkElement, node: HTMLUListElement): void {\n const rect = linkNode.getBoundingClientRect();\n // bug: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14721015/\n const scrollTop = Math.max(this.doc.documentElement.scrollTop, this.bodyEl.scrollTop);\n const docHeight = Math.max(this.doc.documentElement.clientHeight, this.bodyEl.clientHeight);\n const spacing = 5;\n let offsetHeight = -spacing;\n if (docHeight < rect.top + node.clientHeight) {\n offsetHeight = rect.top + node.clientHeight - docHeight + spacing;\n }\n node.style.top = `${rect.top + scrollTop - offsetHeight}px`;\n if (this.dir() === 'rtl') {\n node.style.right = `${rect.width + spacing}px`;\n } else {\n node.style.left = `${rect.right + spacing}px`;\n }\n }\n\n protected showSubMenu(e: MouseEvent, item: Nav): void {\n if (this.collapsed !== true) {\n return;\n }\n e.preventDefault();\n const linkNode = e.target as Element;\n this.genFloating();\n const subNode = this.genSubNode(linkNode as HTMLLinkElement, item);\n this.hideAll();\n subNode.classList.add(SHOWCLS);\n this.calPos(linkNode as HTMLLinkElement, subNode);\n }\n\n protected to(item: Menu): void {\n this.select.emit(item);\n if (item.disabled) return;\n\n if (item.externalLink) {\n if (item.target === '_blank') {\n this.win.open(item.externalLink);\n } else {\n this.win.location.href = item.externalLink;\n }\n return;\n }\n this.router.navigateByUrl(item.link!);\n }\n\n protected toggleOpen(item: Nav): void {\n this.menuSrv.toggleOpen(item);\n }\n\n protected _click(): void {\n if (this.isPad && this.collapsed) {\n this.openAside(false);\n this.hideAll();\n }\n }\n\n protected closeSubMenu(): void {\n if (this.collapsed) {\n this.hideAll();\n }\n }\n\n private openByUrl(url: string | null): void {\n const { menuSrv, recursivePath } = this;\n this.menuSrv.open(menuSrv.find({ url, recursive: recursivePath() }));\n }\n\n private fixHide(ls: Nav[]): void {\n const inFn = (list: Nav[]): void => {\n for (const item of list) {\n if (item.children && item.children.length > 0) {\n inFn(item.children);\n if (!item._hidden) {\n item._hidden = item.children.every((v: Nav) => v._hidden);\n }\n }\n }\n };\n\n inFn(ls);\n }\n\n // #region Under pad\n\n private get isPad(): boolean {\n return this.doc.defaultView!.innerWidth < 768;\n }\n\n private underPad(): void {\n if (this.autoCloseUnderPad() && this.isPad && !this.collapsed) {\n setTimeout(() => this.openAside(true));\n }\n }\n\n private openAside(status: boolean): void {\n this.settings.setLayout('collapsed', status);\n }\n\n // #endregion\n\n ngOnDestroy(): void {\n this.clearFloating();\n }\n}\n","import { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n TemplateRef,\n booleanAttribute,\n computed,\n contentChildren,\n effect,\n inject,\n input,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n RouteConfigLoadEnd,\n RouteConfigLoadStart,\n Router,\n Event\n} from '@angular/router';\nimport { filter } from 'rxjs';\n\nimport { SettingsService } from '@delon/theme';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultHeaderComponent } from './layout-header.component';\nimport { LayoutDefaultNavComponent } from './layout-nav.component';\nimport { LayoutDefaultService } from './layout.service';\nimport { LayoutDefaultOptions } from './types';\n\n@Component({\n selector: 'layout-default',\n exportAs: 'layoutDefault',\n template: `\n @let _opt = opt();\n @if (showFetching()) {\n <div class=\"alain-default__progress-bar\"></div>\n }\n @if (!_opt.hideHeader) {\n <layout-default-header [items]=\"headerItems()\" />\n }\n @if (!_opt.hideAside) {\n <div class=\"alain-default__aside\">\n <div class=\"alain-default__aside-wrap\">\n <div class=\"alain-default__aside-inner\">\n <ng-container *ngTemplateOutlet=\"asideUser()\" />\n <ng-container *ngTemplateOutlet=\"nav()\" />\n @if (!nav()) {\n <layout-default-nav />\n }\n </div>\n @if (_opt.showSiderCollapse) {\n <div class=\"alain-default__aside-link\">\n @if (asideBottom()) {\n <ng-container *ngTemplateOutlet=\"asideBottom()\" />\n } @else {\n <div class=\"alain-default__aside-link-collapsed\" (click)=\"srv.toggleCollapsed()\">\n <nz-icon [nzType]=\"srv.collapsedIcon()\" />\n </div>\n }\n </div>\n }\n </div>\n </div>\n }\n <section class=\"alain-default__content\">\n <ng-container *ngTemplateOutlet=\"content()\" />\n <ng-content />\n </section>\n `,\n host: {\n class: 'alain-default',\n '[class.alain-default__fixed]': 'layout().fixed',\n '[class.alain-default__collapsed]': 'layout().collapsed',\n '[class.alain-default__hide-aside]': 'opt().hideAside',\n '[class.alain-default__hide-header]': 'opt().hideHeader'\n },\n imports: [NgTemplateOutlet, LayoutDefaultHeaderComponent, LayoutDefaultNavComponent, NzIconDirective]\n})\nexport class LayoutDefaultComponent {\n private readonly router = inject(Router);\n private readonly msgSrv = inject(NzMessageService);\n private readonly settings = inject(SettingsService);\n private readonly doc = inject(DOCUMENT);\n protected readonly srv = inject(LayoutDefaultService);\n\n protected readonly headerItems = contentChildren(LayoutDefaultHeaderItemComponent, { descendants: false });\n\n protected opt = this.srv.options;\n protected layout = this.settings.layoutSignal;\n\n readonly options = input<LayoutDefaultOptions>();\n readonly asideUser = input<TemplateRef<void> | null>();\n readonly asideBottom = input<TemplateRef<NzSafeAny> | null>();\n readonly nav = input<TemplateRef<void> | null>();\n readonly content = input<TemplateRef<void> | null>();\n readonly customError = input<string | null>();\n readonly fetchingStrictly = input(false, { transform: booleanAttribute });\n readonly fetching = input(false, { transform: booleanAttribute });\n\n private isFetching = signal(false);\n readonly showFetching = computed(() => {\n if (this.fetchingStrictly()) return this.fetching();\n return this.isFetching();\n });\n\n constructor() {\n this.router.events\n .pipe(\n takeUntilDestroyed(),\n filter(() => !this.fetchingStrictly())\n )\n .subscribe(ev => this.processEv(ev));\n\n effect(() => {\n const opt = this.options();\n this.srv.setOptions(opt);\n });\n\n effect(() => {\n this.doc.body.classList[this.layout().colorWeak ? 'add' : 'remove']('color-weak');\n });\n }\n\n processEv(ev: Event): void {\n if (!this.isFetching() && ev instanceof RouteConfigLoadStart) {\n this.isFetching.set(true);\n }\n if (ev instanceof NavigationError || ev instanceof NavigationCancel) {\n this.isFetching.set(false);\n const customError = this.customError();\n const err = customError === null ? null : (customError ?? `Could not load ${ev.url} route`);\n if (err && ev instanceof NavigationError) {\n this.msgSrv.error(err, { nzDuration: 1000 * 3 });\n }\n return;\n }\n if (!(ev instanceof NavigationEnd || ev instanceof RouteConfigLoadEnd)) {\n return;\n }\n if (this.isFetching()) {\n setTimeout(() => {\n this.isFetching.set(false);\n }, 100);\n }\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[layout-default-header-item-trigger]',\n host: { class: 'alain-default__nav-item' }\n})\nexport class LayoutDefaultHeaderItemTriggerDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\n\n@Component({\n selector: 'layout-default-top-menu-item',\n template: `<ng-content />`,\n host: {\n '[class.alain-default__nav-item]': `true`,\n '[class.alain-default__top-menu-item]': `true`,\n '[class.alain-default__top-menu-item-selected]': `selected()`,\n '[class.alain-default__top-menu-item-disabled]': `disabled()`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class LayoutDefaultTopMenuItemComponent {\n readonly selected = input(false, { transform: booleanAttribute });\n readonly disabled = input(false, { transform: booleanAttribute });\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\nimport { NzDropdownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\n\nimport { LayoutDefaultHeaderItemTriggerDirective } from './layout-header-item-trigger.directive';\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultHeaderComponent } from './layout-header.component';\nimport { LayoutDefaultNavComponent } from './layout-nav.component';\nimport { LayoutDefaultTopMenuItemComponent } from './layout-top-menu-item';\nimport { LayoutDefaultComponent } from './layout.component';\n\nconst COMPONENTS = [\n LayoutDefaultComponent,\n LayoutDefaultNavComponent,\n LayoutDefaultHeaderComponent,\n LayoutDefaultHeaderItemComponent,\n LayoutDefaultHeaderItemTriggerDirective,\n LayoutDefaultTopMenuItemComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n NzTooltipModule,\n NzIconModule,\n NzAvatarModule,\n NzDropdownModule,\n NzBadgeModule,\n ...COMPONENTS\n ],\n exports: COMPONENTS\n})\nexport class LayoutDefaultModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;MAYa,gCAAgC,CAAA;AAClC,IAAA,IAAI,GAAG,SAAS,CAAoB,MAAM,2EAAC;AAE3C,IAAA,MAAM,GAAG,KAAK,CAAgC,MAAM,6EAAC;AACrD,IAAA,SAAS,GAAG,KAAK,CAAmC,OAAO,gFAAC;wGAJ1D,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EANjC;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAEU,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAR5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,QAAQ,EAAE;;;;AAIT,EAAA;AACF,iBAAA;kEAE8C,MAAM,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACJrD,MAAM,OAAO,GAAyB;AACpC,IAAA,YAAY,EAAE,CAAA,sBAAA,CAAwB;AACtC,IAAA,aAAa,EAAE,CAAA,iBAAA,CAAmB;AAClC,IAAA,QAAQ,EAAE,CAAA,CAAA,CAAG;AACb,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,UAAU,EAAE;CACb;MAGY,oBAAoB,CAAA;AACd,IAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AAClC,IAAA,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACvC,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,8EAAC;AACzB,IAAA,aAAa,GAAG,MAAM,CAAC,EAAE,oFAAC;AAEnC,IAAA,WAAA,GAAA;QACE,MAAM,WAAW,GAAG,uCAAuC;AAC3D,QAAA,IAAI,CAAC;aACF,OAAO,CAAC,WAAW;aACnB,IAAI,CAAC,kBAAkB,EAAE;AACzB,aAAA,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AAE/C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC9B,QAAA,QAAQ,CAAC;AACN,aAAA,IAAI,CACH,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAChC,GAAG,CAAC,MAAK;AACP,YAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS;AAC3C,YAAA,MAAM,GAAG,GACP,QAAQ,CAAC,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,GAAG,MAAM,GAAG,QAAQ,IAAI,SAAS,GAAG,QAAQ,GAAG,MAAM;AACvG,YAAA,OAAO,GAAG;AACZ,QAAA,CAAC,CAAC,EACF,kBAAkB,EAAE;AAErB,aAAA,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAA,CAAE,CAAC,CAAC;IAC9D;AAEQ,IAAA,UAAU,CAAC,KAAc,EAAA;;;QAG/B,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC;QAC5C;IACF;AAEA;;;;AAIG;AACH,IAAA,UAAU,CAAC,OAAqC,EAAA;AAC9C,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACf,YAAA,GAAG,OAAO;AACV,YAAA,GAAG;AACJ,SAAA,CAAC;IACJ;AAEA;;;;AAIG;AACH,IAAA,eAAe,CAAC,MAAgB,EAAA;QAC9B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;IACjG;wGAxDW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA;;4FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCqCrB,4BAA4B,CAAA;AACpB,IAAA,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG;AACjC,IAAA,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAE5C,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAA+C;IAEpE,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,MAAM,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;IACzE,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,QAAQ,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;IAC7E,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,OAAO,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAC3E,IAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;wGATrB,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA5C7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAES,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAG5C,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBA9CxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE;AACxC,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,eAAe,CAAC;oBACxD,eAAe,EAAE,uBAAuB,CAAC;AAC1C,iBAAA;;;ACtBD,MAAM,OAAO,GAAG,4BAA4B;AAC5C,MAAM,WAAW,GAAG,uBAAuB;MAiH9B,yBAAyB,CAAA;AACnB,IAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;AACtB,IAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;AACpB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;AAC1B,IAAA,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;AAC7B,IAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AAClC,IAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;IAEzC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAkB,MAAM,CAAE;AACzD,IAAA,UAAU;AAClB,IAAA,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW;AACxC,IAAA,IAAI,GAAG,MAAM,CAAQ,EAAE,2EAAC;IAEf,WAAW,GAAG,KAAK,CAAC,KAAK,mFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC3D,iBAAiB,GAAG,KAAK,CAAC,IAAI,yFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAChE,aAAa,GAAG,KAAK,CAAC,IAAI,qFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC5D,iBAAiB,GAAG,KAAK,CAAC,IAAI,yFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAChE,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAW;IAC/B,YAAY,GAAG,KAAK,CAAC,CAAC,oFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IACvD,MAAM,GAAG,MAAM,EAAQ;AAEhC,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS;IACvC;AAEA,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE;AACxC,YAAA,IAAI,YAAY,IAAI,IAAI,EAAE;AACxB,gBAAA,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY;YAC1C;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,IAAG;AAC9D,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAM,EAAE,EAAE,EAAE,KAAK,KAAI;AAC7C,gBAAA,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAK,CAAC;AACzD,gBAAA,CAAC,CAAC,SAAS,GAAG,KAAM,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;AACvD,gBAAA,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE;AACjB,oBAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACtB,wBAAA,CAAC,CAAC,QAAQ,GAAG,IAAI;oBACnB;yBAAO;AACL,wBAAA,CAAC,CAAC,OAAO,GAAG,IAAI;oBAClB;gBACF;AACA,gBAAA,MAAM,IAAI,GAAG,CAAC,CAAC,IAAgB;AAC/B,gBAAA,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AACjE,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAM,CAAC;gBAClE;AACF,YAAA,CAAC,CAAC;YACF,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAAE,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;AAC5D,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;AAC1D,YAAA,IAAI,CAAC,YAAY,aAAa,EAAE;AAC9B,gBAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBACnC,IAAI,CAAC,QAAQ,EAAE;YACjB;AACF,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC;aACX,IAAI,CACH,kBAAkB,EAAE,EACpB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;aAE3D,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,eAAe,CAAC,MAAK;YACnB,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAC/B,IAAI,CAAC,WAAW,EAAE;AACpB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,WAAW,CAAC,IAAiB,EAAA;AACnC,QAAA,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,GAAG,GAAG,IAAI,GAAI,IAAI,CAAC,UAA0B;AACtE,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,GAAG,GAAG,IAAI,GAAG,IAAI;IAC5C;AAEQ,IAAA,mBAAmB,CAAC,CAAa,EAAA;QACvC,CAAC,CAAC,eAAe,EAAE;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAqB,CAAC;AAC1D,QAAA,IAAI,QAAQ,IAAI,IAAI,EAAE;AACpB,YAAA,OAAO,KAAK;QACd;QACA,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAQ,CAAC,EAAG;;AAEjC,QAAA,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;AACb,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,IAAI,IAAS;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAM,KAAI;YACzC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE;gBACzB,IAAI,GAAG,CAAC;YACV;AACF,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,EAAE,CAAC,IAAK,CAAC;QACd,IAAI,CAAC,OAAO,EAAE;QACd,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,OAAO,KAAK;IACd;IAEQ,aAAa,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;IAC1D;IAEQ,WAAW,GAAA;QACjB,IAAI,CAAC,aAAa,EAAE;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,EAAG,WAAW,CAAA,UAAA,CAAY,CAAC;AACzD,QAAA,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;QACrF,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;IAC1C;IAEQ,UAAU,CAAC,QAAyB,EAAE,IAAS,EAAA;AACrD,QAAA,MAAM,EAAE,GAAG,CAAA,aAAA,EAAgB,IAAI,CAAC,GAAG,EAAE;AACrC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,kBAAmB,CAAC,kBAAmB,GAAG,QAAQ,CAAC,kBAAmB;QAC9G,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAqB;AAC1D,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE;AACZ,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;AAC/B,QAAA,IAAI,CAAC,gBAAgB,CACnB,YAAY,EACZ,MAAK;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;QAChC,CAAC,EACD,KAAK,CACN;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;AACjC,QAAA,OAAO,IAAI;IACb;IAEQ,OAAO,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE,CAAC;AACnE,QAAA,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD;;IAGQ,MAAM,CAAC,QAAyB,EAAE,IAAsB,EAAA;AAC9D,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,qBAAqB,EAAE;;QAE7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACrF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3F,MAAM,OAAO,GAAG,CAAC;AACjB,QAAA,IAAI,YAAY,GAAG,CAAC,OAAO;QAC3B,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE;AAC5C,YAAA,YAAY,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,GAAG,OAAO;QACnE;AACA,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,YAAY,IAAI;AAC3D,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAA,EAAA,CAAI;QAChD;aAAO;AACL,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAA,EAAA,CAAI;QAC/C;IACF;IAEU,WAAW,CAAC,CAAa,EAAE,IAAS,EAAA;AAC5C,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC3B;QACF;QACA,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAiB;QACpC,IAAI,CAAC,WAAW,EAAE;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAA2B,EAAE,IAAI,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE;AACd,QAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,QAA2B,EAAE,OAAO,CAAC;IACnD;AAEU,IAAA,EAAE,CAAC,IAAU,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ;YAAE;AAEnB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;gBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAClC;iBAAO;gBACL,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY;YAC5C;YACA;QACF;QACA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAK,CAAC;IACvC;AAEU,IAAA,UAAU,CAAC,IAAS,EAAA;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;IAC/B;IAEU,MAAM,GAAA;QACd,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;AAChC,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IAEU,YAAY,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;AAEQ,IAAA,SAAS,CAAC,GAAkB,EAAA;AAClC,QAAA,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI;AACvC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IACtE;AAEQ,IAAA,OAAO,CAAC,EAAS,EAAA;AACvB,QAAA,MAAM,IAAI,GAAG,CAAC,IAAW,KAAU;AACjC,YAAA,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;AACvB,gBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7C,oBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnB,oBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,wBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,OAAO,CAAC;oBAC3D;gBACF;YACF;AACF,QAAA,CAAC;QAED,IAAI,CAAC,EAAE,CAAC;IACV;;AAIA,IAAA,IAAY,KAAK,GAAA;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,WAAY,CAAC,UAAU,GAAG,GAAG;IAC/C;IAEQ,QAAQ,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAC7D,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC;IACF;AAEQ,IAAA,SAAS,CAAC,MAAe,EAAA;QAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9C;;IAIA,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,EAAE;IACtB;wGAlPW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,EAAA,cAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA7G1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAMS,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,qcAAE,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FAItE,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA/GrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,SAAS,EAAE,UAAU;AACrB,wBAAA,kBAAkB,EAAE;AACrB,qBAAA;oBACD,OAAO,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;oBAClF,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC;AAClC,iBAAA;;;MC9DY,sBAAsB,CAAA;AAChB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACjC,IAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AAClC,IAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;AACpB,IAAA,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAElC,WAAW,GAAG,eAAe,CAAC,gCAAgC,mFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAEhG,IAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;AACtB,IAAA,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY;IAEpC,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAwB;IACvC,SAAS,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA4B;IAC7C,WAAW,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAiC;IACpD,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA4B;IACvC,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA4B;IAC3C,WAAW,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAiB;IACpC,gBAAgB,GAAG,KAAK,CAAC,KAAK,wFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAChE,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEzD,IAAA,UAAU,GAAG,MAAM,CAAC,KAAK,iFAAC;AACzB,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;QACpC,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAAE,YAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;AACnD,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE;AAC1B,IAAA,CAAC,mFAAC;AAEF,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,MAAM,CAAC;AACT,aAAA,IAAI,CACH,kBAAkB,EAAE,EACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAEvC,aAAA,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAA,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;AAC1B,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC,YAAY,CAAC;AACnF,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,SAAS,CAAC,EAAS,EAAA;QACjB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,oBAAoB,EAAE;AAC5D,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAC3B;QACA,IAAI,EAAE,YAAY,eAAe,IAAI,EAAE,YAAY,gBAAgB,EAAE;AACnE,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1B,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;YACtC,MAAM,GAAG,GAAG,WAAW,KAAK,IAAI,GAAG,IAAI,IAAI,WAAW,IAAI,CAAA,eAAA,EAAkB,EAAE,CAAC,GAAG,CAAA,MAAA,CAAQ,CAAC;AAC3F,YAAA,IAAI,GAAG,IAAI,EAAE,YAAY,eAAe,EAAE;AACxC,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YAClD;YACA;QACF;QACA,IAAI,EAAE,EAAE,YAAY,aAAa,IAAI,EAAE,YAAY,kBAAkB,CAAC,EAAE;YACtE;QACF;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B,CAAC,EAAE,GAAG,CAAC;QACT;IACF;wGAlEW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,4BAAA,EAAA,gBAAA,EAAA,gCAAA,EAAA,oBAAA,EAAA,iCAAA,EAAA,iBAAA,EAAA,kCAAA,EAAA,kBAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAOgB,gCAAgC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EArDvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAQS,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,yBAAyB,wMAAE,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAEzF,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAjDlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,eAAe;AACtB,wBAAA,8BAA8B,EAAE,gBAAgB;AAChD,wBAAA,kCAAkC,EAAE,oBAAoB;AACxD,wBAAA,mCAAmC,EAAE,iBAAiB;AACtD,wBAAA,oCAAoC,EAAE;AACvC,qBAAA;oBACD,OAAO,EAAE,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,eAAe;AACrG,iBAAA;AAQkD,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,gCAAgC,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MCrF9F,uCAAuC,CAAA;wGAAvC,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAvC,uCAAuC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAvC,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBAJnD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sCAAsC;AAChD,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAyB;AACzC,iBAAA;;;MCSY,iCAAiC,CAAA;IACnC,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IACxD,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;wGAFtD,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,ilBAVlC,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FAUf,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAZ7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,CAAA,cAAA,CAAgB;AAC1B,oBAAA,IAAI,EAAE;AACJ,wBAAA,iCAAiC,EAAE,CAAA,IAAA,CAAM;AACzC,wBAAA,sCAAsC,EAAE,CAAA,IAAA,CAAM;AAC9C,wBAAA,+CAA+C,EAAE,CAAA,UAAA,CAAY;AAC7D,wBAAA,+CAA+C,EAAE,CAAA,UAAA;AAClD,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC;AAClC,iBAAA;;;ACID,MAAM,UAAU,GAAG;IACjB,sBAAsB;IACtB,yBAAyB;IACzB,4BAA4B;IAC5B,gCAAgC;IAChC,uCAAuC;IACvC;CACD;MAeY,mBAAmB,CAAA;wGAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAX5B,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,cAAc;YACd,gBAAgB;AAChB,YAAA,aAAa,EAhBf,sBAAsB;YACtB,yBAAyB;YACzB,4BAA4B;YAC5B,gCAAgC;YAChC,uCAAuC;AACvC,YAAA,iCAAiC,aALjC,sBAAsB;YACtB,yBAAyB;YACzB,4BAA4B;YAC5B,gCAAgC;YAChC,uCAAuC;YACvC,iCAAiC,CAAA,EAAA,CAAA;AAgBtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAX5B,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,cAAc;YACd,gBAAgB;AAChB,YAAA,aAAa,EAhBf,sBAAsB;YACtB,yBAAyB,CAAA,EAAA,CAAA;;4FAoBd,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,eAAe;wBACf,YAAY;wBACZ,cAAc;wBACd,gBAAgB;wBAChB,aAAa;AACb,wBAAA,GAAG;AACJ,qBAAA;AACD,oBAAA,OAAO,EAAE;AACV,iBAAA;;;ACtCD;;AAEG;;;;"}
@@ -1597,6 +1597,8 @@ var zhCN = {
1597
1597
  addText: '添加',
1598
1598
  removeText: '移除',
1599
1599
  checkAllText: '全选',
1600
+ expand: '展开',
1601
+ collapse: '收起',
1600
1602
  error: {
1601
1603
  'false schema': `布尔模式出错`,
1602
1604
  $ref: `无法找到引用{ref}`,
@@ -1754,6 +1756,8 @@ var enUS = {
1754
1756
  addText: 'Add',
1755
1757
  removeText: 'Remove',
1756
1758
  checkAllText: 'Check all',
1759
+ expand: 'Expand',
1760
+ collapse: 'Collapse',
1757
1761
  error: {
1758
1762
  'false schema': `Boolean schema is false`,
1759
1763
  $ref: `Can't resolve reference {ref}`,
@@ -1855,6 +1859,8 @@ var zhHK = {
1855
1859
  addText: '新增',
1856
1860
  removeText: '移除',
1857
1861
  checkAllText: '全選',
1862
+ expand: '展開',
1863
+ collapse: '收起',
1858
1864
  error: {
1859
1865
  'false schema': `佈爾模式出錯`,
1860
1866
  $ref: `無法找到引用{ref}`,
@@ -1956,6 +1962,8 @@ var zhTW = {
1956
1962
  addText: '添加',
1957
1963
  removeText: '移除',
1958
1964
  checkAllText: '全選',
1965
+ expand: '展開',
1966
+ collapse: '收起',
1959
1967
  error: {
1960
1968
  'false schema': `佈爾模式出錯`,
1961
1969
  $ref: `無法找到引用{ref}`,
@@ -2057,6 +2065,8 @@ var trTR = {
2057
2065
  addText: 'Ekle',
2058
2066
  removeText: 'Kaldır',
2059
2067
  checkAllText: 'Tümünü kontrol et',
2068
+ expand: 'Genişlet',
2069
+ collapse: 'Daralt',
2060
2070
  error: {
2061
2071
  'false schema': `Boolean schema is false`,
2062
2072
  $ref: `Can't resolve reference {ref}`,
@@ -2158,6 +2168,8 @@ var plPL = {
2158
2168
  addText: 'Dodaj',
2159
2169
  removeText: 'Usuń',
2160
2170
  checkAllText: 'Zaznacz wszystkie',
2171
+ expand: 'Rozwiń',
2172
+ collapse: 'Zwiń',
2161
2173
  error: {
2162
2174
  'false schema': `Boolean schema is false`,
2163
2175
  $ref: `Can't resolve reference {ref}`,
@@ -2259,6 +2271,8 @@ var elGR = {
2259
2271
  addText: 'Προσθήκη',
2260
2272
  removeText: 'Αφαίρεση',
2261
2273
  checkAllText: 'Επιλογή όλων',
2274
+ expand: 'Επέκταση',
2275
+ collapse: 'Σύμπτυξη',
2262
2276
  error: {
2263
2277
  'false schema': `Η δυαδική δομή είναι ψευδής`,
2264
2278
  $ref: `Δεν είναι δυνατή η επίλυση της αναφοράς {ref}`,
@@ -2360,6 +2374,8 @@ var koKR = {
2360
2374
  addText: '추가',
2361
2375
  removeText: '제거',
2362
2376
  checkAllText: '모두 확인',
2377
+ expand: '펼치기',
2378
+ collapse: '접기',
2363
2379
  error: {
2364
2380
  'false schema': `Boolean schema is false`,
2365
2381
  $ref: `Can't resolve reference {ref}`,
@@ -2460,7 +2476,9 @@ var hrHR = {
2460
2476
  edit: 'Spremi',
2461
2477
  addText: 'Dodaj',
2462
2478
  removeText: 'Ukloni',
2463
- checkAllText: 'Označi sve'
2479
+ checkAllText: 'Označi sve',
2480
+ expand: 'Proširi',
2481
+ collapse: 'Skupi'
2464
2482
  },
2465
2483
  onboarding: {
2466
2484
  skip: `Preskočiti`,
@@ -2526,6 +2544,8 @@ var jaJP = {
2526
2544
  addText: '追加',
2527
2545
  removeText: '削除',
2528
2546
  checkAllText: '全選択',
2547
+ expand: '展開',
2548
+ collapse: '折りたたみ',
2529
2549
  error: {
2530
2550
  'false schema': `真偽値スキーマが不正です`,
2531
2551
  $ref: `参照を解決できません: {ref}`,
@@ -2626,6 +2646,8 @@ var slSI = {
2626
2646
  addText: 'Dodaj',
2627
2647
  removeText: 'Odstrani',
2628
2648
  checkAllText: 'Preveri vse',
2649
+ expand: 'Razširi',
2650
+ collapse: 'Zloži',
2629
2651
  error: {
2630
2652
  'false schema': `Boolova shema je napačna`,
2631
2653
  $ref: `Referenc ni mogoče razrešiti {ref}`,
@@ -2727,6 +2749,8 @@ var frFR = {
2727
2749
  addText: 'Ajouter',
2728
2750
  removeText: 'Supprimer',
2729
2751
  checkAllText: 'Cochez toutes',
2752
+ expand: 'Développer',
2753
+ collapse: 'Réduire',
2730
2754
  error: {
2731
2755
  'false schema': `Boolean schema is false`,
2732
2756
  $ref: `Can't resolve reference {ref}`,
@@ -2828,6 +2852,8 @@ var esES = {
2828
2852
  addText: 'Añadir',
2829
2853
  removeText: 'Eliminar',
2830
2854
  checkAllText: 'Comprobar todo',
2855
+ expand: 'Expandir',
2856
+ collapse: 'Contraer',
2831
2857
  error: {
2832
2858
  'false schema': `Boolean schema is false`,
2833
2859
  $ref: `Can't resolve reference {ref}`,
@@ -2929,6 +2955,8 @@ var itIT = {
2929
2955
  addText: 'Aggiungi',
2930
2956
  removeText: 'Rimuovi',
2931
2957
  checkAllText: 'Seleziona tutto',
2958
+ expand: 'Espandi',
2959
+ collapse: 'Riduci',
2932
2960
  error: {
2933
2961
  'false schema': `Lo schema booleano è falso`,
2934
2962
  $ref: `Impossibile risolvere il riferimento {ref}`,
@@ -3030,6 +3058,8 @@ var viVN = {
3030
3058
  addText: 'Thêm',
3031
3059
  removeText: 'Xóa',
3032
3060
  checkAllText: 'Chọn tất cả',
3061
+ expand: 'Mở rộng',
3062
+ collapse: 'Thu gọn',
3033
3063
  error: {
3034
3064
  'false schema': `Mô hình Boolean sai`,
3035
3065
  $ref: `Không thể giải quyết tham chiếu {ref}`,
@@ -3131,6 +3161,8 @@ var arSA = {
3131
3161
  addText: 'إضافة',
3132
3162
  removeText: 'حذف',
3133
3163
  checkAllText: 'تحديد الكل',
3164
+ expand: 'توسيع',
3165
+ collapse: 'طي',
3134
3166
  error: {
3135
3167
  'false schema': `القيمة المنطقية خاطئة`,
3136
3168
  $ref: `المرجع "{{ref}}" غير موجود`,
@@ -3232,6 +3264,8 @@ var idID = {
3232
3264
  addText: 'Tambah',
3233
3265
  removeText: 'Hapus',
3234
3266
  checkAllText: 'Pilih semua',
3267
+ expand: 'Bentangkan',
3268
+ collapse: 'Ciutkan',
3235
3269
  error: {
3236
3270
  'false schema': `Skema boolean salah`,
3237
3271
  $ref: `Tidak dapat menyelesaikan referensi {ref}`,
@@ -3333,6 +3367,8 @@ var kmKH = {
3333
3367
  addText: 'បន្ថែម',
3334
3368
  removeText: 'លុបចេញ',
3335
3369
  checkAllText: 'ពិនិត្យទាំងអស់',
3370
+ expand: 'ពង្រីក',
3371
+ collapse: 'បង្រួម',
3336
3372
  error: {
3337
3373
  'false schema': `ស្កីម៉ាមិនត្រឹមត្រូវទេ`,
3338
3374
  $ref: `មិនអាចដោះស្រាយយោង {ref} បានទេ`,
@@ -3434,6 +3470,8 @@ var msMY = {
3434
3470
  addText: 'Tambah',
3435
3471
  removeText: 'Padam',
3436
3472
  checkAllText: 'Tanda semua',
3473
+ expand: 'Kembangkan',
3474
+ collapse: 'Runtuhkan',
3437
3475
  error: {
3438
3476
  'false schema': `Skema boolean adalah palsu`,
3439
3477
  $ref: `Tidak dapat menyelesaikan rujukan {ref}`,
@@ -3535,6 +3573,8 @@ var thTH = {
3535
3573
  addText: 'เพิ่ม',
3536
3574
  removeText: 'ลบ',
3537
3575
  checkAllText: 'เลือกทั้งหมด',
3576
+ expand: 'ขยาย',
3577
+ collapse: 'ยุบ',
3538
3578
  error: {
3539
3579
  'false schema': `สคีมาแบบบูลีนเป็นเท็จ`,
3540
3580
  $ref: `ไม่สามารถแก้ไขการอ้างอิง {ref} ได้`,
@@ -3788,7 +3828,7 @@ class PreloadOptionalModules {
3788
3828
  }
3789
3829
  }
3790
3830
 
3791
- const VERSION = new Version('21.2.0');
3831
+ const VERSION = new Version('21.3.0');
3792
3832
 
3793
3833
  /**
3794
3834
  * Generated bundle index. Do not edit.