@radix-ng/primitives 0.22.0 → 0.24.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/accordion/src/accordion-item.directive.d.ts +22 -13
- package/accordion/src/accordion-root.directive.d.ts +22 -3
- package/aspect-ratio/src/aspect-ratio.directive.d.ts +5 -3
- package/avatar/index.d.ts +9 -0
- package/avatar/src/avatar-fallback.directive.d.ts +9 -0
- package/avatar/src/avatar-image.directive.d.ts +12 -0
- package/collapsible/src/collapsible-content.directive.d.ts +0 -3
- package/collapsible/src/collapsible-root.directive.d.ts +11 -4
- package/compodoc/documentation.json +3848 -3623
- package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +30 -3
- package/esm2022/accordion/src/accordion-item.directive.mjs +23 -14
- package/esm2022/accordion/src/accordion-root.directive.mjs +19 -3
- package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +4 -2
- package/esm2022/avatar/index.mjs +27 -1
- package/esm2022/avatar/src/avatar-fallback.directive.mjs +10 -1
- package/esm2022/avatar/src/avatar-image.directive.mjs +13 -1
- package/esm2022/collapsible/src/collapsible-content.directive.mjs +1 -4
- package/esm2022/collapsible/src/collapsible-root.directive.mjs +17 -8
- package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +35 -4
- package/esm2022/label/src/label.directive.mjs +6 -8
- package/esm2022/popover/src/popover-anchor.directive.mjs +8 -3
- package/esm2022/popover/src/popover-content.directive.mjs +30 -15
- package/esm2022/popover/src/popover-root.directive.mjs +6 -1
- package/esm2022/popover/src/popover.utils.mjs +17 -23
- package/esm2022/popover/src/utils/cdk-event.service.mjs +153 -0
- package/esm2022/popover/src/utils/constants.mjs +2 -0
- package/esm2022/popover/src/utils/types.mjs +2 -0
- package/esm2022/progress/src/progress-indicator.directive.mjs +1 -2
- package/esm2022/progress/src/progress-root.directive.mjs +8 -3
- package/esm2022/separator/src/separator.directive.mjs +9 -2
- package/esm2022/switch/src/switch-input.directive.mjs +4 -1
- package/esm2022/switch/src/switch-root.directive.mjs +28 -3
- package/esm2022/switch/src/switch-thumb.directive.mjs +4 -1
- package/fesm2022/radix-ng-primitives-accordion.mjs +40 -15
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +3 -1
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-avatar.mjs +45 -2
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +16 -10
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +34 -3
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-label.mjs +5 -7
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +208 -39
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs +7 -3
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-separator.mjs +8 -1
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +33 -2
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/label/src/label.directive.d.ts +5 -7
- package/package.json +1 -1
- package/popover/src/popover-content.directive.d.ts +14 -6
- package/popover/src/popover-root.directive.d.ts +24 -1
- package/popover/src/utils/cdk-event.service.d.ts +29 -0
- package/popover/src/utils/constants.d.ts +1 -0
- package/popover/src/utils/types.d.ts +7 -0
- package/progress/src/progress-indicator.directive.d.ts +0 -1
- package/progress/src/progress-root.directive.d.ts +7 -2
- package/separator/src/separator.directive.d.ts +8 -1
- package/switch/src/switch-input.directive.d.ts +3 -0
- package/switch/src/switch-root.directive.d.ts +27 -2
- package/switch/src/switch-thumb.directive.d.ts +3 -0
@@ -6,35 +6,41 @@ const RdxCollapsibleRootToken = new InjectionToken('RdxCollapsibleRootToken');
|
|
6
6
|
export function injectCollapsible() {
|
7
7
|
return inject(RdxCollapsibleRootDirective);
|
8
8
|
}
|
9
|
+
/**
|
10
|
+
* @group Components
|
11
|
+
*/
|
9
12
|
export class RdxCollapsibleRootDirective {
|
10
13
|
constructor() {
|
11
14
|
/**
|
12
15
|
* Reference to RdxCollapsibleContent directive
|
13
16
|
* @private
|
14
|
-
* @ignore
|
15
17
|
*/
|
16
18
|
this.contentDirective = contentChild.required(RdxCollapsibleContentToken);
|
17
19
|
/**
|
18
20
|
* Stores collapsible state
|
19
|
-
* @private
|
20
|
-
* @ignore
|
21
21
|
*/
|
22
22
|
this._open = false;
|
23
23
|
/**
|
24
24
|
* Determines whether a directive is available for interaction.
|
25
25
|
* When true, prevents the user from interacting with the collapsible.
|
26
|
+
*
|
27
|
+
* @group Props
|
26
28
|
*/
|
27
29
|
this.disabled = false;
|
28
30
|
/**
|
29
31
|
* Emitted with new value when directive state changed.
|
30
32
|
* Event handler called when the open state of the collapsible changes.
|
33
|
+
*
|
34
|
+
* @group Emits
|
31
35
|
*/
|
32
36
|
this.onOpenChange = new EventEmitter();
|
33
37
|
}
|
34
38
|
/**
|
35
39
|
* The controlled open state of the collapsible.
|
36
40
|
* Sets the state of the directive. `true` - expanded, `false` - collapsed
|
37
|
-
*
|
41
|
+
*
|
42
|
+
* @group Props
|
43
|
+
* @defaultValue false
|
38
44
|
*/
|
39
45
|
set open(value) {
|
40
46
|
if (value !== this._open) {
|
@@ -43,6 +49,9 @@ export class RdxCollapsibleRootDirective {
|
|
43
49
|
this._open = value;
|
44
50
|
this.setPresence();
|
45
51
|
}
|
52
|
+
get open() {
|
53
|
+
return this._open;
|
54
|
+
}
|
46
55
|
/**
|
47
56
|
* Allows to change directive state
|
48
57
|
* @param {boolean | undefined} value
|
@@ -52,7 +61,7 @@ export class RdxCollapsibleRootDirective {
|
|
52
61
|
return;
|
53
62
|
}
|
54
63
|
if (value === undefined) {
|
55
|
-
this.open = !this.
|
64
|
+
this.open = !this.open;
|
56
65
|
}
|
57
66
|
else {
|
58
67
|
this.open = value;
|
@@ -63,13 +72,13 @@ export class RdxCollapsibleRootDirective {
|
|
63
72
|
* Returns directive state (open | closed)
|
64
73
|
*/
|
65
74
|
getState() {
|
66
|
-
return this.
|
75
|
+
return this.open ? 'open' : 'closed';
|
67
76
|
}
|
68
77
|
/**
|
69
78
|
* Returns current directive state
|
70
79
|
*/
|
71
80
|
isOpen() {
|
72
|
-
return this.
|
81
|
+
return this.open;
|
73
82
|
}
|
74
83
|
/**
|
75
84
|
* Controls visibility of content
|
@@ -115,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
115
124
|
}], onOpenChange: [{
|
116
125
|
type: Output
|
117
126
|
}] } });
|
118
|
-
//# sourceMappingURL=data:application/json;base64,
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtcm9vdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvbGxhcHNpYmxlL3NyYy9jb2xsYXBzaWJsZS1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRXpFLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQThCLHlCQUF5QixDQUFDLENBQUM7QUFFM0csTUFBTSxVQUFVLGlCQUFpQjtJQUM3QixPQUFPLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFJRDs7R0FFRztBQVdILE1BQU0sT0FBTywyQkFBMkI7SUFWeEM7UUFXSTs7O1dBR0c7UUFDYyxxQkFBZ0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFdEY7O1dBRUc7UUFDSyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRXRCOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQXNCMUI7Ozs7O1dBS0c7UUFDTyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0EwRHhEO0lBcEZHOzs7Ozs7T0FNRztJQUNILElBQWEsSUFBSSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBVUQ7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEtBQWU7UUFDbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVc7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDekIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFN0YsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRSxDQUFDO2FBQU0sQ0FBQztZQUNKLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFO2dCQUN6QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUVwRixJQUFJLFVBQVUsS0FBSyxTQUFTLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDdEQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQzsrR0F2R1EsMkJBQTJCO21HQUEzQiwyQkFBMkIsOFFBTnpCLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLENBQUMsd0VBV2pDLDBCQUEwQjs7NEZBTDNFLDJCQUEyQjtrQkFWdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyw2QkFBNkIsRUFBRSxDQUFDO29CQUMzRixJQUFJLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUsWUFBWTt3QkFDakMsc0JBQXNCLEVBQUUsMkJBQTJCO3FCQUN0RDtpQkFDSjs4QkFtQlksUUFBUTtzQkFBaEIsS0FBSztnQkFTTyxJQUFJO3NCQUFoQixLQUFLO2dCQW1CSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29udGVudENoaWxkLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkeENvbGxhcHNpYmxlQ29udGVudFRva2VuIH0gZnJvbSAnLi9jb2xsYXBzaWJsZS1jb250ZW50LnRva2VuJztcblxuY29uc3QgUmR4Q29sbGFwc2libGVSb290VG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmR4Q29sbGFwc2libGVSb290RGlyZWN0aXZlPignUmR4Q29sbGFwc2libGVSb290VG9rZW4nKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdENvbGxhcHNpYmxlKCk6IFJkeENvbGxhcHNpYmxlUm9vdERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIGluamVjdChSZHhDb2xsYXBzaWJsZVJvb3REaXJlY3RpdmUpO1xufVxuXG5leHBvcnQgdHlwZSBSZHhDb2xsYXBzaWJsZVN0YXRlID0gJ29wZW4nIHwgJ2Nsb3NlZCc7XG5cbi8qKlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4Q29sbGFwc2libGVSb290XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBleHBvcnRBczogJ2NvbGxhcHNpYmxlUm9vdCcsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSZHhDb2xsYXBzaWJsZVJvb3RUb2tlbiwgdXNlRXhpc3Rpbmc6IFJkeENvbGxhcHNpYmxlUm9vdERpcmVjdGl2ZSB9XSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdnZXRTdGF0ZSgpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkID8gXCJcIiA6IHVuZGVmaW5lZCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeENvbGxhcHNpYmxlUm9vdERpcmVjdGl2ZSB7XG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIFJkeENvbGxhcHNpYmxlQ29udGVudCBkaXJlY3RpdmVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGVudERpcmVjdGl2ZSA9IGNvbnRlbnRDaGlsZC5yZXF1aXJlZChSZHhDb2xsYXBzaWJsZUNvbnRlbnRUb2tlbik7XG5cbiAgICAvKipcbiAgICAgKiBTdG9yZXMgY29sbGFwc2libGUgc3RhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9vcGVuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBkaXJlY3RpdmUgaXMgYXZhaWxhYmxlIGZvciBpbnRlcmFjdGlvbi5cbiAgICAgKiBXaGVuIHRydWUsIHByZXZlbnRzIHRoZSB1c2VyIGZyb20gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgY29sbGFwc2libGUuXG4gICAgICpcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbnRyb2xsZWQgb3BlbiBzdGF0ZSBvZiB0aGUgY29sbGFwc2libGUuXG4gICAgICogU2V0cyB0aGUgc3RhdGUgb2YgdGhlIGRpcmVjdGl2ZS4gYHRydWVgIC0gZXhwYW5kZWQsIGBmYWxzZWAgLSBjb2xsYXBzZWRcbiAgICAgKlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgb3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuX29wZW4pIHtcbiAgICAgICAgICAgIHRoaXMub25PcGVuQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fb3BlbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFByZXNlbmNlKCk7XG4gICAgfVxuXG4gICAgZ2V0IG9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcGVuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2l0aCBuZXcgdmFsdWUgd2hlbiBkaXJlY3RpdmUgc3RhdGUgY2hhbmdlZC5cbiAgICAgKiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSBvcGVuIHN0YXRlIG9mIHRoZSBjb2xsYXBzaWJsZSBjaGFuZ2VzLlxuICAgICAqXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uT3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqIEFsbG93cyB0byBjaGFuZ2UgZGlyZWN0aXZlIHN0YXRlXG4gICAgICogQHBhcmFtIHtib29sZWFuIHwgdW5kZWZpbmVkfSB2YWx1ZVxuICAgICAqL1xuICAgIHNldE9wZW4odmFsdWU/OiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRQcmVzZW5jZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgZGlyZWN0aXZlIHN0YXRlIChvcGVuIHwgY2xvc2VkKVxuICAgICAqL1xuICAgIGdldFN0YXRlKCk6IFJkeENvbGxhcHNpYmxlU3RhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXJyZW50IGRpcmVjdGl2ZSBzdGF0ZVxuICAgICAqL1xuICAgIGlzT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb250cm9scyB2aXNpYmlsaXR5IG9mIGNvbnRlbnRcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBwcml2YXRlIHNldFByZXNlbmNlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udGVudERpcmVjdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb250ZW50RGlyZWN0aXZlKCkuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScsIHRoaXMuZ2V0U3RhdGUoKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudERpcmVjdGl2ZSgpLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2hpZGRlbicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXN5bmNTY2hlZHVsZXIuc2NoZWR1bGUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFuaW1hdGlvbnMgPSB0aGlzLmNvbnRlbnREaXJlY3RpdmUoKS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QW5pbWF0aW9ucygpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGFuaW1hdGlvbnMgPT09IHVuZGVmaW5lZCB8fCBhbmltYXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnREaXJlY3RpdmUoKS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdoaWRkZW4nLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
@@ -54,10 +54,20 @@ const dropdownPositions = {
|
|
54
54
|
offsetY: 0
|
55
55
|
}
|
56
56
|
};
|
57
|
+
/**
|
58
|
+
* @group Components
|
59
|
+
*/
|
57
60
|
export class RdxDropdownMenuTriggerDirective extends CdkMenuTrigger {
|
58
61
|
set rdxDropdownMenuTrigger(value) {
|
59
62
|
this.menuTemplateRef = value;
|
60
63
|
}
|
64
|
+
/**
|
65
|
+
* The preferred side of the trigger to render against when open.
|
66
|
+
* Will be reversed when collisions occur and `avoidCollisions` is enabled.
|
67
|
+
*
|
68
|
+
* @group Props
|
69
|
+
* @defaultValue 'bottom'
|
70
|
+
*/
|
61
71
|
set side(value) {
|
62
72
|
if (!Object.values(DropdownSide).includes(value)) {
|
63
73
|
throw new Error(`Unknown side: ${value}`);
|
@@ -68,6 +78,12 @@ export class RdxDropdownMenuTriggerDirective extends CdkMenuTrigger {
|
|
68
78
|
get side() {
|
69
79
|
return this._side;
|
70
80
|
}
|
81
|
+
/**
|
82
|
+
* The preferred alignment against the trigger. May change when collisions occur.
|
83
|
+
*
|
84
|
+
* @group Props
|
85
|
+
* @defaultValue 'center'
|
86
|
+
*/
|
71
87
|
set align(value) {
|
72
88
|
if (!Object.values(DropdownAlign).includes(value)) {
|
73
89
|
throw new Error(`Unknown align: ${value}`);
|
@@ -83,6 +99,11 @@ export class RdxDropdownMenuTriggerDirective extends CdkMenuTrigger {
|
|
83
99
|
get align() {
|
84
100
|
return this._align;
|
85
101
|
}
|
102
|
+
/**
|
103
|
+
* The distance in pixels from the trigger.
|
104
|
+
* @group Props
|
105
|
+
* @defaultValue 0
|
106
|
+
*/
|
86
107
|
set sideOffset(value) {
|
87
108
|
// todo need invert value for top and left
|
88
109
|
if (this.isVertical) {
|
@@ -92,6 +113,14 @@ export class RdxDropdownMenuTriggerDirective extends CdkMenuTrigger {
|
|
92
113
|
this.defaultPosition.offsetX = value;
|
93
114
|
}
|
94
115
|
}
|
116
|
+
get sideOffset() {
|
117
|
+
return this._sideOffset;
|
118
|
+
}
|
119
|
+
/**
|
120
|
+
* An offset in pixels from the "start" or "end" alignment options.
|
121
|
+
* @group Props
|
122
|
+
* @defaultValue 0
|
123
|
+
*/
|
95
124
|
set alignOffset(value) {
|
96
125
|
// todo need invert value for top and left
|
97
126
|
if (this.isVertical) {
|
@@ -101,6 +130,9 @@ export class RdxDropdownMenuTriggerDirective extends CdkMenuTrigger {
|
|
101
130
|
this.defaultPosition.offsetY = value;
|
102
131
|
}
|
103
132
|
}
|
133
|
+
get alignOffset() {
|
134
|
+
return this._alignOffset;
|
135
|
+
}
|
104
136
|
get isVertical() {
|
105
137
|
return this._side === DropdownSide.Top || this._side === DropdownSide.Bottom;
|
106
138
|
}
|
@@ -109,14 +141,13 @@ export class RdxDropdownMenuTriggerDirective extends CdkMenuTrigger {
|
|
109
141
|
}
|
110
142
|
constructor() {
|
111
143
|
super();
|
112
|
-
/**
|
113
|
-
* @ignore
|
114
|
-
*/
|
115
144
|
this.disabled = input(false, {
|
116
145
|
transform: booleanAttribute
|
117
146
|
});
|
118
147
|
this._side = DropdownSide.Bottom;
|
119
148
|
this._align = DropdownAlign.Start;
|
149
|
+
this._sideOffset = 0;
|
150
|
+
this._alignOffset = 0;
|
120
151
|
this.onOpenChange = outputFromObservable(this.opened);
|
121
152
|
// todo priority
|
122
153
|
this.menuPosition = [{ ...dropdownPositions[DropdownSide.Bottom] }];
|
@@ -176,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
176
207
|
type: Input,
|
177
208
|
args: [{ transform: numberAttribute }]
|
178
209
|
}] } });
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvZHJvcGRvd24tbWVudS9zcmMvZHJvcGRvd24tbWVudS10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRWxFLE1BQU0sQ0FBTixJQUFZLFlBS1g7QUFMRCxXQUFZLFlBQVk7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLCtCQUFlLENBQUE7SUFDZixpQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxZQUFZLEtBQVosWUFBWSxRQUt2QjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsZ0NBQWUsQ0FBQTtJQUNmLGtDQUFpQixDQUFBO0lBQ2pCLDRCQUFXLENBQUE7QUFDZixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEI7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUNwQyxLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEdBQUcsRUFBRSxRQUFRO0NBQ2hCLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUE0QztJQUMvRCxHQUFHLEVBQUU7UUFDRCxPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxDQUFDO1FBQ1YsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUNELEtBQUssRUFBRTtRQUNILE9BQU8sRUFBRSxLQUFLO1FBQ2QsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsS0FBSztRQUNmLE9BQU8sRUFBRSxDQUFDO1FBQ1YsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUNELE1BQU0sRUFBRTtRQUNKLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsQ0FBQztLQUNiO0lBQ0QsSUFBSSxFQUFFO1FBQ0YsT0FBTyxFQUFFLE9BQU87UUFDaEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsS0FBSztRQUNmLFFBQVEsRUFBRSxLQUFLO1FBQ2YsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsQ0FBQztLQUNiO0NBQ0osQ0FBQztBQXFCRixNQUFNLE9BQU8sK0JBQWdDLFNBQVEsY0FBYztJQVEvRCxJQUNJLHNCQUFzQixDQUFDLEtBQWtDO1FBQ3pELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUNJLElBQUksQ0FBQyxLQUFtQjtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUlELElBQ0ksS0FBSyxDQUFDLEtBQW9CO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN6RSxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLHdCQUF3QixDQUNuRixLQUFLLENBQ2lCLENBQUM7UUFDL0IsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUlELElBQ0ksVUFBVSxDQUFDLEtBQWE7UUFDeEIsMENBQTBDO1FBQzFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQ0ksV0FBVyxDQUFDLEtBQWE7UUFDekIsMENBQTBDO1FBQzFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQztJQUlELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNqRixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBbkZaOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1lBQ3BELFNBQVMsRUFBRSxnQkFBZ0I7U0FDOUIsQ0FBQyxDQUFDO1FBc0JLLFVBQUssR0FBaUIsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQXVCMUMsV0FBTSxHQUFrQixhQUFhLENBQUMsS0FBSyxDQUFDO1FBc0JwRCxpQkFBWSxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQVk3QyxnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBa0I7UUFDNUIsNEZBQTRGO1FBQzVGLHVFQUF1RTtRQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdELFdBQVc7WUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7Z0JBQ2pCLHdDQUF3QztnQkFDeEMsZ0VBQWdFO2dCQUNoRSxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDNUIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDOytHQXhHUSwrQkFBK0I7bUdBQS9CLCtCQUErQixrdUJBcURwQixlQUFlLHVJQVVmLGVBQWUsa1hBckV4QjtZQUNQLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUU7WUFDekUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUU7WUFDdEQsaUNBQWlDO1NBQ3BDOzs0RkFFUSwrQkFBK0I7a0JBbkIzQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2Qsc0JBQXNCLEVBQUUsUUFBUTt3QkFDaEMsc0JBQXNCLEVBQUUsVUFBVTt3QkFDbEMsbUJBQW1CLEVBQUUsNkJBQTZCO3dCQUNsRCxzQkFBc0IsRUFBRSw2QkFBNkI7d0JBQ3JELFlBQVksRUFBRSxZQUFZO3dCQUUxQixlQUFlLEVBQUUsdUJBQXVCO3FCQUMzQztvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsaUNBQWlDLEVBQUU7d0JBQ3pFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFO3dCQUN0RCxpQ0FBaUM7cUJBQ3BDO2lCQUNKO3dEQVVPLHNCQUFzQjtzQkFEekIsS0FBSztnQkFNRixJQUFJO3NCQURQLEtBQUs7Z0JBa0JGLEtBQUs7c0JBRFIsS0FBSztnQkF3QkYsVUFBVTtzQkFEYixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFXakMsV0FBVztzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDZGtNZW51VHJpZ2dlciwgTUVOVV9UUklHR0VSLCBQQVJFTlRfT1JfTkVXX01FTlVfU1RBQ0tfUFJPVklERVIgfSBmcm9tICdAYW5ndWxhci9jZGsvbWVudSc7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheVJlZiwgVmVydGljYWxDb25uZWN0aW9uUG9zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBJbnB1dCwgaW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG91dHB1dEZyb21PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5leHBvcnQgZW51bSBEcm9wZG93blNpZGUge1xuICAgIFRvcCA9ICd0b3AnLFxuICAgIFJpZ2h0ID0gJ3JpZ2h0JyxcbiAgICBCb3R0b20gPSAnYm90dG9tJyxcbiAgICBMZWZ0ID0gJ2xlZnQnXG59XG5cbmV4cG9ydCBlbnVtIERyb3Bkb3duQWxpZ24ge1xuICAgIFN0YXJ0ID0gJ3N0YXJ0JyxcbiAgICBDZW50ZXIgPSAnY2VudGVyJyxcbiAgICBFbmQgPSAnZW5kJ1xufVxuXG5leHBvcnQgY29uc3QgbWFwUmR4QWxpZ25Ub0Nka1Bvc2l0aW9uID0ge1xuICAgIHN0YXJ0OiAndG9wJyxcbiAgICBjZW50ZXI6ICdjZW50ZXInLFxuICAgIGVuZDogJ2JvdHRvbSdcbn07XG5cbmNvbnN0IGRyb3Bkb3duUG9zaXRpb25zOiBSZWNvcmQ8RHJvcGRvd25TaWRlLCBDb25uZWN0ZWRQb3NpdGlvbj4gPSB7XG4gICAgdG9wOiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICBvZmZzZXRYOiAwLFxuICAgICAgICBvZmZzZXRZOiAwXG4gICAgfSxcbiAgICByaWdodDoge1xuICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIG9mZnNldFg6IDAsXG4gICAgICAgIG9mZnNldFk6IDBcbiAgICB9LFxuICAgIGJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgb2Zmc2V0WDogMCxcbiAgICAgICAgb2Zmc2V0WTogMFxuICAgIH0sXG4gICAgbGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIG9mZnNldFg6IDAsXG4gICAgICAgIG9mZnNldFk6IDBcbiAgICB9XG59O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhEcm9wZG93bk1lbnVUcmlnZ2VyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAnW2F0dHIuYXJpYS1oYXNwb3B1cF0nOiBcIidtZW51J1wiLFxuICAgICAgICAnW2F0dHIuYXJpYS1leHBhbmRlZF0nOiAnaXNPcGVuKCknLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiBcImlzT3BlbigpID8gJ29wZW4nOiAnY2xvc2VkJ1wiLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiBcImRpc2FibGVkKCkgPyAnJyA6IHVuZGVmaW5lZFwiLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcblxuICAgICAgICAnKHBvaW50ZXJkb3duKSc6ICdvblBvaW50ZXJEb3duKCRldmVudCknXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBDZGtNZW51VHJpZ2dlciwgdXNlRXhpc3Rpbmc6IFJkeERyb3Bkb3duTWVudVRyaWdnZXJEaXJlY3RpdmUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNRU5VX1RSSUdHRVIsIHVzZUV4aXN0aW5nOiBDZGtNZW51VHJpZ2dlciB9LFxuICAgICAgICBQQVJFTlRfT1JfTkVXX01FTlVfU1RBQ0tfUFJPVklERVJcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJkeERyb3Bkb3duTWVudVRyaWdnZXJEaXJlY3RpdmUgZXh0ZW5kcyBDZGtNZW51VHJpZ2dlciB7XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgICAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGVcbiAgICB9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJkeERyb3Bkb3duTWVudVRyaWdnZXIodmFsdWU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1lbnVUZW1wbGF0ZVJlZiA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNpZGUodmFsdWU6IERyb3Bkb3duU2lkZSkge1xuICAgICAgICBpZiAoIU9iamVjdC52YWx1ZXMoRHJvcGRvd25TaWRlKS5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBzaWRlOiAke3ZhbHVlfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc2lkZSA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMubWVudVBvc2l0aW9uWzBdID0gZHJvcGRvd25Qb3NpdGlvbnNbdmFsdWVdO1xuICAgIH1cblxuICAgIGdldCBzaWRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2lkZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zaWRlOiBEcm9wZG93blNpZGUgPSBEcm9wZG93blNpZGUuQm90dG9tO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgYWxpZ24odmFsdWU6IERyb3Bkb3duQWxpZ24pIHtcbiAgICAgICAgaWYgKCFPYmplY3QudmFsdWVzKERyb3Bkb3duQWxpZ24pLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGFsaWduOiAke3ZhbHVlfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYWxpZ24gPSB2YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5pc1ZlcnRpY2FsKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRQb3NpdGlvbi5vdmVybGF5WCA9IHRoaXMuZGVmYXVsdFBvc2l0aW9uLm9yaWdpblggPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFBvc2l0aW9uLm92ZXJsYXlZID0gdGhpcy5kZWZhdWx0UG9zaXRpb24ub3JpZ2luWSA9IG1hcFJkeEFsaWduVG9DZGtQb3NpdGlvbltcbiAgICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgXSBhcyBWZXJ0aWNhbENvbm5lY3Rpb25Qb3M7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgYWxpZ24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hbGlnbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hbGlnbjogRHJvcGRvd25BbGlnbiA9IERyb3Bkb3duQWxpZ24uU3RhcnQ7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICAgIHNldCBzaWRlT2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgLy8gdG9kbyBuZWVkIGludmVydCB2YWx1ZSBmb3IgdG9wIGFuZCBsZWZ0XG4gICAgICAgIGlmICh0aGlzLmlzVmVydGljYWwpIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFBvc2l0aW9uLm9mZnNldFkgPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFBvc2l0aW9uLm9mZnNldFggPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IGFsaWduT2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgLy8gdG9kbyBuZWVkIGludmVydCB2YWx1ZSBmb3IgdG9wIGFuZCBsZWZ0XG4gICAgICAgIGlmICh0aGlzLmlzVmVydGljYWwpIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFBvc2l0aW9uLm9mZnNldFggPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFBvc2l0aW9uLm9mZnNldFkgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uT3BlbkNoYW5nZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMub3BlbmVkKTtcblxuICAgIGdldCBpc1ZlcnRpY2FsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2lkZSA9PT0gRHJvcGRvd25TaWRlLlRvcCB8fCB0aGlzLl9zaWRlID09PSBEcm9wZG93blNpZGUuQm90dG9tO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0UG9zaXRpb24oKTogQ29ubmVjdGVkUG9zaXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5tZW51UG9zaXRpb25bMF07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIC8vIHRvZG8gcHJpb3JpdHlcbiAgICAgICAgdGhpcy5tZW51UG9zaXRpb24gPSBbeyAuLi5kcm9wZG93blBvc2l0aW9uc1tEcm9wZG93blNpZGUuQm90dG9tXSB9XTtcbiAgICB9XG5cbiAgICBvblBvaW50ZXJEb3duKCRldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICAvLyBvbmx5IGNhbGwgaGFuZGxlciBpZiBpdCdzIHRoZSBsZWZ0IGJ1dHRvbiAobW91c2Vkb3duIGdldHMgdHJpZ2dlcmVkIGJ5IGFsbCBtb3VzZSBidXR0b25zKVxuICAgICAgICAvLyBidXQgbm90IHdoZW4gdGhlIGNvbnRyb2wga2V5IGlzIHByZXNzZWQgKGF2b2lkaW5nIE1hY09TIHJpZ2h0IGNsaWNrKVxuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSAmJiAkZXZlbnQuYnV0dG9uID09PSAwICYmICEkZXZlbnQuY3RybEtleSkge1xuICAgICAgICAgICAgLyogZW1wdHkgKi9cbiAgICAgICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkge1xuICAgICAgICAgICAgICAgIC8vIHByZXZlbnQgdHJpZ2dlciBmb2N1c2luZyB3aGVuIG9wZW5pbmdcbiAgICAgICAgICAgICAgICAvLyB0aGlzIGFsbG93cyB0aGUgY29udGVudCB0byBiZSBnaXZlbiBmb2N1cyB3aXRob3V0IGNvbXBldGl0aW9uXG4gICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRPdmVybGF5UmVmKCk6IE92ZXJsYXlSZWYgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZjtcbiAgICB9XG59XG4iXX0=
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvZHJvcGRvd24tbWVudS9zcmMvZHJvcGRvd24tbWVudS10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRWxFLE1BQU0sQ0FBTixJQUFZLFlBS1g7QUFMRCxXQUFZLFlBQVk7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLCtCQUFlLENBQUE7SUFDZixpQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxZQUFZLEtBQVosWUFBWSxRQUt2QjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsZ0NBQWUsQ0FBQTtJQUNmLGtDQUFpQixDQUFBO0lBQ2pCLDRCQUFXLENBQUE7QUFDZixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEI7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUNwQyxLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEdBQUcsRUFBRSxRQUFRO0NBQ2hCLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUE0QztJQUMvRCxHQUFHLEVBQUU7UUFDRCxPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8s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RixLQUFLO3NCQURSLEtBQUs7Z0JBNkJGLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBc0JqQyxXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENka01lbnVUcmlnZ2VyLCBNRU5VX1RSSUdHRVIsIFBBUkVOVF9PUl9ORVdfTUVOVV9TVEFDS19QUk9WSURFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9tZW51JztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5UmVmLCBWZXJ0aWNhbENvbm5lY3Rpb25Qb3MgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIElucHV0LCBpbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb3V0cHV0RnJvbU9ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmV4cG9ydCBlbnVtIERyb3Bkb3duU2lkZSB7XG4gICAgVG9wID0gJ3RvcCcsXG4gICAgUmlnaHQgPSAncmlnaHQnLFxuICAgIEJvdHRvbSA9ICdib3R0b20nLFxuICAgIExlZnQgPSAnbGVmdCdcbn1cblxuZXhwb3J0IGVudW0gRHJvcGRvd25BbGlnbiB7XG4gICAgU3RhcnQgPSAnc3RhcnQnLFxuICAgIENlbnRlciA9ICdjZW50ZXInLFxuICAgIEVuZCA9ICdlbmQnXG59XG5cbmV4cG9ydCBjb25zdCBtYXBSZHhBbGlnblRvQ2RrUG9zaXRpb24gPSB7XG4gICAgc3RhcnQ6ICd0b3AnLFxuICAgIGNlbnRlcjogJ2NlbnRlcicsXG4gICAgZW5kOiAnYm90dG9tJ1xufTtcblxuY29uc3QgZHJvcGRvd25Qb3NpdGlvbnM6IFJlY29yZDxEcm9wZG93blNpZGUsIENvbm5lY3RlZFBvc2l0aW9uPiA9IHtcbiAgICB0b3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgIG9mZnNldFg6IDAsXG4gICAgICAgIG9mZnNldFk6IDBcbiAgICB9LFxuICAgIHJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgb2Zmc2V0WDogMCxcbiAgICAgICAgb2Zmc2V0WTogMFxuICAgIH0sXG4gICAgYm90dG9tOiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICBvZmZzZXRYOiAwLFxuICAgICAgICBvZmZzZXRZOiAwXG4gICAgfSxcbiAgICBsZWZ0OiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgb2Zmc2V0WDogMCxcbiAgICAgICAgb2Zmc2V0WTogMFxuICAgIH1cbn07XG5cbi8qKlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4RHJvcGRvd25NZW51VHJpZ2dlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtaGFzcG9wdXBdJzogXCInbWVudSdcIixcbiAgICAgICAgJ1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ2lzT3BlbigpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogXCJpc09wZW4oKSA/ICdvcGVuJzogJ2Nsb3NlZCdcIixcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogXCJkaXNhYmxlZCgpID8gJycgOiB1bmRlZmluZWRcIixcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG5cbiAgICAgICAgJyhwb2ludGVyZG93biknOiAnb25Qb2ludGVyRG93bigkZXZlbnQpJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQ2RrTWVudVRyaWdnZXIsIHVzZUV4aXN0aW5nOiBSZHhEcm9wZG93bk1lbnVUcmlnZ2VyRGlyZWN0aXZlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogTUVOVV9UUklHR0VSLCB1c2VFeGlzdGluZzogQ2RrTWVudVRyaWdnZXIgfSxcbiAgICAgICAgUEFSRU5UX09SX05FV19NRU5VX1NUQUNLX1BST1ZJREVSXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZHhEcm9wZG93bk1lbnVUcmlnZ2VyRGlyZWN0aXZlIGV4dGVuZHMgQ2RrTWVudVRyaWdnZXIge1xuICAgIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgICAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGVcbiAgICB9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJkeERyb3Bkb3duTWVudVRyaWdnZXIodmFsdWU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1lbnVUZW1wbGF0ZVJlZiA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmZXJyZWQgc2lkZSBvZiB0aGUgdHJpZ2dlciB0byByZW5kZXIgYWdhaW5zdCB3aGVuIG9wZW4uXG4gICAgICogV2lsbCBiZSByZXZlcnNlZCB3aGVuIGNvbGxpc2lvbnMgb2NjdXIgYW5kIGBhdm9pZENvbGxpc2lvbnNgIGlzIGVuYWJsZWQuXG4gICAgICpcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKiBAZGVmYXVsdFZhbHVlICdib3R0b20nXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgc2lkZSh2YWx1ZTogRHJvcGRvd25TaWRlKSB7XG4gICAgICAgIGlmICghT2JqZWN0LnZhbHVlcyhEcm9wZG93blNpZGUpLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHNpZGU6ICR7dmFsdWV9YCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zaWRlID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5tZW51UG9zaXRpb25bMF0gPSBkcm9wZG93blBvc2l0aW9uc1t2YWx1ZV07XG4gICAgfVxuXG4gICAgZ2V0IHNpZGUoKTogRHJvcGRvd25TaWRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2lkZTogRHJvcGRvd25TaWRlID0gRHJvcGRvd25TaWRlLkJvdHRvbTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmZXJyZWQgYWxpZ25tZW50IGFnYWluc3QgdGhlIHRyaWdnZXIuIE1heSBjaGFuZ2Ugd2hlbiBjb2xsaXNpb25zIG9jY3VyLlxuICAgICAqXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICogQGRlZmF1bHRWYWx1ZSAnY2VudGVyJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGFsaWduKHZhbHVlOiBEcm9wZG93bkFsaWduKSB7XG4gICAgICAgIGlmICghT2JqZWN0LnZhbHVlcyhEcm9wZG93bkFsaWduKS5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBhbGlnbjogJHt2YWx1ZX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2FsaWduID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWZXJ0aWNhbCkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0UG9zaXRpb24ub3ZlcmxheVggPSB0aGlzLmRlZmF1bHRQb3NpdGlvbi5vcmlnaW5YID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRQb3NpdGlvbi5vdmVybGF5WSA9IHRoaXMuZGVmYXVsdFBvc2l0aW9uLm9yaWdpblkgPSBtYXBSZHhBbGlnblRvQ2RrUG9zaXRpb25bXG4gICAgICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIF0gYXMgVmVydGljYWxDb25uZWN0aW9uUG9zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGFsaWduKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWxpZ247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWxpZ246IERyb3Bkb3duQWxpZ24gPSBEcm9wZG93bkFsaWduLlN0YXJ0O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRpc3RhbmNlIGluIHBpeGVscyBmcm9tIHRoZSB0cmlnZ2VyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqIEBkZWZhdWx0VmFsdWUgMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHNpZGVPZmZzZXQodmFsdWU6IG51bWJlcikge1xuICAgICAgICAvLyB0b2RvIG5lZWQgaW52ZXJ0IHZhbHVlIGZvciB0b3AgYW5kIGxlZnRcbiAgICAgICAgaWYgKHRoaXMuaXNWZXJ0aWNhbCkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0UG9zaXRpb24ub2Zmc2V0WSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0UG9zaXRpb24ub2Zmc2V0WCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHNpZGVPZmZzZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWRlT2Zmc2V0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NpZGVPZmZzZXQ6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBBbiBvZmZzZXQgaW4gcGl4ZWxzIGZyb20gdGhlIFwic3RhcnRcIiBvciBcImVuZFwiIGFsaWdubWVudCBvcHRpb25zLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqIEBkZWZhdWx0VmFsdWUgMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IGFsaWduT2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgLy8gdG9kbyBuZWVkIGludmVydCB2YWx1ZSBmb3IgdG9wIGFuZCBsZWZ0XG4gICAgICAgIGlmICh0aGlzLmlzVmVydGljYWwpIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFBvc2l0aW9uLm9mZnNldFggPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFBvc2l0aW9uLm9mZnNldFkgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBhbGlnbk9mZnNldCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWxpZ25PZmZzZXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWxpZ25PZmZzZXQ6IG51bWJlciA9IDA7XG5cbiAgICBvbk9wZW5DaGFuZ2UgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm9wZW5lZCk7XG5cbiAgICBnZXQgaXNWZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZGUgPT09IERyb3Bkb3duU2lkZS5Ub3AgfHwgdGhpcy5fc2lkZSA9PT0gRHJvcGRvd25TaWRlLkJvdHRvbTtcbiAgICB9XG5cbiAgICBnZXQgZGVmYXVsdFBvc2l0aW9uKCk6IENvbm5lY3RlZFBvc2l0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVudVBvc2l0aW9uWzBdO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICAvLyB0b2RvIHByaW9yaXR5XG4gICAgICAgIHRoaXMubWVudVBvc2l0aW9uID0gW3sgLi4uZHJvcGRvd25Qb3NpdGlvbnNbRHJvcGRvd25TaWRlLkJvdHRvbV0gfV07XG4gICAgfVxuXG4gICAgb25Qb2ludGVyRG93bigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgLy8gb25seSBjYWxsIGhhbmRsZXIgaWYgaXQncyB0aGUgbGVmdCBidXR0b24gKG1vdXNlZG93biBnZXRzIHRyaWdnZXJlZCBieSBhbGwgbW91c2UgYnV0dG9ucylcbiAgICAgICAgLy8gYnV0IG5vdCB3aGVuIHRoZSBjb250cm9sIGtleSBpcyBwcmVzc2VkIChhdm9pZGluZyBNYWNPUyByaWdodCBjbGljaylcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKCkgJiYgJGV2ZW50LmJ1dHRvbiA9PT0gMCAmJiAhJGV2ZW50LmN0cmxLZXkpIHtcbiAgICAgICAgICAgIC8qIGVtcHR5ICovXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IHRyaWdnZXIgZm9jdXNpbmcgd2hlbiBvcGVuaW5nXG4gICAgICAgICAgICAgICAgLy8gdGhpcyBhbGxvd3MgdGhlIGNvbnRlbnQgdG8gYmUgZ2l2ZW4gZm9jdXMgd2l0aG91dCBjb21wZXRpdGlvblxuICAgICAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0T3ZlcmxheVJlZigpOiBPdmVybGF5UmVmIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY7XG4gICAgfVxufVxuIl19
|
@@ -1,6 +1,9 @@
|
|
1
1
|
import { computed, Directive, ElementRef, inject, input } from '@angular/core';
|
2
2
|
import * as i0 from "@angular/core";
|
3
3
|
let idIterator = 0;
|
4
|
+
/**
|
5
|
+
* @group Components
|
6
|
+
*/
|
4
7
|
export class RdxLabelDirective {
|
5
8
|
constructor() {
|
6
9
|
/**
|
@@ -8,19 +11,14 @@ export class RdxLabelDirective {
|
|
8
11
|
* @default 'rdx-label-{idIterator}'
|
9
12
|
*/
|
10
13
|
this.id = input(`rdx-label-${idIterator++}`);
|
11
|
-
/**
|
12
|
-
* @ignore
|
13
|
-
*/
|
14
14
|
this.elementId = computed(() => (this.id() ? this.id() : null));
|
15
15
|
/**
|
16
16
|
* The id of the element the label is associated with.
|
17
|
+
* @group Props
|
17
18
|
* @type string
|
18
|
-
* @
|
19
|
+
* @defaultValue false
|
19
20
|
*/
|
20
21
|
this.htmlFor = input('');
|
21
|
-
/**
|
22
|
-
* @ignore
|
23
|
-
*/
|
24
22
|
this.elementRef = inject((ElementRef));
|
25
23
|
}
|
26
24
|
// prevent text selection when double-clicking label
|
@@ -56,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
56
54
|
}
|
57
55
|
}]
|
58
56
|
}] });
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9sYWJlbC9zcmMvbGFiZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDOztBQUU1RixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFFbkI7O0dBRUc7QUFXSCxNQUFNLE9BQU8saUJBQWlCO0lBVjlCO1FBV0k7OztXQUdHO1FBQ00sT0FBRSxHQUF3QixLQUFLLENBQVMsYUFBYSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFM0QsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTlFOzs7OztXQUtHO1FBQ00sWUFBTyxHQUF3QixLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFekMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO0tBcUJqRTtJQW5CRyxvREFBb0Q7SUFDcEQsMkRBQTJEO0lBQzNELGdGQUFnRjtJQUNoRjs7T0FFRztJQUNILFdBQVcsQ0FBQyxLQUFpQjtRQUN6QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUUzQyxrRUFBa0U7UUFDbEUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNyRSxPQUFPO1FBQ1gsQ0FBQztRQUVELG9EQUFvRDtRQUNwRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hHLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQzsrR0FyQ1EsaUJBQWlCO21HQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBVjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsV0FBVyxFQUFFLGtCQUFrQjt3QkFDL0IsWUFBWSxFQUFFLDRCQUE0Qjt3QkFDMUMsYUFBYSxFQUFFLHFCQUFxQjtxQkFDdkM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5sZXQgaWRJdGVyYXRvciA9IDA7XG5cbi8qKlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdsYWJlbFtyZHhMYWJlbF0nLFxuICAgIGV4cG9ydEFzOiAncmR4TGFiZWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuaWRdJzogJ3RoaXMuZWxlbWVudElkKCknLFxuICAgICAgICAnW2F0dHIuZm9yXSc6ICdodG1sRm9yID8gaHRtbEZvcigpIDogbnVsbCcsXG4gICAgICAgICcobW91c2Vkb3duKSc6ICdvbk1vdXNlRG93bigkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4TGFiZWxEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqIEBkZWZhdWx0ICdyZHgtbGFiZWwte2lkSXRlcmF0b3J9J1xuICAgICAqL1xuICAgIHJlYWRvbmx5IGlkOiBJbnB1dFNpZ25hbDxzdHJpbmc+ID0gaW5wdXQ8c3RyaW5nPihgcmR4LWxhYmVsLSR7aWRJdGVyYXRvcisrfWApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRJZCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmlkKCkgPyB0aGlzLmlkKCkgOiBudWxsKSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaWQgb2YgdGhlIGVsZW1lbnQgdGhlIGxhYmVsIGlzIGFzc29jaWF0ZWQgd2l0aC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICovXG4gICAgcmVhZG9ubHkgaHRtbEZvcjogSW5wdXRTaWduYWw8c3RyaW5nPiA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcblxuICAgIC8vIHByZXZlbnQgdGV4dCBzZWxlY3Rpb24gd2hlbiBkb3VibGUtY2xpY2tpbmcgbGFiZWxcbiAgICAvLyBUaGUgbWFpbiBwcm9ibGVtIHdpdGggZG91YmxlLWNsaWNrcyBpbiBhIHdlYiBhcHAgaXMgdGhhdFxuICAgIC8vIHlvdSB3aWxsIGhhdmUgdG8gY3JlYXRlIHNwZWNpYWwgY29kZSB0byBoYW5kbGUgdGhpcyBvbiB0b3VjaCBlbmFibGVkIGRldmljZXMuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICAvLyBvbmx5IHByZXZlbnQgdGV4dCBzZWxlY3Rpb24gaWYgY2xpY2tpbmcgaW5zaWRlIHRoZSBsYWJlbCBpdHNlbGZcbiAgICAgICAgaWYgKFsnQlVUVE9OJywgJ0lOUFVUJywgJ1NFTEVDVCcsICdURVhUQVJFQSddLmluY2x1ZGVzKHRhcmdldC50YWdOYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcHJldmVudCB0ZXh0IHNlbGVjdGlvbiB3aGVuIGRvdWJsZS1jbGlja2luZyBsYWJlbFxuICAgICAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSAmJiAhZXZlbnQuZGVmYXVsdFByZXZlbnRlZCAmJiBldmVudC5kZXRhaWwgPiAxKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
@@ -31,12 +31,17 @@ export class RdxPopoverAnchorDirective {
|
|
31
31
|
this.popoverRoot = popoverRoot;
|
32
32
|
}
|
33
33
|
emitOutsideClick() {
|
34
|
+
if (!this.popoverRoot?.isOpen() ||
|
35
|
+
this.popoverRoot?.popoverContentDirective().onOverlayOutsideClickDisabled()) {
|
36
|
+
return;
|
37
|
+
}
|
34
38
|
const clickEvent = new MouseEvent('click', {
|
35
39
|
view: this.document.defaultView,
|
36
40
|
bubbles: true,
|
37
|
-
cancelable: true
|
41
|
+
cancelable: true,
|
42
|
+
relatedTarget: this.elementRef.nativeElement
|
38
43
|
});
|
39
|
-
this.
|
44
|
+
this.popoverRoot?.popoverTriggerDirective().elementRef.nativeElement.dispatchEvent(clickEvent);
|
40
45
|
}
|
41
46
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
42
47
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxPopoverAnchorDirective, isStandalone: true, selector: "[rdxPopoverAnchor]", host: { attributes: { "type": "button" }, listeners: { "click": "click()" }, properties: { "attr.id": "name()", "attr.aria-haspopup": "\"dialog\"" } }, providers: [
|
@@ -67,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
67
72
|
]
|
68
73
|
}]
|
69
74
|
}] });
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1hbmNob3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9wb3BvdmVyL3NyYy9wb3BvdmVyLWFuY2hvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFvQjFELE1BQU0sT0FBTyx5QkFBeUI7SUFsQnRDO1FBbUJJOzs7O2FBSUs7UUFDSyxnQkFBVyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELGNBQWM7UUFDTCxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLGNBQWM7UUFDTCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELGNBQWM7UUFDTCxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJDLGNBQWM7UUFDTCxTQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLCtCQUErQixJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztLQTJCakc7SUF6QkcsY0FBYztJQUNkLEtBQUs7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsY0FBYztJQUNkLGNBQWMsQ0FBQyxXQUFvQztRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQ0ksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRTtZQUMzQixJQUFJLENBQUMsV0FBVyxFQUFFLHVCQUF1QixFQUFFLENBQUMsNkJBQTZCLEVBQUUsRUFDN0UsQ0FBQztZQUNDLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDL0IsT0FBTyxFQUFFLElBQUk7WUFDYixVQUFVLEVBQUUsSUFBSTtZQUNoQixhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhO1NBQy9DLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRyxDQUFDOytHQXpDUSx5QkFBeUI7bUdBQXpCLHlCQUF5Qix5TkFQdkI7WUFDUDtnQkFDSSxPQUFPLEVBQUUscUJBQXFCO2dCQUM5QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2FBQzNEO1NBQ0o7OzRGQUVRLHlCQUF5QjtrQkFsQnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLGNBQWMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLFFBQVE7d0JBQ3JCLHNCQUFzQixFQUFFLFVBQVU7d0JBQ2xDLFNBQVMsRUFBRSxTQUFTO3FCQUN2QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7eUJBQzNEO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrT3ZlcmxheU9yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvbXB1dGVkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4UG9wb3ZlckFuY2hvclRva2VuIH0gZnJvbSAnLi9wb3BvdmVyLWFuY2hvci50b2tlbic7XG5pbXBvcnQgeyBSZHhQb3BvdmVyUm9vdERpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3Zlci1yb290LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBpbmplY3RQb3BvdmVyUm9vdCB9IGZyb20gJy4vcG9wb3Zlci1yb290LmluamVjdCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFBvcG92ZXJBbmNob3JdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGV4cG9ydEFzOiAncmR4UG9wb3ZlckFuY2hvcicsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtDZGtPdmVybGF5T3JpZ2luXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAnW2F0dHIuaWRdJzogJ25hbWUoKScsXG4gICAgICAgICdbYXR0ci5hcmlhLWhhc3BvcHVwXSc6ICdcImRpYWxvZ1wiJyxcbiAgICAgICAgJyhjbGljayknOiAnY2xpY2soKSdcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBSZHhQb3BvdmVyQW5jaG9yVG9rZW4sXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSZHhQb3BvdmVyQW5jaG9yRGlyZWN0aXZlKVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZHhQb3BvdmVyQW5jaG9yRGlyZWN0aXZlIHtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogSWYgb3V0c2lkZSB0aGUgcm9vdCB0aGVuIG51bGwsIG90aGVyd2lzZSB0aGUgcm9vdCBkaXJlY3RpdmUgLSB3aXRoIG9wdGlvbmFsIGB0cnVlYCBwYXNzZWQgaW4gYXMgdGhlIGZpcnN0IHBhcmFtLlxuICAgICAqIElmIG91dHNpZGUgdGhlIHJvb3QgYW5kIG5vbi1udWxsIHZhbHVlIHRoYXQgbWVhbnMgdGhlIGh0bWwgc3RydWN0dXJlIGlzIHdyb25nIC0gcG9wb3ZlciBpbnNpZGUgcG9wb3Zlci5cbiAgICAgKiAqL1xuICAgIHByb3RlY3RlZCBwb3BvdmVyUm9vdCA9IGluamVjdFBvcG92ZXJSb290KHRydWUpO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IG92ZXJsYXlPcmlnaW4gPSBpbmplY3QoQ2RrT3ZlcmxheU9yaWdpbik7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IG5hbWUgPSBjb21wdXRlZCgoKSA9PiBgcmR4LXBvcG92ZXItZXh0ZXJuYWwtYW5jaG9yLSR7dGhpcy5wb3BvdmVyUm9vdD8udW5pcXVlSWQoKX1gKTtcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZW1pdE91dHNpZGVDbGljaygpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgc2V0UG9wb3ZlclJvb3QocG9wb3ZlclJvb3Q6IFJkeFBvcG92ZXJSb290RGlyZWN0aXZlKSB7XG4gICAgICAgIHRoaXMucG9wb3ZlclJvb3QgPSBwb3BvdmVyUm9vdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGVtaXRPdXRzaWRlQ2xpY2soKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLnBvcG92ZXJSb290Py5pc09wZW4oKSB8fFxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUm9vdD8ucG9wb3ZlckNvbnRlbnREaXJlY3RpdmUoKS5vbk92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNhYmxlZCgpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNsaWNrRXZlbnQgPSBuZXcgTW91c2VFdmVudCgnY2xpY2snLCB7XG4gICAgICAgICAgICB2aWV3OiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3LFxuICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wb3BvdmVyUm9vdD8ucG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUoKS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChjbGlja0V2ZW50KTtcbiAgICB9XG59XG4iXX0=
|
@@ -46,15 +46,21 @@ export class RdxPopoverContentDirective {
|
|
46
46
|
* @description Whether to add some alternate positions of the content.
|
47
47
|
* @default false
|
48
48
|
*/
|
49
|
-
this.
|
49
|
+
this.alternatePositionsDisabled = input(false);
|
50
|
+
/** @description Whether to prevent `onOverlayEscapeKeyDown` handler from calling. */
|
51
|
+
this.onOverlayEscapeKeyDownDisabled = input(false);
|
52
|
+
/** @description Whether to prevent `onOverlayOutsideClick` handler from calling. */
|
53
|
+
this.onOverlayOutsideClickDisabled = input(false);
|
50
54
|
/**
|
51
|
-
* @description Event handler called when the escape key is down.
|
55
|
+
* @description Event handler called when the escape key is down.
|
56
|
+
* It can be prevented by setting `onOverlayEscapeKeyDownDisabled` input to `true`.
|
52
57
|
*/
|
53
|
-
this.
|
58
|
+
this.onOverlayEscapeKeyDown = output();
|
54
59
|
/**
|
55
|
-
* @description Event handler called when a pointer event occurs outside the bounds of the component.
|
60
|
+
* @description Event handler called when a pointer event occurs outside the bounds of the component.
|
61
|
+
* It can be prevented by setting `onOverlayOutsideClickDisabled` input to `true`.
|
56
62
|
*/
|
57
|
-
this.
|
63
|
+
this.onOverlayOutsideClick = output();
|
58
64
|
/**
|
59
65
|
* @description Event handler called after the overlay is open
|
60
66
|
*/
|
@@ -71,6 +77,7 @@ export class RdxPopoverContentDirective {
|
|
71
77
|
/** @ignore */
|
72
78
|
ngOnInit() {
|
73
79
|
this.setScrollStrategy();
|
80
|
+
this.setHasBackdrop();
|
74
81
|
this.setDisableClose();
|
75
82
|
this.onAttach();
|
76
83
|
this.onDetach();
|
@@ -103,9 +110,10 @@ export class RdxPopoverContentDirective {
|
|
103
110
|
connectKeydownEscape() {
|
104
111
|
this.connectedOverlay.overlayKeydown
|
105
112
|
.asObservable()
|
106
|
-
.pipe(filter((
|
107
|
-
this.
|
108
|
-
|
113
|
+
.pipe(filter(() => !this.onOverlayEscapeKeyDownDisabled() &&
|
114
|
+
!this.popoverRoot.rdxCdkEventService?.primitivePreventedFromCdkEvent(this.popoverRoot, 'cdkOverlayEscapeKeyDown')), filter((event) => event.key === 'Escape'), tap((event) => {
|
115
|
+
this.onOverlayEscapeKeyDown.emit(event);
|
116
|
+
}), filter(() => !this.popoverRoot.firstDefaultOpen()), tap(() => {
|
109
117
|
this.popoverRoot.handleClose();
|
110
118
|
}), takeUntilDestroyed(this.destroyRef))
|
111
119
|
.subscribe();
|
@@ -114,7 +122,8 @@ export class RdxPopoverContentDirective {
|
|
114
122
|
connectOutsideClick() {
|
115
123
|
this.connectedOverlay.overlayOutsideClick
|
116
124
|
.asObservable()
|
117
|
-
.pipe(
|
125
|
+
.pipe(filter(() => !this.onOverlayOutsideClickDisabled() &&
|
126
|
+
!this.popoverRoot.rdxCdkEventService?.primitivePreventedFromCdkEvent(this.popoverRoot, 'cdkOverlayOutsideClick')),
|
118
127
|
/**
|
119
128
|
* Handle the situation when an anchor is added and the anchor becomes the origin of the overlay
|
120
129
|
* hence the trigger will be considered the outside element
|
@@ -125,8 +134,8 @@ export class RdxPopoverContentDirective {
|
|
125
134
|
.popoverTriggerDirective()
|
126
135
|
.elementRef.nativeElement.contains(event.target));
|
127
136
|
}), tap((event) => {
|
128
|
-
this.
|
129
|
-
}), filter((
|
137
|
+
this.onOverlayOutsideClick.emit(event);
|
138
|
+
}), filter(() => !this.popoverRoot.firstDefaultOpen()), tap(() => {
|
130
139
|
this.popoverRoot.handleClose();
|
131
140
|
}), takeUntilDestroyed(this.destroyRef))
|
132
141
|
.subscribe();
|
@@ -162,6 +171,12 @@ export class RdxPopoverContentDirective {
|
|
162
171
|
this.fireOverlayNgOnChanges('scrollStrategy', this.connectedOverlay.scrollStrategy, prevScrollStrategy);
|
163
172
|
}
|
164
173
|
/** @ignore */
|
174
|
+
setHasBackdrop() {
|
175
|
+
const prevHasBackdrop = this.connectedOverlay.hasBackdrop;
|
176
|
+
this.connectedOverlay.hasBackdrop = false;
|
177
|
+
this.fireOverlayNgOnChanges('hasBackdrop', this.connectedOverlay.hasBackdrop, prevHasBackdrop);
|
178
|
+
}
|
179
|
+
/** @ignore */
|
165
180
|
setDisableClose() {
|
166
181
|
const prevDisableClose = this.connectedOverlay.disableClose;
|
167
182
|
this.connectedOverlay.disableClose = true;
|
@@ -194,7 +209,7 @@ export class RdxPopoverContentDirective {
|
|
194
209
|
alignOffset: offsets.alignOffset
|
195
210
|
});
|
196
211
|
const positions = [basePosition];
|
197
|
-
if (!this.
|
212
|
+
if (!this.alternatePositionsDisabled()) {
|
198
213
|
/**
|
199
214
|
* Alternate positions for better user experience along the X/Y axis (e.g. vertical/horizontal scrolling)
|
200
215
|
*/
|
@@ -227,7 +242,7 @@ export class RdxPopoverContentDirective {
|
|
227
242
|
onPositionChangeEffect() {
|
228
243
|
effect(() => {
|
229
244
|
const positions = this.positions();
|
230
|
-
this.
|
245
|
+
this.alternatePositionsDisabled();
|
231
246
|
untracked(() => {
|
232
247
|
this.setPositions(positions);
|
233
248
|
});
|
@@ -240,7 +255,7 @@ export class RdxPopoverContentDirective {
|
|
240
255
|
});
|
241
256
|
}
|
242
257
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
243
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxPopoverContentDirective, isStandalone: true, selector: "[rdxPopoverContent]", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, sideOffset: { classPropertyName: "sideOffset", publicName: "sideOffset", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, alignOffset: { classPropertyName: "alignOffset", publicName: "alignOffset", isSignal: true, isRequired: false, transformFunction: null },
|
258
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxPopoverContentDirective, isStandalone: true, selector: "[rdxPopoverContent]", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, sideOffset: { classPropertyName: "sideOffset", publicName: "sideOffset", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, alignOffset: { classPropertyName: "alignOffset", publicName: "alignOffset", isSignal: true, isRequired: false, transformFunction: null }, alternatePositionsDisabled: { classPropertyName: "alternatePositionsDisabled", publicName: "alternatePositionsDisabled", isSignal: true, isRequired: false, transformFunction: null }, onOverlayEscapeKeyDownDisabled: { classPropertyName: "onOverlayEscapeKeyDownDisabled", publicName: "onOverlayEscapeKeyDownDisabled", isSignal: true, isRequired: false, transformFunction: null }, onOverlayOutsideClickDisabled: { classPropertyName: "onOverlayOutsideClickDisabled", publicName: "onOverlayOutsideClickDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOverlayEscapeKeyDown: "onOverlayEscapeKeyDown", onOverlayOutsideClick: "onOverlayOutsideClick", onOpen: "onOpen", onClosed: "onClosed" }, hostDirectives: [{ directive: i1.CdkConnectedOverlay }], ngImport: i0 }); }
|
244
259
|
}
|
245
260
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverContentDirective, decorators: [{
|
246
261
|
type: Directive,
|
@@ -252,4 +267,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
252
267
|
]
|
253
268
|
}]
|
254
269
|
}], ctorParameters: () => [] });
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcG9wb3Zlci9zcmMvcG9wb3Zlci1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUNILFFBQVEsRUFDUixVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSwyQkFBMkIsRUFBRSxjQUFjLEVBQTBCLE1BQU0saUJBQWlCLENBQUM7QUFDdkgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVN2RixNQUFNLE9BQU8sMEJBQTBCO0lBZ0VuQztRQS9EQSxjQUFjO1FBQ0csZ0JBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBQ25ELGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuRCxjQUFjO1FBQ0csWUFBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxjQUFjO1FBQ0csZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FB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LFlBQVksQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQztTQUN0RSxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTdSUSwwQkFBMEI7bUdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFQdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFO3dCQUNaLG1CQUFtQjtxQkFDdEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgICBjb21wdXRlZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIE9uSW5pdCxcbiAgICBvdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIHVudHJhY2tlZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3RQb3BvdmVyUm9vdCB9IGZyb20gJy4vcG9wb3Zlci1yb290LmluamVjdCc7XG5pbXBvcnQgeyBERUZBVUxUUyB9IGZyb20gJy4vcG9wb3Zlci5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmR4UG9wb3ZlckFsaWduLCBSZHhQb3BvdmVyQXR0YWNoRGV0YWNoRXZlbnQsIFJkeFBvcG92ZXJTaWRlLCBSZHhTaWRlQW5kQWxpZ25PZmZzZXRzIH0gZnJvbSAnLi9wb3BvdmVyLnR5cGVzJztcbmltcG9ydCB7IGdldEFsbFBvc3NpYmxlQ29ubmVjdGVkUG9zaXRpb25zLCBnZXRDb250ZW50UG9zaXRpb24gfSBmcm9tICcuL3BvcG92ZXIudXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhQb3BvdmVyQ29udGVudF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgQ2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUmR4UG9wb3ZlckNvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3BvdmVyUm9vdCA9IGluamVjdFBvcG92ZXJSb290KCk7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29ubmVjdGVkT3ZlcmxheSA9IGluamVjdChDZGtDb25uZWN0ZWRPdmVybGF5KTtcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgbmFtZSA9IGNvbXB1dGVkKCgpID0+IGByZHgtcG9wb3Zlci10cmlnZ2VyLSR7dGhpcy5wb3BvdmVyUm9vdC51bmlxdWVJZCgpfWApO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSBwcmVmZXJyZWQgc2lkZSBvZiB0aGUgdHJpZ2dlciB0byByZW5kZXIgYWdhaW5zdCB3aGVuIG9wZW4uIFdpbGwgYmUgcmV2ZXJzZWQgd2hlbiBjb2xsaXNpb25zIG9jY3VyIGFuZCBhdm9pZENvbGxpc2lvbnMgaXMgZW5hYmxlZC5cbiAgICAgKiBAZGVmYXVsdCB0b3BcbiAgICAgKi9cbiAgICByZWFkb25seSBzaWRlID0gaW5wdXQ8UmR4UG9wb3ZlclNpZGU+KFJkeFBvcG92ZXJTaWRlLlRvcCk7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgZnJvbSB0aGUgdHJpZ2dlci5cbiAgICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBzaWRlT2Zmc2V0ID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPih2b2lkIDApO1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUaGUgcHJlZmVycmVkIGFsaWdubWVudCBhZ2FpbnN0IHRoZSB0cmlnZ2VyLiBNYXkgY2hhbmdlIHdoZW4gY29sbGlzaW9ucyBvY2N1ci5cbiAgICAgKiBAZGVmYXVsdCBjZW50ZXJcbiAgICAgKi9cbiAgICByZWFkb25seSBhbGlnbiA9IGlucHV0PFJkeFBvcG92ZXJBbGlnbj4oUmR4UG9wb3ZlckFsaWduLkNlbnRlcik7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEFuIG9mZnNldCBpbiBwaXhlbHMgZnJvbSB0aGUgXCJzdGFydFwiIG9yIFwiZW5kXCIgYWxpZ25tZW50IG9wdGlvbnMuXG4gICAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAgICovXG4gICAgcmVhZG9ubHkgYWxpZ25PZmZzZXQgPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KHZvaWQgMCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0byBhZGQgc29tZSBhbHRlcm5hdGUgcG9zaXRpb25zIG9mIHRoZSBjb250ZW50LlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGlzYWJsZUFsdGVybmF0ZVBvc2l0aW9ucyA9IGlucHV0KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSBlc2NhcGUga2V5IGlzIGRvd24uIEl0IGNhbiBiZSBwcmV2ZW50ZWQgYnkgY2FsbGluZyBldmVudC5wcmV2ZW50RGVmYXVsdC5cbiAgICAgKi9cbiAgICByZWFkb25seSBvbkVzY2FwZUtleURvd24gPSBvdXRwdXQ8S2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIGEgcG9pbnRlciBldmVudCBvY2N1cnMgb3V0c2lkZSB0aGUgYm91bmRzIG9mIHRoZSBjb21wb25lbnQuIEl0IGNhbiBiZSBwcmV2ZW50ZWQgYnkgY2FsbGluZyBldmVudC5wcmV2ZW50RGVmYXVsdC5cbiAgICAgKi9cbiAgICByZWFkb25seSBvbk91dHNpZGVDbGljayA9IG91dHB1dDxNb3VzZUV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEV2ZW50IGhhbmRsZXIgY2FsbGVkIGFmdGVyIHRoZSBvdmVybGF5IGlzIG9wZW5cbiAgICAgKi9cbiAgICByZWFkb25seSBvbk9wZW4gPSBvdXRwdXQ8dm9pZD4oKTtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRXZlbnQgaGFuZGxlciBjYWxsZWQgYWZ0ZXIgdGhlIG92ZXJsYXkgaXMgY2xvc2VkXG4gICAgICovXG4gICAgcmVhZG9ubHkgb25DbG9zZWQgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICAgIC8qKiBAaW5nb3JlICovXG4gICAgcmVhZG9ubHkgcG9zaXRpb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb21wdXRlUG9zaXRpb25zKCkpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMub25PcmlnaW5DaGFuZ2VFZmZlY3QoKTtcbiAgICAgICAgdGhpcy5vblBvc2l0aW9uQ2hhbmdlRWZmZWN0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zZXRTY3JvbGxTdHJhdGVneSgpO1xuICAgICAgICB0aGlzLnNldERpc2FibGVDbG9zZSgpO1xuICAgICAgICB0aGlzLm9uQXR0YWNoKCk7XG4gICAgICAgIHRoaXMub25EZXRhY2goKTtcbiAgICAgICAgdGhpcy5jb25uZWN0S2V5ZG93bkVzY2FwZSgpO1xuICAgICAgICB0aGlzLmNvbm5lY3RPdXRzaWRlQ2xpY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIG9wZW4oKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbm5lY3RlZE92ZXJsYXkub3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByZXZPcGVuID0gdGhpcy5jb25uZWN0ZWRPdmVybGF5Lm9wZW47XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5vcGVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maXJlT3ZlcmxheU5nT25DaGFuZ2VzKCdvcGVuJywgdGhpcy5jb25uZWN0ZWRPdmVybGF5Lm9wZW4sIHByZXZPcGVuKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIGNsb3NlKCkge1xuICAgICAgICBpZiAoIXRoaXMuY29ubmVjdGVkT3ZlcmxheS5vcGVuKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcHJldk9wZW4gPSB0aGlzLmNvbm5lY3RlZE92ZXJsYXkub3BlbjtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5Lm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maXJlT3ZlcmxheU5nT25DaGFuZ2VzKCdvcGVuJywgdGhpcy5jb25uZWN0ZWRPdmVybGF5Lm9wZW4sIHByZXZPcGVuKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHBvc2l0aW9uQ2hhbmdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0ZWRPdmVybGF5LnBvc2l0aW9uQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBjb25uZWN0S2V5ZG93bkVzY2FwZSgpIHtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5Lm92ZXJsYXlLZXlkb3duXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpLFxuICAgICAgICAgICAgICAgIHRhcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVzY2FwZUtleURvd24uZW1pdChldmVudCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgJiYgIXRoaXMucG9wb3ZlclJvb3QuZmlyc3REZWZhdWx0T3BlbigpKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSb290LmhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgY29ubmVjdE91dHNpZGVDbGljaygpIHtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5Lm92ZXJsYXlPdXRzaWRlQ2xpY2tcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogSGFuZGxlIHRoZSBzaXR1YXRpb24gd2hlbiBhbiBhbmNob3IgaXMgYWRkZWQgYW5kIHRoZSBhbmNob3IgYmVjb21lcyB0aGUgb3JpZ2luIG9mIHRoZSBvdmVybGF5XG4gICAgICAgICAgICAgICAgICogaGVuY2UgIHRoZSB0cmlnZ2VyIHdpbGwgYmUgY29uc2lkZXJlZCB0aGUgb3V0c2lkZSBlbGVtZW50XG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMucG9wb3ZlclJvb3QucG9wb3ZlckFuY2hvckRpcmVjdGl2ZSgpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5wb3BvdmVyUm9vdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgRWxlbWVudClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25PdXRzaWRlQ2xpY2suZW1pdChldmVudCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgJiYgIXRoaXMucG9wb3ZlclJvb3QuZmlyc3REZWZhdWx0T3BlbigpKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSb290LmhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgb25BdHRhY2goKSB7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5hdHRhY2hcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIGB0aGlzLm9uT3Blbi5lbWl0KCk7YCBpcyBiZWluZyBkZWxlZ2F0ZWQgdG8gdGhlIHJvb3QgZGlyZWN0aXZlIGR1ZSB0byB0aGUgb3BlbmluZyBhbmltYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJvb3QuYXR0YWNoRGV0YWNoRXZlbnQuc2V0KFJkeFBvcG92ZXJBdHRhY2hEZXRhY2hFdmVudC5BVFRBQ0gpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIG9uRGV0YWNoKCkge1xuICAgICAgICB0aGlzLmNvbm5lY3RlZE92ZXJsYXkuZGV0YWNoXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgKiBgdGhpcy5vbkNsb3NlZC5lbWl0KCk7YCBpcyBiZWluZyBkZWxlZ2F0ZWQgdG8gdGhlIHJvb3QgZGlyZWN0aXZlIGR1ZSB0byB0aGUgY2xvc2luZyBhbmltYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJvb3QuYXR0YWNoRGV0YWNoRXZlbnQuc2V0KFJkeFBvcG92ZXJBdHRhY2hEZXRhY2hFdmVudC5ERVRBQ0gpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHNldFNjcm9sbFN0cmF0ZWd5KCkge1xuICAgICAgICBjb25zdCBwcmV2U2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLmNvbm5lY3RlZE92ZXJsYXkuc2Nyb2xsU3RyYXRlZ3k7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5zY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5maXJlT3ZlcmxheU5nT25DaGFuZ2VzKCdzY3JvbGxTdHJhdGVneScsIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5zY3JvbGxTdHJhdGVneSwgcHJldlNjcm9sbFN0cmF0ZWd5KTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgc2V0RGlzYWJsZUNsb3NlKCkge1xuICAgICAgICBjb25zdCBwcmV2RGlzYWJsZUNsb3NlID0gdGhpcy5jb25uZWN0ZWRPdmVybGF5LmRpc2FibGVDbG9zZTtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5LmRpc2FibGVDbG9zZSA9IHRydWU7XG4gICAgICAgIHRoaXMuZmlyZU92ZXJsYXlOZ09uQ2hhbmdlcygnZGlzYWJsZUNsb3NlJywgdGhpcy5jb25uZWN0ZWRPdmVybGF5LmRpc2FibGVDbG9zZSwgcHJldkRpc2FibGVDbG9zZSk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHNldE9yaWdpbihvcmlnaW46IENka0Nvbm5lY3RlZE92ZXJsYXlbJ29yaWdpbiddKSB7XG4gICAgICAgIGNvbnN0IHByZXZPcmlnaW4gPSB0aGlzLmNvbm5lY3RlZE92ZXJsYXkub3JpZ2luO1xuICAgICAgICB0aGlzLmNvbm5lY3RlZE92ZXJsYXkub3JpZ2luID0gb3JpZ2luO1xuICAgICAgICB0aGlzLmZpcmVPdmVybGF5TmdPbkNoYW5nZXMoJ29yaWdpbicsIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5vcmlnaW4sIHByZXZPcmlnaW4pO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBzZXRQb3NpdGlvbnMocG9zaXRpb25zOiBDZGtDb25uZWN0ZWRPdmVybGF5Wydwb3NpdGlvbnMnXSkge1xuICAgICAgICBjb25zdCBwcmV2UG9zaXRpb25zID0gdGhpcy5jb25uZWN0ZWRPdmVybGF5LnBvc2l0aW9ucztcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5LnBvc2l0aW9ucyA9IHBvc2l0aW9ucztcbiAgICAgICAgdGhpcy5maXJlT3ZlcmxheU5nT25DaGFuZ2VzKCdwb3NpdGlvbnMnLCB0aGlzLmNvbm5lY3RlZE92ZXJsYXkucG9zaXRpb25zLCBwcmV2UG9zaXRpb25zKTtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5Lm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIGNvbXB1dGVQb3NpdGlvbnMoKSB7XG4gICAgICAgIGNvbnN0IGdyZWF0ZXN0RGltZW5zaW9uRnJvbVRoZUFycm93ID0gTWF0aC5tYXgoXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJSb290LnBvcG92ZXJBcnJvd0RpcmVjdGl2ZSgpPy53aWR0aCgpID8/IDAsXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJSb290LnBvcG92ZXJBcnJvd0RpcmVjdGl2ZSgpPy5oZWlnaHQoKSA/PyAwXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IG9mZnNldHM6IFJkeFNpZGVBbmRBbGlnbk9mZnNldHMgPSB7XG4gICAgICAgICAgICBzaWRlT2Zmc2V0OiB0aGlzLnNpZGVPZmZzZXQoKSA/PyAoZ3JlYXRlc3REaW1lbnNpb25Gcm9tVGhlQXJyb3cgfHwgREVGQVVMVFMub2Zmc2V0cy5zaWRlKSxcbiAgICAgICAgICAgIGFsaWduT2Zmc2V0OiB0aGlzLmFsaWduT2Zmc2V0KCkgPz8gREVGQVVMVFMub2Zmc2V0cy5hbGlnblxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBiYXNlUG9zaXRpb24gPSBnZXRDb250ZW50UG9zaXRpb24oe1xuICAgICAgICAgICAgc2lkZTogdGhpcy5zaWRlKCksXG4gICAgICAgICAgICBhbGlnbjogdGhpcy5hbGlnbigpLFxuICAgICAgICAgICAgc2lkZU9mZnNldDogb2Zmc2V0cy5zaWRlT2Zmc2V0LFxuICAgICAgICAgICAgYWxpZ25PZmZzZXQ6IG9mZnNldHMuYWxpZ25PZmZzZXRcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IFtiYXNlUG9zaXRpb25dO1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZUFsdGVybmF0ZVBvc2l0aW9ucygpKSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEFsdGVybmF0ZSBwb3NpdGlvbnMgZm9yIGJldHRlciB1c2VyIGV4cGVyaWVuY2UgYWxvbmcgdGhlIFgvWSBheGlzIChlLmcuIHZlcnRpY2FsL2hvcml6b250YWwgc2Nyb2xsaW5nKVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb25zdCBhbGxQb3NzaWJsZUNvbm5lY3RlZFBvc2l0aW9ucyA9IGdldEFsbFBvc3NpYmxlQ29ubmVjdGVkUG9zaXRpb25zKCk7XG4gICAgICAgICAgICBhbGxQb3NzaWJsZUNvbm5lY3RlZFBvc2l0aW9ucy5mb3JFYWNoKChfLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzaWRlQW5kQWxpZ25BcnJheSA9IGtleS5zcGxpdCgnfCcpO1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgKHNpZGVBbmRBbGlnbkFycmF5WzBdIGFzIFJkeFBvcG92ZXJTaWRlKSAhPT0gdGhpcy5zaWRlKCkgfHxcbiAgICAgICAgICAgICAgICAgICAgKHNpZGVBbmRBbGlnbkFycmF5WzFdIGFzIFJkeFBvcG92ZXJBbGlnbikgIT09IHRoaXMuYWxpZ24oKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldENvbnRlbnRQb3NpdGlvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lkZTogc2lkZUFuZEFsaWduQXJyYXlbMF0gYXMgUmR4UG9wb3ZlclNpZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ246IHNpZGVBbmRBbGlnbkFycmF5WzFdIGFzIFJkeFBvcG92ZXJBbGlnbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWRlT2Zmc2V0OiBvZmZzZXRzLnNpZGVPZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25PZmZzZXQ6IG9mZnNldHMuYWxpZ25PZmZzZXRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvc2l0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uT3JpZ2luQ2hhbmdlRWZmZWN0KCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gKHRoaXMucG9wb3ZlclJvb3QucG9wb3ZlckFuY2hvckRpcmVjdGl2ZSgpID8/IHRoaXMucG9wb3ZlclJvb3QucG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUoKSlcbiAgICAgICAgICAgICAgICAub3ZlcmxheU9yaWdpbjtcbiAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRPcmlnaW4ob3JpZ2luKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgb25Qb3NpdGlvbkNoYW5nZUVmZmVjdCgpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IHRoaXMucG9zaXRpb25zKCk7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVBbHRlcm5hdGVQb3NpdGlvbnMoKTtcbiAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRQb3NpdGlvbnMocG9zaXRpb25zKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgZmlyZU92ZXJsYXlOZ09uQ2hhbmdlczxLIGV4dGVuZHMga2V5b2YgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgViBleHRlbmRzIENka0Nvbm5lY3RlZE92ZXJsYXlbS10+KFxuICAgICAgICBpbnB1dDogSyxcbiAgICAgICAgY3VycmVudFZhbHVlOiBWLFxuICAgICAgICBwcmV2aW91c1ZhbHVlOiBWLFxuICAgICAgICBmaXJzdENoYW5nZSA9IGZhbHNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5uZ09uQ2hhbmdlcyh7XG4gICAgICAgICAgICBbaW5wdXRdOiBuZXcgU2ltcGxlQ2hhbmdlKHByZXZpb3VzVmFsdWUsIGN1cnJlbnRWYWx1ZSwgZmlyc3RDaGFuZ2UpXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcG9wb3Zlci9zcmMvcG9wb3Zlci1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUNILFFBQVEsRUFDUixVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSwyQkFBMkIsRUFBRSxjQUFjLEVBQTBCLE1BQU0saUJBQWlCLENBQUM7QUFDdkgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVN2RixNQUFNLE9BQU8sMEJBQTBCO0lBc0VuQztRQXJFQSxjQUFjO1FBQ0csZ0JBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBQ25ELGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuRCxjQUFjO1FBQ0csWUFBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxjQUFjO1FBQ0csZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FB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QyxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2lCQUNuRyxhQUFhLENBQUM7WUFDbkIsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztJQUNOLHNCQUFzQjtRQUMxQixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ2xDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWM7SUFDTixzQkFBc0IsQ0FDMUIsS0FBUSxFQUNSLFlBQWUsRUFDZixhQUFnQixFQUNoQixXQUFXLEdBQUcsS0FBSztRQUVuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO1lBQzlCLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxZQUFZLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUM7U0FDdEUsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0EzVFEsMEJBQTBCO21HQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBUHRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3RCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gICAgY29tcHV0ZWQsXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgZWZmZWN0LFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBPbkluaXQsXG4gICAgb3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICB1bnRyYWNrZWRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaW5qZWN0UG9wb3ZlclJvb3QgfSBmcm9tICcuL3BvcG92ZXItcm9vdC5pbmplY3QnO1xuaW1wb3J0IHsgREVGQVVMVFMgfSBmcm9tICcuL3BvcG92ZXIuY29uc3RhbnRzJztcbmltcG9ydCB7IFJkeFBvcG92ZXJBbGlnbiwgUmR4UG9wb3ZlckF0dGFjaERldGFjaEV2ZW50LCBSZHhQb3BvdmVyU2lkZSwgUmR4U2lkZUFuZEFsaWduT2Zmc2V0cyB9IGZyb20gJy4vcG9wb3Zlci50eXBlcyc7XG5pbXBvcnQgeyBnZXRBbGxQb3NzaWJsZUNvbm5lY3RlZFBvc2l0aW9ucywgZ2V0Q29udGVudFBvc2l0aW9uIH0gZnJvbSAnLi9wb3BvdmVyLnV0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4UG9wb3ZlckNvbnRlbnRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIENka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJkeFBvcG92ZXJDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9wb3ZlclJvb3QgPSBpbmplY3RQb3BvdmVyUm9vdCgpO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3RlZE92ZXJsYXkgPSBpbmplY3QoQ2RrQ29ubmVjdGVkT3ZlcmxheSk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IG5hbWUgPSBjb21wdXRlZCgoKSA9PiBgcmR4LXBvcG92ZXItdHJpZ2dlci0ke3RoaXMucG9wb3ZlclJvb3QudW5pcXVlSWQoKX1gKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUaGUgcHJlZmVycmVkIHNpZGUgb2YgdGhlIHRyaWdnZXIgdG8gcmVuZGVyIGFnYWluc3Qgd2hlbiBvcGVuLiBXaWxsIGJlIHJldmVyc2VkIHdoZW4gY29sbGlzaW9ucyBvY2N1ciBhbmQgYXZvaWRDb2xsaXNpb25zIGlzIGVuYWJsZWQuXG4gICAgICogQGRlZmF1bHQgdG9wXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2lkZSA9IGlucHV0PFJkeFBvcG92ZXJTaWRlPihSZHhQb3BvdmVyU2lkZS5Ub3ApO1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUaGUgZGlzdGFuY2UgaW4gcGl4ZWxzIGZyb20gdGhlIHRyaWdnZXIuXG4gICAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2lkZU9mZnNldCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZD4odm9pZCAwKTtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVGhlIHByZWZlcnJlZCBhbGlnbm1lbnQgYWdhaW5zdCB0aGUgdHJpZ2dlci4gTWF5IGNoYW5nZSB3aGVuIGNvbGxpc2lvbnMgb2NjdXIuXG4gICAgICogQGRlZmF1bHQgY2VudGVyXG4gICAgICovXG4gICAgcmVhZG9ubHkgYWxpZ24gPSBpbnB1dDxSZHhQb3BvdmVyQWxpZ24+KFJkeFBvcG92ZXJBbGlnbi5DZW50ZXIpO1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbiBvZmZzZXQgaW4gcGl4ZWxzIGZyb20gdGhlIFwic3RhcnRcIiBvciBcImVuZFwiIGFsaWdubWVudCBvcHRpb25zLlxuICAgICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFsaWduT2Zmc2V0ID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPih2b2lkIDApO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgdG8gYWRkIHNvbWUgYWx0ZXJuYXRlIHBvc2l0aW9ucyBvZiB0aGUgY29udGVudC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFsdGVybmF0ZVBvc2l0aW9uc0Rpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIHRvIHByZXZlbnQgYG9uT3ZlcmxheUVzY2FwZUtleURvd25gIGhhbmRsZXIgZnJvbSBjYWxsaW5nLiAqL1xuICAgIHJlYWRvbmx5IG9uT3ZlcmxheUVzY2FwZUtleURvd25EaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgICAvKiogQGRlc2NyaXB0aW9uIFdoZXRoZXIgdG8gcHJldmVudCBgb25PdmVybGF5T3V0c2lkZUNsaWNrYCBoYW5kbGVyIGZyb20gY2FsbGluZy4gKi9cbiAgICByZWFkb25seSBvbk92ZXJsYXlPdXRzaWRlQ2xpY2tEaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSBlc2NhcGUga2V5IGlzIGRvd24uXG4gICAgICogSXQgY2FuIGJlIHByZXZlbnRlZCBieSBzZXR0aW5nIGBvbk92ZXJsYXlFc2NhcGVLZXlEb3duRGlzYWJsZWRgIGlucHV0IHRvIGB0cnVlYC5cbiAgICAgKi9cbiAgICByZWFkb25seSBvbk92ZXJsYXlFc2NhcGVLZXlEb3duID0gb3V0cHV0PEtleWJvYXJkRXZlbnQ+KCk7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gYSBwb2ludGVyIGV2ZW50IG9jY3VycyBvdXRzaWRlIHRoZSBib3VuZHMgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBJdCBjYW4gYmUgcHJldmVudGVkIGJ5IHNldHRpbmcgYG9uT3ZlcmxheU91dHNpZGVDbGlja0Rpc2FibGVkYCBpbnB1dCB0byBgdHJ1ZWAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgb25PdmVybGF5T3V0c2lkZUNsaWNrID0gb3V0cHV0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRXZlbnQgaGFuZGxlciBjYWxsZWQgYWZ0ZXIgdGhlIG92ZXJsYXkgaXMgb3BlblxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9uT3BlbiA9IG91dHB1dDx2b2lkPigpO1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFdmVudCBoYW5kbGVyIGNhbGxlZCBhZnRlciB0aGUgb3ZlcmxheSBpcyBjbG9zZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBvbkNsb3NlZCA9IG91dHB1dDx2b2lkPigpO1xuXG4gICAgLyoqIEBpbmdvcmUgKi9cbiAgICByZWFkb25seSBwb3NpdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbXB1dGVQb3NpdGlvbnMoKSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5vbk9yaWdpbkNoYW5nZUVmZmVjdCgpO1xuICAgICAgICB0aGlzLm9uUG9zaXRpb25DaGFuZ2VFZmZlY3QoKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnNldFNjcm9sbFN0cmF0ZWd5KCk7XG4gICAgICAgIHRoaXMuc2V0SGFzQmFja2Ryb3AoKTtcbiAgICAgICAgdGhpcy5zZXREaXNhYmxlQ2xvc2UoKTtcbiAgICAgICAgdGhpcy5vbkF0dGFjaCgpO1xuICAgICAgICB0aGlzLm9uRGV0YWNoKCk7XG4gICAgICAgIHRoaXMuY29ubmVjdEtleWRvd25Fc2NhcGUoKTtcbiAgICAgICAgdGhpcy5jb25uZWN0T3V0c2lkZUNsaWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBvcGVuKCkge1xuICAgICAgICBpZiAodGhpcy5jb25uZWN0ZWRPdmVybGF5Lm9wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcmV2T3BlbiA9IHRoaXMuY29ubmVjdGVkT3ZlcmxheS5vcGVuO1xuICAgICAgICB0aGlzLmNvbm5lY3RlZE92ZXJsYXkub3BlbiA9IHRydWU7XG4gICAgICAgIHRoaXMuZmlyZU92ZXJsYXlOZ09uQ2hhbmdlcygnb3BlbicsIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5vcGVuLCBwcmV2T3Blbik7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbm5lY3RlZE92ZXJsYXkub3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByZXZPcGVuID0gdGhpcy5jb25uZWN0ZWRPdmVybGF5Lm9wZW47XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmlyZU92ZXJsYXlOZ09uQ2hhbmdlcygnb3BlbicsIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5vcGVuLCBwcmV2T3Blbik7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwb3NpdGlvbkNoYW5nZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5wb3NpdGlvbkNoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgY29ubmVjdEtleWRvd25Fc2NhcGUoKSB7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5vdmVybGF5S2V5ZG93blxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5vbk92ZXJsYXlFc2NhcGVLZXlEb3duRGlzYWJsZWQoKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMucG9wb3ZlclJvb3QucmR4Q2RrRXZlbnRTZXJ2aWNlPy5wcmltaXRpdmVQcmV2ZW50ZWRGcm9tQ2RrRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyUm9vdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2RrT3ZlcmxheUVzY2FwZUtleURvd24nXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudC5rZXkgPT09ICdFc2NhcGUnKSxcbiAgICAgICAgICAgICAgICB0YXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25PdmVybGF5RXNjYXBlS2V5RG93bi5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMucG9wb3ZlclJvb3QuZmlyc3REZWZhdWx0T3BlbigpKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSb290LmhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgY29ubmVjdE91dHNpZGVDbGljaygpIHtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5Lm92ZXJsYXlPdXRzaWRlQ2xpY2tcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMub25PdmVybGF5T3V0c2lkZUNsaWNrRGlzYWJsZWQoKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMucG9wb3ZlclJvb3QucmR4Q2RrRXZlbnRTZXJ2aWNlPy5wcmltaXRpdmVQcmV2ZW50ZWRGcm9tQ2RrRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyUm9vdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2RrT3ZlcmxheU91dHNpZGVDbGljaydcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEhhbmRsZSB0aGUgc2l0dWF0aW9uIHdoZW4gYW4gYW5jaG9yIGlzIGFkZGVkIGFuZCB0aGUgYW5jaG9yIGJlY29tZXMgdGhlIG9yaWdpbiBvZiB0aGUgb3ZlcmxheVxuICAgICAgICAgICAgICAgICAqIGhlbmNlICB0aGUgdHJpZ2dlciB3aWxsIGJlIGNvbnNpZGVyZWQgdGhlIG91dHNpZGUgZWxlbWVudFxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLnBvcG92ZXJSb290LnBvcG92ZXJBbmNob3JEaXJlY3RpdmUoKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMucG9wb3ZlclJvb3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFwKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uT3ZlcmxheU91dHNpZGVDbGljay5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMucG9wb3ZlclJvb3QuZmlyc3REZWZhdWx0T3BlbigpKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSb290LmhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgb25BdHRhY2goKSB7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5hdHRhY2hcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIGB0aGlzLm9uT3Blbi5lbWl0KCk7YCBpcyBiZWluZyBkZWxlZ2F0ZWQgdG8gdGhlIHJvb3QgZGlyZWN0aXZlIGR1ZSB0byB0aGUgb3BlbmluZyBhbmltYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJvb3QuYXR0YWNoRGV0YWNoRXZlbnQuc2V0KFJkeFBvcG92ZXJBdHRhY2hEZXRhY2hFdmVudC5BVFRBQ0gpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIG9uRGV0YWNoKCkge1xuICAgICAgICB0aGlzLmNvbm5lY3RlZE92ZXJsYXkuZGV0YWNoXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgKiBgdGhpcy5vbkNsb3NlZC5lbWl0KCk7YCBpcyBiZWluZyBkZWxlZ2F0ZWQgdG8gdGhlIHJvb3QgZGlyZWN0aXZlIGR1ZSB0byB0aGUgY2xvc2luZyBhbmltYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJvb3QuYXR0YWNoRGV0YWNoRXZlbnQuc2V0KFJkeFBvcG92ZXJBdHRhY2hEZXRhY2hFdmVudC5ERVRBQ0gpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHNldFNjcm9sbFN0cmF0ZWd5KCkge1xuICAgICAgICBjb25zdCBwcmV2U2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLmNvbm5lY3RlZE92ZXJsYXkuc2Nyb2xsU3RyYXRlZ3k7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5zY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5maXJlT3ZlcmxheU5nT25DaGFuZ2VzKCdzY3JvbGxTdHJhdGVneScsIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5zY3JvbGxTdHJhdGVneSwgcHJldlNjcm9sbFN0cmF0ZWd5KTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgc2V0SGFzQmFja2Ryb3AoKSB7XG4gICAgICAgIGNvbnN0IHByZXZIYXNCYWNrZHJvcCA9IHRoaXMuY29ubmVjdGVkT3ZlcmxheS5oYXNCYWNrZHJvcDtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5Lmhhc0JhY2tkcm9wID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmlyZU92ZXJsYXlOZ09uQ2hhbmdlcygnaGFzQmFja2Ryb3AnLCB0aGlzLmNvbm5lY3RlZE92ZXJsYXkuaGFzQmFja2Ryb3AsIHByZXZIYXNCYWNrZHJvcCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHNldERpc2FibGVDbG9zZSgpIHtcbiAgICAgICAgY29uc3QgcHJldkRpc2FibGVDbG9zZSA9IHRoaXMuY29ubmVjdGVkT3ZlcmxheS5kaXNhYmxlQ2xvc2U7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuICAgICAgICB0aGlzLmZpcmVPdmVybGF5TmdPbkNoYW5nZXMoJ2Rpc2FibGVDbG9zZScsIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5kaXNhYmxlQ2xvc2UsIHByZXZEaXNhYmxlQ2xvc2UpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBzZXRPcmlnaW4ob3JpZ2luOiBDZGtDb25uZWN0ZWRPdmVybGF5WydvcmlnaW4nXSkge1xuICAgICAgICBjb25zdCBwcmV2T3JpZ2luID0gdGhpcy5jb25uZWN0ZWRPdmVybGF5Lm9yaWdpbjtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRPdmVybGF5Lm9yaWdpbiA9IG9yaWdpbjtcbiAgICAgICAgdGhpcy5maXJlT3ZlcmxheU5nT25DaGFuZ2VzKCdvcmlnaW4nLCB0aGlzLmNvbm5lY3RlZE92ZXJsYXkub3JpZ2luLCBwcmV2T3JpZ2luKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgc2V0UG9zaXRpb25zKHBvc2l0aW9uczogQ2RrQ29ubmVjdGVkT3ZlcmxheVsncG9zaXRpb25zJ10pIHtcbiAgICAgICAgY29uc3QgcHJldlBvc2l0aW9ucyA9IHRoaXMuY29ubmVjdGVkT3ZlcmxheS5wb3NpdGlvbnM7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5wb3NpdGlvbnMgPSBwb3NpdGlvbnM7XG4gICAgICAgIHRoaXMuZmlyZU92ZXJsYXlOZ09uQ2hhbmdlcygncG9zaXRpb25zJywgdGhpcy5jb25uZWN0ZWRPdmVybGF5LnBvc2l0aW9ucywgcHJldlBvc2l0aW9ucyk7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBjb21wdXRlUG9zaXRpb25zKCkge1xuICAgICAgICBjb25zdCBncmVhdGVzdERpbWVuc2lvbkZyb21UaGVBcnJvdyA9IE1hdGgubWF4KFxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUm9vdC5wb3BvdmVyQXJyb3dEaXJlY3RpdmUoKT8ud2lkdGgoKSA/PyAwLFxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUm9vdC5wb3BvdmVyQXJyb3dEaXJlY3RpdmUoKT8uaGVpZ2h0KCkgPz8gMFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBvZmZzZXRzOiBSZHhTaWRlQW5kQWxpZ25PZmZzZXRzID0ge1xuICAgICAgICAgICAgc2lkZU9mZnNldDogdGhpcy5zaWRlT2Zmc2V0KCkgPz8gKGdyZWF0ZXN0RGltZW5zaW9uRnJvbVRoZUFycm93IHx8IERFRkFVTFRTLm9mZnNldHMuc2lkZSksXG4gICAgICAgICAgICBhbGlnbk9mZnNldDogdGhpcy5hbGlnbk9mZnNldCgpID8/IERFRkFVTFRTLm9mZnNldHMuYWxpZ25cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYmFzZVBvc2l0aW9uID0gZ2V0Q29udGVudFBvc2l0aW9uKHtcbiAgICAgICAgICAgIHNpZGU6IHRoaXMuc2lkZSgpLFxuICAgICAgICAgICAgYWxpZ246IHRoaXMuYWxpZ24oKSxcbiAgICAgICAgICAgIHNpZGVPZmZzZXQ6IG9mZnNldHMuc2lkZU9mZnNldCxcbiAgICAgICAgICAgIGFsaWduT2Zmc2V0OiBvZmZzZXRzLmFsaWduT2Zmc2V0XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBwb3NpdGlvbnMgPSBbYmFzZVBvc2l0aW9uXTtcbiAgICAgICAgaWYgKCF0aGlzLmFsdGVybmF0ZVBvc2l0aW9uc0Rpc2FibGVkKCkpIHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogQWx0ZXJuYXRlIHBvc2l0aW9ucyBmb3IgYmV0dGVyIHVzZXIgZXhwZXJpZW5jZSBhbG9uZyB0aGUgWC9ZIGF4aXMgKGUuZy4gdmVydGljYWwvaG9yaXpvbnRhbCBzY3JvbGxpbmcpXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGNvbnN0IGFsbFBvc3NpYmxlQ29ubmVjdGVkUG9zaXRpb25zID0gZ2V0QWxsUG9zc2libGVDb25uZWN0ZWRQb3NpdGlvbnMoKTtcbiAgICAgICAgICAgIGFsbFBvc3NpYmxlQ29ubmVjdGVkUG9zaXRpb25zLmZvckVhY2goKF8sIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNpZGVBbmRBbGlnbkFycmF5ID0ga2V5LnNwbGl0KCd8Jyk7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAoc2lkZUFuZEFsaWduQXJyYXlbMF0gYXMgUmR4UG9wb3ZlclNpZGUpICE9PSB0aGlzLnNpZGUoKSB8fFxuICAgICAgICAgICAgICAgICAgICAoc2lkZUFuZEFsaWduQXJyYXlbMV0gYXMgUmR4UG9wb3ZlckFsaWduKSAhPT0gdGhpcy5hbGlnbigpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Q29udGVudFBvc2l0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWRlOiBzaWRlQW5kQWxpZ25BcnJheVswXSBhcyBSZHhQb3BvdmVyU2lkZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogc2lkZUFuZEFsaWduQXJyYXlbMV0gYXMgUmR4UG9wb3ZlckFsaWduLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZGVPZmZzZXQ6IG9mZnNldHMuc2lkZU9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbk9mZnNldDogb2Zmc2V0cy5hbGlnbk9mZnNldFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9zaXRpb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25PcmlnaW5DaGFuZ2VFZmZlY3QoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW4gPSAodGhpcy5wb3BvdmVyUm9vdC5wb3BvdmVyQW5jaG9yRGlyZWN0aXZlKCkgPz8gdGhpcy5wb3BvdmVyUm9vdC5wb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSgpKVxuICAgICAgICAgICAgICAgIC5vdmVybGF5T3JpZ2luO1xuICAgICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldE9yaWdpbihvcmlnaW4pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBvblBvc2l0aW9uQ2hhbmdlRWZmZWN0KCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcG9zaXRpb25zID0gdGhpcy5wb3NpdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMuYWx0ZXJuYXRlUG9zaXRpb25zRGlzYWJsZWQoKTtcbiAgICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRQb3NpdGlvbnMocG9zaXRpb25zKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgZmlyZU92ZXJsYXlOZ09uQ2hhbmdlczxLIGV4dGVuZHMga2V5b2YgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgViBleHRlbmRzIENka0Nvbm5lY3RlZE92ZXJsYXlbS10+KFxuICAgICAgICBpbnB1dDogSyxcbiAgICAgICAgY3VycmVudFZhbHVlOiBWLFxuICAgICAgICBwcmV2aW91c1ZhbHVlOiBWLFxuICAgICAgICBmaXJzdENoYW5nZSA9IGZhbHNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkT3ZlcmxheS5uZ09uQ2hhbmdlcyh7XG4gICAgICAgICAgICBbaW5wdXRdOiBuZXcgU2ltcGxlQ2hhbmdlKHByZXZpb3VzVmFsdWUsIGN1cnJlbnRWYWx1ZSwgZmlyc3RDaGFuZ2UpXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|