@valtimo/components 12.11.0 → 12.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/carbon-list/carbon-list.component.mjs +8 -4
- package/esm2022/lib/components/carbon-list/tags-modal/tags-modal.component.mjs +1 -1
- package/esm2022/lib/components/confirmation-modal/confirmation-modal.component.mjs +1 -1
- package/esm2022/lib/components/page-header/page-header.component.mjs +4 -3
- package/esm2022/lib/components/page-title/page-title.component.mjs +4 -3
- package/esm2022/lib/components/value-path-selector/value-path-selector.component.mjs +3 -8
- package/esm2022/lib/directives/remove-classnames/remove-classnames.directive.mjs +53 -0
- package/esm2022/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.mjs +48 -27
- package/esm2022/lib/models/theme.model.mjs +3 -1
- package/esm2022/lib/services/cds-theme.service.mjs +5 -2
- package/esm2022/lib/services/page-header.service.mjs +11 -1
- package/esm2022/lib/services/value-path-selector.service.mjs +14 -7
- package/esm2022/public_api.mjs +14 -11
- package/fesm2022/valtimo-components.mjs +282 -187
- package/fesm2022/valtimo-components.mjs.map +1 -1
- package/lib/components/carbon-list/carbon-list.component.d.ts +2 -1
- package/lib/components/carbon-list/carbon-list.component.d.ts.map +1 -1
- package/lib/components/page-header/page-header.component.d.ts +1 -0
- package/lib/components/page-header/page-header.component.d.ts.map +1 -1
- package/lib/components/page-title/page-title.component.d.ts +1 -0
- package/lib/components/page-title/page-title.component.d.ts.map +1 -1
- package/lib/components/value-path-selector/value-path-selector.component.d.ts +1 -2
- package/lib/components/value-path-selector/value-path-selector.component.d.ts.map +1 -1
- package/lib/directives/remove-classnames/remove-classnames.directive.d.ts +16 -0
- package/lib/directives/remove-classnames/remove-classnames.directive.d.ts.map +1 -0
- package/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.d.ts +6 -4
- package/lib/directives/valtimo-cds-modal/valtimo-cds-modal.directive.d.ts.map +1 -1
- package/lib/models/theme.model.d.ts +3 -1
- package/lib/models/theme.model.d.ts.map +1 -1
- package/lib/services/cds-theme.service.d.ts +1 -0
- package/lib/services/cds-theme.service.d.ts.map +1 -1
- package/lib/services/page-header.service.d.ts +4 -0
- package/lib/services/page-header.service.d.ts.map +1 -1
- package/lib/services/value-path-selector.service.d.ts +1 -0
- package/lib/services/value-path-selector.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +7 -6
- package/public_api.d.ts.map +1 -1
|
@@ -41,6 +41,7 @@ export class PageTitleComponent {
|
|
|
41
41
|
this.customPageTitle$ = this.pageTitleService.customPageTitle$;
|
|
42
42
|
this.customPageTitleSet$ = this.pageTitleService.customPageTitleSet$;
|
|
43
43
|
this.translatedTitle$ = new BehaviorSubject('');
|
|
44
|
+
this.smallTitle$ = this.pageHeaderService.smallTitle$;
|
|
44
45
|
this.appTitleAsSuffix = this.configService?.config?.featureToggles?.applicationTitleAsSuffix || false;
|
|
45
46
|
this._subscriptions = new Subscription();
|
|
46
47
|
this._hidePageTitle$ = this.router.events.pipe(startWith(this.router), switchMap(() => this.activatedRoute.firstChild.data), map(data => !!data?.hidePageTitle), tap(hidden => this.pageTitleService.setPageTitleHidden(hidden)));
|
|
@@ -100,11 +101,11 @@ export class PageTitleComponent {
|
|
|
100
101
|
}));
|
|
101
102
|
}
|
|
102
103
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.Title }, { token: i3.TranslateService }, { token: i4.NGXLogger }, { token: i5.ConfigService }, { token: i6.PageTitleService }, { token: i6.PageHeaderService }, { token: i6.PageSubtitleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PageTitleComponent, selector: "valtimo-page-title", host: { properties: { "class.valtimo-page-title--compact": "this.isCompact" } }, viewQueries: [{ propertyName: "_subtitleVcr", first: true, predicate: ["subtitleVcr"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n [ngClass]=\"{'--no-margin': hidePageTitle || isCompact
|
|
104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PageTitleComponent, selector: "valtimo-page-title", host: { properties: { "class.valtimo-page-title--compact": "this.isCompact" } }, viewQueries: [{ propertyName: "_subtitleVcr", first: true, predicate: ["subtitleVcr"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"page-title-container\"\n [ngClass]=\"{\n 'page-title-container--no-margin': hidePageTitle || isCompact,\n 'page-title-container--compact': isCompact,\n }\"\n>\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n } as obs\n \"\n >\n <div\n class=\"skeleton-container\"\n *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\"\n [ngClass]=\"{'skeleton-container--compact': isCompact}\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <ng-container *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\">\n @if (!isCompact) {\n <h2\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"page-title\"\n [ngClass]=\"{'page-title--small-title': smallTitle$ | async}\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </h2>\n } @else {\n <span\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"cds--breadcrumb compact-page-title\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </span>\n }\n </ng-container>\n </ng-container>\n\n <ng-container #subtitleVcr></ng-container>\n</div>\n", styles: [".page-title-container{display:flex;flex-direction:row;align-items:flex-end}.page-title-container--no-margin{margin-bottom:0}.page-title-container--compact{align-items:center}.page-title-container .page-title{flex-shrink:0;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title-container .page-title--small-title{font-size:var(--cds-body-compact-01-font-size, .875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, .16px)}.page-title-container .compact-page-title{margin-left:8px;flex-shrink:0}.page-title-container .skeleton-container .cds--skeleton__placeholder{width:200px;height:40px}.page-title-container .skeleton-container--compact{width:60px;height:18px;overflow:hidden;margin-left:8px}.valtimo-page-title--compact{width:100%}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.SkeletonPlaceholder, selector: "cds-skeleton-placeholder, ibm-skeleton-placeholder" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
104
105
|
}
|
|
105
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, decorators: [{
|
|
106
107
|
type: Component,
|
|
107
|
-
args: [{ selector: 'valtimo-page-title', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n [ngClass]=\"{'--no-margin': hidePageTitle || isCompact
|
|
108
|
+
args: [{ selector: 'valtimo-page-title', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"page-title-container\"\n [ngClass]=\"{\n 'page-title-container--no-margin': hidePageTitle || isCompact,\n 'page-title-container--compact': isCompact,\n }\"\n>\n <ng-container\n *ngIf=\"\n hidePageTitle === false && {\n title: translatedTitle$ | async,\n hasCustomPageTitle: hasCustomPageTitle$ | async,\n customPageTitle: customPageTitle$ | async,\n customPageTitleSet: customPageTitleSet$ | async,\n } as obs\n \"\n >\n <div\n class=\"skeleton-container\"\n *ngIf=\"obs.hasCustomPageTitle && !obs.customPageTitleSet\"\n [ngClass]=\"{'skeleton-container--compact': isCompact}\"\n >\n <cds-skeleton-placeholder></cds-skeleton-placeholder>\n </div>\n\n <ng-container *ngIf=\"obs.hasCustomPageTitle ? obs.customPageTitleSet : obs.title !== ''\">\n @if (!isCompact) {\n <h2\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"page-title\"\n [ngClass]=\"{'page-title--small-title': smallTitle$ | async}\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </h2>\n } @else {\n <span\n [title]=\"obs.hasCustomPageTitle ? obs.customPageTitle : obs.title\"\n class=\"cds--breadcrumb compact-page-title\"\n >\n {{ obs.hasCustomPageTitle ? obs.customPageTitle : obs.title }}\n </span>\n }\n </ng-container>\n </ng-container>\n\n <ng-container #subtitleVcr></ng-container>\n</div>\n", styles: [".page-title-container{display:flex;flex-direction:row;align-items:flex-end}.page-title-container--no-margin{margin-bottom:0}.page-title-container--compact{align-items:center}.page-title-container .page-title{flex-shrink:0;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title-container .page-title--small-title{font-size:var(--cds-body-compact-01-font-size, .875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, .16px)}.page-title-container .compact-page-title{margin-left:8px;flex-shrink:0}.page-title-container .skeleton-container .cds--skeleton__placeholder{width:200px;height:40px}.page-title-container .skeleton-container--compact{width:60px;height:18px;overflow:hidden;margin-left:8px}.valtimo-page-title--compact{width:100%}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
108
109
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.Title }, { type: i3.TranslateService }, { type: i4.NGXLogger }, { type: i5.ConfigService }, { type: i6.PageTitleService }, { type: i6.PageHeaderService }, { type: i6.PageSubtitleService }], propDecorators: { isCompact: [{
|
|
109
110
|
type: HostBinding,
|
|
110
111
|
args: ['class.valtimo-page-title--compact']
|
|
@@ -112,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
112
113
|
type: ViewChild,
|
|
113
114
|
args: ['subtitleVcr', { static: true, read: ViewContainerRef }]
|
|
114
115
|
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUdYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFTZCxNQUFNLE9BQU8sa0JBQWtCO0lBMEI3QixZQUNtQixNQUFjLEVBQ2QsY0FBOEIsRUFDOUIsWUFBbUIsRUFDbkIsZ0JBQWtDLEVBQ2xDLE1BQWlCLEVBQ2pCLGFBQTRCLEVBQzVCLGdCQUFrQyxFQUNsQyxpQkFBb0MsRUFDcEMsbUJBQXdDO1FBUnhDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQU87UUFDbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNw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QWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0F6R1Usa0JBQWtCO21HQUFsQixrQkFBa0IsbU9BR2tCLGdCQUFnQiwyQ0NuRGpFLHcrREF3REE7OzRGRFJhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxvQkFBb0IsaUJBR2YsaUJBQWlCLENBQUMsSUFBSTtnVEFHYSxTQUFTO3NCQUExRCxXQUFXO3VCQUFDLG1DQUFtQztnQkFHL0IsWUFBWTtzQkFENUIsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RpdGxlfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgc3RhcnRXaXRoLFxuICBTdWJzY3JpcHRpb24sXG4gIHN3aXRjaE1hcCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7UGFnZUhlYWRlclNlcnZpY2UsIFBhZ2VTdWJ0aXRsZVNlcnZpY2UsIFBhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1wYWdlLXRpdGxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UtdGl0bGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VUaXRsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy52YWx0aW1vLXBhZ2UtdGl0bGUtLWNvbXBhY3QnKSBpc0NvbXBhY3QhOiBib29sZWFuO1xuXG4gIEBWaWV3Q2hpbGQoJ3N1YnRpdGxlVmNyJywge3N0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZn0pXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnRpdGxlVmNyITogVmlld0NvbnRhaW5lclJlZjtcblxuICBwdWJsaWMgaGlkZVBhZ2VUaXRsZSA9IGZhbHNlO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwVGl0bGUgPSB0aGlzLmNvbmZpZ1NlcnZpY2U/LmNvbmZpZz8uYXBwbGljYXRpb25UaXRsZSB8fCAnVmFsdGltbyc7XG4gIHB1YmxpYyByZWFkb25seSBoYXNDdXN0b21QYWdlVGl0bGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgc3RhcnRXaXRoKHRoaXMucm91dGVyKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5maXJzdENoaWxkLmRhdGEpLFxuICAgIG1hcChkYXRhID0+ICEhZGF0YT8uY3VzdG9tUGFnZVRpdGxlKVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tUGFnZVRpdGxlJCA9IHRoaXMucGFnZVRpdGxlU2VydmljZS5jdXN0b21QYWdlVGl0bGUkO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tUGFnZVRpdGxlU2V0JCA9IHRoaXMucGFnZVRpdGxlU2VydmljZS5jdXN0b21QYWdlVGl0bGVTZXQkO1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNsYXRlZFRpdGxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHByaXZhdGUgYXBwVGl0bGVBc1N1ZmZpeCA9XG4gICAgdGhpcy5jb25maWdTZXJ2aWNlPy5jb25maWc/LmZlYXR1cmVUb2dnbGVzPy5hcHBsaWNhdGlvblRpdGxlQXNTdWZmaXggfHwgZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2hpZGVQYWdlVGl0bGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgc3RhcnRXaXRoKHRoaXMucm91dGVyKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5maXJzdENoaWxkLmRhdGEpLFxuICAgIG1hcChkYXRhID0+ICEhZGF0YT8uaGlkZVBhZ2VUaXRsZSksXG4gICAgdGFwKGhpZGRlbiA9PiB0aGlzLnBhZ2VUaXRsZVNlcnZpY2Uuc2V0UGFnZVRpdGxlSGlkZGVuKGhpZGRlbikpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlU2VydmljZTogVGl0bGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBOR1hMb2dnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZVRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VIZWFkZXJTZXJ2aWNlOiBQYWdlSGVhZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VTdWJ0aXRsZVNlcnZpY2U6IFBhZ2VTdWJ0aXRsZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5Sb3V0ZXJUcmFuc2xhdGVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5IaWRlUGFnZVRpdGxlU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuQ29tcGFjdE1vZGVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlU3VidGl0bGVTZXJ2aWNlLnNldFRpdGxlVmlld0NvbnRhaW5lclJlZih0aGlzLl9zdWJ0aXRsZVZjcik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUm91dGVyVHJhbnNsYXRlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKHN0YXJ0V2l0aChudWxsKSksXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICAgICAgXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3Qgcm91dGVUaXRsZSA9XG4gICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZT8uc25hcHNob3Q/LmZpcnN0Q2hpbGQ/LmRhdGE/LnRpdGxlIHx8XG4gICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZT8uc25hcHNob3Q/LmZpcnN0Q2hpbGQ/LmNoaWxkcmVuWzBdPy5kYXRhPy50aXRsZTtcbiAgICAgICAgY29uc3Qgcm91dGVUaXRsZVRyYW5zbGF0aW9uID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQocm91dGVUaXRsZSk7XG4gICAgICAgIGNvbnN0IHJvdXRlVGl0bGVQYWdlVHJhbnNsYXRpb25TdHJpbmcgPSBgcGFnZXMuJHtyb3V0ZVRpdGxlPy50b0xvd2VyQ2FzZSgpfS50aXRsZWA7XG4gICAgICAgIGNvbnN0IHJvdXRlVGl0bGVQYWdlVHJhbnNsYXRpb24gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICByb3V0ZVRpdGxlUGFnZVRyYW5zbGF0aW9uU3RyaW5nXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRSb3V0ZVRpdGxlID1cbiAgICAgICAgICByb3V0ZVRpdGxlICYmXG4gICAgICAgICAgKChyb3V0ZVRpdGxlUGFnZVRyYW5zbGF0aW9uICE9PSByb3V0ZVRpdGxlUGFnZVRyYW5zbGF0aW9uU3RyaW5nXG4gICAgICAgICAgICA/IHJvdXRlVGl0bGVQYWdlVHJhbnNsYXRpb25cbiAgICAgICAgICAgIDogJycpIHx8XG4gICAgICAgICAgICAocm91dGVUaXRsZSAhPT0gcm91dGVUaXRsZVRyYW5zbGF0aW9uID8gcm91dGVUaXRsZVRyYW5zbGF0aW9uIDogJycpIHx8XG4gICAgICAgICAgICByb3V0ZVRpdGxlKTtcblxuICAgICAgICBpZiAodHJhbnNsYXRlZFJvdXRlVGl0bGUpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnUGFnZVRpdGxlOiBzZXRUaXRsZSB0cmFuc2xhdGVkIGFzeW5jJywgdHJhbnNsYXRlZFJvdXRlVGl0bGUpO1xuICAgICAgICAgIHRoaXMudHJhbnNsYXRlZFRpdGxlJC5uZXh0KHRyYW5zbGF0ZWRSb3V0ZVRpdGxlKTtcbiAgICAgICAgICBpZiAodGhpcy5hcHBUaXRsZUFzU3VmZml4KSB7XG4gICAgICAgICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0cmFuc2xhdGVkUm91dGVUaXRsZSArICcgLSAnICsgdGhpcy5hcHBUaXRsZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRoaXMuYXBwVGl0bGUgKyAnIC0gJyArIHRyYW5zbGF0ZWRSb3V0ZVRpdGxlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1BhZ2VUaXRsZTogc2V0VGl0bGUgZGVmYXVsdCcsIHRoaXMuYXBwVGl0bGUpO1xuICAgICAgICAgIHRoaXMudHJhbnNsYXRlZFRpdGxlJC5uZXh0KCcnKTtcbiAgICAgICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aGlzLmFwcFRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuSGlkZVBhZ2VUaXRsZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuX2hpZGVQYWdlVGl0bGUkLnN1YnNjcmliZShoaWRlUGFnZVRpdGxlID0+IHtcbiAgICAgICAgdGhpcy5oaWRlUGFnZVRpdGxlID0gaGlkZVBhZ2VUaXRsZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkNvbXBhY3RNb2RlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5wYWdlSGVhZGVyU2VydmljZS5jb21wYWN0TW9kZSQuc3Vic2NyaWJlKGNvbXBhY3RNb2RlID0+IHtcbiAgICAgICAgdGhpcy5pc0NvbXBhY3QgPSBjb21wYWN0TW9kZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2XG4gIFtuZ0NsYXNzXT1cInsnLS1uby1tYXJnaW4nOiBoaWRlUGFnZVRpdGxlIHx8IGlzQ29tcGFjdCwgJy0tY29tcGFjdCc6IGlzQ29tcGFjdH1cIlxuICBjbGFzcz1cInBhZ2UtdGl0bGUtY29udGFpbmVyXCJcbj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBoaWRlUGFnZVRpdGxlID09PSBmYWxzZSAmJiB7XG4gICAgICAgIHRpdGxlOiB0cmFuc2xhdGVkVGl0bGUkIHwgYXN5bmMsXG4gICAgICAgIGhhc0N1c3RvbVBhZ2VUaXRsZTogaGFzQ3VzdG9tUGFnZVRpdGxlJCB8IGFzeW5jLFxuICAgICAgICBjdXN0b21QYWdlVGl0bGU6IGN1c3RvbVBhZ2VUaXRsZSQgfCBhc3luYyxcbiAgICAgICAgY3VzdG9tUGFnZVRpdGxlU2V0OiBjdXN0b21QYWdlVGl0bGVTZXQkIHwgYXN5bmMsXG4gICAgICB9IGFzIG9ic1xuICAgIFwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNrZWxldG9uLWNvbnRhaW5lclwiXG4gICAgICAqbmdJZj1cIm9icy5oYXNDdXN0b21QYWdlVGl0bGUgJiYgIW9icy5jdXN0b21QYWdlVGl0bGVTZXRcIlxuICAgICAgW25nQ2xhc3NdPVwieyctLWNvbXBhY3QnOiBpc0NvbXBhY3R9XCJcbiAgICA+XG4gICAgICA8Y2RzLXNrZWxldG9uLXBsYWNlaG9sZGVyPjwvY2RzLXNrZWxldG9uLXBsYWNlaG9sZGVyPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9icy5oYXNDdXN0b21QYWdlVGl0bGUgPyBvYnMuY3VzdG9tUGFnZVRpdGxlU2V0IDogb2JzLnRpdGxlICE9PSAnJ1wiPlxuICAgICAgQGlmICghaXNDb21wYWN0KSB7XG4gICAgICAgIDxoMiBbdGl0bGVdPVwib2JzLmhhc0N1c3RvbVBhZ2VUaXRsZSA/IG9icy5jdXN0b21QYWdlVGl0bGUgOiBvYnMudGl0bGVcIiBjbGFzcz1cInBhZ2UtdGl0bGVcIj5cbiAgICAgICAgICB7eyBvYnMuaGFzQ3VzdG9tUGFnZVRpdGxlID8gb2JzLmN1c3RvbVBhZ2VUaXRsZSA6IG9icy50aXRsZSB9fVxuICAgICAgICA8L2gyPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgW3RpdGxlXT1cIm9icy5oYXNDdXN0b21QYWdlVGl0bGUgPyBvYnMuY3VzdG9tUGFnZVRpdGxlIDogb2JzLnRpdGxlXCJcbiAgICAgICAgICBjbGFzcz1cImNkcy0tYnJlYWRjcnVtYiBjb21wYWN0LXBhZ2UtdGl0bGVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgb2JzLmhhc0N1c3RvbVBhZ2VUaXRsZSA/IG9icy5jdXN0b21QYWdlVGl0bGUgOiBvYnMudGl0bGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgfVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICNzdWJ0aXRsZVZjcj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUdYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFTZCxNQUFNLE9BQU8sa0JBQWtCO0lBNEI3QixZQUNtQixNQUFjLEVBQ2QsY0FBOEIsRUFDOUIsWUFBbUIsRUFDbkIsZ0JBQWtDLEVBQ2xDLE1BQWlCLEVBQ2pCLGFBQTRCLEVBQzVCLGdCQUFrQyxFQUNsQyxpQkFBb0MsRUFDcEMsbUJBQXdDO1FBUnhDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQU87UUFDbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNw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QUNILENBQUM7SUFDSixDQUFDO0lBRU8sNkJBQTZCO1FBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDMUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBM0dVLGtCQUFrQjttR0FBbEIsa0JBQWtCLG1PQUdrQixnQkFBZ0IsMkNDbkRqRSw0cEVBK0RBOzs0RkRmYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0Usb0JBQW9CLGlCQUdmLGlCQUFpQixDQUFDLElBQUk7Z1RBR2EsU0FBUztzQkFBMUQsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBRy9CLFlBQVk7c0JBRDVCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIHN0YXJ0V2l0aCxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1BhZ2VIZWFkZXJTZXJ2aWNlLCBQYWdlU3VidGl0bGVTZXJ2aWNlLCBQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tcGFnZS10aXRsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnZS10aXRsZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlVGl0bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MudmFsdGltby1wYWdlLXRpdGxlLS1jb21wYWN0JykgaXNDb21wYWN0ITogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKCdzdWJ0aXRsZVZjcicsIHtzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWZ9KVxuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJ0aXRsZVZjciE6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgcHVibGljIGhpZGVQYWdlVGl0bGUgPSBmYWxzZTtcbiAgcHVibGljIHJlYWRvbmx5IGFwcFRpdGxlID0gdGhpcy5jb25maWdTZXJ2aWNlPy5jb25maWc/LmFwcGxpY2F0aW9uVGl0bGUgfHwgJ1ZhbHRpbW8nO1xuICBwdWJsaWMgcmVhZG9ubHkgaGFzQ3VzdG9tUGFnZVRpdGxlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgIHN0YXJ0V2l0aCh0aGlzLnJvdXRlciksXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuYWN0aXZhdGVkUm91dGUuZmlyc3RDaGlsZC5kYXRhKSxcbiAgICBtYXAoZGF0YSA9PiAhIWRhdGE/LmN1c3RvbVBhZ2VUaXRsZSlcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IGN1c3RvbVBhZ2VUaXRsZSQgPSB0aGlzLnBhZ2VUaXRsZVNlcnZpY2UuY3VzdG9tUGFnZVRpdGxlJDtcbiAgcHVibGljIHJlYWRvbmx5IGN1c3RvbVBhZ2VUaXRsZVNldCQgPSB0aGlzLnBhZ2VUaXRsZVNlcnZpY2UuY3VzdG9tUGFnZVRpdGxlU2V0JDtcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zbGF0ZWRUaXRsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwdWJsaWMgcmVhZG9ubHkgc21hbGxUaXRsZSQgPSB0aGlzLnBhZ2VIZWFkZXJTZXJ2aWNlLnNtYWxsVGl0bGUkO1xuXG4gIHByaXZhdGUgYXBwVGl0bGVBc1N1ZmZpeCA9XG4gICAgdGhpcy5jb25maWdTZXJ2aWNlPy5jb25maWc/LmZlYXR1cmVUb2dnbGVzPy5hcHBsaWNhdGlvblRpdGxlQXNTdWZmaXggfHwgZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2hpZGVQYWdlVGl0bGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgc3RhcnRXaXRoKHRoaXMucm91dGVyKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5maXJzdENoaWxkLmRhdGEpLFxuICAgIG1hcChkYXRhID0+ICEhZGF0YT8uaGlkZVBhZ2VUaXRsZSksXG4gICAgdGFwKGhpZGRlbiA9PiB0aGlzLnBhZ2VUaXRsZVNlcnZpY2Uuc2V0UGFnZVRpdGxlSGlkZGVuKGhpZGRlbikpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlU2VydmljZTogVGl0bGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBOR1hMb2dnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZVRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VIZWFkZXJTZXJ2aWNlOiBQYWdlSGVhZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VTdWJ0aXRsZVNlcnZpY2U6IFBhZ2VTdWJ0aXRsZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5Sb3V0ZXJUcmFuc2xhdGVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5IaWRlUGFnZVRpdGxlU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuQ29tcGFjdE1vZGVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlU3VidGl0bGVTZXJ2aWNlLnNldFRpdGxlVmlld0NvbnRhaW5lclJlZih0aGlzLl9zdWJ0aXRsZVZjcik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUm91dGVyVHJhbnNsYXRlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKHN0YXJ0V2l0aChudWxsKSksXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICAgICAgXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3Qgcm91dGVUaXRsZSA9XG4gICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZT8uc25hcHNob3Q/LmZpcnN0Q2hpbGQ/LmRhdGE/LnRpdGxlIHx8XG4gICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZT8uc25hcHNob3Q/LmZpcnN0Q2hpbGQ/LmNoaWxkcmVuWzBdPy5kYXRhPy50aXRsZTtcbiAgICAgICAgY29uc3Qgcm91dGVUaXRsZVRyYW5zbGF0aW9uID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQocm91dGVUaXRsZSk7XG4gICAgICAgIGNvbnN0IHJvdXRlVGl0bGVQYWdlVHJhbnNsYXRpb25TdHJpbmcgPSBgcGFnZXMuJHtyb3V0ZVRpdGxlPy50b0xvd2VyQ2FzZSgpfS50aXRsZWA7XG4gICAgICAgIGNvbnN0IHJvdXRlVGl0bGVQYWdlVHJhbnNsYXRpb24gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICByb3V0ZVRpdGxlUGFnZVRyYW5zbGF0aW9uU3RyaW5nXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRSb3V0ZVRpdGxlID1cbiAgICAgICAgICByb3V0ZVRpdGxlICYmXG4gICAgICAgICAgKChyb3V0ZVRpdGxlUGFnZVRyYW5zbGF0aW9uICE9PSByb3V0ZVRpdGxlUGFnZVRyYW5zbGF0aW9uU3RyaW5nXG4gICAgICAgICAgICA/IHJvdXRlVGl0bGVQYWdlVHJhbnNsYXRpb25cbiAgICAgICAgICAgIDogJycpIHx8XG4gICAgICAgICAgICAocm91dGVUaXRsZSAhPT0gcm91dGVUaXRsZVRyYW5zbGF0aW9uID8gcm91dGVUaXRsZVRyYW5zbGF0aW9uIDogJycpIHx8XG4gICAgICAgICAgICByb3V0ZVRpdGxlKTtcblxuICAgICAgICBpZiAodHJhbnNsYXRlZFJvdXRlVGl0bGUpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnUGFnZVRpdGxlOiBzZXRUaXRsZSB0cmFuc2xhdGVkIGFzeW5jJywgdHJhbnNsYXRlZFJvdXRlVGl0bGUpO1xuICAgICAgICAgIHRoaXMudHJhbnNsYXRlZFRpdGxlJC5uZXh0KHRyYW5zbGF0ZWRSb3V0ZVRpdGxlKTtcbiAgICAgICAgICBpZiAodGhpcy5hcHBUaXRsZUFzU3VmZml4KSB7XG4gICAgICAgICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0cmFuc2xhdGVkUm91dGVUaXRsZSArICcgLSAnICsgdGhpcy5hcHBUaXRsZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRoaXMuYXBwVGl0bGUgKyAnIC0gJyArIHRyYW5zbGF0ZWRSb3V0ZVRpdGxlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1BhZ2VUaXRsZTogc2V0VGl0bGUgZGVmYXVsdCcsIHRoaXMuYXBwVGl0bGUpO1xuICAgICAgICAgIHRoaXMudHJhbnNsYXRlZFRpdGxlJC5uZXh0KCcnKTtcbiAgICAgICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aGlzLmFwcFRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuSGlkZVBhZ2VUaXRsZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuX2hpZGVQYWdlVGl0bGUkLnN1YnNjcmliZShoaWRlUGFnZVRpdGxlID0+IHtcbiAgICAgICAgdGhpcy5oaWRlUGFnZVRpdGxlID0gaGlkZVBhZ2VUaXRsZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkNvbXBhY3RNb2RlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5wYWdlSGVhZGVyU2VydmljZS5jb21wYWN0TW9kZSQuc3Vic2NyaWJlKGNvbXBhY3RNb2RlID0+IHtcbiAgICAgICAgdGhpcy5pc0NvbXBhY3QgPSBjb21wYWN0TW9kZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48ZGl2XG4gIGNsYXNzPVwicGFnZS10aXRsZS1jb250YWluZXJcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3BhZ2UtdGl0bGUtY29udGFpbmVyLS1uby1tYXJnaW4nOiBoaWRlUGFnZVRpdGxlIHx8IGlzQ29tcGFjdCxcbiAgICAncGFnZS10aXRsZS1jb250YWluZXItLWNvbXBhY3QnOiBpc0NvbXBhY3QsXG4gIH1cIlxuPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGhpZGVQYWdlVGl0bGUgPT09IGZhbHNlICYmIHtcbiAgICAgICAgdGl0bGU6IHRyYW5zbGF0ZWRUaXRsZSQgfCBhc3luYyxcbiAgICAgICAgaGFzQ3VzdG9tUGFnZVRpdGxlOiBoYXNDdXN0b21QYWdlVGl0bGUkIHwgYXN5bmMsXG4gICAgICAgIGN1c3RvbVBhZ2VUaXRsZTogY3VzdG9tUGFnZVRpdGxlJCB8IGFzeW5jLFxuICAgICAgICBjdXN0b21QYWdlVGl0bGVTZXQ6IGN1c3RvbVBhZ2VUaXRsZVNldCQgfCBhc3luYyxcbiAgICAgIH0gYXMgb2JzXG4gICAgXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2tlbGV0b24tY29udGFpbmVyXCJcbiAgICAgICpuZ0lmPVwib2JzLmhhc0N1c3RvbVBhZ2VUaXRsZSAmJiAhb2JzLmN1c3RvbVBhZ2VUaXRsZVNldFwiXG4gICAgICBbbmdDbGFzc109XCJ7J3NrZWxldG9uLWNvbnRhaW5lci0tY29tcGFjdCc6IGlzQ29tcGFjdH1cIlxuICAgID5cbiAgICAgIDxjZHMtc2tlbGV0b24tcGxhY2Vob2xkZXI+PC9jZHMtc2tlbGV0b24tcGxhY2Vob2xkZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JzLmhhc0N1c3RvbVBhZ2VUaXRsZSA/IG9icy5jdXN0b21QYWdlVGl0bGVTZXQgOiBvYnMudGl0bGUgIT09ICcnXCI+XG4gICAgICBAaWYgKCFpc0NvbXBhY3QpIHtcbiAgICAgICAgPGgyXG4gICAgICAgICAgW3RpdGxlXT1cIm9icy5oYXNDdXN0b21QYWdlVGl0bGUgPyBvYnMuY3VzdG9tUGFnZVRpdGxlIDogb2JzLnRpdGxlXCJcbiAgICAgICAgICBjbGFzcz1cInBhZ2UtdGl0bGVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsncGFnZS10aXRsZS0tc21hbGwtdGl0bGUnOiBzbWFsbFRpdGxlJCB8IGFzeW5jfVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBvYnMuaGFzQ3VzdG9tUGFnZVRpdGxlID8gb2JzLmN1c3RvbVBhZ2VUaXRsZSA6IG9icy50aXRsZSB9fVxuICAgICAgICA8L2gyPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgW3RpdGxlXT1cIm9icy5oYXNDdXN0b21QYWdlVGl0bGUgPyBvYnMuY3VzdG9tUGFnZVRpdGxlIDogb2JzLnRpdGxlXCJcbiAgICAgICAgICBjbGFzcz1cImNkcy0tYnJlYWRjcnVtYiBjb21wYWN0LXBhZ2UtdGl0bGVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgb2JzLmhhc0N1c3RvbVBhZ2VUaXRsZSA/IG9icy5jdXN0b21QYWdlVGl0bGUgOiBvYnMudGl0bGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgfVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICNzdWJ0aXRsZVZjcj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
@@ -74,9 +74,7 @@ export class ValuePathSelectorComponent {
|
|
|
74
74
|
this._version$.next(value);
|
|
75
75
|
}
|
|
76
76
|
set prefixes(value) {
|
|
77
|
-
|
|
78
|
-
return;
|
|
79
|
-
this._prefixesSubject$.next(value);
|
|
77
|
+
this._prefixes$.next(value ?? []);
|
|
80
78
|
}
|
|
81
79
|
set defaultValue(value) {
|
|
82
80
|
if (!value)
|
|
@@ -94,9 +92,6 @@ export class ValuePathSelectorComponent {
|
|
|
94
92
|
get _documentDefinitionName$() {
|
|
95
93
|
return this._documentDefinitionNameSubject$.pipe(filter(value => !!value));
|
|
96
94
|
}
|
|
97
|
-
get _prefixes$() {
|
|
98
|
-
return this._prefixesSubject$.pipe(filter(value => !!value));
|
|
99
|
-
}
|
|
100
95
|
constructor(valuePathSelectorService, formBuilder, documentService) {
|
|
101
96
|
this.valuePathSelectorService = valuePathSelectorService;
|
|
102
97
|
this.formBuilder = formBuilder;
|
|
@@ -120,7 +115,7 @@ export class ValuePathSelectorComponent {
|
|
|
120
115
|
this.collectionSelected = new EventEmitter();
|
|
121
116
|
this._documentDefinitionNameSubject$ = new BehaviorSubject('');
|
|
122
117
|
this._version$ = new BehaviorSubject(null);
|
|
123
|
-
this.
|
|
118
|
+
this._prefixes$ = new BehaviorSubject([]);
|
|
124
119
|
this._inputMode$ = new BehaviorSubject(ValuePathSelectorInputMode.DROPDOWN);
|
|
125
120
|
this.inputModeIsDropdown$ = this._inputMode$.pipe(map(mode => {
|
|
126
121
|
return mode === ValuePathSelectorInputMode.DROPDOWN;
|
|
@@ -319,4 +314,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
319
314
|
}], collectionSelected: [{
|
|
320
315
|
type: Output
|
|
321
316
|
}] } });
|
|
322
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtcGF0aC1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3ZhbHVlLXBhdGgtc2VsZWN0b3IvdmFsdWUtcGF0aC1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3ZhbHVlLXBhdGgtc2VsZWN0b3IvdmFsdWUtcGF0aC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFJTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFFWCxhQUFhLEVBQ2IsWUFBWSxHQUNiLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsTUFBTSxFQUNOLEdBQUcsRUFFSCxFQUFFLEVBQ0YsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFnQixhQUFhLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUNMLDBCQUEwQixHQUczQixNQUFNLHdDQUF3QyxDQUFDO0FBRWhELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7QUEwQm5FLE1BQU0sT0FBTywwQkFBMEI7SUFPOUIsTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBTUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUtELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDeEMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQ2xDLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFJRCxJQUFvQixNQUFNLENBQUMsS0FBYztRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBb0IsUUFBUSxDQUFDLEtBQWM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQW9CLFFBQVEsQ0FBQyxLQUFjO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFvQixRQUFRLENBQUMsS0FBYztRQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBb0Isc0JBQXNCLENBQUMsS0FBYTtRQUN0RCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkIsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBb0IsT0FBTyxDQUFDLEtBQWE7UUFDdkMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFvQixRQUFRLENBQUMsS0FBZ0M7UUFDM0QsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQU9ELElBQW9CLFlBQVksQ0FBQyxLQUFhO1FBQzVDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLElBQUksQ0FBQyw4QkFBOEI7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQW9CLElBQUksQ0FBQyxLQUFvQjtRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBb0IsVUFBVSxDQUFDLEtBQTJCO1FBQ3hELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFLRCxJQUFZLHdCQUF3QjtRQUNsQyxPQUFPLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUdELElBQVksVUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQXdHRCxZQUNtQix3QkFBa0QsRUFDbEQsV0FBd0IsRUFDeEIsZUFBZ0M7UUFGaEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUEzTWMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDMUIsa0JBQWEsR0FDL0UsS0FBSyxDQUFDO1FBQzRELGtCQUFhLEdBQy9FLEtBQUssQ0FBQztRQU1RLGNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNqRCxZQUFZLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDO1NBQ2xDLENBQUMsQ0FBQztRQXFCYSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsaUJBQVksR0FBRyxLQUFLLENBQUM7UUErQnJCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixtQ0FBOEIsR0FBRyxLQUFLLENBQUM7UUFDdkMsYUFBUSxHQUE4QixNQUFNLENBQUM7UUFRNUMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFnQixhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFJakUsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBdUIsSUFBSSxDQUFDLENBQUM7UUFJdEUscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUQsdUJBQWtCLEdBQWdDLElBQUksWUFBWSxFQUFFLENBQUM7UUFFOUQsb0NBQStCLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFJbEUsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUNyRCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBbUMsSUFBSSxDQUFDLENBQUM7UUFLaEYsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FDaEQsMEJBQTBCLENBQUMsUUFBUSxDQUNwQyxDQUFDO1FBQ0sseUJBQW9CLEdBQXdCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUN0RSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVCxPQUFPLElBQUksS0FBSywwQkFBMEIsQ0FBQyxRQUFRLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVjLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzVELGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUV4RCxtQkFBYyxHQUFnRCxFQUFFLENBQUM7UUFFbEUsd0JBQW1CLEdBQTJCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN6RSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNqRCxTQUFTLENBQUMsQ0FBQyxVQUFnQyxFQUFFLEVBQUUsQ0FDN0MsVUFBVTtZQUNSLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4RSxDQUFDLENBQUMsYUFBYSxDQUFDO2dCQUNaLElBQUksQ0FBQyx3QkFBd0I7Z0JBQzdCLElBQUksQ0FBQyxVQUFVO2dCQUNmLElBQUksQ0FBQyxNQUFNO2dCQUNYLElBQUksQ0FBQyxTQUFTO2FBQ2YsQ0FBQyxDQUFDLElBQUksQ0FDTCxTQUFTLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUM5RCxPQUFPLE9BQU8sS0FBSyxRQUFRO2dCQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixDQUM3QyxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLElBQUksRUFDSixPQUFPLENBQ1I7Z0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FDN0MsUUFBUSxFQUNSLHNCQUFzQixFQUN0QixJQUFJLENBQ0wsQ0FDTixDQUNGLENBQ04sRUFDRCxHQUFHLENBQUMsQ0FBQyxPQUF3QixFQUFFLEVBQUUsQ0FDL0IsT0FBTzthQUNKLEdBQUcsQ0FBQyxDQUFDLE1BQXFCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0IsR0FBRyxNQUFNO1lBQ1QsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7Z0JBQzFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJO1NBQ2hCLENBQUMsQ0FBQzthQUNGLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUNsRSxFQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUMvQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDbEIsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FDN0UsRUFDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxFQUFFO1lBQ25ELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLElBQUksbUJBQW1CO2dCQUNuRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFLENBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkIsTUFBTSxZQUFZLEdBQUc7Z0JBQ25CLE9BQU8sRUFBRSxNQUFNLENBQUMsYUFBYTtnQkFDN0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxhQUFhLEtBQUssWUFBWTtnQkFDL0MsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUNqQixHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBQyxDQUFDO2FBQ3RELENBQUM7WUFFRixJQUFJLFlBQVksQ0FBQyxRQUFRO2dCQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztZQUNyRSxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxFQUNELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ25ELENBQUM7UUFFYyxvQ0FBK0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUVyRSxpQ0FBNEIsR0FDMUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLDBCQUEwQixFQUFFLENBQUMsSUFBSSxDQUM3RCxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDaEIsYUFBYSxDQUFDO1lBQ1osS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEVBQUU7WUFDNUQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEQsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsMEJBQTBCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsc0JBQXNCLENBQUMsRUFBRSxFQUFFLENBQzVDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJO1lBQzNCLEVBQUUsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUk7WUFDdEIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLHNCQUFzQjtTQUN4RCxDQUFDLENBQUMsQ0FDSixDQUNGLENBQ0YsQ0FDRixDQUFDO1FBRWEsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBTWxELENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQTJCO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQWM7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUFFLE9BQU87UUFFckMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFVBQW1CO1FBQ3pDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFnRDtRQUNwRSxNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU87UUFFMUIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSw0QkFBNEIsQ0FBQyxLQUEyQjtRQUM3RCxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU87UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0saUJBQWlCLENBQUMsY0FBdUI7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUVqRCxJQUNFLGNBQWM7WUFDZCxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUNuRixDQUFDO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNuQixjQUFjLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUN6RixDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQixDQUFDLGVBQXVCO1FBQzlDLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkQsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkMsTUFBTSxZQUFZLEdBQThCLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQ3pFLENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNYLE1BQU0sU0FBUyxHQUFHLGFBQWE7YUFDNUIsS0FBSyxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2FBQzdDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsS0FBSyxHQUFHLElBQUksUUFBUSxLQUFLLEdBQUcsQ0FBQzthQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO2FBQzlCLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUNwQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLGdCQUFnQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsUUFBUSxFQUFFLEVBQ25GLEVBQUUsQ0FDSCxDQUFDO1FBRUYsT0FBTyxHQUFHLE1BQU0sSUFBSSxnQkFBZ0IsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pHLENBQUM7K0dBclNVLDBCQUEwQjttR0FBMUIsMEJBQTBCLGszQkFSMUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDO2FBQzFEO1NBQ0YsMEJDeEZILDR6R0E2RkEsKzJDRHJCSSxZQUFZLHFSQUNaLGNBQWMsZ3NCQUNkLGFBQWEsOEJBQ2IsbUJBQW1CLDQ4QkFDbkIsWUFBWSxtTEFDWixXQUFXLHFLQUNYLGdCQUFnQixzUEFFaEIsZUFBZTs7NEZBVU4sMEJBQTBCO2tCQXhCdEMsU0FBUzsrQkFDRSw2QkFBNkIsY0FHM0IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixlQUFlO3FCQUNoQixhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDO3lCQUMxRDtxQkFDRjtxSkFHZ0UsV0FBVztzQkFBM0UsV0FBVzt1QkFBQywwQ0FBMEM7Z0JBQ2EsYUFBYTtzQkFBaEYsV0FBVzt1QkFBQyw2Q0FBNkM7Z0JBRVUsYUFBYTtzQkFBaEYsV0FBVzt1QkFBQyw2Q0FBNkM7Z0JBR25ELE1BQU07c0JBRFosWUFBWTt1QkFBQyxVQUFVO2dCQTRCUixJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ2MsTUFBTTtzQkFBekIsS0FBSztnQkFHYyxRQUFRO3NCQUEzQixLQUFLO2dCQUdjLFFBQVE7c0JBQTNCLEtBQUs7Z0JBR2MsUUFBUTtzQkFBM0IsS0FBSztnQkFTYyxzQkFBc0I7c0JBQXpDLEtBQUs7Z0JBSWMsT0FBTztzQkFBMUIsS0FBSztnQkFJYyxRQUFRO3NCQUEzQixLQUFLO2dCQUlVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLDhCQUE4QjtzQkFBN0MsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUVjLFlBQVk7c0JBQS9CLEtBQUs7Z0JBT2MsSUFBSTtzQkFBdkIsS0FBSztnQkFJYyxVQUFVO3NCQUE3QixLQUFLO2dCQUdJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7XG4gIERyb3Bkb3duTW9kdWxlLFxuICBJbnB1dE1vZHVsZSxcbiAgTGlzdEl0ZW0sXG4gIExvYWRpbmdNb2R1bGUsXG4gIFRvZ2dsZU1vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3RhcnRXaXRoLFxuICBTdWJzY3JpcHRpb24sXG4gIHN3aXRjaE1hcCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWR9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VmFsdWVQYXRoSXRlbSwgVmFsdWVQYXRoVHlwZX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIFZhbHVlUGF0aFNlbGVjdG9ySW5wdXRNb2RlLFxuICBWYWx1ZVBhdGhTZWxlY3Rvck5vdGF0aW9uLFxuICBWYWx1ZVBhdGhTZWxlY3RvclByZWZpeCxcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL3ZhbHVlLXBhdGgtc2VsZWN0b3IubW9kZWwnO1xuaW1wb3J0IHtWYWx1ZVBhdGhTZWxlY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7SW5wdXRMYWJlbE1vZHVsZX0gZnJvbSAnLi4vaW5wdXQtbGFiZWwvaW5wdXQtbGFiZWwubW9kdWxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby12YWx1ZS1wYXRoLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZhbHVlLXBhdGgtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92YWx1ZS1wYXRoLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgTG9hZGluZ01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRvZ2dsZU1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBJbnB1dExhYmVsTW9kdWxlLFxuICAgIElucHV0TGFiZWxNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVmFsdWVQYXRoU2VsZWN0b3JDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFZhbHVlUGF0aFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy52YWx1ZS1wYXRoLXNlbGVjdG9yLS1tYXJnaW4tYm90dG9tJykgcHJpdmF0ZSBfc2hvd01hcmdpbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnZhbHVlLXBhdGgtc2VsZWN0b3ItLW1hcmdpbi1ib3R0b20tbGcnKSBwcml2YXRlIF9zaG93TWFyZ2luTGc6IGJvb2xlYW4gPVxuICAgIGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnZhbHVlLXBhdGgtc2VsZWN0b3ItLW1hcmdpbi1ib3R0b20teGwnKSBwcml2YXRlIF9zaG93TWFyZ2luWGw6IGJvb2xlYW4gPVxuICAgIGZhbHNlO1xuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gIHB1YmxpYyBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vbkJsdXJFdmVudCgpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgIHNlbGVjdGVkUGF0aDogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgfSk7XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZFBhdGgoKTogQWJzdHJhY3RDb250cm9sPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ3NlbGVjdGVkUGF0aCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2VGdW5jdGlvbiE6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICBwcml2YXRlIF9vblRvdWNoZWRGdW5jdGlvbiE6ICgpID0+IHZvaWQ7XG5cbiAgcHVibGljIGdldCBfc2VsZWN0ZWRQYXRoJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkUGF0aC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLnNlbGVjdGVkUGF0aC52YWx1ZSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgdGFwKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX29uQ2hhbmdlRnVuY3Rpb24pIHtcbiAgICAgICAgICB0aGlzLl9vbkNoYW5nZUZ1bmN0aW9uKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIG5hbWUgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGFwcGVuZElubGluZSA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IG1hcmdpbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dNYXJnaW4gPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IG1hcmdpbkxnKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd01hcmdpbkxnID0gdmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBtYXJnaW5YbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dNYXJnaW5YbCA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KCEhdmFsdWUpO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lU3ViamVjdCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCB2ZXJzaW9uKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgdGhpcy5fdmVyc2lvbiQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBwcmVmaXhlcyh2YWx1ZTogVmFsdWVQYXRoU2VsZWN0b3JQcmVmaXhbXSkge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICB0aGlzLl9wcmVmaXhlc1N1YmplY3QkLm5leHQodmFsdWUpO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNob3dEb2N1bWVudERlZmluaXRpb25TZWxlY3RvciA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbm90YXRpb246IFZhbHVlUGF0aFNlbGVjdG9yTm90YXRpb24gPSAnZG90cyc7XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBkZWZhdWx0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICB0aGlzLnNlbGVjdGVkUGF0aC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuc2hvd0RvY3VtZW50RGVmaW5pdGlvblNlbGVjdG9yKVxuICAgICAgdGhpcy5faW5wdXRNb2RlJC5uZXh0KFZhbHVlUGF0aFNlbGVjdG9ySW5wdXRNb2RlLk1BTlVBTCk7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfdHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFZhbHVlUGF0aFR5cGU+KFZhbHVlUGF0aFR5cGUuRklFTEQpO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHR5cGUodmFsdWU6IFZhbHVlUGF0aFR5cGUpIHtcbiAgICB0aGlzLl90eXBlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnRJdGVtJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VmFsdWVQYXRoSXRlbSB8IG51bGw+KG51bGwpO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHBhcmVudEl0ZW0odmFsdWU6IFZhbHVlUGF0aEl0ZW0gfCBudWxsKSB7XG4gICAgdGhpcy5fcGFyZW50SXRlbSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY29sbGVjdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8VmFsdWVQYXRoSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnREZWZpbml0aW9uTmFtZVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHJpdmF0ZSBnZXQgX2RvY3VtZW50RGVmaW5pdGlvbk5hbWUkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbk5hbWVTdWJqZWN0JC5waXBlKGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKSk7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfdmVyc2lvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlciB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wcmVmaXhlc1N1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWYWx1ZVBhdGhTZWxlY3RvclByZWZpeFtdIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgZ2V0IF9wcmVmaXhlcyQoKTogT2JzZXJ2YWJsZTxWYWx1ZVBhdGhTZWxlY3RvclByZWZpeFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZWZpeGVzU3ViamVjdCQucGlwZShmaWx0ZXIodmFsdWUgPT4gISF2YWx1ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRNb2RlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VmFsdWVQYXRoU2VsZWN0b3JJbnB1dE1vZGU+KFxuICAgIFZhbHVlUGF0aFNlbGVjdG9ySW5wdXRNb2RlLkRST1BET1dOXG4gICk7XG4gIHB1YmxpYyBpbnB1dE1vZGVJc0Ryb3Bkb3duJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2lucHV0TW9kZSQucGlwZShcbiAgICBtYXAobW9kZSA9PiB7XG4gICAgICByZXR1cm4gbW9kZSA9PT0gVmFsdWVQYXRoU2VsZWN0b3JJbnB1dE1vZGUuRFJPUERPV047XG4gICAgfSlcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZ1ZhbHVlUGF0aEl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIF9jYWNoZWRPcHRpb25zOiAoVmFsdWVQYXRoSXRlbSAmIHtmb3JtYXR0ZWRQYXRoOiBzdHJpbmd9KVtdID0gW107XG5cbiAgcHVibGljIHZhbHVlUGF0aExpc3RJdGVtcyQ6IE9ic2VydmFibGU8TGlzdEl0ZW1bXT4gPSB0aGlzLl9wYXJlbnRJdGVtJC5waXBlKFxuICAgIHRhcCgoKSA9PiB0aGlzLmxvYWRpbmdWYWx1ZVBhdGhJdGVtcyQubmV4dCh0cnVlKSksXG4gICAgc3dpdGNoTWFwKChwYXJlbnRJdGVtOiBWYWx1ZVBhdGhJdGVtIHwgbnVsbCkgPT5cbiAgICAgIHBhcmVudEl0ZW1cbiAgICAgICAgPyBvZihwYXJlbnRJdGVtLmNoaWxkcmVuPy5tYXAoKGNoaWxkOiBzdHJpbmcpID0+ICh7cGF0aDogY2hpbGR9KSkgPz8gW10pXG4gICAgICAgIDogY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lJCxcbiAgICAgICAgICAgIHRoaXMuX3ByZWZpeGVzJCxcbiAgICAgICAgICAgIHRoaXMuX3R5cGUkLFxuICAgICAgICAgICAgdGhpcy5fdmVyc2lvbiQsXG4gICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW2RvY3VtZW50RGVmaW5pdGlvbk5hbWUsIHByZWZpeGVzLCB0eXBlLCB2ZXJzaW9uXSkgPT5cbiAgICAgICAgICAgICAgdHlwZW9mIHZlcnNpb24gPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgPyB0aGlzLnZhbHVlUGF0aFNlbGVjdG9yU2VydmljZS5nZXRSZXNvbHZhYmxlS2V5cyhcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4ZXMsXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAgICAgIHZlcnNpb25cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHRoaXMudmFsdWVQYXRoU2VsZWN0b3JTZXJ2aWNlLmdldFJlc29sdmFibGVLZXlzKFxuICAgICAgICAgICAgICAgICAgICBwcmVmaXhlcyxcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICApLFxuICAgIG1hcCgocmVzdWx0czogVmFsdWVQYXRoSXRlbVtdKSA9PlxuICAgICAgcmVzdWx0c1xuICAgICAgICAubWFwKChyZXN1bHQ6IFZhbHVlUGF0aEl0ZW0pID0+ICh7XG4gICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgIGZvcm1hdHRlZFBhdGg6ICF0aGlzLl9wYXJlbnRJdGVtJC5nZXRWYWx1ZSgpXG4gICAgICAgICAgICA/IHRoaXMuZ2V0Rm9ybWF0dGVkUGF0aChyZXN1bHQucGF0aClcbiAgICAgICAgICAgIDogcmVzdWx0LnBhdGgsXG4gICAgICAgIH0pKVxuICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5mb3JtYXR0ZWRQYXRoLmxvY2FsZUNvbXBhcmUoYi5mb3JtYXR0ZWRQYXRoKSlcbiAgICApLFxuICAgIHRhcChvcHRpb25zID0+ICh0aGlzLl9jYWNoZWRPcHRpb25zID0gb3B0aW9ucykpLFxuICAgIHN3aXRjaE1hcChvcHRpb25zID0+XG4gICAgICBjb21iaW5lTGF0ZXN0KFtvZihvcHRpb25zKSwgdGhpcy5fc2VsZWN0ZWRQYXRoJCwgdGhpcy5pbnB1dE1vZGVJc0Ryb3Bkb3duJF0pXG4gICAgKSxcbiAgICB0YXAoKFtvcHRpb25zLCBzZWxlY3RlZFBhdGgsIGlucHV0TW9kZUlzRHJvcGRvd25dKSA9PiB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRPcHRpb25zID0gb3B0aW9ucy5tYXAob3B0aW9uID0+IG9wdGlvbi5mb3JtYXR0ZWRQYXRoKTtcbiAgICAgIGlmICghZm9ybWF0dGVkT3B0aW9ucy5pbmNsdWRlcyhzZWxlY3RlZFBhdGgpICYmICEhc2VsZWN0ZWRQYXRoICYmIGlucHV0TW9kZUlzRHJvcGRvd24pXG4gICAgICAgIHRoaXMuX2lucHV0TW9kZSQubmV4dChWYWx1ZVBhdGhTZWxlY3RvcklucHV0TW9kZS5NQU5VQUwpO1xuICAgIH0pLFxuICAgIG1hcCgoW29wdGlvbnMsIHNlbGVjdGVkUGF0aF0pID0+XG4gICAgICBvcHRpb25zLm1hcChvcHRpb24gPT4ge1xuICAgICAgICBjb25zdCBtYXBwZWRPcHRpb24gPSB7XG4gICAgICAgICAgY29udGVudDogb3B0aW9uLmZvcm1hdHRlZFBhdGgsXG4gICAgICAgICAgc2VsZWN0ZWQ6IG9wdGlvbi5mb3JtYXR0ZWRQYXRoID09PSBzZWxlY3RlZFBhdGgsXG4gICAgICAgICAgcGF0aDogb3B0aW9uLnBhdGgsXG4gICAgICAgICAgLi4uKCEhb3B0aW9uLmNoaWxkcmVuICYmIHtjaGlsZHJlbjogb3B0aW9uLmNoaWxkcmVufSksXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG1hcHBlZE9wdGlvbi5zZWxlY3RlZCkgdGhpcy5vblBhdGhTZWxlY3RlZCh7aXRlbTogbWFwcGVkT3B0aW9ufSk7XG4gICAgICAgIHJldHVybiBtYXBwZWRPcHRpb247XG4gICAgICB9KVxuICAgICksXG4gICAgdGFwKCgpID0+IHRoaXMubG9hZGluZ1ZhbHVlUGF0aEl0ZW1zJC5uZXh0KGZhbHNlKSlcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZ0RvY3VtZW50RGVmaW5pdGlvbkl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50RGVmaW5pdGlvbkxpc3RJdGVtcyQ6IE9ic2VydmFibGU8TGlzdEl0ZW1bXT4gPVxuICAgIHRoaXMudmFsdWVQYXRoU2VsZWN0b3JTZXJ2aWNlLmdldERvY3VtZW50RGVmaW5pdGlvbkNhY2hlKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChjYWNoZSA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICBjYWNoZSA/IG9mKGNhY2hlKSA6IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldEFsbERlZmluaXRpb25zKCksXG4gICAgICAgICAgdGhpcy5fZG9jdW1lbnREZWZpbml0aW9uTmFtZSQucGlwZShzdGFydFdpdGgobnVsbCkpLFxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgIHRhcCgoW2RlZmluaXRpb25zXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nRG9jdW1lbnREZWZpbml0aW9uSXRlbXMkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy52YWx1ZVBhdGhTZWxlY3RvclNlcnZpY2Uuc2V0RG9jdW1lbnREZWZpbml0aW9uQ2FjaGUoZGVmaW5pdGlvbnMpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIG1hcCgoW2RlZmluaXRpb25zLCBkb2N1bWVudERlZmluaXRpb25OYW1lXSkgPT5cbiAgICAgICAgICAgIGRlZmluaXRpb25zLmNvbnRlbnQubWFwKGRlZmluaXRpb24gPT4gKHtcbiAgICAgICAgICAgICAgY29udGVudDogZGVmaW5pdGlvbi5pZC5uYW1lLFxuICAgICAgICAgICAgICBpZDogZGVmaW5pdGlvbi5pZC5uYW1lLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZGVmaW5pdGlvbi5pZC5uYW1lID09PSBkb2N1bWVudERlZmluaXRpb25OYW1lLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWVQYXRoU2VsZWN0b3JTZXJ2aWNlOiBWYWx1ZVBhdGhTZWxlY3RvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5fc2VsZWN0ZWRQYXRoJC5zdWJzY3JpYmUocGF0aCA9PiB0aGlzLnZhbHVlQ2hhbmdlRXZlbnQuZW1pdChwYXRoKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkUGF0aC5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZUZ1bmN0aW9uID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWRGdW5jdGlvbiA9IGZuO1xuICB9XG5cbiAgcHVibGljIG9uQmx1ckV2ZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fb25Ub3VjaGVkRnVuY3Rpb24pIHJldHVybjtcblxuICAgIHRoaXMuX29uVG91Y2hlZEZ1bmN0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uUGF0aFNlbGVjdGVkKGV2ZW50OiB7aXRlbToge2NvbnRlbnQ6IHN0cmluZ30gJiBWYWx1ZVBhdGhJdGVtfSk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkUGF0aCA9IGV2ZW50Py5pdGVtPy5jb250ZW50O1xuICAgIGlmICghc2VsZWN0ZWRQYXRoKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5jb2xsZWN0aW9uU2VsZWN0ZWQub2JzZXJ2ZWQpIHRoaXMuY29sbGVjdGlvblNlbGVjdGVkLmVtaXQoZXZlbnQuaXRlbSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkUGF0aC5zZXRWYWx1ZShzZWxlY3RlZFBhdGgpO1xuICB9XG5cbiAgcHVibGljIG9uRG9jdW1lbnREZWZpbml0aW9uU2VsZWN0ZWQoZXZlbnQ6IHtpdGVtOiB7aWQ6IHN0cmluZ319KTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWREZWYgPSBldmVudD8uaXRlbT8uaWQ7XG4gICAgaWYgKCFzZWxlY3RlZERlZikgcmV0dXJuO1xuICAgIHRoaXMuc2VsZWN0ZWRQYXRoLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lU3ViamVjdCQubmV4dChzZWxlY3RlZERlZik7XG4gIH1cblxuICBwdWJsaWMgb25JbnB1dE1vZGVDaGFuZ2UodG9Ecm9wZG93bk1vZGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50UGF0aFZhbHVlID0gdGhpcy5zZWxlY3RlZFBhdGgudmFsdWU7XG5cbiAgICBpZiAoXG4gICAgICB0b0Ryb3Bkb3duTW9kZSAmJlxuICAgICAgIXRoaXMuX2NhY2hlZE9wdGlvbnMubWFwKG9wdGlvbiA9PiBvcHRpb24uZm9ybWF0dGVkUGF0aCkuaW5jbHVkZXMoY3VycmVudFBhdGhWYWx1ZSlcbiAgICApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQYXRoLnNldFZhbHVlKCcnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnB1dE1vZGUkLm5leHQoXG4gICAgICB0b0Ryb3Bkb3duTW9kZSA/IFZhbHVlUGF0aFNlbGVjdG9ySW5wdXRNb2RlLkRST1BET1dOIDogVmFsdWVQYXRoU2VsZWN0b3JJbnB1dE1vZGUuTUFOVUFMXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0dGVkUGF0aCh1bmZvcm1hdHRlZFBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3BsaXRQYXRoUHJlZml4ID0gdW5mb3JtYXR0ZWRQYXRoLnNwbGl0KCc6Jyk7XG4gICAgY29uc3QgcHJlZml4ID0gc3BsaXRQYXRoUHJlZml4WzBdO1xuICAgIGNvbnN0IHJlbWFpbmluZ1BhdGggPSBzcGxpdFBhdGhQcmVmaXhbMV07XG4gICAgY29uc3QgcmVxdWlyZWROb3RhdGlvbiA9IHRoaXMubm90YXRpb247XG4gICAgY29uc3QgcGF0aE5vdGF0aW9uOiBWYWx1ZVBhdGhTZWxlY3Rvck5vdGF0aW9uID0gcmVtYWluaW5nUGF0aC5pbmNsdWRlcygnLycpXG4gICAgICA/ICdzbGFzaGVzJ1xuICAgICAgOiAnZG90cyc7XG4gICAgY29uc3Qgc3BsaXRQYXRoID0gcmVtYWluaW5nUGF0aFxuICAgICAgLnNwbGl0KHBhdGhOb3RhdGlvbiA9PT0gJ3NsYXNoZXMnID8gJy8nIDogJy4nKVxuICAgICAgLmZpbHRlcihwYXRoUGFydCA9PiBwYXRoUGFydCAhPT0gJy8nICYmIHBhdGhQYXJ0ICE9PSAnLicpXG4gICAgICAuZmlsdGVyKHBhdGhQYXJ0ID0+ICEhcGF0aFBhcnQpXG4gICAgICAubWFwKHBhdGhQYXJ0ID0+IHBhdGhQYXJ0LnJlcGxhY2UoJy8nLCAnJykucmVwbGFjZSgnLicsICcnKSk7XG4gICAgY29uc3QgZm9ybWF0dGVkUGF0aCA9IHNwbGl0UGF0aC5yZWR1Y2UoXG4gICAgICAoYWNjLCBwYXRoUGFydCkgPT4gYCR7YWNjfSR7cmVxdWlyZWROb3RhdGlvbiA9PT0gJ3NsYXNoZXMnID8gJy8nIDogJy4nfSR7cGF0aFBhcnR9YCxcbiAgICAgICcnXG4gICAgKTtcblxuICAgIHJldHVybiBgJHtwcmVmaXh9OiR7cmVxdWlyZWROb3RhdGlvbiA9PT0gJ2RvdHMnID8gZm9ybWF0dGVkUGF0aC5zdWJzdHJpbmcoMSkgOiBmb3JtYXR0ZWRQYXRofWA7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBpbnB1dE1vZGVJc0Ryb3Bkb3duOiBpbnB1dE1vZGVJc0Ryb3Bkb3duJCB8IGFzeW5jLFxuICAgIHZhbHVlUGF0aExpc3RJdGVtczogdmFsdWVQYXRoTGlzdEl0ZW1zJCB8IGFzeW5jLFxuICAgIGxvYWRpbmdWYWx1ZVBhdGhJdGVtczogbG9hZGluZ1ZhbHVlUGF0aEl0ZW1zJCB8IGFzeW5jLFxuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuPlxuICA8di1pbnB1dC1sYWJlbCBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbdGl0bGVdPVwibGFiZWxcIiBbdG9vbHRpcF09XCJ0b29sdGlwXCI+IDwvdi1pbnB1dC1sYWJlbD5cblxuICA8Zm9ybVxuICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICBjbGFzcz1cInZhbHVlLXBhdGgtc2VsZWN0b3JfX2Zvcm1cIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICd2YWx1ZS1wYXRoLXNlbGVjdG9yX19mb3JtLS1kb2MtZGVmLXNlbGVjdGlvbic6XG4gICAgICAgIHNob3dEb2N1bWVudERlZmluaXRpb25TZWxlY3RvciAmJiBvYnMuaW5wdXRNb2RlSXNEcm9wZG93bixcbiAgICB9XCJcbiAgPlxuICAgIDxjZHMtdG9nZ2xlXG4gICAgICBkYXRhLXRlc3RpZD1cInZhbHVlLXBhdGgtc2VsZWN0b3ItdG9nZ2xlXCJcbiAgICAgIHNpemU9XCJzbVwiXG4gICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgIFtvblRleHRdPVwiJ3ZhbHVlUGF0aFNlbGVjdG9yLmRyb3Bkb3duJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbb2ZmVGV4dF09XCIndmFsdWVQYXRoU2VsZWN0b3IubWFudWFsJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbY2hlY2tlZF09XCJvYnMuaW5wdXRNb2RlSXNEcm9wZG93blwiXG4gICAgICAoY2hlY2tlZENoYW5nZSk9XCJvbklucHV0TW9kZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+PC9jZHMtdG9nZ2xlPlxuXG4gICAgQGlmIChvYnMuaW5wdXRNb2RlSXNEcm9wZG93bikge1xuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIHNob3dEb2N1bWVudERlZmluaXRpb25TZWxlY3RvciAmJiB7XG4gICAgICAgICAgICBsb2FkaW5nRG9jdW1lbnREZWZpbml0aW9uSXRlbXM6IGxvYWRpbmdEb2N1bWVudERlZmluaXRpb25JdGVtcyQgfCBhc3luYyxcbiAgICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbkxpc3RJdGVtczogZG9jdW1lbnREZWZpbml0aW9uTGlzdEl0ZW1zJCB8IGFzeW5jLFxuICAgICAgICAgIH0gYXMgZG9jT2JzXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxjZHMtZHJvcGRvd25cbiAgICAgICAgICBkYXRhLXRlc3RpZD1cInZhbHVlLXBhdGgtc2VsZWN0b3ItZG9jdW1lbnREZWZpbml0aW9uXCJcbiAgICAgICAgICBbYXBwZW5kSW5saW5lXT1cImFwcGVuZElubGluZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICAgb2JzLmRpc2FibGVkIHx8XG4gICAgICAgICAgICBkb2NPYnMubG9hZGluZ0RvY3VtZW50RGVmaW5pdGlvbkl0ZW1zIHx8XG4gICAgICAgICAgICAhZG9jT2JzLmRvY3VtZW50RGVmaW5pdGlvbkxpc3RJdGVtcyB8fFxuICAgICAgICAgICAgKGRvY09icy5kb2N1bWVudERlZmluaXRpb25MaXN0SXRlbXMgfHwgW10pLmxlbmd0aCA9PT0gMFxuICAgICAgICAgIFwiXG4gICAgICAgICAgKHNlbGVjdGVkKT1cIm9uRG9jdW1lbnREZWZpbml0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid2YWx1ZVBhdGhTZWxlY3Rvci5zZWxlY3REb2NEZWZQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJkb2NPYnMuZG9jdW1lbnREZWZpbml0aW9uTGlzdEl0ZW1zIHx8IFtdXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgPC9jZHMtZHJvcGRvd24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGNkcy1kcm9wZG93blxuICAgICAgICBkYXRhLXRlc3RpZD1cInZhbHVlLXBhdGgtc2VsZWN0b3ItdmFsdWVQYXRoXCJcbiAgICAgICAgW2FwcGVuZElubGluZV09XCJhcHBlbmRJbmxpbmVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgb2JzLmRpc2FibGVkIHx8XG4gICAgICAgICAgb2JzLmxvYWRpbmdWYWx1ZVBhdGhJdGVtcyB8fFxuICAgICAgICAgICFvYnMudmFsdWVQYXRoTGlzdEl0ZW1zIHx8XG4gICAgICAgICAgKG9icy52YWx1ZVBhdGhMaXN0SXRlbXMgfHwgW10pLmxlbmd0aCA9PT0gMFxuICAgICAgICBcIlxuICAgICAgICAoc2VsZWN0ZWQpPVwib25QYXRoU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCIndmFsdWVQYXRoU2VsZWN0b3IucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgID5cbiAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJvYnMudmFsdWVQYXRoTGlzdEl0ZW1zIHx8IFtdXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPGlucHV0XG4gICAgICAgIGRhdGEtdGVzdGlkPVwidmFsdWUtcGF0aC1zZWxlY3Rvci1pbnB1dFwiXG4gICAgICAgIGNkc1RleHRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RlZFBhdGhcIlxuICAgICAgLz5cbiAgICB9XG4gIDwvZm9ybT5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtcGF0aC1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3ZhbHVlLXBhdGgtc2VsZWN0b3IvdmFsdWUtcGF0aC1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3ZhbHVlLXBhdGgtc2VsZWN0b3IvdmFsdWUtcGF0aC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFJTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFFWCxhQUFhLEVBQ2IsWUFBWSxHQUNiLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsTUFBTSxFQUNOLEdBQUcsRUFFSCxFQUFFLEVBQ0YsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFnQixhQUFhLEVBQUMsTUFB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Z0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGVBQWU7cUJBQ2hCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUM7eUJBQzFEO3FCQUNGO3FKQUdnRSxXQUFXO3NCQUEzRSxXQUFXO3VCQUFDLDBDQUEwQztnQkFDYSxhQUFhO3NCQUFoRixXQUFXO3VCQUFDLDZDQUE2QztnQkFFVSxhQUFhO3NCQUFoRixXQUFXO3VCQUFDLDZDQUE2QztnQkFHbkQsTUFBTTtzQkFEWixZQUFZO3VCQUFDLFVBQVU7Z0JBNEJSLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDYyxNQUFNO3NCQUF6QixLQUFLO2dCQUdjLFFBQVE7c0JBQTNCLEtBQUs7Z0JBR2MsUUFBUTtzQkFBM0IsS0FBSztnQkFHYyxRQUFRO3NCQUEzQixLQUFLO2dCQVNjLHNCQUFzQjtzQkFBekMsS0FBSztnQkFJYyxPQUFPO3NCQUExQixLQUFLO2dCQUljLFFBQVE7c0JBQTNCLEtBQUs7Z0JBR1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsOEJBQThCO3NCQUE3QyxLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRWMsWUFBWTtzQkFBL0IsS0FBSztnQkFPYyxJQUFJO3NCQUF2QixLQUFLO2dCQUljLFVBQVU7c0JBQTdCLEtBQUs7Z0JBR0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtQnVpbGRlcixcbiAgRm9ybUNvbnRyb2wsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtcbiAgRHJvcGRvd25Nb2R1bGUsXG4gIElucHV0TW9kdWxlLFxuICBMaXN0SXRlbSxcbiAgTG9hZGluZ01vZHVsZSxcbiAgVG9nZ2xlTW9kdWxlLFxufSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIFN1YnNjcmlwdGlvbixcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtWYWx1ZVBhdGhJdGVtLCBWYWx1ZVBhdGhUeXBlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgVmFsdWVQYXRoU2VsZWN0b3JJbnB1dE1vZGUsXG4gIFZhbHVlUGF0aFNlbGVjdG9yTm90YXRpb24sXG4gIFZhbHVlUGF0aFNlbGVjdG9yUHJlZml4LFxufSBmcm9tICcuLi8uLi9tb2RlbHMvdmFsdWUtcGF0aC1zZWxlY3Rvci5tb2RlbCc7XG5pbXBvcnQge1ZhbHVlUGF0aFNlbGVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtJbnB1dExhYmVsTW9kdWxlfSBmcm9tICcuLi9pbnB1dC1sYWJlbC9pbnB1dC1sYWJlbC5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXZhbHVlLXBhdGgtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdmFsdWUtcGF0aC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZhbHVlLXBhdGgtc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBMb2FkaW5nTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVG9nZ2xlTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIElucHV0TGFiZWxNb2R1bGUsXG4gICAgSW5wdXRMYWJlbE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBWYWx1ZVBhdGhTZWxlY3RvckNvbXBvbmVudCksXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVmFsdWVQYXRoU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnZhbHVlLXBhdGgtc2VsZWN0b3ItLW1hcmdpbi1ib3R0b20nKSBwcml2YXRlIF9zaG93TWFyZ2luOiBib29sZWFuID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MudmFsdWUtcGF0aC1zZWxlY3Rvci0tbWFyZ2luLWJvdHRvbS1sZycpIHByaXZhdGUgX3Nob3dNYXJnaW5MZzogYm9vbGVhbiA9XG4gICAgZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MudmFsdWUtcGF0aC1zZWxlY3Rvci0tbWFyZ2luLWJvdHRvbS14bCcpIHByaXZhdGUgX3Nob3dNYXJnaW5YbDogYm9vbGVhbiA9XG4gICAgZmFsc2U7XG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgcHVibGljIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLm9uQmx1ckV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgc2VsZWN0ZWRQYXRoOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICB9KTtcblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkUGF0aCgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCgnc2VsZWN0ZWRQYXRoJyk7XG4gIH1cblxuICBwcml2YXRlIF9vbkNoYW5nZUZ1bmN0aW9uITogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHByaXZhdGUgX29uVG91Y2hlZEZ1bmN0aW9uITogKCkgPT4gdm9pZDtcblxuICBwdWJsaWMgZ2V0IF9zZWxlY3RlZFBhdGgkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRQYXRoLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuc2VsZWN0ZWRQYXRoLnZhbHVlKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICB0YXAodmFsdWUgPT4ge1xuICAgICAgICBpZiAodGhpcy5fb25DaGFuZ2VGdW5jdGlvbikge1xuICAgICAgICAgIHRoaXMuX29uQ2hhbmdlRnVuY3Rpb24odmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgbmFtZSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYXBwZW5kSW5saW5lID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbWFyZ2luKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd01hcmdpbiA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbWFyZ2luTGcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93TWFyZ2luTGcgPSB2YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IG1hcmdpblhsKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd01hcmdpblhsID0gdmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQoISF2YWx1ZSk7XG5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZW5hYmxlKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgZG9jdW1lbnREZWZpbml0aW9uTmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbk5hbWVTdWJqZWN0JC5uZXh0KHZhbHVlKTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHZlcnNpb24odmFsdWU6IG51bWJlcikge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICB0aGlzLl92ZXJzaW9uJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHByZWZpeGVzKHZhbHVlOiBWYWx1ZVBhdGhTZWxlY3RvclByZWZpeFtdKSB7XG4gICAgdGhpcy5fcHJlZml4ZXMkLm5leHQodmFsdWUgPz8gW10pO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNob3dEb2N1bWVudERlZmluaXRpb25TZWxlY3RvciA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbm90YXRpb246IFZhbHVlUGF0aFNlbGVjdG9yTm90YXRpb24gPSAnZG90cyc7XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBkZWZhdWx0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICB0aGlzLnNlbGVjdGVkUGF0aC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuc2hvd0RvY3VtZW50RGVmaW5pdGlvblNlbGVjdG9yKVxuICAgICAgdGhpcy5faW5wdXRNb2RlJC5uZXh0KFZhbHVlUGF0aFNlbGVjdG9ySW5wdXRNb2RlLk1BTlVBTCk7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfdHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFZhbHVlUGF0aFR5cGU+KFZhbHVlUGF0aFR5cGUuRklFTEQpO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHR5cGUodmFsdWU6IFZhbHVlUGF0aFR5cGUpIHtcbiAgICB0aGlzLl90eXBlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnRJdGVtJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VmFsdWVQYXRoSXRlbSB8IG51bGw+KG51bGwpO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHBhcmVudEl0ZW0odmFsdWU6IFZhbHVlUGF0aEl0ZW0gfCBudWxsKSB7XG4gICAgdGhpcy5fcGFyZW50SXRlbSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY29sbGVjdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8VmFsdWVQYXRoSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnREZWZpbml0aW9uTmFtZVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHJpdmF0ZSBnZXQgX2RvY3VtZW50RGVmaW5pdGlvbk5hbWUkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbk5hbWVTdWJqZWN0JC5waXBlKGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKSk7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfdmVyc2lvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlciB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wcmVmaXhlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFZhbHVlUGF0aFNlbGVjdG9yUHJlZml4W10+KFtdKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnB1dE1vZGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWYWx1ZVBhdGhTZWxlY3RvcklucHV0TW9kZT4oXG4gICAgVmFsdWVQYXRoU2VsZWN0b3JJbnB1dE1vZGUuRFJPUERPV05cbiAgKTtcbiAgcHVibGljIGlucHV0TW9kZUlzRHJvcGRvd24kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5faW5wdXRNb2RlJC5waXBlKFxuICAgIG1hcChtb2RlID0+IHtcbiAgICAgIHJldHVybiBtb2RlID09PSBWYWx1ZVBhdGhTZWxlY3RvcklucHV0TW9kZS5EUk9QRE9XTjtcbiAgICB9KVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBsb2FkaW5nVmFsdWVQYXRoSXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgX2NhY2hlZE9wdGlvbnM6IChWYWx1ZVBhdGhJdGVtICYge2Zvcm1hdHRlZFBhdGg6IHN0cmluZ30pW10gPSBbXTtcblxuICBwdWJsaWMgdmFsdWVQYXRoTGlzdEl0ZW1zJDogT2JzZXJ2YWJsZTxMaXN0SXRlbVtdPiA9IHRoaXMuX3BhcmVudEl0ZW0kLnBpcGUoXG4gICAgdGFwKCgpID0+IHRoaXMubG9hZGluZ1ZhbHVlUGF0aEl0ZW1zJC5uZXh0KHRydWUpKSxcbiAgICBzd2l0Y2hNYXAoKHBhcmVudEl0ZW06IFZhbHVlUGF0aEl0ZW0gfCBudWxsKSA9PlxuICAgICAgcGFyZW50SXRlbVxuICAgICAgICA/IG9mKHBhcmVudEl0ZW0uY2hpbGRyZW4/Lm1hcCgoY2hpbGQ6IHN0cmluZykgPT4gKHtwYXRoOiBjaGlsZH0pKSA/PyBbXSlcbiAgICAgICAgOiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbk5hbWUkLFxuICAgICAgICAgICAgdGhpcy5fcHJlZml4ZXMkLFxuICAgICAgICAgICAgdGhpcy5fdHlwZSQsXG4gICAgICAgICAgICB0aGlzLl92ZXJzaW9uJCxcbiAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbZG9jdW1lbnREZWZpbml0aW9uTmFtZSwgcHJlZml4ZXMsIHR5cGUsIHZlcnNpb25dKSA9PlxuICAgICAgICAgICAgICB0eXBlb2YgdmVyc2lvbiA9PT0gJ251bWJlcidcbiAgICAgICAgICAgICAgICA/IHRoaXMudmFsdWVQYXRoU2VsZWN0b3JTZXJ2aWNlLmdldFJlc29sdmFibGVLZXlzKFxuICAgICAgICAgICAgICAgICAgICBwcmVmaXhlcyxcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgdmVyc2lvblxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdGhpcy52YWx1ZVBhdGhTZWxlY3RvclNlcnZpY2UuZ2V0UmVzb2x2YWJsZUtleXMoXG4gICAgICAgICAgICAgICAgICAgIHByZWZpeGVzLFxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudERlZmluaXRpb25OYW1lLFxuICAgICAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICksXG4gICAgbWFwKChyZXN1bHRzOiBWYWx1ZVBhdGhJdGVtW10pID0+XG4gICAgICByZXN1bHRzXG4gICAgICAgIC5tYXAoKHJlc3VsdDogVmFsdWVQYXRoSXRlbSkgPT4gKHtcbiAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgZm9ybWF0dGVkUGF0aDogIXRoaXMuX3BhcmVudEl0ZW0kLmdldFZhbHVlKClcbiAgICAgICAgICAgID8gdGhpcy5nZXRGb3JtYXR0ZWRQYXRoKHJlc3VsdC5wYXRoKVxuICAgICAgICAgICAgOiByZXN1bHQucGF0aCxcbiAgICAgICAgfSkpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmZvcm1hdHRlZFBhdGgubG9jYWxlQ29tcGFyZShiLmZvcm1hdHRlZFBhdGgpKVxuICAgICksXG4gICAgdGFwKG9wdGlvbnMgPT4gKHRoaXMuX2NhY2hlZE9wdGlvbnMgPSBvcHRpb25zKSksXG4gICAgc3dpdGNoTWFwKG9wdGlvbnMgPT5cbiAgICAgIGNvbWJpbmVMYXRlc3QoW29mKG9wdGlvbnMpLCB0aGlzLl9zZWxlY3RlZFBhdGgkLCB0aGlzLmlucHV0TW9kZUlzRHJvcGRvd24kXSlcbiAgICApLFxuICAgIHRhcCgoW29wdGlvbnMsIHNlbGVjdGVkUGF0aCwgaW5wdXRNb2RlSXNEcm9wZG93bl0pID0+IHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZE9wdGlvbnMgPSBvcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uLmZvcm1hdHRlZFBhdGgpO1xuICAgICAgaWYgKCFmb3JtYXR0ZWRPcHRpb25zLmluY2x1ZGVzKHNlbGVjdGVkUGF0aCkgJiYgISFzZWxlY3RlZFBhdGggJiYgaW5wdXRNb2RlSXNEcm9wZG93bilcbiAgICAgICAgdGhpcy5faW5wdXRNb2RlJC5uZXh0KFZhbHVlUGF0aFNlbGVjdG9ySW5wdXRNb2RlLk1BTlVBTCk7XG4gICAgfSksXG4gICAgbWFwKChbb3B0aW9ucywgc2VsZWN0ZWRQYXRoXSkgPT5cbiAgICAgIG9wdGlvbnMubWFwKG9wdGlvbiA9PiB7XG4gICAgICAgIGNvbnN0IG1hcHBlZE9wdGlvbiA9IHtcbiAgICAgICAgICBjb250ZW50OiBvcHRpb24uZm9ybWF0dGVkUGF0aCxcbiAgICAgICAgICBzZWxlY3RlZDogb3B0aW9uLmZvcm1hdHRlZFBhdGggPT09IHNlbGVjdGVkUGF0aCxcbiAgICAgICAgICBwYXRoOiBvcHRpb24ucGF0aCxcbiAgICAgICAgICAuLi4oISFvcHRpb24uY2hpbGRyZW4gJiYge2NoaWxkcmVuOiBvcHRpb24uY2hpbGRyZW59KSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobWFwcGVkT3B0aW9uLnNlbGVjdGVkKSB0aGlzLm9uUGF0aFNlbGVjdGVkKHtpdGVtOiBtYXBwZWRPcHRpb259KTtcbiAgICAgICAgcmV0dXJuIG1hcHBlZE9wdGlvbjtcbiAgICAgIH0pXG4gICAgKSxcbiAgICB0YXAoKCkgPT4gdGhpcy5sb2FkaW5nVmFsdWVQYXRoSXRlbXMkLm5leHQoZmFsc2UpKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBsb2FkaW5nRG9jdW1lbnREZWZpbml0aW9uSXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWZpbml0aW9uTGlzdEl0ZW1zJDogT2JzZXJ2YWJsZTxMaXN0SXRlbVtdPiA9XG4gICAgdGhpcy52YWx1ZVBhdGhTZWxlY3RvclNlcnZpY2UuZ2V0RG9jdW1lbnREZWZpbml0aW9uQ2FjaGUoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGNhY2hlID0+XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIGNhY2hlID8gb2YoY2FjaGUpIDogdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0QWxsRGVmaW5pdGlvbnMoKSxcbiAgICAgICAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lJC5waXBlKHN0YXJ0V2l0aChudWxsKSksXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgdGFwKChbZGVmaW5pdGlvbnNdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdEb2N1bWVudERlZmluaXRpb25JdGVtcyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLnZhbHVlUGF0aFNlbGVjdG9yU2VydmljZS5zZXREb2N1bWVudERlZmluaXRpb25DYWNoZShkZWZpbml0aW9ucyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgbWFwKChbZGVmaW5pdGlvbnMsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVdKSA9PlxuICAgICAgICAgICAgZGVmaW5pdGlvbnMuY29udGVudC5tYXAoZGVmaW5pdGlvbiA9PiAoe1xuICAgICAgICAgICAgICBjb250ZW50OiBkZWZpbml0aW9uLmlkLm5hbWUsXG4gICAgICAgICAgICAgIGlkOiBkZWZpbml0aW9uLmlkLm5hbWUsXG4gICAgICAgICAgICAgIHNlbGVjdGVkOiBkZWZpbml0aW9uLmlkLm5hbWUgPT09IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZVBhdGhTZWxlY3RvclNlcnZpY2U6IFZhbHVlUGF0aFNlbGVjdG9yU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLl9zZWxlY3RlZFBhdGgkLnN1YnNjcmliZShwYXRoID0+IHRoaXMudmFsdWVDaGFuZ2VFdmVudC5lbWl0KHBhdGgpKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRQYXRoLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlRnVuY3Rpb24gPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZEZ1bmN0aW9uID0gZm47XG4gIH1cblxuICBwdWJsaWMgb25CbHVyRXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9vblRvdWNoZWRGdW5jdGlvbikgcmV0dXJuO1xuXG4gICAgdGhpcy5fb25Ub3VjaGVkRnVuY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25QYXRoU2VsZWN0ZWQoZXZlbnQ6IHtpdGVtOiB7Y29udGVudDogc3RyaW5nfSAmIFZhbHVlUGF0aEl0ZW19KTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRQYXRoID0gZXZlbnQ/Lml0ZW0/LmNvbnRlbnQ7XG4gICAgaWYgKCFzZWxlY3RlZFBhdGgpIHJldHVybjtcblxuICAgIGlmICh0aGlzLmNvbGxlY3Rpb25TZWxlY3RlZC5vYnNlcnZlZCkgdGhpcy5jb2xsZWN0aW9uU2VsZWN0ZWQuZW1pdChldmVudC5pdGVtKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRQYXRoLnNldFZhbHVlKHNlbGVjdGVkUGF0aCk7XG4gIH1cblxuICBwdWJsaWMgb25Eb2N1bWVudERlZmluaXRpb25TZWxlY3RlZChldmVudDoge2l0ZW06IHtpZDogc3RyaW5nfX0pOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZERlZiA9IGV2ZW50Py5pdGVtPy5pZDtcbiAgICBpZiAoIXNlbGVjdGVkRGVmKSByZXR1cm47XG4gICAgdGhpcy5zZWxlY3RlZFBhdGguc2V0VmFsdWUoJycpO1xuICAgIHRoaXMuX2RvY3VtZW50RGVmaW5pdGlvbk5hbWVTdWJqZWN0JC5uZXh0KHNlbGVjdGVkRGVmKTtcbiAgfVxuXG4gIHB1YmxpYyBvbklucHV0TW9kZUNoYW5nZSh0b0Ryb3Bkb3duTW9kZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQYXRoVmFsdWUgPSB0aGlzLnNlbGVjdGVkUGF0aC52YWx1ZTtcblxuICAgIGlmIChcbiAgICAgIHRvRHJvcGRvd25Nb2RlICYmXG4gICAgICAhdGhpcy5fY2FjaGVkT3B0aW9ucy5tYXAob3B0aW9uID0+IG9wdGlvbi5mb3JtYXR0ZWRQYXRoKS5pbmNsdWRlcyhjdXJyZW50UGF0aFZhbHVlKVxuICAgICkge1xuICAgICAgdGhpcy5zZWxlY3RlZFBhdGguc2V0VmFsdWUoJycpO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0TW9kZSQubmV4dChcbiAgICAgIHRvRHJvcGRvd25Nb2RlID8gVmFsdWVQYXRoU2VsZWN0b3JJbnB1dE1vZGUuRFJPUERPV04gOiBWYWx1ZVBhdGhTZWxlY3RvcklucHV0TW9kZS5NQU5VQUxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRQYXRoKHVuZm9ybWF0dGVkUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBzcGxpdFBhdGhQcmVmaXggPSB1bmZvcm1hdHRlZFBhdGguc3BsaXQoJzonKTtcbiAgICBjb25zdCBwcmVmaXggPSBzcGxpdFBhdGhQcmVmaXhbMF07XG4gICAgY29uc3QgcmVtYWluaW5nUGF0aCA9IHNwbGl0UGF0aFByZWZpeFsxXTtcbiAgICBjb25zdCByZXF1aXJlZE5vdGF0aW9uID0gdGhpcy5ub3RhdGlvbjtcbiAgICBjb25zdCBwYXRoTm90YXRpb246IFZhbHVlUGF0aFNlbGVjdG9yTm90YXRpb24gPSByZW1haW5pbmdQYXRoLmluY2x1ZGVzKCcvJylcbiAgICAgID8gJ3NsYXNoZXMnXG4gICAgICA6ICdkb3RzJztcbiAgICBjb25zdCBzcGxpdFBhdGggPSByZW1haW5pbmdQYXRoXG4gICAgICAuc3BsaXQocGF0aE5vdGF0aW9uID09PSAnc2xhc2hlcycgPyAnLycgOiAnLicpXG4gICAgICAuZmlsdGVyKHBhdGhQYXJ0ID0+IHBhdGhQYXJ0ICE9PSAnLycgJiYgcGF0aFBhcnQgIT09ICcuJylcbiAgICAgIC5maWx0ZXIocGF0aFBhcnQgPT4gISFwYXRoUGFydClcbiAgICAgIC5tYXAocGF0aFBhcnQgPT4gcGF0aFBhcnQucmVwbGFjZSgnLycsICcnKS5yZXBsYWNlKCcuJywgJycpKTtcbiAgICBjb25zdCBmb3JtYXR0ZWRQYXRoID0gc3BsaXRQYXRoLnJlZHVjZShcbiAgICAgIChhY2MsIHBhdGhQYXJ0KSA9PiBgJHthY2N9JHtyZXF1aXJlZE5vdGF0aW9uID09PSAnc2xhc2hlcycgPyAnLycgOiAnLid9JHtwYXRoUGFydH1gLFxuICAgICAgJydcbiAgICApO1xuXG4gICAgcmV0dXJuIGAke3ByZWZpeH06JHtyZXF1aXJlZE5vdGF0aW9uID09PSAnZG90cycgPyBmb3JtYXR0ZWRQYXRoLnN1YnN0cmluZygxKSA6IGZvcm1hdHRlZFBhdGh9YDtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwie1xuICAgIGlucHV0TW9kZUlzRHJvcGRvd246IGlucHV0TW9kZUlzRHJvcGRvd24kIHwgYXN5bmMsXG4gICAgdmFsdWVQYXRoTGlzdEl0ZW1zOiB2YWx1ZVBhdGhMaXN0SXRlbXMkIHwgYXN5bmMsXG4gICAgbG9hZGluZ1ZhbHVlUGF0aEl0ZW1zOiBsb2FkaW5nVmFsdWVQYXRoSXRlbXMkIHwgYXN5bmMsXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkJCB8IGFzeW5jLFxuICB9IGFzIG9ic1wiXG4+XG4gIDx2LWlucHV0LWxhYmVsIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFt0aXRsZV09XCJsYWJlbFwiIFt0b29sdGlwXT1cInRvb2x0aXBcIj4gPC92LWlucHV0LWxhYmVsPlxuXG4gIDxmb3JtXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgIGNsYXNzPVwidmFsdWUtcGF0aC1zZWxlY3Rvcl9fZm9ybVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3ZhbHVlLXBhdGgtc2VsZWN0b3JfX2Zvcm0tLWRvYy1kZWYtc2VsZWN0aW9uJzpcbiAgICAgICAgc2hvd0RvY3VtZW50RGVmaW5pdGlvblNlbGVjdG9yICYmIG9icy5pbnB1dE1vZGVJc0Ryb3Bkb3duLFxuICAgIH1cIlxuICA+XG4gICAgPGNkcy10b2dnbGVcbiAgICAgIGRhdGEtdGVzdGlkPVwidmFsdWUtcGF0aC1zZWxlY3Rvci10b2dnbGVcIlxuICAgICAgc2l6ZT1cInNtXCJcbiAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgW29uVGV4dF09XCIndmFsdWVQYXRoU2VsZWN0b3IuZHJvcGRvd24nIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtvZmZUZXh0XT1cIid2YWx1ZVBhdGhTZWxlY3Rvci5tYW51YWwnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtjaGVja2VkXT1cIm9icy5pbnB1dE1vZGVJc0Ryb3Bkb3duXCJcbiAgICAgIChjaGVja2VkQ2hhbmdlKT1cIm9uSW5wdXRNb2RlQ2hhbmdlKCRldmVudClcIlxuICAgID48L2Nkcy10b2dnbGU+XG5cbiAgICBAaWYgKG9icy5pbnB1dE1vZGVJc0Ryb3Bkb3duKSB7XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgc2hvd0RvY3VtZW50RGVmaW5pdGlvblNlbGVjdG9yICYmIHtcbiAgICAgICAgICAgIGxvYWRpbmdEb2N1bWVudERlZmluaXRpb25JdGVtczogbG9hZGluZ0RvY3VtZW50RGVmaW5pdGlvbkl0ZW1zJCB8IGFzeW5jLFxuICAgICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTGlzdEl0ZW1zOiBkb2N1bWVudERlZmluaXRpb25MaXN0SXRlbXMkIHwgYXN5bmMsXG4gICAgICAgICAgfSBhcyBkb2NPYnNcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGNkcy1kcm9wZG93blxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwidmFsdWUtcGF0aC1zZWxlY3Rvci1kb2N1bWVudERlZmluaXRpb25cIlxuICAgICAgICAgIFthcHBlbmRJbmxpbmVdPVwiYXBwZW5kSW5saW5lXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICBvYnMuZGlzYWJsZWQgfHxcbiAgICAgICAgICAgIGRvY09icy5sb2FkaW5nRG9jdW1lbnREZWZpbml0aW9uSXRlbXMgfHxcbiAgICAgICAgICAgICFkb2NPYnMuZG9jdW1lbnREZWZpbml0aW9uTGlzdEl0ZW1zIHx8XG4gICAgICAgICAgICAoZG9jT2JzLmRvY3VtZW50RGVmaW5pdGlvbkxpc3RJdGVtcyB8fCBbXSkubGVuZ3RoID09PSAwXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoc2VsZWN0ZWQpPVwib25Eb2N1bWVudERlZmluaXRpb25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3ZhbHVlUGF0aFNlbGVjdG9yLnNlbGVjdERvY0RlZlBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cImRvY09icy5kb2N1bWVudERlZmluaXRpb25MaXN0SXRlbXMgfHwgW11cIj48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgICAgICA8L2Nkcy1kcm9wZG93bj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICAgIGRhdGEtdGVzdGlkPVwidmFsdWUtcGF0aC1zZWxlY3Rvci12YWx1ZVBhdGhcIlxuICAgICAgICBbYXBwZW5kSW5saW5lXT1cImFwcGVuZElubGluZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICBvYnMuZGlzYWJsZWQgfHxcbiAgICAgICAgICBvYnMubG9hZGluZ1ZhbHVlUGF0aEl0ZW1zIHx8XG4gICAgICAgICAgIW9icy52YWx1ZVBhdGhMaXN0SXRlbXMgfHxcbiAgICAgICAgICAob2JzLnZhbHVlUGF0aExpc3RJdGVtcyB8fCBbXSkubGVuZ3RoID09PSAwXG4gICAgICAgIFwiXG4gICAgICAgIChzZWxlY3RlZCk9XCJvblBhdGhTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid2YWx1ZVBhdGhTZWxlY3Rvci5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgPlxuICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cIm9icy52YWx1ZVBhdGhMaXN0SXRlbXMgfHwgW11cIj48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgICAgPC9jZHMtZHJvcGRvd24+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8aW5wdXRcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJ2YWx1ZS1wYXRoLXNlbGVjdG9yLWlucHV0XCJcbiAgICAgICAgY2RzVGV4dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdGVkUGF0aFwiXG4gICAgICAvPlxuICAgIH1cbiAgPC9mb3JtPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Directive, Input, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class RemoveClassnamesDirective {
|
|
4
|
+
constructor(el, cdr) {
|
|
5
|
+
this.el = el;
|
|
6
|
+
this.cdr = cdr;
|
|
7
|
+
this.removeClassnames = [];
|
|
8
|
+
}
|
|
9
|
+
ngAfterViewInit() {
|
|
10
|
+
this.removeClasses();
|
|
11
|
+
setTimeout(() => this.removeClasses());
|
|
12
|
+
this._observer = new MutationObserver(() => {
|
|
13
|
+
this.removeClasses();
|
|
14
|
+
this.cdr.detectChanges();
|
|
15
|
+
});
|
|
16
|
+
this._observer.observe(this.el.nativeElement, {
|
|
17
|
+
childList: true,
|
|
18
|
+
subtree: true,
|
|
19
|
+
attributes: true,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
ngDoCheck() {
|
|
23
|
+
this.removeClasses();
|
|
24
|
+
}
|
|
25
|
+
ngOnDestroy() {
|
|
26
|
+
this._observer?.disconnect();
|
|
27
|
+
}
|
|
28
|
+
removeClasses() {
|
|
29
|
+
const hostElement = this.el.nativeElement;
|
|
30
|
+
this.removeClassnames.forEach(className => {
|
|
31
|
+
if (hostElement.classList.contains(className)) {
|
|
32
|
+
hostElement.classList.remove(className);
|
|
33
|
+
}
|
|
34
|
+
const childElements = this.el.nativeElement.querySelectorAll(`.${className}`);
|
|
35
|
+
childElements.forEach((element) => {
|
|
36
|
+
element.classList.remove(className);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
this.cdr.markForCheck();
|
|
40
|
+
}
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RemoveClassnamesDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
42
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: RemoveClassnamesDirective, isStandalone: true, selector: "[removeClassnames]", inputs: { removeClassnames: "removeClassnames" }, ngImport: i0 }); }
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RemoveClassnamesDirective, decorators: [{
|
|
45
|
+
type: Directive,
|
|
46
|
+
args: [{
|
|
47
|
+
selector: '[removeClassnames]',
|
|
48
|
+
standalone: true,
|
|
49
|
+
}]
|
|
50
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { removeClassnames: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNsYXNzbmFtZXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9yZW1vdmUtY2xhc3NuYW1lcy9yZW1vdmUtY2xhc3NuYW1lcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFHVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7O0FBTXZCLE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsWUFDbUIsRUFBYyxFQUNkLEdBQXNCO1FBRHRCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUp6QixxQkFBZ0IsR0FBYSxFQUFFLENBQUM7SUFLN0MsQ0FBQztJQUVHLGVBQWU7UUFDcEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUU7WUFDNUMsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSTtZQUNiLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUE0QixDQUFDO1FBRXpELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDeEMsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBRTlFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFvQixFQUFFLEVBQUU7Z0JBQzdDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBbkRVLHlCQUF5QjttR0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsrR0FJaUIsZ0JBQWdCO3NCQUEvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tyZW1vdmVDbGFzc25hbWVzXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFJlbW92ZUNsYXNzbmFtZXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9vYnNlcnZlciE6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgQElucHV0KCkgcHVibGljIHJlbW92ZUNsYXNzbmFtZXM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVDbGFzc2VzKCk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVtb3ZlQ2xhc3NlcygpKTtcblxuICAgIHRoaXMuX29ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgdGhpcy5yZW1vdmVDbGFzc2VzKCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlQ2xhc3NlcygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX29ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUNsYXNzZXMoKTogdm9pZCB7XG4gICAgY29uc3QgaG9zdEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICB0aGlzLnJlbW92ZUNsYXNzbmFtZXMuZm9yRWFjaChjbGFzc05hbWUgPT4ge1xuICAgICAgaWYgKGhvc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XG4gICAgICAgIGhvc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2hpbGRFbGVtZW50cyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKGAuJHtjbGFzc05hbWV9YCk7XG5cbiAgICAgIGNoaWxkRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
|
|
@@ -14,44 +14,65 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { DOCUMENT } from '@angular/common';
|
|
17
|
-
import { Directive, Inject, RendererStyleFlags2, } from '@angular/core';
|
|
17
|
+
import { Directive, Inject, Input, RendererStyleFlags2, } from '@angular/core';
|
|
18
18
|
import * as i0 from "@angular/core";
|
|
19
19
|
export class ValtimoCdsModalDirective {
|
|
20
20
|
constructor(document, elementRef, renderer) {
|
|
21
21
|
this.document = document;
|
|
22
22
|
this.elementRef = elementRef;
|
|
23
23
|
this.renderer = renderer;
|
|
24
|
-
this.
|
|
25
|
-
const OPEN_ATTRIBUTE_NAME = 'ng-reflect-open';
|
|
26
|
-
if (mutation.attributeName === OPEN_ATTRIBUTE_NAME) {
|
|
27
|
-
const open = this.elementRef.nativeElement.getAttribute(OPEN_ATTRIBUTE_NAME);
|
|
28
|
-
if (typeof open === 'string') {
|
|
29
|
-
if (open === 'true') {
|
|
30
|
-
this.setStyle();
|
|
31
|
-
}
|
|
32
|
-
else if (open === 'false') {
|
|
33
|
-
this.removeStyle();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
this._mutationObserver = new MutationObserver((mutations) => {
|
|
39
|
-
mutations.forEach((mutation) => this.attributeMutation(mutation));
|
|
40
|
-
});
|
|
24
|
+
this.enableOverflow = false;
|
|
41
25
|
}
|
|
42
26
|
ngAfterViewInit() {
|
|
27
|
+
this._mutationObserver = new MutationObserver((mutations) => {
|
|
28
|
+
this.handleMutations(mutations);
|
|
29
|
+
});
|
|
43
30
|
this._mutationObserver.observe(this.elementRef.nativeElement, {
|
|
44
31
|
attributes: true,
|
|
32
|
+
childList: true,
|
|
33
|
+
subtree: true,
|
|
45
34
|
});
|
|
35
|
+
const open = this.elementRef.nativeElement.getAttribute('ng-reflect-open');
|
|
36
|
+
if (open === 'true') {
|
|
37
|
+
this.applyDocumentOverflowHidden();
|
|
38
|
+
}
|
|
39
|
+
this.applyOverflowToModalElements();
|
|
46
40
|
}
|
|
47
41
|
ngOnDestroy() {
|
|
48
42
|
this._mutationObserver.disconnect();
|
|
49
43
|
}
|
|
50
|
-
|
|
44
|
+
handleMutations(mutations) {
|
|
45
|
+
const OPEN_ATTRIBUTE_NAME = 'ng-reflect-open';
|
|
46
|
+
for (const mutation of mutations) {
|
|
47
|
+
if (mutation.type === 'attributes' && mutation.attributeName === OPEN_ATTRIBUTE_NAME) {
|
|
48
|
+
const open = this.elementRef.nativeElement.getAttribute(OPEN_ATTRIBUTE_NAME);
|
|
49
|
+
if (open === 'true') {
|
|
50
|
+
this.applyDocumentOverflowHidden();
|
|
51
|
+
}
|
|
52
|
+
else if (open === 'false') {
|
|
53
|
+
this.removeDocumentOverflowHidden();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
this.applyOverflowToModalElements();
|
|
58
|
+
}
|
|
59
|
+
applyDocumentOverflowHidden() {
|
|
51
60
|
this.renderer.setStyle(this.document.body, 'overflow', 'hidden', RendererStyleFlags2.Important);
|
|
52
61
|
this.renderer.setStyle(this.document.documentElement, 'overflow', 'hidden', RendererStyleFlags2.Important);
|
|
53
62
|
this.preventModalCloseButtonTooltip();
|
|
54
63
|
}
|
|
64
|
+
removeDocumentOverflowHidden() {
|
|
65
|
+
this.renderer.removeStyle(this.document.body, 'overflow');
|
|
66
|
+
this.renderer.removeStyle(this.document.documentElement, 'overflow');
|
|
67
|
+
}
|
|
68
|
+
applyOverflowToModalElements() {
|
|
69
|
+
if (!this.enableOverflow)
|
|
70
|
+
return;
|
|
71
|
+
const modalContainerElements = this.document.querySelectorAll('.cds--modal-container');
|
|
72
|
+
modalContainerElements.forEach((el) => {
|
|
73
|
+
this.renderer.setStyle(el, 'max-height', 'calc(100vh - 64px)', RendererStyleFlags2.Important);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
55
76
|
preventModalCloseButtonTooltip() {
|
|
56
77
|
const modalElement = this.elementRef.nativeElement;
|
|
57
78
|
const closeButton = modalElement.querySelector('.cds--modal-close');
|
|
@@ -71,18 +92,18 @@ export class ValtimoCdsModalDirective {
|
|
|
71
92
|
};
|
|
72
93
|
requestAnimationFrame(blurIfFocused);
|
|
73
94
|
}
|
|
74
|
-
removeStyle() {
|
|
75
|
-
this.renderer.removeStyle(this.document.body, 'overflow');
|
|
76
|
-
this.renderer.removeStyle(this.document.documentElement, 'overflow');
|
|
77
|
-
}
|
|
78
95
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValtimoCdsModalDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
79
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", ngImport: i0 }); }
|
|
96
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ValtimoCdsModalDirective, selector: "[valtimoCdsModal]", inputs: { enableOverflow: "enableOverflow" }, ngImport: i0 }); }
|
|
80
97
|
}
|
|
81
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValtimoCdsModalDirective, decorators: [{
|
|
82
99
|
type: Directive,
|
|
83
|
-
args: [{
|
|
100
|
+
args: [{
|
|
101
|
+
selector: '[valtimoCdsModal]',
|
|
102
|
+
}]
|
|
84
103
|
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
85
104
|
type: Inject,
|
|
86
105
|
args: [DOCUMENT]
|
|
87
|
-
}] }, { type: i0.ElementRef }, { type: i0.Renderer2 }]
|
|
88
|
-
|
|
106
|
+
}] }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { enableOverflow: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}] } });
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGltby1jZHMtbW9kYWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy92YWx0aW1vLWNkcy1tb2RhbC92YWx0aW1vLWNkcy1tb2RhbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUVMLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUdMLG1CQUFtQixHQUNwQixNQUFNLGVBQWUsQ0FBQzs7QUFLdkIsTUFBTSxPQUFPLHdCQUF3QjtJQUtuQyxZQUM0QixRQUFrQixFQUMzQixVQUFzQixFQUN0QixRQUFtQjtRQUZWLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBUGIsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFRN0MsQ0FBQztJQUVHLGVBQWU7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxTQUEyQixFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUU7WUFDNUQsVUFBVSxFQUFFLElBQUk7WUFDaEIsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFD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QUFJLEVBQUUsQ0FBQztZQUNyQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sUUFBUSxFQUFFLENBQUM7Z0JBQ1gscUJBQXFCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUMsQ0FBQztRQUVGLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7K0dBbEdVLHdCQUF3QixrQkFNekIsUUFBUTttR0FOUCx3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7OzBCQU9JLE1BQU07MkJBQUMsUUFBUTswRkFMTyxjQUFjO3NCQUF0QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyU3R5bGVGbGFnczIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdmFsdGltb0Nkc01vZGFsXScsXG59KVxuZXhwb3J0IGNsYXNzIFZhbHRpbW9DZHNNb2RhbERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSBlbmFibGVPdmVyZmxvdyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX211dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9tdXRhdGlvbk9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uczogTXV0YXRpb25SZWNvcmRbXSkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVNdXRhdGlvbnMobXV0YXRpb25zKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX211dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBvcGVuID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCduZy1yZWZsZWN0LW9wZW4nKTtcblxuICAgIGlmIChvcGVuID09PSAndHJ1ZScpIHtcbiAgICAgIHRoaXMuYXBwbHlEb2N1bWVudE92ZXJmbG93SGlkZGVuKCk7XG4gICAgfVxuXG4gICAgdGhpcy5hcHBseU92ZXJmbG93VG9Nb2RhbEVsZW1lbnRzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU11dGF0aW9ucyhtdXRhdGlvbnM6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICBjb25zdCBPUEVOX0FUVFJJQlVURV9OQU1FID0gJ25nLXJlZmxlY3Qtb3Blbic7XG5cbiAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9ucykge1xuICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJyAmJiBtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSBPUEVOX0FUVFJJQlVURV9OQU1FKSB7XG4gICAgICAgIGNvbnN0IG9wZW4gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoT1BFTl9BVFRSSUJVVEVfTkFNRSk7XG4gICAgICAgIGlmIChvcGVuID09PSAndHJ1ZScpIHtcbiAgICAgICAgICB0aGlzLmFwcGx5RG9jdW1lbnRPdmVyZmxvd0hpZGRlbigpO1xuICAgICAgICB9IGVsc2UgaWYgKG9wZW4gPT09ICdmYWxzZScpIHtcbiAgICAgICAgICB0aGlzLnJlbW92ZURvY3VtZW50T3ZlcmZsb3dIaWRkZW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuYXBwbHlPdmVyZmxvd1RvTW9kYWxFbGVtZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseURvY3VtZW50T3ZlcmZsb3dIaWRkZW4oKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdvdmVyZmxvdycsICdoaWRkZW4nLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LFxuICAgICAgJ292ZXJmbG93JyxcbiAgICAgICdoaWRkZW4nLFxuICAgICAgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnRcbiAgICApO1xuICAgIHRoaXMucHJldmVudE1vZGFsQ2xvc2VCdXR0b25Ub29sdGlwKCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZURvY3VtZW50T3ZlcmZsb3dIaWRkZW4oKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdvdmVyZmxvdycpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICdvdmVyZmxvdycpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseU92ZXJmbG93VG9Nb2RhbEVsZW1lbnRzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lbmFibGVPdmVyZmxvdykgcmV0dXJuO1xuXG4gICAgY29uc3QgbW9kYWxDb250YWluZXJFbGVtZW50cyA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNkcy0tbW9kYWwtY29udGFpbmVyJyk7XG4gICAgbW9kYWxDb250YWluZXJFbGVtZW50cy5mb3JFYWNoKChlbDogRWxlbWVudCkgPT4ge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbCwgJ21heC1oZWlnaHQnLCAnY2FsYygxMDB2aCAtIDY0cHgpJywgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmV2ZW50TW9kYWxDbG9zZUJ1dHRvblRvb2x0aXAoKTogdm9pZCB7XG4gICAgY29uc3QgbW9kYWxFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBtb2RhbEVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNkcy0tbW9kYWwtY2xvc2UnKSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGxldCBhdHRlbXB0cyA9IDA7XG4gICAgY29uc3QgbWF4QXR0ZW1wdHMgPSAxMDA7XG5cbiAgICBjb25zdCBibHVySWZGb2N1c2VkID0gKCkgPT4ge1xuICAgICAgaWYgKCFjbG9zZUJ1dHRvbiB8fCBhdHRlbXB0cyA+PSBtYXhBdHRlbXB0cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGNsb3NlQnV0dG9uKSB7XG4gICAgICAgIGNsb3NlQnV0dG9uLmJsdXIoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF0dGVtcHRzKys7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShibHVySWZGb2N1c2VkKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGJsdXJJZkZvY3VzZWQpO1xuICB9XG59XG4iXX0=
|
|
@@ -23,6 +23,8 @@ var CurrentCarbonTheme;
|
|
|
23
23
|
(function (CurrentCarbonTheme) {
|
|
24
24
|
CurrentCarbonTheme["G10"] = "g10";
|
|
25
25
|
CurrentCarbonTheme["G90"] = "g90";
|
|
26
|
+
CurrentCarbonTheme["G100"] = "g100";
|
|
27
|
+
CurrentCarbonTheme["WHITE"] = "white";
|
|
26
28
|
})(CurrentCarbonTheme || (CurrentCarbonTheme = {}));
|
|
27
29
|
export { SelectableCarbonTheme, CurrentCarbonTheme };
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9tb2RlbHMvdGhlbWUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxJQUFLLHFCQUlKO0FBSkQsV0FBSyxxQkFBcUI7SUFDeEIsb0NBQVcsQ0FBQTtJQUNYLG9DQUFXLENBQUE7SUFDWCwwQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSkkscUJBQXFCLEtBQXJCLHFCQUFxQixRQUl6QjtBQUVELElBQUssa0JBS0o7QUFMRCxXQUFLLGtCQUFrQjtJQUNyQixpQ0FBVyxDQUFBO0lBQ1gsaUNBQVcsQ0FBQTtJQUNYLG1DQUFhLENBQUE7SUFDYixxQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFMSSxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBS3RCO0FBRUQsT0FBTyxFQUFDLHFCQUFxQixFQUFFLGtCQUFrQixFQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5lbnVtIFNlbGVjdGFibGVDYXJib25UaGVtZSB7XG4gIEcxMCA9ICdnMTAnLFxuICBHOTAgPSAnZzkwJyxcbiAgU1lTVEVNID0gJ3N5c3RlbScsXG59XG5cbmVudW0gQ3VycmVudENhcmJvblRoZW1lIHtcbiAgRzEwID0gJ2cxMCcsXG4gIEc5MCA9ICdnOTAnLFxuICBHMTAwID0gJ2cxMDAnLFxuICBXSElURSA9ICd3aGl0ZScsXG59XG5cbmV4cG9ydCB7U2VsZWN0YWJsZUNhcmJvblRoZW1lLCBDdXJyZW50Q2FyYm9uVGhlbWV9O1xuIl19
|