@koobiq/components 16.0.0-beta.15 → 16.0.0-beta.17
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/checkbox/_checkbox-theme.scss +9 -6
- package/core/common-behaviors/index.d.ts +2 -0
- package/core/pop-up/pop-up.d.ts +7 -0
- package/core/styles/_variables.scss +1 -1
- package/core/styles/theming/_components-theming.scss +4 -0
- package/core/styles/theming/_theming.scss +1 -0
- package/esm2022/core/common-behaviors/index.mjs +3 -1
- package/esm2022/core/highlight/highlight.pipe.mjs +2 -2
- package/esm2022/core/pop-up/pop-up-trigger.mjs +2 -2
- package/esm2022/core/pop-up/pop-up.mjs +8 -1
- package/esm2022/form-field/form-field.mjs +7 -1
- package/esm2022/icon/icon-button.component.mjs +2 -1
- package/esm2022/icon/icon-item.component.mjs +2 -1
- package/esm2022/icon/icon.component.mjs +13 -1
- package/esm2022/input/input-number.mjs +4 -2
- package/esm2022/loader-overlay/loader-overlay.component.mjs +2 -2
- package/esm2022/modal/modal.component.mjs +17 -3
- package/esm2022/navbar/navbar-item.component.mjs +11 -8
- package/esm2022/navbar/navbar.component.mjs +18 -8
- package/esm2022/navbar/vertical-navbar.component.mjs +3 -3
- package/esm2022/popover/popover.component.mjs +6 -1
- package/esm2022/tabs/tab-group.component.mjs +5 -5
- package/esm2022/textarea/textarea.component.mjs +32 -21
- package/esm2022/tree/control/base-tree-control.mjs +4 -4
- package/esm2022/tree/control/flat-tree-control.filters.mjs +3 -2
- package/esm2022/tree/control/flat-tree-control.mjs +4 -4
- package/esm2022/tree/control/tree-control.mjs +1 -1
- package/esm2022/tree/toggle.mjs +2 -2
- package/esm2022/tree/tree-option.component.mjs +4 -1
- package/fesm2022/koobiq-components-core.mjs +14 -5
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +6 -0
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +14 -0
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +3 -1
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +16 -2
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +29 -16
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +5 -0
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +3 -3
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +31 -20
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +12 -8
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/form-field/form-field.d.ts +2 -0
- package/icon/icon-button.component.d.ts +1 -0
- package/icon/icon-item.component.d.ts +1 -0
- package/icon/icon.component.d.ts +3 -0
- package/input/input-number.d.ts +3 -2
- package/modal/modal.component.d.ts +3 -0
- package/navbar/_navbar-theme.scss +2 -2
- package/navbar/navbar-item.component.d.ts +1 -0
- package/navbar/navbar-item.scss +2 -2
- package/navbar/navbar.component.d.ts +3 -0
- package/package.json +31 -31
- package/popover/popover.component.d.ts +5 -0
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/splitter/_splitter-theme.scss +4 -4
- package/textarea/textarea.component.d.ts +4 -3
- package/tree/control/base-tree-control.d.ts +1 -1
- package/tree/control/tree-control.d.ts +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
-
import { Directive, ElementRef, Inject, Input, Optional, Self, InjectionToken, NgZone } from '@angular/core';
|
|
2
|
+
import { Directive, ElementRef, Inject, Input, Optional, Self, InjectionToken, NgZone, Host } from '@angular/core';
|
|
3
3
|
import { FormGroupDirective, NgControl, NgForm } from '@angular/forms';
|
|
4
|
-
import { ErrorStateMatcher, mixinErrorState } from '@koobiq/components/core';
|
|
4
|
+
import { ErrorStateMatcher, KBQ_PARENT_ANIMATION_COMPONENT, mixinErrorState } from '@koobiq/components/core';
|
|
5
5
|
import { KbqFormFieldControl } from '@koobiq/components/form-field';
|
|
6
6
|
import { Subject } from 'rxjs';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
@@ -77,9 +77,10 @@ export class KbqTextarea extends KbqTextareaMixinBase {
|
|
|
77
77
|
this.stateChanges.next();
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
constructor(elementRef, ngControl, parentForm, parentFormGroup, defaultErrorStateMatcher, inputValueAccessor, ngZone) {
|
|
80
|
+
constructor(elementRef, ngControl, parentForm, parentFormGroup, defaultErrorStateMatcher, inputValueAccessor, parent, ngZone) {
|
|
81
81
|
super(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);
|
|
82
82
|
this.elementRef = elementRef;
|
|
83
|
+
this.parent = parent;
|
|
83
84
|
this.ngZone = ngZone;
|
|
84
85
|
this.canGrow = true;
|
|
85
86
|
/**
|
|
@@ -103,22 +104,39 @@ export class KbqTextarea extends KbqTextareaMixinBase {
|
|
|
103
104
|
this.lineHeight = 0;
|
|
104
105
|
this.freeRowsHeight = 0;
|
|
105
106
|
this.minHeight = 0;
|
|
107
|
+
/** Grow textarea height to avoid vertical scroll */
|
|
108
|
+
this.grow = () => {
|
|
109
|
+
if (!this.canGrow) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
this.ngZone.runOutsideAngular(() => {
|
|
113
|
+
const textarea = this.elementRef.nativeElement;
|
|
114
|
+
const outerHeight = parseInt(window.getComputedStyle(textarea).height, 10);
|
|
115
|
+
const diff = outerHeight - textarea.clientHeight;
|
|
116
|
+
textarea.style.minHeight = 0; // this line is important to height recalculation
|
|
117
|
+
const height = Math.max(this.minHeight, +textarea.scrollHeight + diff + this.freeRowsHeight);
|
|
118
|
+
textarea.style.minHeight = `${height}px`;
|
|
119
|
+
});
|
|
120
|
+
};
|
|
106
121
|
// If no input value accessor was explicitly specified, use the element as the textarea value
|
|
107
122
|
// accessor.
|
|
108
123
|
this.valueAccessor = inputValueAccessor || this.elementRef.nativeElement;
|
|
109
124
|
this.previousNativeValue = this.value;
|
|
110
125
|
// Force setter to be called in case id was not specified.
|
|
111
126
|
this.id = this.id;
|
|
112
|
-
this.
|
|
127
|
+
this.parent?.animationDone
|
|
128
|
+
.subscribe(() => this.ngOnInit());
|
|
129
|
+
this.growSubscription = this.stateChanges
|
|
130
|
+
.subscribe(this.grow);
|
|
113
131
|
}
|
|
114
132
|
ngOnInit() {
|
|
115
|
-
setTimeout(() => this.grow(), 0);
|
|
116
133
|
this.lineHeight = parseInt(getComputedStyle(this.elementRef.nativeElement).lineHeight, 10);
|
|
117
134
|
const paddingTop = parseInt(getComputedStyle(this.elementRef.nativeElement).paddingTop, 10);
|
|
118
135
|
const paddingBottom = parseInt(getComputedStyle(this.elementRef.nativeElement).paddingBottom, 10);
|
|
119
136
|
// tslint:disable-next-line:no-magic-numbers
|
|
120
137
|
this.minHeight = this.lineHeight * 2 + paddingTop + paddingBottom;
|
|
121
138
|
this.freeRowsHeight = this.lineHeight;
|
|
139
|
+
setTimeout(this.grow, 0);
|
|
122
140
|
}
|
|
123
141
|
ngOnChanges() {
|
|
124
142
|
this.stateChanges.next();
|
|
@@ -147,20 +165,6 @@ export class KbqTextarea extends KbqTextareaMixinBase {
|
|
|
147
165
|
control.statusChanges.emit(control.status);
|
|
148
166
|
}
|
|
149
167
|
}
|
|
150
|
-
/** Grow textarea height to avoid vertical scroll */
|
|
151
|
-
grow() {
|
|
152
|
-
if (!this.canGrow) {
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
this.ngZone.runOutsideAngular(() => {
|
|
156
|
-
const textarea = this.elementRef.nativeElement;
|
|
157
|
-
const outerHeight = parseInt(window.getComputedStyle(textarea).height, 10);
|
|
158
|
-
const diff = outerHeight - textarea.clientHeight;
|
|
159
|
-
textarea.style.minHeight = 0; // this line is important to height recalculation
|
|
160
|
-
const height = Math.max(this.minHeight, +textarea.scrollHeight + diff + this.freeRowsHeight);
|
|
161
|
-
textarea.style.minHeight = `${height}px`;
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
168
|
/** Focuses the textarea. */
|
|
165
169
|
focus() {
|
|
166
170
|
this.elementRef.nativeElement.focus();
|
|
@@ -200,7 +204,7 @@ export class KbqTextarea extends KbqTextareaMixinBase {
|
|
|
200
204
|
const validity = this.elementRef.nativeElement.validity;
|
|
201
205
|
return validity && validity.badInput;
|
|
202
206
|
}
|
|
203
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqTextarea, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i2.ErrorStateMatcher }, { token: KBQ_TEXTAREA_VALUE_ACCESSOR, optional: true, self: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
207
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqTextarea, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i2.ErrorStateMatcher }, { token: KBQ_TEXTAREA_VALUE_ACCESSOR, optional: true, self: true }, { token: KBQ_PARENT_ANIMATION_COMPONENT, host: true, optional: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
204
208
|
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqTextarea, selector: "textarea[kbqTextarea]", inputs: { canGrow: "canGrow", errorStateMatcher: "errorStateMatcher", disabled: "disabled", id: "id", placeholder: "placeholder", required: "required", value: "value" }, host: { listeners: { "blur": "onBlur()", "focus": "focusChanged(true)" }, properties: { "class.kbq-textarea-resizable": "!canGrow", "attr.id": "id", "attr.placeholder": "placeholder", "attr.aria-invalid": "errorState", "attr.disabled": "disabled || null", "attr.required": "required" }, classAttribute: "kbq-textarea kbq-scrollbar" }, providers: [{ provide: KbqFormFieldControl, useExisting: KbqTextarea }], exportAs: ["kbqTextarea"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
205
209
|
}
|
|
206
210
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqTextarea, decorators: [{
|
|
@@ -236,6 +240,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
|
236
240
|
}, {
|
|
237
241
|
type: Inject,
|
|
238
242
|
args: [KBQ_TEXTAREA_VALUE_ACCESSOR]
|
|
243
|
+
}] }, { type: undefined, decorators: [{
|
|
244
|
+
type: Optional
|
|
245
|
+
}, {
|
|
246
|
+
type: Host
|
|
247
|
+
}, {
|
|
248
|
+
type: Inject,
|
|
249
|
+
args: [KBQ_PARENT_ANIMATION_COMPONENT]
|
|
239
250
|
}] }, { type: i0.NgZone }]; }, propDecorators: { canGrow: [{
|
|
240
251
|
type: Input
|
|
241
252
|
}], errorStateMatcher: [{
|
|
@@ -251,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
|
251
262
|
}], value: [{
|
|
252
263
|
type: Input
|
|
253
264
|
}] } });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUNILFNBQVMsRUFFVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLGNBQWMsRUFDZCxNQUFNLEVBR1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGtCQUFrQixFQUNsQixTQUFTLEVBQ1QsTUFBTSxFQUNULE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUdILGlCQUFpQixFQUNqQixlQUFlLEVBQ2xCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFnQixPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFHN0MsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQWlCLDZCQUE2QixDQUFDLENBQUM7QUFFN0csSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBR3JCLG9CQUFvQjtBQUNwQixNQUFNLE9BQU8sZUFBZTtJQVF4QixZQUNXLHdCQUEyQyxFQUMzQyxVQUFrQixFQUNsQixlQUFtQyxFQUNuQyxTQUFvQjtRQUhwQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQW1CO1FBQzNDLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFYL0I7Ozs7V0FJRztRQUNNLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU96QyxDQUFDO0NBQ1A7QUFFRCxvQkFB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LENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDOzsyRkFFOUQsV0FBVztrQkFsQnZCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsNEJBQTRCO3dCQUNuQyxnQ0FBZ0MsRUFBRSxVQUFVO3dCQUU1QyxXQUFXLEVBQUUsSUFBSTt3QkFDakIsb0JBQW9CLEVBQUUsYUFBYTt3QkFDbkMscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMsaUJBQWlCLEVBQUUsa0JBQWtCO3dCQUNyQyxpQkFBaUIsRUFBRSxVQUFVO3dCQUU3QixRQUFRLEVBQUUsVUFBVTt3QkFDcEIsU0FBUyxFQUFFLG9CQUFvQjtxQkFDbEM7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxhQUFhLEVBQUUsQ0FBQztpQkFDMUU7OzBCQWdIUSxRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBRVIsUUFBUTs7MEJBQUksSUFBSTs7MEJBQUksTUFBTTsyQkFBQywyQkFBMkI7aUVBaEhsRCxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQXlCRixRQUFRO3NCQURYLEtBQUs7Z0JBdUJGLEVBQUU7c0JBREwsS0FBSztnQkFhRyxXQUFXO3NCQUFuQixLQUFLO2dCQU9GLFFBQVE7c0JBRFgsS0FBSztnQkFjRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgTmdab25lLFxuICAgIE9uSW5pdCxcbiAgICBFdmVudEVtaXR0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICBOZ0NvbnRyb2wsXG4gICAgTmdGb3JtXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQ2FuVXBkYXRlRXJyb3JTdGF0ZSxcbiAgICBDYW5VcGRhdGVFcnJvclN0YXRlQ3RvcixcbiAgICBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICBtaXhpbkVycm9yU3RhdGVcbn0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgS2JxRm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5cbmV4cG9ydCBjb25zdCBLQlFfVEVYVEFSRUFfVkFMVUVfQUNDRVNTT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48eyB2YWx1ZTogYW55IH0+KCdLQlFfVEVYVEFSRUFfVkFMVUVfQUNDRVNTT1InKTtcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjbGFzcyBLYnFUZXh0YXJlYUJhc2Uge1xuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgc3RhdGUgY2hhbmdlcyBhbmQgc2hvdWxkIGNhdXNlIHRoZSBwYXJlbnRcbiAgICAgKiBmb3JtLWZpZWxkIHRvIHVwZGF0ZS4gSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBgS2JxRm9ybUZpZWxkQ29udHJvbGAuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGRlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgICAgIHB1YmxpYyBwYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgICAgIHB1YmxpYyBwYXJlbnRGb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICAgICAgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sXG4gICAgKSB7fVxufVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IEticVRleHRhcmVhTWl4aW5CYXNlOiBDYW5VcGRhdGVFcnJvclN0YXRlQ3RvciAmIHR5cGVvZiBLYnFUZXh0YXJlYUJhc2UgPSBtaXhpbkVycm9yU3RhdGUoS2JxVGV4dGFyZWFCYXNlKTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0ZXh0YXJlYVtrYnFUZXh0YXJlYV0nLFxuICAgIGV4cG9ydEFzOiAna2JxVGV4dGFyZWEnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtdGV4dGFyZWEga2JxLXNjcm9sbGJhcicsXG4gICAgICAgICdbY2xhc3Mua2JxLXRleHRhcmVhLXJlc2l6YWJsZV0nOiAnIWNhbkdyb3cnLFxuXG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICAgICAnW2F0dHIucGxhY2Vob2xkZXJdJzogJ3BsYWNlaG9sZGVyJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtaW52YWxpZF0nOiAnZXJyb3JTdGF0ZScsXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgbnVsbCcsXG4gICAgICAgICdbYXR0ci5yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuXG4gICAgICAgICcoYmx1ciknOiAnb25CbHVyKCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdmb2N1c0NoYW5nZWQodHJ1ZSknXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEticUZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBLYnFUZXh0YXJlYSB9XVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUZXh0YXJlYSBleHRlbmRzIEticVRleHRhcmVhTWl4aW5CYXNlIGltcGxlbWVudHMgS2JxRm9ybUZpZWxkQ29udHJvbDxhbnk+LCBPbkluaXQsIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksIERvQ2hlY2ssIENhblVwZGF0ZUVycm9yU3RhdGUge1xuXG4gICAgQElucHV0KCkgY2FuR3JvdzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogQW4gb2JqZWN0IHVzZWQgdG8gY29udHJvbCB3aGVuIGVycm9yIG1lc3NhZ2VzIGFyZSBzaG93bi4gKi9cbiAgICBASW5wdXQoKSBlcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXI7XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgY29udHJvbFR5cGU6IHN0cmluZyA9ICd0ZXh0YXJlYSc7XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBLYnFGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuXG4gICAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faWQgPSB2YWx1ZSB8fCB0aGlzLnVpZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlQWNjZXNzb3IudmFsdWU7XG4gICAgfVxuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQWNjZXNzb3IudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1aWQgPSBga2JxLXRleHRhcmVhLSR7bmV4dFVuaXF1ZUlkKyt9YDtcbiAgICBwcm90ZWN0ZWQgcHJldmlvdXNOYXRpdmVWYWx1ZTogYW55O1xuICAgIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaWQ6IHN0cmluZztcbiAgICBwcml2YXRlIF9yZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSB2YWx1ZUFjY2Vzc29yOiB7IHZhbHVlOiBhbnkgfTtcbiAgICBwcml2YXRlIGdyb3dTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgbGluZUhlaWdodDogbnVtYmVyID0gMDtcbiAgICBwcml2YXRlIGZyZWVSb3dzSGVpZ2h0OiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgbWluSGVpZ2h0OiBudW1iZXIgPSAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBAT3B0aW9uYWwoKSBwYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgICAgIEBPcHRpb25hbCgpIHBhcmVudEZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgICAgICBkZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIEBJbmplY3QoS0JRX1RFWFRBUkVBX1ZBTFVFX0FDQ0VTU09SKSBpbnB1dFZhbHVlQWNjZXNzb3I6IGFueSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICAgICkge1xuICAgICAgICBzdXBlcihkZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXIsIHBhcmVudEZvcm0sIHBhcmVudEZvcm1Hcm91cCwgbmdDb250cm9sKTtcbiAgICAgICAgLy8gSWYgbm8gaW5wdXQgdmFsdWUgYWNjZXNzb3Igd2FzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLCB1c2UgdGhlIGVsZW1lbnQgYXMgdGhlIHRleHRhcmVhIHZhbHVlXG4gICAgICAgIC8vIGFjY2Vzc29yLlxuICAgICAgICB0aGlzLnZhbHVlQWNjZXNzb3IgPSBpbnB1dFZhbHVlQWNjZXNzb3IgfHwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy5wcmV2aW91c05hdGl2ZVZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgICAgICAvLyBGb3JjZSBzZXR0ZXIgdG8gYmUgY2FsbGVkIGluIGNhc2UgaWQgd2FzIG5vdCBzcGVjaWZpZWQuXG4gICAgICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuXG4gICAgICAgIHRoaXMuZ3Jvd1N1YnNjcmlwdGlvbiA9IHRoaXMuc3RhdGVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmdyb3coKSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5ncm93KCksIDApO1xuICAgICAgICB0aGlzLmxpbmVIZWlnaHQgPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5saW5lSGVpZ2h0ISwgMTApO1xuXG4gICAgICAgIGNvbnN0IHBhZGRpbmdUb3AgPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5wYWRkaW5nVG9wISwgMTApO1xuICAgICAgICBjb25zdCBwYWRkaW5nQm90dG9tID0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkucGFkZGluZ0JvdHRvbSEsIDEwKTtcblxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tbWFnaWMtbnVtYmVyc1xuICAgICAgICB0aGlzLm1pbkhlaWdodCA9IHRoaXMubGluZUhlaWdodCAqIDIgKyBwYWRkaW5nVG9wICsgcGFkZGluZ0JvdHRvbTtcbiAgICAgICAgdGhpcy5mcmVlUm93c0hlaWdodCA9IHRoaXMubGluZUhlaWdodDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmdyb3dTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgLy8gV2UgbmVlZCB0byByZS1ldmFsdWF0ZSB0aGlzIG9uIGV2ZXJ5IGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUsIGJlY2F1c2UgdGhlcmUgYXJlIHNvbWVcbiAgICAgICAgICAgIC8vIGVycm9yIHRyaWdnZXJzIHRoYXQgd2UgY2FuJ3Qgc3Vic2NyaWJlIHRvIChlLmcuIHBhcmVudCBmb3JtIHN1Ym1pc3Npb25zKS4gVGhpcyBtZWFuc1xuICAgICAgICAgICAgLy8gdGhhdCB3aGF0ZXZlciBsb2dpYyBpcyBpbiBoZXJlIGhhcyB0byBiZSBzdXBlciBsZWFuIG9yIHdlIHJpc2sgZGVzdHJveWluZyB0aGUgcGVyZm9ybWFuY2UuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVycm9yU3RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlIG5lZWQgdG8gZGlydHktY2hlY2sgdGhlIG5hdGl2ZSBlbGVtZW50J3MgdmFsdWUsIGJlY2F1c2UgdGhlcmUgYXJlIHNvbWUgY2FzZXMgd2hlcmVcbiAgICAgICAgLy8gd2Ugd29uJ3QgYmUgbm90aWZpZWQgd2hlbiBpdCBjaGFuZ2VzIChlLmcuIHRoZSBjb25zdW1lciBpc24ndCB1c2luZyBmb3JtcyBvciB0aGV5J3JlXG4gICAgICAgIC8vIHVwZGF0aW5nIHRoZSB2YWx1ZSB1c2luZyBgZW1pdEV2ZW50OiBmYWxzZWApLlxuICAgICAgICB0aGlzLmRpcnR5Q2hlY2tOYXRpdmVWYWx1ZSgpO1xuICAgIH1cblxuICAgIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c0NoYW5nZWQoZmFsc2UpO1xuXG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbD8uY29udHJvbCkge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMubmdDb250cm9sLmNvbnRyb2w7XG5cbiAgICAgICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAoY29udHJvbC5zdGF0dXNDaGFuZ2VzIGFzIEV2ZW50RW1pdHRlcjxzdHJpbmc+KS5lbWl0KGNvbnRyb2wuc3RhdHVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHcm93IHRleHRhcmVhIGhlaWdodCB0byBhdm9pZCB2ZXJ0aWNhbCBzY3JvbGwgICovXG4gICAgZ3JvdygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNhbkdyb3cpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGV4dGFyZWEgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAgICAgY29uc3Qgb3V0ZXJIZWlnaHQgPSBwYXJzZUludCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0YXJlYSkuaGVpZ2h0ISwgMTApO1xuICAgICAgICAgICAgY29uc3QgZGlmZiA9IG91dGVySGVpZ2h0IC0gdGV4dGFyZWEuY2xpZW50SGVpZ2h0O1xuXG4gICAgICAgICAgICB0ZXh0YXJlYS5zdHlsZS5taW5IZWlnaHQgPSAwOyAvLyB0aGlzIGxpbmUgaXMgaW1wb3J0YW50IHRvIGhlaWdodCByZWNhbGN1bGF0aW9uXG5cbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IE1hdGgubWF4KHRoaXMubWluSGVpZ2h0LCArdGV4dGFyZWEuc2Nyb2xsSGVpZ2h0ICsgZGlmZiArIHRoaXMuZnJlZVJvd3NIZWlnaHQpO1xuICAgICAgICAgICAgdGV4dGFyZWEuc3R5bGUubWluSGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEZvY3VzZXMgdGhlIHRleHRhcmVhLiAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBDYWxsYmFjayBmb3IgdGhlIGNhc2VzIHdoZXJlIHRoZSBmb2N1c2VkIHN0YXRlIG9mIHRoZSB0ZXh0YXJlYSBjaGFuZ2VzLiAqL1xuICAgIGZvY3VzQ2hhbmdlZChpc0ZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGlzRm9jdXNlZCAhPT0gdGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgPSBpc0ZvY3VzZWQ7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSAmJiAhdGhpcy5pc0JhZElucHV0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBLYnFGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBvbkNvbnRhaW5lckNsaWNrKCkge1xuICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIERvZXMgc29tZSBtYW51YWwgZGlydHkgY2hlY2tpbmcgb24gdGhlIG5hdGl2ZSB0ZXh0YXJlYSBgdmFsdWVgIHByb3BlcnR5LiAqL1xuICAgIHByb3RlY3RlZCBkaXJ0eUNoZWNrTmF0aXZlVmFsdWUoKSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5wcmV2aW91c05hdGl2ZVZhbHVlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c05hdGl2ZVZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2hlY2tzIHdoZXRoZXIgdGhlIHRleHRhcmVhIGlzIGludmFsaWQgYmFzZWQgb24gdGhlIG5hdGl2ZSB2YWxpZGF0aW9uLiAqL1xuICAgIHByb3RlY3RlZCBpc0JhZElucHV0KCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBUaGUgYHZhbGlkaXR5YCBwcm9wZXJ0eSB3b24ndCBiZSBwcmVzZW50IG9uIHBsYXRmb3JtLXNlcnZlci5cbiAgICAgICAgY29uc3QgdmFsaWRpdHkgPSAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTFRleHRBcmVhRWxlbWVudCkudmFsaWRpdHk7XG5cbiAgICAgICAgcmV0dXJuIHZhbGlkaXR5ICYmIHZhbGlkaXR5LmJhZElucHV0O1xuICAgIH1cblxufVxuIl19
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUNILFNBQVMsRUFFVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLGNBQWMsRUFDZCxNQUFNLEVBR04sSUFBSSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsU0FBUyxFQUNULE1BQU0sRUFDVCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFHSCxpQkFBaUIsRUFDakIsOEJBQThCLEVBQzlCLGVBQWUsRUFDbEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQWdCLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUc3QyxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsNkJBQTZCLENBQUMsQ0FBQztBQUU3RyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFHckIsb0JBQW9CO0FBQ3BCLE1BQU0sT0FBTyxlQUFlO0lBUXhCLFlBQ1csd0JBQTJDLEVBQzNDLFVBQWtCLEVBQ2xCLGVBQW1DLEVBQ25DLFNBQW9CO1FBSHBCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBbUI7UUFDM0MsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQVgvQjs7OztXQUlHO1FBQ00saUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lB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QUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBOZ1pvbmUsXG4gICAgT25Jbml0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgTmdDb250cm9sLFxuICAgIE5nRm9ybVxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIENhblVwZGF0ZUVycm9yU3RhdGUsXG4gICAgQ2FuVXBkYXRlRXJyb3JTdGF0ZUN0b3IsXG4gICAgRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgS0JRX1BBUkVOVF9BTklNQVRJT05fQ09NUE9ORU5ULFxuICAgIG1peGluRXJyb3JTdGF0ZVxufSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBLYnFGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cblxuZXhwb3J0IGNvbnN0IEtCUV9URVhUQVJFQV9WQUxVRV9BQ0NFU1NPUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjx7IHZhbHVlOiBhbnkgfT4oJ0tCUV9URVhUQVJFQV9WQUxVRV9BQ0NFU1NPUicpO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNsYXNzIEticVRleHRhcmVhQmFzZSB7XG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBzdGF0ZSBjaGFuZ2VzIGFuZCBzaG91bGQgY2F1c2UgdGhlIHBhcmVudFxuICAgICAqIGZvcm0tZmllbGQgdG8gdXBkYXRlLiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIGBLYnFGb3JtRmllbGRDb250cm9sYC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICAgICAgcHVibGljIHBhcmVudEZvcm06IE5nRm9ybSxcbiAgICAgICAgcHVibGljIHBhcmVudEZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgICAgICBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgICApIHt9XG59XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgY29uc3QgS2JxVGV4dGFyZWFNaXhpbkJhc2U6IENhblVwZGF0ZUVycm9yU3RhdGVDdG9yICYgdHlwZW9mIEticVRleHRhcmVhQmFzZSA9IG1peGluRXJyb3JTdGF0ZShLYnFUZXh0YXJlYUJhc2UpO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3RleHRhcmVhW2ticVRleHRhcmVhXScsXG4gICAgZXhwb3J0QXM6ICdrYnFUZXh0YXJlYScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS10ZXh0YXJlYSBrYnEtc2Nyb2xsYmFyJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtdGV4dGFyZWEtcmVzaXphYmxlXSc6ICchY2FuR3JvdycsXG5cbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgICAgICdbYXR0ci5wbGFjZWhvbGRlcl0nOiAncGxhY2Vob2xkZXInLFxuICAgICAgICAnW2F0dHIuYXJpYS1pbnZhbGlkXSc6ICdlcnJvclN0YXRlJyxcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCBudWxsJyxcbiAgICAgICAgJ1thdHRyLnJlcXVpcmVkXSc6ICdyZXF1aXJlZCcsXG5cbiAgICAgICAgJyhibHVyKSc6ICdvbkJsdXIoKScsXG4gICAgICAgICcoZm9jdXMpJzogJ2ZvY3VzQ2hhbmdlZCh0cnVlKSdcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogS2JxRm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IEticVRleHRhcmVhIH1dXG59KVxuZXhwb3J0IGNsYXNzIEticVRleHRhcmVhIGV4dGVuZHMgS2JxVGV4dGFyZWFNaXhpbkJhc2UgaW1wbGVtZW50cyBLYnFGb3JtRmllbGRDb250cm9sPGFueT4sIE9uSW5pdCwgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSwgRG9DaGVjaywgQ2FuVXBkYXRlRXJyb3JTdGF0ZSB7XG5cbiAgICBASW5wdXQoKSBjYW5Hcm93OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBBbiBvYmplY3QgdXNlZCB0byBjb250cm9sIHdoZW4gZXJyb3IgbWVzc2FnZXMgYXJlIHNob3duLiAqL1xuICAgIEBJbnB1dCgpIGVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcjtcblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBLYnFGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBLYnFGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBjb250cm9sVHlwZTogc3RyaW5nID0gJ3RleHRhcmVhJztcblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCAmJiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sLmRpc2FibGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIEticUZvcm1GaWVsZENvbnRyb2wuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pZDtcbiAgICB9XG5cbiAgICBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pZCA9IHZhbHVlIHx8IHRoaXMudWlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcbiAgICB9XG5cbiAgICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVBY2Nlc3Nvci52YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWVBY2Nlc3Nvci52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVpZCA9IGBrYnEtdGV4dGFyZWEtJHtuZXh0VW5pcXVlSWQrK31gO1xuICAgIHByb3RlY3RlZCBwcmV2aW91c05hdGl2ZVZhbHVlOiBhbnk7XG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pZDogc3RyaW5nO1xuICAgIHByaXZhdGUgX3JlcXVpcmVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHZhbHVlQWNjZXNzb3I6IHsgdmFsdWU6IGFueSB9O1xuICAgIHByaXZhdGUgZ3Jvd1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSBsaW5lSGVpZ2h0OiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgZnJlZVJvd3NIZWlnaHQ6IG51bWJlciA9IDA7XG4gICAgcHJpdmF0ZSBtaW5IZWlnaHQ6IG51bWJlciA9IDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIEBPcHRpb25hbCgpIHBhcmVudEZvcm06IE5nRm9ybSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgICAgIGRlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgQEluamVjdChLQlFfVEVYVEFSRUFfVkFMVUVfQUNDRVNTT1IpIGlucHV0VmFsdWVBY2Nlc3NvcjogYW55LFxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpIEBJbmplY3QoS0JRX1BBUkVOVF9BTklNQVRJT05fQ09NUE9ORU5UKSBwcml2YXRlIHBhcmVudDogYW55LFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGRlZmF1bHRFcnJvclN0YXRlTWF0Y2hlciwgcGFyZW50Rm9ybSwgcGFyZW50Rm9ybUdyb3VwLCBuZ0NvbnRyb2wpO1xuICAgICAgICAvLyBJZiBubyBpbnB1dCB2YWx1ZSBhY2Nlc3NvciB3YXMgZXhwbGljaXRseSBzcGVjaWZpZWQsIHVzZSB0aGUgZWxlbWVudCBhcyB0aGUgdGV4dGFyZWEgdmFsdWVcbiAgICAgICAgLy8gYWNjZXNzb3IuXG4gICAgICAgIHRoaXMudmFsdWVBY2Nlc3NvciA9IGlucHV0VmFsdWVBY2Nlc3NvciB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICB0aGlzLnByZXZpb3VzTmF0aXZlVmFsdWUgPSB0aGlzLnZhbHVlO1xuXG4gICAgICAgIC8vIEZvcmNlIHNldHRlciB0byBiZSBjYWxsZWQgaW4gY2FzZSBpZCB3YXMgbm90IHNwZWNpZmllZC5cbiAgICAgICAgdGhpcy5pZCA9IHRoaXMuaWQ7XG5cbiAgICAgICAgdGhpcy5wYXJlbnQ/LmFuaW1hdGlvbkRvbmVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5uZ09uSW5pdCgpKTtcblxuICAgICAgICB0aGlzLmdyb3dTdWJzY3JpcHRpb24gPSB0aGlzLnN0YXRlQ2hhbmdlc1xuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmdyb3cpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmxpbmVIZWlnaHQgPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5saW5lSGVpZ2h0ISwgMTApO1xuXG4gICAgICAgIGNvbnN0IHBhZGRpbmdUb3AgPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5wYWRkaW5nVG9wISwgMTApO1xuICAgICAgICBjb25zdCBwYWRkaW5nQm90dG9tID0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkucGFkZGluZ0JvdHRvbSEsIDEwKTtcblxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tbWFnaWMtbnVtYmVyc1xuICAgICAgICB0aGlzLm1pbkhlaWdodCA9IHRoaXMubGluZUhlaWdodCAqIDIgKyBwYWRkaW5nVG9wICsgcGFkZGluZ0JvdHRvbTtcbiAgICAgICAgdGhpcy5mcmVlUm93c0hlaWdodCA9IHRoaXMubGluZUhlaWdodDtcblxuICAgICAgICBzZXRUaW1lb3V0KHRoaXMuZ3JvdywgMCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5ncm93U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gcmUtZXZhbHVhdGUgdGhpcyBvbiBldmVyeSBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLCBiZWNhdXNlIHRoZXJlIGFyZSBzb21lXG4gICAgICAgICAgICAvLyBlcnJvciB0cmlnZ2VycyB0aGF0IHdlIGNhbid0IHN1YnNjcmliZSB0byAoZS5nLiBwYXJlbnQgZm9ybSBzdWJtaXNzaW9ucykuIFRoaXMgbWVhbnNcbiAgICAgICAgICAgIC8vIHRoYXQgd2hhdGV2ZXIgbG9naWMgaXMgaW4gaGVyZSBoYXMgdG8gYmUgc3VwZXIgbGVhbiBvciB3ZSByaXNrIGRlc3Ryb3lpbmcgdGhlIHBlcmZvcm1hbmNlLlxuICAgICAgICAgICAgdGhpcy51cGRhdGVFcnJvclN0YXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXZSBuZWVkIHRvIGRpcnR5LWNoZWNrIHRoZSBuYXRpdmUgZWxlbWVudCdzIHZhbHVlLCBiZWNhdXNlIHRoZXJlIGFyZSBzb21lIGNhc2VzIHdoZXJlXG4gICAgICAgIC8vIHdlIHdvbid0IGJlIG5vdGlmaWVkIHdoZW4gaXQgY2hhbmdlcyAoZS5nLiB0aGUgY29uc3VtZXIgaXNuJ3QgdXNpbmcgZm9ybXMgb3IgdGhleSdyZVxuICAgICAgICAvLyB1cGRhdGluZyB0aGUgdmFsdWUgdXNpbmcgYGVtaXRFdmVudDogZmFsc2VgKS5cbiAgICAgICAgdGhpcy5kaXJ0eUNoZWNrTmF0aXZlVmFsdWUoKTtcbiAgICB9XG5cbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNDaGFuZ2VkKGZhbHNlKTtcblxuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbC5jb250cm9sO1xuXG4gICAgICAgICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgKGNvbnRyb2wuc3RhdHVzQ2hhbmdlcyBhcyBFdmVudEVtaXR0ZXI8c3RyaW5nPikuZW1pdChjb250cm9sLnN0YXR1cyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogR3JvdyB0ZXh0YXJlYSBoZWlnaHQgdG8gYXZvaWQgdmVydGljYWwgc2Nyb2xsICAqL1xuICAgIGdyb3cgPSAoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5jYW5Hcm93KSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGNvbnN0IG91dGVySGVpZ2h0ID0gcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUodGV4dGFyZWEpLmhlaWdodCEsIDEwKTtcbiAgICAgICAgICAgIGNvbnN0IGRpZmYgPSBvdXRlckhlaWdodCAtIHRleHRhcmVhLmNsaWVudEhlaWdodDtcblxuICAgICAgICAgICAgdGV4dGFyZWEuc3R5bGUubWluSGVpZ2h0ID0gMDsgLy8gdGhpcyBsaW5lIGlzIGltcG9ydGFudCB0byBoZWlnaHQgcmVjYWxjdWxhdGlvblxuXG4gICAgICAgICAgICBjb25zdCBoZWlnaHQgPSBNYXRoLm1heCh0aGlzLm1pbkhlaWdodCwgK3RleHRhcmVhLnNjcm9sbEhlaWdodCArIGRpZmYgKyB0aGlzLmZyZWVSb3dzSGVpZ2h0KTtcbiAgICAgICAgICAgIHRleHRhcmVhLnN0eWxlLm1pbkhlaWdodCA9IGAke2hlaWdodH1weGA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBGb2N1c2VzIHRoZSB0ZXh0YXJlYS4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQ2FsbGJhY2sgZm9yIHRoZSBjYXNlcyB3aGVyZSB0aGUgZm9jdXNlZCBzdGF0ZSBvZiB0aGUgdGV4dGFyZWEgY2hhbmdlcy4gKi9cbiAgICBmb2N1c0NoYW5nZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChpc0ZvY3VzZWQgIT09IHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gaXNGb2N1c2VkO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBLYnFGb3JtRmllbGRDb250cm9sLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgJiYgIXRoaXMuaXNCYWRJbnB1dCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgS2JxRm9ybUZpZWxkQ29udHJvbC5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgb25Db250YWluZXJDbGljaygpIHtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBEb2VzIHNvbWUgbWFudWFsIGRpcnR5IGNoZWNraW5nIG9uIHRoZSBuYXRpdmUgdGV4dGFyZWEgYHZhbHVlYCBwcm9wZXJ0eS4gKi9cbiAgICBwcm90ZWN0ZWQgZGlydHlDaGVja05hdGl2ZVZhbHVlKCkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMucHJldmlvdXNOYXRpdmVWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucHJldmlvdXNOYXRpdmVWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoZWNrcyB3aGV0aGVyIHRoZSB0ZXh0YXJlYSBpcyBpbnZhbGlkIGJhc2VkIG9uIHRoZSBuYXRpdmUgdmFsaWRhdGlvbi4gKi9cbiAgICBwcm90ZWN0ZWQgaXNCYWRJbnB1dCgpOiBib29sZWFuIHtcbiAgICAgICAgLy8gVGhlIGB2YWxpZGl0eWAgcHJvcGVydHkgd29uJ3QgYmUgcHJlc2VudCBvbiBwbGF0Zm9ybS1zZXJ2ZXIuXG4gICAgICAgIGNvbnN0IHZhbGlkaXR5ID0gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQpLnZhbGlkaXR5O1xuXG4gICAgICAgIHJldHVybiB2YWxpZGl0eSAmJiB2YWxpZGl0eS5iYWRJbnB1dDtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -11,21 +11,21 @@ export class BaseTreeControl {
|
|
|
11
11
|
}
|
|
12
12
|
/** Toggles one single data node's expanded/collapsed state. */
|
|
13
13
|
toggle(dataNode) {
|
|
14
|
-
if (this.filterValue.value) {
|
|
14
|
+
if (this.filterValue.value?.length) {
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
17
|
this.expansionModel.toggle(dataNode);
|
|
18
18
|
}
|
|
19
19
|
/** Expands one single data node. */
|
|
20
20
|
expand(dataNode) {
|
|
21
|
-
if (this.filterValue.value) {
|
|
21
|
+
if (this.filterValue.value?.length) {
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
this.expansionModel.select(dataNode);
|
|
25
25
|
}
|
|
26
26
|
/** Collapses one single data node. */
|
|
27
27
|
collapse(dataNode) {
|
|
28
|
-
if (this.filterValue.value) {
|
|
28
|
+
if (this.filterValue.value?.length) {
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
31
|
this.expansionModel.deselect(dataNode);
|
|
@@ -57,4 +57,4 @@ export class BaseTreeControl {
|
|
|
57
57
|
this.expansionModel.deselect(...toBeProcessed);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10cmVlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvY29udHJvbC9iYXNlLXRyZWUtY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtuRCwrRkFBK0Y7QUFDL0YsZ0RBQWdEO0FBQ2hELE1BQU0sT0FBZ0IsZUFBZTtJQUFyQztRQUdJLHdFQUF3RTtRQUN4RSxtQkFBYyxHQUFzQixJQUFJLGNBQWMsQ0FBSSxJQUFJLENBQUMsQ0FBQztRQUVoRSxnQkFBVyxHQUFzQixJQUFJLGNBQWMsQ0FBSSxJQUFJLENBQUMsQ0FBQztRQUU3RCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFzQixFQUFFLENBQUMsQ0FBQztJQXVFL0QsQ0FBQztJQW5ERywrREFBK0Q7SUFDL0QsTUFBTSxDQUFDLFFBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUFFLE9BQU87U0FBRTtRQUUvQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLE1BQU0sQ0FBQyxRQUFXO1FBQ2QsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxRQUFRLENBQUMsUUFBVztRQUNoQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUFFLE9BQU87U0FBRTtRQUUvQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsK0ZBQStGO0lBQy9GLFVBQVUsQ0FBQyxRQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxpQkFBaUIsQ0FBQyxRQUFXO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztZQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsV0FBVztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELCtEQUErRDtJQUMvRCxpQkFBaUIsQ0FBQyxRQUFXO1FBQ3pCLE1BQU0sYUFBYSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxpRUFBaUU7SUFDakUsbUJBQW1CLENBQUMsUUFBVztRQUMzQixNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVHJlZUNvbnRyb2wgfSBmcm9tICcuL3RyZWUtY29udHJvbCc7XG5cblxuLyoqIEJhc2UgdHJlZSBjb250cm9sLiBJdCBoYXMgYmFzaWMgdG9nZ2xlL2V4cGFuZC9jb2xsYXBzZSBvcGVyYXRpb25zIG9uIGEgc2luZ2xlIGRhdGEgbm9kZS4gKi9cbi8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuYW1pbmctY29udmVudGlvbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUcmVlQ29udHJvbDxUPiBpbXBsZW1lbnRzIFRyZWVDb250cm9sPFQ+IHtcbiAgICBkYXRhTm9kZXM6IFRbXTtcblxuICAgIC8qKiBBIHNlbGVjdGlvbiBtb2RlbCB3aXRoIG11bHRpLXNlbGVjdGlvbiB0byB0cmFjayBleHBhbnNpb24gc3RhdHVzLiAqL1xuICAgIGV4cGFuc2lvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxUPiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxUPih0cnVlKTtcblxuICAgIGZpbHRlck1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxUPiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxUPih0cnVlKTtcblxuICAgIGZpbHRlclZhbHVlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10gfCBzdHJpbmcgfCBudWxsPignJyk7XG5cbiAgICAvKiogR2V0IGRlcHRoIG9mIGEgZ2l2ZW4gZGF0YSBub2RlLCByZXR1cm4gdGhlIGxldmVsIG51bWJlci4gVGhpcyBpcyBmb3IgZmxhdCB0cmVlIG5vZGUuICovXG4gICAgZ2V0TGV2ZWw6IChkYXRhTm9kZTogVCkgPT4gbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZGF0YSBub2RlIGlzIGV4cGFuZGFibGUuIFJldHVybnMgdHJ1ZSBpZiBleHBhbmRhYmxlLlxuICAgICAqIFRoaXMgaXMgZm9yIGZsYXQgdHJlZSBub2RlLlxuICAgICAqL1xuICAgIGlzRXhwYW5kYWJsZTogKGRhdGFOb2RlOiBUKSA9PiBib29sZWFuO1xuXG4gICAgLyoqIEdldHMgYSBzdHJlYW0gdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgZ2l2ZW4gZGF0YSBub2RlJ3MgY2hpbGRyZW4gY2hhbmdlLiAqL1xuICAgIGdldENoaWxkcmVuOiAoZGF0YU5vZGU6IFQpID0+IE9ic2VydmFibGU8VFtdPjtcblxuICAgIC8qKiBHZXRzIGEgbGlzdCBvZiBkZXNjZW5kZW50IGRhdGEgbm9kZXMgb2YgYSBzdWJ0cmVlIHJvb3RlZCBhdCBnaXZlbiBkYXRhIG5vZGUgcmVjdXJzaXZlbHkuICovXG4gICAgYWJzdHJhY3QgZ2V0RGVzY2VuZGFudHMoZGF0YU5vZGU6IFQpOiBUW107XG5cbiAgICAvKiogRXhwYW5kcyBhbGwgZGF0YSBub2RlcyBpbiB0aGUgdHJlZS4gKi9cbiAgICBhYnN0cmFjdCBleHBhbmRBbGwoKTogdm9pZDtcblxuICAgIC8qKiBUb2dnbGVzIG9uZSBzaW5nbGUgZGF0YSBub2RlJ3MgZXhwYW5kZWQvY29sbGFwc2VkIHN0YXRlLiAqL1xuICAgIHRvZ2dsZShkYXRhTm9kZTogVCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZS52YWx1ZT8ubGVuZ3RoKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwudG9nZ2xlKGRhdGFOb2RlKTtcbiAgICB9XG5cbiAgICAvKiogRXhwYW5kcyBvbmUgc2luZ2xlIGRhdGEgbm9kZS4gKi9cbiAgICBleHBhbmQoZGF0YU5vZGU6IFQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyVmFsdWUudmFsdWU/Lmxlbmd0aCkgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLnNlbGVjdChkYXRhTm9kZSk7XG4gICAgfVxuXG4gICAgLyoqIENvbGxhcHNlcyBvbmUgc2luZ2xlIGRhdGEgbm9kZS4gKi9cbiAgICBjb2xsYXBzZShkYXRhTm9kZTogVCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZS52YWx1ZT8ubGVuZ3RoKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuZGVzZWxlY3QoZGF0YU5vZGUpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIGEgZ2l2ZW4gZGF0YSBub2RlIGlzIGV4cGFuZGVkIG9yIG5vdC4gUmV0dXJucyB0cnVlIGlmIHRoZSBkYXRhIG5vZGUgaXMgZXhwYW5kZWQuICovXG4gICAgaXNFeHBhbmRlZChkYXRhTm9kZTogVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5leHBhbnNpb25Nb2RlbC5pc1NlbGVjdGVkKGRhdGFOb2RlKTtcbiAgICB9XG5cbiAgICAvKiogVG9nZ2xlcyBhIHN1YnRyZWUgcm9vdGVkIGF0IGBub2RlYCByZWN1cnNpdmVseS4gKi9cbiAgICB0b2dnbGVEZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLmlzU2VsZWN0ZWQoZGF0YU5vZGUpXG4gICAgICAgICAgICA/IHRoaXMuY29sbGFwc2VEZXNjZW5kYW50cyhkYXRhTm9kZSlcbiAgICAgICAgICAgIDogdGhpcy5leHBhbmREZXNjZW5kYW50cyhkYXRhTm9kZSk7XG4gICAgfVxuXG4gICAgLyoqIENvbGxhcHNlIGFsbCBkYXRhTm9kZXMgaW4gdGhlIHRyZWUuICovXG4gICAgY29sbGFwc2VBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuY2xlYXIoKTtcbiAgICB9XG5cbiAgICAvKiogRXhwYW5kcyBhIHN1YnRyZWUgcm9vdGVkIGF0IGdpdmVuIGRhdGEgbm9kZSByZWN1cnNpdmVseS4gKi9cbiAgICBleHBhbmREZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0b0JlUHJvY2Vzc2VkID0gW2RhdGFOb2RlXTtcbiAgICAgICAgdG9CZVByb2Nlc3NlZC5wdXNoKC4uLnRoaXMuZ2V0RGVzY2VuZGFudHMoZGF0YU5vZGUpKTtcbiAgICAgICAgdGhpcy5leHBhbnNpb25Nb2RlbC5zZWxlY3QoLi4udG9CZVByb2Nlc3NlZCk7XG4gICAgfVxuXG4gICAgLyoqIENvbGxhcHNlcyBhIHN1YnRyZWUgcm9vdGVkIGF0IGdpdmVuIGRhdGEgbm9kZSByZWN1cnNpdmVseS4gKi9cbiAgICBjb2xsYXBzZURlc2NlbmRhbnRzKGRhdGFOb2RlOiBUKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvQmVQcm9jZXNzZWQgPSBbZGF0YU5vZGVdO1xuICAgICAgICB0b0JlUHJvY2Vzc2VkLnB1c2goLi4udGhpcy5nZXREZXNjZW5kYW50cyhkYXRhTm9kZSkpO1xuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLmRlc2VsZWN0KC4uLnRvQmVQcm9jZXNzZWQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -3,8 +3,9 @@ export class FilterByViewValue {
|
|
|
3
3
|
this.control = control;
|
|
4
4
|
}
|
|
5
5
|
handle(value) {
|
|
6
|
+
const viewValue = value || null;
|
|
6
7
|
this.result = this.control.dataNodes
|
|
7
|
-
.filter((node) => this.control.compareViewValues(this.control.getViewValue(node),
|
|
8
|
+
.filter((node) => this.control.compareViewValues(this.control.getViewValue(node), viewValue));
|
|
8
9
|
return this.result;
|
|
9
10
|
}
|
|
10
11
|
}
|
|
@@ -43,4 +44,4 @@ export class FilterByValues {
|
|
|
43
44
|
return this.values;
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC10cmVlLWNvbnRyb2wuZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdHJlZS9jb250cm9sL2ZsYXQtdHJlZS1jb250cm9sLmZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFPLGlCQUFpQjtJQUcxQixZQUFvQixPQUEyQjtRQUEzQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtJQUFHLENBQUM7SUFFbkQsTUFBTSxDQUFDLEtBQW9CO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7YUFDL0IsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFFbEcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxxQkFBcUI7SUFHOUIsWUFBb0IsT0FBMkI7UUFBM0IsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7SUFBRyxDQUFDO0lBRW5ELE1BQU0sQ0FBQyxDQUFDLEVBQUUsVUFBb0M7UUFDMUMsTUFBTSxNQUFNLEdBQVcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7YUFDakIsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuRCxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7aUJBQzVCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBRTdDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFFUCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBS3ZCLFlBQW9CLE9BQTJCO1FBQTNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBRnZDLFdBQU0sR0FBYSxFQUFFLENBQUM7UUFhOUIsY0FBUyxHQUFHLENBQUMsTUFBZ0IsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLENBQUMsQ0FBQTtJQWJpRCxDQUFDO0lBRW5ELE1BQU0sQ0FBQyxDQUFDLEVBQUUsVUFBcUM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO2FBQy9CLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXpFLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBTUQsU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbGF0VHJlZUNvbnRyb2wgfSBmcm9tICcuL2ZsYXQtdHJlZS1jb250cm9sJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEZsYXRUcmVlQ29udHJvbEZpbHRlcjxUPiB7XG4gICAgcmVzdWx0OiBUW107XG5cbiAgICBoYW5kbGUodmFsdWU6IHN0cmluZyB8IG51bGwsIHByZXZGaWx0ZXI/OiBGbGF0VHJlZUNvbnRyb2xGaWx0ZXI8VD4gfCBudWxsKTogVFtdO1xufVxuXG5leHBvcnQgY2xhc3MgRmlsdGVyQnlWaWV3VmFsdWU8VD4gaW1wbGVtZW50cyBGbGF0VHJlZUNvbnRyb2xGaWx0ZXI8VD4ge1xuICAgIHJlc3VsdDogVFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250cm9sOiBGbGF0VHJlZUNvbnRyb2w8VD4pIHt9XG5cbiAgICBoYW5kbGUodmFsdWU6IHN0cmluZyB8IG51bGwpOiBUW10ge1xuICAgICAgICBjb25zdCB2aWV3VmFsdWUgPSB2YWx1ZSB8fCBudWxsO1xuICAgICAgICB0aGlzLnJlc3VsdCA9IHRoaXMuY29udHJvbC5kYXRhTm9kZXNcbiAgICAgICAgICAgIC5maWx0ZXIoKG5vZGUpID0+IHRoaXMuY29udHJvbC5jb21wYXJlVmlld1ZhbHVlcyh0aGlzLmNvbnRyb2wuZ2V0Vmlld1ZhbHVlKG5vZGUpLCB2aWV3VmFsdWUpKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5yZXN1bHQ7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRmlsdGVyUGFyZW50c0Zvck5vZGVzPFQ+IGltcGxlbWVudHMgRmxhdFRyZWVDb250cm9sRmlsdGVyPFQ+IHtcbiAgICByZXN1bHQ6IFRbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udHJvbDogRmxhdFRyZWVDb250cm9sPFQ+KSB7fVxuXG4gICAgaGFuZGxlKF8sIHByZXZGaWx0ZXI6IEZsYXRUcmVlQ29udHJvbEZpbHRlcjxUPik6IFRbXSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogU2V0PFQ+ID0gbmV3IFNldCgpO1xuXG4gICAgICAgIHRoaXMuY29udHJvbC5kYXRhTm9kZXNcbiAgICAgICAgICAgIC5maWx0ZXIoKG5vZGUpID0+IHByZXZGaWx0ZXI/LnJlc3VsdC5pbmNsdWRlcyhub2RlKSlcbiAgICAgICAgICAgIC5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLmdldFBhcmVudHMobm9kZSwgW10pXG4gICAgICAgICAgICAgICAgICAgIC5mb3JFYWNoKChwYXJlbnQpID0+IHJlc3VsdC5hZGQocGFyZW50KSk7XG5cbiAgICAgICAgICAgICAgICByZXN1bHQuYWRkKG5vZGUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yZXN1bHQgPSBBcnJheS5mcm9tKHJlc3VsdCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVzdWx0O1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpbHRlckJ5VmFsdWVzPFQ+IGltcGxlbWVudHMgRmxhdFRyZWVDb250cm9sRmlsdGVyPFQ+IHtcbiAgICByZXN1bHQ6IFRbXTtcblxuICAgIHByaXZhdGUgdmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250cm9sOiBGbGF0VHJlZUNvbnRyb2w8VD4pIHt9XG5cbiAgICBoYW5kbGUoXywgcHJldkZpbHRlcj86IEZsYXRUcmVlQ29udHJvbEZpbHRlcjxUPik6IFRbXSB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy5jb250cm9sLmRhdGFOb2Rlc1xuICAgICAgICAgICAgLmZpbHRlcigobm9kZSkgPT4gdGhpcy52YWx1ZXMuaW5jbHVkZXModGhpcy5jb250cm9sLmdldFZhbHVlKG5vZGUpKSk7XG5cbiAgICAgICAgdGhpcy5yZXN1bHQgPSBBcnJheS5mcm9tKG5ldyBTZXQoWy4uLihwcmV2RmlsdGVyPy5yZXN1bHQgfHwgW10pLCAuLi5mb3VuZF0pKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5yZXN1bHQ7XG4gICAgfVxuXG4gICAgc2V0VmFsdWVzID0gKHZhbHVlczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgfVxuXG4gICAgZ2V0VmFsdWVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -90,7 +90,7 @@ export class FlatTreeControl extends BaseTreeControl {
|
|
|
90
90
|
this.filterModel.select(...result);
|
|
91
91
|
// set current expansion state according to filtered tree
|
|
92
92
|
this.expansionModel.setSelection(...result.filter((node) => this.isExpandable(node)));
|
|
93
|
-
this.updateFilterValue(value);
|
|
93
|
+
this.updateFilterValue(value || result);
|
|
94
94
|
Promise.resolve()
|
|
95
95
|
.then(() => this.restoreExpansionState());
|
|
96
96
|
}
|
|
@@ -99,14 +99,14 @@ export class FlatTreeControl extends BaseTreeControl {
|
|
|
99
99
|
.then(() => this.filterValue.next(value));
|
|
100
100
|
}
|
|
101
101
|
saveExpansionState() {
|
|
102
|
-
if (!this.filterValue.value) {
|
|
102
|
+
if (!this.filterValue.value?.length) {
|
|
103
103
|
this.expandedItemsBeforeFiltration = this.expansionModel.selected;
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
restoreExpansionState() {
|
|
107
|
-
if (!this.filterValue.value) {
|
|
107
|
+
if (!this.filterValue.value?.length) {
|
|
108
108
|
this.expansionModel.setSelection(...this.expandedItemsBeforeFiltration);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC10cmVlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvY29udHJvbC9mbGF0LXRyZWUtY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBeUIsTUFBTSw2QkFBNkIsQ0FBQztBQUc5RyxNQUFNLFVBQVUsb0JBQW9CLENBQUMsVUFBa0IsRUFBRSxXQUFtQjtJQUN4RSxPQUFPLFVBQVUsS0FBSyxXQUFXLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxjQUFzQixFQUFFLGVBQXVCO0lBQ3BGLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELDJGQUEyRjtBQUMzRixNQUFNLE9BQU8sZUFBbUIsU0FBUSxlQUFrQjtJQUt0RCxzR0FBc0c7SUFDdEcsWUFDVyxRQUFpQyxFQUNqQyxZQUFzQztJQUM3QyxvR0FBb0c7SUFDN0YsUUFBOEI7SUFDckMsK0dBQStHO0lBQ3hHLFlBQXFDO0lBQzVDLHNEQUFzRDtJQUMvQyxnQkFBc0Qsb0JBQW9CO0lBQ2pGLHNEQUFzRDtJQUMvQyxvQkFBa0Usd0JBQXdCO0lBQ2pHLG9FQUFvRTtJQUM3RCxhQUF1QyxHQUFHLEVBQUUsQ0FBQyxLQUFLO1FBRXpELEtBQUssRUFBRSxDQUFDO1FBYkQsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQTBCO1FBRXRDLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBRTlCLGlCQUFZLEdB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QU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixPQUFPLENBQUMsT0FBTyxFQUFFO2FBQ1osSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQW9CO1FBQzFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7YUFDWixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUN6QixJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7U0FDckU7SUFDTCxDQUFDO0lBRU8scUJBQXFCO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQzNFO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXNjYXBlUmVnRXhwIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlVHJlZUNvbnRyb2wgfSBmcm9tICcuL2Jhc2UtdHJlZS1jb250cm9sJztcbmltcG9ydCB7IEZpbHRlckJ5Vmlld1ZhbHVlLCBGaWx0ZXJQYXJlbnRzRm9yTm9kZXMsIEZsYXRUcmVlQ29udHJvbEZpbHRlciB9IGZyb20gJy4vZmxhdC10cmVlLWNvbnRyb2wuZmlsdGVycyc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRDb21wYXJlVmFsdWVzKGZpcnN0VmFsdWU6IHN0cmluZywgc2Vjb25kVmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlID09PSBzZWNvbmRWYWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRDb21wYXJlVmlld1ZhbHVlcyhmaXJzdFZpZXdWYWx1ZTogc3RyaW5nLCBzZWNvbmRWaWV3VmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSZWdFeHAoZXNjYXBlUmVnRXhwKHNlY29uZFZpZXdWYWx1ZSksICdnaScpLnRlc3QoZmlyc3RWaWV3VmFsdWUpO1xufVxuXG4vKiogRmxhdCB0cmVlIGNvbnRyb2wuIEFibGUgdG8gZXhwYW5kL2NvbGxhcHNlIGEgc3VidHJlZSByZWN1cnNpdmVseSBmb3IgZmxhdHRlbmVkIHRyZWUuICovXG5leHBvcnQgY2xhc3MgRmxhdFRyZWVDb250cm9sPFQ+IGV4dGVuZHMgQmFzZVRyZWVDb250cm9sPFQ+IHtcbiAgICBleHBhbmRlZEl0ZW1zQmVmb3JlRmlsdHJhdGlvbjogVFtdO1xuXG4gICAgcHJpdmF0ZSBmaWx0ZXJzOiBGbGF0VHJlZUNvbnRyb2xGaWx0ZXI8VD5bXTtcblxuICAgIC8qKiBDb25zdHJ1Y3Qgd2l0aCBmbGF0IHRyZWUgZGF0YSBub2RlIGZ1bmN0aW9ucyBnZXRMZXZlbCwgaXNFeHBhbmRhYmxlLCBnZXRWYWx1ZSBhbmQgZ2V0Vmlld1ZhbHVlLiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZ2V0TGV2ZWw6IChkYXRhTm9kZTogVCkgPT4gbnVtYmVyLFxuICAgICAgICBwdWJsaWMgaXNFeHBhbmRhYmxlOiAoZGF0YU5vZGU6IFQpID0+IGJvb2xlYW4sXG4gICAgICAgIC8qKiBnZXRWYWx1ZSB3aWxsIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZSB0cmVlIGNvbnRhaW5zIHZhbHVlIG9yIG5vdC4gVXNlZCBpbiBtZXRob2QgaGFzVmFsdWUgKi9cbiAgICAgICAgcHVibGljIGdldFZhbHVlOiAoZGF0YU5vZGU6IFQpID0+IGFueSxcbiAgICAgICAgLyoqIGdldFZpZXdWYWx1ZSB3aWxsIGJlIHVzZWQgZm9yIGZpbHRlciBub2Rlcy4gUmV0dXJuZWQgdmFsdWUgd2lsbCBiZSBmaXJzdCBhcmd1bWVudCBpbiBmaWx0ZXJOb2Rlc0Z1bmN0aW9uICovXG4gICAgICAgIHB1YmxpYyBnZXRWaWV3VmFsdWU6IChkYXRhTm9kZTogVCkgPT4gc3RyaW5nLFxuICAgICAgICAvKiogY29tcGFyZVZhbHVlcyB3aWxsIGJlIHVzZWQgdG8gY29tcGFyaW5nIHZhbHVlcy4gKi9cbiAgICAgICAgcHVibGljIGNvbXBhcmVWYWx1ZXM6IChmaXJzdFZhbHVlLCBzZWNvbmRWYWx1ZSkgPT4gYm9vbGVhbiA9IGRlZmF1bHRDb21wYXJlVmFsdWVzLFxuICAgICAgICAvKiogY29tcGFyZVZhbHVlcyB3aWxsIGJlIHVzZWQgdG8gY29tcGFyaW5nIHZhbHVlcy4gKi9cbiAgICAgICAgcHVibGljIGNvbXBhcmVWaWV3VmFsdWVzOiAoZmlyc3RWaWV3VmFsdWUsIHNlY29uZFZpZXdWYWx1ZSkgPT4gYm9vbGVhbiA9IGRlZmF1bHRDb21wYXJlVmlld1ZhbHVlcyxcbiAgICAgICAgLyoqIGlzRGlzYWJsZWQgd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgbm9kZSBpcyBkaXNhYmxlZC4gKi9cbiAgICAgICAgcHVibGljIGlzRGlzYWJsZWQ6IChkYXRhTm9kZTogVCkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5zZXRGaWx0ZXJzKFxuICAgICAgICAgICAgbmV3IEZpbHRlckJ5Vmlld1ZhbHVlPFQ+KHRoaXMpLFxuICAgICAgICAgICAgbmV3IEZpbHRlclBhcmVudHNGb3JOb2RlczxUPih0aGlzKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEZpbHRlcnMoKTogRmxhdFRyZWVDb250cm9sRmlsdGVyPFQ+W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJzO1xuICAgIH1cblxuICAgIHNldEZpbHRlcnMoLi4uZmlsdGVyczogRmxhdFRyZWVDb250cm9sRmlsdGVyPFQ+W10pIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzID0gZmlsdGVycztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgbGlzdCBvZiB0aGUgZGF0YSBub2RlJ3Mgc3VidHJlZSBvZiBkZXNjZW5kZW50IGRhdGEgbm9kZXMuXG4gICAgICpcbiAgICAgKiBUbyBtYWtlIHRoaXMgd29ya2luZywgdGhlIGBkYXRhTm9kZXNgIG9mIHRoZSBUcmVlQ29udHJvbCBtdXN0IGJlIGZsYXR0ZW5lZCB0cmVlIG5vZGVzXG4gICAgICogd2l0aCBjb3JyZWN0IGxldmVscy5cbiAgICAgKi9cbiAgICBnZXREZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IFRbXSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLmRhdGFOb2Rlcy5pbmRleE9mKGRhdGFOb2RlKTtcbiAgICAgICAgY29uc3QgcmVzdWx0czogVFtdID0gW107XG5cbiAgICAgICAgLy8gR29lcyB0aHJvdWdoIGZsYXR0ZW5lZCB0cmVlIG5vZGVzIGluIHRoZSBgZGF0YU5vZGVzYCBhcnJheSwgYW5kIGdldCBhbGwgZGVzY2VuZGFudHMuXG4gICAgICAgIC8vIFRoZSBsZXZlbCBvZiBkZXNjZW5kYW50cyBvZiBhIHRyZWUgbm9kZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB0aGUgbGV2ZWwgb2YgdGhlIGdpdmVuXG4gICAgICAgIC8vIHRyZWUgbm9kZS5cbiAgICAgICAgLy8gSWYgd2UgcmVhY2ggYSBub2RlIHdob3NlIGxldmVsIGlzIGVxdWFsIHRvIHRoZSBsZXZlbCBvZiB0aGUgdHJlZSBub2RlLCB3ZSBoaXQgYSBzaWJsaW5nLlxuICAgICAgICAvLyBJZiB3ZSByZWFjaCBhIG5vZGUgd2hvc2UgbGV2ZWwgaXMgZ3JlYXRlciB0aGFuIHRoZSBsZXZlbCBvZiB0aGUgdHJlZSBub2RlLCB3ZSBoaXQgYVxuICAgICAgICAvLyBzaWJsaW5nIG9mIGFuIGFuY2VzdG9yLlxuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnRJbmRleCArIDE7XG4gICAgICAgICAgICAgaSA8IHRoaXMuZGF0YU5vZGVzLmxlbmd0aCAmJiB0aGlzLmdldExldmVsKGRhdGFOb2RlKSA8IHRoaXMuZ2V0TGV2ZWwodGhpcy5kYXRhTm9kZXNbaV0pO1xuICAgICAgICAgICAgIGkrK1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaCh0aGlzLmRhdGFOb2Rlc1tpXSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeHBhbmRzIGFsbCBkYXRhIG5vZGVzIGluIHRoZSB0cmVlLlxuICAgICAqXG4gICAgICogVG8gbWFrZSB0aGlzIHdvcmtpbmcsIHRoZSBgZGF0YU5vZGVzYCB2YXJpYWJsZSBvZiB0aGUgVHJlZUNvbnRyb2wgbXVzdCBiZSBzZXQgdG8gYWxsIGZsYXR0ZW5lZFxuICAgICAqIGRhdGEgbm9kZXMgb2YgdGhlIHRyZWUuXG4gICAgICovXG4gICAgZXhwYW5kQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLnNlbGVjdCguLi50aGlzLmRhdGFOb2Rlcyk7XG4gICAgfVxuXG4gICAgZ2V0UGFyZW50cyhub2RlOiBhbnksIHJlc3VsdDogVFtdKTogVFtdIHtcbiAgICAgICAgaWYgKG5vZGUucGFyZW50KSB7XG4gICAgICAgICAgICByZXN1bHQudW5zaGlmdChub2RlLnBhcmVudCk7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFBhcmVudHMobm9kZS5wYXJlbnQsIHJlc3VsdCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFzVmFsdWUodmFsdWU6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhTm9kZXMuZmluZCgobm9kZTogYW55KSA9PiB0aGlzLmNvbXBhcmVWYWx1ZXModGhpcy5nZXRWYWx1ZShub2RlKSwgdmFsdWUpKTtcbiAgICB9XG5cbiAgICBmaWx0ZXJOb2Rlcyh2YWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYXZlRXhwYW5zaW9uU3RhdGUoKTtcblxuICAgICAgICBsZXQgcmVzdWx0OiBUW10gPSBbXTtcblxuICAgICAgICB0aGlzLmZpbHRlcnNcbiAgICAgICAgICAgIC5mb3JFYWNoKChmaWx0ZXIsIGluZGV4LCBmaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldkZpbHRlciA9IGZpbHRlcnNbaW5kZXggLSAxXSB8fCBudWxsO1xuXG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gZmlsdGVyLmhhbmRsZSh2YWx1ZSwgcHJldkZpbHRlcik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZpbHRlck1vZGVsLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyTW9kZWwuc2VsZWN0KC4uLnJlc3VsdCk7XG5cbiAgICAgICAgLy8gc2V0IGN1cnJlbnQgZXhwYW5zaW9uIHN0YXRlIGFjY29yZGluZyB0byBmaWx0ZXJlZCB0cmVlXG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuc2V0U2VsZWN0aW9uKC4uLnJlc3VsdC5maWx0ZXIoKG5vZGUpID0+IHRoaXMuaXNFeHBhbmRhYmxlKG5vZGUpKSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMucmVzdG9yZUV4cGFuc2lvblN0YXRlKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRmlsdGVyVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMuZmlsdGVyVmFsdWUubmV4dCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZUV4cGFuc2lvblN0YXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMuZmlsdGVyVmFsdWUudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWRJdGVtc0JlZm9yZUZpbHRyYXRpb24gPSB0aGlzLmV4cGFuc2lvbk1vZGVsLnNlbGVjdGVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN0b3JlRXhwYW5zaW9uU3RhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5maWx0ZXJWYWx1ZS52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5leHBhbnNpb25Nb2RlbC5zZXRTZWxlY3Rpb24oLi4udGhpcy5leHBhbmRlZEl0ZW1zQmVmb3JlRmlsdHJhdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC10cmVlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvY29udHJvbC9mbGF0LXRyZWUtY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBeUIsTUFBTSw2QkFBNkIsQ0FBQztBQUc5RyxNQUFNLFVBQVUsb0JBQW9CLENBQUMsVUFBa0IsRUFBRSxXQUFtQjtJQUN4RSxPQUFPLFVBQVUsS0FBSyxXQUFXLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxjQUFzQixFQUFFLGVBQXVCO0lBQ3BGLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELDJGQUEyRjtBQUMzRixNQUFNLE9BQU8sZUFBbUIsU0FBUSxlQUFrQjtJQUt0RCxzR0FBc0c7SUFDdEcsWUFDVyxRQUFpQyxFQUNqQyxZQUFzQztJQUM3QyxvR0FBb0c7SUFDN0YsUUFBOEI7SUFDckMsK0dBQStHO0lBQ3hHLFlBQXFDO0lBQzVDLHNEQUFzRDtJQUMvQyxnQkFBc0Qsb0JBQW9CO0lBQ2pGLHNEQUFzRDtJQUMvQyxvQkFBa0Usd0JBQXdCO0lBQ2pHLG9FQUFvRTtJQUM3RCxhQUF1QyxHQUFHLEVBQUUsQ0FBQyxLQUFLO1FBRXpELEtBQUssRUFBRSxDQUFDO1FBYkQsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQTBCO1FBRXRDLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBRTlCLGlCQUFZLEdB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QU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLENBQUM7UUFFeEMsT0FBTyxDQUFDLE9BQU8sRUFBRTthQUNaLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUEwQjtRQUNoRCxPQUFPLENBQUMsT0FBTyxFQUFFO2FBQ1osSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQ2pDLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztTQUNyRTtJQUNMLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQzNFO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXNjYXBlUmVnRXhwIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlVHJlZUNvbnRyb2wgfSBmcm9tICcuL2Jhc2UtdHJlZS1jb250cm9sJztcbmltcG9ydCB7IEZpbHRlckJ5Vmlld1ZhbHVlLCBGaWx0ZXJQYXJlbnRzRm9yTm9kZXMsIEZsYXRUcmVlQ29udHJvbEZpbHRlciB9IGZyb20gJy4vZmxhdC10cmVlLWNvbnRyb2wuZmlsdGVycyc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRDb21wYXJlVmFsdWVzKGZpcnN0VmFsdWU6IHN0cmluZywgc2Vjb25kVmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlID09PSBzZWNvbmRWYWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRDb21wYXJlVmlld1ZhbHVlcyhmaXJzdFZpZXdWYWx1ZTogc3RyaW5nLCBzZWNvbmRWaWV3VmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSZWdFeHAoZXNjYXBlUmVnRXhwKHNlY29uZFZpZXdWYWx1ZSksICdnaScpLnRlc3QoZmlyc3RWaWV3VmFsdWUpO1xufVxuXG4vKiogRmxhdCB0cmVlIGNvbnRyb2wuIEFibGUgdG8gZXhwYW5kL2NvbGxhcHNlIGEgc3VidHJlZSByZWN1cnNpdmVseSBmb3IgZmxhdHRlbmVkIHRyZWUuICovXG5leHBvcnQgY2xhc3MgRmxhdFRyZWVDb250cm9sPFQ+IGV4dGVuZHMgQmFzZVRyZWVDb250cm9sPFQ+IHtcbiAgICBleHBhbmRlZEl0ZW1zQmVmb3JlRmlsdHJhdGlvbjogVFtdO1xuXG4gICAgcHJpdmF0ZSBmaWx0ZXJzOiBGbGF0VHJlZUNvbnRyb2xGaWx0ZXI8VD5bXTtcblxuICAgIC8qKiBDb25zdHJ1Y3Qgd2l0aCBmbGF0IHRyZWUgZGF0YSBub2RlIGZ1bmN0aW9ucyBnZXRMZXZlbCwgaXNFeHBhbmRhYmxlLCBnZXRWYWx1ZSBhbmQgZ2V0Vmlld1ZhbHVlLiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZ2V0TGV2ZWw6IChkYXRhTm9kZTogVCkgPT4gbnVtYmVyLFxuICAgICAgICBwdWJsaWMgaXNFeHBhbmRhYmxlOiAoZGF0YU5vZGU6IFQpID0+IGJvb2xlYW4sXG4gICAgICAgIC8qKiBnZXRWYWx1ZSB3aWxsIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZSB0cmVlIGNvbnRhaW5zIHZhbHVlIG9yIG5vdC4gVXNlZCBpbiBtZXRob2QgaGFzVmFsdWUgKi9cbiAgICAgICAgcHVibGljIGdldFZhbHVlOiAoZGF0YU5vZGU6IFQpID0+IGFueSxcbiAgICAgICAgLyoqIGdldFZpZXdWYWx1ZSB3aWxsIGJlIHVzZWQgZm9yIGZpbHRlciBub2Rlcy4gUmV0dXJuZWQgdmFsdWUgd2lsbCBiZSBmaXJzdCBhcmd1bWVudCBpbiBmaWx0ZXJOb2Rlc0Z1bmN0aW9uICovXG4gICAgICAgIHB1YmxpYyBnZXRWaWV3VmFsdWU6IChkYXRhTm9kZTogVCkgPT4gc3RyaW5nLFxuICAgICAgICAvKiogY29tcGFyZVZhbHVlcyB3aWxsIGJlIHVzZWQgdG8gY29tcGFyaW5nIHZhbHVlcy4gKi9cbiAgICAgICAgcHVibGljIGNvbXBhcmVWYWx1ZXM6IChmaXJzdFZhbHVlLCBzZWNvbmRWYWx1ZSkgPT4gYm9vbGVhbiA9IGRlZmF1bHRDb21wYXJlVmFsdWVzLFxuICAgICAgICAvKiogY29tcGFyZVZhbHVlcyB3aWxsIGJlIHVzZWQgdG8gY29tcGFyaW5nIHZhbHVlcy4gKi9cbiAgICAgICAgcHVibGljIGNvbXBhcmVWaWV3VmFsdWVzOiAoZmlyc3RWaWV3VmFsdWUsIHNlY29uZFZpZXdWYWx1ZSkgPT4gYm9vbGVhbiA9IGRlZmF1bHRDb21wYXJlVmlld1ZhbHVlcyxcbiAgICAgICAgLyoqIGlzRGlzYWJsZWQgd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgbm9kZSBpcyBkaXNhYmxlZC4gKi9cbiAgICAgICAgcHVibGljIGlzRGlzYWJsZWQ6IChkYXRhTm9kZTogVCkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5zZXRGaWx0ZXJzKFxuICAgICAgICAgICAgbmV3IEZpbHRlckJ5Vmlld1ZhbHVlPFQ+KHRoaXMpLFxuICAgICAgICAgICAgbmV3IEZpbHRlclBhcmVudHNGb3JOb2RlczxUPih0aGlzKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEZpbHRlcnMoKTogRmxhdFRyZWVDb250cm9sRmlsdGVyPFQ+W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJzO1xuICAgIH1cblxuICAgIHNldEZpbHRlcnMoLi4uZmlsdGVyczogRmxhdFRyZWVDb250cm9sRmlsdGVyPFQ+W10pIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzID0gZmlsdGVycztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgbGlzdCBvZiB0aGUgZGF0YSBub2RlJ3Mgc3VidHJlZSBvZiBkZXNjZW5kZW50IGRhdGEgbm9kZXMuXG4gICAgICpcbiAgICAgKiBUbyBtYWtlIHRoaXMgd29ya2luZywgdGhlIGBkYXRhTm9kZXNgIG9mIHRoZSBUcmVlQ29udHJvbCBtdXN0IGJlIGZsYXR0ZW5lZCB0cmVlIG5vZGVzXG4gICAgICogd2l0aCBjb3JyZWN0IGxldmVscy5cbiAgICAgKi9cbiAgICBnZXREZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IFRbXSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLmRhdGFOb2Rlcy5pbmRleE9mKGRhdGFOb2RlKTtcbiAgICAgICAgY29uc3QgcmVzdWx0czogVFtdID0gW107XG5cbiAgICAgICAgLy8gR29lcyB0aHJvdWdoIGZsYXR0ZW5lZCB0cmVlIG5vZGVzIGluIHRoZSBgZGF0YU5vZGVzYCBhcnJheSwgYW5kIGdldCBhbGwgZGVzY2VuZGFudHMuXG4gICAgICAgIC8vIFRoZSBsZXZlbCBvZiBkZXNjZW5kYW50cyBvZiBhIHRyZWUgbm9kZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB0aGUgbGV2ZWwgb2YgdGhlIGdpdmVuXG4gICAgICAgIC8vIHRyZWUgbm9kZS5cbiAgICAgICAgLy8gSWYgd2UgcmVhY2ggYSBub2RlIHdob3NlIGxldmVsIGlzIGVxdWFsIHRvIHRoZSBsZXZlbCBvZiB0aGUgdHJlZSBub2RlLCB3ZSBoaXQgYSBzaWJsaW5nLlxuICAgICAgICAvLyBJZiB3ZSByZWFjaCBhIG5vZGUgd2hvc2UgbGV2ZWwgaXMgZ3JlYXRlciB0aGFuIHRoZSBsZXZlbCBvZiB0aGUgdHJlZSBub2RlLCB3ZSBoaXQgYVxuICAgICAgICAvLyBzaWJsaW5nIG9mIGFuIGFuY2VzdG9yLlxuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnRJbmRleCArIDE7XG4gICAgICAgICAgICAgaSA8IHRoaXMuZGF0YU5vZGVzLmxlbmd0aCAmJiB0aGlzLmdldExldmVsKGRhdGFOb2RlKSA8IHRoaXMuZ2V0TGV2ZWwodGhpcy5kYXRhTm9kZXNbaV0pO1xuICAgICAgICAgICAgIGkrK1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaCh0aGlzLmRhdGFOb2Rlc1tpXSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeHBhbmRzIGFsbCBkYXRhIG5vZGVzIGluIHRoZSB0cmVlLlxuICAgICAqXG4gICAgICogVG8gbWFrZSB0aGlzIHdvcmtpbmcsIHRoZSBgZGF0YU5vZGVzYCB2YXJpYWJsZSBvZiB0aGUgVHJlZUNvbnRyb2wgbXVzdCBiZSBzZXQgdG8gYWxsIGZsYXR0ZW5lZFxuICAgICAqIGRhdGEgbm9kZXMgb2YgdGhlIHRyZWUuXG4gICAgICovXG4gICAgZXhwYW5kQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLnNlbGVjdCguLi50aGlzLmRhdGFOb2Rlcyk7XG4gICAgfVxuXG4gICAgZ2V0UGFyZW50cyhub2RlOiBhbnksIHJlc3VsdDogVFtdKTogVFtdIHtcbiAgICAgICAgaWYgKG5vZGUucGFyZW50KSB7XG4gICAgICAgICAgICByZXN1bHQudW5zaGlmdChub2RlLnBhcmVudCk7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFBhcmVudHMobm9kZS5wYXJlbnQsIHJlc3VsdCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFzVmFsdWUodmFsdWU6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhTm9kZXMuZmluZCgobm9kZTogYW55KSA9PiB0aGlzLmNvbXBhcmVWYWx1ZXModGhpcy5nZXRWYWx1ZShub2RlKSwgdmFsdWUpKTtcbiAgICB9XG5cbiAgICBmaWx0ZXJOb2Rlcyh2YWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYXZlRXhwYW5zaW9uU3RhdGUoKTtcblxuICAgICAgICBsZXQgcmVzdWx0OiBUW10gPSBbXTtcblxuICAgICAgICB0aGlzLmZpbHRlcnNcbiAgICAgICAgICAgIC5mb3JFYWNoKChmaWx0ZXIsIGluZGV4LCBmaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldkZpbHRlciA9IGZpbHRlcnNbaW5kZXggLSAxXSB8fCBudWxsO1xuXG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gZmlsdGVyLmhhbmRsZSh2YWx1ZSwgcHJldkZpbHRlcik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZpbHRlck1vZGVsLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyTW9kZWwuc2VsZWN0KC4uLnJlc3VsdCk7XG5cbiAgICAgICAgLy8gc2V0IGN1cnJlbnQgZXhwYW5zaW9uIHN0YXRlIGFjY29yZGluZyB0byBmaWx0ZXJlZCB0cmVlXG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuc2V0U2VsZWN0aW9uKC4uLnJlc3VsdC5maWx0ZXIoKG5vZGUpID0+IHRoaXMuaXNFeHBhbmRhYmxlKG5vZGUpKSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJWYWx1ZSh2YWx1ZSB8fCByZXN1bHQpO1xuXG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLnJlc3RvcmVFeHBhbnNpb25TdGF0ZSgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUZpbHRlclZhbHVlKHZhbHVlOiBUW10gfCBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLmZpbHRlclZhbHVlLm5leHQodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVFeHBhbnNpb25TdGF0ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZpbHRlclZhbHVlLnZhbHVlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWRJdGVtc0JlZm9yZUZpbHRyYXRpb24gPSB0aGlzLmV4cGFuc2lvbk1vZGVsLnNlbGVjdGVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN0b3JlRXhwYW5zaW9uU3RhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5maWx0ZXJWYWx1ZS52YWx1ZT8ubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLnNldFNlbGVjdGlvbiguLi50aGlzLmV4cGFuZGVkSXRlbXNCZWZvcmVGaWx0cmF0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL2NvbnRyb2wvdHJlZS1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuXG4vKipcbiAqIFRyZWUgY29udHJvbCBpbnRlcmZhY2UuIFVzZXIgY2FuIGltcGxlbWVudCBUcmVlQ29udHJvbCB0byBleHBhbmQvY29sbGFwc2UgZGF0YU5vZGVzIGluIHRoZSB0cmVlLlxuICogVGhlIFRyZWUgd2lsbCB1c2UgdGhpcyBUcmVlQ29udHJvbCB0byBleHBhbmQvY29sbGFwc2UgYSBub2RlLlxuICogVXNlciBjYW4gYWxzbyB1c2UgaXQgb3V0c2lkZSB0aGUgYDxrYnEtdHJlZT5gIHRvIGNvbnRyb2wgdGhlIGV4cGFuc2lvbiBzdGF0dXMgb2YgdGhlIHRyZWUuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuYW1pbmctY29udmVudGlvblxuZXhwb3J0IGludGVyZmFjZSBUcmVlQ29udHJvbDxUPiB7XG4gICAgLyoqIFRoZSBzYXZlZCB0cmVlIG5vZGVzIGRhdGEgZm9yIGBleHBhbmRBbGxgIGFjdGlvbi4gKi9cbiAgICBkYXRhTm9kZXM6IFRbXTtcblxuICAgIC8qKiBUaGUgZXhwYW5zaW9uIG1vZGVsICovXG4gICAgZXhwYW5zaW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPFQ+O1xuXG4gICAgZmlsdGVyTW9kZWw6IFNlbGVjdGlvbk1vZGVsPFQ+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL2NvbnRyb2wvdHJlZS1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuXG4vKipcbiAqIFRyZWUgY29udHJvbCBpbnRlcmZhY2UuIFVzZXIgY2FuIGltcGxlbWVudCBUcmVlQ29udHJvbCB0byBleHBhbmQvY29sbGFwc2UgZGF0YU5vZGVzIGluIHRoZSB0cmVlLlxuICogVGhlIFRyZWUgd2lsbCB1c2UgdGhpcyBUcmVlQ29udHJvbCB0byBleHBhbmQvY29sbGFwc2UgYSBub2RlLlxuICogVXNlciBjYW4gYWxzbyB1c2UgaXQgb3V0c2lkZSB0aGUgYDxrYnEtdHJlZT5gIHRvIGNvbnRyb2wgdGhlIGV4cGFuc2lvbiBzdGF0dXMgb2YgdGhlIHRyZWUuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuYW1pbmctY29udmVudGlvblxuZXhwb3J0IGludGVyZmFjZSBUcmVlQ29udHJvbDxUPiB7XG4gICAgLyoqIFRoZSBzYXZlZCB0cmVlIG5vZGVzIGRhdGEgZm9yIGBleHBhbmRBbGxgIGFjdGlvbi4gKi9cbiAgICBkYXRhTm9kZXM6IFRbXTtcblxuICAgIC8qKiBUaGUgZXhwYW5zaW9uIG1vZGVsICovXG4gICAgZXhwYW5zaW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPFQ+O1xuXG4gICAgZmlsdGVyTW9kZWw6IFNlbGVjdGlvbk1vZGVsPFQ+O1xuXG4gICAgZmlsdGVyVmFsdWU6IEJlaGF2aW9yU3ViamVjdDxUW10gfCBzdHJpbmcgfCBudWxsPjtcblxuICAgIC8qKiBHZXQgZGVwdGggb2YgYSBnaXZlbiBkYXRhIG5vZGUsIHJldHVybiB0aGUgbGV2ZWwgbnVtYmVyLiBUaGlzIGlzIGZvciBmbGF0IHRyZWUgbm9kZS4gKi9cbiAgICBnZXRMZXZlbChkYXRhTm9kZTogVCk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGRhdGEgbm9kZSBpcyBleHBhbmRhYmxlLiBSZXR1cm5zIHRydWUgaWYgZXhwYW5kYWJsZS5cbiAgICAgKiBUaGlzIGlzIGZvciBmbGF0IHRyZWUgbm9kZS5cbiAgICAgKi9cbiAgICBpc0V4cGFuZGFibGUoZGF0YU5vZGU6IFQpOiBib29sZWFuO1xuXG4gICAgLyoqIEdldHMgYSBzdHJlYW0gdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgZ2l2ZW4gZGF0YSBub2RlJ3MgY2hpbGRyZW4gY2hhbmdlLiAqL1xuICAgIGdldENoaWxkcmVuKGRhdGFOb2RlOiBUKTogT2JzZXJ2YWJsZTxUW10+O1xuXG5cbiAgICAvKiogV2hldGhlciB0aGUgZGF0YSBub2RlIGlzIGV4cGFuZGVkIG9yIGNvbGxhcHNlZC4gUmV0dXJuIHRydWUgaWYgaXQncyBleHBhbmRlZC4gKi9cbiAgICBpc0V4cGFuZGVkKGRhdGFOb2RlOiBUKTogYm9vbGVhbjtcblxuICAgIC8qKiBHZXQgYWxsIGRlc2NlbmRhbnRzIG9mIGEgZGF0YSBub2RlICovXG4gICAgZ2V0RGVzY2VuZGFudHMoZGF0YU5vZGU6IFQpOiBhbnlbXTtcblxuICAgIC8qKiBFeHBhbmQgb3IgY29sbGFwc2UgZGF0YSBub2RlICovXG4gICAgdG9nZ2xlKGRhdGFOb2RlOiBUKTogdm9pZDtcblxuICAgIC8qKiBFeHBhbmQgb25lIGRhdGEgbm9kZSAqL1xuICAgIGV4cGFuZChkYXRhTm9kZTogVCk6IHZvaWQ7XG5cbiAgICAvKiogQ29sbGFwc2Ugb25lIGRhdGEgbm9kZSAqL1xuICAgIGNvbGxhcHNlKGRhdGFOb2RlOiBUKTogdm9pZDtcblxuICAgIC8qKiBFeHBhbmQgYWxsIHRoZSBkYXRhTm9kZXMgaW4gdGhlIHRyZWUgKi9cbiAgICBleHBhbmRBbGwoKTogdm9pZDtcblxuICAgIC8qKiBDb2xsYXBzZSBhbGwgdGhlIGRhdGFOb2RlcyBpbiB0aGUgdHJlZSAqL1xuICAgIGNvbGxhcHNlQWxsKCk6IHZvaWQ7XG5cbiAgICAvKiogVG9nZ2xlIGEgZGF0YSBub2RlIGJ5IGV4cGFuZC9jb2xsYXBzZSBpdCBhbmQgYWxsIGl0cyBkZXNjZW5kYW50cyAqL1xuICAgIHRvZ2dsZURlc2NlbmRhbnRzKGRhdGFOb2RlOiBUKTogdm9pZDtcblxuICAgIC8qKiBFeHBhbmQgYSBkYXRhIG5vZGUgYW5kIGFsbCBpdHMgZGVzY2VuZGFudHMgKi9cbiAgICBleHBhbmREZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IHZvaWQ7XG5cbiAgICAvKiogQ29sbGFwc2UgYSBkYXRhIG5vZGUgYW5kIGFsbCBpdHMgZGVzY2VuZGFudHMgKi9cbiAgICBjb2xsYXBzZURlc2NlbmRhbnRzKGRhdGFOb2RlOiBUKTogdm9pZDtcbn1cbiJdfQ==
|
package/esm2022/tree/toggle.mjs
CHANGED
|
@@ -27,7 +27,7 @@ export class KbqTreeNodeToggleBaseDirective extends KbqTreeNodeToggleMixinBase {
|
|
|
27
27
|
this.treeNode = treeNode;
|
|
28
28
|
this._recursive = false;
|
|
29
29
|
this.tree.treeControl.filterValue
|
|
30
|
-
.subscribe((value) => this.disabled = !!value);
|
|
30
|
+
.subscribe((value) => this.disabled = !!value?.length);
|
|
31
31
|
}
|
|
32
32
|
toggle(event) {
|
|
33
33
|
if (this.disabled) {
|
|
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
|
77
77
|
}
|
|
78
78
|
}]
|
|
79
79
|
}] });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL3RvZ2dsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUE4QixhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRixPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUd2RCxvQkFBb0I7QUFDcEIsTUFBTSxPQUFPLHFCQUFxQjtDQUFHO0FBR3JDLG9CQUFvQjtBQUNwQixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FDYSxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUV6RixvQkFBb0I7QUFFcEIsTUFBTSxPQUFPLDhCQUFrQyxTQUFRLDBCQUEwQjtJQUc3RSxJQUNJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBSUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxZQUFvQixJQUFvQixFQUFVLFFBQXdCO1FBQ3RFLEtBQUssRUFBRSxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQU5sRSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBU3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVc7YUFDNUIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFZO1FBQ2YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQUUsT0FBTztTQUFFO1FBRTlCLElBQUksQ0FBQyxTQUFTO1lBQ1YsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzdELENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztpSUFqQ1EsOEJBQThCO3FIQUE5Qiw4QkFBOEI7OzJGQUE5Qiw4QkFBOEI7a0JBRDFDLFNBQVM7NEhBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUdGLFNBQVM7c0JBRFosS0FBSzt1QkFBQyw0QkFBNEI7O0FBbUR2QyxNQUFNLE9BQU8sMEJBQThCLFNBQVEsOEJBQWlDO2lJQUF2RSwwQkFBMEI7cUhBQTFCLDBCQUEwQiwwVUFkekIsdUNBQXVDOzsyRkFjeEMsMEJBQTBCO2tCQWpCdEMsU0FBUzsrQkFDSSxzQkFBc0IsWUFDdEIsbUJBQW1CLFlBQ25CLHVDQUF1QyxRQUUzQzt3QkFDRixLQUFLLEVBQUUsc0JBQXNCO3dCQUM3QixzQkFBc0IsRUFBRSxXQUFXO3dCQUVuQyxpQkFBaUIsRUFBRSxrQkFBa0I7d0JBRXJDLFNBQVMsRUFBRSxnQkFBZ0I7cUJBQzlCLFVBQ08sQ0FBQyxVQUFVLENBQUMsaUJBQ0wsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7QUFhbkQsTUFBTSxPQUFPLDBCQUE4QixTQUFRLDhCQUFpQztpSUFBdkUsMEJBQTBCO3FIQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBUnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsSUFBSSxFQUFFO3dCQUNGLGlCQUFpQixFQUFFLGtCQUFrQjt3QkFDckMsU0FBUyxFQUFFLGdCQUFnQjtxQkFDOUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGlyZWN0aXZlLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkRpc2FibGUsIENhbkRpc2FibGVDdG9yLCBtaXhpbkRpc2FibGVkIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuXG5pbXBvcnQgeyBLYnFUcmVlQmFzZSwgS2JxVHJlZU5vZGUgfSBmcm9tICcuL3RyZWUtYmFzZSc7XG5cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjbGFzcyBLYnFUcmVlTm9kZVRvZ2dsZUJhc2Uge31cblxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IEticVRyZWVOb2RlVG9nZ2xlTWl4aW5CYXNlOlxuICAgIENhbkRpc2FibGVDdG9yICYgdHlwZW9mIEticVRyZWVOb2RlVG9nZ2xlQmFzZSA9IG1peGluRGlzYWJsZWQoS2JxVHJlZU5vZGVUb2dnbGVCYXNlKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEticVRyZWVOb2RlVG9nZ2xlQmFzZURpcmVjdGl2ZTxUPiBleHRlbmRzIEticVRyZWVOb2RlVG9nZ2xlTWl4aW5CYXNlIGltcGxlbWVudHMgQ2FuRGlzYWJsZSB7XG4gICAgQElucHV0KCkgbm9kZTogVDtcblxuICAgIEBJbnB1dCgna2JxVHJlZU5vZGVUb2dnbGVSZWN1cnNpdmUnKVxuICAgIGdldCByZWN1cnNpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWN1cnNpdmU7XG4gICAgfVxuXG4gICAgc2V0IHJlY3Vyc2l2ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3JlY3Vyc2l2ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVjdXJzaXZlID0gZmFsc2U7XG5cbiAgICBnZXQgaWNvblN0YXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50cmVlLnRyZWVDb250cm9sLmlzRXhwYW5kZWQodGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyZWU6IEticVRyZWVCYXNlPFQ+LCBwcml2YXRlIHRyZWVOb2RlOiBLYnFUcmVlTm9kZTxUPikge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMudHJlZS50cmVlQ29udHJvbC5maWx0ZXJWYWx1ZVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMuZGlzYWJsZWQgPSAhIXZhbHVlPy5sZW5ndGgpO1xuICAgIH1cblxuICAgIHRvZ2dsZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5yZWN1cnNpdmVcbiAgICAgICAgICAgID8gdGhpcy50cmVlLnRyZWVDb250cm9sLnRvZ2dsZURlc2NlbmRhbnRzKHRoaXMudHJlZU5vZGUuZGF0YSlcbiAgICAgICAgICAgIDogdGhpcy50cmVlLnRyZWVDb250cm9sLnRvZ2dsZSh0aGlzLnRyZWVOb2RlLmRhdGEpO1xuXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS10cmVlLW5vZGUtdG9nZ2xlJyxcbiAgICBleHBvcnRBczogJ2ticVRyZWVOb2RlVG9nZ2xlJyxcbiAgICB0ZW1wbGF0ZTogYDxpIGticS1pY29uPVwibWMtYW5nbGUtZG93bi1TXzE2XCI+PC9pPmAsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9nZ2xlLnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRyZWUtbm9kZS10b2dnbGUnLFxuICAgICAgICAnW2NsYXNzLmticS1leHBhbmRlZF0nOiAnaWNvblN0YXRlJyxcblxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuXG4gICAgICAgICcoY2xpY2spJzogJ3RvZ2dsZSgkZXZlbnQpJ1xuICAgIH0sXG4gICAgaW5wdXRzOiBbJ2Rpc2FibGVkJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBLYnFUcmVlTm9kZVRvZ2dsZUNvbXBvbmVudDxUPiBleHRlbmRzIEticVRyZWVOb2RlVG9nZ2xlQmFzZURpcmVjdGl2ZTxUPiB7fVxuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ticS10cmVlLW5vZGUtdG9nZ2xlXSwgW2ticVRyZWVOb2RlVG9nZ2xlXScsXG4gICAgZXhwb3J0QXM6ICdrYnFUcmVlTm9kZVRvZ2dsZScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICAgICAnKGNsaWNrKSc6ICd0b2dnbGUoJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticVRyZWVOb2RlVG9nZ2xlRGlyZWN0aXZlPFQ+IGV4dGVuZHMgS2JxVHJlZU5vZGVUb2dnbGVCYXNlRGlyZWN0aXZlPFQ+IHt9XG4iXX0=
|
|
@@ -237,6 +237,9 @@ export class KbqTreeOption extends KbqTreeNode {
|
|
|
237
237
|
}
|
|
238
238
|
markForCheck() {
|
|
239
239
|
this.changeDetectorRef.markForCheck();
|
|
240
|
+
if (this.showCheckbox) {
|
|
241
|
+
this.updateCheckboxState();
|
|
242
|
+
}
|
|
240
243
|
}
|
|
241
244
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqTreeOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: KBQ_TREE_OPTION_PARENT_COMPONENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
242
245
|
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqTreeOption, selector: "kbq-tree-option", inputs: { checkboxThirdState: "checkboxThirdState", disabled: "disabled", showCheckbox: "showCheckbox" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "focusin": "focus()", "blur": "blur()", "click": "selectViaInteraction($event)", "keydown": "onKeydown($event)" }, properties: { "class.kbq-selected": "selected", "class.kbq-focused": "hasFocus", "class.kbq-disabled": "disabled", "class.kbq-action-button-focused": "actionButton?.active", "attr.id": "id", "attr.tabindex": "-1", "attr.disabled": "disabled || null" }, classAttribute: "kbq-tree-option" }, providers: [
|
|
@@ -298,4 +301,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
|
298
301
|
}], onSelectionChange: [{
|
|
299
302
|
type: Output
|
|
300
303
|
}] } });
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL3RyZWUtb3B0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdHJlZS90cmVlLW9wdGlvbi5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sY0FBYyxFQUNkLGlCQUFpQixFQUVqQixNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QixpQkFBaUIsRUFFakIsa0JBQWtCLEVBRXJCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDBCQUEwQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFRMUM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLGNBQWMsQ0FBTSxrQ0FBa0MsQ0FBQyxDQUFDO0FBRTVHLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsWUFBbUIsTUFBcUIsRUFBUyxjQUFjLEtBQUs7UUFBakQsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBQUcsQ0FBQztDQUMzRTtBQUVELElBQUksZUFBZSxHQUFXLENBQUMsQ0FBQztBQWdDaEMsTUFBTSxPQUFPLGFBQWMsU0FBUSxXQUEwQjtJQWlCekQsSUFBSSxzQkFBc0I7UUFDdEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFJRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBVTtRQUNuQixNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUlELElBQ0ksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzFGLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQU1ELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoRCxJQUFJLFVBQVUsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDO0lBSUQsSUFBSSxFQUFFO1FBQ0YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3BCLENBQUM7SUFJRCxJQUFJLFNBQVM7UUFDVCxzREFBc0Q7UUFDdEQsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUlELElBQUksWUFBWTtRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFJRCxZQUNJLFVBQXNCLEVBQ2QsaUJBQW9DLEVBQ3BDLE1BQWMsRUFDMkIsSUFBUztRQUUxRCxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBSmhCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUMyQixTQUFJLEdBQUosSUFBSSxDQUFLO1FBdkdyRCxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFFNUMsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO1FBRXBELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBVXBCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQTZCckMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQWFoQixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQWN2RSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBTTNCLFFBQUcsR0FBRyxtQkFBbUIsZUFBZSxFQUFFLEVBQUUsQ0FBQztRQU9yRCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBdUQxQix3QkFBbUIsR0FBRyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDOUMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7aUJBQ2xDO3FCQUFNLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFLEVBQUU7b0JBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsZUFBZSxDQUFDO2lCQUN4QztxQkFBTTtvQkFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO2lCQUNoRTthQUNKO2lCQUFNO2dCQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7YUFDaEU7WUFFRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQTtJQTlDRCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsT0FBTyxDQUFDLE9BQU8sRUFBRTthQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBFLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELDRCQUE0QjtRQUN4QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBFLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELDBCQUEwQixDQUFDLElBQUk7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO2FBQ2hCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2FBQ3BCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2hCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCO2lCQUMxQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUM7WUFFOUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBa0JELE1BQU07UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWlCO1FBQ3pCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUV6RSxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUUxQixJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUM7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEQ7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDOUI7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUF5QjtRQUMzQixJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFMUMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFO1lBQUUsT0FBTztTQUFFO1FBRTdELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXRDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFFcEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUVyQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBRWpDLDRGQUE0RjtRQUM1RixzRkFBc0Y7UUFDdEYsNEZBQTRGO1FBQzVGLDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7YUFDZixZQUFZLEVBQUU7YUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDakIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFO29CQUFFLE9BQU87aUJBQUU7Z0JBRXJGLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUV0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRW5FLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUNwQixPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FDaEM7UUFFRCxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUk7UUFDbEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBRS9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLElBQUksUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEI7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUVoQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUV2QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFNO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFbkMsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUMzRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRTFCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFzQjtRQUN2QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFOUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVuRSxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELHdCQUF3QixDQUFDLFdBQVcsR0FBRyxLQUFLO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztpSUEzUlEsYUFBYSxtR0F3R1YsZ0NBQWdDO3FIQXhHbkMsYUFBYSxtbkJBTlg7WUFDUCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRTtZQUNwRCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFO1lBQzNELEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUU7U0FDcEUsOEVBVWEsMEJBQTBCLHlGQUMxQiwwQkFBMEIsaUZBQzFCLGlCQUFpQiwrRUFDakIsd0JBQXdCLGlGQUN4QixpQkFBaUIsa0ZBQ2pCLGtCQUFrQiw0TkMvRnBDLGd6QkF1QkE7OzJGRDJEYSxhQUFhO2tCQTlCekIsU0FBUzsrQkFDSSxpQkFBaUIsWUFDakIsZUFBZSxRQUduQjt3QkFDRixLQUFLLEVBQUUsaUJBQWlCO3dCQUN4QixzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxxQkFBcUIsRUFBRSxVQUFVO3dCQUNqQyxzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxtQ0FBbUMsRUFBRSxzQkFBc0I7d0JBRTNELFdBQVcsRUFBRSxJQUFJO3dCQUNqQixpQkFBaUIsRUFBRSxJQUFJO3dCQUN2QixpQkFBaUIsRUFBRSxrQkFBa0I7d0JBRXJDLFdBQVcsRUFBRSxTQUFTO3dCQUN0QixRQUFRLEVBQUUsUUFBUTt3QkFFbEIsU0FBUyxFQUFFLDhCQUE4Qjt3QkFDekMsV0FBVyxFQUFFLG1CQUFtQjtxQkFDbkMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsZUFBZSxFQUFFO3dCQUNwRCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLGVBQWUsRUFBRTt3QkFDM0QsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxlQUFlLEVBQUU7cUJBQ3BFOzswQkEwR0ksTUFBTTsyQkFBQyxnQ0FBZ0M7NENBakdaLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBQ1ksc0JBQXNCO3NCQUEvRCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFDRSxzQkFBc0I7c0JBQS9ELFlBQVk7dUJBQUMsMEJBQTBCO2dCQUNQLGNBQWM7c0JBQTlDLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNTLFlBQVk7c0JBQW5ELFlBQVk7dUJBQUMsd0JBQXdCO2dCQUNMLGNBQWM7c0JBQTlDLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNHLGVBQWU7c0JBQWhELFlBQVk7dUJBQUMsa0JBQWtCO2dCQUV2QixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBaUJGLFFBQVE7c0JBRFgsS0FBSztnQkFnQkYsWUFBWTtzQkFEZixLQUFLO2dCQVdhLGlCQUFpQjtzQkFBbkMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBOZ1pvbmUsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGhhc01vZGlmaWVyS2V5LCBUQUIgfSBmcm9tICdAa29vYmlxL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge1xuICAgIEtCUV9PUFRJT05fQUNUSU9OX1BBUkVOVCxcbiAgICBLYnFPcHRpb25BY3Rpb25Db21wb25lbnQsXG4gICAgS2JxUHNldWRvQ2hlY2tib3gsXG4gICAgS2JxUHNldWRvQ2hlY2tib3hTdGF0ZSxcbiAgICBLQlFfVElUTEVfVEVYVF9SRUYsXG4gICAgS2JxVGl0bGVUZXh0UmVmXG59IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEticURyb3Bkb3duVHJpZ2dlciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBLYnFUb29sdGlwVHJpZ2dlciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEticVRyZWVOb2RlVG9nZ2xlQmFzZURpcmVjdGl2ZSwgS2JxVHJlZU5vZGVUb2dnbGVDb21wb25lbnQsIEticVRyZWVOb2RlVG9nZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi90b2dnbGUnO1xuaW1wb3J0IHsgS2JxVHJlZU5vZGUgfSBmcm9tICcuL3RyZWUtYmFzZSc7XG5cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgaW50ZXJmYWNlIEticVRyZWVPcHRpb25FdmVudCB7XG4gICAgb3B0aW9uOiBLYnFUcmVlT3B0aW9uO1xufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB1c2VkIHRvIHByb3ZpZGUgdGhlIHBhcmVudCBjb21wb25lbnQgdG8gb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IEtCUV9UUkVFX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0tCUV9UUkVFX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UJyk7XG5cbmV4cG9ydCBjbGFzcyBLYnFUcmVlT3B0aW9uQ2hhbmdlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgc291cmNlOiBLYnFUcmVlT3B0aW9uLCBwdWJsaWMgaXNVc2VySW5wdXQgPSBmYWxzZSkge31cbn1cblxubGV0IHVuaXF1ZUlkQ291bnRlcjogbnVtYmVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtdHJlZS1vcHRpb24nLFxuICAgIGV4cG9ydEFzOiAna2JxVHJlZU9wdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtb3B0aW9uLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RyZWUtb3B0aW9uLnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRyZWUtb3B0aW9uJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtc2VsZWN0ZWRdJzogJ3NlbGVjdGVkJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtZm9jdXNlZF0nOiAnaGFzRm9jdXMnLFxuICAgICAgICAnW2NsYXNzLmticS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1hY3Rpb24tYnV0dG9uLWZvY3VzZWRdJzogJ2FjdGlvbkJ1dHRvbj8uYWN0aXZlJyxcblxuICAgICAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICctMScsXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgbnVsbCcsXG5cbiAgICAgICAgJyhmb2N1c2luKSc6ICdmb2N1cygpJyxcbiAgICAgICAgJyhibHVyKSc6ICdibHVyKCknLFxuXG4gICAgICAgICcoY2xpY2spJzogJ3NlbGVjdFZpYUludGVyYWN0aW9uKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5ZG93bigkZXZlbnQpJ1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBLYnFUcmVlTm9kZSwgdXNlRXhpc3Rpbmc6IEticVRyZWVPcHRpb24gfSxcbiAgICAgICAgeyBwcm92aWRlOiBLQlFfVElUTEVfVEVYVF9SRUYsIHVzZUV4aXN0aW5nOiBLYnFUcmVlT3B0aW9uIH0sXG4gICAgICAgIHsgcHJvdmlkZTogS0JRX09QVElPTl9BQ1RJT05fUEFSRU5ULCB1c2VFeGlzdGluZzogS2JxVHJlZU9wdGlvbiB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUcmVlT3B0aW9uIGV4dGVuZHMgS2JxVHJlZU5vZGU8S2JxVHJlZU9wdGlvbj4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBLYnFUaXRsZVRleHRSZWYge1xuICAgIHJlYWRvbmx5IG9uRm9jdXMgPSBuZXcgU3ViamVjdDxLYnFUcmVlT3B0aW9uRXZlbnQ+KCk7XG5cbiAgICByZWFkb25seSBvbkJsdXIgPSBuZXcgU3ViamVjdDxLYnFUcmVlT3B0aW9uRXZlbnQ+KCk7XG5cbiAgICBwcmV2ZW50Qmx1cjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgna2JxVGl0bGVDb250YWluZXInKSBwYXJlbnRUZXh0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgICBAQ29udGVudENoaWxkKEticVRyZWVOb2RlVG9nZ2xlRGlyZWN0aXZlKSB0b2dnbGVFbGVtZW50RGlyZWN0aXZlOiBLYnFUcmVlTm9kZVRvZ2dsZUJhc2VEaXJlY3RpdmU8S2JxVHJlZU9wdGlvbj47XG4gICAgQENvbnRlbnRDaGlsZChLYnFUcmVlTm9kZVRvZ2dsZUNvbXBvbmVudCkgdG9nZ2xlRWxlbWVudENvbXBvbmVudDogS2JxVHJlZU5vZGVUb2dnbGVCYXNlRGlyZWN0aXZlPEticVRyZWVPcHRpb24+O1xuICAgIEBDb250ZW50Q2hpbGQoS2JxUHNldWRvQ2hlY2tib3gpIHBzZXVkb0NoZWNrYm94OiBLYnFQc2V1ZG9DaGVja2JveDtcbiAgICBAQ29udGVudENoaWxkKEticU9wdGlvbkFjdGlvbkNvbXBvbmVudCkgYWN0aW9uQnV0dG9uOiBLYnFPcHRpb25BY3Rpb25Db21wb25lbnQ7XG4gICAgQENvbnRlbnRDaGlsZChLYnFUb29sdGlwVHJpZ2dlcikgdG9vbHRpcFRyaWdnZXI6IEticVRvb2x0aXBUcmlnZ2VyO1xuICAgIEBDb250ZW50Q2hpbGQoS2JxRHJvcGRvd25UcmlnZ2VyKSBkcm9wZG93blRyaWdnZXI6IEticURyb3Bkb3duVHJpZ2dlcjtcblxuICAgIEBJbnB1dCgpIGNoZWNrYm94VGhpcmRTdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IGV4dGVybmFsUHNldWRvQ2hlY2tib3goKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucHNldWRvQ2hlY2tib3g7XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhbHVlOiBhbnk7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBkaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8IHRoaXMudHJlZSEuZGlzYWJsZWQgfHwgdGhpcy50cmVlLnRyZWVDb250cm9sLmlzRGlzYWJsZWQodGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGFueSkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBzaG93Q2hlY2tib3goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93Q2hlY2tib3ggIT09IHVuZGVmaW5lZCA/IHRoaXMuX3Nob3dDaGVja2JveCA6IHRoaXMudHJlZS5zaG93Q2hlY2tib3g7XG4gICAgfVxuXG4gICAgc2V0IHNob3dDaGVja2JveCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3Nob3dDaGVja2JveCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2hvd0NoZWNrYm94OiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFUcmVlT3B0aW9uQ2hhbmdlPigpO1xuXG4gICAgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgc2V0IHNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIGlmIChpc1NlbGVjdGVkICE9PSB0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZChpc1NlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2lkID0gYGticS10cmVlLW9wdGlvbi0ke3VuaXF1ZUlkQ291bnRlcisrfWA7XG5cbiAgICBnZXQgdmlld1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIC8vIFRPRE86IEFkZCBpbnB1dCBwcm9wZXJ0eSBhbHRlcm5hdGl2ZSBmb3Igbm9kZSBlbnZzLlxuICAgICAgICByZXR1cm4gKHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS50ZXh0Q29udGVudCB8fCAnJykudHJpbSgpO1xuICAgIH1cblxuICAgIGhhc0ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgaXNFeHBhbmRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMudG9nZ2xlRWxlbWVudD8uZGlzYWJsZWQgJiYgdGhpcy50cmVlLnRyZWVDb250cm9sLmlzRXhwYW5kYWJsZSh0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIGdldCB0b2dnbGVFbGVtZW50KCk6IEticVRyZWVOb2RlVG9nZ2xlQmFzZURpcmVjdGl2ZTxLYnFUcmVlT3B0aW9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvZ2dsZUVsZW1lbnRDb21wb25lbnQgfHwgdGhpcy50b2dnbGVFbGVtZW50RGlyZWN0aXZlO1xuICAgIH1cblxuICAgIGdldCBpc1RvZ2dsZUluRGVmYXVsdFBsYWNlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISEodGhpcy50b2dnbGVFbGVtZW50RGlyZWN0aXZlIHx8IHRoaXMudG9nZ2xlRWxlbWVudENvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgY2hlY2tib3hTdGF0ZTogS2JxUHNldWRvQ2hlY2tib3hTdGF0ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChLQlFfVFJFRV9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCkgcHVibGljIHRyZWU6IGFueVxuICAgICkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCB0cmVlKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAgICAgICAudGhlbih0aGlzLnVwZGF0ZUNoZWNrYm94U3RhdGUpO1xuXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnRyZWUudHJlZUNvbnRyb2wuZ2V0VmFsdWUodGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICBkZXNjZW5kYW50c0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50cyA9IHRoaXMudHJlZS50cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyh0aGlzLmRhdGEpO1xuXG4gICAgICAgIHJldHVybiBkZXNjZW5kYW50cy5ldmVyeSgoY2hpbGQpID0+IHRoaXMudHJlZT8uc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZChjaGlsZCkpO1xuICAgIH1cblxuICAgIGRlc2NlbmRhbnRzUGFydGlhbGx5U2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGRlc2NlbmRhbnRzID0gdGhpcy50cmVlLnRyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKHRoaXMuZGF0YSk7XG5cbiAgICAgICAgcmV0dXJuIGRlc2NlbmRhbnRzLnNvbWUoKGNoaWxkKSA9PiB0aGlzLnRyZWU/LnNlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQoY2hpbGQpKTtcbiAgICB9XG5cbiAgICB1cGRhdGVQYXJlbnRzQ2hlY2tib3hTdGF0ZShub2RlKSB7XG4gICAgICAgIHRoaXMudHJlZS50cmVlQ29udHJvbFxuICAgICAgICAgICAgLmdldFBhcmVudHMobm9kZSwgW10pXG4gICAgICAgICAgICAuZm9yRWFjaCgocGFyZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50T3B0aW9uID0gdGhpcy50cmVlLnVub3JkZXJlZE9wdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLmRhdGEgPT09IHBhcmVudCk7XG5cbiAgICAgICAgICAgICAgICBwYXJlbnRPcHRpb24/LnVwZGF0ZUNoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVwZGF0ZUNoZWNrYm94U3RhdGUgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrYm94VGhpcmRTdGF0ZSAmJiB0aGlzLmlzRXhwYW5kYWJsZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGVzY2VuZGFudHNBbGxTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveFN0YXRlID0gJ2NoZWNrZWQnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRlc2NlbmRhbnRzUGFydGlhbGx5U2VsZWN0ZWQoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tib3hTdGF0ZSA9ICdpbmRldGVybWluYXRlJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveFN0YXRlID0gdGhpcy5zZWxlY3RlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaGVja2JveFN0YXRlID0gdGhpcy5zZWxlY3RlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVQYXJlbnRzQ2hlY2tib3hTdGF0ZSh0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9ICF0aGlzLnNlbGVjdGVkO1xuICAgIH1cblxuICAgIHNldFNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCA9PT0gc2VsZWN0ZWQgfHwgIXRoaXMudHJlZS5zZWxlY3Rpb25Nb2RlbCkgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy50cmVlLnNlbGVjdGlvbk1vZGVsLnNlbGVjdCh0aGlzLmRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50cmVlLnNlbGVjdGlvbk1vZGVsLmRlc2VsZWN0KHRoaXMuZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zaG93Q2hlY2tib3gpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBmb2N1cyhmb2N1c09yaWdpbj86IEZvY3VzT3JpZ2luKSB7XG4gICAgICAgIGlmIChmb2N1c09yaWdpbiA9PT0gJ3Byb2dyYW0nKSB7IHJldHVybjsgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuYWN0aW9uQnV0dG9uPy5oYXNGb2N1cykgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgIGlmICghdGhpcy5oYXNGb2N1cykge1xuICAgICAgICAgICAgdGhpcy5vbkZvY3VzLm5leHQoeyBvcHRpb246IHRoaXMgfSk7XG5cbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmx1cigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucHJldmVudEJsdXIpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgLy8gV2hlbiBhbmltYXRpb25zIGFyZSBlbmFibGVkLCBBbmd1bGFyIG1heSBlbmQgdXAgcmVtb3ZpbmcgdGhlIG9wdGlvbiBmcm9tIHRoZSBET00gYSBsaXR0bGVcbiAgICAgICAgLy8gZWFybGllciB0aGFuIHVzdWFsLCBjYXVzaW5nIGl0IHRvIGJlIGJsdXJyZWQgYW5kIHRocm93aW5nIG9mZiB0aGUgbG9naWMgaW4gdGhlIHRyZWVcbiAgICAgICAgLy8gdGhhdCBtb3ZlcyBmb2N1cyBub3QgdGhlIG5leHQgaXRlbS4gVG8gd29yayBhcm91bmQgdGhlIGlzc3VlLCB3ZSBkZWZlciBtYXJraW5nIHRoZSBvcHRpb25cbiAgICAgICAgLy8gYXMgbm90IGZvY3VzZWQgdW50aWwgdGhlIG5leHQgdGltZSB0aGUgem9uZSBzdGFiaWxpemVzLlxuICAgICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZVxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aW9uQnV0dG9uPy5oYXNGb2N1cyB8fCB0aGlzLnRyZWUub3B0aW9uU2hvdWxkSG9sZEZvY3VzT25CbHVyKSB7IHJldHVybjsgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzRm9jdXMgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQmx1ci5uZXh0KHsgb3B0aW9uOiB0aGlzIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGNsaWVudFJlY3RzID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKTtcblxuICAgICAgICBpZiAoY2xpZW50UmVjdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xpZW50UmVjdHNbMF0uaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgc2VsZWN0KHNldEZvY3VzID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChzZXRGb2N1cyAmJiAhdGhpcy5oYXNGb2N1cykge1xuICAgICAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDaGVja2JveFN0YXRlKCk7XG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgfVxuXG4gICAgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc2VsZWN0ZWQpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUNoZWNrYm94U3RhdGUoKTtcblxuICAgICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bigkZXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmFjdGlvbkJ1dHRvbikgeyByZXR1cm47IH1cblxuICAgICAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IFRBQiAmJiAhJGV2ZW50LnNoaWZ0S2V5ICYmICF0aGlzLmFjdGlvbkJ1dHRvbi5oYXNGb2N1cykge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25CdXR0b24uZm9jdXMoKTtcblxuICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RWaWFJbnRlcmFjdGlvbigkZXZlbnQ/OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KHRydWUpO1xuXG4gICAgICAgIGNvbnN0IHNoaWZ0S2V5ID0gJGV2ZW50ID8gaGFzTW9kaWZpZXJLZXkoJGV2ZW50LCAnc2hpZnRLZXknKSA6IGZhbHNlO1xuICAgICAgICBjb25zdCBjdHJsS2V5ID0gJGV2ZW50ID8gaGFzTW9kaWZpZXJLZXkoJGV2ZW50LCAnY3RybEtleScpIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy50cmVlLnNldFNlbGVjdGVkT3B0aW9uc0J5Q2xpY2sodGhpcywgc2hpZnRLZXksIGN0cmxLZXkpO1xuICAgIH1cblxuICAgIGVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudChpc1VzZXJJbnB1dCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdChuZXcgS2JxVHJlZU9wdGlvbkNoYW5nZSh0aGlzLCBpc1VzZXJJbnB1dCkpO1xuICAgIH1cblxuICAgIGdldEhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIG1hcmtGb3JDaGVjaygpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJrYnEtdHJlZS1ub2RlLXRvZ2dsZSwgW2ticS10cmVlLW5vZGUtdG9nZ2xlXSwgW2ticVRyZWVOb2RlVG9nZ2xlXVwiPjwvbmctY29udGVudD5cblxuPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZXh0ZXJuYWxQc2V1ZG9DaGVja2JveFwiPlxuICAgIDxuZy1jb250ZW50ICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCIgc2VsZWN0PVwia2JxLXBzZXVkby1jaGVja2JveFwiPjwvbmctY29udGVudD5cblxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImZhbHNlXCI+XG4gICAgICAgIDxrYnEtcHNldWRvLWNoZWNrYm94XG4gICAgICAgICAgICAqbmdJZj1cInNob3dDaGVja2JveFwiXG4gICAgICAgICAgICBbc3RhdGVdPVwiY2hlY2tib3hTdGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgPC9rYnEtcHNldWRvLWNoZWNrYm94PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cImticS1jaGVja2JveFwiPjwvbmctY29udGVudD5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticS1pY29uXVwiPjwvbmctY29udGVudD5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLXByb2dyZXNzLXNwaW5uZXJcIj48L25nLWNvbnRlbnQ+XG5cbjxzcGFuIGNsYXNzPVwia2JxLW9wdGlvbi10ZXh0XCIgI2ticVRpdGxlQ29udGFpbmVyPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cImticS1vcHRpb24tYWN0aW9uXCI+PC9uZy1jb250ZW50PlxuIl19
|
|
304
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL3RyZWUtb3B0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdHJlZS90cmVlLW9wdGlvbi5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sY0FBYyxFQUNkLGlCQUFpQixFQUVqQixNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QixpQkFBaUIsRUFFakIsa0JBQWtCLEVBRXJCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDBCQUEwQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFRMUM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxJ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O1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBOZ1pvbmUsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGhhc01vZGlmaWVyS2V5LCBUQUIgfSBmcm9tICdAa29vYmlxL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge1xuICAgIEtCUV9PUFRJT05fQUNUSU9OX1BBUkVOVCxcbiAgICBLYnFPcHRpb25BY3Rpb25Db21wb25lbnQsXG4gICAgS2JxUHNldWRvQ2hlY2tib3gsXG4gICAgS2JxUHNldWRvQ2hlY2tib3hTdGF0ZSxcbiAgICBLQlFfVElUTEVfVEVYVF9SRUYsXG4gICAgS2JxVGl0bGVUZXh0UmVmXG59IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEticURyb3Bkb3duVHJpZ2dlciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBLYnFUb29sdGlwVHJpZ2dlciB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEticVRyZWVOb2RlVG9nZ2xlQmFzZURpcmVjdGl2ZSwgS2JxVHJlZU5vZGVUb2dnbGVDb21wb25lbnQsIEticVRyZWVOb2RlVG9nZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi90b2dnbGUnO1xuaW1wb3J0IHsgS2JxVHJlZU5vZGUgfSBmcm9tICcuL3RyZWUtYmFzZSc7XG5cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgaW50ZXJmYWNlIEticVRyZWVPcHRpb25FdmVudCB7XG4gICAgb3B0aW9uOiBLYnFUcmVlT3B0aW9uO1xufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB1c2VkIHRvIHByb3ZpZGUgdGhlIHBhcmVudCBjb21wb25lbnQgdG8gb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IEtCUV9UUkVFX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0tCUV9UUkVFX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UJyk7XG5cbmV4cG9ydCBjbGFzcyBLYnFUcmVlT3B0aW9uQ2hhbmdlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgc291cmNlOiBLYnFUcmVlT3B0aW9uLCBwdWJsaWMgaXNVc2VySW5wdXQgPSBmYWxzZSkge31cbn1cblxubGV0IHVuaXF1ZUlkQ291bnRlcjogbnVtYmVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtdHJlZS1vcHRpb24nLFxuICAgIGV4cG9ydEFzOiAna2JxVHJlZU9wdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtb3B0aW9uLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RyZWUtb3B0aW9uLnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRyZWUtb3B0aW9uJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtc2VsZWN0ZWRdJzogJ3NlbGVjdGVkJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtZm9jdXNlZF0nOiAnaGFzRm9jdXMnLFxuICAgICAgICAnW2NsYXNzLmticS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1hY3Rpb24tYnV0dG9uLWZvY3VzZWRdJzogJ2FjdGlvbkJ1dHRvbj8uYWN0aXZlJyxcblxuICAgICAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICctMScsXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgbnVsbCcsXG5cbiAgICAgICAgJyhmb2N1c2luKSc6ICdmb2N1cygpJyxcbiAgICAgICAgJyhibHVyKSc6ICdibHVyKCknLFxuXG4gICAgICAgICcoY2xpY2spJzogJ3NlbGVjdFZpYUludGVyYWN0aW9uKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5ZG93bigkZXZlbnQpJ1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBLYnFUcmVlTm9kZSwgdXNlRXhpc3Rpbmc6IEticVRyZWVPcHRpb24gfSxcbiAgICAgICAgeyBwcm92aWRlOiBLQlFfVElUTEVfVEVYVF9SRUYsIHVzZUV4aXN0aW5nOiBLYnFUcmVlT3B0aW9uIH0sXG4gICAgICAgIHsgcHJvdmlkZTogS0JRX09QVElPTl9BQ1RJT05fUEFSRU5ULCB1c2VFeGlzdGluZzogS2JxVHJlZU9wdGlvbiB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUcmVlT3B0aW9uIGV4dGVuZHMgS2JxVHJlZU5vZGU8S2JxVHJlZU9wdGlvbj4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBLYnFUaXRsZVRleHRSZWYge1xuICAgIHJlYWRvbmx5IG9uRm9jdXMgPSBuZXcgU3ViamVjdDxLYnFUcmVlT3B0aW9uRXZlbnQ+KCk7XG5cbiAgICByZWFkb25seSBvbkJsdXIgPSBuZXcgU3ViamVjdDxLYnFUcmVlT3B0aW9uRXZlbnQ+KCk7XG5cbiAgICBwcmV2ZW50Qmx1cjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgna2JxVGl0bGVDb250YWluZXInKSBwYXJlbnRUZXh0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgICBAQ29udGVudENoaWxkKEticVRyZWVOb2RlVG9nZ2xlRGlyZWN0aXZlKSB0b2dnbGVFbGVtZW50RGlyZWN0aXZlOiBLYnFUcmVlTm9kZVRvZ2dsZUJhc2VEaXJlY3RpdmU8S2JxVHJlZU9wdGlvbj47XG4gICAgQENvbnRlbnRDaGlsZChLYnFUcmVlTm9kZVRvZ2dsZUNvbXBvbmVudCkgdG9nZ2xlRWxlbWVudENvbXBvbmVudDogS2JxVHJlZU5vZGVUb2dnbGVCYXNlRGlyZWN0aXZlPEticVRyZWVPcHRpb24+O1xuICAgIEBDb250ZW50Q2hpbGQoS2JxUHNldWRvQ2hlY2tib3gpIHBzZXVkb0NoZWNrYm94OiBLYnFQc2V1ZG9DaGVja2JveDtcbiAgICBAQ29udGVudENoaWxkKEticU9wdGlvbkFjdGlvbkNvbXBvbmVudCkgYWN0aW9uQnV0dG9uOiBLYnFPcHRpb25BY3Rpb25Db21wb25lbnQ7XG4gICAgQENvbnRlbnRDaGlsZChLYnFUb29sdGlwVHJpZ2dlcikgdG9vbHRpcFRyaWdnZXI6IEticVRvb2x0aXBUcmlnZ2VyO1xuICAgIEBDb250ZW50Q2hpbGQoS2JxRHJvcGRvd25UcmlnZ2VyKSBkcm9wZG93blRyaWdnZXI6IEticURyb3Bkb3duVHJpZ2dlcjtcblxuICAgIEBJbnB1dCgpIGNoZWNrYm94VGhpcmRTdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZ2V0IGV4dGVybmFsUHNldWRvQ2hlY2tib3goKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucHNldWRvQ2hlY2tib3g7XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhbHVlOiBhbnk7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBkaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8IHRoaXMudHJlZSEuZGlzYWJsZWQgfHwgdGhpcy50cmVlLnRyZWVDb250cm9sLmlzRGlzYWJsZWQodGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGFueSkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBuZXdWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBzaG93Q2hlY2tib3goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93Q2hlY2tib3ggIT09IHVuZGVmaW5lZCA/IHRoaXMuX3Nob3dDaGVja2JveCA6IHRoaXMudHJlZS5zaG93Q2hlY2tib3g7XG4gICAgfVxuXG4gICAgc2V0IHNob3dDaGVja2JveCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3Nob3dDaGVja2JveCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2hvd0NoZWNrYm94OiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxLYnFUcmVlT3B0aW9uQ2hhbmdlPigpO1xuXG4gICAgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgc2V0IHNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIGlmIChpc1NlbGVjdGVkICE9PSB0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZChpc1NlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2lkID0gYGticS10cmVlLW9wdGlvbi0ke3VuaXF1ZUlkQ291bnRlcisrfWA7XG5cbiAgICBnZXQgdmlld1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIC8vIFRPRE86IEFkZCBpbnB1dCBwcm9wZXJ0eSBhbHRlcm5hdGl2ZSBmb3Igbm9kZSBlbnZzLlxuICAgICAgICByZXR1cm4gKHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS50ZXh0Q29udGVudCB8fCAnJykudHJpbSgpO1xuICAgIH1cblxuICAgIGhhc0ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgaXNFeHBhbmRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMudG9nZ2xlRWxlbWVudD8uZGlzYWJsZWQgJiYgdGhpcy50cmVlLnRyZWVDb250cm9sLmlzRXhwYW5kYWJsZSh0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIGdldCB0b2dnbGVFbGVtZW50KCk6IEticVRyZWVOb2RlVG9nZ2xlQmFzZURpcmVjdGl2ZTxLYnFUcmVlT3B0aW9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvZ2dsZUVsZW1lbnRDb21wb25lbnQgfHwgdGhpcy50b2dnbGVFbGVtZW50RGlyZWN0aXZlO1xuICAgIH1cblxuICAgIGdldCBpc1RvZ2dsZUluRGVmYXVsdFBsYWNlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISEodGhpcy50b2dnbGVFbGVtZW50RGlyZWN0aXZlIHx8IHRoaXMudG9nZ2xlRWxlbWVudENvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgY2hlY2tib3hTdGF0ZTogS2JxUHNldWRvQ2hlY2tib3hTdGF0ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChLQlFfVFJFRV9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCkgcHVibGljIHRyZWU6IGFueVxuICAgICkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCB0cmVlKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAgICAgICAudGhlbih0aGlzLnVwZGF0ZUNoZWNrYm94U3RhdGUpO1xuXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnRyZWUudHJlZUNvbnRyb2wuZ2V0VmFsdWUodGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICBkZXNjZW5kYW50c0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50cyA9IHRoaXMudHJlZS50cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyh0aGlzLmRhdGEpO1xuXG4gICAgICAgIHJldHVybiBkZXNjZW5kYW50cy5ldmVyeSgoY2hpbGQpID0+IHRoaXMudHJlZT8uc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZChjaGlsZCkpO1xuICAgIH1cblxuICAgIGRlc2NlbmRhbnRzUGFydGlhbGx5U2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGRlc2NlbmRhbnRzID0gdGhpcy50cmVlLnRyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKHRoaXMuZGF0YSk7XG5cbiAgICAgICAgcmV0dXJuIGRlc2NlbmRhbnRzLnNvbWUoKGNoaWxkKSA9PiB0aGlzLnRyZWU/LnNlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQoY2hpbGQpKTtcbiAgICB9XG5cbiAgICB1cGRhdGVQYXJlbnRzQ2hlY2tib3hTdGF0ZShub2RlKSB7XG4gICAgICAgIHRoaXMudHJlZS50cmVlQ29udHJvbFxuICAgICAgICAgICAgLmdldFBhcmVudHMobm9kZSwgW10pXG4gICAgICAgICAgICAuZm9yRWFjaCgocGFyZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50T3B0aW9uID0gdGhpcy50cmVlLnVub3JkZXJlZE9wdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLmRhdGEgPT09IHBhcmVudCk7XG5cbiAgICAgICAgICAgICAgICBwYXJlbnRPcHRpb24/LnVwZGF0ZUNoZWNrYm94U3RhdGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVwZGF0ZUNoZWNrYm94U3RhdGUgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrYm94VGhpcmRTdGF0ZSAmJiB0aGlzLmlzRXhwYW5kYWJsZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGVzY2VuZGFudHNBbGxTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveFN0YXRlID0gJ2NoZWNrZWQnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRlc2NlbmRhbnRzUGFydGlhbGx5U2VsZWN0ZWQoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tib3hTdGF0ZSA9ICdpbmRldGVybWluYXRlJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveFN0YXRlID0gdGhpcy5zZWxlY3RlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaGVja2JveFN0YXRlID0gdGhpcy5zZWxlY3RlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVQYXJlbnRzQ2hlY2tib3hTdGF0ZSh0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9ICF0aGlzLnNlbGVjdGVkO1xuICAgIH1cblxuICAgIHNldFNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCA9PT0gc2VsZWN0ZWQgfHwgIXRoaXMudHJlZS5zZWxlY3Rpb25Nb2RlbCkgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy50cmVlLnNlbGVjdGlvbk1vZGVsLnNlbGVjdCh0aGlzLmRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50cmVlLnNlbGVjdGlvbk1vZGVsLmRlc2VsZWN0KHRoaXMuZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zaG93Q2hlY2tib3gpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBmb2N1cyhmb2N1c09yaWdpbj86IEZvY3VzT3JpZ2luKSB7XG4gICAgICAgIGlmIChmb2N1c09yaWdpbiA9PT0gJ3Byb2dyYW0nKSB7IHJldHVybjsgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMuYWN0aW9uQnV0dG9uPy5oYXNGb2N1cykgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgIGlmICghdGhpcy5oYXNGb2N1cykge1xuICAgICAgICAgICAgdGhpcy5vbkZvY3VzLm5leHQoeyBvcHRpb246IHRoaXMgfSk7XG5cbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmx1cigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucHJldmVudEJsdXIpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgLy8gV2hlbiBhbmltYXRpb25zIGFyZSBlbmFibGVkLCBBbmd1bGFyIG1heSBlbmQgdXAgcmVtb3ZpbmcgdGhlIG9wdGlvbiBmcm9tIHRoZSBET00gYSBsaXR0bGVcbiAgICAgICAgLy8gZWFybGllciB0aGFuIHVzdWFsLCBjYXVzaW5nIGl0IHRvIGJlIGJsdXJyZWQgYW5kIHRocm93aW5nIG9mZiB0aGUgbG9naWMgaW4gdGhlIHRyZWVcbiAgICAgICAgLy8gdGhhdCBtb3ZlcyBmb2N1cyBub3QgdGhlIG5leHQgaXRlbS4gVG8gd29yayBhcm91bmQgdGhlIGlzc3VlLCB3ZSBkZWZlciBtYXJraW5nIHRoZSBvcHRpb25cbiAgICAgICAgLy8gYXMgbm90IGZvY3VzZWQgdW50aWwgdGhlIG5leHQgdGltZSB0aGUgem9uZSBzdGFiaWxpemVzLlxuICAgICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZVxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aW9uQnV0dG9uPy5oYXNGb2N1cyB8fCB0aGlzLnRyZWUub3B0aW9uU2hvdWxkSG9sZEZvY3VzT25CbHVyKSB7IHJldHVybjsgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzRm9jdXMgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQmx1ci5uZXh0KHsgb3B0aW9uOiB0aGlzIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGNsaWVudFJlY3RzID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKTtcblxuICAgICAgICBpZiAoY2xpZW50UmVjdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xpZW50UmVjdHNbMF0uaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgc2VsZWN0KHNldEZvY3VzID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChzZXRGb2N1cyAmJiAhdGhpcy5oYXNGb2N1cykge1xuICAgICAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDaGVja2JveFN0YXRlKCk7XG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgfVxuXG4gICAgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc2VsZWN0ZWQpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUNoZWNrYm94U3RhdGUoKTtcblxuICAgICAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bigkZXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmFjdGlvbkJ1dHRvbikgeyByZXR1cm47IH1cblxuICAgICAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IFRBQiAmJiAhJGV2ZW50LnNoaWZ0S2V5ICYmICF0aGlzLmFjdGlvbkJ1dHRvbi5oYXNGb2N1cykge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25CdXR0b24uZm9jdXMoKTtcblxuICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RWaWFJbnRlcmFjdGlvbigkZXZlbnQ/OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KHRydWUpO1xuXG4gICAgICAgIGNvbnN0IHNoaWZ0S2V5ID0gJGV2ZW50ID8gaGFzTW9kaWZpZXJLZXkoJGV2ZW50LCAnc2hpZnRLZXknKSA6IGZhbHNlO1xuICAgICAgICBjb25zdCBjdHJsS2V5ID0gJGV2ZW50ID8gaGFzTW9kaWZpZXJLZXkoJGV2ZW50LCAnY3RybEtleScpIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy50cmVlLnNldFNlbGVjdGVkT3B0aW9uc0J5Q2xpY2sodGhpcywgc2hpZnRLZXksIGN0cmxLZXkpO1xuICAgIH1cblxuICAgIGVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudChpc1VzZXJJbnB1dCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdChuZXcgS2JxVHJlZU9wdGlvbkNoYW5nZSh0aGlzLCBpc1VzZXJJbnB1dCkpO1xuICAgIH1cblxuICAgIGdldEhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIG1hcmtGb3JDaGVjaygpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgICBpZiAodGhpcy5zaG93Q2hlY2tib3gpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hlY2tib3hTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLXRyZWUtbm9kZS10b2dnbGUsIFtrYnEtdHJlZS1ub2RlLXRvZ2dsZV0sIFtrYnFUcmVlTm9kZVRvZ2dsZV1cIj48L25nLWNvbnRlbnQ+XG5cbjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImV4dGVybmFsUHNldWRvQ2hlY2tib3hcIj5cbiAgICA8bmctY29udGVudCAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiIHNlbGVjdD1cImticS1wc2V1ZG8tY2hlY2tib3hcIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiPlxuICAgICAgICA8a2JxLXBzZXVkby1jaGVja2JveFxuICAgICAgICAgICAgKm5nSWY9XCJzaG93Q2hlY2tib3hcIlxuICAgICAgICAgICAgW3N0YXRlXT1cImNoZWNrYm94U3RhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgIDwva2JxLXBzZXVkby1jaGVja2JveD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGVudCBzZWxlY3Q9XCJrYnEtY2hlY2tib3hcIj48L25nLWNvbnRlbnQ+XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cIltrYnEtaWNvbl1cIj48L25nLWNvbnRlbnQ+XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cImticS1wcm9ncmVzcy1zcGlubmVyXCI+PC9uZy1jb250ZW50PlxuXG48c3BhbiBjbGFzcz1cImticS1vcHRpb24tdGV4dFwiICNrYnFUaXRsZUNvbnRhaW5lcj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuXG48bmctY29udGVudCBzZWxlY3Q9XCJrYnEtb3B0aW9uLWFjdGlvblwiPjwvbmctY29udGVudD5cbiJdfQ==
|