@acorex/modules 20.6.0-next.12 → 20.6.0-next.14

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.
Files changed (61) hide show
  1. package/dashboard-management/index.d.ts +2 -15
  2. package/fesm2022/acorex-modules-conversation.mjs +1 -1
  3. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  4. package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2sEG8P9.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-DxvJ5FUP.mjs} +22 -17
  5. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DxvJ5FUP.mjs.map +1 -0
  6. package/fesm2022/{acorex-modules-dashboard-management-permission-definition.provider-CDof9JW9.mjs → acorex-modules-dashboard-management-permission-definition.provider-tvIEsms4.mjs} +2 -2
  7. package/fesm2022/{acorex-modules-dashboard-management-permission-definition.provider-CDof9JW9.mjs.map → acorex-modules-dashboard-management-permission-definition.provider-tvIEsms4.mjs.map} +1 -1
  8. package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
  9. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-BQg63TCL.mjs → acorex-modules-document-management-acorex-modules-document-management-B3AbD1tJ.mjs} +16 -16
  10. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-BQg63TCL.mjs.map → acorex-modules-document-management-acorex-modules-document-management-B3AbD1tJ.mjs.map} +1 -1
  11. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DsVm2GMs.mjs → acorex-modules-document-management-attachment-widget.component-CzDOiRIY.mjs} +2 -2
  12. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DsVm2GMs.mjs.map → acorex-modules-document-management-attachment-widget.component-CzDOiRIY.mjs.map} +1 -1
  13. package/fesm2022/{acorex-modules-document-management-details-view.component-CPS-Hi0y.mjs → acorex-modules-document-management-details-view.component-DKTHo8ne.mjs} +2 -2
  14. package/fesm2022/{acorex-modules-document-management-details-view.component-CPS-Hi0y.mjs.map → acorex-modules-document-management-details-view.component-DKTHo8ne.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-BdG1o9DR.mjs → acorex-modules-document-management-document-signature-popup.component-DGzzdmDb.mjs} +2 -2
  16. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-BdG1o9DR.mjs.map → acorex-modules-document-management-document-signature-popup.component-DGzzdmDb.mjs.map} +1 -1
  17. package/fesm2022/{acorex-modules-document-management-drive-choose.component-9GYqFNTa.mjs → acorex-modules-document-management-drive-choose.component-D5aiNVzj.mjs} +2 -2
  18. package/fesm2022/{acorex-modules-document-management-drive-choose.component-9GYqFNTa.mjs.map → acorex-modules-document-management-drive-choose.component-D5aiNVzj.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-document-management-drive.component-GEe-dEOj.mjs → acorex-modules-document-management-drive.component-CeBlGsLR.mjs} +6 -5
  20. package/fesm2022/acorex-modules-document-management-drive.component-CeBlGsLR.mjs.map +1 -0
  21. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-nbzNqi8U.mjs → acorex-modules-document-management-large-icons-view.component-CAHXm46u.mjs} +2 -2
  22. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-nbzNqi8U.mjs.map → acorex-modules-document-management-large-icons-view.component-CAHXm46u.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-UaLWEWFL.mjs → acorex-modules-document-management-large-tiles-view.component-or2Wyl76.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-UaLWEWFL.mjs.map → acorex-modules-document-management-large-tiles-view.component-or2Wyl76.mjs.map} +1 -1
  25. package/fesm2022/{acorex-modules-document-management-list-view.component-DrrI8IQy.mjs → acorex-modules-document-management-list-view.component-gmOyQGvk.mjs} +2 -2
  26. package/fesm2022/{acorex-modules-document-management-list-view.component-DrrI8IQy.mjs.map → acorex-modules-document-management-list-view.component-gmOyQGvk.mjs.map} +1 -1
  27. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-CceGO8sF.mjs → acorex-modules-document-management-permission-definition.provider-CcZ1NTWk.mjs} +2 -2
  28. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-CceGO8sF.mjs.map → acorex-modules-document-management-permission-definition.provider-CcZ1NTWk.mjs.map} +1 -1
  29. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-D8ndB-9C.mjs → acorex-modules-document-management-small-icons-view.component-VD2PaT-1.mjs} +2 -2
  30. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-D8ndB-9C.mjs.map → acorex-modules-document-management-small-icons-view.component-VD2PaT-1.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BYIgOhLJ.mjs → acorex-modules-document-management-small-tiles-view.component-fGLTqZyQ.mjs} +2 -2
  32. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BYIgOhLJ.mjs.map → acorex-modules-document-management-small-tiles-view.component-fGLTqZyQ.mjs.map} +1 -1
  33. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  34. package/fesm2022/{acorex-modules-notification-management-notification-page.component-Lz8J7q4k.mjs → acorex-modules-notification-management-notification-page.component-XCr4A447.mjs} +35 -23
  35. package/fesm2022/acorex-modules-notification-management-notification-page.component-XCr4A447.mjs.map +1 -0
  36. package/fesm2022/acorex-modules-notification-management.mjs +1 -1
  37. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-TfQFYkDv.mjs → acorex-modules-report-management-report-runner-root-page.component-BPHpCx1z.mjs} +8 -7
  38. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BPHpCx1z.mjs.map +1 -0
  39. package/fesm2022/acorex-modules-report-management.mjs +16 -15
  40. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  41. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-DTjfgbLU.mjs → acorex-modules-settings-management-acorex-modules-settings-management-DiK4w5LW.mjs} +18 -19
  42. package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-DiK4w5LW.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-DNgLTnFb.mjs → acorex-modules-settings-management-permission-definition.provider-Ddk4v4RY.mjs} +2 -2
  44. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-DNgLTnFb.mjs.map → acorex-modules-settings-management-permission-definition.provider-Ddk4v4RY.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-settings-management-setting-page.component-CXXHizT0.mjs → acorex-modules-settings-management-setting-page.component-XfmsDcZt.mjs} +20 -17
  46. package/fesm2022/acorex-modules-settings-management-setting-page.component-XfmsDcZt.mjs.map +1 -0
  47. package/fesm2022/{acorex-modules-settings-management-setting-view.component-CGolAf-a.mjs → acorex-modules-settings-management-setting-view.component-BZzDT3gG.mjs} +2 -2
  48. package/fesm2022/{acorex-modules-settings-management-setting-view.component-CGolAf-a.mjs.map → acorex-modules-settings-management-setting-view.component-BZzDT3gG.mjs.map} +1 -1
  49. package/fesm2022/acorex-modules-settings-management.mjs +1 -1
  50. package/fesm2022/{acorex-modules-task-management-task-board.page-9rGlt3Fd.mjs → acorex-modules-task-management-task-board.page-Bceu03Yj.mjs} +5 -4
  51. package/fesm2022/{acorex-modules-task-management-task-board.page-9rGlt3Fd.mjs.map → acorex-modules-task-management-task-board.page-Bceu03Yj.mjs.map} +1 -1
  52. package/fesm2022/acorex-modules-task-management.mjs +1 -1
  53. package/package.json +14 -14
  54. package/report-management/index.d.ts +2 -15
  55. package/settings-management/index.d.ts +2 -2
  56. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2sEG8P9.mjs.map +0 -1
  57. package/fesm2022/acorex-modules-document-management-drive.component-GEe-dEOj.mjs.map +0 -1
  58. package/fesm2022/acorex-modules-notification-management-notification-page.component-Lz8J7q4k.mjs.map +0 -1
  59. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-TfQFYkDv.mjs.map +0 -1
  60. package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-DTjfgbLU.mjs.map +0 -1
  61. package/fesm2022/acorex-modules-settings-management-setting-page.component-CXXHizT0.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-settings-management-setting-page.component-CXXHizT0.mjs","sources":["../tmp-esm2022/settings-management/lib/features/settings/setting-page/setting-page.component.js"],"sourcesContent":["import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { AXHighlightService, AXPHookService, resolvePlatformScopeKey, resolvePlatformScopeName } from '@acorex/platform/core';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport { filter, firstValueFrom, startWith, take } from 'rxjs';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPSettingsViewModel } from '../settings.viewmodel';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/router\";\nimport * as i3 from \"@acorex/components/search-box\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/core/translation\";\nimport * as i6 from \"@acorex/components/button\";\nimport * as i7 from \"@acorex/components/tabs\";\nimport * as i8 from \"@acorex/components/loading\";\nimport * as i9 from \"@angular/common\";\nexport class AXPSettingPageComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n this.vm = inject(AXPSettingsViewModel);\n this.activatedRoute = inject(ActivatedRoute);\n this.unsubscribe = inject(AXUnsubscriber);\n this.highlightService = inject(AXHighlightService);\n this.hooks = inject(AXPHookService);\n this.commandService = inject(AXPCommandService);\n this.router = inject(Router);\n this.#effect = effect(() => {\n if (!this.vm.isLoaded()) {\n return;\n }\n const expression = this.vm.searchExpression();\n const app = this.sessionService.application?.name;\n const scope = resolvePlatformScopeName(this.vm.scope());\n const group = this.vm.activateGroup()?.name;\n //\n if (this.vm.isSearching()) {\n this.router.navigate([app, 'settings', scope, group ?? ''], {\n queryParams: { q: expression },\n });\n setTimeout(() => {\n this.highlightService.highlight('#ax-settings', expression);\n }, 100);\n return;\n }\n this.router.navigate([app, 'settings', scope, group ?? '']);\n this.highlightService.clear();\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n #effect;\n async ngOnInit() {\n await super.ngOnInit();\n //\n this.router.events\n .pipe(this.unsubscribe.takeUntilDestroy, filter((event) => event instanceof NavigationEnd), startWith(null))\n .subscribe(async () => {\n await this.loadFromRoute();\n });\n }\n async loadFromRoute() {\n const snapshot = this.activatedRoute.snapshot;\n const routerScope = resolvePlatformScopeKey(snapshot.paramMap.get('scope')?.trim().toLowerCase());\n const vmScope = this.vm.scope();\n const query = snapshot.queryParamMap.get('q');\n //\n //\n if (vmScope != routerScope || !this.vm.isLoaded()) {\n await this.vm.load(routerScope);\n }\n this.vm.unloadActivateGroup();\n this.vm.clearSearch();\n //\n let group = await this.getGroupFromRoute();\n //\n if (!group && this.layoutService.isLarge() && !this.vm.isSearching()) {\n group = this.vm.groups()?.[0]?.name;\n if (group) {\n await this.router.navigate([group], { relativeTo: this.activatedRoute, replaceUrl: true });\n }\n }\n else if (group) {\n await this.vm.setActivateGroupByName(group);\n this.recompute();\n }\n if (query) {\n await this.vm.search(query);\n this.recompute();\n }\n }\n async getGroupFromRoute() {\n const snapshot = this.activatedRoute.snapshot;\n let group = snapshot.paramMap.get('group');\n //\n if (!group) {\n for (const childRoute of this.activatedRoute.children) {\n const params = await firstValueFrom(childRoute.paramMap.pipe(take(1)));\n group = params?.get('group');\n if (group) {\n break;\n }\n }\n }\n return group ?? undefined;\n }\n async handleSelectGroup(item) {\n await this.router.navigate([`${item.name}`], { relativeTo: this.activatedRoute });\n }\n //#region ---------------- Page Configuration Overrides ----------------\n async getSecondaryMenuItems() {\n if (!this.vm.activateGroup()) {\n return [];\n }\n const items = [\n {\n title: await this.translateService.translateAsync('@settings-management:settings.actions.restore-defaults.title'),\n icon: 'fa-light fa-rotate-left',\n color: 'danger',\n command: { name: 'restore-defaults' }\n }\n ];\n const payload = await this.hooks.runAsync('settings-page.secondary-actions', { items });\n return payload.items ?? items;\n }\n async getPageTitle() {\n const groupTitle = this.vm.activateGroup()?.title;\n const scopeTitle = await this.translateService.translateAsync('@settings-management:module.terms.scopes.' + this.vm.scopeTitle());\n if (!this.vm.isSearching()) {\n return groupTitle ?? scopeTitle;\n }\n else {\n return this.translateService.translateAsync('@settings-management:settings.components.search.title', { params: { q: this.vm.searchExpression() } });\n }\n }\n async getPageDescription() {\n const groupDescription = this.vm.activateGroup()?.description;\n const scopeDescription = await this.translateService.translateAsync('@settings-management:module.terms.scopes.' + this.vm.scopeDescription());\n if (!this.vm.isSearching()) {\n return groupDescription ?? scopeDescription;\n }\n else {\n return this.translateService.translateAsync('@settings-management:settings.components.search.description');\n }\n }\n async getPageBadge() {\n if (this.vm.isDirty()) {\n return {\n title: await this.translateService.translateAsync('@general:terms.interface.save-status.not-saved.title'),\n color: 'warning',\n description: await this.translateService.translateAsync('@general:terms.interface.save-status.not-saved.description'),\n };\n }\n return null;\n }\n async getBackButton() {\n if (this.vm.activateGroup()) {\n return {\n title: await this.translateService.translateAsync('@settings-management:module.terms.scopes.' + this.vm.scopeTitle()),\n };\n }\n return null;\n }\n onBackButtonClick() {\n const app = this.sessionService.application?.name;\n const scope = resolvePlatformScopeName(this.vm.scope());\n //\n this.router.navigate([app, 'settings', scope]);\n }\n async execute(command) {\n switch (command.name) {\n case 'restore-defaults':\n await this.vm.resetToDefault();\n break;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPSettingPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXPSettingPageComponent, isStandalone: true, selector: \"ng-component\", host: { classAttribute: \"axp-setting-page\" }, providers: [\n AXUnsubscriber,\n AXPSettingsViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPSettingPageComponent\n }\n ], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.showGroups()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>{{ '@settings-management:module.terms.scopes.' + vm.scopeTitle() | translate | async\\n }}</axp-layout-title>\\n <axp-layout-toolbar>\\n <ax-search-box [delayTime]=\\\"300\\\" [ngModel]=\\\"vm.searchExpression()\\\" (onValueChanged)=\\\"vm.search($event.value)\\\"\\n [placeholder]=\\\"'@settings-management:settings.components.search.placeholder' | translate | async\\\">\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </axp-layout-toolbar>\\n </axp-layout-header>\\n <axp-layout-content>\\n <ax-tabs [look]=\\\"'with-line-color'\\\" [location]=\\\"'end'\\\" [fitParent]=\\\"true\\\">\\n @for (item of vm.groups(); track $index) {\\n <ax-tab-item [text]=\\\"(item.title | translate | async)!\\\" (onClick)=\\\"handleSelectGroup(item)\\\"\\n [active]=\\\"vm.activateGroup() == item && !vm.isSearching()\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-content id=\\\"ax-settings\\\">\\n @if (vm.hasActivateGroup() || vm.isSearching()) {\\n <router-outlet></router-outlet>\\n } @else {\\n <axp-layout-list>\\n @for (item of vm.groups(); track $index) {\\n <axp-layout-list-item (click)=\\\"handleSelectGroup(item)\\\">\\n <axp-layout-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\" class=\\\"ax-text-gray-500\\\"></ax-icon>\\n </axp-layout-prefix>\\n <axp-layout-content>\\n <a class=\\\"ax-font-semibold\\\">{{ item.title | translate | async }}</a>\\n </axp-layout-content>\\n <axp-layout-suffix>\\n <ax-icon icon=\\\" far fa-chevron-right\\\" class=\\\"ax-text-gray-400\\\"></ax-icon>\\n </axp-layout-suffix>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list>\\n }\\n </axp-page-content>\\n\\n @if (vm.isDirty()) {\\n <axp-page-footer class=\\\"--animated\\\">\\n <axp-layout-suffix>\\n <ax-button [class.ax-sm]=\\\"layoutService.isSmall()\\\" [disabled]=\\\"vm.isBusy() || vm.isSaving()\\\"\\n [text]=\\\"'@general:actions.discard.title' | translate | async\\\" (onClick)=\\\"vm.discard()\\\">\\n </ax-button>\\n <ax-button [class.ax-sm]=\\\"layoutService.isSmall()\\\" [disabled]=\\\"vm.isBusy() || vm.isSaving()\\\"\\n [text]=\\\"'@general:actions.apply.title' | translate | async\\\" (onClick)=\\\"vm.apply()\\\" [color]=\\\"'secondary'\\\">\\n @if (vm.isSaving()) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n </axp-layout-suffix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\", styles: [\".axp-setting-page ax-tabs{--ax-comp-tabs-default-border-radius: 0}.axp-setting-page ax-tabs ax-tab-item{margin-top:0!important;margin-bottom:0!important;padding-top:.75rem!important;padding-bottom:.75rem!important;font-weight:600!important}.axp-setting-page axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}.axp-setting-page axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}.axp-setting-page axp-layout-section axp-layout-content .--item-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:2.5rem;padding-right:2.5rem}}.axp-setting-page axp-layout-section axp-layout-content .--item-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.axp-setting-page axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}.axp-setting-page axp-layout-start-side{border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-setting-page #ax-settings{padding:1rem}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i2.RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }, { kind: \"ngmodule\", type: \n //\n AXSearchBoxModule }, { kind: \"component\", type: i3.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\", \"autoSearch\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i5.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i6.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXTabsModule }, { kind: \"component\", type: i7.AXTabsComponent, selector: \"ax-tabs\", inputs: [\"look\", \"location\", \"fitParent\", \"minWidth\", \"content\"], outputs: [\"onActiveTabChanged\"] }, { kind: \"component\", type: i7.AXTabItemComponent, selector: \"ax-tab-item\", inputs: [\"disabled\", \"text\", \"key\", \"headerTemplate\", \"active\"], outputs: [\"disabledChange\", \"onClick\", \"onBlur\", \"onFocus\", \"activeChange\"] }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"component\", type: i8.AXLoadingComponent, selector: \"ax-loading\", inputs: [\"visible\", \"type\", \"context\"], outputs: [\"visibleChange\"] }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"component\", type: \n //\n AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPThemeLayoutListComponent, selector: \"axp-layout-list\" }, { kind: \"component\", type: AXPThemeLayoutListItemComponent, selector: \"axp-layout-list-item\" }, { kind: \"component\", type: AXPThemeLayoutToolbarComponent, selector: \"axp-layout-toolbar\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPThemeLayoutStartSideComponent, selector: \"axp-layout-page-start-side, axp-layout-start-side\" }, { kind: \"pipe\", type: i9.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i5.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXPSettingPageComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n //\n AXSearchBoxModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXTranslationModule,\n AXButtonModule,\n AXTabsModule,\n AXBadgeModule,\n AXLoadingModule,\n AXDropdownButtonModule,\n //\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutListComponent,\n AXPThemeLayoutListItemComponent,\n AXPThemeLayoutToolbarComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n AXUnsubscriber,\n AXPSettingsViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPSettingPageComponent\n }\n ], host: { class: 'axp-setting-page' }, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.showGroups()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>{{ '@settings-management:module.terms.scopes.' + vm.scopeTitle() | translate | async\\n }}</axp-layout-title>\\n <axp-layout-toolbar>\\n <ax-search-box [delayTime]=\\\"300\\\" [ngModel]=\\\"vm.searchExpression()\\\" (onValueChanged)=\\\"vm.search($event.value)\\\"\\n [placeholder]=\\\"'@settings-management:settings.components.search.placeholder' | translate | async\\\">\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </axp-layout-toolbar>\\n </axp-layout-header>\\n <axp-layout-content>\\n <ax-tabs [look]=\\\"'with-line-color'\\\" [location]=\\\"'end'\\\" [fitParent]=\\\"true\\\">\\n @for (item of vm.groups(); track $index) {\\n <ax-tab-item [text]=\\\"(item.title | translate | async)!\\\" (onClick)=\\\"handleSelectGroup(item)\\\"\\n [active]=\\\"vm.activateGroup() == item && !vm.isSearching()\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-content id=\\\"ax-settings\\\">\\n @if (vm.hasActivateGroup() || vm.isSearching()) {\\n <router-outlet></router-outlet>\\n } @else {\\n <axp-layout-list>\\n @for (item of vm.groups(); track $index) {\\n <axp-layout-list-item (click)=\\\"handleSelectGroup(item)\\\">\\n <axp-layout-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\" class=\\\"ax-text-gray-500\\\"></ax-icon>\\n </axp-layout-prefix>\\n <axp-layout-content>\\n <a class=\\\"ax-font-semibold\\\">{{ item.title | translate | async }}</a>\\n </axp-layout-content>\\n <axp-layout-suffix>\\n <ax-icon icon=\\\" far fa-chevron-right\\\" class=\\\"ax-text-gray-400\\\"></ax-icon>\\n </axp-layout-suffix>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list>\\n }\\n </axp-page-content>\\n\\n @if (vm.isDirty()) {\\n <axp-page-footer class=\\\"--animated\\\">\\n <axp-layout-suffix>\\n <ax-button [class.ax-sm]=\\\"layoutService.isSmall()\\\" [disabled]=\\\"vm.isBusy() || vm.isSaving()\\\"\\n [text]=\\\"'@general:actions.discard.title' | translate | async\\\" (onClick)=\\\"vm.discard()\\\">\\n </ax-button>\\n <ax-button [class.ax-sm]=\\\"layoutService.isSmall()\\\" [disabled]=\\\"vm.isBusy() || vm.isSaving()\\\"\\n [text]=\\\"'@general:actions.apply.title' | translate | async\\\" (onClick)=\\\"vm.apply()\\\" [color]=\\\"'secondary'\\\">\\n @if (vm.isSaving()) {\\n <ax-loading></ax-loading>\\n }\\n </ax-button>\\n </axp-layout-suffix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\", styles: [\".axp-setting-page ax-tabs{--ax-comp-tabs-default-border-radius: 0}.axp-setting-page ax-tabs ax-tab-item{margin-top:0!important;margin-bottom:0!important;padding-top:.75rem!important;padding-bottom:.75rem!important;font-weight:600!important}.axp-setting-page axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}.axp-setting-page axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}.axp-setting-page axp-layout-section axp-layout-content .--item-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){.axp-setting-page axp-layout-section axp-layout-content .--item-container{padding-left:2.5rem;padding-right:2.5rem}}.axp-setting-page axp-layout-section axp-layout-content .--item-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.axp-setting-page axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}.axp-setting-page axp-layout-start-side{border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-setting-page #ax-settings{padding:1rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9zZXR0aW5ncy1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvc2V0dGluZ3Mvc2V0dGluZy1wYWdlL3NldHRpbmctcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvc2V0dGluZ3MtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3NldHRpbmdzL3NldHRpbmctcGFnZS9zZXR0aW5nLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDJCQUEyQixFQUMzQiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLDhCQUE4QixHQUMvQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIs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QUssRUFBRSxrQkFBa0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQmFkZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYmFkZ2UnO1xuaW1wb3J0IHsgQVhCcmVhZGNydW1ic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWFNlYXJjaEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94JztcbmltcG9ydCB7IEFYVGFic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHtcbiAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRIZWFkZXJDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0TGlzdENvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRMaXN0SXRlbUNvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0VG9vbGJhckNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBpbmplY3QsIHVudHJhY2tlZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYSGlnaGxpZ2h0U2VydmljZSwgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEJhY2tCdXR0b24sIEFYUEJhZGdlLCBBWFBFeGVjdXRlQ29tbWFuZCwgQVhQSG9va1NlcnZpY2UsIHJlc29sdmVQbGF0Zm9ybVNjb3BlS2V5LCByZXNvbHZlUGxhdGZvcm1TY29wZU5hbWUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQQ29tbWFuZFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3RWYWx1ZUZyb20sIHN0YXJ0V2l0aCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvdmlld3MnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ3NWaWV3TW9kZWwgfSBmcm9tICcuLi9zZXR0aW5ncy52aWV3bW9kZWwnO1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIC8vXG4gICAgQVhTZWFyY2hCb3hNb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhCcmVhZGNydW1ic01vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWERyb3Bkb3duQnV0dG9uTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQUGFnZUxheW91dENvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEJsb2NrQ29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0TGlzdENvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dExpc3RJdGVtQ29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0VG9vbGJhckNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dFN0YXJ0U2lkZUNvbXBvbmVudFxuXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXR0aW5nLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2V0dGluZy1wYWdlLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIEFYVW5zdWJzY3JpYmVyLFxuICAgIEFYUFNldHRpbmdzVmlld01vZGVsLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUFBhZ2VMYXlvdXRCYXNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYUFNldHRpbmdQYWdlQ29tcG9uZW50XG4gICAgfVxuICBdLFxuICBob3N0OiB7IGNsYXNzOiAnYXhwLXNldHRpbmctcGFnZScgfSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ1BhZ2VDb21wb25lbnQgZXh0ZW5kcyBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCB7XG5cbiAgcHJvdGVjdGVkIHZtID0gaW5qZWN0KEFYUFNldHRpbmdzVmlld01vZGVsKTtcbiAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGhpZ2hsaWdodFNlcnZpY2UgPSBpbmplY3QoQVhIaWdobGlnaHRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBob29rcyA9IGluamVjdChBWFBIb29rU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZFNlcnZpY2UgPSBpbmplY3QoQVhQQ29tbWFuZFNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cblxuICAjZWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXRoaXMudm0uaXNMb2FkZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBleHByZXNzaW9uID0gdGhpcy52bS5zZWFyY2hFeHByZXNzaW9uKCk7XG4gICAgY29uc3QgYXBwID0gdGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZTtcbiAgICBjb25zdCBzY29wZSA9IHJlc29sdmVQbGF0Zm9ybVNjb3BlTmFtZSh0aGlzLnZtLnNjb3BlKCkpO1xuICAgIGNvbnN0IGdyb3VwID0gdGhpcy52bS5hY3RpdmF0ZUdyb3VwKCk/Lm5hbWU7XG4gICAgLy9cbiAgICBpZiAodGhpcy52bS5pc1NlYXJjaGluZygpKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYXBwLCAnc2V0dGluZ3MnLCBzY29wZSwgZ3JvdXAgPz8gJyddLCB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7IHE6IGV4cHJlc3Npb24gfSxcbiAgICAgIH0pO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5oaWdobGlnaHQoJyNheC1zZXR0aW5ncycsIGV4cHJlc3Npb24hKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFthcHAsICdzZXR0aW5ncycsIHNjb3BlLCBncm91cCA/PyAnJ10pO1xuICAgIHRoaXMuaGlnaGxpZ2h0U2VydmljZS5jbGVhcigpO1xuICB9KTtcblxuXG5cbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcbiAgICAvL1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUudGFrZVVudGlsRGVzdHJveSxcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZEZyb21Sb3V0ZSgpO1xuICAgICAgfSk7XG4gIH1cblxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEZyb21Sb3V0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3Q7XG4gICAgY29uc3Qgcm91dGVyU2NvcGUgPSByZXNvbHZlUGxhdGZvcm1TY29wZUtleShzbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ3Njb3BlJyk/LnRyaW0oKS50b0xvd2VyQ2FzZSgpISk7XG4gICAgY29uc3Qgdm1TY29wZSA9IHRoaXMudm0uc2NvcGUoKTtcbiAgICBjb25zdCBxdWVyeSA9IHNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdxJyk7XG4gICAgLy9cbiAgICAvL1xuICAgIGlmICh2bVNjb3BlICE9IHJvdXRlclNjb3BlIHx8ICF0aGlzLnZtLmlzTG9hZGVkKCkpIHtcbiAgICAgIGF3YWl0IHRoaXMudm0ubG9hZChyb3V0ZXJTY29wZSk7XG4gICAgfVxuICAgIHRoaXMudm0udW5sb2FkQWN0aXZhdGVHcm91cCgpO1xuICAgIHRoaXMudm0uY2xlYXJTZWFyY2goKTtcbiAgICAvL1xuICAgIGxldCBncm91cCA9IGF3YWl0IHRoaXMuZ2V0R3JvdXBGcm9tUm91dGUoKTtcbiAgICAvL1xuICAgIGlmICghZ3JvdXAgJiYgdGhpcy5sYXlvdXRTZXJ2aWNlLmlzTGFyZ2UoKSAmJiAhdGhpcy52bS5pc1NlYXJjaGluZygpKSB7XG4gICAgICBncm91cCA9IHRoaXMudm0uZ3JvdXBzKCk/LlswXT8ubmFtZTtcbiAgICAgIGlmIChncm91cCkge1xuICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbZ3JvdXBdLCB7IHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsIHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGdyb3VwKSB7XG4gICAgICBhd2FpdCB0aGlzLnZtLnNldEFjdGl2YXRlR3JvdXBCeU5hbWUoZ3JvdXAhKTtcbiAgICAgIHRoaXMucmVjb21wdXRlKCk7XG4gICAgfVxuICAgIGlmIChxdWVyeSkge1xuICAgICAgYXdhaXQgdGhpcy52bS5zZWFyY2gocXVlcnkpO1xuICAgICAgdGhpcy5yZWNvbXB1dGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEdyb3VwRnJvbVJvdXRlKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3Qgc25hcHNob3QgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90O1xuICAgIGxldCBncm91cCA9IHNuYXBzaG90LnBhcmFtTWFwLmdldCgnZ3JvdXAnKTtcbiAgICAvL1xuICAgIGlmICghZ3JvdXApIHtcbiAgICAgIGZvciAoY29uc3QgY2hpbGRSb3V0ZSBvZiB0aGlzLmFjdGl2YXRlZFJvdXRlLmNoaWxkcmVuKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKGNoaWxkUm91dGUucGFyYW1NYXAucGlwZSh0YWtlKDEpKSk7XG4gICAgICAgIGdyb3VwID0gcGFyYW1zPy5nZXQoJ2dyb3VwJyk7XG4gICAgICAgIGlmIChncm91cCkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBncm91cCA/PyB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2VsZWN0R3JvdXAoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCkge1xuICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHtpdGVtLm5hbWV9YF0sIHsgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSB9KTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgUGFnZSBDb25maWd1cmF0aW9uIE92ZXJyaWRlcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICBpZiAoIXRoaXMudm0uYWN0aXZhdGVHcm91cCgpKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbXM6IEFYUEFjdGlvbk1lbnVJdGVtW10gPSBbXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BzZXR0aW5ncy1tYW5hZ2VtZW50OnNldHRpbmdzLmFjdGlvbnMucmVzdG9yZS1kZWZhdWx0cy50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtcm90YXRlLWxlZnQnLFxuICAgICAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgICAgIGNvbW1hbmQ6IHsgbmFtZTogJ3Jlc3RvcmUtZGVmYXVsdHMnIH1cbiAgICAgIH1cbiAgICBdO1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IGF3YWl0IHRoaXMuaG9va3MucnVuQXN5bmMoJ3NldHRpbmdzLXBhZ2Uuc2Vjb25kYXJ5LWFjdGlvbnMnLCB7IGl0ZW1zIH0pO1xuICAgIHJldHVybiBwYXlsb2FkLml0ZW1zID8/IGl0ZW1zO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZVRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgZ3JvdXBUaXRsZSA9IHRoaXMudm0uYWN0aXZhdGVHcm91cCgpPy50aXRsZTtcbiAgICBjb25zdCBzY29wZVRpdGxlID0gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAc2V0dGluZ3MtbWFuYWdlbWVudDptb2R1bGUudGVybXMuc2NvcGVzLicgKyB0aGlzLnZtLnNjb3BlVGl0bGUoKSk7XG4gICAgaWYgKCF0aGlzLnZtLmlzU2VhcmNoaW5nKCkpIHtcbiAgICAgIHJldHVybiBncm91cFRpdGxlID8/IHNjb3BlVGl0bGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BzZXR0aW5ncy1tYW5hZ2VtZW50OnNldHRpbmdzLmNvbXBvbmVudHMuc2VhcmNoLnRpdGxlJywgeyBwYXJhbXM6IHsgcTogdGhpcy52bS5zZWFyY2hFeHByZXNzaW9uKCkgfSB9KVxuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VEZXNjcmlwdGlvbigpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCBncm91cERlc2NyaXB0aW9uID0gdGhpcy52bS5hY3RpdmF0ZUdyb3VwKCk/LmRlc2NyaXB0aW9uO1xuICAgIGNvbnN0IHNjb3BlRGVzY3JpcHRpb24gPSBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BzZXR0aW5ncy1tYW5hZ2VtZW50Om1vZHVsZS50ZXJtcy5zY29wZXMuJyArIHRoaXMudm0uc2NvcGVEZXNjcmlwdGlvbigpKTtcbiAgICBpZiAoIXRoaXMudm0uaXNTZWFyY2hpbmcoKSkge1xuICAgICAgcmV0dXJuIGdyb3VwRGVzY3JpcHRpb24gPz8gc2NvcGVEZXNjcmlwdGlvbjtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAc2V0dGluZ3MtbWFuYWdlbWVudDpzZXR0aW5ncy5jb21wb25lbnRzLnNlYXJjaC5kZXNjcmlwdGlvbicpXG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZUJhZGdlKCk6IFByb21pc2U8QVhQQmFkZ2UgfCBudWxsPiB7XG4gICAgaWYgKHRoaXMudm0uaXNEaXJ0eSgpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAZ2VuZXJhbDp0ZXJtcy5pbnRlcmZhY2Uuc2F2ZS1zdGF0dXMubm90LXNhdmVkLnRpdGxlJyksXG4gICAgICAgIGNvbG9yOiAnd2FybmluZycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BnZW5lcmFsOnRlcm1zLmludGVyZmFjZS5zYXZlLXN0YXR1cy5ub3Qtc2F2ZWQuZGVzY3JpcHRpb24nKSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0QmFja0J1dHRvbigpOiBQcm9taXNlPEFYUEJhY2tCdXR0b24gfCBudWxsPiB7XG4gICAgaWYgKHRoaXMudm0uYWN0aXZhdGVHcm91cCgpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAc2V0dGluZ3MtbWFuYWdlbWVudDptb2R1bGUudGVybXMuc2NvcGVzLicgKyB0aGlzLnZtLnNjb3BlVGl0bGUoKSksXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uQmFja0J1dHRvbkNsaWNrKCk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBhcHAgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lO1xuICAgIGNvbnN0IHNjb3BlID0gcmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHRoaXMudm0uc2NvcGUoKSk7XG4gICAgLy9cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYXBwLCAnc2V0dGluZ3MnLCBzY29wZV0pO1xuICB9XG5cblxuICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbW1hbmQ6IEFYUEV4ZWN1dGVDb21tYW5kKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3dpdGNoIChjb21tYW5kLm5hbWUpIHtcbiAgICAgIGNhc2UgJ3Jlc3RvcmUtZGVmYXVsdHMnOlxuICAgICAgICBhd2FpdCB0aGlzLnZtLnJlc2V0VG9EZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuIiwiPGF4cC1wYWdlLWxheW91dCAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgQGlmICh2bS5zaG93R3JvdXBzKCkpIHtcbiAgPGF4cC1sYXlvdXQtc3RhcnQtc2lkZT5cbiAgICA8YXhwLWxheW91dC1oZWFkZXI+XG4gICAgICA8YXhwLWxheW91dC10aXRsZT57eyAnQHNldHRpbmdzLW1hbmFnZW1lbnQ6bW9kdWxlLnRlcm1zLnNjb3Blcy4nICsgdm0uc2NvcGVUaXRsZSgpIHwgdHJhbnNsYXRlIHwgYXN5bmNcbiAgICAgICAgfX08L2F4cC1sYXlvdXQtdGl0bGU+XG4gICAgICA8YXhwLWxheW91dC10b29sYmFyPlxuICAgICAgICA8YXgtc2VhcmNoLWJveCBbZGVsYXlUaW1lXT1cIjMwMFwiIFtuZ01vZGVsXT1cInZtLnNlYXJjaEV4cHJlc3Npb24oKVwiIChvblZhbHVlQ2hhbmdlZCk9XCJ2bS5zZWFyY2goJGV2ZW50LnZhbHVlKVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAc2V0dGluZ3MtbWFuYWdlbWVudDpzZXR0aW5ncy5jb21wb25lbnRzLnNlYXJjaC5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGUgfCBhc3luY1wiPlxuICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgIDwvYXgtc2VhcmNoLWJveD5cbiAgICAgIDwvYXhwLWxheW91dC10b29sYmFyPlxuICAgIDwvYXhwLWxheW91dC1oZWFkZXI+XG4gICAgPGF4cC1sYXlvdXQtY29udGVudD5cbiAgICAgIDxheC10YWJzIFtsb29rXT1cIid3aXRoLWxpbmUtY29sb3InXCIgW2xvY2F0aW9uXT1cIidlbmQnXCIgW2ZpdFBhcmVudF09XCJ0cnVlXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2Ygdm0uZ3JvdXBzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8YXgtdGFiLWl0ZW0gW3RleHRdPVwiKGl0ZW0udGl0bGUgfCB0cmFuc2xhdGUgfCBhc3luYykhXCIgKG9uQ2xpY2spPVwiaGFuZGxlU2VsZWN0R3JvdXAoaXRlbSlcIlxuICAgICAgICAgIFthY3RpdmVdPVwidm0uYWN0aXZhdGVHcm91cCgpID09IGl0ZW0gJiYgIXZtLmlzU2VhcmNoaW5nKClcIj5cbiAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhciAke3sgaXRlbS5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICA8L2F4LXRhYi1pdGVtPlxuICAgICAgICB9XG4gICAgICA8L2F4LXRhYnM+XG4gICAgPC9heHAtbGF5b3V0LWNvbnRlbnQ+XG4gIDwvYXhwLWxheW91dC1zdGFydC1zaWRlPlxuICB9XG5cbiAgPGF4cC1wYWdlLWNvbnRlbnQgaWQ9XCJheC1zZXR0aW5nc1wiPlxuICAgIEBpZiAodm0uaGFzQWN0aXZhdGVHcm91cCgpIHx8IHZtLmlzU2VhcmNoaW5nKCkpIHtcbiAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgfSBAZWxzZSB7XG4gICAgPGF4cC1sYXlvdXQtbGlzdD5cbiAgICAgIEBmb3IgKGl0ZW0gb2Ygdm0uZ3JvdXBzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGF4cC1sYXlvdXQtbGlzdC1pdGVtIChjbGljayk9XCJoYW5kbGVTZWxlY3RHcm91cChpdGVtKVwiPlxuICAgICAgICA8YXhwLWxheW91dC1wcmVmaXg+XG4gICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhciAke3sgaXRlbS5pY29uIH19XCIgY2xhc3M9XCJheC10ZXh0LWdyYXktNTAwXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4cC1sYXlvdXQtcHJlZml4PlxuICAgICAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgICAgIDxhIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZFwiPnt7IGl0ZW0udGl0bGUgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYT5cbiAgICAgICAgPC9heHAtbGF5b3V0LWNvbnRlbnQ+XG4gICAgICAgIDxheHAtbGF5b3V0LXN1ZmZpeD5cbiAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiIGZhciBmYS1jaGV2cm9uLXJpZ2h0XCIgY2xhc3M9XCJheC10ZXh0LWdyYXktNDAwXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4cC1sYXlvdXQtc3VmZml4PlxuICAgICAgPC9heHAtbGF5b3V0LWxpc3QtaXRlbT5cbiAgICAgIH1cbiAgICA8L2F4cC1sYXlvdXQtbGlzdD5cbiAgICB9XG4gIDwvYXhwLXBhZ2UtY29udGVudD5cblxuICBAaWYgKHZtLmlzRGlydHkoKSkge1xuICA8YXhwLXBhZ2UtZm9vdGVyIGNsYXNzPVwiLS1hbmltYXRlZFwiPlxuICAgIDxheHAtbGF5b3V0LXN1ZmZpeD5cbiAgICAgIDxheC1idXR0b24gW2NsYXNzLmF4LXNtXT1cImxheW91dFNlcnZpY2UuaXNTbWFsbCgpXCIgW2Rpc2FibGVkXT1cInZtLmlzQnVzeSgpIHx8IHZtLmlzU2F2aW5nKClcIlxuICAgICAgICBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5kaXNjYXJkLnRpdGxlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgKG9uQ2xpY2spPVwidm0uZGlzY2FyZCgpXCI+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgIDxheC1idXR0b24gW2NsYXNzLmF4LXNtXT1cImxheW91dFNlcnZpY2UuaXNTbWFsbCgpXCIgW2Rpc2FibGVkXT1cInZtLmlzQnVzeSgpIHx8IHZtLmlzU2F2aW5nKClcIlxuICAgICAgICBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5hcHBseS50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIChvbkNsaWNrKT1cInZtLmFwcGx5KClcIiBbY29sb3JdPVwiJ3NlY29uZGFyeSdcIj5cbiAgICAgICAgQGlmICh2bS5pc1NhdmluZygpKSB7XG4gICAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgICAgfVxuICAgICAgPC9heC1idXR0b24+XG4gICAgPC9heHAtbGF5b3V0LXN1ZmZpeD5cbiAgPC9heHAtcGFnZS1mb290ZXI+XG4gIH1cbjwvYXhwLXBhZ2UtbGF5b3V0PiJdfQ=="],"names":["i9"],"mappings":"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"}