@skyux/core 7.0.0-beta.2 → 7.0.0-beta.4
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 +378 -394
- package/esm2020/lib/modules/dock/dock.component.mjs +10 -12
- package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +11 -14
- package/esm2020/lib/modules/overlay/overlay.component.mjs +10 -12
- package/fesm2015/skyux-core.mjs +26 -33
- package/fesm2015/skyux-core.mjs.map +1 -1
- package/fesm2020/skyux-core.mjs +26 -33
- package/fesm2020/skyux-core.mjs.map +1 -1
- package/lib/modules/dock/dock.component.d.ts +2 -2
- package/lib/modules/dynamic-component/dynamic-component.service.d.ts +2 -3
- package/lib/modules/overlay/overlay.component.d.ts +3 -3
- package/package.json +2 -2
@@ -1,6 +1,6 @@
|
|
1
|
-
var _SkyDockComponent_instances, _SkyDockComponent_changeDetector, _SkyDockComponent_domAdapter, _SkyDockComponent_elementRef, _SkyDockComponent_injector, _SkyDockComponent_itemRefs, _SkyDockComponent_options,
|
1
|
+
var _SkyDockComponent_instances, _SkyDockComponent_changeDetector, _SkyDockComponent_domAdapter, _SkyDockComponent_elementRef, _SkyDockComponent_injector, _SkyDockComponent_itemRefs, _SkyDockComponent_options, _SkyDockComponent_sortItemsByStackOrder, _SkyDockComponent_getHighestStackOrder;
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component,
|
3
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Injector, ViewChild, ViewContainerRef, } from '@angular/core';
|
4
4
|
import { SkyDockDomAdapterService } from './dock-dom-adapter.service';
|
5
5
|
import { SkyDockLocation } from './dock-location';
|
6
6
|
import { sortByStackOrder } from './sort-by-stack-order';
|
@@ -10,8 +10,7 @@ import * as i1 from "./dock-dom-adapter.service";
|
|
10
10
|
* @internal
|
11
11
|
*/
|
12
12
|
export class SkyDockComponent {
|
13
|
-
|
14
|
-
constructor(changeDetector, resolver, elementRef, injector, domAdapter) {
|
13
|
+
constructor(changeDetector, elementRef, injector, domAdapter) {
|
15
14
|
_SkyDockComponent_instances.add(this);
|
16
15
|
_SkyDockComponent_changeDetector.set(this, void 0);
|
17
16
|
_SkyDockComponent_domAdapter.set(this, void 0);
|
@@ -19,9 +18,7 @@ export class SkyDockComponent {
|
|
19
18
|
_SkyDockComponent_injector.set(this, void 0);
|
20
19
|
_SkyDockComponent_itemRefs.set(this, []);
|
21
20
|
_SkyDockComponent_options.set(this, void 0);
|
22
|
-
_SkyDockComponent_resolver.set(this, void 0);
|
23
21
|
__classPrivateFieldSet(this, _SkyDockComponent_changeDetector, changeDetector, "f");
|
24
|
-
__classPrivateFieldSet(this, _SkyDockComponent_resolver, resolver, "f");
|
25
22
|
__classPrivateFieldSet(this, _SkyDockComponent_elementRef, elementRef, "f");
|
26
23
|
__classPrivateFieldSet(this, _SkyDockComponent_injector, injector, "f");
|
27
24
|
__classPrivateFieldSet(this, _SkyDockComponent_domAdapter, domAdapter, "f");
|
@@ -31,12 +28,13 @@ export class SkyDockComponent {
|
|
31
28
|
if (!this.target) {
|
32
29
|
throw Error('[SkyDockComponent] Could not insert the component because the target element could not be found.');
|
33
30
|
}
|
34
|
-
const factory = __classPrivateFieldGet(this, _SkyDockComponent_resolver, "f").resolveComponentFactory(component);
|
35
31
|
const injector = Injector.create({
|
36
32
|
providers: config.providers || [],
|
37
33
|
parent: __classPrivateFieldGet(this, _SkyDockComponent_injector, "f"),
|
38
34
|
});
|
39
|
-
const componentRef = this.target.createComponent(
|
35
|
+
const componentRef = this.target.createComponent(component, {
|
36
|
+
injector,
|
37
|
+
});
|
40
38
|
const stackOrder = config.stackOrder !== null && config.stackOrder !== undefined
|
41
39
|
? config.stackOrder
|
42
40
|
: __classPrivateFieldGet(this, _SkyDockComponent_instances, "m", _SkyDockComponent_getHighestStackOrder).call(this);
|
@@ -82,7 +80,7 @@ export class SkyDockComponent {
|
|
82
80
|
}
|
83
81
|
}
|
84
82
|
}
|
85
|
-
_SkyDockComponent_changeDetector = new WeakMap(), _SkyDockComponent_domAdapter = new WeakMap(), _SkyDockComponent_elementRef = new WeakMap(), _SkyDockComponent_injector = new WeakMap(), _SkyDockComponent_itemRefs = new WeakMap(), _SkyDockComponent_options = new WeakMap(),
|
83
|
+
_SkyDockComponent_changeDetector = new WeakMap(), _SkyDockComponent_domAdapter = new WeakMap(), _SkyDockComponent_elementRef = new WeakMap(), _SkyDockComponent_injector = new WeakMap(), _SkyDockComponent_itemRefs = new WeakMap(), _SkyDockComponent_options = new WeakMap(), _SkyDockComponent_instances = new WeakSet(), _SkyDockComponent_sortItemsByStackOrder = function _SkyDockComponent_sortItemsByStackOrder() {
|
86
84
|
if (this.target) {
|
87
85
|
__classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f").sort(sortByStackOrder);
|
88
86
|
// Reassign the correct index for each view.
|
@@ -97,16 +95,16 @@ _SkyDockComponent_changeDetector = new WeakMap(), _SkyDockComponent_domAdapter =
|
|
97
95
|
}
|
98
96
|
return __classPrivateFieldGet(this, _SkyDockComponent_itemRefs, "f")[0].stackOrder + 1;
|
99
97
|
};
|
100
|
-
SkyDockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDockComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.
|
98
|
+
SkyDockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDockComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i1.SkyDockDomAdapterService }], target: i0.ɵɵFactoryTarget.Component });
|
101
99
|
SkyDockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyDockComponent, selector: "sky-dock", providers: [SkyDockDomAdapterService], viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #target></ng-container>\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host:not(.sky-dock-unbound){position:fixed;left:0;bottom:0;right:0}:host.sky-dock-sticky{position:sticky}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
102
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDockComponent, decorators: [{
|
103
101
|
type: Component,
|
104
102
|
args: [{ selector: 'sky-dock', providers: [SkyDockDomAdapterService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container #target></ng-container>\n", styles: [":host{display:flex;flex-direction:column;width:100%}:host:not(.sky-dock-unbound){position:fixed;left:0;bottom:0;right:0}:host.sky-dock-sticky{position:sticky}\n"] }]
|
105
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.
|
103
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i1.SkyDockDomAdapterService }]; }, propDecorators: { target: [{
|
106
104
|
type: ViewChild,
|
107
105
|
args: ['target', {
|
108
106
|
read: ViewContainerRef,
|
109
107
|
static: true,
|
110
108
|
}]
|
111
109
|
}] } });
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvZG9jay9kb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9kb2NrL2RvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixRQUFRLEVBRVIsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUd0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUV6RDs7R0FFRztBQVFILE1BQU0sT0FBTyxnQkFBZ0I7SUFxQjNCLHVEQUF1RDtJQUN2RCxZQUNFLGNBQWlDLEVBQ2pDLFFBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFFBQWtCLEVBQ2xCLFVBQW9DOztRQXBCdEMsbURBQW1DO1FBRW5DLCtDQUFzQztRQUV0QywrQ0FBd0I7UUFFeEIsNkNBQW9CO1FBRXBCLHFDQUE2QyxFQUFFLEVBQUM7UUFFaEQsNENBQXFDO1FBRXJDLDZDQUFvQztRQVVsQyx1QkFBQSxJQUFJLG9DQUFtQixjQUFjLE1BQUEsQ0FBQztRQUN0Qyx1QkFBQSxJQUFJLDhCQUFhLFFBQVEsTUFBQSxDQUFDO1FBQzFCLHVCQUFBLElBQUksZ0NBQWUsVUFBVSxNQUFBLENBQUM7UUFDOUIsdUJBQUEsSUFBSSw4QkFBYSxRQUFRLE1BQUEsQ0FBQztRQUMxQix1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QUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreURvY2tEb21BZGFwdGVyU2VydmljZSB9IGZyb20gJy4vZG9jay1kb20tYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURvY2tJbnNlcnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2RvY2staW5zZXJ0LWNvbXBvbmVudC1jb25maWcnO1xuaW1wb3J0IHsgU2t5RG9ja0l0ZW1SZWZlcmVuY2UgfSBmcm9tICcuL2RvY2staXRlbS1yZWZlcmVuY2UnO1xuaW1wb3J0IHsgU2t5RG9ja0xvY2F0aW9uIH0gZnJvbSAnLi9kb2NrLWxvY2F0aW9uJztcbmltcG9ydCB7IFNreURvY2tPcHRpb25zIH0gZnJvbSAnLi9kb2NrLW9wdGlvbnMnO1xuaW1wb3J0IHsgc29ydEJ5U3RhY2tPcmRlciB9IGZyb20gJy4vc29ydC1ieS1zdGFjay1vcmRlcic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2NrLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreURvY2tEb21BZGFwdGVyU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NrQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgndGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwcml2YXRlIHRhcmdldDogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNkb21BZGFwdGVyOiBTa3lEb2NrRG9tQWRhcHRlclNlcnZpY2U7XG5cbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgI2luamVjdG9yOiBJbmplY3RvcjtcblxuICAjaXRlbVJlZnM6IFNreURvY2tJdGVtUmVmZXJlbmNlPHVua25vd24+W10gPSBbXTtcblxuICAjb3B0aW9uczogU2t5RG9ja09wdGlvbnMgfCB1bmRlZmluZWQ7XG5cbiAgI3Jlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XG5cbiAgLy8gVE9ETzogUmVwbGFjZSBkZXByZWNhdGVkIGBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJgLlxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBkb21BZGFwdGVyOiBTa3lEb2NrRG9tQWRhcHRlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNyZXNvbHZlciA9IHJlc29sdmVyO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICAgIHRoaXMuI2luamVjdG9yID0gaW5qZWN0b3I7XG4gICAgdGhpcy4jZG9tQWRhcHRlciA9IGRvbUFkYXB0ZXI7XG4gIH1cblxuICBwdWJsaWMgaW5zZXJ0Q29tcG9uZW50PFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc6IFNreURvY2tJbnNlcnRDb21wb25lbnRDb25maWcgPSB7fVxuICApOiBTa3lEb2NrSXRlbVJlZmVyZW5jZTxUPiB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgaWY6IHVudGVzdGFibGUqL1xuICAgIGlmICghdGhpcy50YXJnZXQpIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAnW1NreURvY2tDb21wb25lbnRdIENvdWxkIG5vdCBpbnNlcnQgdGhlIGNvbXBvbmVudCBiZWNhdXNlIHRoZSB0YXJnZXQgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy4jcmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IGNvbmZpZy5wcm92aWRlcnMgfHwgW10sXG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy50YXJnZXQuY3JlYXRlQ29tcG9uZW50PFQ+KFxuICAgICAgZmFjdG9yeSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGluamVjdG9yXG4gICAgKTtcbiAgICBjb25zdCBzdGFja09yZGVyID1cbiAgICAgIGNvbmZpZy5zdGFja09yZGVyICE9PSBudWxsICYmIGNvbmZpZy5zdGFja09yZGVyICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBjb25maWcuc3RhY2tPcmRlclxuICAgICAgICA6IHRoaXMuI2dldEhpZ2hlc3RTdGFja09yZGVyKCk7XG5cbiAgICB0aGlzLiNpdGVtUmVmcy5wdXNoKHtcbiAgICAgIGNvbXBvbmVudFJlZixcbiAgICAgIHN0YWNrT3JkZXIsXG4gICAgfSk7XG5cbiAgICB0aGlzLiNzb3J0SXRlbXNCeVN0YWNrT3JkZXIoKTtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudFJlZixcbiAgICAgIHN0YWNrT3JkZXIsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJdGVtKGl0ZW06IFNreURvY2tJdGVtUmVmZXJlbmNlPGFueT4pOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBpZjogdW50ZXN0YWJsZSovXG4gICAgaWYgKCF0aGlzLnRhcmdldCkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICdbU2t5RG9ja0NvbXBvbmVudF0gQ291bGQgbm90IHJlbW92ZSB0aGUgaXRlbSBiZWNhdXNlIHRoZSB0YXJnZXQgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCB2aWV3UmVmID0gaXRlbS5jb21wb25lbnRSZWYuaG9zdFZpZXc7XG4gICAgdGhpcy50YXJnZXQucmVtb3ZlKHRoaXMudGFyZ2V0LmluZGV4T2Yodmlld1JlZikpO1xuXG4gICAgY29uc3QgZm91bmQgPSB0aGlzLiNpdGVtUmVmcy5maW5kKFxuICAgICAgKGkpID0+IGkuY29tcG9uZW50UmVmLmhvc3RWaWV3ID09PSB2aWV3UmVmXG4gICAgKTtcblxuICAgIGlmIChmb3VuZCkge1xuICAgICAgdGhpcy4jaXRlbVJlZnMuc3BsaWNlKHRoaXMuI2l0ZW1SZWZzLmluZGV4T2YoZm91bmQpLCAxKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRpb25zOiBTa3lEb2NrT3B0aW9ucyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuI29wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgc3dpdGNoICh0aGlzLiNvcHRpb25zPy5sb2NhdGlvbikge1xuICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uQmVmb3JlRWxlbWVudDpcbiAgICAgICAgdGhpcy4jZG9tQWRhcHRlci51bmJpbmREb2NrKHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2t5RG9ja0xvY2F0aW9uLkVsZW1lbnRCb3R0b206XG4gICAgICAgIHRoaXMuI2RvbUFkYXB0ZXIuc2V0U3RpY2t5KHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2t5RG9ja0xvY2F0aW9uLkJvZHlCb3R0b206XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLiNkb21BZGFwdGVyLndhdGNoRG9tQ2hhbmdlcyh0aGlzLiNlbGVtZW50UmVmKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI29wdGlvbnM/LnpJbmRleCkge1xuICAgICAgdGhpcy4jZG9tQWRhcHRlci5zZXRaSW5kZXgodGhpcy4jb3B0aW9ucy56SW5kZXgsIHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgIH1cbiAgfVxuXG4gICNzb3J0SXRlbXNCeVN0YWNrT3JkZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFyZ2V0KSB7XG4gICAgICB0aGlzLiNpdGVtUmVmcy5zb3J0KHNvcnRCeVN0YWNrT3JkZXIpO1xuXG4gICAgICAvLyBSZWFzc2lnbiB0aGUgY29ycmVjdCBpbmRleCBmb3IgZWFjaCB2aWV3LlxuICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHRoaXMuI2l0ZW1SZWZzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLiNpdGVtUmVmc1tpXTtcbiAgICAgICAgdGhpcy50YXJnZXQubW92ZShpdGVtLmNvbXBvbmVudFJlZi5ob3N0VmlldywgaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2dldEhpZ2hlc3RTdGFja09yZGVyKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuI2l0ZW1SZWZzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI2l0ZW1SZWZzWzBdLnN0YWNrT3JkZXIgKyAxO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICN0YXJnZXQ+PC9uZy1jb250YWluZXI+XG4iXX0=
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvZG9jay9kb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9kb2NrL2RvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFFUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRXpEOztHQUVHO0FBUUgsTUFBTSxPQUFPLGdCQUFnQjtJQW1CM0IsWUFDRSxjQUFpQyxFQUNqQyxVQUFzQixFQUN0QixRQUFrQixFQUNsQixVQUFvQzs7UUFoQnRDLG1EQUFtQztRQUVuQywrQ0FBc0M7UUFFdEMsK0NBQXdCO1FBRXhCLDZDQUFvQjtRQUVwQixxQ0FBNkMsRUFBRSxFQUFDO1FBRWhELDRDQUFxQztRQVFuQyx1QkFBQSxJQUFJLG9DQUFtQixjQUFjLE1BQUEsQ0FBQztRQUN0Qyx1QkFBQSxJQUFJLGdDQUFlLFVBQVUsTUFBQSxDQUFDO1FBQzlCLHVCQUFBLElBQUksOEJBQWEsUUFBUSxNQUFBLENBQUM7UUFDMUIsdUJBQUEsSUFBSSxnQ0FBZSxVQUFVLE1BQUEsQ0FBQztJQUNoQyxDQUFDO0lBRU0sZUFBZSxDQUNwQixTQUFrQixFQUNsQixTQUF1QyxFQUFFO1FBRXpDLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixNQUFNLEtBQUssQ0FDVCxrR0FBa0csQ0FDbkcsQ0FBQztTQUNIO1FBRUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFO1lBQ2pDLE1BQU0sRUFBRSx1QkFBQSxJQUFJLGtDQUFVO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFJLFNBQVMsRUFBRTtZQUM3RCxRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxVQUFVLEdBQ2QsTUFBTSxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxTQUFTO1lBQzNELENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVTtZQUNuQixDQUFDLENBQUMsdUJBQUEsSUFBSSwyRUFBc0IsTUFBMUIsSUFBSSxDQUF3QixDQUFDO1FBRW5DLHVCQUFBLElBQUksa0NBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbEIsWUFBWTtZQUNaLFVBQVU7U0FDWCxDQUFDLENBQUM7UUFFSCx1QkFBQSxJQUFJLDRFQUF1QixNQUEzQixJQUFJLENBQXlCLENBQUM7UUFFOUIsdUJBQUEsSUFBSSx3Q0FBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQyxPQUFPO1lBQ0wsWUFBWTtZQUNaLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUErQjtRQUMvQyxrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsTUFBTSxLQUFLLENBQ1QsNkZBQTZGLENBQzlGLENBQUM7U0FDSDtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFakQsTUFBTSxLQUFLLEdBQUcsdUJBQUEsSUFBSSxrQ0FBVSxDQUFDLElBQUksQ0FDL0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FDM0MsQ0FBQztRQUVGLElBQUksS0FBSyxFQUFFO1lBQ1QsdUJBQUEsSUFBSSxrQ0FBVSxDQUFDLE1BQU0sQ0FBQyx1QkFBQSxJQUFJLGtDQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxPQUFtQztRQUNuRCx1QkFBQSxJQUFJLDZCQUFZLE9BQU8sTUFBQSxDQUFDO1FBRXhCLFFBQVEsdUJBQUEsSUFBSSxpQ0FBUyxFQUFFLFFBQVEsRUFBRTtZQUMvQixLQUFLLGVBQWUsQ0FBQyxhQUFhO2dCQUNoQyx1QkFBQSxJQUFJLG9DQUFZLENBQUMsVUFBVSxDQUFDLHVCQUFBLElBQUksb0NBQVksQ0FBQyxDQUFDO2dCQUM5QyxNQUFNO1lBQ1IsS0FBSyxlQUFlLENBQUMsYUFBYTtnQkFDaEMsdUJBQUEsSUFBSSxvQ0FBWSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLG9DQUFZLENBQUMsQ0FBQztnQkFDN0MsTUFBTTtZQUNSLEtBQUssZUFBZSxDQUFDLFVBQVUsQ0FBQztZQUNoQztnQkFDRSx1QkFBQSxJQUFJLG9DQUFZLENBQUMsZUFBZSxDQUFDLHVCQUFBLElBQUksb0NBQVksQ0FBQyxDQUFDO2dCQUNuRCxNQUFNO1NBQ1Q7UUFFRCxJQUFJLHVCQUFBLElBQUksaUNBQVMsRUFBRSxNQUFNLEVBQUU7WUFDekIsdUJBQUEsSUFBSSxvQ0FBWSxDQUFDLFNBQVMsQ0FBQyx1QkFBQSxJQUFJLGlDQUFTLENBQUMsTUFBTSxFQUFFLHVCQUFBLElBQUksb0NBQVksQ0FBQyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQzs7O0lBR0MsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ2YsdUJBQUEsSUFBSSxrQ0FBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXRDLDRDQUE0QztRQUM1QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsdUJBQUEsSUFBSSxrQ0FBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pELE1BQU0sSUFBSSxHQUFHLHVCQUFBLElBQUksa0NBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNqRDtLQUNGO0FBQ0gsQ0FBQztJQUdDLElBQUksdUJBQUEsSUFBSSxrQ0FBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDL0IsT0FBTyxDQUFDLENBQUM7S0FDVjtJQUVELE9BQU8sdUJBQUEsSUFBSSxrQ0FBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFDMUMsQ0FBQzs2R0FqSVUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsbUNBSGhCLENBQUMsd0JBQXdCLENBQUMsdUdBSzdCLGdCQUFnQiwyQ0M5QjFCLHlDQUNBOzJGRDJCYSxnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsVUFBVSxhQUdULENBQUMsd0JBQXdCLENBQUMsbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07K0xBT3ZDLE1BQU07c0JBSmIsU0FBUzt1QkFBQyxRQUFRLEVBQUU7d0JBQ25CLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdG9yLFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lEb2NrRG9tQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2RvY2stZG9tLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEb2NrSW5zZXJ0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi9kb2NrLWluc2VydC1jb21wb25lbnQtY29uZmlnJztcbmltcG9ydCB7IFNreURvY2tJdGVtUmVmZXJlbmNlIH0gZnJvbSAnLi9kb2NrLWl0ZW0tcmVmZXJlbmNlJztcbmltcG9ydCB7IFNreURvY2tMb2NhdGlvbiB9IGZyb20gJy4vZG9jay1sb2NhdGlvbic7XG5pbXBvcnQgeyBTa3lEb2NrT3B0aW9ucyB9IGZyb20gJy4vZG9jay1vcHRpb25zJztcbmltcG9ydCB7IHNvcnRCeVN0YWNrT3JkZXIgfSBmcm9tICcuL3NvcnQtYnktc3RhY2stb3JkZXInO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZG9jaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9jay5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lEb2NrRG9tQWRhcHRlclNlcnZpY2VdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9ja0NvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJpdmF0ZSB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjZG9tQWRhcHRlcjogU2t5RG9ja0RvbUFkYXB0ZXJTZXJ2aWNlO1xuXG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgI2l0ZW1SZWZzOiBTa3lEb2NrSXRlbVJlZmVyZW5jZTx1bmtub3duPltdID0gW107XG5cbiAgI29wdGlvbnM6IFNreURvY2tPcHRpb25zIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBkb21BZGFwdGVyOiBTa3lEb2NrRG9tQWRhcHRlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNpbmplY3RvciA9IGluamVjdG9yO1xuICAgIHRoaXMuI2RvbUFkYXB0ZXIgPSBkb21BZGFwdGVyO1xuICB9XG5cbiAgcHVibGljIGluc2VydENvbXBvbmVudDxUPihcbiAgICBjb21wb25lbnQ6IFR5cGU8VD4sXG4gICAgY29uZmlnOiBTa3lEb2NrSW5zZXJ0Q29tcG9uZW50Q29uZmlnID0ge31cbiAgKTogU2t5RG9ja0l0ZW1SZWZlcmVuY2U8VD4ge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGlmOiB1bnRlc3RhYmxlKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1tTa3lEb2NrQ29tcG9uZW50XSBDb3VsZCBub3QgaW5zZXJ0IHRoZSBjb21wb25lbnQgYmVjYXVzZSB0aGUgdGFyZ2V0IGVsZW1lbnQgY291bGQgbm90IGJlIGZvdW5kLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzOiBjb25maWcucHJvdmlkZXJzIHx8IFtdLFxuICAgICAgcGFyZW50OiB0aGlzLiNpbmplY3RvcixcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudGFyZ2V0LmNyZWF0ZUNvbXBvbmVudDxUPihjb21wb25lbnQsIHtcbiAgICAgIGluamVjdG9yLFxuICAgIH0pO1xuICAgIGNvbnN0IHN0YWNrT3JkZXIgPVxuICAgICAgY29uZmlnLnN0YWNrT3JkZXIgIT09IG51bGwgJiYgY29uZmlnLnN0YWNrT3JkZXIgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IGNvbmZpZy5zdGFja09yZGVyXG4gICAgICAgIDogdGhpcy4jZ2V0SGlnaGVzdFN0YWNrT3JkZXIoKTtcblxuICAgIHRoaXMuI2l0ZW1SZWZzLnB1c2goe1xuICAgICAgY29tcG9uZW50UmVmLFxuICAgICAgc3RhY2tPcmRlcixcbiAgICB9KTtcblxuICAgIHRoaXMuI3NvcnRJdGVtc0J5U3RhY2tPcmRlcigpO1xuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29tcG9uZW50UmVmLFxuICAgICAgc3RhY2tPcmRlcixcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUl0ZW0oaXRlbTogU2t5RG9ja0l0ZW1SZWZlcmVuY2U8YW55Pik6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGlmOiB1bnRlc3RhYmxlKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ1tTa3lEb2NrQ29tcG9uZW50XSBDb3VsZCBub3QgcmVtb3ZlIHRoZSBpdGVtIGJlY2F1c2UgdGhlIHRhcmdldCBlbGVtZW50IGNvdWxkIG5vdCBiZSBmb3VuZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdSZWYgPSBpdGVtLmNvbXBvbmVudFJlZi5ob3N0VmlldztcbiAgICB0aGlzLnRhcmdldC5yZW1vdmUodGhpcy50YXJnZXQuaW5kZXhPZih2aWV3UmVmKSk7XG5cbiAgICBjb25zdCBmb3VuZCA9IHRoaXMuI2l0ZW1SZWZzLmZpbmQoXG4gICAgICAoaSkgPT4gaS5jb21wb25lbnRSZWYuaG9zdFZpZXcgPT09IHZpZXdSZWZcbiAgICApO1xuXG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICB0aGlzLiNpdGVtUmVmcy5zcGxpY2UodGhpcy4jaXRlbVJlZnMuaW5kZXhPZihmb3VuZCksIDEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRPcHRpb25zKG9wdGlvbnM6IFNreURvY2tPcHRpb25zIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy4jb3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICBzd2l0Y2ggKHRoaXMuI29wdGlvbnM/LmxvY2F0aW9uKSB7XG4gICAgICBjYXNlIFNreURvY2tMb2NhdGlvbi5CZWZvcmVFbGVtZW50OlxuICAgICAgICB0aGlzLiNkb21BZGFwdGVyLnVuYmluZERvY2sodGhpcy4jZWxlbWVudFJlZik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uRWxlbWVudEJvdHRvbTpcbiAgICAgICAgdGhpcy4jZG9tQWRhcHRlci5zZXRTdGlja3kodGhpcy4jZWxlbWVudFJlZik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lEb2NrTG9jYXRpb24uQm9keUJvdHRvbTpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuI2RvbUFkYXB0ZXIud2F0Y2hEb21DaGFuZ2VzKHRoaXMuI2VsZW1lbnRSZWYpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAodGhpcy4jb3B0aW9ucz8uekluZGV4KSB7XG4gICAgICB0aGlzLiNkb21BZGFwdGVyLnNldFpJbmRleCh0aGlzLiNvcHRpb25zLnpJbmRleCwgdGhpcy4jZWxlbWVudFJlZik7XG4gICAgfVxuICB9XG5cbiAgI3NvcnRJdGVtc0J5U3RhY2tPcmRlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgIHRoaXMuI2l0ZW1SZWZzLnNvcnQoc29ydEJ5U3RhY2tPcmRlcik7XG5cbiAgICAgIC8vIFJlYXNzaWduIHRoZSBjb3JyZWN0IGluZGV4IGZvciBlYWNoIHZpZXcuXG4gICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gdGhpcy4jaXRlbVJlZnMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuI2l0ZW1SZWZzW2ldO1xuICAgICAgICB0aGlzLnRhcmdldC5tb3ZlKGl0ZW0uY29tcG9uZW50UmVmLmhvc3RWaWV3LCBpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0SGlnaGVzdFN0YWNrT3JkZXIoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy4jaXRlbVJlZnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jaXRlbVJlZnNbMF0uc3RhY2tPcmRlciArIDE7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgI3RhcmdldD48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
@@ -1,6 +1,6 @@
|
|
1
|
-
var _SkyDynamicComponentService_instances, _SkyDynamicComponentService_applicationRef,
|
1
|
+
var _SkyDynamicComponentService_instances, _SkyDynamicComponentService_applicationRef, _SkyDynamicComponentService_injector, _SkyDynamicComponentService_renderer, _SkyDynamicComponentService_windowRef, _SkyDynamicComponentService_getRootNode;
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { ApplicationRef,
|
3
|
+
import { ApplicationRef, Injectable, Injector, RendererFactory2, createComponent, } from '@angular/core';
|
4
4
|
import { SkyAppWindowRef } from '../window/window-ref';
|
5
5
|
import { SkyDynamicComponentLocation } from './dynamic-component-location';
|
6
6
|
import * as i0 from "@angular/core";
|
@@ -9,15 +9,12 @@ import * as i1 from "../window/window-ref";
|
|
9
9
|
* Angular service for creating and rendering a dynamic component.
|
10
10
|
*/
|
11
11
|
export class SkyDynamicComponentService {
|
12
|
-
|
13
|
-
constructor(componentFactoryResolver, applicationRef, injector, windowRef, rendererFactory) {
|
12
|
+
constructor(applicationRef, injector, windowRef, rendererFactory) {
|
14
13
|
_SkyDynamicComponentService_instances.add(this);
|
15
14
|
_SkyDynamicComponentService_applicationRef.set(this, void 0);
|
16
|
-
_SkyDynamicComponentService_componentFactoryResolver.set(this, void 0);
|
17
15
|
_SkyDynamicComponentService_injector.set(this, void 0);
|
18
16
|
_SkyDynamicComponentService_renderer.set(this, void 0);
|
19
17
|
_SkyDynamicComponentService_windowRef.set(this, void 0);
|
20
|
-
__classPrivateFieldSet(this, _SkyDynamicComponentService_componentFactoryResolver, componentFactoryResolver, "f");
|
21
18
|
__classPrivateFieldSet(this, _SkyDynamicComponentService_applicationRef, applicationRef, "f");
|
22
19
|
__classPrivateFieldSet(this, _SkyDynamicComponentService_injector, injector, "f");
|
23
20
|
__classPrivateFieldSet(this, _SkyDynamicComponentService_windowRef, windowRef, "f");
|
@@ -30,7 +27,6 @@ export class SkyDynamicComponentService {
|
|
30
27
|
/**
|
31
28
|
* Creates an instance of the specified component and adds it to the specified location
|
32
29
|
* on the page.
|
33
|
-
* @param options Options for creating the dynamic component.
|
34
30
|
*/
|
35
31
|
createComponent(componentType, options) {
|
36
32
|
options = options || {
|
@@ -40,9 +36,10 @@ export class SkyDynamicComponentService {
|
|
40
36
|
providers: options.providers || [],
|
41
37
|
parent: __classPrivateFieldGet(this, _SkyDynamicComponentService_injector, "f"),
|
42
38
|
});
|
43
|
-
const componentRef =
|
44
|
-
|
45
|
-
|
39
|
+
const componentRef = createComponent(componentType, {
|
40
|
+
environmentInjector: __classPrivateFieldGet(this, _SkyDynamicComponentService_applicationRef, "f").injector,
|
41
|
+
elementInjector: injector,
|
42
|
+
});
|
46
43
|
__classPrivateFieldGet(this, _SkyDynamicComponentService_applicationRef, "f").attachView(componentRef.hostView);
|
47
44
|
const el = __classPrivateFieldGet(this, _SkyDynamicComponentService_instances, "m", _SkyDynamicComponentService_getRootNode).call(this, componentRef);
|
48
45
|
const bodyEl = __classPrivateFieldGet(this, _SkyDynamicComponentService_windowRef, "f").nativeWindow.document.body;
|
@@ -83,12 +80,12 @@ export class SkyDynamicComponentService {
|
|
83
80
|
componentRef.destroy();
|
84
81
|
}
|
85
82
|
}
|
86
|
-
_SkyDynamicComponentService_applicationRef = new WeakMap(),
|
83
|
+
_SkyDynamicComponentService_applicationRef = new WeakMap(), _SkyDynamicComponentService_injector = new WeakMap(), _SkyDynamicComponentService_renderer = new WeakMap(), _SkyDynamicComponentService_windowRef = new WeakMap(), _SkyDynamicComponentService_instances = new WeakSet(), _SkyDynamicComponentService_getRootNode = function _SkyDynamicComponentService_getRootNode(componentRef) {
|
87
84
|
// Technique for retrieving the component's root node taken from here:
|
88
85
|
// https://malcoded.com/posts/angular-dynamic-components
|
89
86
|
return componentRef.hostView.rootNodes[0];
|
90
87
|
};
|
91
|
-
SkyDynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDynamicComponentService, deps: [{ token: i0.
|
88
|
+
SkyDynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDynamicComponentService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i1.SkyAppWindowRef }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
92
89
|
SkyDynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDynamicComponentService, providedIn: 'any' });
|
93
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDynamicComponentService, decorators: [{
|
94
91
|
type: Injectable,
|
@@ -98,5 +95,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
98
95
|
// injector and may loose context if the component is created within a lazy-loaded module.
|
99
96
|
providedIn: 'any',
|
100
97
|
}]
|
101
|
-
}], ctorParameters: function () { return [{ type: i0.
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
98
|
+
}], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: i1.SkyAppWindowRef }, { type: i0.RendererFactory2 }]; } });
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLGNBQWMsRUFHZCxVQUFVLEVBQ1YsUUFBUSxFQUVSLGdCQUFnQixFQUVoQixlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBRzNFOztHQUVHO0FBT0gsTUFBTSxPQUFPLDBCQUEwQjtJQVNyQyxZQUNFLGNBQThCLEVBQzlCLFFBQWtCLEVBQ2xCLFNBQTBCLEVBQzFCLGVBQWlDOztRQVpuQyw2REFBZ0M7UUFFaEMsdURBQW9CO1FBRXBCLHVEQUFxQjtRQUVyQix3REFBNEI7UUFRMUIsdUJBQUEsSUFBSSw4Q0FBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsdUJBQUEsSUFBSSx3Q0FBYSxRQUFRLE1BQUEsQ0FBQztRQUMxQix1QkFBQSxJQUFJLHlDQUFjLFNBQVMsTUFBQSxDQUFDO1FBRTVCLDRFQUE0RTtRQUM1RSw0RUFBNEU7UUFDNUUsNkVBQTZFO1FBQzdFLHNEQUFzRDtRQUN0RCx1QkFBQSxJQUFJLHdDQUFhLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFBLENBQUM7SUFDbkUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWUsQ0FDcEIsYUFBc0IsRUFDdEIsT0FBb0M7UUFFcEMsT0FBTyxHQUFHLE9BQU8sSUFBSTtZQUNuQixRQUFRLEVBQUUsMkJBQTJCLENBQUMsVUFBVTtTQUNqRCxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFO1lBQ2xDLE1BQU0sRUFBRSx1QkFBQSxJQUFJLDRDQUFVO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBSSxhQUFhLEVBQUU7WUFDckQsbUJBQW1CLEVBQUUsdUJBQUEsSUFBSSxrREFBZ0IsQ0FBQyxRQUFRO1lBQ2xELGVBQWUsRUFBRSxRQUFRO1NBQzFCLENBQUMsQ0FBQztRQUVILHVCQUFBLElBQUksa0RBQWdCLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2RCxNQUFNLEVBQUUsR0FBRyx1QkFBQSxJQUFJLHNGQUFhLE1BQWpCLElBQUksRUFBYyxZQUFZLENBQUMsQ0FBQztRQUUzQyxNQUFNLE1BQU0sR0FBRyx1QkFBQSxJQUFJLDZDQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFFMUQsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3hCLEtBQUssMkJBQTJCLENBQUMsYUFBYTtnQkFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7b0JBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQ2IsaUtBQWlLLENBQ2xLLENBQUM7aUJBQ0g7Z0JBRUQsdUJBQUEsSUFBSSw0Q0FBVSxDQUFDLFlBQVksQ0FDekIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQ2pDLEVBQUUsRUFDRixPQUFPLENBQUMsV0FBVyxDQUNwQixDQUFDO2dCQUNGLE1BQU07WUFDUixLQUFLLDJCQUEyQixDQUFDLFVBQVU7Z0JBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO29CQUN4QixNQUFNLElBQUksS0FBSyxDQUNiLDhKQUE4SixDQUMvSixDQUFDO2lCQUNIO2dCQUVELHVCQUFBLElBQUksNENBQVUsQ0FBQyxZQUFZLENBQ3pCLE9BQU8sQ0FBQyxXQUFXLEVBQ25CLEVBQUUsRUFDRixPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FDL0IsQ0FBQztnQkFDRixNQUFNO1lBQ1IsS0FBSywyQkFBMkIsQ0FBQyxhQUFhO2dCQUM1Qyx1QkFBQSxJQUFJLDRDQUFVLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3BELE1BQU07WUFDUixLQUFLLDJCQUEyQixDQUFDLE9BQU87Z0JBQ3RDLHVCQUFBLElBQUksNENBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzNELE1BQU07WUFDUjtnQkFDRSx1QkFBQSxJQUFJLDRDQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDdkMsTUFBTTtTQUNUO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWUsQ0FBSSxZQUF5QztRQUNqRSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELHVCQUFBLElBQUksa0RBQWdCLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RCxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7aVhBRWUsWUFBNkI7SUFDM0Msc0VBQXNFO0lBQ3RFLHdEQUF3RDtJQUN4RCxPQUFRLFlBQVksQ0FBQyxRQUErQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDO3VIQWhIVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixLQUFLOzJGQUVOLDBCQUEwQjtrQkFOdEMsVUFBVTttQkFBQztvQkFDViwwRkFBMEY7b0JBQzFGLDhGQUE4RjtvQkFDOUYsMEZBQTBGO29CQUMxRixVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEluamVjdGFibGUsXG4gIEluamVjdG9yLFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG4gIFR5cGUsXG4gIGNyZWF0ZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUFwcFdpbmRvd1JlZiB9IGZyb20gJy4uL3dpbmRvdy93aW5kb3ctcmVmJztcblxuaW1wb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uIH0gZnJvbSAnLi9keW5hbWljLWNvbXBvbmVudC1sb2NhdGlvbic7XG5pbXBvcnQgeyBTa3lEeW5hbWljQ29tcG9uZW50T3B0aW9ucyB9IGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQtb3B0aW9ucyc7XG5cbi8qKlxuICogQW5ndWxhciBzZXJ2aWNlIGZvciBjcmVhdGluZyBhbmQgcmVuZGVyaW5nIGEgZHluYW1pYyBjb21wb25lbnQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgLy8gTXVzdCBiZSAnYW55JyBzbyB0aGF0IHRoZSBjb21wb25lbnQgaXMgY3JlYXRlZCBpbiB0aGUgY29udGV4dCBvZiBpdHMgbW9kdWxlJ3MgaW5qZWN0b3IuXG4gIC8vIElmIHNldCB0byAncm9vdCcsIHRoZSBjb21wb25lbnQncyBkZXBlbmRlbmN5IGluamVjdGlvbnMgd291bGQgb25seSBiZSBkZXJpdmVkIGZyb20gdGhlIHJvb3RcbiAgLy8gaW5qZWN0b3IgYW5kIG1heSBsb29zZSBjb250ZXh0IGlmIHRoZSBjb21wb25lbnQgaXMgY3JlYXRlZCB3aXRoaW4gYSBsYXp5LWxvYWRlZCBtb2R1bGUuXG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSB7XG4gICNhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWY7XG5cbiAgI2luamVjdG9yOiBJbmplY3RvcjtcblxuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICAjd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICB3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZixcbiAgICByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTJcbiAgKSB7XG4gICAgdGhpcy4jYXBwbGljYXRpb25SZWYgPSBhcHBsaWNhdGlvblJlZjtcbiAgICB0aGlzLiNpbmplY3RvciA9IGluamVjdG9yO1xuICAgIHRoaXMuI3dpbmRvd1JlZiA9IHdpbmRvd1JlZjtcblxuICAgIC8vIEJhc2VkIG9uIHN1Z2dlc3Rpb25zIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTc4MjRcbiAgICAvLyBmb3IgYWNjZXNzaW5nIGFuIGluc3RhbmNlIG9mIFJlbmRlcmVyMiBpbiBhIHNlcnZpY2Ugc2luY2UgUmVuZGVyZXIyIGNhbid0XG4gICAgLy8gYmUgaW5qZWN0ZWQgaW50byBhIHNlcnZpY2UuICBQYXNzaW5nIHVuZGVmaW5lZCBmb3IgYm90aCBwYXJhbWV0ZXJzIHJlc3VsdHNcbiAgICAvLyBpbiB0aGUgZGVmYXVsdCByZW5kZXJlciB3aGljaCBpcyB3aGF0IHdlIHdhbnQgaGVyZS5cbiAgICB0aGlzLiNyZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgdGhlIHNwZWNpZmllZCBjb21wb25lbnQgYW5kIGFkZHMgaXQgdG8gdGhlIHNwZWNpZmllZCBsb2NhdGlvblxuICAgKiBvbiB0aGUgcGFnZS5cbiAgICovXG4gIHB1YmxpYyBjcmVhdGVDb21wb25lbnQ8VD4oXG4gICAgY29tcG9uZW50VHlwZTogVHlwZTxUPixcbiAgICBvcHRpb25zPzogU2t5RHluYW1pY0NvbXBvbmVudE9wdGlvbnNcbiAgKTogQ29tcG9uZW50UmVmPFQ+IHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7XG4gICAgICBsb2NhdGlvbjogU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkJvZHlCb3R0b20sXG4gICAgfTtcblxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogb3B0aW9ucy5wcm92aWRlcnMgfHwgW10sXG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50PFQ+KGNvbXBvbmVudFR5cGUsIHtcbiAgICAgIGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuI2FwcGxpY2F0aW9uUmVmLmluamVjdG9yLFxuICAgICAgZWxlbWVudEluamVjdG9yOiBpbmplY3RvcixcbiAgICB9KTtcblxuICAgIHRoaXMuI2FwcGxpY2F0aW9uUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuICAgIGNvbnN0IGVsID0gdGhpcy4jZ2V0Um9vdE5vZGUoY29tcG9uZW50UmVmKTtcblxuICAgIGNvbnN0IGJvZHlFbCA9IHRoaXMuI3dpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keTtcblxuICAgIHN3aXRjaCAob3B0aW9ucy5sb2NhdGlvbikge1xuICAgICAgY2FzZSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uQmVmb3JlRWxlbWVudDpcbiAgICAgICAgaWYgKCFvcHRpb25zLnJlZmVyZW5jZUVsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ1tTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZV0gQ291bGQgbm90IGNyZWF0ZSBhIGNvbXBvbmVudCBhdCBsb2NhdGlvbiBgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkJlZm9yZUVsZW1lbnRgIGJlY2F1c2UgYSByZWZlcmVuY2UgZWxlbWVudCB3YXMgbm90IHByb3ZpZGVkLidcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy4jcmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgICAgIG9wdGlvbnMucmVmZXJlbmNlRWwucGFyZW50RWxlbWVudCxcbiAgICAgICAgICBlbCxcbiAgICAgICAgICBvcHRpb25zLnJlZmVyZW5jZUVsXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uRWxlbWVudFRvcDpcbiAgICAgICAgaWYgKCFvcHRpb25zLnJlZmVyZW5jZUVsKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ1tTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZV0gQ291bGQgbm90IGNyZWF0ZSBhIGNvbXBvbmVudCBhdCBsb2NhdGlvbiBgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkVsZW1lbnRUb3BgIGJlY2F1c2UgYSByZWZlcmVuY2UgZWxlbWVudCB3YXMgbm90IHByb3ZpZGVkLidcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy4jcmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgICAgIG9wdGlvbnMucmVmZXJlbmNlRWwsXG4gICAgICAgICAgZWwsXG4gICAgICAgICAgb3B0aW9ucy5yZWZlcmVuY2VFbC5maXJzdENoaWxkXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uRWxlbWVudEJvdHRvbTpcbiAgICAgICAgdGhpcy4jcmVuZGVyZXIuYXBwZW5kQ2hpbGQob3B0aW9ucy5yZWZlcmVuY2VFbCwgZWwpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU2t5RHluYW1pY0NvbXBvbmVudExvY2F0aW9uLkJvZHlUb3A6XG4gICAgICAgIHRoaXMuI3JlbmRlcmVyLmluc2VydEJlZm9yZShib2R5RWwsIGVsLCBib2R5RWwuZmlyc3RDaGlsZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy4jcmVuZGVyZXIuYXBwZW5kQ2hpbGQoYm9keUVsLCBlbCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGNvbXBvbmVudCByZWYgZnJvbSB0aGUgcGFnZVxuICAgKiBAcGFyYW0gY29tcG9uZW50UmVmIENvbXBvbmVudCByZWYgZm9yIHRoZSBjb21wb25lbnQgYmVpbmcgcmVtb3ZlZFxuICAgKi9cbiAgcHVibGljIHJlbW92ZUNvbXBvbmVudDxUPihjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICghY29tcG9uZW50UmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy4jYXBwbGljYXRpb25SZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gIH1cblxuICAjZ2V0Um9vdE5vZGU8VD4oY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4pOiBhbnkge1xuICAgIC8vIFRlY2huaXF1ZSBmb3IgcmV0cmlldmluZyB0aGUgY29tcG9uZW50J3Mgcm9vdCBub2RlIHRha2VuIGZyb20gaGVyZTpcbiAgICAvLyBodHRwczovL21hbGNvZGVkLmNvbS9wb3N0cy9hbmd1bGFyLWR5bmFtaWMtY29tcG9uZW50c1xuICAgIHJldHVybiAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxUPikucm9vdE5vZGVzWzBdO1xuICB9XG59XG4iXX0=
|
@@ -1,6 +1,6 @@
|
|
1
|
-
var _SkyOverlayComponent_instances, _SkyOverlayComponent_backdropClick, _SkyOverlayComponent_backdropClickObs, _SkyOverlayComponent_changeDetector, _SkyOverlayComponent_closed, _SkyOverlayComponent_closedObs, _SkyOverlayComponent_context, _SkyOverlayComponent_coreAdapter, _SkyOverlayComponent_injector, _SkyOverlayComponent_ngUnsubscribe,
|
1
|
+
var _SkyOverlayComponent_instances, _SkyOverlayComponent_backdropClick, _SkyOverlayComponent_backdropClickObs, _SkyOverlayComponent_changeDetector, _SkyOverlayComponent_closed, _SkyOverlayComponent_closedObs, _SkyOverlayComponent_context, _SkyOverlayComponent_coreAdapter, _SkyOverlayComponent_injector, _SkyOverlayComponent_ngUnsubscribe, _SkyOverlayComponent_router, _SkyOverlayComponent_routerSubscription, _SkyOverlayComponent_applyConfig, _SkyOverlayComponent_addBackdropClickListener, _SkyOverlayComponent_addRouteListener, _SkyOverlayComponent_removeRouteListener;
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component,
|
3
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Injector, Optional, ViewChild, ViewContainerRef, } from '@angular/core';
|
4
4
|
import { NavigationStart, Router } from '@angular/router';
|
5
5
|
import { Subject, fromEvent } from 'rxjs';
|
6
6
|
import { takeUntil } from 'rxjs/operators';
|
@@ -31,8 +31,7 @@ let uniqueZIndex = 5000;
|
|
31
31
|
* @internal
|
32
32
|
*/
|
33
33
|
export class SkyOverlayComponent {
|
34
|
-
|
35
|
-
constructor(changeDetector, resolver, injector, coreAdapter, context, idSvc, router) {
|
34
|
+
constructor(changeDetector, injector, coreAdapter, context, idSvc, router) {
|
36
35
|
_SkyOverlayComponent_instances.add(this);
|
37
36
|
this.wrapperClass = '';
|
38
37
|
this.enablePointerEvents = false;
|
@@ -47,11 +46,9 @@ export class SkyOverlayComponent {
|
|
47
46
|
_SkyOverlayComponent_coreAdapter.set(this, void 0);
|
48
47
|
_SkyOverlayComponent_injector.set(this, void 0);
|
49
48
|
_SkyOverlayComponent_ngUnsubscribe.set(this, new Subject());
|
50
|
-
_SkyOverlayComponent_resolver.set(this, void 0);
|
51
49
|
_SkyOverlayComponent_router.set(this, void 0);
|
52
50
|
_SkyOverlayComponent_routerSubscription.set(this, void 0);
|
53
51
|
__classPrivateFieldSet(this, _SkyOverlayComponent_changeDetector, changeDetector, "f");
|
54
|
-
__classPrivateFieldSet(this, _SkyOverlayComponent_resolver, resolver, "f");
|
55
52
|
__classPrivateFieldSet(this, _SkyOverlayComponent_injector, injector, "f");
|
56
53
|
__classPrivateFieldSet(this, _SkyOverlayComponent_coreAdapter, coreAdapter, "f");
|
57
54
|
__classPrivateFieldSet(this, _SkyOverlayComponent_context, context, "f");
|
@@ -91,12 +88,13 @@ export class SkyOverlayComponent {
|
|
91
88
|
throw new Error('[SkyOverlayComponent] Could not attach the component because the target element could not be found.');
|
92
89
|
}
|
93
90
|
this.targetRef.clear();
|
94
|
-
const factory = __classPrivateFieldGet(this, _SkyOverlayComponent_resolver, "f").resolveComponentFactory(component);
|
95
91
|
const injector = Injector.create({
|
96
92
|
providers,
|
97
93
|
parent: __classPrivateFieldGet(this, _SkyOverlayComponent_injector, "f"),
|
98
94
|
});
|
99
|
-
const componentRef = this.targetRef.createComponent(
|
95
|
+
const componentRef = this.targetRef.createComponent(component, {
|
96
|
+
injector,
|
97
|
+
});
|
100
98
|
// Run an initial change detection cycle after the component has been created.
|
101
99
|
componentRef.changeDetectorRef.detectChanges();
|
102
100
|
return componentRef;
|
@@ -110,7 +108,7 @@ export class SkyOverlayComponent {
|
|
110
108
|
return this.targetRef.createEmbeddedView(templateRef, context);
|
111
109
|
}
|
112
110
|
}
|
113
|
-
_SkyOverlayComponent_backdropClick = new WeakMap(), _SkyOverlayComponent_backdropClickObs = new WeakMap(), _SkyOverlayComponent_changeDetector = new WeakMap(), _SkyOverlayComponent_closed = new WeakMap(), _SkyOverlayComponent_closedObs = new WeakMap(), _SkyOverlayComponent_context = new WeakMap(), _SkyOverlayComponent_coreAdapter = new WeakMap(), _SkyOverlayComponent_injector = new WeakMap(), _SkyOverlayComponent_ngUnsubscribe = new WeakMap(),
|
111
|
+
_SkyOverlayComponent_backdropClick = new WeakMap(), _SkyOverlayComponent_backdropClickObs = new WeakMap(), _SkyOverlayComponent_changeDetector = new WeakMap(), _SkyOverlayComponent_closed = new WeakMap(), _SkyOverlayComponent_closedObs = new WeakMap(), _SkyOverlayComponent_context = new WeakMap(), _SkyOverlayComponent_coreAdapter = new WeakMap(), _SkyOverlayComponent_injector = new WeakMap(), _SkyOverlayComponent_ngUnsubscribe = new WeakMap(), _SkyOverlayComponent_router = new WeakMap(), _SkyOverlayComponent_routerSubscription = new WeakMap(), _SkyOverlayComponent_instances = new WeakSet(), _SkyOverlayComponent_applyConfig = function _SkyOverlayComponent_applyConfig(config) {
|
114
112
|
this.wrapperClass = config.wrapperClass || '';
|
115
113
|
this.showBackdrop = !!config.showBackdrop;
|
116
114
|
this.enablePointerEvents = !!config.enablePointerEvents;
|
@@ -147,12 +145,12 @@ _SkyOverlayComponent_backdropClick = new WeakMap(), _SkyOverlayComponent_backdro
|
|
147
145
|
__classPrivateFieldSet(this, _SkyOverlayComponent_routerSubscription, undefined, "f");
|
148
146
|
}
|
149
147
|
};
|
150
|
-
SkyOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyOverlayComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.
|
148
|
+
SkyOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyOverlayComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.SkyCoreAdapterService }, { token: i2.SkyOverlayContext }, { token: i3.SkyIdService }, { token: i4.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
151
149
|
SkyOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyOverlayComponent, selector: "sky-overlay", host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "overlayContentRef", first: true, predicate: ["overlayContentRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "overlayRef", first: true, predicate: ["overlayRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "targetRef", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n [class]=\"wrapperClass\"\n [style.zIndex]=\"zIndex\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{position:fixed;inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
152
150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyOverlayComponent, decorators: [{
|
153
151
|
type: Component,
|
154
152
|
args: [{ selector: 'sky-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"wrapperClass\"\n [style.zIndex]=\"zIndex\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{position:fixed;inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"] }]
|
155
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.
|
153
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i1.SkyCoreAdapterService }, { type: i2.SkyOverlayContext }, { type: i3.SkyIdService }, { type: i4.Router, decorators: [{
|
156
154
|
type: Optional
|
157
155
|
}] }]; }, propDecorators: { id: [{
|
158
156
|
type: HostBinding,
|
@@ -176,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
176
174
|
static: true,
|
177
175
|
}]
|
178
176
|
}] } });
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBRXhCLFVBQVUsRUFFVixXQUFXLEVBQ1gsUUFBUSxFQUdSLFFBQVEsRUFJUixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7QUFFdEQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBRXhCOztHQUVHO0FBT0gsTUFBTSxPQUFPLG1CQUFtQjtJQThEOUIsdURBQXVEO0lBQ3ZELFlBQ0UsY0FBaUMsRUFDakMsUUFBa0MsRUFDbEMsUUFBa0IsRUFDbEIsV0FBa0MsRUFDbEMsT0FBMEIsRUFDMUIsS0FBbUIsRUFDUCxNQUFlOztR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TUFxQnRCLFVBQVUsaUhBTVYsVUFBVSw0R0FNVixnQkFBZ0IsMkNDdkYxQiwrWEFjQTsyRkR3Q2EsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTs7MEJBd0U1QyxRQUFROzRDQXhESixFQUFFO3NCQURSLFdBQVc7dUJBQUMsSUFBSTtnQkFXVCxpQkFBaUI7c0JBSnhCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUU7d0JBQzlCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTyxVQUFVO3NCQUpqQixTQUFTO3VCQUFDLFlBQVksRUFBRTt3QkFDdkIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9PLFNBQVM7c0JBSmhCLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0b3IsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU3RhdGljUHJvdmlkZXIsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lDb3JlQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi9hZGFwdGVyLXNlcnZpY2UvYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUlkU2VydmljZSB9IGZyb20gJy4uL2lkL2lkLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lPdmVybGF5Q29uZmlnIH0gZnJvbSAnLi9vdmVybGF5LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lPdmVybGF5Q29udGV4dCB9IGZyb20gJy4vb3ZlcmxheS1jb250ZXh0JztcblxuLyoqXG4gKiBPbW5pYmFyIGlzIDEwMDAuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ibGFja2JhdWQvYXV0aC1jbGllbnQvYmxvYi9tYXN0ZXIvc3JjL29tbmliYXIvb21uaWJhci50cyNMMTM5XG4gKiAtLS1cbiAqIE1vZGFscyBzdGFydCB0aGVpciB6LWluZGV4ZXMgYXQgMTA0MC4gSG93ZXZlciwgZWFjaCBtb2RhbCdzIHotaW5kZXggaXMgYSBtdWx0aXBsZSBvZiAxMCwgc28gaXRcbiAqIHdpbGwgYmUgZGlmZmljdWx0IHRvIHJlbGlhYmx5IHByZWRpY3QgYSB6LWluZGV4IHRoYXQgd2lsbCBhbHdheXMgYXBwZWFyIGFib3ZlIGFsbCBvdGhlclxuICogbGF5ZXJzLiBTdGFydGluZyB0aGUgei1pbmRleCBmb3Igb3ZlcmxheXMgYXQgYSBudW1iZXIgbXVjaCBncmVhdGVyIHRoYW4gbW9kYWxzIHdpbGwgYWNjb21tb2RhdGVcbiAqIHRoZSBtb3N0IHJlYXNvbmFibGUgb2Ygc2NlbmFyaW9zLlxuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYmxhY2tiYXVkL3NreXV4LW1vZGFscy9ibG9iL21hc3Rlci9zcmMvYXBwL3B1YmxpYy9tb2R1bGVzL21vZGFsL21vZGFsLWhvc3Quc2VydmljZS50cyNMMjJcbiAqIChOT1RFOiBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdCBtb2RhbHMgZG8gbm90IHVzZSB0aGUgb3ZlcmxheSBzZXJ2aWNlLCB3aGljaCBpcyBzb21ldGhpbmcgd2VcbiAqIHNob3VsZCBkbyBpbiB0aGUgbmVhciBmdXR1cmUgdG8gbWFrZSBzdXJlIHotaW5kZXhlcyBhcmUgcHJlZGljdGFibGUgYWNyb3NzIGFsbCBjb21wb25lbnRcbiAqIGxpYnJhcmllcy4pXG4gKi9cbmxldCB1bmlxdWVaSW5kZXggPSA1MDAwO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb3ZlcmxheS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5T3ZlcmxheUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHdyYXBwZXJDbGFzcyA9ICcnO1xuXG4gIHB1YmxpYyBnZXQgYmFja2Ryb3BDbGljaygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jYmFja2Ryb3BDbGlja09icztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2xvc2VkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNjbG9zZWRPYnM7XG4gIH1cblxuICBwdWJsaWMgZW5hYmxlUG9pbnRlckV2ZW50cyA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnaWQnKVxuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgc2hvd0JhY2tkcm9wID0gZmFsc2U7XG5cbiAgcHVibGljIHpJbmRleCA9IGAkeysrdW5pcXVlWkluZGV4fWA7XG5cbiAgQFZpZXdDaGlsZCgnb3ZlcmxheUNvbnRlbnRSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgb3ZlcmxheUNvbnRlbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnb3ZlcmxheVJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHJpdmF0ZSB0YXJnZXRSZWY6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI2JhY2tkcm9wQ2xpY2s6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2JhY2tkcm9wQ2xpY2tPYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjY2xvc2VkOiBTdWJqZWN0PHZvaWQ+O1xuXG4gICNjbG9zZWRPYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgI2NvbnRleHQ6IFNreU92ZXJsYXlDb250ZXh0O1xuXG4gICNjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuXG4gICNpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuXG4gICNyb3V0ZXI6IFJvdXRlciB8IHVuZGVmaW5lZDtcblxuICAjcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgLy8gVE9ETzogUmVwbGFjZSBkZXByZWNhdGVkIGBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJgLlxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgICBjb250ZXh0OiBTa3lPdmVybGF5Q29udGV4dCxcbiAgICBpZFN2YzogU2t5SWRTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHJvdXRlcj86IFJvdXRlclxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI3Jlc29sdmVyID0gcmVzb2x2ZXI7XG4gICAgdGhpcy4jaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICB0aGlzLiNjb3JlQWRhcHRlciA9IGNvcmVBZGFwdGVyO1xuICAgIHRoaXMuI2NvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMuI3JvdXRlciA9IHJvdXRlcjtcblxuICAgIHRoaXMuaWQgPSBpZFN2Yy5nZW5lcmF0ZUlkKCk7XG5cbiAgICB0aGlzLiNiYWNrZHJvcENsaWNrID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLiNjbG9zZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgdGhpcy4jYmFja2Ryb3BDbGlja09icyA9IHRoaXMuI2JhY2tkcm9wQ2xpY2suYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jY2xvc2VkT2JzID0gdGhpcy4jY2xvc2VkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2FwcGx5Q29uZmlnKHRoaXMuI2NvbnRleHQuY29uZmlnKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy4jYWRkQmFja2Ryb3BDbGlja0xpc3RlbmVyKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy4jY29udGV4dC5jb25maWcuY2xvc2VPbk5hdmlnYXRpb24pIHtcbiAgICAgIHRoaXMuI2FkZFJvdXRlTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlUm91dGVMaXN0ZW5lcigpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2suY29tcGxldGUoKTtcblxuICAgIHRoaXMuI2Nsb3NlZC5uZXh0KCk7XG4gICAgdGhpcy4jY2xvc2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoQ29tcG9uZW50PEM+KFxuICAgIGNvbXBvbmVudDogVHlwZTxDPixcbiAgICBwcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXVxuICApOiBDb21wb25lbnRSZWY8Qz4ge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGlmOiB1bnRlc3RhYmxlKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0UmVmKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdbU2t5T3ZlcmxheUNvbXBvbmVudF0gQ291bGQgbm90IGF0dGFjaCB0aGUgY29tcG9uZW50IGJlY2F1c2UgdGhlIHRhcmdldCBlbGVtZW50IGNvdWxkIG5vdCBiZSBmb3VuZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0UmVmLmNsZWFyKCk7XG5cbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy4jcmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy50YXJnZXRSZWYuY3JlYXRlQ29tcG9uZW50PEM+KFxuICAgICAgZmFjdG9yeSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGluamVjdG9yXG4gICAgKTtcblxuICAgIC8vIFJ1biBhbiBpbml0aWFsIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUgYWZ0ZXIgdGhlIGNvbXBvbmVudCBoYXMgYmVlbiBjcmVhdGVkLlxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICB9XG5cbiAgcHVibGljIGF0dGFjaFRlbXBsYXRlPFQ+KFxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxUPixcbiAgICBjb250ZXh0OiBUXG4gICk6IEVtYmVkZGVkVmlld1JlZjxUPiB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgaWY6IHVudGVzdGFibGUqL1xuICAgIGlmICghdGhpcy50YXJnZXRSZWYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1tTa3lPdmVybGF5Q29tcG9uZW50XSBDb3VsZCBub3QgYXR0YWNoIHRoZSB0ZW1wbGF0ZSBiZWNhdXNlIHRoZSB0YXJnZXQgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhcmdldFJlZi5jbGVhcigpO1xuXG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0UmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZVJlZiwgY29udGV4dCk7XG4gIH1cblxuICAjYXBwbHlDb25maWcoY29uZmlnOiBTa3lPdmVybGF5Q29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy53cmFwcGVyQ2xhc3MgPSBjb25maWcud3JhcHBlckNsYXNzIHx8ICcnO1xuICAgIHRoaXMuc2hvd0JhY2tkcm9wID0gISFjb25maWcuc2hvd0JhY2tkcm9wO1xuICAgIHRoaXMuZW5hYmxlUG9pbnRlckV2ZW50cyA9ICEhY29uZmlnLmVuYWJsZVBvaW50ZXJFdmVudHM7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjYWRkQmFja2Ryb3BDbGlja0xpc3RlbmVyKCk6IHZvaWQge1xuICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pih3aW5kb3cuZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ICYmIHRoaXMub3ZlcmxheUNvbnRlbnRSZWYgJiYgdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgY29uc3QgaXNDaGlsZCA9IHRoaXMub3ZlcmxheUNvbnRlbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID0gdGhpcy4jY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICghaXNDaGlsZCAmJiAhaXNBYm92ZSkge1xuICAgICAgICAgICAgdGhpcy4jYmFja2Ryb3BDbGljay5uZXh0KCk7XG4gICAgICAgICAgICBpZiAodGhpcy4jY29udGV4dC5jb25maWcuZW5hYmxlQ2xvc2UpIHtcbiAgICAgICAgICAgICAgdGhpcy4jY2xvc2VkLm5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgI2FkZFJvdXRlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuI3JvdXRlcikge1xuICAgICAgdGhpcy4jcm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy4jcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgIHRoaXMuI2Nsb3NlZC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICNyZW1vdmVSb3V0ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNyb3V0ZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuI3JvdXRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy4jcm91dGVyU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwid3JhcHBlckNsYXNzXCJcbiAgW3N0eWxlLnpJbmRleF09XCJ6SW5kZXhcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2VuYWJsZS1wb2ludGVyLWV2ZW50cy1wYXNzLXRocm91Z2gnOiBlbmFibGVQb2ludGVyRXZlbnRzLFxuICAgICdza3ktb3ZlcmxheSc6IHRydWVcbiAgfVwiXG4gICNvdmVybGF5UmVmXG4+XG4gIDxkaXYgY2xhc3M9XCJza3ktb3ZlcmxheS1jb250ZW50XCIgI292ZXJsYXlDb250ZW50UmVmPlxuICAgIDxuZy10ZW1wbGF0ZSAjdGFyZ2V0PiA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInNob3dCYWNrZHJvcFwiIGNsYXNzPVwic2t5LW92ZXJsYXktYmFja2Ryb3BcIj48L2Rpdj5cbjwvZGl2PlxuIl19
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsVUFBVSxFQUVWLFdBQVcsRUFDWCxRQUFRLEVBR1IsUUFBUSxFQUlSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQWMsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztBQUV0RDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7QUFFeEI7O0dBRUc7QUFPSCxNQUFNLE9BQU8sbUJBQW1CO0lBNEQ5QixZQUNFLGNBQWlDLEVBQ2pDLFFBQWtCLEVBQ2xCLFdBQWtDLEVBQ2xDLE9BQTBCLEVBQzFCLEtBQW1CLEVBQ1AsTUFBZTs7UUFqRXRCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBVWxCLHdCQUFt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QkFXVCxpQkFBaUI7c0JBSnhCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUU7d0JBQzlCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTyxVQUFVO3NCQUpqQixTQUFTO3VCQUFDLFlBQVksRUFBRTt3QkFDdkIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9PLFNBQVM7c0JBSmhCLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFN0YXRpY1Byb3ZpZGVyLFxuICBUZW1wbGF0ZVJlZixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vYWRhcHRlci1zZXJ2aWNlL2FkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lJZFNlcnZpY2UgfSBmcm9tICcuLi9pZC9pZC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU2t5T3ZlcmxheUNvbmZpZyB9IGZyb20gJy4vb3ZlcmxheS1jb25maWcnO1xuaW1wb3J0IHsgU2t5T3ZlcmxheUNvbnRleHQgfSBmcm9tICcuL292ZXJsYXktY29udGV4dCc7XG5cbi8qKlxuICogT21uaWJhciBpcyAxMDAwLlxuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYmxhY2tiYXVkL2F1dGgtY2xpZW50L2Jsb2IvbWFzdGVyL3NyYy9vbW5pYmFyL29tbmliYXIudHMjTDEzOVxuICogLS0tXG4gKiBNb2RhbHMgc3RhcnQgdGhlaXIgei1pbmRleGVzIGF0IDEwNDAuIEhvd2V2ZXIsIGVhY2ggbW9kYWwncyB6LWluZGV4IGlzIGEgbXVsdGlwbGUgb2YgMTAsIHNvIGl0XG4gKiB3aWxsIGJlIGRpZmZpY3VsdCB0byByZWxpYWJseSBwcmVkaWN0IGEgei1pbmRleCB0aGF0IHdpbGwgYWx3YXlzIGFwcGVhciBhYm92ZSBhbGwgb3RoZXJcbiAqIGxheWVycy4gU3RhcnRpbmcgdGhlIHotaW5kZXggZm9yIG92ZXJsYXlzIGF0IGEgbnVtYmVyIG11Y2ggZ3JlYXRlciB0aGFuIG1vZGFscyB3aWxsIGFjY29tbW9kYXRlXG4gKiB0aGUgbW9zdCByZWFzb25hYmxlIG9mIHNjZW5hcmlvcy5cbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2JsYWNrYmF1ZC9za3l1eC1tb2RhbHMvYmxvYi9tYXN0ZXIvc3JjL2FwcC9wdWJsaWMvbW9kdWxlcy9tb2RhbC9tb2RhbC1ob3N0LnNlcnZpY2UudHMjTDIyXG4gKiAoTk9URTogSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgbW9kYWxzIGRvIG5vdCB1c2UgdGhlIG92ZXJsYXkgc2VydmljZSwgd2hpY2ggaXMgc29tZXRoaW5nIHdlXG4gKiBzaG91bGQgZG8gaW4gdGhlIG5lYXIgZnV0dXJlIHRvIG1ha2Ugc3VyZSB6LWluZGV4ZXMgYXJlIHByZWRpY3RhYmxlIGFjcm9zcyBhbGwgY29tcG9uZW50XG4gKiBsaWJyYXJpZXMuKVxuICovXG5sZXQgdW5pcXVlWkluZGV4ID0gNTAwMDtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vb3ZlcmxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL292ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreU92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyB3cmFwcGVyQ2xhc3MgPSAnJztcblxuICBwdWJsaWMgZ2V0IGJhY2tkcm9wQ2xpY2soKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2JhY2tkcm9wQ2xpY2tPYnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jY2xvc2VkT2JzO1xuICB9XG5cbiAgcHVibGljIGVuYWJsZVBvaW50ZXJFdmVudHMgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgcHVibGljIHNob3dCYWNrZHJvcCA9IGZhbHNlO1xuXG4gIHB1YmxpYyB6SW5kZXggPSBgJHsrK3VuaXF1ZVpJbmRleH1gO1xuXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlDb250ZW50UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwcml2YXRlIG92ZXJsYXlDb250ZW50UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgb3ZlcmxheVJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0YXJnZXQnLCB7XG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgdGFyZ2V0UmVmOiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xuXG4gICNiYWNrZHJvcENsaWNrOiBTdWJqZWN0PHZvaWQ+O1xuXG4gICNiYWNrZHJvcENsaWNrT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgI2Nsb3NlZDogU3ViamVjdDx2b2lkPjtcblxuICAjY2xvc2VkT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNjb250ZXh0OiBTa3lPdmVybGF5Q29udGV4dDtcblxuICAjY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZTtcblxuICAjaW5qZWN0b3I6IEluamVjdG9yO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjcm91dGVyOiBSb3V0ZXIgfCB1bmRlZmluZWQ7XG5cbiAgI3JvdXRlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgICBjb250ZXh0OiBTa3lPdmVybGF5Q29udGV4dCxcbiAgICBpZFN2YzogU2t5SWRTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHJvdXRlcj86IFJvdXRlclxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2luamVjdG9yID0gaW5qZWN0b3I7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXIgPSBjb3JlQWRhcHRlcjtcbiAgICB0aGlzLiNjb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLiNyb3V0ZXIgPSByb3V0ZXI7XG5cbiAgICB0aGlzLmlkID0gaWRTdmMuZ2VuZXJhdGVJZCgpO1xuXG4gICAgdGhpcy4jYmFja2Ryb3BDbGljayA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdGhpcy4jY2xvc2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2tPYnMgPSB0aGlzLiNiYWNrZHJvcENsaWNrLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuI2Nsb3NlZE9icyA9IHRoaXMuI2Nsb3NlZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNhcHBseUNvbmZpZyh0aGlzLiNjb250ZXh0LmNvbmZpZyk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2FkZEJhY2tkcm9wQ2xpY2tMaXN0ZW5lcigpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuI2NvbnRleHQuY29uZmlnLmNsb3NlT25OYXZpZ2F0aW9uKSB7XG4gICAgICB0aGlzLiNhZGRSb3V0ZUxpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbW92ZVJvdXRlTGlzdGVuZXIoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLiNiYWNrZHJvcENsaWNrLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLiNjbG9zZWQubmV4dCgpO1xuICAgIHRoaXMuI2Nsb3NlZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGF0dGFjaENvbXBvbmVudDxDPihcbiAgICBjb21wb25lbnQ6IFR5cGU8Qz4sXG4gICAgcHJvdmlkZXJzOiBTdGF0aWNQcm92aWRlcltdID0gW11cbiAgKTogQ29tcG9uZW50UmVmPEM+IHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBpZjogdW50ZXN0YWJsZSovXG4gICAgaWYgKCF0aGlzLnRhcmdldFJlZikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnW1NreU92ZXJsYXlDb21wb25lbnRdIENvdWxkIG5vdCBhdHRhY2ggdGhlIGNvbXBvbmVudCBiZWNhdXNlIHRoZSB0YXJnZXQgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhcmdldFJlZi5jbGVhcigpO1xuXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzLFxuICAgICAgcGFyZW50OiB0aGlzLiNpbmplY3RvcixcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudGFyZ2V0UmVmLmNyZWF0ZUNvbXBvbmVudDxDPihjb21wb25lbnQsIHtcbiAgICAgIGluamVjdG9yLFxuICAgIH0pO1xuXG4gICAgLy8gUnVuIGFuIGluaXRpYWwgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSBhZnRlciB0aGUgY29tcG9uZW50IGhhcyBiZWVuIGNyZWF0ZWQuXG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoVGVtcGxhdGU8VD4oXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFQ+LFxuICAgIGNvbnRleHQ6IFRcbiAgKTogRW1iZWRkZWRWaWV3UmVmPFQ+IHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBpZjogdW50ZXN0YWJsZSovXG4gICAgaWYgKCF0aGlzLnRhcmdldFJlZikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnW1NreU92ZXJsYXlDb21wb25lbnRdIENvdWxkIG5vdCBhdHRhY2ggdGhlIHRlbXBsYXRlIGJlY2F1c2UgdGhlIHRhcmdldCBlbGVtZW50IGNvdWxkIG5vdCBiZSBmb3VuZC4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0UmVmLmNsZWFyKCk7XG5cbiAgICByZXR1cm4gdGhpcy50YXJnZXRSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlUmVmLCBjb250ZXh0KTtcbiAgfVxuXG4gICNhcHBseUNvbmZpZyhjb25maWc6IFNreU92ZXJsYXlDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLndyYXBwZXJDbGFzcyA9IGNvbmZpZy53cmFwcGVyQ2xhc3MgfHwgJyc7XG4gICAgdGhpcy5zaG93QmFja2Ryb3AgPSAhIWNvbmZpZy5zaG93QmFja2Ryb3A7XG4gICAgdGhpcy5lbmFibGVQb2ludGVyRXZlbnRzID0gISFjb25maWcuZW5hYmxlUG9pbnRlckV2ZW50cztcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNhZGRCYWNrZHJvcENsaWNrTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdy5kb2N1bWVudCwgJ2NsaWNrJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC50YXJnZXQgJiYgdGhpcy5vdmVybGF5Q29udGVudFJlZiAmJiB0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICBjb25zdCBpc0NoaWxkID0gdGhpcy5vdmVybGF5Q29udGVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKFxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IGlzQWJvdmUgPSB0aGlzLiNjb3JlQWRhcHRlci5pc1RhcmdldEFib3ZlRWxlbWVudChcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCxcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc0NoaWxkICYmICFpc0Fib3ZlKSB7XG4gICAgICAgICAgICB0aGlzLiNiYWNrZHJvcENsaWNrLm5leHQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLiNjb250ZXh0LmNvbmZpZy5lbmFibGVDbG9zZSkge1xuICAgICAgICAgICAgICB0aGlzLiNjbG9zZWQubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjYWRkUm91dGVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jcm91dGVyKSB7XG4gICAgICB0aGlzLiNyb3V0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLiNyb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgdGhpcy4jY2xvc2VkLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3JlbW92ZVJvdXRlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3JvdXRlclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4jcm91dGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLiNyb3V0ZXJTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIFtjbGFzc109XCJ3cmFwcGVyQ2xhc3NcIlxuICBbc3R5bGUuekluZGV4XT1cInpJbmRleFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnZW5hYmxlLXBvaW50ZXItZXZlbnRzLXBhc3MtdGhyb3VnaCc6IGVuYWJsZVBvaW50ZXJFdmVudHMsXG4gICAgJ3NreS1vdmVybGF5JzogdHJ1ZVxuICB9XCJcbiAgI292ZXJsYXlSZWZcbj5cbiAgPGRpdiBjbGFzcz1cInNreS1vdmVybGF5LWNvbnRlbnRcIiAjb3ZlcmxheUNvbnRlbnRSZWY+XG4gICAgPG5nLXRlbXBsYXRlICN0YXJnZXQ+IDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd0JhY2tkcm9wXCIgY2xhc3M9XCJza3ktb3ZlcmxheS1iYWNrZHJvcFwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|