aril 1.1.96 → 1.1.97
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.
- package/boot/bridge/index.d.ts +2 -0
- package/boot/bridge/src/mfe-bridge.d.ts +33 -0
- package/boot/bridge/src/provide-mfe-bridge.d.ts +1 -0
- package/boot/config/apps/src/apps.service.d.ts +7 -4
- package/boot/config/plugins/src/getNgZone.d.ts +1 -1
- package/boot/host/src/app.component.d.ts +5 -3
- package/boot/mfe/src/app.component.d.ts +4 -2
- package/esm2022/boot/bridge/aril-boot-bridge.mjs +5 -0
- package/esm2022/boot/bridge/index.mjs +3 -0
- package/esm2022/boot/bridge/src/mfe-bridge.mjs +59 -0
- package/esm2022/boot/bridge/src/provide-mfe-bridge.mjs +6 -0
- package/esm2022/boot/config/api/src/api.service.mjs +10 -6
- package/esm2022/boot/config/apps/src/apps.service.mjs +12 -15
- package/esm2022/boot/config/plugins/src/getNgZone.mjs +4 -3
- package/esm2022/boot/config/plugins/src/plugins.service.mjs +4 -2
- package/esm2022/boot/host/src/app.component.mjs +11 -10
- package/esm2022/boot/host/src/bootstrap.mjs +4 -2
- package/esm2022/boot/mfe/src/app.component.mjs +15 -12
- package/esm2022/boot/mfe/src/bootstrap.mjs +4 -2
- package/esm2022/boot/mfe/src/loadStyles.mjs +3 -2
- package/esm2022/keycloak/src/auth.interceptor.mjs +3 -2
- package/esm2022/provider/src/prodiveHost.mjs +3 -2
- package/esm2022/provider/src/prodiveHostRouter.mjs +4 -3
- package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +4 -3
- package/esm2022/theme/layout/app/expandableMenu/expandable-menu.component.mjs +3 -4
- package/esm2022/theme/layout/app/general-search/general-search.component.mjs +3 -2
- package/esm2022/theme/layout/app/history/history.service.mjs +3 -2
- package/esm2022/theme/layout/app/layout/app.layout.component.mjs +1 -2
- package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +3 -2
- package/esm2022/theme/layout/app/static-sidebar/static-sidebar.component.mjs +3 -4
- package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +7 -4
- package/esm2022/util/directives/src/detail-page-customization/detail-page-customization.directive.mjs +4 -3
- package/fesm2022/{aril-app.component-hxaLgwmC.mjs → aril-app.component-FxPod9bE.mjs} +15 -12
- package/fesm2022/aril-app.component-FxPod9bE.mjs.map +1 -0
- package/fesm2022/aril-boot-bridge.mjs +70 -0
- package/fesm2022/aril-boot-bridge.mjs.map +1 -0
- package/fesm2022/aril-boot-config-api.mjs +10 -6
- package/fesm2022/aril-boot-config-api.mjs.map +1 -1
- package/fesm2022/aril-boot-config-apps.mjs +11 -14
- package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
- package/fesm2022/aril-boot-config-plugins.mjs +5 -3
- package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
- package/fesm2022/aril-boot-host.mjs +13 -10
- package/fesm2022/aril-boot-host.mjs.map +1 -1
- package/fesm2022/{aril-boot-mfe-app.component-s1a-tkOD.mjs → aril-boot-mfe-app.component-dZp2aSTk.mjs} +16 -13
- package/fesm2022/aril-boot-mfe-app.component-dZp2aSTk.mjs.map +1 -0
- package/fesm2022/{aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs → aril-boot-mfe-aril-boot-mfe-mm6nhyRL.mjs} +6 -4
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-mm6nhyRL.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe.mjs +2 -1
- package/fesm2022/aril-boot-mfe.mjs.map +1 -1
- package/fesm2022/aril-keycloak.mjs +2 -1
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril-provider.mjs +4 -3
- package/fesm2022/aril-provider.mjs.map +1 -1
- package/fesm2022/aril-theme-layout.mjs +13 -15
- package/fesm2022/aril-theme-layout.mjs.map +1 -1
- package/fesm2022/aril-util-directives.mjs +3 -2
- package/fesm2022/aril-util-directives.mjs.map +1 -1
- package/fesm2022/aril.mjs +17 -13
- package/fesm2022/aril.mjs.map +1 -1
- package/package.json +145 -139
- package/theme/layout/app/breadcrumb/app.breadcrumb.component.ts +3 -2
- package/theme/layout/app/expandableMenu/expandable-menu.component.d.ts +0 -2
- package/theme/layout/app/expandableMenu/expandable-menu.component.ts +2 -3
- package/theme/layout/app/general-search/general-search.component.ts +2 -1
- package/theme/layout/app/history/history.service.ts +2 -1
- package/theme/layout/app/layout/app.layout.component.d.ts +0 -1
- package/theme/layout/app/layout/app.layout.component.ts +0 -1
- package/theme/layout/app/site-map/site-map-sidebar.component.ts +2 -1
- package/theme/layout/app/static-sidebar/static-sidebar.component.ts +2 -3
- package/theme/layout/app/topbar/app.topbar.component.ts +6 -3
- package/fesm2022/aril-app.component-hxaLgwmC.mjs.map +0 -1
- package/fesm2022/aril-boot-mfe-app.component-s1a-tkOD.mjs.map +0 -1
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs.map +0 -1
|
@@ -6,6 +6,7 @@ import { AutoCompleteModule } from 'primeng/autocomplete';
|
|
|
6
6
|
import { TranslocoModule } from '@ngneat/transloco';
|
|
7
7
|
import { of, startWith, Subject } from 'rxjs';
|
|
8
8
|
import { catchError, filter, map, switchMap } from 'rxjs/operators';
|
|
9
|
+
import { bridge } from 'aril/boot/bridge';
|
|
9
10
|
import { Apps } from 'aril/boot/config/apps';
|
|
10
11
|
import { getPresentableData } from './helpers';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
@@ -52,7 +53,7 @@ export class GeneralSearchComponent {
|
|
|
52
53
|
this.presentableData = getPresentableData(this.data, tab);
|
|
53
54
|
}
|
|
54
55
|
goToDetail(item) {
|
|
55
|
-
const isHostYeap =
|
|
56
|
+
const isHostYeap = bridge.activeHost() === Apps.YEAP;
|
|
56
57
|
if (isHostYeap) {
|
|
57
58
|
this.router.navigate(['mng/master-data/view-md-data'], {
|
|
58
59
|
queryParams: { assetId: item.assetId }
|
|
@@ -72,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
72
73
|
type: Component,
|
|
73
74
|
args: [{ selector: 'app-general-search', standalone: true, imports: [CommonModule, FormsModule, TranslocoModule, AutoCompleteModule], template: "<ng-container *transloco=\"let g\">\r\n\t<ng-container *transloco=\"let t; read: 'generalSearch'\">\r\n\t\t<div class=\"global-search\">\r\n\t\t\t<p-autoComplete\r\n\t\t\t\t[(ngModel)]=\"query\"\r\n\t\t\t\toptionLabel=\"title\"\r\n\t\t\t\tminLength=\"3\"\r\n\t\t\t\t[delay]=\"500\"\r\n\t\t\t\t(completeMethod)=\"search($event.query)\"\r\n\t\t\t\t[suggestions]=\"presentableData\"\r\n\t\t\t\t[placeholder]=\"t('placeholder')\"\r\n\t\t\t\t(onSelect)=\"onResultClick($event)\">\r\n\t\t\t\t<ng-template pTemplate=\"empty\">\r\n\t\t\t\t\t<div class=\"px-3\">\r\n\t\t\t\t\t\t{{ t('noResults') }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\t\t\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t\t\t<div class=\"tabs flex gap-2 overflow-x-auto white-space-nowrap p-2 border-bottom-1 border-gray-200\">\r\n\t\t\t\t\t\t<span (click)=\"setTab('all')\" class=\"cursor-pointer py-1 px-2\" [class.active]=\"activeTab === 'all'\">\r\n\t\t\t\t\t\t\t{{ t('all') }}\r\n\t\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t\t@for (tab of data | keyvalue; track tab) {\r\n\t\t\t\t\t\t\t<span (click)=\"setTab(tab.key)\" class=\"cursor-pointer py-1 px-2\" [class.active]=\"activeTab === tab.key\">\r\n\t\t\t\t\t\t\t\t{{ data[tab.key].result[0].assetDefinitionName }}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\t\t\t\t<ng-template let-result pTemplate=\"item\">\r\n\t\t\t\t\t<div class=\"flex items-center gap-2\">\r\n\t\t\t\t\t\t<div class=\"result-icon\">\r\n\t\t\t\t\t\t\t<i class=\"pi {{ result.icon }}\"></i>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"result-text\">\r\n\t\t\t\t\t\t\t<div class=\"title mb-2\">{{ result.title }}</div>\r\n\t\t\t\t\t\t\t@if (result.subtitle) {\r\n\t\t\t\t\t\t\t\t<div class=\"subtitle\">{{ result.subtitle }}</div>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t@if (result.url) {\r\n\t\t\t\t\t\t\t<div class=\"open-btn ml-auto align-self-center\">\r\n\t\t\t\t\t\t\t\t<i class=\"pi pi-chevron-right\"></i>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\t\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t\t<div class=\"px-3 py-3 border-top-1 border-gray-200\">\r\n\t\t\t\t\t\t<span>{{ presentableData.length }} {{ t('results') }}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</p-autoComplete>\r\n\t\t</div>\r\n\t</ng-container>\r\n</ng-container>\r\n", styles: [":host ::ng-deep .p-autocomplete,:host ::ng-deep .p-autocomplete-input{width:100%;max-width:100%}:host ::ng-deep .p-overlay{width:100%!important;max-width:100%!important}:host ::ng-deep .p-autocomplete-item.p-focus{background:var(--gray-100)}:host ::ng-deep .tabs span.active{font-weight:700;border-bottom:2px solid var(--gray-900)}.global-search{position:relative}\n"] }]
|
|
74
75
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.SearchService }] });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2dlbmVyYWwtc2VhcmNoL2dlbmVyYWwtc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdGhlbWUvbGF5b3V0L2FwcC9nZW5lcmFsLXNlYXJjaC9nZW5lcmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQTJCLE1BQU0sc0JBQXNCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7O0FBVS9DLE1BQU0sT0FBTyxzQkFBc0I7SUE0QmxDLFlBQ2tCLE1BQWMsRUFDZCxhQUE0QjtRQUQ1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsa0JBQWEsR0FBYixhQUFhLENBQWU7UUE3QjlDLFVB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LDhFQ3pCbkMsKzBFQXlEQSx1YURwQ1csWUFBWSx5RkFBRSxXQUFXLDhWQUFFLGVBQWUsZ09BQUUsa0JBQWtCOzsyRkFJNUQsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNDLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU1vZHVsZSwgQXV0b0NvbXBsZXRlU2VsZWN0RXZlbnQgfSBmcm9tICdwcmltZW5nL2F1dG9jb21wbGV0ZSc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xvY29Nb2R1bGUgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XHJcbmltcG9ydCB7IG9mLCBzdGFydFdpdGgsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2VhcmNoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBnZXRQcmVzZW50YWJsZURhdGEgfSBmcm9tICcuL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBDYWNoZVNlYXJjaFJlcXVlc3REVE8sIERlZmF1bHRTZWFyY2hBZ2dyZWdhdGVBc3NldEFnZ3JlZ2F0ZSwgUHJlc2VudGFibGVEYXRhIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtZ2VuZXJhbC1zZWFyY2gnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFRyYW5zbG9jb01vZHVsZSwgQXV0b0NvbXBsZXRlTW9kdWxlXSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vZ2VuZXJhbC1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2dlbmVyYWwtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEdlbmVyYWxTZWFyY2hDb21wb25lbnQge1xyXG5cdHF1ZXJ5ID0gJyc7XHJcblx0YWN0aXZlVGFiID0gJ2FsbCc7XHJcblx0ZGF0YTogRGVmYXVsdFNlYXJjaEFnZ3JlZ2F0ZUFzc2V0QWdncmVnYXRlID0ge307XHJcblx0cHJlc2VudGFibGVEYXRhOiBQcmVzZW50YWJsZURhdGFbXSA9IFtdO1xyXG5cdHByaXZhdGUgcXVlcnlTdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG5cdHJlc3VsdHNTaWcgPSB0b1NpZ25hbDxEZWZhdWx0U2VhcmNoQWdncmVnYXRlQXNzZXRBZ2dyZWdhdGUgfCBudWxsPihcclxuXHRcdHRoaXMucXVlcnlTdWJqZWN0LnBpcGUoXHJcblx0XHRcdG1hcCgocSkgPT4gcS50cmltKCkpLFxyXG5cdFx0XHRmaWx0ZXIoKHEpID0+IHEubGVuZ3RoID4gMiksXHJcblx0XHRcdHN3aXRjaE1hcCgocSkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHBheWxvYWQ6IENhY2hlU2VhcmNoUmVxdWVzdERUTyA9IHtcclxuXHRcdFx0XHRcdHNlYXJjaFRleHQ6IHEsXHJcblx0XHRcdFx0XHRhc3NldERlZmluaXRpb25Db2RlczogW10sXHJcblx0XHRcdFx0XHRwYWdlcjogeyBwYWdlU2l6ZTogNSwgcGFnZU51bWJlcjogMSB9XHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaEZvckFzc2V0cyhwYXlsb2FkKS5waXBlKFxyXG5cdFx0XHRcdFx0bWFwKChyZXMpID0+IHJlcy5yZXNwb25zZSksXHJcblx0XHRcdFx0XHRjYXRjaEVycm9yKCgpID0+IHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIG9mKHt9IGFzIERlZmF1bHRTZWFyY2hBZ2dyZWdhdGVBc3NldEFnZ3JlZ2F0ZSk7XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdHN0YXJ0V2l0aChudWxsKVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0pXHJcblx0XHQpLFxyXG5cdFx0eyBpbml0aWFsVmFsdWU6IG51bGwgfVxyXG5cdCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZVxyXG5cdCkge1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0Y29uc3QgcmVzdWx0cyA9IHRoaXMucmVzdWx0c1NpZygpO1xyXG5cdFx0XHRpZiAocmVzdWx0cykge1xyXG5cdFx0XHRcdHRoaXMuZGF0YSA9IHJlc3VsdHM7XHJcblx0XHRcdFx0dGhpcy5wcmVzZW50YWJsZURhdGEgPSBnZXRQcmVzZW50YWJsZURhdGEocmVzdWx0cywgdGhpcy5hY3RpdmVUYWIpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHNlYXJjaChxdWVyeTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLnF1ZXJ5ID0gKHF1ZXJ5ID8/ICcnKS50cmltKCk7XHJcblx0XHR0aGlzLnF1ZXJ5U3ViamVjdC5uZXh0KHRoaXMucXVlcnkpO1xyXG5cdH1cclxuXHJcblx0c2V0VGFiKHRhYjogc3RyaW5nKSB7XHJcblx0XHR0aGlzLmFjdGl2ZVRhYiA9IHRhYjtcclxuXHRcdHRoaXMucHJlc2VudGFibGVEYXRhID0gZ2V0UHJlc2VudGFibGVEYXRhKHRoaXMuZGF0YSwgdGFiKTtcclxuXHR9XHJcblxyXG5cdGdvVG9EZXRhaWwoaXRlbTogUHJlc2VudGFibGVEYXRhKSB7XHJcblx0XHRjb25zdCBpc0hvc3RZZWFwID0gKDxhbnk+Z2xvYmFsVGhpcykuYWN0aXZlSG9zdCA9PT0gQXBwcy5ZRUFQO1xyXG5cclxuXHRcdGlmIChpc0hvc3RZZWFwKSB7XHJcblx0XHRcdHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbW5nL21hc3Rlci1kYXRhL3ZpZXctbWQtZGF0YSddLCB7XHJcblx0XHRcdFx0cXVlcnlQYXJhbXM6IHsgYXNzZXRJZDogaXRlbS5hc3NldElkIH1cclxuXHRcdFx0fSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaXRlbS51cmxdKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9uUmVzdWx0Q2xpY2soaXRlbTogQXV0b0NvbXBsZXRlU2VsZWN0RXZlbnQpIHtcclxuXHRcdHRoaXMuZ29Ub0RldGFpbChpdGVtLnZhbHVlKTtcclxuXHR9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IGdcIj5cclxuXHQ8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogJ2dlbmVyYWxTZWFyY2gnXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiZ2xvYmFsLXNlYXJjaFwiPlxyXG5cdFx0XHQ8cC1hdXRvQ29tcGxldGVcclxuXHRcdFx0XHRbKG5nTW9kZWwpXT1cInF1ZXJ5XCJcclxuXHRcdFx0XHRvcHRpb25MYWJlbD1cInRpdGxlXCJcclxuXHRcdFx0XHRtaW5MZW5ndGg9XCIzXCJcclxuXHRcdFx0XHRbZGVsYXldPVwiNTAwXCJcclxuXHRcdFx0XHQoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudC5xdWVyeSlcIlxyXG5cdFx0XHRcdFtzdWdnZXN0aW9uc109XCJwcmVzZW50YWJsZURhdGFcIlxyXG5cdFx0XHRcdFtwbGFjZWhvbGRlcl09XCJ0KCdwbGFjZWhvbGRlcicpXCJcclxuXHRcdFx0XHQob25TZWxlY3QpPVwib25SZXN1bHRDbGljaygkZXZlbnQpXCI+XHJcblx0XHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImVtcHR5XCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicHgtM1wiPlxyXG5cdFx0XHRcdFx0XHR7eyB0KCdub1Jlc3VsdHMnKSB9fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFicyBmbGV4IGdhcC0yIG92ZXJmbG93LXgtYXV0byB3aGl0ZS1zcGFjZS1ub3dyYXAgcC0yIGJvcmRlci1ib3R0b20tMSBib3JkZXItZ3JheS0yMDBcIj5cclxuXHRcdFx0XHRcdFx0PHNwYW4gKGNsaWNrKT1cInNldFRhYignYWxsJylcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIHB5LTEgcHgtMlwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09PSAnYWxsJ1wiPlxyXG5cdFx0XHRcdFx0XHRcdHt7IHQoJ2FsbCcpIH19XHJcblx0XHRcdFx0XHRcdDwvc3Bhbj5cclxuXHJcblx0XHRcdFx0XHRcdEBmb3IgKHRhYiBvZiBkYXRhIHwga2V5dmFsdWU7IHRyYWNrIHRhYikge1xyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIChjbGljayk9XCJzZXRUYWIodGFiLmtleSlcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIHB5LTEgcHgtMlwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09PSB0YWIua2V5XCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7eyBkYXRhW3RhYi5rZXldLnJlc3VsdFswXS5hc3NldERlZmluaXRpb25OYW1lIH19XHJcblx0XHRcdFx0XHRcdFx0PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBsZXQtcmVzdWx0IHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicmVzdWx0LWljb25cIj5cclxuXHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHt7IHJlc3VsdC5pY29uIH19XCI+PC9pPlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInJlc3VsdC10ZXh0XCI+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRpdGxlIG1iLTJcIj57eyByZXN1bHQudGl0bGUgfX08L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHRAaWYgKHJlc3VsdC5zdWJ0aXRsZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInN1YnRpdGxlXCI+e3sgcmVzdWx0LnN1YnRpdGxlIH19PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0QGlmIChyZXN1bHQudXJsKSB7XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm9wZW4tYnRuIG1sLWF1dG8gYWxpZ24tc2VsZi1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwicGkgcGktY2hldnJvbi1yaWdodFwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicHgtMyBweS0zIGJvcmRlci10b3AtMSBib3JkZXItZ3JheS0yMDBcIj5cclxuXHRcdFx0XHRcdFx0PHNwYW4+e3sgcHJlc2VudGFibGVEYXRhLmxlbmd0aCB9fSB7eyB0KCdyZXN1bHRzJykgfX08L3NwYW4+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHQ8L3AtYXV0b0NvbXBsZXRlPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2dlbmVyYWwtc2VhcmNoL2dlbmVyYWwtc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdGhlbWUvbGF5b3V0L2FwcC9nZW5lcmFsLXNlYXJjaC9nZW5lcmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQTJCLE1BQU0sc0JBQXNCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7OztBQVUvQyxNQUFNLE9BQU8sc0JBQXNCO0lBNEJsQyxZQUNrQixNQUFjLEVBQ2QsYUFBNEI7UUFENUIsV0FBTSxHQUFOLE1B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Q0FBQyxDQUFDO0lBQzdCLENBQUM7OEdBakVXLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDhFQzFCbkMsKzBFQXlEQSx1YURuQ1csWUFBWSx5RkFBRSxXQUFXLDhWQUFFLGVBQWUsZ09BQUUsa0JBQWtCOzsyRkFJNUQsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNDLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU1vZHVsZSwgQXV0b0NvbXBsZXRlU2VsZWN0RXZlbnQgfSBmcm9tICdwcmltZW5nL2F1dG9jb21wbGV0ZSc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xvY29Nb2R1bGUgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XHJcbmltcG9ydCB7IG9mLCBzdGFydFdpdGgsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IGJyaWRnZSB9IGZyb20gJ2FyaWwvYm9vdC9icmlkZ2UnO1xyXG5pbXBvcnQgeyBBcHBzIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcHBzJztcclxuXHJcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3NlYXJjaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZ2V0UHJlc2VudGFibGVEYXRhIH0gZnJvbSAnLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgQ2FjaGVTZWFyY2hSZXF1ZXN0RFRPLCBEZWZhdWx0U2VhcmNoQWdncmVnYXRlQXNzZXRBZ2dyZWdhdGUsIFByZXNlbnRhYmxlRGF0YSB9IGZyb20gJy4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWdlbmVyYWwtc2VhcmNoJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBUcmFuc2xvY29Nb2R1bGUsIEF1dG9Db21wbGV0ZU1vZHVsZV0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2dlbmVyYWwtc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9nZW5lcmFsLXNlYXJjaC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmFsU2VhcmNoQ29tcG9uZW50IHtcclxuXHRxdWVyeSA9ICcnO1xyXG5cdGFjdGl2ZVRhYiA9ICdhbGwnO1xyXG5cdGRhdGE6IERlZmF1bHRTZWFyY2hBZ2dyZWdhdGVBc3NldEFnZ3JlZ2F0ZSA9IHt9O1xyXG5cdHByZXNlbnRhYmxlRGF0YTogUHJlc2VudGFibGVEYXRhW10gPSBbXTtcclxuXHRwcml2YXRlIHF1ZXJ5U3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHRyZXN1bHRzU2lnID0gdG9TaWduYWw8RGVmYXVsdFNlYXJjaEFnZ3JlZ2F0ZUFzc2V0QWdncmVnYXRlIHwgbnVsbD4oXHJcblx0XHR0aGlzLnF1ZXJ5U3ViamVjdC5waXBlKFxyXG5cdFx0XHRtYXAoKHEpID0+IHEudHJpbSgpKSxcclxuXHRcdFx0ZmlsdGVyKChxKSA9PiBxLmxlbmd0aCA+IDIpLFxyXG5cdFx0XHRzd2l0Y2hNYXAoKHEpID0+IHtcclxuXHRcdFx0XHRjb25zdCBwYXlsb2FkOiBDYWNoZVNlYXJjaFJlcXVlc3REVE8gPSB7XHJcblx0XHRcdFx0XHRzZWFyY2hUZXh0OiBxLFxyXG5cdFx0XHRcdFx0YXNzZXREZWZpbml0aW9uQ29kZXM6IFtdLFxyXG5cdFx0XHRcdFx0cGFnZXI6IHsgcGFnZVNpemU6IDUsIHBhZ2VOdW1iZXI6IDEgfVxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hGb3JBc3NldHMocGF5bG9hZCkucGlwZShcclxuXHRcdFx0XHRcdG1hcCgocmVzKSA9PiByZXMucmVzcG9uc2UpLFxyXG5cdFx0XHRcdFx0Y2F0Y2hFcnJvcigoKSA9PiB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBvZih7fSBhcyBEZWZhdWx0U2VhcmNoQWdncmVnYXRlQXNzZXRBZ2dyZWdhdGUpO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHRzdGFydFdpdGgobnVsbClcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHR9KVxyXG5cdFx0KSxcclxuXHRcdHsgaW5pdGlhbFZhbHVlOiBudWxsIH1cclxuXHQpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2VcclxuXHQpIHtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGNvbnN0IHJlc3VsdHMgPSB0aGlzLnJlc3VsdHNTaWcoKTtcclxuXHRcdFx0aWYgKHJlc3VsdHMpIHtcclxuXHRcdFx0XHR0aGlzLmRhdGEgPSByZXN1bHRzO1xyXG5cdFx0XHRcdHRoaXMucHJlc2VudGFibGVEYXRhID0gZ2V0UHJlc2VudGFibGVEYXRhKHJlc3VsdHMsIHRoaXMuYWN0aXZlVGFiKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRzZWFyY2gocXVlcnk6IHN0cmluZykge1xyXG5cdFx0dGhpcy5xdWVyeSA9IChxdWVyeSA/PyAnJykudHJpbSgpO1xyXG5cdFx0dGhpcy5xdWVyeVN1YmplY3QubmV4dCh0aGlzLnF1ZXJ5KTtcclxuXHR9XHJcblxyXG5cdHNldFRhYih0YWI6IHN0cmluZykge1xyXG5cdFx0dGhpcy5hY3RpdmVUYWIgPSB0YWI7XHJcblx0XHR0aGlzLnByZXNlbnRhYmxlRGF0YSA9IGdldFByZXNlbnRhYmxlRGF0YSh0aGlzLmRhdGEsIHRhYik7XHJcblx0fVxyXG5cclxuXHRnb1RvRGV0YWlsKGl0ZW06IFByZXNlbnRhYmxlRGF0YSkge1xyXG5cdFx0Y29uc3QgaXNIb3N0WWVhcCA9IGJyaWRnZS5hY3RpdmVIb3N0KCkgPT09IEFwcHMuWUVBUDtcclxuXHJcblx0XHRpZiAoaXNIb3N0WWVhcCkge1xyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ21uZy9tYXN0ZXItZGF0YS92aWV3LW1kLWRhdGEnXSwge1xyXG5cdFx0XHRcdHF1ZXJ5UGFyYW1zOiB7IGFzc2V0SWQ6IGl0ZW0uYXNzZXRJZCB9XHJcblx0XHRcdH0pO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0udXJsXSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvblJlc3VsdENsaWNrKGl0ZW06IEF1dG9Db21wbGV0ZVNlbGVjdEV2ZW50KSB7XHJcblx0XHR0aGlzLmdvVG9EZXRhaWwoaXRlbS52YWx1ZSk7XHJcblx0fVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCBnXCI+XHJcblx0PG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6ICdnZW5lcmFsU2VhcmNoJ1wiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImdsb2JhbC1zZWFyY2hcIj5cclxuXHRcdFx0PHAtYXV0b0NvbXBsZXRlXHJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJxdWVyeVwiXHJcblx0XHRcdFx0b3B0aW9uTGFiZWw9XCJ0aXRsZVwiXHJcblx0XHRcdFx0bWluTGVuZ3RoPVwiM1wiXHJcblx0XHRcdFx0W2RlbGF5XT1cIjUwMFwiXHJcblx0XHRcdFx0KGNvbXBsZXRlTWV0aG9kKT1cInNlYXJjaCgkZXZlbnQucXVlcnkpXCJcclxuXHRcdFx0XHRbc3VnZ2VzdGlvbnNdPVwicHJlc2VudGFibGVEYXRhXCJcclxuXHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwidCgncGxhY2Vob2xkZXInKVwiXHJcblx0XHRcdFx0KG9uU2VsZWN0KT1cIm9uUmVzdWx0Q2xpY2soJGV2ZW50KVwiPlxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eVwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInB4LTNcIj5cclxuXHRcdFx0XHRcdFx0e3sgdCgnbm9SZXN1bHRzJykgfX1cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYnMgZmxleCBnYXAtMiBvdmVyZmxvdy14LWF1dG8gd2hpdGUtc3BhY2Utbm93cmFwIHAtMiBib3JkZXItYm90dG9tLTEgYm9yZGVyLWdyYXktMjAwXCI+XHJcblx0XHRcdFx0XHRcdDxzcGFuIChjbGljayk9XCJzZXRUYWIoJ2FsbCcpXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBweS0xIHB4LTJcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gJ2FsbCdcIj5cclxuXHRcdFx0XHRcdFx0XHR7eyB0KCdhbGwnKSB9fVxyXG5cdFx0XHRcdFx0XHQ8L3NwYW4+XHJcblxyXG5cdFx0XHRcdFx0XHRAZm9yICh0YWIgb2YgZGF0YSB8IGtleXZhbHVlOyB0cmFjayB0YWIpIHtcclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiAoY2xpY2spPVwic2V0VGFiKHRhYi5rZXkpXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBweS0xIHB4LTJcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gdGFiLmtleVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0e3sgZGF0YVt0YWIua2V5XS5yZXN1bHRbMF0uYXNzZXREZWZpbml0aW9uTmFtZSB9fVxyXG5cdFx0XHRcdFx0XHRcdDwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgbGV0LXJlc3VsdCBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInJlc3VsdC1pY29uXCI+XHJcblx0XHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJwaSB7eyByZXN1bHQuaWNvbiB9fVwiPjwvaT5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyZXN1bHQtdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0aXRsZSBtYi0yXCI+e3sgcmVzdWx0LnRpdGxlIH19PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0QGlmIChyZXN1bHQuc3VidGl0bGUpIHtcclxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJzdWJ0aXRsZVwiPnt7IHJlc3VsdC5zdWJ0aXRsZSB9fTwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdEBpZiAocmVzdWx0LnVybCkge1xyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJvcGVuLWJ0biBtbC1hdXRvIGFsaWduLXNlbGYtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWNoZXZyb24tcmlnaHRcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInB4LTMgcHktMyBib3JkZXItdG9wLTEgYm9yZGVyLWdyYXktMjAwXCI+XHJcblx0XHRcdFx0XHRcdDxzcGFuPnt7IHByZXNlbnRhYmxlRGF0YS5sZW5ndGggfX0ge3sgdCgncmVzdWx0cycpIH19PC9zcGFuPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0PC9wLWF1dG9Db21wbGV0ZT5cclxuXHRcdDwvZGl2PlxyXG5cdDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
@@ -3,6 +3,7 @@ import { Router } from '@angular/router';
|
|
|
3
3
|
import { Title } from '@angular/platform-browser';
|
|
4
4
|
import { BehaviorSubject } from 'rxjs';
|
|
5
5
|
import { TranslocoService } from '@ngneat/transloco';
|
|
6
|
+
import { bridge } from 'aril/boot/bridge';
|
|
6
7
|
import { PubSubService } from 'aril/util/pub-sub';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
export class HistoryService {
|
|
@@ -42,7 +43,7 @@ export class HistoryService {
|
|
|
42
43
|
multiLanguageTitle.en = pageTitle;
|
|
43
44
|
}
|
|
44
45
|
else {
|
|
45
|
-
const globalPageTitle =
|
|
46
|
+
const globalPageTitle = bridge.pageTitle();
|
|
46
47
|
if (globalPageTitle) {
|
|
47
48
|
multiLanguageTitle.tr = globalPageTitle;
|
|
48
49
|
multiLanguageTitle.en = globalPageTitle;
|
|
@@ -128,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
128
129
|
providedIn: 'root'
|
|
129
130
|
}]
|
|
130
131
|
}], ctorParameters: () => [] });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2hpc3RvcnkvaGlzdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBZ0JsRCxNQUFNLE9BQU8sY0FBYztJQUtzRCxDQUFDO0lBVWpGO1FBZGlCLGdCQUFXLEdBQUcsY0FBYyxDQUFDO1FBQzdCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUUvQixtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUN6RCxhQUFRLEdBQThCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFaEYsMkNBQTJDO1FBQ25DLGtCQUFhLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUzQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR3BDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyw0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Q0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6QyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLHNEQUFzRCxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVFLE9BQU8sRUFBRSxDQUFDO1FBQ1gsQ0FBQztJQUNGLENBQUM7SUFFTSwyQkFBMkIsQ0FBQyxVQUFrQjtRQUNwRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBaUIsQ0FBQztRQUV6RSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM5QixtQ0FBbUM7WUFDbkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztZQUMxRSxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakgsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzhHQW5JVyxjQUFjO2tIQUFkLGNBQWMsY0FGZCxNQUFNOzsyRkFFTixjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgUHViU3ViU2VydmljZSB9IGZyb20gJ2FyaWwvdXRpbC9wdWItc3ViJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGlzdG9yeUl0ZW0ge1xyXG5cdGlkOiBzdHJpbmc7XHJcblx0dGl0bGU6IHN0cmluZztcclxuXHRtdWx0aUxhbmd1YWdlVGl0bGU/OiB7XHJcblx0XHR0cj86IHN0cmluZztcclxuXHRcdGVuPzogc3RyaW5nO1xyXG5cdH07XHJcblx0dXJsOiBzdHJpbmc7XHJcblx0dGltZXN0YW1wOiBudW1iZXI7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpc3RvcnlTZXJ2aWNlIHtcclxuXHRwcml2YXRlIHJlYWRvbmx5IFNUT1JBR0VfS0VZID0gJ3BhZ2VfaGlzdG9yeSc7XHJcblx0cHJpdmF0ZSByZWFkb25seSBNQVhfSElTVE9SWV9TSVpFID0gMjA7XHJcblxyXG5cdHByaXZhdGUgaGlzdG9yeVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEhpc3RvcnlJdGVtW10+KFtdKTtcclxuXHRwdWJsaWMgaGlzdG9yeSQ6IE9ic2VydmFibGU8SGlzdG9yeUl0ZW1bXT4gPSB0aGlzLmhpc3RvcnlTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpOztcclxuXHJcblx0Ly8gRXhjbHVkZWQgcGF0aHMgdGhhdCBzaG91bGRuJ3QgYmUgdHJhY2tlZFxyXG5cdHByaXZhdGUgZXhjbHVkZWRQYXRocyA9IFsnL2xvZ2luJ107XHJcblxyXG5cdHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcblx0cHJpdmF0ZSB0cmFuc2xvY29TZXJ2aWNlID0gaW5qZWN0KFRyYW5zbG9jb1NlcnZpY2UpO1xyXG5cdHByaXZhdGUgcHViU3ViU2VydmljZSA9IGluamVjdChQdWJTdWJTZXJ2aWNlKTtcclxuXHRwcml2YXRlIHRpdGxlU2VydmljZSA9IGluamVjdChUaXRsZSk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0dGhpcy5sb2FkSGlzdG9yeUZyb21TdG9yYWdlKCk7XHJcblx0XHR0aGlzLmluaXRpYWxpemVCcmVhZGNydW1iTGlzdGVuZXIoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdGlhbGl6ZUJyZWFkY3J1bWJMaXN0ZW5lcigpOiB2b2lkIHtcclxuXHRcdC8vIExpc3RlbiBmb3IgYnJlYWRjcnVtYiB1cGRhdGVzIHRvIHRyYWNrIG5hdmlnYXRpb24gaGlzdG9yeVxyXG5cdFx0dGhpcy5wdWJTdWJTZXJ2aWNlLnN1YnNjcmliZSgnYnJlYWRjcnVtYlVwZGF0ZWQnLCAoZGF0YSkgPT4ge1xyXG5cdFx0XHRjb25zdCB1cmwgPSBkYXRhPy5wYXRoO1xyXG5cdFx0XHRjb25zdCBwYWdlVGl0bGUgPSBkYXRhPy5jdXN0b20/LnBhZ2VUaXRsZTtcclxuXHRcdFx0XHJcblx0XHRcdGlmICh1cmwgJiYgcGFnZVRpdGxlICYmIHBhZ2VUaXRsZSAhPT0gJy4uLicpIHtcclxuXHRcdFx0XHR0aGlzLmFkZFRvSGlzdG9yeSh1cmwsIHBhZ2VUaXRsZSk7XHJcblx0XHRcdFx0dGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUocGFnZVRpdGxlKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGFkZFRvSGlzdG9yeSh1cmw6IHN0cmluZywgcGFnZVRpdGxlPzogc3RyaW5nKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5zaG91bGRFeGNsdWRlVXJsKHVybCkpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IG11bHRpTGFuZ3VhZ2VUaXRsZTogeyB0cj86IHN0cmluZzsgZW4/OiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuXHRcdCBpZiAocGFnZVRpdGxlKSB7XHJcblx0XHRcdG11bHRpTGFuZ3VhZ2VUaXRsZS50ciA9IHBhZ2VUaXRsZTtcclxuXHRcdFx0bXVsdGlMYW5ndWFnZVRpdGxlLmVuID0gcGFnZVRpdGxlO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Y29uc3QgZ2xvYmFsUGFnZVRpdGxlID0gKDxhbnk+Z2xvYmFsVGhpcykuX19BUklMX1BBR0VfVElUTEVfXz8uKCk7XHJcblx0XHRcdGlmIChnbG9iYWxQYWdlVGl0bGUpIHtcclxuXHRcdFx0XHRtdWx0aUxhbmd1YWdlVGl0bGUudHIgPSBnbG9iYWxQYWdlVGl0bGU7XHJcblx0XHRcdFx0bXVsdGlMYW5ndWFnZVRpdGxlLmVuID0gZ2xvYmFsUGFnZVRpdGxlO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdC8vIEZhbGxiYWNrIGZvciBwYWdlcyBub3QgaW4gbWVudSBhbmQgbm8gZ2xvYmFsIHRpdGxlXHJcblx0XHRcdFx0bXVsdGlMYW5ndWFnZVRpdGxlLnRyID0gJ0JpbGlubWV5ZW4gU2F5ZmEnO1xyXG5cdFx0XHRcdG11bHRpTGFuZ3VhZ2VUaXRsZS5lbiA9ICdVbmtub3duIFBhZ2UnO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgY3VycmVudExhbmcgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QWN0aXZlTGFuZygpIGFzICd0cicgfCAnZW4nO1xyXG5cdFx0Y29uc3QgdGl0bGUgPSBtdWx0aUxhbmd1YWdlVGl0bGVbY3VycmVudExhbmddIHx8IG11bHRpTGFuZ3VhZ2VUaXRsZS50ciB8fCAnVW5rbm93biBQYWdlJztcclxuXHRcdGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XHJcblx0XHRjb25zdCBpZCA9IHRoaXMuZ2VuZXJhdGVJZCh1cmwsIHRpbWVzdGFtcCk7XHJcblxyXG5cdFx0Y29uc3QgbmV3SXRlbTogSGlzdG9yeUl0ZW0gPSB7XHJcblx0XHRcdGlkLFxyXG5cdFx0XHR0aXRsZSxcclxuXHRcdFx0bXVsdGlMYW5ndWFnZVRpdGxlLFxyXG5cdFx0XHR1cmwsXHJcblx0XHRcdHRpbWVzdGFtcFxyXG5cdFx0fTtcclxuXHJcblx0XHRsZXQgaGlzdG9yeSA9IHRoaXMuZ2V0SGlzdG9yeUZyb21TdG9yYWdlKCk7XHJcblx0XHRoaXN0b3J5ID0gaGlzdG9yeS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udXJsICE9PSB1cmwpO1xyXG5cdFx0aGlzdG9yeS51bnNoaWZ0KG5ld0l0ZW0pO1xyXG5cclxuXHRcdC8vIExpbWl0IGhpc3Rvcnkgc2l6ZVxyXG5cdFx0aWYgKGhpc3RvcnkubGVuZ3RoID4gdGhpcy5NQVhfSElTVE9SWV9TSVpFKSB7XHJcblx0XHRcdGhpc3RvcnkgPSBoaXN0b3J5LnNsaWNlKDAsIHRoaXMuTUFYX0hJU1RPUllfU0laRSk7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5zYXZlSGlzdG9yeVRvU3RvcmFnZShoaXN0b3J5KTtcclxuXHRcdHRoaXMuaGlzdG9yeVN1YmplY3QubmV4dChoaXN0b3J5KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgc2hvdWxkRXhjbHVkZVVybCh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuZXhjbHVkZWRQYXRocy5zb21lKChleGNsdWRlZFBhdGgpID0+IHVybC5zdGFydHNXaXRoKGV4Y2x1ZGVkUGF0aCkpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBnZW5lcmF0ZUlkKHVybDogc3RyaW5nLCB0aW1lc3RhbXA6IG51bWJlcik6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gYCR7dXJsLnJlcGxhY2UoL1teYS16QS1aMC05XS9nLCAnXycpfV8ke3RpbWVzdGFtcH1gO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBsb2FkSGlzdG9yeUZyb21TdG9yYWdlKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgaGlzdG9yeSA9IHRoaXMuZ2V0SGlzdG9yeUZyb21TdG9yYWdlKCk7XHJcblx0XHR0aGlzLmhpc3RvcnlTdWJqZWN0Lm5leHQoaGlzdG9yeSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIHNhdmVIaXN0b3J5VG9TdG9yYWdlKGhpc3Rvcnk6IEhpc3RvcnlJdGVtW10pOiB2b2lkIHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuU1RPUkFHRV9LRVksIEpTT04uc3RyaW5naWZ5KGhpc3RvcnkpKTtcclxuXHRcdH0gY2F0Y2ggKGVycm9yKSB7XHJcblx0XHRcdGNvbnNvbGUud2FybignRmFpbGVkIHRvIHNhdmUgbmF2aWdhdGlvbiBoaXN0b3J5IHRvIGxvY2FsU3RvcmFnZTonLCBlcnJvcik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgY2xlYXJIaXN0b3J5KCk6IHZvaWQge1xyXG5cdFx0bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5TVE9SQUdFX0tFWSk7XHJcblx0XHR0aGlzLmhpc3RvcnlTdWJqZWN0Lm5leHQoW10pO1xyXG5cdH1cclxuXHJcblx0cHVibGljIG5hdmlnYXRlVG9IaXN0b3J5SXRlbShpdGVtOiBIaXN0b3J5SXRlbSk6IHZvaWQge1xyXG5cdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0udXJsXSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGdldEhpc3RvcnlGcm9tU3RvcmFnZSgpOiBIaXN0b3J5SXRlbVtdIHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdGNvbnN0IHN0b3JlZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuU1RPUkFHRV9LRVkpO1xyXG5cdFx0XHRyZXR1cm4gc3RvcmVkID8gSlNPTi5wYXJzZShzdG9yZWQpIDogW107XHJcblx0XHR9IGNhdGNoIChlcnJvcikge1xyXG5cdFx0XHRjb25zb2xlLndhcm4oJ0ZhaWxlZCB0byBsb2FkIG5hdmlnYXRpb24gaGlzdG9yeSBmcm9tIGxvY2FsU3RvcmFnZTonLCBlcnJvcik7XHJcblx0XHRcdHJldHVybiBbXTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXRIaXN0b3J5SXRlbXNCeVNlYXJjaFRlcm0oc2VhcmNoVGVybTogc3RyaW5nKTogSGlzdG9yeUl0ZW1bXSB7XHJcblx0XHRjb25zdCBoaXN0b3J5ID0gdGhpcy5nZXRIaXN0b3J5RnJvbVN0b3JhZ2UoKTtcclxuXHRcdGNvbnN0IGxvd2VyU2VhcmNoVGVybSA9IHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKTtcclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKSBhcyAndHInIHwgJ2VuJztcclxuXHJcblx0XHRyZXR1cm4gaGlzdG9yeS5maWx0ZXIoKGl0ZW0pID0+IHtcclxuXHRcdFx0Ly8gU2VhcmNoIGluIGN1cnJlbnQgbGFuZ3VhZ2UgdGl0bGVcclxuXHRcdFx0Y29uc3QgY3VycmVudFRpdGxlID0gaXRlbS5tdWx0aUxhbmd1YWdlVGl0bGU/LltjdXJyZW50TGFuZ10gfHwgaXRlbS50aXRsZTtcclxuXHRcdFx0cmV0dXJuIGN1cnJlbnRUaXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyU2VhcmNoVGVybSkgfHwgaXRlbS51cmwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlclNlYXJjaFRlcm0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2hpc3RvcnkvaGlzdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWdCbEQsTUFBTSxPQUFPLGNBQWM7SUFLc0QsQ0FBQztJQVVqRjtRQWRpQixnQkFBVyxHQUFHLGNBQWMsQ0FBQztRQUM3QixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFL0IsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDekQsYUFBUSxHQUE4QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWhGLDJDQUEyQztRQUNuQyxrQkFBYSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0IsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUdwQyxJ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V0FBVyxDQUFDLENBQUM7WUFDdEQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6QyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLHNEQUFzRCxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVFLE9BQU8sRUFBRSxDQUFDO1FBQ1gsQ0FBQztJQUNGLENBQUM7SUFFTSwyQkFBMkIsQ0FBQyxVQUFrQjtRQUNwRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBaUIsQ0FBQztRQUV6RSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM5QixtQ0FBbUM7WUFDbkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztZQUMxRSxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakgsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzhHQW5JVyxjQUFjO2tIQUFkLGNBQWMsY0FGZCxNQUFNOzsyRkFFTixjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgYnJpZGdlIH0gZnJvbSAnYXJpbC9ib290L2JyaWRnZSc7XHJcbmltcG9ydCB7IFB1YlN1YlNlcnZpY2UgfSBmcm9tICdhcmlsL3V0aWwvcHViLXN1Yic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhpc3RvcnlJdGVtIHtcclxuXHRpZDogc3RyaW5nO1xyXG5cdHRpdGxlOiBzdHJpbmc7XHJcblx0bXVsdGlMYW5ndWFnZVRpdGxlPzoge1xyXG5cdFx0dHI/OiBzdHJpbmc7XHJcblx0XHRlbj86IHN0cmluZztcclxuXHR9O1xyXG5cdHVybDogc3RyaW5nO1xyXG5cdHRpbWVzdGFtcDogbnVtYmVyO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaXN0b3J5U2VydmljZSB7XHJcblx0cHJpdmF0ZSByZWFkb25seSBTVE9SQUdFX0tFWSA9ICdwYWdlX2hpc3RvcnknO1xyXG5cdHByaXZhdGUgcmVhZG9ubHkgTUFYX0hJU1RPUllfU0laRSA9IDIwO1xyXG5cclxuXHRwcml2YXRlIGhpc3RvcnlTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxIaXN0b3J5SXRlbVtdPihbXSk7XHJcblx0cHVibGljIGhpc3RvcnkkOiBPYnNlcnZhYmxlPEhpc3RvcnlJdGVtW10+ID0gdGhpcy5oaXN0b3J5U3ViamVjdC5hc09ic2VydmFibGUoKTs7XHJcblxyXG5cdC8vIEV4Y2x1ZGVkIHBhdGhzIHRoYXQgc2hvdWxkbid0IGJlIHRyYWNrZWRcclxuXHRwcml2YXRlIGV4Y2x1ZGVkUGF0aHMgPSBbJy9sb2dpbiddO1xyXG5cclxuXHRwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cdHByaXZhdGUgdHJhbnNsb2NvU2VydmljZSA9IGluamVjdChUcmFuc2xvY29TZXJ2aWNlKTtcclxuXHRwcml2YXRlIHB1YlN1YlNlcnZpY2UgPSBpbmplY3QoUHViU3ViU2VydmljZSk7XHJcblx0cHJpdmF0ZSB0aXRsZVNlcnZpY2UgPSBpbmplY3QoVGl0bGUpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHtcclxuXHRcdHRoaXMubG9hZEhpc3RvcnlGcm9tU3RvcmFnZSgpO1xyXG5cdFx0dGhpcy5pbml0aWFsaXplQnJlYWRjcnVtYkxpc3RlbmVyKCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXRpYWxpemVCcmVhZGNydW1iTGlzdGVuZXIoKTogdm9pZCB7XHJcblx0XHQvLyBMaXN0ZW4gZm9yIGJyZWFkY3J1bWIgdXBkYXRlcyB0byB0cmFjayBuYXZpZ2F0aW9uIGhpc3RvcnlcclxuXHRcdHRoaXMucHViU3ViU2VydmljZS5zdWJzY3JpYmUoJ2JyZWFkY3J1bWJVcGRhdGVkJywgKGRhdGEpID0+IHtcclxuXHRcdFx0Y29uc3QgdXJsID0gZGF0YT8ucGF0aDtcclxuXHRcdFx0Y29uc3QgcGFnZVRpdGxlID0gZGF0YT8uY3VzdG9tPy5wYWdlVGl0bGU7XHJcblx0XHRcdFxyXG5cdFx0XHRpZiAodXJsICYmIHBhZ2VUaXRsZSAmJiBwYWdlVGl0bGUgIT09ICcuLi4nKSB7XHJcblx0XHRcdFx0dGhpcy5hZGRUb0hpc3RvcnkodXJsLCBwYWdlVGl0bGUpO1xyXG5cdFx0XHRcdHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKHBhZ2VUaXRsZSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBhZGRUb0hpc3RvcnkodXJsOiBzdHJpbmcsIHBhZ2VUaXRsZT86IHN0cmluZyk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuc2hvdWxkRXhjbHVkZVVybCh1cmwpKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBtdWx0aUxhbmd1YWdlVGl0bGU6IHsgdHI/OiBzdHJpbmc7IGVuPzogc3RyaW5nIH0gPSB7fTtcclxuXHJcblx0XHQgaWYgKHBhZ2VUaXRsZSkge1xyXG5cdFx0XHRtdWx0aUxhbmd1YWdlVGl0bGUudHIgPSBwYWdlVGl0bGU7XHJcblx0XHRcdG11bHRpTGFuZ3VhZ2VUaXRsZS5lbiA9IHBhZ2VUaXRsZTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNvbnN0IGdsb2JhbFBhZ2VUaXRsZSA9IGJyaWRnZS5wYWdlVGl0bGUoKTtcclxuXHRcdFx0aWYgKGdsb2JhbFBhZ2VUaXRsZSkge1xyXG5cdFx0XHRcdG11bHRpTGFuZ3VhZ2VUaXRsZS50ciA9IGdsb2JhbFBhZ2VUaXRsZTtcclxuXHRcdFx0XHRtdWx0aUxhbmd1YWdlVGl0bGUuZW4gPSBnbG9iYWxQYWdlVGl0bGU7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Ly8gRmFsbGJhY2sgZm9yIHBhZ2VzIG5vdCBpbiBtZW51IGFuZCBubyBnbG9iYWwgdGl0bGVcclxuXHRcdFx0XHRtdWx0aUxhbmd1YWdlVGl0bGUudHIgPSAnQmlsaW5tZXllbiBTYXlmYSc7XHJcblx0XHRcdFx0bXVsdGlMYW5ndWFnZVRpdGxlLmVuID0gJ1Vua25vd24gUGFnZSc7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5nZXRBY3RpdmVMYW5nKCkgYXMgJ3RyJyB8ICdlbic7XHJcblx0XHRjb25zdCB0aXRsZSA9IG11bHRpTGFuZ3VhZ2VUaXRsZVtjdXJyZW50TGFuZ10gfHwgbXVsdGlMYW5ndWFnZVRpdGxlLnRyIHx8ICdVbmtub3duIFBhZ2UnO1xyXG5cdFx0Y29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcclxuXHRcdGNvbnN0IGlkID0gdGhpcy5nZW5lcmF0ZUlkKHVybCwgdGltZXN0YW1wKTtcclxuXHJcblx0XHRjb25zdCBuZXdJdGVtOiBIaXN0b3J5SXRlbSA9IHtcclxuXHRcdFx0aWQsXHJcblx0XHRcdHRpdGxlLFxyXG5cdFx0XHRtdWx0aUxhbmd1YWdlVGl0bGUsXHJcblx0XHRcdHVybCxcclxuXHRcdFx0dGltZXN0YW1wXHJcblx0XHR9O1xyXG5cclxuXHRcdGxldCBoaXN0b3J5ID0gdGhpcy5nZXRIaXN0b3J5RnJvbVN0b3JhZ2UoKTtcclxuXHRcdGhpc3RvcnkgPSBoaXN0b3J5LmZpbHRlcigoaXRlbSkgPT4gaXRlbS51cmwgIT09IHVybCk7XHJcblx0XHRoaXN0b3J5LnVuc2hpZnQobmV3SXRlbSk7XHJcblxyXG5cdFx0Ly8gTGltaXQgaGlzdG9yeSBzaXplXHJcblx0XHRpZiAoaGlzdG9yeS5sZW5ndGggPiB0aGlzLk1BWF9ISVNUT1JZX1NJWkUpIHtcclxuXHRcdFx0aGlzdG9yeSA9IGhpc3Rvcnkuc2xpY2UoMCwgdGhpcy5NQVhfSElTVE9SWV9TSVpFKTtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLnNhdmVIaXN0b3J5VG9TdG9yYWdlKGhpc3RvcnkpO1xyXG5cdFx0dGhpcy5oaXN0b3J5U3ViamVjdC5uZXh0KGhpc3RvcnkpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBzaG91bGRFeGNsdWRlVXJsKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5leGNsdWRlZFBhdGhzLnNvbWUoKGV4Y2x1ZGVkUGF0aCkgPT4gdXJsLnN0YXJ0c1dpdGgoZXhjbHVkZWRQYXRoKSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGdlbmVyYXRlSWQodXJsOiBzdHJpbmcsIHRpbWVzdGFtcDogbnVtYmVyKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBgJHt1cmwucmVwbGFjZSgvW15hLXpBLVowLTldL2csICdfJyl9XyR7dGltZXN0YW1wfWA7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGxvYWRIaXN0b3J5RnJvbVN0b3JhZ2UoKTogdm9pZCB7XHJcblx0XHRjb25zdCBoaXN0b3J5ID0gdGhpcy5nZXRIaXN0b3J5RnJvbVN0b3JhZ2UoKTtcclxuXHRcdHRoaXMuaGlzdG9yeVN1YmplY3QubmV4dChoaXN0b3J5KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgc2F2ZUhpc3RvcnlUb1N0b3JhZ2UoaGlzdG9yeTogSGlzdG9yeUl0ZW1bXSk6IHZvaWQge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0bG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5TVE9SQUdFX0tFWSwgSlNPTi5zdHJpbmdpZnkoaGlzdG9yeSkpO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcclxuXHRcdFx0Y29uc29sZS53YXJuKCdGYWlsZWQgdG8gc2F2ZSBuYXZpZ2F0aW9uIGhpc3RvcnkgdG8gbG9jYWxTdG9yYWdlOicsIGVycm9yKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHB1YmxpYyBjbGVhckhpc3RvcnkoKTogdm9pZCB7XHJcblx0XHRsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLlNUT1JBR0VfS0VZKTtcclxuXHRcdHRoaXMuaGlzdG9yeVN1YmplY3QubmV4dChbXSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgbmF2aWdhdGVUb0hpc3RvcnlJdGVtKGl0ZW06IEhpc3RvcnlJdGVtKTogdm9pZCB7XHJcblx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaXRlbS51cmxdKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZ2V0SGlzdG9yeUZyb21TdG9yYWdlKCk6IEhpc3RvcnlJdGVtW10ge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0Y29uc3Qgc3RvcmVkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5TVE9SQUdFX0tFWSk7XHJcblx0XHRcdHJldHVybiBzdG9yZWQgPyBKU09OLnBhcnNlKHN0b3JlZCkgOiBbXTtcclxuXHRcdH0gY2F0Y2ggKGVycm9yKSB7XHJcblx0XHRcdGNvbnNvbGUud2FybignRmFpbGVkIHRvIGxvYWQgbmF2aWdhdGlvbiBoaXN0b3J5IGZyb20gbG9jYWxTdG9yYWdlOicsIGVycm9yKTtcclxuXHRcdFx0cmV0dXJuIFtdO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHVibGljIGdldEhpc3RvcnlJdGVtc0J5U2VhcmNoVGVybShzZWFyY2hUZXJtOiBzdHJpbmcpOiBIaXN0b3J5SXRlbVtdIHtcclxuXHRcdGNvbnN0IGhpc3RvcnkgPSB0aGlzLmdldEhpc3RvcnlGcm9tU3RvcmFnZSgpO1xyXG5cdFx0Y29uc3QgbG93ZXJTZWFyY2hUZXJtID0gc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpO1xyXG5cdFx0Y29uc3QgY3VycmVudExhbmcgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QWN0aXZlTGFuZygpIGFzICd0cicgfCAnZW4nO1xyXG5cclxuXHRcdHJldHVybiBoaXN0b3J5LmZpbHRlcigoaXRlbSkgPT4ge1xyXG5cdFx0XHQvLyBTZWFyY2ggaW4gY3VycmVudCBsYW5ndWFnZSB0aXRsZVxyXG5cdFx0XHRjb25zdCBjdXJyZW50VGl0bGUgPSBpdGVtLm11bHRpTGFuZ3VhZ2VUaXRsZT8uW2N1cnJlbnRMYW5nXSB8fCBpdGVtLnRpdGxlO1xyXG5cdFx0XHRyZXR1cm4gY3VycmVudFRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJTZWFyY2hUZXJtKSB8fCBpdGVtLnVybC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyU2VhcmNoVGVybSk7XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -30,7 +30,6 @@ export class AppLayoutComponent {
|
|
|
30
30
|
this.layoutService = layoutService;
|
|
31
31
|
this.renderer = renderer;
|
|
32
32
|
this.router = router;
|
|
33
|
-
this.globalThis = globalThis;
|
|
34
33
|
this.overlayMenuOpenSubscription = this.layoutService.overlayOpen$.subscribe(() => {
|
|
35
34
|
if (!this.menuOutsideClickListener) {
|
|
36
35
|
this.menuOutsideClickListener = this.renderer.listen('document', 'click', (event) => {
|
|
@@ -155,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
155
154
|
type: ViewChild,
|
|
156
155
|
args: [AppTopbarComponent]
|
|
157
156
|
}] } });
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvbGF5b3V0L2FwcC5sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2xheW91dC9hcHAubGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUF3QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFnQixNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJNUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDNUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUs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dkIsNkJBQTZCO3dCQUM3Qix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsNkJBQTZCO3FCQUM3Qjs0SkFTbUMsdUJBQXVCO3NCQUExRCxTQUFTO3VCQUFDLHVCQUF1QjtnQkFDQyxzQkFBc0I7c0JBQXhELFNBQVM7dUJBQUMsc0JBQXNCO2dCQUNGLFNBQVM7c0JBQXZDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIsIFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcclxuaW1wb3J0IHsgQ29uZmlybVBvcHVwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtcG9wdXAnO1xyXG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1lc3NhZ2VzTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tZXNzYWdlcyc7XHJcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGZpbHRlciB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYXBwLmxheW91dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwTWVudVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FwcC5tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBQcm9maWxlU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4uL3Byb2ZpbGVTaWRlYmFyL2FwcC5wcm9maWxlc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIaXN0b3J5U2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4uL2hpc3RvcnkvaGlzdG9yeS1zaWRlYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpdGVNYXBTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYXZvcml0ZVBhZ2VzU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4uL2Zhdm9yaXRlLXBhZ2VzL2Zhdm9yaXRlLXBhZ2VzLXNpZGViYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwVG9wYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9wYmFyL2FwcC50b3BiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhwYW5kYWJsZU1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9leHBhbmRhYmxlTWVudS9leHBhbmRhYmxlLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3RhdGljU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4uL3N0YXRpYy1zaWRlYmFyL3N0YXRpYy1zaWRlYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXNpZGViYXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcHAtbGF5b3V0JyxcclxuXHRpbXBvcnRzOiBbXHJcblx0XHROZ0NsYXNzLFxyXG5cdFx0Um91dGVyT3V0bGV0LFxyXG5cdFx0Q29uZmlybURpYWxvZ01vZHVsZSxcclxuXHRcdENvbmZpcm1Qb3B1cE1vZHVsZSxcclxuXHRcdERpYWxvZ01vZHVsZSxcclxuXHRcdE1lc3NhZ2VzTW9kdWxlLFxyXG5cdFx0VG9hc3RNb2R1bGUsXHJcblx0XHRBcHBUb3BiYXJDb21wb25lbnQsXHJcblx0XHRBcHBQcm9maWxlU2lkZWJhckNvbXBvbmVudCxcclxuXHRcdEhpc3RvcnlTaWRlYmFyQ29tcG9uZW50LFxyXG5cdFx0U2l0ZU1hcFNpZGViYXJDb21wb25lbnQsXHJcblx0XHRGYXZvcml0ZVBhZ2VzU2lkZWJhckNvbXBvbmVudCxcclxuXHRcdEV4cGFuZGFibGVNZW51Q29tcG9uZW50LFxyXG5cdFx0U3RhdGljU2lkZWJhckNvbXBvbmVudCxcclxuXHRcdE5vdGlmaWNhdGlvbnNTaWRlYmFyQ29tcG9uZW50XHJcblx0XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vYXBwLmxheW91dC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblx0b3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblx0bWVudU91dHNpZGVDbGlja0xpc3RlbmVyOiBhbnk7XHJcblx0bWVudVNjcm9sbExpc3RlbmVyOiBhbnk7XHJcblx0Z2xvYmFsVGhpczogYW55ID0gZ2xvYmFsVGhpcztcclxuXHJcblx0QFZpZXdDaGlsZChFeHBhbmRhYmxlTWVudUNvbXBvbmVudCkgZXhwYW5kYWJsZU1lbnVDb21wb25lbnQhOiBFeHBhbmRhYmxlTWVudUNvbXBvbmVudDtcclxuXHRAVmlld0NoaWxkKFN0YXRpY1NpZGViYXJDb21wb25lbnQpIHN0YXRpY1NpZGViYXJDb21wb25lbnQhOiBTdGF0aWNTaWRlYmFyQ29tcG9uZW50O1xyXG5cdEBWaWV3Q2hpbGQoQXBwVG9wYmFyQ29tcG9uZW50KSBhcHBUb3BiYXIhOiBBcHBUb3BiYXJDb21wb25lbnQ7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBtZW51U2VydmljZTogQXBwTWVudVNlcnZpY2UsXHJcblx0XHRwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuXHRcdHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG5cdFx0cHVibGljIHJvdXRlcjogUm91dGVyXHJcblx0KSB7XHJcblx0XHR0aGlzLm92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbiA9IHRoaXMubGF5b3V0U2VydmljZS5vdmVybGF5T3BlbiQuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0aWYgKCF0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xyXG5cdFx0XHRcdHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgKGV2ZW50KSA9PiB7XHJcblx0XHRcdFx0XHRjb25zdCBpc091dHNpZGVDbGlja2VkID0gIShcclxuXHRcdFx0XHRcdFx0dGhpcy5hcHBUb3BiYXIubWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fFxyXG5cdFx0XHRcdFx0XHR0aGlzLmFwcFRvcGJhci5tZW51QnV0dG9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSB8fFxyXG5cdFx0XHRcdFx0XHQodGhpcy5leHBhbmRhYmxlTWVudUNvbXBvbmVudCAmJiB0aGlzLmlzRWxlbWVudEluc2lkZShldmVudC50YXJnZXQsICdhcHAtZXhwYW5kYWJsZS1tZW51JykpIHx8XHJcblx0XHRcdFx0XHRcdCh0aGlzLnN0YXRpY1NpZGViYXJDb21wb25lbnQgJiYgdGhpcy5pc0VsZW1lbnRJbnNpZGUoZXZlbnQudGFyZ2V0LCAnYXBwLXN0YXRpYy1zaWRlYmFyJykpXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0aWYgKGlzT3V0c2lkZUNsaWNrZWQpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5oaWRlTWVudSgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUpIHtcclxuXHRcdFx0XHR0aGlzLmJsb2NrQm9keVNjcm9sbCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRpZiAoIXRoaXMubGF5b3V0U2VydmljZS5tZmVBcHBJdGVtQ2xpY2tlZCgpKSB0aGlzLmhpZGVNZW51KCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGJsb2NrQm9keVNjcm9sbCgpOiB2b2lkIHtcclxuXHRcdGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCkge1xyXG5cdFx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2Jsb2NrZWQtc2Nyb2xsJyk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSArPSAnIGJsb2NrZWQtc2Nyb2xsJztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVuYmxvY2tCb2R5U2Nyb2xsKCk6IHZvaWQge1xyXG5cdFx0aWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0KSB7XHJcblx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnYmxvY2tlZC1zY3JvbGwnKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWUucmVwbGFjZShcclxuXHRcdFx0XHRuZXcgUmVnRXhwKCcoXnxcXFxcYiknICsgJ2Jsb2NrZWQtc2Nyb2xsJy5zcGxpdCgnICcpLmpvaW4oJ3wnKSArICcoXFxcXGJ8JCknLCAnZ2knKSxcclxuXHRcdFx0XHQnICdcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIEhlbHBlciBtZXRob2QgdG8gY2hlY2sgaWYgZWxlbWVudCBpcyBpbnNpZGUgYSBzcGVjaWZpYyBjb21wb25lbnRcclxuXHRwcml2YXRlIGlzRWxlbWVudEluc2lkZShlbGVtZW50OiBhbnksIHNlbGVjdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcclxuXHRcdGlmICghZWxlbWVudCkgcmV0dXJuIGZhbHNlO1xyXG5cdFx0XHJcblx0XHRsZXQgY3VycmVudEVsZW1lbnQgPSBlbGVtZW50O1xyXG5cdFx0d2hpbGUgKGN1cnJlbnRFbGVtZW50ICYmIGN1cnJlbnRFbGVtZW50ICE9PSBkb2N1bWVudCkge1xyXG5cdFx0XHRpZiAoY3VycmVudEVsZW1lbnQudGFnTmFtZSAmJiBjdXJyZW50RWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09IHNlbGVjdG9yKSB7XHJcblx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdH1cclxuXHRcdFx0Y3VycmVudEVsZW1lbnQgPSBjdXJyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIGZhbHNlO1xyXG5cdH1cclxuXHJcblx0aGlkZU1lbnUoKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSA9IGZhbHNlO1xyXG5cdFx0dGhpcy5tZW51U2VydmljZS5yZXNldCgpO1xyXG5cclxuXHRcdGlmICh0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xyXG5cdFx0XHR0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xyXG5cdFx0XHR0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMubWVudVNjcm9sbExpc3RlbmVyKSB7XHJcblx0XHRcdHRoaXMubWVudVNjcm9sbExpc3RlbmVyKCk7XHJcblx0XHRcdHRoaXMubWVudVNjcm9sbExpc3RlbmVyID0gbnVsbDtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLnVuYmxvY2tCb2R5U2Nyb2xsKCk7XHJcblx0fVxyXG5cclxuXHRnZXQgY29udGFpbmVyQ2xhc3MoKSB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHQnbGF5b3V0LWxpZ2h0JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLmNvbG9yU2NoZW1lID09PSAnbGlnaHQnLFxyXG5cdFx0XHQnbGF5b3V0LWRpbSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5jb2xvclNjaGVtZSA9PT0gJ2RpbScsXHJcblx0XHRcdCdsYXlvdXQtZGFyayc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5jb2xvclNjaGVtZSA9PT0gJ2RhcmsnLFxyXG5cdFx0XHQnbGF5b3V0LWNvbG9yc2NoZW1lLW1lbnUnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkubWVudVRoZW1lID09PSAnY29sb3JTY2hlbWUnLFxyXG5cdFx0XHQnbGF5b3V0LXByaW1hcnljb2xvci1tZW51JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVUaGVtZSA9PT0gJ3ByaW1hcnlDb2xvcicsXHJcblx0XHRcdCdsYXlvdXQtdHJhbnNwYXJlbnQtbWVudSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51VGhlbWUgPT09ICd0cmFuc3BhcmVudCcsXHJcblx0XHRcdCdsYXlvdXQtc3RhdGljJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlID09PSAnc3RhdGljJyxcclxuXHRcdFx0J2xheW91dC1leHBhbmRhYmxlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlID09PSAnZXhwYW5kYWJsZScsXHJcblx0XHRcdCdsYXlvdXQtc3RhdGljLWluYWN0aXZlJzogXHJcblx0XHRcdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlID09PSAnc3RhdGljJyAmJiBcclxuXHRcdFx0XHQhdGhpcy5sYXlvdXRTZXJ2aWNlLnNob3VsZFNob3dTdGF0aWNTaWRlYmFyKCksXHJcblx0XHRcdCdsYXlvdXQtc3RhdGljLWNvbGxhcHNlZCc6IFxyXG5cdFx0XHRcdHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3N0YXRpYycgJiYgXHJcblx0XHRcdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmlzU3RhdGljU2lkZWJhckNvbGxhcHNlZCgpLFxyXG5cdFx0XHQnbGF5b3V0LW1vYmlsZS1hY3RpdmUnOiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSxcclxuXHRcdFx0J3AtaW5wdXQtZmlsbGVkJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLmlucHV0U3R5bGUgPT09ICdmaWxsZWQnLFxyXG5cdFx0XHQncC1yaXBwbGUtZGlzYWJsZWQnOiAhdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLnJpcHBsZSxcclxuXHRcdFx0J25ldy1zaWRlYmFyLWxheW91dCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ2V4cGFuZGFibGUnLFxyXG5cdFx0XHQnc2Vjb25kYXJ5LWV4cGFuZGVkJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnNlY29uZGFyeVNpZGViYXJFeHBhbmRlZFxyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0aWYgKHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XHJcblx0XHRcdHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiPGRpdiBjbGFzcz1cImxheW91dC1jb250YWluZXJcIiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzc1wiPlxyXG5cdEBpZiAobGF5b3V0U2VydmljZS5zaG91bGRTaG93U3RhdGljU2lkZWJhcigpKSB7XHJcblx0XHQ8YXBwLXN0YXRpYy1zaWRlYmFyIC8+XHJcblx0fSBAZWxzZSBpZiAobGF5b3V0U2VydmljZS5zaG91bGRTaG93RXhwYW5kYWJsZU1lbnUoKSkge1xyXG5cdFx0PGFwcC1leHBhbmRhYmxlLW1lbnUgLz5cclxuXHR9XHJcblx0PGRpdiBjbGFzcz1cImxheW91dC1jb250ZW50LXdyYXBwZXJcIj5cclxuXHRcdDxhcHAtdG9wYmFyIC8+XHJcblx0XHQ8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbnRlbnRcIj5cclxuXHRcdFx0PHJvdXRlci1vdXRsZXQgLz5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxhcHAtcHJvZmlsZW1lbnUgLz5cclxuXHQ8YXBwLWhpc3Rvcnktc2lkZWJhciAvPlxyXG5cdDxhcHAtc2l0ZS1tYXAtc2lkZWJhciAvPlxyXG5cdDxhcHAtZmF2b3JpdGUtcGFnZXMtc2lkZWJhciAvPlxyXG5cdDxhcHAtbm90aWZpY2F0aW9ucy1zaWRlYmFyIC8+XHJcblx0PCEtLTxhcHAtY29uZmlnPjwvYXBwLWNvbmZpZz4tLT5cclxuXHQ8ZGl2IGNsYXNzPVwibGF5b3V0LW1hc2tcIiAoY2xpY2spPVwiaGlkZU1lbnUoKVwiPjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxwLXRvYXN0IGtleT1cInRvYXN0LXJvb3RcIiAvPlxyXG48cC1kaWFsb2cga2V5PVwiZGlhbG9nLXJvb3RcIiAvPlxyXG48cC1tZXNzYWdlcyBrZXk9XCJtZXNzYWdlcy1yb290XCIgLz5cclxuPHAtY29uZmlybVBvcHVwIGtleT1cImNvbmZpcm1Qb3B1cC1yb290XCIgLz5cclxuPHAtY29uZmlybURpYWxvZyBrZXk9XCJjb25maXJtRGlhbG9nLXJvb3RcIiAvPlxyXG4iXX0=
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvbGF5b3V0L2FwcC5sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2xheW91dC9hcHAubGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUF3QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFnQixNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJNUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDNUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUs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QUN2QixzQkFBc0I7d0JBQ3RCLDZCQUE2QjtxQkFDN0I7NEpBUW1DLHVCQUF1QjtzQkFBMUQsU0FBUzt1QkFBQyx1QkFBdUI7Z0JBQ0Msc0JBQXNCO3NCQUF4RCxTQUFTO3VCQUFDLHNCQUFzQjtnQkFDRixTQUFTO3NCQUF2QyxTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybWRpYWxvZyc7XHJcbmltcG9ydCB7IENvbmZpcm1Qb3B1cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybXBvcHVwJztcclxuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNZXNzYWdlc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbWVzc2FnZXMnO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FwcC5sYXlvdXQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubWVudS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwUHJvZmlsZVNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9maWxlU2lkZWJhci9hcHAucHJvZmlsZXNpZGViYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGlzdG9yeVNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi9oaXN0b3J5L2hpc3Rvcnktc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaXRlTWFwU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4uL3NpdGUtbWFwL3NpdGUtbWFwLXNpZGViYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmF2b3JpdGVQYWdlc1NpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi9mYXZvcml0ZS1wYWdlcy9mYXZvcml0ZS1wYWdlcy1zaWRlYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcFRvcGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3RvcGJhci9hcHAudG9wYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4cGFuZGFibGVNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vZXhwYW5kYWJsZU1lbnUvZXhwYW5kYWJsZS1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0YXRpY1NpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi9zdGF0aWMtc2lkZWJhci9zdGF0aWMtc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4uL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1zaWRlYmFyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXBwLWxheW91dCcsXHJcblx0aW1wb3J0czogW1xyXG5cdFx0TmdDbGFzcyxcclxuXHRcdFJvdXRlck91dGxldCxcclxuXHRcdENvbmZpcm1EaWFsb2dNb2R1bGUsXHJcblx0XHRDb25maXJtUG9wdXBNb2R1bGUsXHJcblx0XHREaWFsb2dNb2R1bGUsXHJcblx0XHRNZXNzYWdlc01vZHVsZSxcclxuXHRcdFRvYXN0TW9kdWxlLFxyXG5cdFx0QXBwVG9wYmFyQ29tcG9uZW50LFxyXG5cdFx0QXBwUHJvZmlsZVNpZGViYXJDb21wb25lbnQsXHJcblx0XHRIaXN0b3J5U2lkZWJhckNvbXBvbmVudCxcclxuXHRcdFNpdGVNYXBTaWRlYmFyQ29tcG9uZW50LFxyXG5cdFx0RmF2b3JpdGVQYWdlc1NpZGViYXJDb21wb25lbnQsXHJcblx0XHRFeHBhbmRhYmxlTWVudUNvbXBvbmVudCxcclxuXHRcdFN0YXRpY1NpZGViYXJDb21wb25lbnQsXHJcblx0XHROb3RpZmljYXRpb25zU2lkZWJhckNvbXBvbmVudFxyXG5cdF0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FwcC5sYXlvdXQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cdG92ZXJsYXlNZW51T3BlblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cdG1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xyXG5cdG1lbnVTY3JvbGxMaXN0ZW5lcjogYW55O1xyXG5cclxuXHRAVmlld0NoaWxkKEV4cGFuZGFibGVNZW51Q29tcG9uZW50KSBleHBhbmRhYmxlTWVudUNvbXBvbmVudCE6IEV4cGFuZGFibGVNZW51Q29tcG9uZW50O1xyXG5cdEBWaWV3Q2hpbGQoU3RhdGljU2lkZWJhckNvbXBvbmVudCkgc3RhdGljU2lkZWJhckNvbXBvbmVudCE6IFN0YXRpY1NpZGViYXJDb21wb25lbnQ7XHJcblx0QFZpZXdDaGlsZChBcHBUb3BiYXJDb21wb25lbnQpIGFwcFRvcGJhciE6IEFwcFRvcGJhckNvbXBvbmVudDtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIG1lbnVTZXJ2aWNlOiBBcHBNZW51U2VydmljZSxcclxuXHRcdHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLFxyXG5cdFx0cHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcblx0XHRwdWJsaWMgcm91dGVyOiBSb3V0ZXJcclxuXHQpIHtcclxuXHRcdHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uID0gdGhpcy5sYXlvdXRTZXJ2aWNlLm92ZXJsYXlPcGVuJC5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRpZiAoIXRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XHJcblx0XHRcdFx0dGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoZXZlbnQpID0+IHtcclxuXHRcdFx0XHRcdGNvbnN0IGlzT3V0c2lkZUNsaWNrZWQgPSAhKFxyXG5cdFx0XHRcdFx0XHR0aGlzLmFwcFRvcGJhci5tZW51QnV0dG9uLm5hdGl2ZUVsZW1lbnQuaXNTYW1lTm9kZShldmVudC50YXJnZXQpIHx8XHJcblx0XHRcdFx0XHRcdHRoaXMuYXBwVG9wYmFyLm1lbnVCdXR0b24ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpIHx8XHJcblx0XHRcdFx0XHRcdCh0aGlzLmV4cGFuZGFibGVNZW51Q29tcG9uZW50ICYmIHRoaXMuaXNFbGVtZW50SW5zaWRlKGV2ZW50LnRhcmdldCwgJ2FwcC1leHBhbmRhYmxlLW1lbnUnKSkgfHxcclxuXHRcdFx0XHRcdFx0KHRoaXMuc3RhdGljU2lkZWJhckNvbXBvbmVudCAmJiB0aGlzLmlzRWxlbWVudEluc2lkZShldmVudC50YXJnZXQsICdhcHAtc3RhdGljLXNpZGViYXInKSlcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmhpZGVNZW51KCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmICh0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSkge1xyXG5cdFx0XHRcdHRoaXMuYmxvY2tCb2R5U2Nyb2xsKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdGlmICghdGhpcy5sYXlvdXRTZXJ2aWNlLm1mZUFwcEl0ZW1DbGlja2VkKCkpIHRoaXMuaGlkZU1lbnUoKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0YmxvY2tCb2R5U2Nyb2xsKCk6IHZvaWQge1xyXG5cdFx0aWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0KSB7XHJcblx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnYmxvY2tlZC1zY3JvbGwnKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lICs9ICcgYmxvY2tlZC1zY3JvbGwnO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dW5ibG9ja0JvZHlTY3JvbGwoKTogdm9pZCB7XHJcblx0XHRpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QpIHtcclxuXHRcdFx0ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdibG9ja2VkLXNjcm9sbCcpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0ZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZS5yZXBsYWNlKFxyXG5cdFx0XHRcdG5ldyBSZWdFeHAoJyhefFxcXFxiKScgKyAnYmxvY2tlZC1zY3JvbGwnLnNwbGl0KCcgJykuam9pbignfCcpICsgJyhcXFxcYnwkKScsICdnaScpLFxyXG5cdFx0XHRcdCcgJ1xyXG5cdFx0XHQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gSGVscGVyIG1ldGhvZCB0byBjaGVjayBpZiBlbGVtZW50IGlzIGluc2lkZSBhIHNwZWNpZmljIGNvbXBvbmVudFxyXG5cdHByaXZhdGUgaXNFbGVtZW50SW5zaWRlKGVsZW1lbnQ6IGFueSwgc2VsZWN0b3I6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cdFx0aWYgKCFlbGVtZW50KSByZXR1cm4gZmFsc2U7XHJcblx0XHRcclxuXHRcdGxldCBjdXJyZW50RWxlbWVudCA9IGVsZW1lbnQ7XHJcblx0XHR3aGlsZSAoY3VycmVudEVsZW1lbnQgJiYgY3VycmVudEVsZW1lbnQgIT09IGRvY3VtZW50KSB7XHJcblx0XHRcdGlmIChjdXJyZW50RWxlbWVudC50YWdOYW1lICYmIGN1cnJlbnRFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gc2VsZWN0b3IpIHtcclxuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gZmFsc2U7XHJcblx0fVxyXG5cclxuXHRoaWRlTWVudSgpIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlID0gZmFsc2U7XHJcblx0XHR0aGlzLm1lbnVTZXJ2aWNlLnJlc2V0KCk7XHJcblxyXG5cdFx0aWYgKHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XHJcblx0XHRcdHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XHJcblx0XHRcdHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyID0gbnVsbDtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5tZW51U2Nyb2xsTGlzdGVuZXIpIHtcclxuXHRcdFx0dGhpcy5tZW51U2Nyb2xsTGlzdGVuZXIoKTtcclxuXHRcdFx0dGhpcy5tZW51U2Nyb2xsTGlzdGVuZXIgPSBudWxsO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMudW5ibG9ja0JvZHlTY3JvbGwoKTtcclxuXHR9XHJcblxyXG5cdGdldCBjb250YWluZXJDbGFzcygpIHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdCdsYXlvdXQtbGlnaHQnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkuY29sb3JTY2hlbWUgPT09ICdsaWdodCcsXHJcblx0XHRcdCdsYXlvdXQtZGltJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLmNvbG9yU2NoZW1lID09PSAnZGltJyxcclxuXHRcdFx0J2xheW91dC1kYXJrJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLmNvbG9yU2NoZW1lID09PSAnZGFyaycsXHJcblx0XHRcdCdsYXlvdXQtY29sb3JzY2hlbWUtbWVudSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51VGhlbWUgPT09ICdjb2xvclNjaGVtZScsXHJcblx0XHRcdCdsYXlvdXQtcHJpbWFyeWNvbG9yLW1lbnUnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkubWVudVRoZW1lID09PSAncHJpbWFyeUNvbG9yJyxcclxuXHRcdFx0J2xheW91dC10cmFuc3BhcmVudC1tZW51JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVUaGVtZSA9PT0gJ3RyYW5zcGFyZW50JyxcclxuXHRcdFx0J2xheW91dC1zdGF0aWMnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkubWVudU1vZGUgPT09ICdzdGF0aWMnLFxyXG5cdFx0XHQnbGF5b3V0LWV4cGFuZGFibGUnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkubWVudU1vZGUgPT09ICdleHBhbmRhYmxlJyxcclxuXHRcdFx0J2xheW91dC1zdGF0aWMtaW5hY3RpdmUnOiBcclxuXHRcdFx0XHR0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkubWVudU1vZGUgPT09ICdzdGF0aWMnICYmIFxyXG5cdFx0XHRcdCF0aGlzLmxheW91dFNlcnZpY2Uuc2hvdWxkU2hvd1N0YXRpY1NpZGViYXIoKSxcclxuXHRcdFx0J2xheW91dC1zdGF0aWMtY29sbGFwc2VkJzogXHJcblx0XHRcdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlID09PSAnc3RhdGljJyAmJiBcclxuXHRcdFx0XHR0aGlzLmxheW91dFNlcnZpY2UuaXNTdGF0aWNTaWRlYmFyQ29sbGFwc2VkKCksXHJcblx0XHRcdCdsYXlvdXQtbW9iaWxlLWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlLFxyXG5cdFx0XHQncC1pbnB1dC1maWxsZWQnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkuaW5wdXRTdHlsZSA9PT0gJ2ZpbGxlZCcsXHJcblx0XHRcdCdwLXJpcHBsZS1kaXNhYmxlZCc6ICF0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkucmlwcGxlLFxyXG5cdFx0XHQnbmV3LXNpZGViYXItbGF5b3V0JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlID09PSAnZXhwYW5kYWJsZScsXHJcblx0XHRcdCdzZWNvbmRhcnktZXhwYW5kZWQnOiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc2Vjb25kYXJ5U2lkZWJhckV4cGFuZGVkXHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRpZiAodGhpcy5vdmVybGF5TWVudU9wZW5TdWJzY3JpcHRpb24pIHtcclxuXHRcdFx0dGhpcy5vdmVybGF5TWVudU9wZW5TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcclxuXHRcdFx0dGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIoKTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCI+XHJcblx0QGlmIChsYXlvdXRTZXJ2aWNlLnNob3VsZFNob3dTdGF0aWNTaWRlYmFyKCkpIHtcclxuXHRcdDxhcHAtc3RhdGljLXNpZGViYXIgLz5cclxuXHR9IEBlbHNlIGlmIChsYXlvdXRTZXJ2aWNlLnNob3VsZFNob3dFeHBhbmRhYmxlTWVudSgpKSB7XHJcblx0XHQ8YXBwLWV4cGFuZGFibGUtbWVudSAvPlxyXG5cdH1cclxuXHQ8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbnRlbnQtd3JhcHBlclwiPlxyXG5cdFx0PGFwcC10b3BiYXIgLz5cclxuXHRcdDxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGVudFwiPlxyXG5cdFx0XHQ8cm91dGVyLW91dGxldCAvPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGFwcC1wcm9maWxlbWVudSAvPlxyXG5cdDxhcHAtaGlzdG9yeS1zaWRlYmFyIC8+XHJcblx0PGFwcC1zaXRlLW1hcC1zaWRlYmFyIC8+XHJcblx0PGFwcC1mYXZvcml0ZS1wYWdlcy1zaWRlYmFyIC8+XHJcblx0PGFwcC1ub3RpZmljYXRpb25zLXNpZGViYXIgLz5cclxuXHQ8IS0tPGFwcC1jb25maWc+PC9hcHAtY29uZmlnPi0tPlxyXG5cdDxkaXYgY2xhc3M9XCJsYXlvdXQtbWFza1wiIChjbGljayk9XCJoaWRlTWVudSgpXCI+PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPHAtdG9hc3Qga2V5PVwidG9hc3Qtcm9vdFwiIC8+XHJcbjxwLWRpYWxvZyBrZXk9XCJkaWFsb2ctcm9vdFwiIC8+XHJcbjxwLW1lc3NhZ2VzIGtleT1cIm1lc3NhZ2VzLXJvb3RcIiAvPlxyXG48cC1jb25maXJtUG9wdXAga2V5PVwiY29uZmlybVBvcHVwLXJvb3RcIiAvPlxyXG48cC1jb25maXJtRGlhbG9nIGtleT1cImNvbmZpcm1EaWFsb2ctcm9vdFwiIC8+XHJcbiJdfQ==
|
|
@@ -6,6 +6,7 @@ import { ScrollPanelModule } from 'primeng/scrollpanel';
|
|
|
6
6
|
import { SidebarModule } from 'primeng/sidebar';
|
|
7
7
|
import { TooltipModule } from 'primeng/tooltip';
|
|
8
8
|
import { TranslocoModule } from '@ngneat/transloco';
|
|
9
|
+
import { bridge } from 'aril/boot/bridge';
|
|
9
10
|
import { ButtonComponent } from 'aril/ui/button';
|
|
10
11
|
import { TextComponent } from 'aril/ui/text';
|
|
11
12
|
import { TranslateJsonPipe } from 'aril/util/pipes';
|
|
@@ -42,7 +43,7 @@ export class SiteMapSidebarComponent {
|
|
|
42
43
|
this.layoutService.state.siteMapSidebarVisible = value;
|
|
43
44
|
}
|
|
44
45
|
loadSiteMap() {
|
|
45
|
-
const menuItems =
|
|
46
|
+
const menuItems = bridge.hostMenuItems();
|
|
46
47
|
const nodes = this.buildSiteMapNodes(menuItems);
|
|
47
48
|
const totalCount = this.countTotalPages(nodes);
|
|
48
49
|
this.siteMapNodes.set(nodes);
|
|
@@ -163,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
163
164
|
FontAwesomeModule
|
|
164
165
|
], template: "<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\r\n\t*transloco=\"let t; read: 'siteMap'\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\r\n\t\t\t<div class=\"flex align-items-center gap-2\">\r\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\r\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\r\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<div class=\"sitemap-content\">\r\n\t\t<div class=\"search-section grid p-fluid m-0\">\r\n\t\t\t<aril-text\r\n\t\t\t\t[placeholder]=\"t('searchPages')\"\r\n\t\t\t\t[(ngModel)]=\"searchTerm\"\r\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\r\n\t\t\t\tclass=\"col-10 m-0\">\r\n\t\t\t</aril-text>\r\n\t\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\r\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"expandAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\r\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"collapseAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t</div>\r\n\r\n\t\t<!-- Site Map Tree -->\r\n\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"sitemap-tree\">\r\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\r\n\t\t\t\t\t<div class=\"tree-container\">\r\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\r\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-scrollPanel>\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<div class=\"empty-state\">\r\n\t\t\t\t<div class=\"empty-content\">\r\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\r\n\t\t\t\t\t<h3 class=\"empty-title\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\r\n\t\t\t\t\t</h3>\r\n\t\t\t\t\t<p class=\"empty-message\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t@if (searchTerm()) {\r\n\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\r\n\t\t\t\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\r\n\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\r\n\t\t<!-- Recursive Tree Node Template -->\r\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\r\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"node-item\"\r\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\r\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\r\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\r\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\r\n\t\t\t\t\t<div class=\"node-content\">\r\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\r\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\r\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t@if (node.icon) {\r\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\r\n\r\n\t\t\t\t\t\t@if (node.routerLink) {\r\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- Recursive Children -->\r\n\t\t\t\t@if (node.children && node.expanded) {\r\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</div>\r\n</p-sidebar>\r\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"] }]
|
|
165
166
|
}], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2.TranslocoService }] });
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFFdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7O0FBOEIzQyxNQUFNLE9BQU8sdUJBQXVCO0lBT25DLFlBQ1Es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LFdBQ3ZCO3dCQUNSLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsaUJBQWlCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBTY3JvbGxQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2Nyb2xscGFuZWwnO1xyXG5pbXBvcnQgeyBTaWRlYmFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zaWRlYmFyJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xvY29Nb2R1bGUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XHJcblxyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL3RleHQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVKc29uUGlwZSB9IGZyb20gJ2FyaWwvdXRpbC9waXBlcyc7XHJcblxyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHsgc29saWRJY29ucyB9IGZyb20gJ2FyaWwvdXRpbC9saWInO1xyXG5cclxuaW50ZXJmYWNlIE1lbnVOb2RlIHtcclxuXHRrZXk6IHN0cmluZztcclxuXHRsYWJlbDogc3RyaW5nIHwgb2JqZWN0O1xyXG5cdGljb24/OiBzdHJpbmc7XHJcblx0cm91dGVyTGluaz86IHN0cmluZztcclxuXHRjaGlsZHJlbj86IE1lbnVOb2RlW107XHJcblx0ZXhwYW5kZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXBwLXNpdGUtbWFwLXNpZGViYXInLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0Um91dGVyTW9kdWxlLFxyXG5cdFx0U2lkZWJhck1vZHVsZSxcclxuXHRcdFNjcm9sbFBhbmVsTW9kdWxlLFxyXG5cdFx0VG9vbHRpcE1vZHVsZSxcclxuXHRcdEJ1dHRvbkNvbXBvbmVudCxcclxuXHRcdFRleHRDb21wb25lbnQsXHJcblx0XHRUcmFuc2xvY29Nb2R1bGUsXHJcblx0XHRUcmFuc2xhdGVKc29uUGlwZSxcclxuXHRcdEZvbnRBd2Vzb21lTW9kdWxlXHJcblx0XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaXRlTWFwU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0c2l0ZU1hcE5vZGVzID0gc2lnbmFsPE1lbnVOb2RlW10+KFtdKTtcclxuXHRmaWx0ZXJlZE5vZGVzID0gc2lnbmFsPE1lbnVOb2RlW10+KFtdKTtcclxuXHRzZWFyY2hUZXJtID0gc2lnbmFsPHN0cmluZz4oJycpO1xyXG5cdHRvdGFsUGFnZXMgPSBzaWduYWw8bnVtYmVyPigwKTtcclxuICBzb2xpZEljb25zID0gc29saWRJY29ucztcclxuXHRcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSB0cmFuc2xvY29TZXJ2aWNlOiBUcmFuc2xvY29TZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMubG9hZFNpdGVNYXAoKTtcclxuXHR9XHJcblxyXG5cdGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zaXRlTWFwU2lkZWJhclZpc2libGU7XHJcblx0fVxyXG5cclxuXHRzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnNpdGVNYXBTaWRlYmFyVmlzaWJsZSA9IHZhbHVlO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBsb2FkU2l0ZU1hcCgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IG1lbnVJdGVtcyA9ICg8YW55Pmdsb2JhbFRoaXMpLmhvc3RNZW51SXRlbXM/LigpIHx8IFtdO1xyXG5cdFx0Y29uc3Qgbm9kZXMgPSB0aGlzLmJ1aWxkU2l0ZU1hcE5vZGVzKG1lbnVJdGVtcyk7XHJcblx0XHRjb25zdCB0b3RhbENvdW50ID0gdGhpcy5jb3VudFRvdGFsUGFnZXMobm9kZXMpO1xyXG5cclxuXHRcdHRoaXMuc2l0ZU1hcE5vZGVzLnNldChub2Rlcyk7XHJcblx0XHR0aGlzLmZpbHRlcmVkTm9kZXMuc2V0KG5vZGVzKTtcclxuXHRcdHRoaXMudG90YWxQYWdlcy5zZXQodG90YWxDb3VudCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGJ1aWxkU2l0ZU1hcE5vZGVzKGl0ZW1zOiBhbnlbXSwgcGFyZW50S2V5ID0gJycpOiBNZW51Tm9kZVtdIHtcclxuXHRcdHJldHVybiBpdGVtc1xyXG5cdFx0XHQuZmlsdGVyKChpdGVtKSA9PiB7XHJcblx0XHRcdFx0Ly8gS2VlcCB0aGUgaG9tZSBwYWdlIHJvdXRlIChcIi9cIikgYW5kIGFueSBub24tZW1wdHkgcm91dGVzXHJcblx0XHRcdFx0cmV0dXJuICFpdGVtLnJvdXRlckxpbmsgfHwgaXRlbS5yb3V0ZXJMaW5rID09PSAnLycgfHwgaXRlbS5yb3V0ZXJMaW5rLnRyaW0oKSAhPT0gJyc7XHJcblx0XHRcdH0pXHJcblx0XHRcdC5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qga2V5ID0gcGFyZW50S2V5ID8gYCR7cGFyZW50S2V5fS0ke2luZGV4fWAgOiBgJHtpbmRleH1gO1xyXG5cclxuXHRcdFx0XHRsZXQgbGFiZWw6IHN0cmluZyB8IG9iamVjdDtcclxuXHRcdFx0XHRpZiAoaXRlbS5yb3V0ZXJMaW5rID09PSAnLycpIHtcclxuXHRcdFx0XHRcdGxhYmVsID0geyB0cjogJ0FuYXNheWZhJywgZW46ICdIb21lJyB9O1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRsYWJlbCA9IGl0ZW0ubGFiZWwgfHwgeyB0cjogJ0JpbGlubWV5ZW4nLCBlbjogJ1Vua25vd24nIH07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjb25zdCBub2RlOiBNZW51Tm9kZSA9IHtcclxuXHRcdFx0XHRcdGtleSxcclxuXHRcdFx0XHRcdGxhYmVsLFxyXG5cdFx0XHRcdFx0aWNvbjogaXRlbS5pY29uLFxyXG5cdFx0XHRcdFx0cm91dGVyTGluazogaXRlbS5yb3V0ZXJMaW5rLFxyXG5cdFx0XHRcdFx0ZXhwYW5kZWQ6IGZhbHNlXHJcblx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0aWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRub2RlLmNoaWxkcmVuID0gdGhpcy5idWlsZFNpdGVNYXBOb2RlcyhpdGVtLml0ZW1zLCBrZXkpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0cmV0dXJuIG5vZGU7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBjb3VudFRvdGFsUGFnZXMobm9kZXM6IE1lbnVOb2RlW10pOiBudW1iZXIge1xyXG5cdFx0bGV0IGNvdW50ID0gMDtcclxuXHRcdGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG5cdFx0XHRpZiAobm9kZS5yb3V0ZXJMaW5rKSB7XHJcblx0XHRcdFx0Y291bnQrKztcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xyXG5cdFx0XHRcdGNvdW50ICs9IHRoaXMuY291bnRUb3RhbFBhZ2VzKG5vZGUuY2hpbGRyZW4pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gY291bnQ7XHJcblx0fVxyXG5cclxuXHRvblNlYXJjaENoYW5nZSgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IHNlYXJjaFRlcm0gPSB0aGlzLnNlYXJjaFRlcm0oKT8udG9Mb3dlckNhc2UoKT8udHJpbSgpO1xyXG5cdFx0aWYgKCFzZWFyY2hUZXJtKSB7XHJcblx0XHRcdHRoaXMuZmlsdGVyZWROb2Rlcy5zZXQodGhpcy5zaXRlTWFwTm9kZXMoKSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb25zdCBmaWx0ZXJlZCA9IHRoaXMuZmlsdGVyTm9kZXModGhpcy5zaXRlTWFwTm9kZXMoKSwgc2VhcmNoVGVybSk7XHJcblx0XHRcdHRoaXMuZmlsdGVyZWROb2Rlcy5zZXQoZmlsdGVyZWQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBmaWx0ZXJOb2Rlcyhub2RlczogTWVudU5vZGVbXSwgc2VhcmNoVGVybTogc3RyaW5nKTogTWVudU5vZGVbXSB7XHJcblx0XHRjb25zdCBmaWx0ZXJlZDogTWVudU5vZGVbXSA9IFtdO1xyXG5cdFx0Y29uc3QgY3VycmVudExhbmcgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UuZ2V0QWN0aXZlTGFuZygpO1xyXG5cclxuXHRcdGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG5cdFx0XHQvLyBDb252ZXJ0IGxhYmVsIHRvIHN0cmluZyBmb3Igc2VhcmNoIGJhc2VkIG9uIGFjdGl2ZSBsYW5ndWFnZVxyXG5cdFx0XHRjb25zdCBsYWJlbFRleHQgPVxyXG5cdFx0XHRcdHR5cGVvZiBub2RlLmxhYmVsID09PSAnc3RyaW5nJyA/XHJcblx0XHRcdFx0XHRub2RlLmxhYmVsXHJcblx0XHRcdFx0Olx0KG5vZGUubGFiZWwgYXMgYW55KT8uW2N1cnJlbnRMYW5nXSB8fCAobm9kZS5sYWJlbCBhcyBhbnkpPy50ciB8fCAobm9kZS5sYWJlbCBhcyBhbnkpPy5lbiB8fCAnJztcclxuXHJcblx0XHRcdGNvbnN0IG1hdGNoZXMgPSBsYWJlbFRleHQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKTtcclxuXHRcdFx0bGV0IGZpbHRlcmVkQ2hpbGRyZW46IE1lbnVOb2RlW10gPSBbXTtcclxuXHJcblx0XHRcdGlmIChub2RlLmNoaWxkcmVuKSB7XHJcblx0XHRcdFx0ZmlsdGVyZWRDaGlsZHJlbiA9IHRoaXMuZmlsdGVyTm9kZXMobm9kZS5jaGlsZHJlbiwgc2VhcmNoVGVybSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmIChtYXRjaGVzIHx8IGZpbHRlcmVkQ2hpbGRyZW4ubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdGZpbHRlcmVkLnB1c2goe1xyXG5cdFx0XHRcdFx0Li4ubm9kZSxcclxuXHRcdFx0XHRcdGNoaWxkcmVuOiBmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDAgPyBmaWx0ZXJlZENoaWxkcmVuIDogbm9kZS5jaGlsZHJlbixcclxuXHRcdFx0XHRcdGV4cGFuZGVkOiBmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDBcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBmaWx0ZXJlZDtcclxuXHR9XHJcblxyXG5cdGV4cGFuZEFsbCgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGV4cGFuZGVkID0gdGhpcy5leHBhbmROb2Rlcyh0aGlzLmZpbHRlcmVkTm9kZXMoKSwgdHJ1ZSk7XHJcblx0XHR0aGlzLmZpbHRlcmVkTm9kZXMuc2V0KFsuLi5leHBhbmRlZF0pO1xyXG5cdH1cclxuXHJcblx0Y29sbGFwc2VBbGwoKTogdm9pZCB7XHJcblx0XHRjb25zdCBjb2xsYXBzZWQgPSB0aGlzLmV4cGFuZE5vZGVzKHRoaXMuZmlsdGVyZWROb2RlcygpLCBmYWxzZSk7XHJcblx0XHR0aGlzLmZpbHRlcmVkTm9kZXMuc2V0KFsuLi5jb2xsYXBzZWRdKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZXhwYW5kTm9kZXMobm9kZXM6IE1lbnVOb2RlW10sIGV4cGFuZGVkOiBib29sZWFuKTogTWVudU5vZGVbXSB7XHJcblx0XHRyZXR1cm4gbm9kZXMubWFwKChub2RlKSA9PiAoe1xyXG5cdFx0XHQuLi5ub2RlLFxyXG5cdFx0XHRleHBhbmRlZCxcclxuXHRcdFx0Y2hpbGRyZW46IG5vZGUuY2hpbGRyZW4gPyB0aGlzLmV4cGFuZE5vZGVzKG5vZGUuY2hpbGRyZW4sIGV4cGFuZGVkKSA6IHVuZGVmaW5lZFxyXG5cdFx0fSkpO1xyXG5cdH1cclxuXHJcblx0dG9nZ2xlTm9kZShub2RlOiBNZW51Tm9kZSk6IHZvaWQge1xyXG5cdFx0bm9kZS5leHBhbmRlZCA9ICFub2RlLmV4cGFuZGVkO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChbLi4udGhpcy5maWx0ZXJlZE5vZGVzKCldKTtcclxuXHR9XHJcblxyXG5cdHRyYWNrQnlLZXkoaW5kZXg6IG51bWJlciwgbm9kZTogTWVudU5vZGUpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIG5vZGUua2V5IHx8IGAke2luZGV4fWA7XHJcblx0fVxyXG59XHJcbiIsIjxwLXNpZGViYXJcclxuXHRbKHZpc2libGUpXT1cInZpc2libGVcIlxyXG5cdHBvc2l0aW9uPVwicmlnaHRcIlxyXG5cdFt0cmFuc2l0aW9uT3B0aW9uc109XCInLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJ1wiXHJcblx0c3R5bGVDbGFzcz1cImxheW91dC1zaXRlbWFwLXNpZGViYXIgdy1mdWxsIHNtOnctMzByZW1cIlxyXG5cdCp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogJ3NpdGVNYXAnXCI+XHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC0yIHctZnVsbFwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuXHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLXNpdGVtYXAgdGV4dC1wcmltYXJ5IHRleHQteGxcIj48L2k+XHJcblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1sZ1wiPnt7IHQoJ3NpdGVNYXAnKSB9fTwvc3Bhbj5cclxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRvdGFsLXBhZ2VzXCI+e3sgdG90YWxQYWdlcygpIH19IHt7IHQoJ3BhZ2VzJykgfX08L3NwYW4+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9uZy10ZW1wbGF0ZT5cclxuXHJcblx0PGRpdiBjbGFzcz1cInNpdGVtYXAtY29udGVudFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInNlYXJjaC1zZWN0aW9uIGdyaWQgcC1mbHVpZCBtLTBcIj5cclxuXHRcdFx0PGFyaWwtdGV4dFxyXG5cdFx0XHRcdFtwbGFjZWhvbGRlcl09XCJ0KCdzZWFyY2hQYWdlcycpXCJcclxuXHRcdFx0XHRbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxyXG5cdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VhcmNoQ2hhbmdlKClcIlxyXG5cdFx0XHRcdGNsYXNzPVwiY29sLTEwIG0tMFwiPlxyXG5cdFx0XHQ8L2FyaWwtdGV4dD5cclxuXHRcdFx0QGlmIChmaWx0ZXJlZE5vZGVzKCkubGVuZ3RoID4gMCkge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLTIgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbS0wIHAtMFwiPlxyXG5cdFx0XHRcdFx0PGZhLWljb25cclxuXHRcdFx0XHRcdFx0W2ljb25dPVwic29saWRJY29ucy5mYUFuZ2xlc0Rvd25cIlxyXG5cdFx0XHRcdFx0XHRzaXplPVwieGxcIlxyXG5cdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKVwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY29sLTEgY3Vyc29yLXBvaW50ZXJcIlxyXG5cdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwidCgnZXhwYW5kQWxsJylcIlxyXG5cdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHQoY2xpY2spPVwiZXhwYW5kQWxsKClcIj5cclxuXHRcdFx0XHRcdDwvZmEtaWNvbj5cclxuXHRcdFx0XHRcdDxmYS1pY29uXHJcblx0XHRcdFx0XHRcdFtpY29uXT1cInNvbGlkSWNvbnMuZmFBbmdsZXNVcFwiXHJcblx0XHRcdFx0XHRcdHNpemU9XCJ4bFwiXHJcblx0XHRcdFx0XHRcdHN0eWxlPVwiY29sb3I6IHZhcigtLXJlZC01MDApXCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJjb2wtMSBtbC0zIGN1cnNvci1wb2ludGVyXCJcclxuXHRcdFx0XHRcdFx0W3BUb29sdGlwXT1cInQoJ2NvbGxhcHNlQWxsJylcIlxyXG5cdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHQoY2xpY2spPVwiY29sbGFwc2VBbGwoKVwiPlxyXG5cdFx0XHRcdFx0PC9mYS1pY29uPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHR9XHJcblx0XHQ8L2Rpdj5cclxuXHJcblx0XHQ8IS0tIFNpdGUgTWFwIFRyZWUgLS0+XHJcblx0XHRAaWYgKGZpbHRlcmVkTm9kZXMoKS5sZW5ndGggPiAwKSB7XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJzaXRlbWFwLXRyZWVcIj5cclxuXHRcdFx0XHQ8cC1zY3JvbGxQYW5lbCBbc3R5bGVdPVwieyB3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICcxMDAlJyB9XCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidHJlZS1jb250YWluZXJcIj5cclxuXHRcdFx0XHRcdFx0QGZvciAobm9kZSBvZiBmaWx0ZXJlZE5vZGVzKCk7IHRyYWNrIHRyYWNrQnlLZXkoJGluZGV4LCBub2RlKSkge1xyXG5cdFx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmVlTm9kZVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbm9kZSwgbGV2ZWw6IDAgfVwiPjwvbmctY29udGFpbmVyPlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L3Atc2Nyb2xsUGFuZWw+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0fSBAZWxzZSB7XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJlbXB0eS1jb250ZW50XCI+XHJcblx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLXNpdGVtYXAgZW1wdHktaWNvblwiPjwvaT5cclxuXHRcdFx0XHRcdDxoMyBjbGFzcz1cImVtcHR5LXRpdGxlXCI+XHJcblx0XHRcdFx0XHRcdHt7IHNlYXJjaFRlcm0oKSA/IHQoJ25vU2VhcmNoUmVzdWx0cycpIDogdCgnbm9QYWdlcycpIH19XHJcblx0XHRcdFx0XHQ8L2gzPlxyXG5cdFx0XHRcdFx0PHAgY2xhc3M9XCJlbXB0eS1tZXNzYWdlXCI+XHJcblx0XHRcdFx0XHRcdHt7IHNlYXJjaFRlcm0oKSA/IHQoJ3RyeURpZmZlcmVudEtleXdvcmRzJykgOiAnJyB9fVxyXG5cdFx0XHRcdFx0PC9wPlxyXG5cdFx0XHRcdFx0QGlmIChzZWFyY2hUZXJtKCkpIHtcclxuXHRcdFx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0W2xhYmVsXT1cInQoJ2NsZWFyU2VhcmNoJylcIlxyXG5cdFx0XHRcdFx0XHRcdGljb249XCJUSU1FU1wiXHJcblx0XHRcdFx0XHRcdFx0Y29sb3I9XCJzZWNvbmRhcnlcIlxyXG5cdFx0XHRcdFx0XHRcdFtvdXRsaW5lZF09XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0XHRzaXplPVwic21cIlxyXG5cdFx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cInNlYXJjaFRlcm0uc2V0KCcnKTsgb25TZWFyY2hDaGFuZ2UoKVwiPlxyXG5cdFx0XHRcdFx0XHQ8L2FyaWwtYnV0dG9uPlxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdH1cclxuXHJcblx0XHQ8IS0tIFJlY3Vyc2l2ZSBUcmVlIE5vZGUgVGVtcGxhdGUgLS0+XHJcblx0XHQ8bmctdGVtcGxhdGUgI3RyZWVOb2RlVGVtcGxhdGUgbGV0LW5vZGUgbGV0LWxldmVsPVwibGV2ZWxcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cInRyZWUtbm9kZVwiIFtzdHlsZS5tYXJnaW4tbGVmdC5weF09XCJsZXZlbCAqIDIwXCI+XHJcblx0XHRcdFx0PGRpdlxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJub2RlLWl0ZW1cIlxyXG5cdFx0XHRcdFx0W2NsYXNzLmhhcy1jaGlsZHJlbl09XCJub2RlLmNoaWxkcmVuICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMFwiXHJcblx0XHRcdFx0XHRbY2xhc3MuaXMtcGFnZV09XCJub2RlLnJvdXRlckxpbmtcIlxyXG5cdFx0XHRcdFx0W3JvdXRlckxpbmtdPVwibm9kZS5yb3V0ZXJMaW5rXCJcclxuXHRcdFx0XHRcdChjbGljayk9XCIhbm9kZS5yb3V0ZXJMaW5rID8gdG9nZ2xlTm9kZShub2RlKSA6ICh2aXNpYmxlID0gZmFsc2UpXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibm9kZS1jb250ZW50XCI+XHJcblx0XHRcdFx0XHRcdEBpZiAobm9kZS5jaGlsZHJlbiAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidG9nZ2xlLWJ0blwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IHRvZ2dsZU5vZGUobm9kZSlcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwicGlcIiBbY2xhc3MucGktY2hldnJvbi1yaWdodF09XCIhbm9kZS5leHBhbmRlZFwiIFtjbGFzcy5waS1jaGV2cm9uLWRvd25dPVwibm9kZS5leHBhbmRlZFwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0QGlmIChub2RlLmljb24pIHtcclxuXHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cIm5vZGUtaWNvblwiIFtjbGFzc109XCJub2RlLmljb25cIj48L2k+XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJub2RlLWxhYmVsXCI+e3sgbm9kZS5sYWJlbCB8IHRyYW5zbGF0ZUpzb24gfX08L3NwYW4+XHJcblxyXG5cdFx0XHRcdFx0XHRAaWYgKG5vZGUucm91dGVyTGluaykge1xyXG5cdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiZXh0ZXJuYWwtaWNvbiBwaSBwaS1leHRlcm5hbC1saW5rXCI+PC9pPlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdFx0PCEtLSBSZWN1cnNpdmUgQ2hpbGRyZW4gLS0+XHJcblx0XHRcdFx0QGlmIChub2RlLmNoaWxkcmVuICYmIG5vZGUuZXhwYW5kZWQpIHtcclxuXHRcdFx0XHRcdEBmb3IgKGNoaWxkIG9mIG5vZGUuY2hpbGRyZW47IHRyYWNrIHRyYWNrQnlLZXkoJGluZGV4LCBjaGlsZCkpIHtcclxuXHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lclxyXG5cdFx0XHRcdFx0XHRcdCpuZ1RlbXBsYXRlT3V0bGV0PVwidHJlZU5vZGVUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNoaWxkLCBsZXZlbDogbGV2ZWwgKyAxIH1cIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHQ8L2Rpdj5cclxuPC9wLXNpZGViYXI+XHJcbiJdfQ==
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFFdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7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LFNBQVM7aUNBQ0csSUFBSSxZQUNOLHNCQUFzQixXQUN2Qjt3QkFDUixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGlCQUFpQjtxQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgU2Nyb2xsUGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Njcm9sbHBhbmVsJztcclxuaW1wb3J0IHsgU2lkZWJhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvc2lkZWJhcic7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvTW9kdWxlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5cclxuaW1wb3J0IHsgYnJpZGdlIH0gZnJvbSAnYXJpbC9ib290L2JyaWRnZSc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvdGV4dCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUpzb25QaXBlIH0gZnJvbSAnYXJpbC91dGlsL3BpcGVzJztcclxuXHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FwcC5sYXlvdXQuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xyXG5pbXBvcnQgeyBzb2xpZEljb25zIH0gZnJvbSAnYXJpbC91dGlsL2xpYic7XHJcblxyXG5pbnRlcmZhY2UgTWVudU5vZGUge1xyXG5cdGtleTogc3RyaW5nO1xyXG5cdGxhYmVsOiBzdHJpbmcgfCBvYmplY3Q7XHJcblx0aWNvbj86IHN0cmluZztcclxuXHRyb3V0ZXJMaW5rPzogc3RyaW5nO1xyXG5cdGNoaWxkcmVuPzogTWVudU5vZGVbXTtcclxuXHRleHBhbmRlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcHAtc2l0ZS1tYXAtc2lkZWJhcicsXHJcblx0aW1wb3J0czogW1xyXG5cdFx0Q29tbW9uTW9kdWxlLFxyXG5cdFx0Rm9ybXNNb2R1bGUsXHJcblx0XHRSb3V0ZXJNb2R1bGUsXHJcblx0XHRTaWRlYmFyTW9kdWxlLFxyXG5cdFx0U2Nyb2xsUGFuZWxNb2R1bGUsXHJcblx0XHRUb29sdGlwTW9kdWxlLFxyXG5cdFx0QnV0dG9uQ29tcG9uZW50LFxyXG5cdFx0VGV4dENvbXBvbmVudCxcclxuXHRcdFRyYW5zbG9jb01vZHVsZSxcclxuXHRcdFRyYW5zbGF0ZUpzb25QaXBlLFxyXG5cdFx0Rm9udEF3ZXNvbWVNb2R1bGVcclxuXHRdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9zaXRlLW1hcC1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9zaXRlLW1hcC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNpdGVNYXBTaWRlYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHRzaXRlTWFwTm9kZXMgPSBzaWduYWw8TWVudU5vZGVbXT4oW10pO1xyXG5cdGZpbHRlcmVkTm9kZXMgPSBzaWduYWw8TWVudU5vZGVbXT4oW10pO1xyXG5cdHNlYXJjaFRlcm0gPSBzaWduYWw8c3RyaW5nPignJyk7XHJcblx0dG90YWxQYWdlcyA9IHNpZ25hbDxudW1iZXI+KDApO1xyXG4gIHNvbGlkSWNvbnMgPSBzb2xpZEljb25zO1xyXG5cdFxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2VcclxuXHQpIHt9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5sb2FkU2l0ZU1hcCgpO1xyXG5cdH1cclxuXHJcblx0Z2V0IHZpc2libGUoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnNpdGVNYXBTaWRlYmFyVmlzaWJsZTtcclxuXHR9XHJcblxyXG5cdHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc2l0ZU1hcFNpZGViYXJWaXNpYmxlID0gdmFsdWU7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGxvYWRTaXRlTWFwKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgbWVudUl0ZW1zID0gYnJpZGdlLmhvc3RNZW51SXRlbXMoKTtcclxuXHRcdGNvbnN0IG5vZGVzID0gdGhpcy5idWlsZFNpdGVNYXBOb2RlcyhtZW51SXRlbXMpO1xyXG5cdFx0Y29uc3QgdG90YWxDb3VudCA9IHRoaXMuY291bnRUb3RhbFBhZ2VzKG5vZGVzKTtcclxuXHJcblx0XHR0aGlzLnNpdGVNYXBOb2Rlcy5zZXQobm9kZXMpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChub2Rlcyk7XHJcblx0XHR0aGlzLnRvdGFsUGFnZXMuc2V0KHRvdGFsQ291bnQpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBidWlsZFNpdGVNYXBOb2RlcyhpdGVtczogYW55W10sIHBhcmVudEtleSA9ICcnKTogTWVudU5vZGVbXSB7XHJcblx0XHRyZXR1cm4gaXRlbXNcclxuXHRcdFx0LmZpbHRlcigoaXRlbSkgPT4ge1xyXG5cdFx0XHRcdC8vIEtlZXAgdGhlIGhvbWUgcGFnZSByb3V0ZSAoXCIvXCIpIGFuZCBhbnkgbm9uLWVtcHR5IHJvdXRlc1xyXG5cdFx0XHRcdHJldHVybiAhaXRlbS5yb3V0ZXJMaW5rIHx8IGl0ZW0ucm91dGVyTGluayA9PT0gJy8nIHx8IGl0ZW0ucm91dGVyTGluay50cmltKCkgIT09ICcnO1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGtleSA9IHBhcmVudEtleSA/IGAke3BhcmVudEtleX0tJHtpbmRleH1gIDogYCR7aW5kZXh9YDtcclxuXHJcblx0XHRcdFx0bGV0IGxhYmVsOiBzdHJpbmcgfCBvYmplY3Q7XHJcblx0XHRcdFx0aWYgKGl0ZW0ucm91dGVyTGluayA9PT0gJy8nKSB7XHJcblx0XHRcdFx0XHRsYWJlbCA9IHsgdHI6ICdBbmFzYXlmYScsIGVuOiAnSG9tZScgfTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0bGFiZWwgPSBpdGVtLmxhYmVsIHx8IHsgdHI6ICdCaWxpbm1leWVuJywgZW46ICdVbmtub3duJyB9O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Y29uc3Qgbm9kZTogTWVudU5vZGUgPSB7XHJcblx0XHRcdFx0XHRrZXksXHJcblx0XHRcdFx0XHRsYWJlbCxcclxuXHRcdFx0XHRcdGljb246IGl0ZW0uaWNvbixcclxuXHRcdFx0XHRcdHJvdXRlckxpbms6IGl0ZW0ucm91dGVyTGluayxcclxuXHRcdFx0XHRcdGV4cGFuZGVkOiBmYWxzZVxyXG5cdFx0XHRcdH07XHJcblxyXG5cdFx0XHRcdGlmIChpdGVtLml0ZW1zICYmIGl0ZW0uaXRlbXMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdFx0bm9kZS5jaGlsZHJlbiA9IHRoaXMuYnVpbGRTaXRlTWFwTm9kZXMoaXRlbS5pdGVtcywga2V5KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHJldHVybiBub2RlO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgY291bnRUb3RhbFBhZ2VzKG5vZGVzOiBNZW51Tm9kZVtdKTogbnVtYmVyIHtcclxuXHRcdGxldCBjb3VudCA9IDA7XHJcblx0XHRmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcclxuXHRcdFx0aWYgKG5vZGUucm91dGVyTGluaykge1xyXG5cdFx0XHRcdGNvdW50Kys7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKG5vZGUuY2hpbGRyZW4pIHtcclxuXHRcdFx0XHRjb3VudCArPSB0aGlzLmNvdW50VG90YWxQYWdlcyhub2RlLmNoaWxkcmVuKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIGNvdW50O1xyXG5cdH1cclxuXHJcblx0b25TZWFyY2hDaGFuZ2UoKTogdm9pZCB7XHJcblx0XHRjb25zdCBzZWFyY2hUZXJtID0gdGhpcy5zZWFyY2hUZXJtKCk/LnRvTG93ZXJDYXNlKCk/LnRyaW0oKTtcclxuXHRcdGlmICghc2VhcmNoVGVybSkge1xyXG5cdFx0XHR0aGlzLmZpbHRlcmVkTm9kZXMuc2V0KHRoaXMuc2l0ZU1hcE5vZGVzKCkpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Y29uc3QgZmlsdGVyZWQgPSB0aGlzLmZpbHRlck5vZGVzKHRoaXMuc2l0ZU1hcE5vZGVzKCksIHNlYXJjaFRlcm0pO1xyXG5cdFx0XHR0aGlzLmZpbHRlcmVkTm9kZXMuc2V0KGZpbHRlcmVkKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZmlsdGVyTm9kZXMobm9kZXM6IE1lbnVOb2RlW10sIHNlYXJjaFRlcm06IHN0cmluZyk6IE1lbnVOb2RlW10ge1xyXG5cdFx0Y29uc3QgZmlsdGVyZWQ6IE1lbnVOb2RlW10gPSBbXTtcclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKTtcclxuXHJcblx0XHRmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcclxuXHRcdFx0Ly8gQ29udmVydCBsYWJlbCB0byBzdHJpbmcgZm9yIHNlYXJjaCBiYXNlZCBvbiBhY3RpdmUgbGFuZ3VhZ2VcclxuXHRcdFx0Y29uc3QgbGFiZWxUZXh0ID1cclxuXHRcdFx0XHR0eXBlb2Ygbm9kZS5sYWJlbCA9PT0gJ3N0cmluZycgP1xyXG5cdFx0XHRcdFx0bm9kZS5sYWJlbFxyXG5cdFx0XHRcdDpcdChub2RlLmxhYmVsIGFzIGFueSk/LltjdXJyZW50TGFuZ10gfHwgKG5vZGUubGFiZWwgYXMgYW55KT8udHIgfHwgKG5vZGUubGFiZWwgYXMgYW55KT8uZW4gfHwgJyc7XHJcblxyXG5cdFx0XHRjb25zdCBtYXRjaGVzID0gbGFiZWxUZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSk7XHJcblx0XHRcdGxldCBmaWx0ZXJlZENoaWxkcmVuOiBNZW51Tm9kZVtdID0gW107XHJcblxyXG5cdFx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xyXG5cdFx0XHRcdGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbHRlck5vZGVzKG5vZGUuY2hpbGRyZW4sIHNlYXJjaFRlcm0pO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAobWF0Y2hlcyB8fCBmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRmaWx0ZXJlZC5wdXNoKHtcclxuXHRcdFx0XHRcdC4uLm5vZGUsXHJcblx0XHRcdFx0XHRjaGlsZHJlbjogZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwID8gZmlsdGVyZWRDaGlsZHJlbiA6IG5vZGUuY2hpbGRyZW4sXHJcblx0XHRcdFx0XHRleHBhbmRlZDogZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gZmlsdGVyZWQ7XHJcblx0fVxyXG5cclxuXHRleHBhbmRBbGwoKTogdm9pZCB7XHJcblx0XHRjb25zdCBleHBhbmRlZCA9IHRoaXMuZXhwYW5kTm9kZXModGhpcy5maWx0ZXJlZE5vZGVzKCksIHRydWUpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChbLi4uZXhwYW5kZWRdKTtcclxuXHR9XHJcblxyXG5cdGNvbGxhcHNlQWxsKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgY29sbGFwc2VkID0gdGhpcy5leHBhbmROb2Rlcyh0aGlzLmZpbHRlcmVkTm9kZXMoKSwgZmFsc2UpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChbLi4uY29sbGFwc2VkXSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGV4cGFuZE5vZGVzKG5vZGVzOiBNZW51Tm9kZVtdLCBleHBhbmRlZDogYm9vbGVhbik6IE1lbnVOb2RlW10ge1xyXG5cdFx0cmV0dXJuIG5vZGVzLm1hcCgobm9kZSkgPT4gKHtcclxuXHRcdFx0Li4ubm9kZSxcclxuXHRcdFx0ZXhwYW5kZWQsXHJcblx0XHRcdGNoaWxkcmVuOiBub2RlLmNoaWxkcmVuID8gdGhpcy5leHBhbmROb2Rlcyhub2RlLmNoaWxkcmVuLCBleHBhbmRlZCkgOiB1bmRlZmluZWRcclxuXHRcdH0pKTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZU5vZGUobm9kZTogTWVudU5vZGUpOiB2b2lkIHtcclxuXHRcdG5vZGUuZXhwYW5kZWQgPSAhbm9kZS5leHBhbmRlZDtcclxuXHRcdHRoaXMuZmlsdGVyZWROb2Rlcy5zZXQoWy4uLnRoaXMuZmlsdGVyZWROb2RlcygpXSk7XHJcblx0fVxyXG5cclxuXHR0cmFja0J5S2V5KGluZGV4OiBudW1iZXIsIG5vZGU6IE1lbnVOb2RlKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBub2RlLmtleSB8fCBgJHtpbmRleH1gO1xyXG5cdH1cclxufVxyXG4iLCI8cC1zaWRlYmFyXHJcblx0Wyh2aXNpYmxlKV09XCJ2aXNpYmxlXCJcclxuXHRwb3NpdGlvbj1cInJpZ2h0XCJcclxuXHRbdHJhbnNpdGlvbk9wdGlvbnNdPVwiJy4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSdcIlxyXG5cdHN0eWxlQ2xhc3M9XCJsYXlvdXQtc2l0ZW1hcC1zaWRlYmFyIHctZnVsbCBzbTp3LTMwcmVtXCJcclxuXHQqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6ICdzaXRlTWFwJ1wiPlxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMiB3LWZ1bGxcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcblx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1zaXRlbWFwIHRleHQtcHJpbWFyeSB0ZXh0LXhsXCI+PC9pPlxyXG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtbGdcIj57eyB0KCdzaXRlTWFwJykgfX08L3NwYW4+XHJcblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0b3RhbC1wYWdlc1wiPnt7IHRvdGFsUGFnZXMoKSB9fSB7eyB0KCdwYWdlcycpIH19PC9zcGFuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJzaXRlbWFwLWNvbnRlbnRcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJzZWFyY2gtc2VjdGlvbiBncmlkIHAtZmx1aWQgbS0wXCI+XHJcblx0XHRcdDxhcmlsLXRleHRcclxuXHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwidCgnc2VhcmNoUGFnZXMnKVwiXHJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcclxuXHRcdFx0XHQobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaENoYW5nZSgpXCJcclxuXHRcdFx0XHRjbGFzcz1cImNvbC0xMCBtLTBcIj5cclxuXHRcdFx0PC9hcmlsLXRleHQ+XHJcblx0XHRcdEBpZiAoZmlsdGVyZWROb2RlcygpLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC0yIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIG0tMCBwLTBcIj5cclxuXHRcdFx0XHRcdDxmYS1pY29uXHJcblx0XHRcdFx0XHRcdFtpY29uXT1cInNvbGlkSWNvbnMuZmFBbmdsZXNEb3duXCJcclxuXHRcdFx0XHRcdFx0c2l6ZT1cInhsXCJcclxuXHRcdFx0XHRcdFx0c3R5bGU9XCJjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcilcIlxyXG5cdFx0XHRcdFx0XHRjbGFzcz1cImNvbC0xIGN1cnNvci1wb2ludGVyXCJcclxuXHRcdFx0XHRcdFx0W3BUb29sdGlwXT1cInQoJ2V4cGFuZEFsbCcpXCJcclxuXHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImV4cGFuZEFsbCgpXCI+XHJcblx0XHRcdFx0XHQ8L2ZhLWljb24+XHJcblx0XHRcdFx0XHQ8ZmEtaWNvblxyXG5cdFx0XHRcdFx0XHRbaWNvbl09XCJzb2xpZEljb25zLmZhQW5nbGVzVXBcIlxyXG5cdFx0XHRcdFx0XHRzaXplPVwieGxcIlxyXG5cdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiB2YXIoLS1yZWQtNTAwKVwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY29sLTEgbWwtMyBjdXJzb3ItcG9pbnRlclwiXHJcblx0XHRcdFx0XHRcdFtwVG9vbHRpcF09XCJ0KCdjb2xsYXBzZUFsbCcpXCJcclxuXHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImNvbGxhcHNlQWxsKClcIj5cclxuXHRcdFx0XHRcdDwvZmEtaWNvbj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0fVxyXG5cdFx0PC9kaXY+XHJcblxyXG5cdFx0PCEtLSBTaXRlIE1hcCBUcmVlIC0tPlxyXG5cdFx0QGlmIChmaWx0ZXJlZE5vZGVzKCkubGVuZ3RoID4gMCkge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwic2l0ZW1hcC10cmVlXCI+XHJcblx0XHRcdFx0PHAtc2Nyb2xsUGFuZWwgW3N0eWxlXT1cInsgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfVwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRyZWUtY29udGFpbmVyXCI+XHJcblx0XHRcdFx0XHRcdEBmb3IgKG5vZGUgb2YgZmlsdGVyZWROb2RlcygpOyB0cmFjayB0cmFja0J5S2V5KCRpbmRleCwgbm9kZSkpIHtcclxuXHRcdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJlZU5vZGVUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG5vZGUsIGxldmVsOiAwIH1cIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9wLXNjcm9sbFBhbmVsPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGVcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZW1wdHktY29udGVudFwiPlxyXG5cdFx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1zaXRlbWFwIGVtcHR5LWljb25cIj48L2k+XHJcblx0XHRcdFx0XHQ8aDMgY2xhc3M9XCJlbXB0eS10aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHR7eyBzZWFyY2hUZXJtKCkgPyB0KCdub1NlYXJjaFJlc3VsdHMnKSA6IHQoJ25vUGFnZXMnKSB9fVxyXG5cdFx0XHRcdFx0PC9oMz5cclxuXHRcdFx0XHRcdDxwIGNsYXNzPVwiZW1wdHktbWVzc2FnZVwiPlxyXG5cdFx0XHRcdFx0XHR7eyBzZWFyY2hUZXJtKCkgPyB0KCd0cnlEaWZmZXJlbnRLZXl3b3JkcycpIDogJycgfX1cclxuXHRcdFx0XHRcdDwvcD5cclxuXHRcdFx0XHRcdEBpZiAoc2VhcmNoVGVybSgpKSB7XHJcblx0XHRcdFx0XHRcdDxhcmlsLWJ1dHRvblxyXG5cdFx0XHRcdFx0XHRcdFtsYWJlbF09XCJ0KCdjbGVhclNlYXJjaCcpXCJcclxuXHRcdFx0XHRcdFx0XHRpY29uPVwiVElNRVNcIlxyXG5cdFx0XHRcdFx0XHRcdGNvbG9yPVwic2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRbb3V0bGluZWRdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0c2l6ZT1cInNtXCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJzZWFyY2hUZXJtLnNldCgnJyk7IG9uU2VhcmNoQ2hhbmdlKClcIj5cclxuXHRcdFx0XHRcdFx0PC9hcmlsLWJ1dHRvbj5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9XHJcblxyXG5cdFx0PCEtLSBSZWN1cnNpdmUgVHJlZSBOb2RlIFRlbXBsYXRlIC0tPlxyXG5cdFx0PG5nLXRlbXBsYXRlICN0cmVlTm9kZVRlbXBsYXRlIGxldC1ub2RlIGxldC1sZXZlbD1cImxldmVsXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJ0cmVlLW5vZGVcIiBbc3R5bGUubWFyZ2luLWxlZnQucHhdPVwibGV2ZWwgKiAyMFwiPlxyXG5cdFx0XHRcdDxkaXZcclxuXHRcdFx0XHRcdGNsYXNzPVwibm9kZS1pdGVtXCJcclxuXHRcdFx0XHRcdFtjbGFzcy5oYXMtY2hpbGRyZW5dPVwibm9kZS5jaGlsZHJlbiAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCA+IDBcIlxyXG5cdFx0XHRcdFx0W2NsYXNzLmlzLXBhZ2VdPVwibm9kZS5yb3V0ZXJMaW5rXCJcclxuXHRcdFx0XHRcdFtyb3V0ZXJMaW5rXT1cIm5vZGUucm91dGVyTGlua1wiXHJcblx0XHRcdFx0XHQoY2xpY2spPVwiIW5vZGUucm91dGVyTGluayA/IHRvZ2dsZU5vZGUobm9kZSkgOiAodmlzaWJsZSA9IGZhbHNlKVwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm5vZGUtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0XHRAaWYgKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRvZ2dsZS1idG5cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyB0b2dnbGVOb2RlKG5vZGUpXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpXCIgW2NsYXNzLnBpLWNoZXZyb24tcmlnaHRdPVwiIW5vZGUuZXhwYW5kZWRcIiBbY2xhc3MucGktY2hldnJvbi1kb3duXT1cIm5vZGUuZXhwYW5kZWRcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpZiAobm9kZS5pY29uKSB7XHJcblx0XHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJub2RlLWljb25cIiBbY2xhc3NdPVwibm9kZS5pY29uXCI+PC9pPlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibm9kZS1sYWJlbFwiPnt7IG5vZGUubGFiZWwgfCB0cmFuc2xhdGVKc29uIH19PC9zcGFuPlxyXG5cclxuXHRcdFx0XHRcdFx0QGlmIChub2RlLnJvdXRlckxpbmspIHtcclxuXHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImV4dGVybmFsLWljb24gcGkgcGktZXh0ZXJuYWwtbGlua1wiPjwvaT5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHRcdDwhLS0gUmVjdXJzaXZlIENoaWxkcmVuIC0tPlxyXG5cdFx0XHRcdEBpZiAobm9kZS5jaGlsZHJlbiAmJiBub2RlLmV4cGFuZGVkKSB7XHJcblx0XHRcdFx0XHRAZm9yIChjaGlsZCBvZiBub2RlLmNoaWxkcmVuOyB0cmFjayB0cmFja0J5S2V5KCRpbmRleCwgY2hpbGQpKSB7XHJcblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXJcclxuXHRcdFx0XHRcdFx0XHQqbmdUZW1wbGF0ZU91dGxldD1cInRyZWVOb2RlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlsZCwgbGV2ZWw6IGxldmVsICsgMSB9XCI+PC9uZy1jb250YWluZXI+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0PC9kaXY+XHJcbjwvcC1zaWRlYmFyPlxyXG4iXX0=
|