@skyux/modals 6.11.0 → 6.12.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/documentation.json +4 -4
- package/esm2020/lib/modules/modal/modal-host-context.mjs +18 -0
- package/esm2020/lib/modules/modal/modal-host.component.mjs +16 -6
- package/esm2020/lib/modules/modal/modal.component.mjs +3 -3
- package/esm2020/lib/modules/modal/modal.service.mjs +14 -4
- package/fesm2015/skyux-modals.mjs +41 -8
- package/fesm2015/skyux-modals.mjs.map +1 -1
- package/fesm2020/skyux-modals.mjs +41 -8
- package/fesm2020/skyux-modals.mjs.map +1 -1
- package/lib/modules/modal/modal-host-context.d.ts +12 -0
- package/lib/modules/modal/modal-host.component.d.ts +6 -3
- package/lib/modules/modal/modal.service.d.ts +1 -1
- package/package.json +5 -5
package/documentation.json
CHANGED
|
@@ -1047,7 +1047,7 @@
|
|
|
1047
1047
|
"name": "Injectable"
|
|
1048
1048
|
},
|
|
1049
1049
|
"arguments": {
|
|
1050
|
-
"options": "{\n // Must be 'any' so that the modal component is created in the context of its module's injector.\n // If set to 'root', the component's dependency injections would only be derived from the root\n // injector and may
|
|
1050
|
+
"options": "{\n // Must be 'any' so that the modal component is created in the context of its module's injector.\n // If set to 'root', the component's dependency injections would only be derived from the root\n // injector and may lose context if the modal was opened from within a lazy-loaded module.\n providedIn: 'any',\n}"
|
|
1051
1051
|
}
|
|
1052
1052
|
}
|
|
1053
1053
|
],
|
|
@@ -1061,7 +1061,7 @@
|
|
|
1061
1061
|
"sources": [
|
|
1062
1062
|
{
|
|
1063
1063
|
"fileName": "projects/modals/src/modules/modal/modal.service.ts",
|
|
1064
|
-
"line":
|
|
1064
|
+
"line": 23,
|
|
1065
1065
|
"character": 2
|
|
1066
1066
|
}
|
|
1067
1067
|
],
|
|
@@ -1106,7 +1106,7 @@
|
|
|
1106
1106
|
"sources": [
|
|
1107
1107
|
{
|
|
1108
1108
|
"fileName": "projects/modals/src/modules/modal/modal.service.ts",
|
|
1109
|
-
"line":
|
|
1109
|
+
"line": 41,
|
|
1110
1110
|
"character": 9
|
|
1111
1111
|
}
|
|
1112
1112
|
],
|
|
@@ -1193,7 +1193,7 @@
|
|
|
1193
1193
|
"sources": [
|
|
1194
1194
|
{
|
|
1195
1195
|
"fileName": "projects/modals/src/modules/modal/modal.service.ts",
|
|
1196
|
-
"line":
|
|
1196
|
+
"line": 19,
|
|
1197
1197
|
"character": 13
|
|
1198
1198
|
}
|
|
1199
1199
|
]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Provided by the modal service to give the modal host
|
|
5
|
+
* component additional context and features.
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export class SkyModalHostContext {
|
|
9
|
+
constructor(teardownCallback) {
|
|
10
|
+
this.teardownCallback = teardownCallback;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SkyModalHostContext.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalHostContext, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
+
SkyModalHostContext.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalHostContext });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalHostContext, decorators: [{
|
|
16
|
+
type: Injectable
|
|
17
|
+
}], ctorParameters: function () { return [{ type: undefined }]; } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW1CLGdCQUE0QjtRQUE1QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVk7SUFBRyxDQUFDOztnSEFEeEMsbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBQcm92aWRlZCBieSB0aGUgbW9kYWwgc2VydmljZSB0byBnaXZlIHRoZSBtb2RhbCBob3N0XG4gKiBjb21wb25lbnQgYWRkaXRpb25hbCBjb250ZXh0IGFuZCBmZWF0dXJlcy5cbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxIb3N0Q29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZWFyZG93bkNhbGxiYWNrOiAoKSA9PiB2b2lkKSB7fVxufVxuIl19
|
|
@@ -1,24 +1,30 @@
|
|
|
1
|
+
var _SkyModalHostComponent_modalHostContext;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { ChangeDetectorRef, Component, ComponentFactoryResolver, Injector, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
2
4
|
import { NavigationStart, Router } from '@angular/router';
|
|
3
5
|
import { SkyMediaQueryService, SkyResizeObserverMediaQueryService, } from '@skyux/core';
|
|
4
6
|
import { takeWhile } from 'rxjs/operators';
|
|
5
7
|
import { SkyModalAdapterService } from './modal-adapter.service';
|
|
6
8
|
import { SkyModalConfiguration } from './modal-configuration';
|
|
9
|
+
import { SkyModalHostContext } from './modal-host-context';
|
|
7
10
|
import { SkyModalHostService } from './modal-host.service';
|
|
8
11
|
import * as i0 from "@angular/core";
|
|
9
12
|
import * as i1 from "./modal-adapter.service";
|
|
10
13
|
import * as i2 from "@angular/router";
|
|
11
|
-
import * as i3 from "
|
|
14
|
+
import * as i3 from "./modal-host-context";
|
|
15
|
+
import * as i4 from "@angular/common";
|
|
12
16
|
/**
|
|
13
17
|
* @internal
|
|
14
18
|
*/
|
|
15
19
|
export class SkyModalHostComponent {
|
|
16
|
-
constructor(resolver, adapter, injector, router, changeDetector) {
|
|
20
|
+
constructor(resolver, adapter, injector, router, changeDetector, modalHostContext) {
|
|
17
21
|
this.resolver = resolver;
|
|
18
22
|
this.adapter = adapter;
|
|
19
23
|
this.injector = injector;
|
|
20
24
|
this.router = router;
|
|
21
25
|
this.changeDetector = changeDetector;
|
|
26
|
+
_SkyModalHostComponent_modalHostContext.set(this, void 0);
|
|
27
|
+
__classPrivateFieldSet(this, _SkyModalHostComponent_modalHostContext, modalHostContext, "f");
|
|
22
28
|
}
|
|
23
29
|
get modalOpen() {
|
|
24
30
|
return SkyModalHostService.openModalCount > 0;
|
|
@@ -26,6 +32,9 @@ export class SkyModalHostComponent {
|
|
|
26
32
|
get backdropZIndex() {
|
|
27
33
|
return SkyModalHostService.backdropZIndex;
|
|
28
34
|
}
|
|
35
|
+
ngOnDestroy() {
|
|
36
|
+
__classPrivateFieldGet(this, _SkyModalHostComponent_modalHostContext, "f").teardownCallback();
|
|
37
|
+
}
|
|
29
38
|
open(modalInstance, component, config) {
|
|
30
39
|
const params = Object.assign({}, config);
|
|
31
40
|
const factory = this.resolver.resolveComponentFactory(component);
|
|
@@ -86,16 +95,17 @@ export class SkyModalHostComponent {
|
|
|
86
95
|
this.changeDetector.detectChanges();
|
|
87
96
|
}
|
|
88
97
|
}
|
|
89
|
-
|
|
90
|
-
SkyModalHostComponent.ɵ
|
|
98
|
+
_SkyModalHostComponent_modalHostContext = new WeakMap();
|
|
99
|
+
SkyModalHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalHostComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.SkyModalAdapterService }, { token: i0.Injector }, { token: i2.Router }, { token: i0.ChangeDetectorRef }, { token: i3.SkyModalHostContext }], target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
+
SkyModalHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyModalHostComponent, selector: "sky-modal-host", viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-modal-host-backdrop\"\n [hidden]=\"!modalOpen\"\n [ngStyle]=\"{\n zIndex: backdropZIndex\n }\"\n></div>\n<div #target></div>\n", styles: [".sky-modal-host-backdrop{background-color:#00000080;position:fixed;top:0;left:0;bottom:0;right:0}\n"], directives: [{ type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], viewProviders: [SkyModalAdapterService] });
|
|
91
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalHostComponent, decorators: [{
|
|
92
102
|
type: Component,
|
|
93
103
|
args: [{ selector: 'sky-modal-host', viewProviders: [SkyModalAdapterService], template: "<div\n class=\"sky-modal-host-backdrop\"\n [hidden]=\"!modalOpen\"\n [ngStyle]=\"{\n zIndex: backdropZIndex\n }\"\n></div>\n<div #target></div>\n", styles: [".sky-modal-host-backdrop{background-color:#00000080;position:fixed;top:0;left:0;bottom:0;right:0}\n"] }]
|
|
94
|
-
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.SkyModalAdapterService }, { type: i0.Injector }, { type: i2.Router }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { target: [{
|
|
104
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.SkyModalAdapterService }, { type: i0.Injector }, { type: i2.Router }, { type: i0.ChangeDetectorRef }, { type: i3.SkyModalHostContext }]; }, propDecorators: { target: [{
|
|
95
105
|
type: ViewChild,
|
|
96
106
|
args: ['target', {
|
|
97
107
|
read: ViewContainerRef,
|
|
98
108
|
static: true,
|
|
99
109
|
}]
|
|
100
110
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLFFBQVEsRUFDUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixrQ0FBa0MsR0FDbkMsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQUkzRDs7R0FFRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUFxQmhDLFlBQ1UsUUFBa0MsRUFDbEMsT0FBK0IsRUFDL0IsUUFBa0IsRUFDbEIsTUFBYyxFQUNkLGNBQWlDO1FBSmpDLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQs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Q0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuRSwwQkFBMEI7WUFDMUIsSUFBSSxLQUFLLFlBQVksZUFBZSxFQUFFO2dCQUNwQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ2YsVUFBVSxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUVILHFGQUFxRjtRQUNyRixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7O2tIQWpIVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixtSUFnQnhCLGdCQUFnQiwyQ0MvQzFCLDBKQVFBLGtORHFCaUIsQ0FBQyxzQkFBc0IsQ0FBQzsyRkFFNUIscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGdCQUFnQixpQkFHWCxDQUFDLHNCQUFzQixDQUFDO2dPQXFCaEMsTUFBTTtzQkFKWixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tb2RhbC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNreU1vZGFsSG9zdFNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWhvc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlIH0gZnJvbSAnLi9tb2RhbC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuL21vZGFsLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1ob3N0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1ob3N0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHZpZXdQcm92aWRlcnM6IFtTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxIb3N0Q29tcG9uZW50IHtcbiAgcHVibGljIGdldCBtb2RhbE9wZW4oKSB7XG4gICAgcmV0dXJuIFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwO1xuICB9XG5cbiAgcHVibGljIGdldCBiYWNrZHJvcFpJbmRleCgpIHtcbiAgICByZXR1cm4gU2t5TW9kYWxIb3N0U2VydmljZS5iYWNrZHJvcFpJbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgYGFueWAgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHdpdGggQW5ndWxhciA0LTcuXG4gICAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzA2NTRcbiAgICogVE9ETzogUmVtb3ZlIHRoZSBgYW55YCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0gYXMgYW55KVxuICBwdWJsaWMgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIGFkYXB0ZXI6IFNreU1vZGFsQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgcHVibGljIG9wZW4oXG4gICAgbW9kYWxJbnN0YW5jZTogU2t5TW9kYWxJbnN0YW5jZSxcbiAgICBjb21wb25lbnQ6IGFueSxcbiAgICBjb25maWc/OiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2VcbiAgKSB7XG4gICAgY29uc3QgcGFyYW1zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XG5cbiAgICBjb25zdCBob3N0U2VydmljZSA9IG5ldyBTa3lNb2RhbEhvc3RTZXJ2aWNlKCk7XG4gICAgaG9zdFNlcnZpY2UuZnVsbFBhZ2UgPSAhIXBhcmFtcy5mdWxsUGFnZTtcblxuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLmFkYXB0ZXI7XG4gICAgY29uc3QgbW9kYWxPcGVuZXI6IEhUTUxFbGVtZW50ID0gYWRhcHRlci5nZXRNb2RhbE9wZW5lcigpO1xuXG4gICAgbGV0IGlzT3BlbiA9IHRydWU7XG5cbiAgICBwYXJhbXMucHJvdmlkZXJzLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TW9kYWxIb3N0U2VydmljZSxcbiAgICAgIHVzZVZhbHVlOiBob3N0U2VydmljZSxcbiAgICB9KTtcbiAgICBwYXJhbXMucHJvdmlkZXJzLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TW9kYWxDb25maWd1cmF0aW9uLFxuICAgICAgdXNlVmFsdWU6IHBhcmFtcyxcbiAgICB9KTtcbiAgICBwYXJhbXMucHJvdmlkZXJzLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgICB1c2VFeGlzdGluZzogU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICB9KTtcblxuICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgYWRhcHRlci50b2dnbGVGdWxsUGFnZU1vZGFsQ2xhc3MoXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLmZ1bGxQYWdlTW9kYWxDb3VudCA+IDBcbiAgICApO1xuXG4gICAgY29uc3QgcHJvdmlkZXJzID0gcGFyYW1zLnByb3ZpZGVycyB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBbXTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICBjb25zdCBtb2RhbENvbXBvbmVudFJlZiA9IHRoaXMudGFyZ2V0LmNyZWF0ZUNvbXBvbmVudChcbiAgICAgIGZhY3RvcnksXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBpbmplY3RvclxuICAgICk7XG5cbiAgICBtb2RhbEluc3RhbmNlLmNvbXBvbmVudEluc3RhbmNlID0gbW9kYWxDb21wb25lbnRSZWYuaW5zdGFuY2U7XG5cbiAgICBmdW5jdGlvbiBjbG9zZU1vZGFsKCkge1xuICAgICAgaG9zdFNlcnZpY2UuZGVzdHJveSgpO1xuICAgICAgYWRhcHRlci5zZXRQYWdlU2Nyb2xsKFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwKTtcbiAgICAgIGFkYXB0ZXIudG9nZ2xlRnVsbFBhZ2VNb2RhbENsYXNzKFxuICAgICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLmZ1bGxQYWdlTW9kYWxDb3VudCA+IDBcbiAgICAgICk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICBpZiAobW9kYWxPcGVuZXIgJiYgbW9kYWxPcGVuZXIuZm9jdXMpIHtcbiAgICAgICAgbW9kYWxPcGVuZXIuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIG1vZGFsQ29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBob3N0U2VydmljZS5vcGVuSGVscC5zdWJzY3JpYmUoKGhlbHBLZXk/OiBzdHJpbmcpID0+IHtcbiAgICAgIG1vZGFsSW5zdGFuY2Uub3BlbkhlbHAoaGVscEtleSk7XG4gICAgfSk7XG5cbiAgICBob3N0U2VydmljZS5jbG9zZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVdoaWxlKCgpID0+IGlzT3BlbikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlzT3BlbiA9IGZhbHNlO1xuICAgICAgY2xvc2VNb2RhbCgpO1xuICAgIH0pO1xuXG4gICAgLy8gTmVjZXNzYXJ5IGlmIHRoZSBob3N0IHdhcyBjcmVhdGVkIHZpYSBhIGNvbnN1bWVyJ3MgbGlmZWN5Y2xlIGhvb2sgc3VjaCBhcyBuZ09uSW5pdFxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LW1vZGFsLWhvc3QtYmFja2Ryb3BcIlxuICBbaGlkZGVuXT1cIiFtb2RhbE9wZW5cIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgekluZGV4OiBiYWNrZHJvcFpJbmRleFxuICB9XCJcbj48L2Rpdj5cbjxkaXYgI3RhcmdldD48L2Rpdj5cbiJdfQ==
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3NyYy9saWIvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsUUFBUSxFQUVSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGtDQUFrQyxHQUNuQyxNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQUkzRDs7R0FFRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUF1QmhDLFlBQ1UsUUFBa0MsRUFDbEMsT0FBK0IsRUFDL0IsUUFBa0IsRUFDbEIsTUFBYyxFQUNkLGNBQWlDLEVBQ3pDLGdCQUFxQztRQUw3QixhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUMvQixh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UyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1lBQ2xELGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25FLDBCQUEwQjtZQUMxQixJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7Z0JBQ3BDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDZixVQUFVLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBRUgscUZBQXFGO1FBQ3JGLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdEMsQ0FBQzs7O2tIQTFIVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixtSUFnQnhCLGdCQUFnQiwyQ0NqRDFCLDBKQVFBLGtORHVCaUIsQ0FBQyxzQkFBc0IsQ0FBQzsyRkFFNUIscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGdCQUFnQixpQkFHWCxDQUFDLHNCQUFzQixDQUFDO2tRQXFCaEMsTUFBTTtzQkFKWixTQUFTO3VCQUFDLFFBQVEsRUFBRTt3QkFDbkIsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLElBQUk7cUJBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbiAgU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreU1vZGFsQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21vZGFsLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgU2t5TW9kYWxIb3N0Q29udGV4dCB9IGZyb20gJy4vbW9kYWwtaG9zdC1jb250ZXh0JztcbmltcG9ydCB7IFNreU1vZGFsSG9zdFNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWhvc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlIH0gZnJvbSAnLi9tb2RhbC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuL21vZGFsLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbC1ob3N0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWhvc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1ob3N0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHZpZXdQcm92aWRlcnM6IFtTa3lNb2RhbEFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxIb3N0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGdldCBtb2RhbE9wZW4oKSB7XG4gICAgcmV0dXJuIFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwO1xuICB9XG5cbiAgcHVibGljIGdldCBiYWNrZHJvcFpJbmRleCgpIHtcbiAgICByZXR1cm4gU2t5TW9kYWxIb3N0U2VydmljZS5iYWNrZHJvcFpJbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgYGFueWAgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHdpdGggQW5ndWxhciA0LTcuXG4gICAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzA2NTRcbiAgICogVE9ETzogUmVtb3ZlIHRoZSBgYW55YCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0gYXMgYW55KVxuICBwdWJsaWMgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICNtb2RhbEhvc3RDb250ZXh0OiBTa3lNb2RhbEhvc3RDb250ZXh0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIGFkYXB0ZXI6IFNreU1vZGFsQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBtb2RhbEhvc3RDb250ZXh0OiBTa3lNb2RhbEhvc3RDb250ZXh0XG4gICkge1xuICAgIHRoaXMuI21vZGFsSG9zdENvbnRleHQgPSBtb2RhbEhvc3RDb250ZXh0O1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI21vZGFsSG9zdENvbnRleHQudGVhcmRvd25DYWxsYmFjaygpO1xuICB9XG5cbiAgcHVibGljIG9wZW4oXG4gICAgbW9kYWxJbnN0YW5jZTogU2t5TW9kYWxJbnN0YW5jZSxcbiAgICBjb21wb25lbnQ6IGFueSxcbiAgICBjb25maWc/OiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2VcbiAgKSB7XG4gICAgY29uc3QgcGFyYW1zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSBPYmplY3QuYXNzaWduKHt9LCBjb25maWcpO1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XG5cbiAgICBjb25zdCBob3N0U2VydmljZSA9IG5ldyBTa3lNb2RhbEhvc3RTZXJ2aWNlKCk7XG4gICAgaG9zdFNlcnZpY2UuZnVsbFBhZ2UgPSAhIXBhcmFtcy5mdWxsUGFnZTtcblxuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLmFkYXB0ZXI7XG4gICAgY29uc3QgbW9kYWxPcGVuZXI6IEhUTUxFbGVtZW50ID0gYWRhcHRlci5nZXRNb2RhbE9wZW5lcigpO1xuXG4gICAgbGV0IGlzT3BlbiA9IHRydWU7XG5cbiAgICBwYXJhbXMucHJvdmlkZXJzLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TW9kYWxIb3N0U2VydmljZSxcbiAgICAgIHVzZVZhbHVlOiBob3N0U2VydmljZSxcbiAgICB9KTtcbiAgICBwYXJhbXMucHJvdmlkZXJzLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TW9kYWxDb25maWd1cmF0aW9uLFxuICAgICAgdXNlVmFsdWU6IHBhcmFtcyxcbiAgICB9KTtcbiAgICBwYXJhbXMucHJvdmlkZXJzLnB1c2goe1xuICAgICAgcHJvdmlkZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgICB1c2VFeGlzdGluZzogU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSxcbiAgICB9KTtcblxuICAgIGFkYXB0ZXIuc2V0UGFnZVNjcm9sbChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCk7XG4gICAgYWRhcHRlci50b2dnbGVGdWxsUGFnZU1vZGFsQ2xhc3MoXG4gICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLmZ1bGxQYWdlTW9kYWxDb3VudCA+IDBcbiAgICApO1xuXG4gICAgY29uc3QgcHJvdmlkZXJzID0gcGFyYW1zLnByb3ZpZGVycyB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBbXTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICBjb25zdCBtb2RhbENvbXBvbmVudFJlZiA9IHRoaXMudGFyZ2V0LmNyZWF0ZUNvbXBvbmVudChcbiAgICAgIGZhY3RvcnksXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBpbmplY3RvclxuICAgICk7XG5cbiAgICBtb2RhbEluc3RhbmNlLmNvbXBvbmVudEluc3RhbmNlID0gbW9kYWxDb21wb25lbnRSZWYuaW5zdGFuY2U7XG5cbiAgICBmdW5jdGlvbiBjbG9zZU1vZGFsKCkge1xuICAgICAgaG9zdFNlcnZpY2UuZGVzdHJveSgpO1xuICAgICAgYWRhcHRlci5zZXRQYWdlU2Nyb2xsKFNreU1vZGFsSG9zdFNlcnZpY2Uub3Blbk1vZGFsQ291bnQgPiAwKTtcbiAgICAgIGFkYXB0ZXIudG9nZ2xlRnVsbFBhZ2VNb2RhbENsYXNzKFxuICAgICAgICBTa3lNb2RhbEhvc3RTZXJ2aWNlLmZ1bGxQYWdlTW9kYWxDb3VudCA+IDBcbiAgICAgICk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICBpZiAobW9kYWxPcGVuZXIgJiYgbW9kYWxPcGVuZXIuZm9jdXMpIHtcbiAgICAgICAgbW9kYWxPcGVuZXIuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIG1vZGFsQ29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBob3N0U2VydmljZS5vcGVuSGVscC5zdWJzY3JpYmUoKGhlbHBLZXk/OiBzdHJpbmcpID0+IHtcbiAgICAgIG1vZGFsSW5zdGFuY2Uub3BlbkhlbHAoaGVscEtleSk7XG4gICAgfSk7XG5cbiAgICBob3N0U2VydmljZS5jbG9zZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVdoaWxlKCgpID0+IGlzT3BlbikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlzT3BlbiA9IGZhbHNlO1xuICAgICAgY2xvc2VNb2RhbCgpO1xuICAgIH0pO1xuXG4gICAgLy8gTmVjZXNzYXJ5IGlmIHRoZSBob3N0IHdhcyBjcmVhdGVkIHZpYSBhIGNvbnN1bWVyJ3MgbGlmZWN5Y2xlIGhvb2sgc3VjaCBhcyBuZ09uSW5pdFxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LW1vZGFsLWhvc3QtYmFja2Ryb3BcIlxuICBbaGlkZGVuXT1cIiFtb2RhbE9wZW5cIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgekluZGV4OiBiYWNrZHJvcFpJbmRleFxuICB9XCJcbj48L2Rpdj5cbjxkaXYgI3RhcmdldD48L2Rpdj5cbiJdfQ==
|
|
@@ -165,10 +165,10 @@ export class SkyModalComponent {
|
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
SkyModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalComponent, deps: [{ token: i1.SkyModalHostService }, { token: i2.SkyModalConfiguration }, { token: i0.ElementRef }, { token: i3.SkyAppWindowRef }, { token: i4.SkyModalComponentAdapterService }, { token: i3.SkyCoreAdapterService }, { token: i3.SkyDockService, host: true }, { token: i3.SkyResizeObserverMediaQueryService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
168
|
-
SkyModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyModalComponent, selector: "sky-modal", inputs: { ariaRole: "ariaRole", tiledBody: "tiledBody" }, host: { listeners: { "document:keyup": "onDocumentKeyUp($event)", "document:keydown": "onDocumentKeyDown($event)" }, properties: { "class": "this.wrapperClass" } }, providers: [SkyModalComponentAdapterService, SkyDockService], viewQueries: [{ propertyName: "modalContentWrapperElement", first: true, predicate: ["modalContentWrapper"], descendants: true, read: ElementRef }], ngImport: i0, template: "<!--\n Animations are broken in Chrome v52. Angular 2 RC5 will fix it.\n https://github.com/angular/angular/issues/10245\n-->\n<!--<div @modalState=\"modalState\">-->\n\n<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n (window:resize)=\"windowResize()\"\n>\n <div\n class=\"sky-modal sky-shadow sky-box sky-elevation-16\"\n tabindex=\"-1\"\n [ngClass]=\"{\n 'sky-modal-full-page': modalFullPage,\n 'sky-modal-small': isSmallSize,\n 'sky-modal-medium': isMediumSize,\n 'sky-modal-large': isLargeSize,\n 'sky-modal-tiled': isTiledBody,\n 'sky-modal-viewkeeper': viewkeeperEnabled()\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\"\n >\n <div\n class=\"sky-modal-header\"\n [hidden]=\"!headerContent || !headerContent.children || headerContent.children.length < 1\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n class=\"sky-modal-header-content\"\n [attr.id]=\"modalHeaderId\"\n [ngClass]=\"{\n 'sky-section-heading': modalFullPage\n }\"\n #headerContent\n >\n <ng-content select=\"sky-modal-header\"></ng-content>\n </div>\n <div class=\"sky-modal-header-buttons\">\n <button\n *ngIf=\"helpKey\"\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n\n <button\n type=\"button\"\n class=\"sky-btn sky-modal-btn-close\"\n [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\"\n (click)=\"closeButtonClick()\"\n >\n <sky-icon icon=\"close\"></sky-icon>\n </button>\n </div>\n </div>\n <div\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-labelledby]=\"modalHeaderId\"\n [attr.id]=\"modalContentId\"\n (skyModalScrollShadow)=\"scrollShadowChange($event)\"\n #modalContentWrapper\n >\n <ng-content select=\"sky-modal-content\"></ng-content>\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:#686c73;font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto
|
|
168
|
+
SkyModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyModalComponent, selector: "sky-modal", inputs: { ariaRole: "ariaRole", tiledBody: "tiledBody" }, host: { listeners: { "document:keyup": "onDocumentKeyUp($event)", "document:keydown": "onDocumentKeyDown($event)" }, properties: { "class": "this.wrapperClass" } }, providers: [SkyModalComponentAdapterService, SkyDockService], viewQueries: [{ propertyName: "modalContentWrapperElement", first: true, predicate: ["modalContentWrapper"], descendants: true, read: ElementRef }], ngImport: i0, template: "<!--\n Animations are broken in Chrome v52. Angular 2 RC5 will fix it.\n https://github.com/angular/angular/issues/10245\n-->\n<!--<div @modalState=\"modalState\">-->\n\n<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n (window:resize)=\"windowResize()\"\n>\n <div\n class=\"sky-modal sky-shadow sky-box sky-elevation-16\"\n tabindex=\"-1\"\n [ngClass]=\"{\n 'sky-modal-full-page': modalFullPage,\n 'sky-modal-small': isSmallSize,\n 'sky-modal-medium': isMediumSize,\n 'sky-modal-large': isLargeSize,\n 'sky-modal-tiled': isTiledBody,\n 'sky-modal-viewkeeper': viewkeeperEnabled()\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\"\n >\n <div\n class=\"sky-modal-header\"\n [hidden]=\"!headerContent || !headerContent.children || headerContent.children.length < 1\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n class=\"sky-modal-header-content\"\n [attr.id]=\"modalHeaderId\"\n [ngClass]=\"{\n 'sky-section-heading': modalFullPage\n }\"\n #headerContent\n >\n <ng-content select=\"sky-modal-header\"></ng-content>\n </div>\n <div class=\"sky-modal-header-buttons\">\n <button\n *ngIf=\"helpKey\"\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n\n <button\n type=\"button\"\n class=\"sky-btn sky-modal-btn-close\"\n [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\"\n (click)=\"closeButtonClick()\"\n >\n <sky-icon icon=\"close\"></sky-icon>\n </button>\n </div>\n </div>\n <div\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-labelledby]=\"modalHeaderId\"\n [attr.id]=\"modalContentId\"\n (skyModalScrollShadow)=\"scrollShadowChange($event)\"\n #modalContentWrapper\n >\n <ng-content select=\"sky-modal-content\"></ng-content>\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:#686c73;font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-footer ::ng-deep sky-tabset-nav-button+sky-tabset-nav-button{margin-left:10px}.sky-modal-footer ::ng-deep sky-tabset-nav-button+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn-link{margin-left:-2px}.sky-modal-full-page{width:100%;top:0;margin:0}.sky-modal-full-page .sky-modal-header-buttons sky-icon[icon=close]{font-size:20px}.sky-modal-full-page .sky-modal-content{flex-grow:1}:host ::ng-deep .sky-sectioned-form{min-height:460px;margin:-15px}.sky-modal-content>::ng-deep sky-dock{bottom:-15px;margin-left:-15px;margin-bottom:-15px;padding-top:15px;width:calc(100% + 30px)}:host-context(.sky-theme-modern) .sky-modal-header{border:none;padding:20px 30px}:host-context(.sky-theme-modern) .sky-modal-btn-help,:host-context(.sky-theme-modern) .sky-modal-btn-close{display:none}:host-context(.sky-theme-modern) .sky-modal-content{padding:0}:host-context(.sky-theme-modern) .sky-modal-full-page{width:calc(100% - 60px);margin:30px}:host-context(.sky-theme-modern) .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}.sky-theme-modern .sky-modal-header{border:none;padding:20px 30px}.sky-theme-modern .sky-modal-btn-help,.sky-theme-modern .sky-modal-btn-close{display:none}.sky-theme-modern .sky-modal-content{padding:0}.sky-theme-modern .sky-modal-full-page{width:calc(100% - 60px);margin:30px}.sky-theme-modern .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal{border-color:#121212}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-content{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal{border-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header,.sky-theme-modern.sky-theme-mode-dark .sky-modal-content{background-color:transparent}\n"], components: [{ type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.SkyModalScrollShadowDirective, selector: "[skyModalScrollShadow]", outputs: ["skyModalScrollShadow"] }], pipes: { "skyLibResources": i8.SkyLibResourcesPipe }, animations: [skyAnimationModalState] });
|
|
169
169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyModalComponent, decorators: [{
|
|
170
170
|
type: Component,
|
|
171
|
-
args: [{ selector: 'sky-modal', animations: [skyAnimationModalState], providers: [SkyModalComponentAdapterService, SkyDockService], template: "<!--\n Animations are broken in Chrome v52. Angular 2 RC5 will fix it.\n https://github.com/angular/angular/issues/10245\n-->\n<!--<div @modalState=\"modalState\">-->\n\n<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n (window:resize)=\"windowResize()\"\n>\n <div\n class=\"sky-modal sky-shadow sky-box sky-elevation-16\"\n tabindex=\"-1\"\n [ngClass]=\"{\n 'sky-modal-full-page': modalFullPage,\n 'sky-modal-small': isSmallSize,\n 'sky-modal-medium': isMediumSize,\n 'sky-modal-large': isLargeSize,\n 'sky-modal-tiled': isTiledBody,\n 'sky-modal-viewkeeper': viewkeeperEnabled()\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\"\n >\n <div\n class=\"sky-modal-header\"\n [hidden]=\"!headerContent || !headerContent.children || headerContent.children.length < 1\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n class=\"sky-modal-header-content\"\n [attr.id]=\"modalHeaderId\"\n [ngClass]=\"{\n 'sky-section-heading': modalFullPage\n }\"\n #headerContent\n >\n <ng-content select=\"sky-modal-header\"></ng-content>\n </div>\n <div class=\"sky-modal-header-buttons\">\n <button\n *ngIf=\"helpKey\"\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n\n <button\n type=\"button\"\n class=\"sky-btn sky-modal-btn-close\"\n [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\"\n (click)=\"closeButtonClick()\"\n >\n <sky-icon icon=\"close\"></sky-icon>\n </button>\n </div>\n </div>\n <div\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-labelledby]=\"modalHeaderId\"\n [attr.id]=\"modalContentId\"\n (skyModalScrollShadow)=\"scrollShadowChange($event)\"\n #modalContentWrapper\n >\n <ng-content select=\"sky-modal-content\"></ng-content>\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:#686c73;font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto
|
|
171
|
+
args: [{ selector: 'sky-modal', animations: [skyAnimationModalState], providers: [SkyModalComponentAdapterService, SkyDockService], template: "<!--\n Animations are broken in Chrome v52. Angular 2 RC5 will fix it.\n https://github.com/angular/angular/issues/10245\n-->\n<!--<div @modalState=\"modalState\">-->\n\n<div\n class=\"sky-modal-dialog\"\n aria-modal=\"true\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.role]=\"ariaRole\"\n (window:resize)=\"windowResize()\"\n>\n <div\n class=\"sky-modal sky-shadow sky-box sky-elevation-16\"\n tabindex=\"-1\"\n [ngClass]=\"{\n 'sky-modal-full-page': modalFullPage,\n 'sky-modal-small': isSmallSize,\n 'sky-modal-medium': isMediumSize,\n 'sky-modal-large': isLargeSize,\n 'sky-modal-tiled': isTiledBody,\n 'sky-modal-viewkeeper': viewkeeperEnabled()\n }\"\n [ngStyle]=\"{\n zIndex: modalZIndex\n }\"\n >\n <div\n class=\"sky-modal-header\"\n [hidden]=\"!headerContent || !headerContent.children || headerContent.children.length < 1\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.topShadow\n }\"\n >\n <div\n class=\"sky-modal-header-content\"\n [attr.id]=\"modalHeaderId\"\n [ngClass]=\"{\n 'sky-section-heading': modalFullPage\n }\"\n #headerContent\n >\n <ng-content select=\"sky-modal-header\"></ng-content>\n </div>\n <div class=\"sky-modal-header-buttons\">\n <button\n *ngIf=\"helpKey\"\n class=\"sky-btn sky-modal-btn-help\"\n name=\"help-button\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_modal_open_help' | skyLibResources\"\n (click)=\"helpButtonClick()\"\n >\n <sky-icon icon=\"question-circle\"></sky-icon>\n </button>\n\n <button\n type=\"button\"\n class=\"sky-btn sky-modal-btn-close\"\n [attr.aria-label]=\"'skyux_modal_close' | skyLibResources\"\n (click)=\"closeButtonClick()\"\n >\n <sky-icon icon=\"close\"></sky-icon>\n </button>\n </div>\n </div>\n <div\n class=\"sky-modal-content sky-padding-even-large\"\n role=\"region\"\n tabindex=\"0\"\n [attr.aria-labelledby]=\"modalHeaderId\"\n [attr.id]=\"modalContentId\"\n (skyModalScrollShadow)=\"scrollShadowChange($event)\"\n #modalContentWrapper\n >\n <ng-content select=\"sky-modal-content\"></ng-content>\n </div>\n <div\n class=\"sky-modal-footer\"\n [ngStyle]=\"{\n 'box-shadow': scrollShadow?.bottomShadow\n }\"\n >\n <ng-content select=\"sky-modal-footer\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".sky-modal{border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2;border-right:1px solid #cdcfd2;position:fixed;width:auto;left:0;right:0;top:20px;margin:10px;display:flex;flex-direction:column;overflow:hidden}.sky-modal:focus{outline:none}@media (min-width: 768px){.sky-modal:not(.sky-modal-large){margin:0 auto}.sky-modal-small{width:300px}.sky-modal-small .sky-modal-content,.sky-modal-small .sky-modal-header,.sky-modal-small .sky-modal-footer{max-width:300px}.sky-modal-medium{width:600px}.sky-modal-medium .sky-modal-content,.sky-modal-medium .sky-modal-header,.sky-modal-medium .sky-modal-footer{max-width:600px}}@media (min-width: 920px){.sky-modal-large{margin:0 auto;width:900px}.sky-modal-large .sky-modal-content,.sky-modal-large .sky-modal-header,.sky-modal-large .sky-modal-footer{max-width:900px}}.sky-modal-content{background-color:#fff}.sky-modal-content:focus{outline-style:dotted;outline-width:thin;outline-offset:-1px}.sky-modal-tiled .sky-modal-content{background-color:#eeeeef}.sky-modal-tiled .sky-modal-content ::ng-deep .sky-tile-title{font-family:BLKB Sans,Helvetica Neue,Arial,sans-serif;color:#686c73;font-weight:300;font-size:19px}.sky-modal-header{padding:9px 3px 9px 15px;background-color:#fff;display:flex;align-items:baseline;border-bottom:1px solid #e2e3e4}.sky-modal-header-buttons{flex-shrink:.0001}.sky-modal-header-buttons .sky-btn{border:none;color:#cdcfd2;cursor:pointer}.sky-modal-header-buttons .sky-btn:hover{color:#979ba2;transition:color .15s}.sky-modal-header-content{flex-grow:1}.sky-modal-header{flex-shrink:0;z-index:2}.sky-modal-content{overflow-y:auto}.sky-modal-footer{flex-shrink:0;z-index:2}.sky-modal-footer ::ng-deep sky-tabset-nav-button+sky-tabset-nav-button{margin-left:10px}.sky-modal-footer ::ng-deep sky-tabset-nav-button+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn{margin-left:10px}.sky-modal-footer ::ng-deep .sky-btn+.sky-btn-link{margin-left:-2px}.sky-modal-full-page{width:100%;top:0;margin:0}.sky-modal-full-page .sky-modal-header-buttons sky-icon[icon=close]{font-size:20px}.sky-modal-full-page .sky-modal-content{flex-grow:1}:host ::ng-deep .sky-sectioned-form{min-height:460px;margin:-15px}.sky-modal-content>::ng-deep sky-dock{bottom:-15px;margin-left:-15px;margin-bottom:-15px;padding-top:15px;width:calc(100% + 30px)}:host-context(.sky-theme-modern) .sky-modal-header{border:none;padding:20px 30px}:host-context(.sky-theme-modern) .sky-modal-btn-help,:host-context(.sky-theme-modern) .sky-modal-btn-close{display:none}:host-context(.sky-theme-modern) .sky-modal-content{padding:0}:host-context(.sky-theme-modern) .sky-modal-full-page{width:calc(100% - 60px);margin:30px}:host-context(.sky-theme-modern) .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}:host-context(.sky-theme-modern) .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}.sky-theme-modern .sky-modal-header{border:none;padding:20px 30px}.sky-theme-modern .sky-modal-btn-help,.sky-theme-modern .sky-modal-btn-close{display:none}.sky-theme-modern .sky-modal-content{padding:0}.sky-theme-modern .sky-modal-full-page{width:calc(100% - 60px);margin:30px}.sky-theme-modern .sky-modal-content>::ng-deep sky-dock{bottom:0;margin-left:initial;margin-bottom:initial;padding-top:initial;width:100%}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-header{box-shadow:none!important}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed{box-shadow:0 4px 8px -4px #0000004d}.sky-theme-modern .sky-modal-viewkeeper .sky-modal-content ::ng-deep sky-modal-content>.sky-viewkeeper-fixed>sky-toolbar .sky-toolbar-container{background-color:#fff;padding-left:30px;padding-right:30px}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal{border-color:#121212}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header{color:#fbfcfe}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-header,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-modal-content{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-modal{border-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark .sky-modal-header,.sky-theme-modern.sky-theme-mode-dark .sky-modal-content{background-color:transparent}\n"] }]
|
|
172
172
|
}], ctorParameters: function () { return [{ type: i1.SkyModalHostService }, { type: i2.SkyModalConfiguration }, { type: i0.ElementRef }, { type: i3.SkyAppWindowRef }, { type: i4.SkyModalComponentAdapterService }, { type: i3.SkyCoreAdapterService }, { type: i3.SkyDockService, decorators: [{
|
|
173
173
|
type: Host
|
|
174
174
|
}] }, { type: i3.SkyResizeObserverMediaQueryService, decorators: [{
|
|
@@ -190,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
190
190
|
type: HostListener,
|
|
191
191
|
args: ['document:keydown', ['$event']]
|
|
192
192
|
}] } });
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGVBQWUsRUFDZixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLGNBQWMsRUFDZCxrQ0FBa0MsR0FDbkMsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7QUFFakUsSUFBSSx3QkFBd0IsR0FBRyxDQUFDLENBQUM7QUFFakM7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxpQkFBaUI7SUEwRTVCLFlBQ1UsV0FBZ0MsRUFDaEMsTUFBNkIsRUFDN0IsS0FBaUIsRUFDakIsU0FBMEIsRUFDMUIsZ0JBQWlELEVBQ2pELFdBQWtDLEVBQzFCLFdBQTJCLEVBRW5DLGlCQUFzRDtRQVJ0RCxnQkFBVyxHQUFYLFdBQVcsQ0FBcUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDN0IsVUFBSyxH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LElBQW1DO1FBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0NBQW9DLENBQy9ELElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFTyxXQUFXLENBQUMsVUFBa0IsRUFBRSxJQUFZO1FBQ2xELE9BQU8sVUFBVSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDekQsQ0FBQzs7OEdBck1VLGlCQUFpQjtrR0FBakIsaUJBQWlCLG1RQUZqQixDQUFDLCtCQUErQixFQUFFLGNBQWMsQ0FBQyx3SUF5RWxCLFVBQVUsNkJDL0d0RCw2bEZBeUZBLDA4SkRwRGMsQ0FBQyxzQkFBc0IsQ0FBQzsyRkFHekIsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLFdBQVcsY0FHVCxDQUFDLHNCQUFzQixDQUFDLGFBQ3pCLENBQUMsK0JBQStCLEVBQUUsY0FBYyxDQUFDOzswQkFtRnpELElBQUk7OzBCQUNKLFFBQVE7NENBaEZBLFlBQVk7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTztnQkFTVCxRQUFRO3NCQURsQixLQUFLO2dCQVlLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBb0RFLDBCQUEwQjtzQkFEakMsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBZ0IvQyxlQUFlO3NCQURyQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCbkMsaUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0LFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEb2NrTG9jYXRpb24sXG4gIFNreURvY2tTZXJ2aWNlLFxuICBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsQ29tcG9uZW50QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWNvbXBvbmVudC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tb2RhbC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNreU1vZGFsSG9zdFNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWhvc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbFNjcm9sbFNoYWRvd0V2ZW50QXJncyB9IGZyb20gJy4vbW9kYWwtc2Nyb2xsLXNoYWRvdy1ldmVudC1hcmdzJztcbmltcG9ydCB7IHNreUFuaW1hdGlvbk1vZGFsU3RhdGUgfSBmcm9tICcuL21vZGFsLXN0YXRlLWFuaW1hdGlvbic7XG5cbmxldCBza3lNb2RhbFVuaXF1ZUlkZW50aWZpZXIgPSAwO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgY29tbW9uIGxvb2stYW5kLWZlZWwgZm9yIG1vZGFsIGNvbnRlbnQgd2l0aCBvcHRpb25zIHRvIGRpc3BsYXlcbiAqIGEgY29tbW9uIG1vZGFsIGhlYWRlciwgc3BlY2lmeSBib2R5IGNvbnRlbnQsIGFuZCBkaXNwbGF5IGEgY29tbW9uIG1vZGFsIGZvb3RlclxuICogYW5kIGJ1dHRvbnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtza3lBbmltYXRpb25Nb2RhbFN0YXRlXSxcbiAgcHJvdmlkZXJzOiBbU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSwgU2t5RG9ja1NlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgZ2V0IHdyYXBwZXJDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy53cmFwcGVyQ2xhc3M7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGFyaWFSb2xlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5hcmlhUm9sZSB8fCAnZGlhbG9nJztcbiAgfVxuICBwdWJsaWMgc2V0IGFyaWFSb2xlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpZy5hcmlhUm9sZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0aWxlZEJvZHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbmZpZy50aWxlZEJvZHkgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxaSW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdFNlcnZpY2UuZ2V0TW9kYWxaSW5kZXgoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxGdWxsUGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZnVsbFBhZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzU21hbGxTaXplKCkge1xuICAgIHJldHVybiAhdGhpcy5tb2RhbEZ1bGxQYWdlICYmIHRoaXMuaXNTaXplRXF1YWwodGhpcy5jb25maWcuc2l6ZSwgJ3NtYWxsJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTWVkaXVtU2l6ZSgpIHtcbiAgICByZXR1cm4gIXRoaXMubW9kYWxGdWxsUGFnZSAmJiAhKHRoaXMuaXNTbWFsbFNpemUgfHwgdGhpcy5pc0xhcmdlU2l6ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTGFyZ2VTaXplKCkge1xuICAgIHJldHVybiAhdGhpcy5tb2RhbEZ1bGxQYWdlICYmIHRoaXMuaXNTaXplRXF1YWwodGhpcy5jb25maWcuc2l6ZSwgJ2xhcmdlJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVGlsZWRCb2R5KCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy50aWxlZEJvZHk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFEZXNjcmliZWRCeSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuYXJpYURlc2NyaWJlZEJ5IHx8IHRoaXMubW9kYWxDb250ZW50SWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFMYWJlbGxlZEJ5KCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5hcmlhTGFiZWxsZWRCeSB8fCB0aGlzLm1vZGFsSGVhZGVySWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhlbHBLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmhlbHBLZXk7XG4gIH1cblxuICBwdWJsaWMgbW9kYWxTdGF0ZSA9ICdpbic7XG5cbiAgcHVibGljIG1vZGFsQ29udGVudElkOiBzdHJpbmcgPVxuICAgICdza3ktbW9kYWwtY29udGVudC1pZC0nICsgc2t5TW9kYWxVbmlxdWVJZGVudGlmaWVyLnRvU3RyaW5nKCk7XG5cbiAgcHVibGljIG1vZGFsSGVhZGVySWQ6IHN0cmluZyA9XG4gICAgJ3NreS1tb2RhbC1oZWFkZXItaWQtJyArIHNreU1vZGFsVW5pcXVlSWRlbnRpZmllci50b1N0cmluZygpO1xuXG4gIHB1YmxpYyBzY3JvbGxTaGFkb3c6IFNreU1vZGFsU2Nyb2xsU2hhZG93RXZlbnRBcmdzO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudFdyYXBwZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSBtb2RhbENvbnRlbnRXcmFwcGVyRWxlbWVudDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGhvc3RTZXJ2aWNlOiBTa3lNb2RhbEhvc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBTa3lNb2RhbENvbmZpZ3VyYXRpb24sXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIHByaXZhdGUgY29tcG9uZW50QWRhcHRlcjogU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgQEhvc3QoKSBwcml2YXRlIGRvY2tTZXJ2aWNlOiBTa3lEb2NrU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgbWVkaWFRdWVyeVNlcnZpY2U/OiBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXl1cCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRvY3VtZW50S2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCkge1xuICAgICAgY29uc3QgdG9wTW9kYWwgPSBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsO1xuICAgICAgaWYgKHRvcE1vZGFsICYmIHRvcE1vZGFsID09PSB0aGlzLmhvc3RTZXJ2aWNlKSB7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gMjcpIHtcbiAgICAgICAgICAvLyBFc2NhcGUga2V5IHVwXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmNsb3NlQnV0dG9uQ2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Eb2N1bWVudEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCkge1xuICAgICAgY29uc3QgdG9wTW9kYWwgPSBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsO1xuICAgICAgaWYgKHRvcE1vZGFsICYmIHRvcE1vZGFsID09PSB0aGlzLmhvc3RTZXJ2aWNlKSB7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gOSkge1xuICAgICAgICAgIC8vIFRhYiBwcmVzc2VkXG4gICAgICAgICAgbGV0IGZvY3VzQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgZm9jdXNFbGVtZW50TGlzdCA9IHRoaXMuY29yZUFkYXB0ZXIuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oXG4gICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgICAgICh0aGlzLmNvbXBvbmVudEFkYXB0ZXIuaXNGb2N1c0luRmlyc3RJdGVtKFxuICAgICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgICAgZm9jdXNFbGVtZW50TGlzdFxuICAgICAgICAgICAgKSB8fFxuICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudEFkYXB0ZXIuaXNNb2RhbEZvY3VzZWQoZXZlbnQsIHRoaXMuZWxSZWYpKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZm9jdXNDaGFuZ2VkID1cbiAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRBZGFwdGVyLmZvY3VzTGFzdEVsZW1lbnQoZm9jdXNFbGVtZW50TGlzdCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICFldmVudC5zaGlmdEtleSAmJlxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRBZGFwdGVyLmlzRm9jdXNJbkxhc3RJdGVtKGV2ZW50LCBmb2N1c0VsZW1lbnRMaXN0KVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZm9jdXNDaGFuZ2VkID1cbiAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRBZGFwdGVyLmZvY3VzRmlyc3RFbGVtZW50KGZvY3VzRWxlbWVudExpc3QpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmb2N1c0NoYW5nZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNreU1vZGFsVW5pcXVlSWRlbnRpZmllcisrO1xuICAgIHRoaXMuY29tcG9uZW50QWRhcHRlci5oYW5kbGVXaW5kb3dDaGFuZ2UodGhpcy5lbFJlZik7XG5cbiAgICAvLyBBZGRpbmcgYSB0aW1lb3V0IHRvIGF2b2lkIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3IuXG4gICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDA1NjI4NDVcbiAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbXBvbmVudEFkYXB0ZXIubW9kYWxPcGVuZWQodGhpcy5lbFJlZik7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRvY2tTZXJ2aWNlLnNldERvY2tPcHRpb25zKHtcbiAgICAgIGxvY2F0aW9uOiBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbSxcbiAgICAgIHJlZmVyZW5jZUVsOiB0aGlzLm1vZGFsQ29udGVudFdyYXBwZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICB6SW5kZXg6IDUsXG4gICAgfSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmICh0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlKSB7XG4gICAgICB0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlLm9ic2VydmUodGhpcy5tb2RhbENvbnRlbnRXcmFwcGVyRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHRoaXMubWVkaWFRdWVyeVNlcnZpY2UpIHtcbiAgICAgIHRoaXMubWVkaWFRdWVyeVNlcnZpY2UudW5vYnNlcnZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhlbHBCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLmhvc3RTZXJ2aWNlLm9uT3BlbkhlbHAodGhpcy5oZWxwS2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuaG9zdFNlcnZpY2Uub25DbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIHdpbmRvd1Jlc2l6ZSgpIHtcbiAgICB0aGlzLmNvbXBvbmVudEFkYXB0ZXIuaGFuZGxlV2luZG93Q2hhbmdlKHRoaXMuZWxSZWYpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFNoYWRvd0NoYW5nZShhcmdzOiBTa3lNb2RhbFNjcm9sbFNoYWRvd0V2ZW50QXJncyk6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsU2hhZG93ID0gYXJncztcbiAgfVxuXG4gIHB1YmxpYyB2aWV3a2VlcGVyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRBZGFwdGVyLm1vZGFsQ29udGVudEhhc0RpcmVjdENoaWxkVmlld2tlZXBlcihcbiAgICAgIHRoaXMuZWxSZWZcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NpemVFcXVhbChhY3R1YWxTaXplOiBzdHJpbmcsIHNpemU6IHN0cmluZykge1xuICAgIHJldHVybiBhY3R1YWxTaXplICYmIGFjdHVhbFNpemUudG9Mb3dlckNhc2UoKSA9PT0gc2l6ZTtcbiAgfVxufVxuIiwiPCEtLVxuICBBbmltYXRpb25zIGFyZSBicm9rZW4gaW4gQ2hyb21lIHY1Mi4gQW5ndWxhciAyIFJDNSB3aWxsIGZpeCBpdC5cbiAgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTAyNDVcbi0tPlxuPCEtLTxkaXYgQG1vZGFsU3RhdGU9XCJtb2RhbFN0YXRlXCI+LS0+XG5cbjxkaXZcbiAgY2xhc3M9XCJza3ktbW9kYWwtZGlhbG9nXCJcbiAgYXJpYS1tb2RhbD1cInRydWVcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeVwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gIFthdHRyLnJvbGVdPVwiYXJpYVJvbGVcIlxuICAod2luZG93OnJlc2l6ZSk9XCJ3aW5kb3dSZXNpemUoKVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1tb2RhbCBza3ktc2hhZG93IHNreS1ib3ggc2t5LWVsZXZhdGlvbi0xNlwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1tb2RhbC1mdWxsLXBhZ2UnOiBtb2RhbEZ1bGxQYWdlLFxuICAgICAgJ3NreS1tb2RhbC1zbWFsbCc6IGlzU21hbGxTaXplLFxuICAgICAgJ3NreS1tb2RhbC1tZWRpdW0nOiBpc01lZGl1bVNpemUsXG4gICAgICAnc2t5LW1vZGFsLWxhcmdlJzogaXNMYXJnZVNpemUsXG4gICAgICAnc2t5LW1vZGFsLXRpbGVkJzogaXNUaWxlZEJvZHksXG4gICAgICAnc2t5LW1vZGFsLXZpZXdrZWVwZXInOiB2aWV3a2VlcGVyRW5hYmxlZCgpXG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgekluZGV4OiBtb2RhbFpJbmRleFxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyXCJcbiAgICAgIFtoaWRkZW5dPVwiIWhlYWRlckNvbnRlbnQgfHwgIWhlYWRlckNvbnRlbnQuY2hpbGRyZW4gfHwgaGVhZGVyQ29udGVudC5jaGlsZHJlbi5sZW5ndGggJmx0OyAxXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2JveC1zaGFkb3cnOiBzY3JvbGxTaGFkb3c/LnRvcFNoYWRvd1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1tb2RhbC1oZWFkZXItY29udGVudFwiXG4gICAgICAgIFthdHRyLmlkXT1cIm1vZGFsSGVhZGVySWRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1zZWN0aW9uLWhlYWRpbmcnOiBtb2RhbEZ1bGxQYWdlXG4gICAgICAgIH1cIlxuICAgICAgICAjaGVhZGVyQ29udGVudFxuICAgICAgPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbW9kYWwtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LW1vZGFsLWhlYWRlci1idXR0b25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cImhlbHBLZXlcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktbW9kYWwtYnRuLWhlbHBcIlxuICAgICAgICAgIG5hbWU9XCJoZWxwLWJ1dHRvblwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfbW9kYWxfb3Blbl9oZWxwJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgKGNsaWNrKT1cImhlbHBCdXR0b25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwicXVlc3Rpb24tY2lyY2xlXCI+PC9za3ktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktbW9kYWwtYnRuLWNsb3NlXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9tb2RhbF9jbG9zZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZUJ1dHRvbkNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1pY29uIGljb249XCJjbG9zZVwiPjwvc2t5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtY29udGVudCBza3ktcGFkZGluZy1ldmVuLWxhcmdlXCJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJtb2RhbEhlYWRlcklkXCJcbiAgICAgIFthdHRyLmlkXT1cIm1vZGFsQ29udGVudElkXCJcbiAgICAgIChza3lNb2RhbFNjcm9sbFNoYWRvdyk9XCJzY3JvbGxTaGFkb3dDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAjbW9kYWxDb250ZW50V3JhcHBlclxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWZvb3RlclwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICdib3gtc2hhZG93Jzogc2Nyb2xsU2hhZG93Py5ib3R0b21TaGFkb3dcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGVBQWUsRUFDZixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLGNBQWMsRUFDZCxrQ0FBa0MsR0FDbkMsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7QUFFakUsSUFBSSx3QkFBd0IsR0FBRyxDQUFDLENBQUM7QUFFakM7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxpQkFBaUI7SUEwRTVCLFlBQ1UsV0FBZ0MsRUFDaEMsTUFBNkIsRUFDN0IsS0FBaUIsRUFDakIsU0FBMEIsRUFDMUIsZ0JBQWlELEVBQ2pELFdBQWtDLEVBQzFCLFdBQTJCLEVBRW5DLGlCQUFzRDtRQVJ0RCxnQkFBVyxHQUFYLFdBQVcsQ0FBcUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDN0IsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlDO1FBQ2pELGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUMxQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFFbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQztRQXRCekQsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVsQixtQkFBYyxHQUNuQix1QkFBdUIsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV6RCxrQkFBYSxHQUNsQixzQkFBc0IsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQWlCNUQsQ0FBQztJQW5GSixJQUNXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csU0FBUyxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDN0IsQ0FBQztJQTRCTSxlQUFlLENBQUMsS0FBb0I7UUFDekMsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixJQUFJLG1CQUFtQixDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUU7WUFDMUMsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1lBQzlDLElBQUksUUFBUSxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUM3QyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssRUFBRSxFQUFFO29CQUN0QixnQkFBZ0I7b0JBQ2hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7aUJBQ3pCO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFHTSxpQkFBaUIsQ0FBQyxLQUFvQjtRQUMzQywwQkFBMEI7UUFDMUIsa0JBQWtCO1FBQ2xCLElBQUksbUJBQW1CLENBQUMsY0FBYyxHQUFHLENBQUMsRUFBRTtZQUMxQyxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7WUFDOUMsSUFBSSxRQUFRLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzdDLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7b0JBQ3JCLGNBQWM7b0JBQ2QsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO29CQUV6QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQzVELElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUN6QixDQUFDO29CQUVGLElBQ0UsS0FBSyxDQUFDLFFBQVE7d0JBQ2QsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQ3ZDLEtBQUssRUFDTCxnQkFBZ0IsQ0FDakI7NEJBQ0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQzFEO3dCQUNBLFlBQVk7NEJBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQzVEO3lCQUFNLElBQ0wsQ0FBQyxLQUFLLENBQUMsUUFBUTt3QkFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEVBQ2hFO3dCQUNBLFlBQVk7NEJBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQzdEO29CQUVELElBQUksWUFBWSxFQUFFO3dCQUNoQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztxQkFDekI7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVNLGVBQWU7UUFDcEIsd0JBQXdCLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJELHlFQUF5RTtRQUN6RSwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1lBQzlCLFFBQVEsRUFBRSxlQUFlLENBQUMsYUFBYTtZQUN2QyxXQUFXLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGFBQWE7WUFDMUQsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDLENBQUM7UUFFSCwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLGtCQUFrQixDQUFDLElBQW1DO1FBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0NBQW9DLENBQy9ELElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFTyxXQUFXLENBQUMsVUFBa0IsRUFBRSxJQUFZO1FBQ2xELE9BQU8sVUFBVSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDekQsQ0FBQzs7OEdBck1VLGlCQUFpQjtrR0FBakIsaUJBQWlCLG1RQUZqQixDQUFDLCtCQUErQixFQUFFLGNBQWMsQ0FBQyx3SUF5RWxCLFVBQVUsNkJDL0d0RCw2bEZBeUZBLGl2S0RwRGMsQ0FBQyxzQkFBc0IsQ0FBQzsyRkFHekIsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLFdBQVcsY0FHVCxDQUFDLHNCQUFzQixDQUFDLGFBQ3pCLENBQUMsK0JBQStCLEVBQUUsY0FBYyxDQUFDOzswQkFtRnpELElBQUk7OzBCQUNKLFFBQVE7NENBaEZBLFlBQVk7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTztnQkFTVCxRQUFRO3NCQURsQixLQUFLO2dCQVlLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBb0RFLDBCQUEwQjtzQkFEakMsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBZ0IvQyxlQUFlO3NCQURyQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlCbkMsaUJBQWlCO3NCQUR2QixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0LFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEb2NrTG9jYXRpb24sXG4gIFNreURvY2tTZXJ2aWNlLFxuICBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreU1vZGFsQ29tcG9uZW50QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWNvbXBvbmVudC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tb2RhbC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNreU1vZGFsSG9zdFNlcnZpY2UgfSBmcm9tICcuL21vZGFsLWhvc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTa3lNb2RhbFNjcm9sbFNoYWRvd0V2ZW50QXJncyB9IGZyb20gJy4vbW9kYWwtc2Nyb2xsLXNoYWRvdy1ldmVudC1hcmdzJztcbmltcG9ydCB7IHNreUFuaW1hdGlvbk1vZGFsU3RhdGUgfSBmcm9tICcuL21vZGFsLXN0YXRlLWFuaW1hdGlvbic7XG5cbmxldCBza3lNb2RhbFVuaXF1ZUlkZW50aWZpZXIgPSAwO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgY29tbW9uIGxvb2stYW5kLWZlZWwgZm9yIG1vZGFsIGNvbnRlbnQgd2l0aCBvcHRpb25zIHRvIGRpc3BsYXlcbiAqIGEgY29tbW9uIG1vZGFsIGhlYWRlciwgc3BlY2lmeSBib2R5IGNvbnRlbnQsIGFuZCBkaXNwbGF5IGEgY29tbW9uIG1vZGFsIGZvb3RlclxuICogYW5kIGJ1dHRvbnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtza3lBbmltYXRpb25Nb2RhbFN0YXRlXSxcbiAgcHJvdmlkZXJzOiBbU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSwgU2t5RG9ja1NlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgZ2V0IHdyYXBwZXJDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy53cmFwcGVyQ2xhc3M7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGFyaWFSb2xlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5hcmlhUm9sZSB8fCAnZGlhbG9nJztcbiAgfVxuICBwdWJsaWMgc2V0IGFyaWFSb2xlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpZy5hcmlhUm9sZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0aWxlZEJvZHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbmZpZy50aWxlZEJvZHkgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxaSW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdFNlcnZpY2UuZ2V0TW9kYWxaSW5kZXgoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbW9kYWxGdWxsUGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZnVsbFBhZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzU21hbGxTaXplKCkge1xuICAgIHJldHVybiAhdGhpcy5tb2RhbEZ1bGxQYWdlICYmIHRoaXMuaXNTaXplRXF1YWwodGhpcy5jb25maWcuc2l6ZSwgJ3NtYWxsJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTWVkaXVtU2l6ZSgpIHtcbiAgICByZXR1cm4gIXRoaXMubW9kYWxGdWxsUGFnZSAmJiAhKHRoaXMuaXNTbWFsbFNpemUgfHwgdGhpcy5pc0xhcmdlU2l6ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTGFyZ2VTaXplKCkge1xuICAgIHJldHVybiAhdGhpcy5tb2RhbEZ1bGxQYWdlICYmIHRoaXMuaXNTaXplRXF1YWwodGhpcy5jb25maWcuc2l6ZSwgJ2xhcmdlJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzVGlsZWRCb2R5KCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy50aWxlZEJvZHk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFEZXNjcmliZWRCeSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuYXJpYURlc2NyaWJlZEJ5IHx8IHRoaXMubW9kYWxDb250ZW50SWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFMYWJlbGxlZEJ5KCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5hcmlhTGFiZWxsZWRCeSB8fCB0aGlzLm1vZGFsSGVhZGVySWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhlbHBLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmhlbHBLZXk7XG4gIH1cblxuICBwdWJsaWMgbW9kYWxTdGF0ZSA9ICdpbic7XG5cbiAgcHVibGljIG1vZGFsQ29udGVudElkOiBzdHJpbmcgPVxuICAgICdza3ktbW9kYWwtY29udGVudC1pZC0nICsgc2t5TW9kYWxVbmlxdWVJZGVudGlmaWVyLnRvU3RyaW5nKCk7XG5cbiAgcHVibGljIG1vZGFsSGVhZGVySWQ6IHN0cmluZyA9XG4gICAgJ3NreS1tb2RhbC1oZWFkZXItaWQtJyArIHNreU1vZGFsVW5pcXVlSWRlbnRpZmllci50b1N0cmluZygpO1xuXG4gIHB1YmxpYyBzY3JvbGxTaGFkb3c6IFNreU1vZGFsU2Nyb2xsU2hhZG93RXZlbnRBcmdzO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudFdyYXBwZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSBtb2RhbENvbnRlbnRXcmFwcGVyRWxlbWVudDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGhvc3RTZXJ2aWNlOiBTa3lNb2RhbEhvc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBTa3lNb2RhbENvbmZpZ3VyYXRpb24sXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIHByaXZhdGUgY29tcG9uZW50QWRhcHRlcjogU2t5TW9kYWxDb21wb25lbnRBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgQEhvc3QoKSBwcml2YXRlIGRvY2tTZXJ2aWNlOiBTa3lEb2NrU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgbWVkaWFRdWVyeVNlcnZpY2U/OiBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXl1cCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRvY3VtZW50S2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCkge1xuICAgICAgY29uc3QgdG9wTW9kYWwgPSBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsO1xuICAgICAgaWYgKHRvcE1vZGFsICYmIHRvcE1vZGFsID09PSB0aGlzLmhvc3RTZXJ2aWNlKSB7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gMjcpIHtcbiAgICAgICAgICAvLyBFc2NhcGUga2V5IHVwXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmNsb3NlQnV0dG9uQ2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Eb2N1bWVudEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIGlmIChTa3lNb2RhbEhvc3RTZXJ2aWNlLm9wZW5Nb2RhbENvdW50ID4gMCkge1xuICAgICAgY29uc3QgdG9wTW9kYWwgPSBTa3lNb2RhbEhvc3RTZXJ2aWNlLnRvcE1vZGFsO1xuICAgICAgaWYgKHRvcE1vZGFsICYmIHRvcE1vZGFsID09PSB0aGlzLmhvc3RTZXJ2aWNlKSB7XG4gICAgICAgIGlmIChldmVudC53aGljaCA9PT0gOSkge1xuICAgICAgICAgIC8vIFRhYiBwcmVzc2VkXG4gICAgICAgICAgbGV0IGZvY3VzQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgZm9jdXNFbGVtZW50TGlzdCA9IHRoaXMuY29yZUFkYXB0ZXIuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oXG4gICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgICAgICh0aGlzLmNvbXBvbmVudEFkYXB0ZXIuaXNGb2N1c0luRmlyc3RJdGVtKFxuICAgICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgICAgZm9jdXNFbGVtZW50TGlzdFxuICAgICAgICAgICAgKSB8fFxuICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudEFkYXB0ZXIuaXNNb2RhbEZvY3VzZWQoZXZlbnQsIHRoaXMuZWxSZWYpKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZm9jdXNDaGFuZ2VkID1cbiAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRBZGFwdGVyLmZvY3VzTGFzdEVsZW1lbnQoZm9jdXNFbGVtZW50TGlzdCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICFldmVudC5zaGlmdEtleSAmJlxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRBZGFwdGVyLmlzRm9jdXNJbkxhc3RJdGVtKGV2ZW50LCBmb2N1c0VsZW1lbnRMaXN0KVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZm9jdXNDaGFuZ2VkID1cbiAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRBZGFwdGVyLmZvY3VzRmlyc3RFbGVtZW50KGZvY3VzRWxlbWVudExpc3QpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmb2N1c0NoYW5nZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNreU1vZGFsVW5pcXVlSWRlbnRpZmllcisrO1xuICAgIHRoaXMuY29tcG9uZW50QWRhcHRlci5oYW5kbGVXaW5kb3dDaGFuZ2UodGhpcy5lbFJlZik7XG5cbiAgICAvLyBBZGRpbmcgYSB0aW1lb3V0IHRvIGF2b2lkIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3IuXG4gICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDA1NjI4NDVcbiAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbXBvbmVudEFkYXB0ZXIubW9kYWxPcGVuZWQodGhpcy5lbFJlZik7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRvY2tTZXJ2aWNlLnNldERvY2tPcHRpb25zKHtcbiAgICAgIGxvY2F0aW9uOiBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbSxcbiAgICAgIHJlZmVyZW5jZUVsOiB0aGlzLm1vZGFsQ29udGVudFdyYXBwZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICB6SW5kZXg6IDUsXG4gICAgfSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmICh0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlKSB7XG4gICAgICB0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlLm9ic2VydmUodGhpcy5tb2RhbENvbnRlbnRXcmFwcGVyRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHRoaXMubWVkaWFRdWVyeVNlcnZpY2UpIHtcbiAgICAgIHRoaXMubWVkaWFRdWVyeVNlcnZpY2UudW5vYnNlcnZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhlbHBCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLmhvc3RTZXJ2aWNlLm9uT3BlbkhlbHAodGhpcy5oZWxwS2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuaG9zdFNlcnZpY2Uub25DbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIHdpbmRvd1Jlc2l6ZSgpIHtcbiAgICB0aGlzLmNvbXBvbmVudEFkYXB0ZXIuaGFuZGxlV2luZG93Q2hhbmdlKHRoaXMuZWxSZWYpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFNoYWRvd0NoYW5nZShhcmdzOiBTa3lNb2RhbFNjcm9sbFNoYWRvd0V2ZW50QXJncyk6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsU2hhZG93ID0gYXJncztcbiAgfVxuXG4gIHB1YmxpYyB2aWV3a2VlcGVyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRBZGFwdGVyLm1vZGFsQ29udGVudEhhc0RpcmVjdENoaWxkVmlld2tlZXBlcihcbiAgICAgIHRoaXMuZWxSZWZcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NpemVFcXVhbChhY3R1YWxTaXplOiBzdHJpbmcsIHNpemU6IHN0cmluZykge1xuICAgIHJldHVybiBhY3R1YWxTaXplICYmIGFjdHVhbFNpemUudG9Mb3dlckNhc2UoKSA9PT0gc2l6ZTtcbiAgfVxufVxuIiwiPCEtLVxuICBBbmltYXRpb25zIGFyZSBicm9rZW4gaW4gQ2hyb21lIHY1Mi4gQW5ndWxhciAyIFJDNSB3aWxsIGZpeCBpdC5cbiAgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTAyNDVcbi0tPlxuPCEtLTxkaXYgQG1vZGFsU3RhdGU9XCJtb2RhbFN0YXRlXCI+LS0+XG5cbjxkaXZcbiAgY2xhc3M9XCJza3ktbW9kYWwtZGlhbG9nXCJcbiAgYXJpYS1tb2RhbD1cInRydWVcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeVwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gIFthdHRyLnJvbGVdPVwiYXJpYVJvbGVcIlxuICAod2luZG93OnJlc2l6ZSk9XCJ3aW5kb3dSZXNpemUoKVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1tb2RhbCBza3ktc2hhZG93IHNreS1ib3ggc2t5LWVsZXZhdGlvbi0xNlwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1tb2RhbC1mdWxsLXBhZ2UnOiBtb2RhbEZ1bGxQYWdlLFxuICAgICAgJ3NreS1tb2RhbC1zbWFsbCc6IGlzU21hbGxTaXplLFxuICAgICAgJ3NreS1tb2RhbC1tZWRpdW0nOiBpc01lZGl1bVNpemUsXG4gICAgICAnc2t5LW1vZGFsLWxhcmdlJzogaXNMYXJnZVNpemUsXG4gICAgICAnc2t5LW1vZGFsLXRpbGVkJzogaXNUaWxlZEJvZHksXG4gICAgICAnc2t5LW1vZGFsLXZpZXdrZWVwZXInOiB2aWV3a2VlcGVyRW5hYmxlZCgpXG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgekluZGV4OiBtb2RhbFpJbmRleFxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtaGVhZGVyXCJcbiAgICAgIFtoaWRkZW5dPVwiIWhlYWRlckNvbnRlbnQgfHwgIWhlYWRlckNvbnRlbnQuY2hpbGRyZW4gfHwgaGVhZGVyQ29udGVudC5jaGlsZHJlbi5sZW5ndGggJmx0OyAxXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2JveC1zaGFkb3cnOiBzY3JvbGxTaGFkb3c/LnRvcFNoYWRvd1xuICAgICAgfVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1tb2RhbC1oZWFkZXItY29udGVudFwiXG4gICAgICAgIFthdHRyLmlkXT1cIm1vZGFsSGVhZGVySWRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1zZWN0aW9uLWhlYWRpbmcnOiBtb2RhbEZ1bGxQYWdlXG4gICAgICAgIH1cIlxuICAgICAgICAjaGVhZGVyQ29udGVudFxuICAgICAgPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbW9kYWwtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LW1vZGFsLWhlYWRlci1idXR0b25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cImhlbHBLZXlcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktbW9kYWwtYnRuLWhlbHBcIlxuICAgICAgICAgIG5hbWU9XCJoZWxwLWJ1dHRvblwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfbW9kYWxfb3Blbl9oZWxwJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgKGNsaWNrKT1cImhlbHBCdXR0b25DbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwicXVlc3Rpb24tY2lyY2xlXCI+PC9za3ktaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktbW9kYWwtYnRuLWNsb3NlXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9tb2RhbF9jbG9zZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZUJ1dHRvbkNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1pY29uIGljb249XCJjbG9zZVwiPjwvc2t5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktbW9kYWwtY29udGVudCBza3ktcGFkZGluZy1ldmVuLWxhcmdlXCJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJtb2RhbEhlYWRlcklkXCJcbiAgICAgIFthdHRyLmlkXT1cIm1vZGFsQ29udGVudElkXCJcbiAgICAgIChza3lNb2RhbFNjcm9sbFNoYWRvdyk9XCJzY3JvbGxTaGFkb3dDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAjbW9kYWxDb250ZW50V3JhcHBlclxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2t5LW1vZGFsLWZvb3RlclwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICdib3gtc2hhZG93Jzogc2Nyb2xsU2hhZG93Py5ib3R0b21TaGFkb3dcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1tb2RhbC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { SkyDynamicComponentService } from '@skyux/core';
|
|
3
|
+
import { SkyModalHostContext } from './modal-host-context';
|
|
3
4
|
import { SkyModalHostComponent } from './modal-host.component';
|
|
4
5
|
import { SkyModalInstance } from './modal-instance';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
@@ -14,7 +15,7 @@ export class SkyModalService {
|
|
|
14
15
|
this.dynamicComponentService = dynamicComponentService;
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
17
|
-
* @
|
|
18
|
+
* @internal
|
|
18
19
|
* Removes the modal host from the DOM.
|
|
19
20
|
*/
|
|
20
21
|
dispose() {
|
|
@@ -65,7 +66,16 @@ export class SkyModalService {
|
|
|
65
66
|
}
|
|
66
67
|
createHostComponent() {
|
|
67
68
|
if (!SkyModalService.host) {
|
|
68
|
-
SkyModalService.host = this.dynamicComponentService.createComponent(SkyModalHostComponent
|
|
69
|
+
SkyModalService.host = this.dynamicComponentService.createComponent(SkyModalHostComponent, {
|
|
70
|
+
providers: [
|
|
71
|
+
{
|
|
72
|
+
provide: SkyModalHostContext,
|
|
73
|
+
useValue: new SkyModalHostContext(() => {
|
|
74
|
+
this.dispose();
|
|
75
|
+
}),
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
});
|
|
69
79
|
}
|
|
70
80
|
}
|
|
71
81
|
}
|
|
@@ -76,8 +86,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
76
86
|
args: [{
|
|
77
87
|
// Must be 'any' so that the modal component is created in the context of its module's injector.
|
|
78
88
|
// If set to 'root', the component's dependency injections would only be derived from the root
|
|
79
|
-
// injector and may
|
|
89
|
+
// injector and may lose context if the modal was opened from within a lazy-loaded module.
|
|
80
90
|
providedIn: 'any',
|
|
81
91
|
}]
|
|
82
92
|
}], ctorParameters: function () { return [{ type: i1.SkyDynamicComponentService }]; } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvc3JjL2xpYi9tb2R1bGVzL21vZGFsL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFHcEQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGVBQWU7SUFHMUIsd0ZBQXdGO0lBQ3hGLFlBQW9CLHVCQUFvRDtRQUFwRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTZCO0lBQUcsQ0FBQztJQUU1RTs7O09BR0c7SUFDSSxPQUFPO1FBQ1osSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25FLGVBQWUsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxJQUFJLENBQ1QsU0FBYyxFQUNkLE1BQStDO1FBRS9DLE1BQU0sYUFBYSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUUsYUFBYTtTQUN4QixDQUFDLENBQUM7UUFFSCxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVyRSxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRU8sc0JBQXNCLENBQzVCLGlCQUFzQjtRQUV0QixNQUFNLGFBQWEsR0FBbUM7WUFDcEQsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztRQUNGLElBQUksTUFBTSxHQUFtQyxTQUFTLENBQUM7UUFDdkQsSUFBSSxNQUFNLEdBQVEsU0FBUyxDQUFDO1FBRTVCLHFEQUFxRDtRQUNyRCxNQUFNLEdBQUc7WUFDUCxZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFO2dCQUM3QyxTQUFTLEVBQUUsaUJBQWlCO2FBQzdCLENBQUM7WUFDRixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDO1NBQzVELENBQUM7UUFFRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDN0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMvQjthQUFNO1lBQ0wsTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMzQjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUU7WUFDekIsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUNqRSxxQkFBcUIsRUFDckI7Z0JBQ0UsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxtQkFBbUI7d0JBQzVCLFFBQVEsRUFBRSxJQUFJLG1CQUFtQixDQUFDLEdBQUcsRUFBRTs0QkFDckMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUNqQixDQUFDLENBQUM7cUJBQ0g7aUJBQ0Y7YUFDRixDQUNGLENBQUM7U0FDSDtJQUNILENBQUM7OzRHQXJGVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxLQUFLOzJGQUVOLGVBQWU7a0JBTjNCLFVBQVU7bUJBQUM7b0JBQ1YsZ0dBQWdHO29CQUNoRyw4RkFBOEY7b0JBQzlGLDBGQUEwRjtvQkFDMUYsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU2t5TW9kYWxIb3N0Q29udGV4dCB9IGZyb20gJy4vbW9kYWwtaG9zdC1jb250ZXh0JztcbmltcG9ydCB7IFNreU1vZGFsSG9zdENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtaG9zdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vbW9kYWwtaW5zdGFuY2UnO1xuaW1wb3J0IHsgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9tb2RhbC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEEgc2VydmljZSB0aGF0IGxhdW5jaGVzIG1vZGFscy5cbiAqIEBkeW5hbWljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgLy8gTXVzdCBiZSAnYW55JyBzbyB0aGF0IHRoZSBtb2RhbCBjb21wb25lbnQgaXMgY3JlYXRlZCBpbiB0aGUgY29udGV4dCBvZiBpdHMgbW9kdWxlJ3MgaW5qZWN0b3IuXG4gIC8vIElmIHNldCB0byAncm9vdCcsIHRoZSBjb21wb25lbnQncyBkZXBlbmRlbmN5IGluamVjdGlvbnMgd291bGQgb25seSBiZSBkZXJpdmVkIGZyb20gdGhlIHJvb3RcbiAgLy8gaW5qZWN0b3IgYW5kIG1heSBsb3NlIGNvbnRleHQgaWYgdGhlIG1vZGFsIHdhcyBvcGVuZWQgZnJvbSB3aXRoaW4gYSBsYXp5LWxvYWRlZCBtb2R1bGUuXG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbFNlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRpYyBob3N0OiBDb21wb25lbnRSZWY8U2t5TW9kYWxIb3N0Q29tcG9uZW50PjtcblxuICAvLyBUT0RPOiBJbiBmdXR1cmUgYnJlYWtpbmcgY2hhbmdlIC0gcmVtb3ZlIGV4dHJhIHBhcmFtZXRlcnMgYXMgdGhleSBhcmUgbm8gbG9uZ2VyIHVzZWQuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZHluYW1pY0NvbXBvbmVudFNlcnZpY2U/OiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSkge31cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIFJlbW92ZXMgdGhlIG1vZGFsIGhvc3QgZnJvbSB0aGUgRE9NLlxuICAgKi9cbiAgcHVibGljIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgaWYgKFNreU1vZGFsU2VydmljZS5ob3N0KSB7XG4gICAgICB0aGlzLmR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudChTa3lNb2RhbFNlcnZpY2UuaG9zdCk7XG4gICAgICBTa3lNb2RhbFNlcnZpY2UuaG9zdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgYSBtb2RhbCB1c2luZyB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCBEZXRlcm1pbmVzIHRoZSBjb21wb25lbnQgdG8gcmVuZGVyLlxuICAgKiBAcGFyYW0ge1NreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZX0gY29uZmlnIFNwZWNpZmllcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBtb2RhbC5cbiAgICovXG4gIHB1YmxpYyBvcGVuKFxuICAgIGNvbXBvbmVudDogYW55LFxuICAgIGNvbmZpZz86IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB8IGFueVtdXG4gICk6IFNreU1vZGFsSW5zdGFuY2Uge1xuICAgIGNvbnN0IG1vZGFsSW5zdGFuY2UgPSBuZXcgU2t5TW9kYWxJbnN0YW5jZSgpO1xuICAgIHRoaXMuY3JlYXRlSG9zdENvbXBvbmVudCgpO1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0Q29uZmlnRnJvbVBhcmFtZXRlcihjb25maWcpO1xuXG4gICAgcGFyYW1zLnByb3ZpZGVycy5wdXNoKHtcbiAgICAgIHByb3ZpZGU6IFNreU1vZGFsSW5zdGFuY2UsXG4gICAgICB1c2VWYWx1ZTogbW9kYWxJbnN0YW5jZSxcbiAgICB9KTtcblxuICAgIFNreU1vZGFsU2VydmljZS5ob3N0Lmluc3RhbmNlLm9wZW4obW9kYWxJbnN0YW5jZSwgY29tcG9uZW50LCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIG1vZGFsSW5zdGFuY2U7XG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZ0Zyb21QYXJhbWV0ZXIoXG4gICAgcHJvdmlkZXJzT3JDb25maWc6IGFueVxuICApOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2Uge1xuICAgIGNvbnN0IGRlZmF1bHRQYXJhbXM6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSA9IHtcbiAgICAgIHByb3ZpZGVyczogW10sXG4gICAgICBmdWxsUGFnZTogZmFsc2UsXG4gICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgIHRpbGVkQm9keTogZmFsc2UsXG4gICAgfTtcbiAgICBsZXQgcGFyYW1zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSB1bmRlZmluZWQ7XG4gICAgbGV0IG1ldGhvZDogYW55ID0gdW5kZWZpbmVkO1xuXG4gICAgLy8gT2JqZWN0IExpdGVyYWwgTG9va3VwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eS5cbiAgICBtZXRob2QgPSB7XG4gICAgICAncHJvdmlkZXJzPyc6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRQYXJhbXMsIHtcbiAgICAgICAgcHJvdmlkZXJzOiBwcm92aWRlcnNPckNvbmZpZyxcbiAgICAgIH0pLFxuICAgICAgY29uZmlnOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0UGFyYW1zLCBwcm92aWRlcnNPckNvbmZpZyksXG4gICAgfTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHByb3ZpZGVyc09yQ29uZmlnKSA9PT0gdHJ1ZSkge1xuICAgICAgcGFyYW1zID0gbWV0aG9kWydwcm92aWRlcnM/J107XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmFtcyA9IG1ldGhvZFsnY29uZmlnJ107XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSG9zdENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIVNreU1vZGFsU2VydmljZS5ob3N0KSB7XG4gICAgICBTa3lNb2RhbFNlcnZpY2UuaG9zdCA9IHRoaXMuZHluYW1pY0NvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgICBTa3lNb2RhbEhvc3RDb21wb25lbnQsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcHJvdmlkZTogU2t5TW9kYWxIb3N0Q29udGV4dCxcbiAgICAgICAgICAgICAgdXNlVmFsdWU6IG5ldyBTa3lNb2RhbEhvc3RDb250ZXh0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
|