@ng-formworks/core 16.6.0 → 16.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/json-schema-form.component.mjs +4 -2
- package/esm2022/lib/json-schema-form.service.mjs +31 -11
- package/esm2022/lib/shared/form-group.functions.mjs +82 -15
- package/esm2022/lib/shared/json-schema.functions.mjs +28 -3
- package/esm2022/lib/shared/jsonpointer.functions.mjs +2 -2
- package/esm2022/lib/shared/layout.functions.mjs +65 -18
- package/esm2022/lib/widget-library/checkbox.component.mjs +9 -4
- package/esm2022/lib/widget-library/one-of.component.mjs +25 -9
- package/esm2022/lib/widget-library/root.component.mjs +58 -1
- package/fesm2022/ng-formworks-core.mjs +293 -54
- package/fesm2022/ng-formworks-core.mjs.map +1 -1
- package/lib/shared/form-group.functions.d.ts +2 -0
- package/lib/shared/json-schema.functions.d.ts +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,10 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
import * as i1 from "../json-schema-form.service";
|
|
4
4
|
import * as i2 from "@angular/common";
|
|
5
5
|
import * as i3 from "@angular/forms";
|
|
6
|
+
///NB issue caused by sortablejs when it its destroyed
|
|
7
|
+
//this mainly affects checkboxes coupled with conditions
|
|
8
|
+
//-the value is rechecked
|
|
9
|
+
//-see https://github.com/SortableJS/Sortable/issues/1052#issuecomment-369613072
|
|
6
10
|
export class CheckboxComponent {
|
|
7
11
|
constructor(jsf) {
|
|
8
12
|
this.jsf = jsf;
|
|
@@ -15,7 +19,8 @@ export class CheckboxComponent {
|
|
|
15
19
|
this.options = this.layoutNode.options || {};
|
|
16
20
|
this.jsf.initializeControl(this);
|
|
17
21
|
if (this.controlValue === null || this.controlValue === undefined) {
|
|
18
|
-
this.controlValue =
|
|
22
|
+
this.controlValue = false;
|
|
23
|
+
this.jsf.updateValue(this, this.falseValue);
|
|
19
24
|
}
|
|
20
25
|
}
|
|
21
26
|
updateValue(event) {
|
|
@@ -45,7 +50,7 @@ export class CheckboxComponent {
|
|
|
45
50
|
type="checkbox">
|
|
46
51
|
<input *ngIf="!boundControl"
|
|
47
52
|
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
48
|
-
[checked]="isChecked
|
|
53
|
+
[checked]="isChecked"
|
|
49
54
|
[class]="(options?.fieldHtmlClass || '') + (isChecked ?
|
|
50
55
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
51
56
|
(' ' + (options?.style?.unselected || '')))"
|
|
@@ -82,7 +87,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
82
87
|
type="checkbox">
|
|
83
88
|
<input *ngIf="!boundControl"
|
|
84
89
|
[attr.aria-describedby]="'control' + layoutNode?._id + 'Status'"
|
|
85
|
-
[checked]="isChecked
|
|
90
|
+
[checked]="isChecked"
|
|
86
91
|
[class]="(options?.fieldHtmlClass || '') + (isChecked ?
|
|
87
92
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
88
93
|
(' ' + (options?.style?.unselected || '')))"
|
|
@@ -105,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
105
110
|
}], dataIndex: [{
|
|
106
111
|
type: Input
|
|
107
112
|
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWNvcmUvc3JjL2xpYi93aWRnZXQtbGlicmFyeS9jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBSXpELHNEQUFzRDtBQUN0RCx3REFBd0Q7QUFDeEQseUJBQXlCO0FBQ3pCLGdGQUFnRjtBQXFDaEYsTUFBTSxPQUFPLGlCQUFpQjtJQWE1QixZQUNVLEdBQTBCO1FBQTFCLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBVnBDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGNBQVMsR0FBUSxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFRLEtBQUssQ0FBQztJQU9wQixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUNqRSxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQXJDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixpSkFoQ2xCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7YUE4QkM7OzRGQUVBLGlCQUFpQjtrQkFuQzdCLFNBQVM7bUJBQUM7b0JBQ1QsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzthQThCQztpQkFDWjs0R0FVVSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJy4uL2pzb24tc2NoZW1hLWZvcm0uc2VydmljZSc7XHJcblxyXG4vLy9OQiBpc3N1ZSBjYXVzZWQgYnkgc29ydGFibGVqcyB3aGVuIGl0IGl0cyBkZXN0cm95ZWRcclxuLy90aGlzIG1haW5seSBhZmZlY3RzIGNoZWNrYm94ZXMgY291cGxlZCB3aXRoIGNvbmRpdGlvbnNcclxuLy8tdGhlIHZhbHVlIGlzIHJlY2hlY2tlZFxyXG4vLy1zZWUgaHR0cHM6Ly9naXRodWIuY29tL1NvcnRhYmxlSlMvU29ydGFibGUvaXNzdWVzLzEwNTIjaXNzdWVjb21tZW50LTM2OTYxMzA3MlxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnY2hlY2tib3gtd2lkZ2V0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGxhYmVsXHJcbiAgICAgIFthdHRyLmZvcl09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWRcIlxyXG4gICAgICBbY2xhc3NdPVwib3B0aW9ucz8uaXRlbUxhYmVsSHRtbENsYXNzIHx8ICcnXCI+XHJcbiAgICAgIDxpbnB1dCAqbmdJZj1cImJvdW5kQ29udHJvbFwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZCArICdTdGF0dXMnXCJcclxuICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/LmZpZWxkSHRtbENsYXNzIHx8ICcnKSArIChpc0NoZWNrZWQgP1xyXG4gICAgICAgICAgKCcgJyArIChvcHRpb25zPy5hY3RpdmVDbGFzcyB8fCAnJykgKyAnICcgKyAob3B0aW9ucz8uc3R5bGU/LnNlbGVjdGVkIHx8ICcnKSkgOlxyXG4gICAgICAgICAgKCcgJyArIChvcHRpb25zPy5zdHlsZT8udW5zZWxlY3RlZCB8fCAnJykpKVwiXHJcbiAgICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXHJcbiAgICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcclxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIj5cclxuICAgICAgPGlucHV0ICpuZ0lmPVwiIWJvdW5kQ29udHJvbFwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInY29udHJvbCcgKyBsYXlvdXROb2RlPy5faWQgKyAnU3RhdHVzJ1wiXHJcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNDaGVja2VkXCJcclxuICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/LmZpZWxkSHRtbENsYXNzIHx8ICcnKSArIChpc0NoZWNrZWQgP1xyXG4gICAgICAgICAgKCcgJyArIChvcHRpb25zPy5hY3RpdmVDbGFzcyB8fCAnJykgKyAnICcgKyAob3B0aW9ucz8uc3R5bGU/LnNlbGVjdGVkIHx8ICcnKSkgOlxyXG4gICAgICAgICAgKCcgJyArIChvcHRpb25zPy5zdHlsZT8udW5zZWxlY3RlZCB8fCAnJykpKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbnRyb2xEaXNhYmxlZFwiXHJcbiAgICAgICAgW2lkXT1cIidjb250cm9sJyArIGxheW91dE5vZGU/Ll9pZFwiXHJcbiAgICAgICAgW25hbWVdPVwiY29udHJvbE5hbWVcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJvcHRpb25zPy5yZWFkb25seSA/ICdyZWFkb25seScgOiBudWxsXCJcclxuICAgICAgICBbdmFsdWVdPVwiY29udHJvbFZhbHVlXCJcclxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbnM/LnRpdGxlXCJcclxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJvcHRpb25zPy5ub3RpdGxlID8gJ25vbmUnIDogJydcIlxyXG4gICAgICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucz8udGl0bGVcIj48L3NwYW4+XHJcbiAgICA8L2xhYmVsPmAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcclxuICBjb250cm9sTmFtZTogc3RyaW5nO1xyXG4gIGNvbnRyb2xWYWx1ZTogYW55O1xyXG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlO1xyXG4gIG9wdGlvbnM6IGFueTtcclxuICB0cnVlVmFsdWU6IGFueSA9IHRydWU7XHJcbiAgZmFsc2VWYWx1ZTogYW55ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbGF5b3V0Tm9kZTogYW55O1xyXG4gIEBJbnB1dCgpIGxheW91dEluZGV4OiBudW1iZXJbXTtcclxuICBASW5wdXQoKSBkYXRhSW5kZXg6IG51bWJlcltdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUganNmOiBKc29uU2NoZW1hRm9ybVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMubGF5b3V0Tm9kZS5vcHRpb25zIHx8IHt9O1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgICBpZiAodGhpcy5jb250cm9sVmFsdWUgPT09IG51bGwgfHwgdGhpcy5jb250cm9sVmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2xWYWx1ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCB0aGlzLmZhbHNlVmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVmFsdWUoZXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQuY2hlY2tlZCA/IHRoaXMudHJ1ZVZhbHVlIDogdGhpcy5mYWxzZVZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldCBpc0NoZWNrZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5qc2YuZ2V0Rm9ybUNvbnRyb2xWYWx1ZSh0aGlzKSA9PT0gdGhpcy50cnVlVmFsdWU7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSAoKSB7XHJcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBudWxsKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { isEqual, isObject } from 'lodash';
|
|
2
|
+
import { isEqual, isObject, pick } from 'lodash';
|
|
3
3
|
import { hasNonNullValue, hasOwn, JsonPointer, path2ControlKey } from '../shared';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../json-schema-form.service";
|
|
@@ -50,14 +50,30 @@ export class OneOfComponent {
|
|
|
50
50
|
let parts = controlName.split('$');
|
|
51
51
|
let fieldName = parts[parts.length - 1];
|
|
52
52
|
let controlValue = this.jsf.formGroup.controls[controlName].value;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
let controlSchema = JsonPointer.get(this.jsf.schema, parts.join("/"));
|
|
54
|
+
let schemaPointer = parts.join("/");
|
|
55
|
+
let dPointer = schemaPointer.replace(/(anyOf|allOf|oneOf|none)\/[\d]+\//g, '')
|
|
56
|
+
.replace(/(if|then|else|properties)\//g, '');
|
|
57
|
+
//JsonPointer.toDataPointer(parts.join("/"),this.jsf.schema);
|
|
58
|
+
let dVal = JsonPointer.get(this.jsf.formValues, dPointer);
|
|
59
|
+
let compareVal = dVal; //formValue;
|
|
60
|
+
//compare only values that are in the subschema properties
|
|
61
|
+
if (controlSchema && controlSchema.properties) {
|
|
62
|
+
compareVal = isObject(dVal) && hasOwn(dVal, fieldName) ?
|
|
63
|
+
pick(dVal[fieldName], Object.keys(controlSchema.properties))
|
|
64
|
+
: pick(dVal, Object.keys(controlSchema.properties));
|
|
65
|
+
}
|
|
66
|
+
/*
|
|
67
|
+
if(isObject(compareVal) && hasOwn(compareVal,fieldName) &&
|
|
68
|
+
isEqual(compareVal[fieldName],controlValue)
|
|
69
|
+
){
|
|
70
|
+
foundInd=ind;
|
|
71
|
+
}else //if(formValue || controlValue){
|
|
72
|
+
if(isEqual(compareVal,controlValue)){
|
|
73
|
+
foundInd=ind;
|
|
58
74
|
}
|
|
59
|
-
|
|
60
|
-
|
|
75
|
+
*/
|
|
76
|
+
if (isEqual(compareVal, controlValue)) {
|
|
61
77
|
foundInd = ind;
|
|
62
78
|
}
|
|
63
79
|
});
|
|
@@ -100,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
100
116
|
}], dataIndex: [{
|
|
101
117
|
type: Input
|
|
102
118
|
}] } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLW9mLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvd2lkZ2V0LWxpYnJhcnkvb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBRWxGLHlCQUF5QjtBQVl6QixNQUFNLE9BQU8sY0FBYztJQVd6QixZQUNVLEdBQTBCO1FBQTFCLFFBQUcsR0FBSCxHQUFHLENBQXVCO1FBUnBDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBUWpCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUMsV0FBVyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoRCxxRUFBcUU7UUFDckUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUMsZUFBZTtRQUNiLGtGQUFrRjtRQUNsRixtRUFBbUU7UUFDbkUsbURBQW1EO1FBQ25ELElBQUksUUFBUSxHQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLDBCQUEwQjtRQUMxQixJQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFDO1lB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QUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBpc0VxdWFsLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJy4uL2pzb24tc2NoZW1hLWZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IGhhc05vbk51bGxWYWx1ZSwgaGFzT3duLCBKc29uUG9pbnRlciwgcGF0aDJDb250cm9sS2V5IH0gZnJvbSAnLi4vc2hhcmVkJztcclxuXHJcbi8vIFRPRE86IEFkZCB0aGlzIGNvbnRyb2xcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gICAgc2VsZWN0b3I6ICdvbmUtb2Ytd2lkZ2V0JyxcclxuICAgIHRlbXBsYXRlOiBgPGg0Pnt7dGhpcy5vcHRpb25zPy5kZXNjcmlwdGlvbn19PC9oND5cclxuICAgIDx0YWJzLXdpZGdldCAjdGFicyBbbGF5b3V0Tm9kZV09XCJsYXlvdXROb2RlXCIgXHJcbiAgICBbbGF5b3V0SW5kZXhdPVwibGF5b3V0SW5kZXhcIiBcclxuICAgIFtkYXRhSW5kZXhdPVwiZGF0YUluZGV4XCIgPlxyXG4gICAgPC90YWJzLXdpZGdldD5gLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIE9uZU9mQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgY29udHJvbFZhbHVlOiBhbnk7XHJcbiAgY29udHJvbERpc2FibGVkID0gZmFsc2U7XHJcbiAgYm91bmRDb250cm9sID0gZmFsc2U7XHJcbiAgb3B0aW9uczogYW55O1xyXG4gIEBJbnB1dCgpIGxheW91dE5vZGU6IGFueTtcclxuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW107XHJcbiAgQElucHV0KCkgZGF0YUluZGV4OiBudW1iZXJbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGpzZjogSnNvblNjaGVtYUZvcm1TZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGUub3B0aW9ucyB8fCB7fTtcclxuICAgIHRoaXMub3B0aW9ucy50YWJNb2RlPVwib25lT2ZNb2RlXCI7XHJcbiAgICB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRUYWI9dGhpcy5maW5kU2VsZWN0ZWRUYWIoKTtcclxuICAgIC8vdGhpcy5vcHRpb25zLmRlc2NyaXB0aW9uPXRoaXMub3B0aW9ucy5kZXNjcmlwdGlvbnx8XCJjaG9vc2Ugb25lIG9mXCI7XHJcbiAgICB0aGlzLmpzZi5pbml0aWFsaXplQ29udHJvbCh0aGlzKTtcclxuICB9XHJcblxyXG4gICAgZmluZFNlbGVjdGVkVGFiKCl7XHJcbiAgICAgIC8vVE9ETyB0ZXN0LSB0aGlzLmpzZi5mb3JtVmFsdWVzIHNlZW1zIHRvIGJlIHRoZSBpbml0aWFsIGRhdGEgc3VwcGxpZWQgdG8gdGhlIGZvcm1cclxuICAgICAgLy93aGlsZSB0aGUganNmLmZvcm1Hcm91cCB2YWx1ZSBpcyBkZXJpdmVkIGZyb20gdGhlIGFjdHVhbCBjb250cm9sc1xyXG4gICAgICAvL2xldCBmb3JtVmFsdWU9dGhpcy5qc2YuZ2V0Rm9ybUNvbnRyb2xWYWx1ZSh0aGlzKTtcclxuICAgICAgbGV0IGZvdW5kSW5kPS0xO1xyXG4gICAgICAvL3NlYWNoIGZvciBub24gbnVsbCB2YWx1ZVxyXG4gICAgICBpZih0aGlzLmxheW91dE5vZGUuaXRlbXMpe1xyXG4gICAgICAgIHRoaXMubGF5b3V0Tm9kZS5pdGVtcy5mb3JFYWNoKChsYXlvdXRJdGVtLGluZCk9PntcclxuICAgICAgICAgIGxldCBmb3JtVmFsdWU9SnNvblBvaW50ZXIuZ2V0KHRoaXMuanNmLmZvcm1WYWx1ZXMsbGF5b3V0SXRlbS5kYXRhUG9pbnRlcik7XHJcbiAgICAgICAgICAgIGlmKGxheW91dEl0ZW0ub25lT2ZQb2ludGVyKXtcclxuICAgICAgICAgICAgICBsZXQgY29udHJvbEtleT1wYXRoMkNvbnRyb2xLZXkobGF5b3V0SXRlbS5vbmVPZlBvaW50ZXIpO1xyXG4gICAgICAgICAgICAgIGxldCBmbmFtZT1sYXlvdXRJdGVtLm5hbWU7XHJcbiAgICAgICAgICAgICAgaWYoaGFzT3duKHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9scyxjb250cm9sS2V5KSYmXHJcbiAgICAgICAgICAgICAgICAoZm9ybVZhbHVlIHx8IGhhc05vbk51bGxWYWx1ZSh0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpKVxyXG4gICAgICAgICAgICAgICAgLy9oYXNPd24oZm9ybVZhbHVlLGZuYW1lKSAmJiBoYXNPd24odGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzLGNvbnRyb2xLZXkpIFxyXG4gICAgICAgICAgICAgIC8vICYmIChmb3JtVmFsdWVbZm5hbWVdIHx8IHRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sS2V5XS52YWx1ZSlcclxuICAgICAgICAgICAgICAgIC8vJiZpc0VxdWFsKGZvcm1WYWx1ZVtmbmFtZV0sdGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKVxyXG4gICAgICAgICAgICAgICl7XHJcbiAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgLy9mb3VuZEluZD1mb3JtVmFsdWVbY29udHJvbEtleV0hPW51bGw/aW5kOmZvdW5kSW5kO1xyXG4gICAgICAgICAgICAgIC8vaWYgbm8gZXhhY3QgbWF0Y2ggZm91bmQsIHRoZW4gc2VhcmNoIGluIGRlc2NlbmRhbnQgdmFsdWVzXHJcbiAgICAgICAgICAgICAgLy90byBzZWUgd2hpY2ggb25lIG9mIGl0ZW0gbWF0Y2hlc1xyXG4gICAgICAgICAgICAgIGlmKGZvdW5kSW5kPT0tMSl7XHJcbiAgICAgICAgICAgICAgICAvL2ZpbmQgYWxsIGRlc2NlbmRhbnQgb25lb2YgcGF0aHNcclxuICAgICAgICAgICAgICAgIGxldCBkZXNjZW5kYW50T25lT2ZDb250cm9sTmFtZXM9T2JqZWN0LmtleXModGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzKS5maWx0ZXIoY29udHJvbE5hbWU9PntcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xOYW1lLnN0YXJ0c1dpdGgoY29udHJvbEtleSk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgZGVzY2VuZGFudE9uZU9mQ29udHJvbE5hbWVzLmZvckVhY2goY29udHJvbE5hbWU9PntcclxuICAgICAgICAgICAgICAgICAgbGV0IHBhcnRzPWNvbnRyb2xOYW1lLnNwbGl0KCckJyk7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBmaWVsZE5hbWU9cGFydHNbcGFydHMubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgY29udHJvbFZhbHVlPXRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sTmFtZV0udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgIGlmKGlzT2JqZWN0KGZvcm1WYWx1ZSkgJiYgaGFzT3duKGZvcm1WYWx1ZSxmaWVsZE5hbWUpICYmIFxyXG4gICAgICAgICAgICAgICAgICBmb3JtVmFsdWVbZmllbGROYW1lXT09Y29udHJvbFZhbHVlXHJcbiAgICAgICAgICAgICAgICAgLy9mb3JtVmFsdWVbZmllbGROYW1lXXx8Y29udHJvbFZhbHVlXHJcbiAgICAgICAgICAgICAgICApe1xyXG4gICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgICAgfWVsc2UgLy9pZihmb3JtVmFsdWUgfHwgY29udHJvbFZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgaWYoaXNFcXVhbChmb3JtVmFsdWUsY29udHJvbFZhbHVlKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm91bmRJbmQ9aW5kO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLy9ub3cgbmVlZCB0byBjb21wYXJlIHZhbHVlc1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIE1hdGgubWF4KGZvdW5kSW5kLDApO1xyXG4gICAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZShldmVudCkge1xyXG4gICAgdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95ICgpIHtcclxuICAgIC8vdGhpcy5qc2YudXBkYXRlVmFsdWUodGhpcywgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLW9mLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvd2lkZ2V0LWxpYnJhcnkvb25lLW9mLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQUVsRix5QkFBeUI7QUFZekIsTUFBTSxPQUFPLGNBQWM7SUFXekIsWUFDVSxHQUEwQjtRQUExQixRQUFHLEdBQUgsR0FBRyxDQUF1QjtRQVJwQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztJQVFqQixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFDLFdBQVcsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDaEQscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVDLGVBQWU7UUFDWCxrRkFBa0Y7UUFDbEYsbUVBQW1FO1FBQ25FLG1EQUFtRDtRQUNuRCxJQUFJLFFBQVEsR0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQiwwQkFBMEI7UUFDMUIsSUFBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtB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QWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBOzZCQUNsRDs0QkFDRDs7Ozs7Ozs7OzhCQVNFOzRCQUNGLElBQUcsT0FBTyxDQUFDLFVBQVUsRUFBQyxZQUFZLENBQUMsRUFBQztnQ0FDbEMsUUFBUSxHQUFDLEdBQUcsQ0FBQzs2QkFDZDt3QkFDSCxDQUFDLENBQUMsQ0FBQTt3QkFDRiw0QkFBNEI7cUJBQzdCO2lCQUNGO1lBQ0wsQ0FBQyxDQUFDLENBQUE7U0FDSDtRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVMLFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFdBQVc7UUFDVCxtQ0FBbUM7SUFDckMsQ0FBQzsrR0FoR1UsY0FBYzttR0FBZCxjQUFjLCtJQVBiOzs7O21CQUlLOzs0RkFHTixjQUFjO2tCQVYxQixTQUFTO21CQUFDO29CQUNQLDhDQUE4QztvQkFDOUMsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7OzttQkFJSztvQkFDZixVQUFVLEVBQUUsS0FBSztpQkFDcEI7NEdBUVUsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgaXNFcXVhbCwgaXNPYmplY3QsIHBpY2sgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBoYXNOb25OdWxsVmFsdWUsIGhhc093biwgSnNvblBvaW50ZXIsIHBhdGgyQ29udHJvbEtleSB9IGZyb20gJy4uL3NoYXJlZCc7XHJcblxyXG4vLyBUT0RPOiBBZGQgdGhpcyBjb250cm9sXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICAgIHNlbGVjdG9yOiAnb25lLW9mLXdpZGdldCcsXHJcbiAgICB0ZW1wbGF0ZTogYDxoND57e3RoaXMub3B0aW9ucz8uZGVzY3JpcHRpb259fTwvaDQ+XHJcbiAgICA8dGFicy13aWRnZXQgI3RhYnMgW2xheW91dE5vZGVdPVwibGF5b3V0Tm9kZVwiIFxyXG4gICAgW2xheW91dEluZGV4XT1cImxheW91dEluZGV4XCIgXHJcbiAgICBbZGF0YUluZGV4XT1cImRhdGFJbmRleFwiID5cclxuICAgIDwvdGFicy13aWRnZXQ+YCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPbmVPZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcclxuICBjb250cm9sTmFtZTogc3RyaW5nO1xyXG4gIGNvbnRyb2xWYWx1ZTogYW55O1xyXG4gIGNvbnRyb2xEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIGJvdW5kQ29udHJvbCA9IGZhbHNlO1xyXG4gIG9wdGlvbnM6IGFueTtcclxuICBASW5wdXQoKSBsYXlvdXROb2RlOiBhbnk7XHJcbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IG51bWJlcltdO1xyXG4gIEBJbnB1dCgpIGRhdGFJbmRleDogbnVtYmVyW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLm9wdGlvbnMudGFiTW9kZT1cIm9uZU9mTW9kZVwiO1xyXG4gICAgdGhpcy5vcHRpb25zLnNlbGVjdGVkVGFiPXRoaXMuZmluZFNlbGVjdGVkVGFiKCk7XHJcbiAgICAvL3RoaXMub3B0aW9ucy5kZXNjcmlwdGlvbj10aGlzLm9wdGlvbnMuZGVzY3JpcHRpb258fFwiY2hvb3NlIG9uZSBvZlwiO1xyXG4gICAgdGhpcy5qc2YuaW5pdGlhbGl6ZUNvbnRyb2wodGhpcyk7XHJcbiAgfVxyXG5cclxuICAgIGZpbmRTZWxlY3RlZFRhYigpe1xyXG4gICAgICAgIC8vVE9ETyB0ZXN0LSB0aGlzLmpzZi5mb3JtVmFsdWVzIHNlZW1zIHRvIGJlIHRoZSBpbml0aWFsIGRhdGEgc3VwcGxpZWQgdG8gdGhlIGZvcm1cclxuICAgICAgICAvL3doaWxlIHRoZSBqc2YuZm9ybUdyb3VwIHZhbHVlIGlzIGRlcml2ZWQgZnJvbSB0aGUgYWN0dWFsIGNvbnRyb2xzXHJcbiAgICAgICAgLy9sZXQgZm9ybVZhbHVlPXRoaXMuanNmLmdldEZvcm1Db250cm9sVmFsdWUodGhpcyk7XHJcbiAgICAgICAgbGV0IGZvdW5kSW5kPS0xO1xyXG4gICAgICAgIC8vc2VhY2ggZm9yIG5vbiBudWxsIHZhbHVlXHJcbiAgICAgICAgaWYodGhpcy5sYXlvdXROb2RlLml0ZW1zKXtcclxuICAgICAgICAgIHRoaXMubGF5b3V0Tm9kZS5pdGVtcy5mb3JFYWNoKChsYXlvdXRJdGVtLGluZCk9PntcclxuICAgICAgICAgICAgbGV0IGZvcm1WYWx1ZT1Kc29uUG9pbnRlci5nZXQodGhpcy5qc2YuZm9ybVZhbHVlcyxsYXlvdXRJdGVtLmRhdGFQb2ludGVyKTtcclxuICAgICAgICAgICAgICBpZihsYXlvdXRJdGVtLm9uZU9mUG9pbnRlcil7XHJcbiAgICAgICAgICAgICAgICBsZXQgY29udHJvbEtleT1wYXRoMkNvbnRyb2xLZXkobGF5b3V0SXRlbS5vbmVPZlBvaW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgbGV0IGZuYW1lPWxheW91dEl0ZW0ubmFtZTtcclxuICAgICAgICAgICAgICAgIGlmKGhhc093bih0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMsY29udHJvbEtleSkmJlxyXG4gICAgICAgICAgICAgICAgICAoZm9ybVZhbHVlIHx8IGhhc05vbk51bGxWYWx1ZSh0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpKVxyXG4gICAgICAgICAgICAgICAgICAvL2hhc093bihmb3JtVmFsdWUsZm5hbWUpICYmIGhhc093bih0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHMsY29udHJvbEtleSkgXHJcbiAgICAgICAgICAgICAgICAvLyAmJiAoZm9ybVZhbHVlW2ZuYW1lXSB8fCB0aGlzLmpzZi5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbEtleV0udmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgIC8vJiZpc0VxdWFsKGZvcm1WYWx1ZVtmbmFtZV0sdGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xLZXldLnZhbHVlKVxyXG4gICAgICAgICAgICAgICAgKXtcclxuICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL2ZvdW5kSW5kPWZvcm1WYWx1ZVtjb250cm9sS2V5XSE9bnVsbD9pbmQ6Zm91bmRJbmQ7XHJcbiAgICAgICAgICAgICAgICAvL2lmIG5vIGV4YWN0IG1hdGNoIGZvdW5kLCB0aGVuIHNlYXJjaCBpbiBkZXNjZW5kYW50IHZhbHVlc1xyXG4gICAgICAgICAgICAgICAgLy90byBzZWUgd2hpY2ggb25lIG9mIGl0ZW0gbWF0Y2hlc1xyXG4gICAgICAgICAgICAgICAgaWYoZm91bmRJbmQ9PS0xKXtcclxuICAgICAgICAgICAgICAgICAgLy9maW5kIGFsbCBkZXNjZW5kYW50IG9uZW9mIHBhdGhzXHJcbiAgICAgICAgICAgICAgICAgIGxldCBkZXNjZW5kYW50T25lT2ZDb250cm9sTmFtZXM9T2JqZWN0LmtleXModGhpcy5qc2YuZm9ybUdyb3VwLmNvbnRyb2xzKS5maWx0ZXIoY29udHJvbE5hbWU9PntcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udHJvbE5hbWUuc3RhcnRzV2l0aChjb250cm9sS2V5KTtcclxuICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgZGVzY2VuZGFudE9uZU9mQ29udHJvbE5hbWVzLmZvckVhY2goY29udHJvbE5hbWU9PntcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcGFydHM9Y29udHJvbE5hbWUuc3BsaXQoJyQnKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmllbGROYW1lPXBhcnRzW3BhcnRzLmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29udHJvbFZhbHVlPXRoaXMuanNmLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sTmFtZV0udmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRyb2xTY2hlbWE9SnNvblBvaW50ZXIuZ2V0KHRoaXMuanNmLnNjaGVtYSxwYXJ0cy5qb2luKFwiL1wiKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNjaGVtYVBvaW50ZXI9cGFydHMuam9pbihcIi9cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRQb2ludGVyPXNjaGVtYVBvaW50ZXIucmVwbGFjZSgvKGFueU9mfGFsbE9mfG9uZU9mfG5vbmUpXFwvW1xcZF0rXFwvL2csICcnKVxyXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8oaWZ8dGhlbnxlbHNlfHByb3BlcnRpZXMpXFwvL2csICcnKTtcclxuICAgICAgICAgICAgICAgICAgICAvL0pzb25Qb2ludGVyLnRvRGF0YVBvaW50ZXIocGFydHMuam9pbihcIi9cIiksdGhpcy5qc2Yuc2NoZW1hKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZFZhbD1Kc29uUG9pbnRlci5nZXQodGhpcy5qc2YuZm9ybVZhbHVlcyxkUG9pbnRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbXBhcmVWYWw9ZFZhbDsvL2Zvcm1WYWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAvL2NvbXBhcmUgb25seSB2YWx1ZXMgdGhhdCBhcmUgaW4gdGhlIHN1YnNjaGVtYSBwcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICAgICAgaWYoY29udHJvbFNjaGVtYSAmJiBjb250cm9sU2NoZW1hLnByb3BlcnRpZXMpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29tcGFyZVZhbD1pc09iamVjdChkVmFsKSAmJiBoYXNPd24oZFZhbCxmaWVsZE5hbWUpP1xyXG4gICAgICAgICAgICAgICAgICAgICAgcGljayhkVmFsW2ZpZWxkTmFtZV0sT2JqZWN0LmtleXMoY29udHJvbFNjaGVtYS5wcm9wZXJ0aWVzKSlcclxuICAgICAgICAgICAgICAgICAgICAgIDpwaWNrKGRWYWwsT2JqZWN0LmtleXMoY29udHJvbFNjaGVtYS5wcm9wZXJ0aWVzKSlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICBpZihpc09iamVjdChjb21wYXJlVmFsKSAmJiBoYXNPd24oY29tcGFyZVZhbCxmaWVsZE5hbWUpICYmIFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRXF1YWwoY29tcGFyZVZhbFtmaWVsZE5hbWVdLGNvbnRyb2xWYWx1ZSlcclxuICAgICAgICAgICAgICAgICAgKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgICAgICB9ZWxzZSAvL2lmKGZvcm1WYWx1ZSB8fCBjb250cm9sVmFsdWUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGlzRXF1YWwoY29tcGFyZVZhbCxjb250cm9sVmFsdWUpKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGZvdW5kSW5kPWluZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgICAgICBpZihpc0VxdWFsKGNvbXBhcmVWYWwsY29udHJvbFZhbHVlKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb3VuZEluZD1pbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAvL25vdyBuZWVkIHRvIGNvbXBhcmUgdmFsdWVzXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KGZvdW5kSW5kLDApO1xyXG4gICAgICB9XHJcblxyXG4gIHVwZGF0ZVZhbHVlKGV2ZW50KSB7XHJcbiAgICB0aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBldmVudC50YXJnZXQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3kgKCkge1xyXG4gICAgLy90aGlzLmpzZi51cGRhdGVWYWx1ZSh0aGlzLCBudWxsKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -39,6 +39,63 @@ export class RootComponent {
|
|
|
39
39
|
}
|
|
40
40
|
sortableInit(sortable) {
|
|
41
41
|
this.sortableObj = sortable;
|
|
42
|
+
///NB issue caused by sortablejs when it its destroyed
|
|
43
|
+
//this mainly affects checkboxes coupled with conditions
|
|
44
|
+
//-the value is rechecked
|
|
45
|
+
//-see https://github.com/SortableJS/Sortable/issues/1052#issuecomment-369613072
|
|
46
|
+
/* attempt to monkey patch sortable js
|
|
47
|
+
const originalMethod = sortable._nulling;
|
|
48
|
+
let zone=this.zone;
|
|
49
|
+
sortable._nulling=function() {
|
|
50
|
+
console.log(`pluginEvent 2 ${pluginEvent}`)
|
|
51
|
+
zone.runOutsideAngular(() => {
|
|
52
|
+
console.log(`pluginEvent3 ${pluginEvent}`)
|
|
53
|
+
pluginEvent('nulling', this);
|
|
54
|
+
|
|
55
|
+
rootEl =
|
|
56
|
+
dragEl =
|
|
57
|
+
parentEl =
|
|
58
|
+
ghostEl =
|
|
59
|
+
nextEl =
|
|
60
|
+
cloneEl =
|
|
61
|
+
lastDownEl =
|
|
62
|
+
cloneHidden =
|
|
63
|
+
|
|
64
|
+
tapEvt =
|
|
65
|
+
touchEvt =
|
|
66
|
+
|
|
67
|
+
moved =
|
|
68
|
+
newIndex =
|
|
69
|
+
newDraggableIndex =
|
|
70
|
+
oldIndex =
|
|
71
|
+
oldDraggableIndex =
|
|
72
|
+
|
|
73
|
+
lastTarget =
|
|
74
|
+
lastDirection =
|
|
75
|
+
|
|
76
|
+
putSortable =
|
|
77
|
+
activeGroup =
|
|
78
|
+
Sortable.dragged =
|
|
79
|
+
Sortable.ghost =
|
|
80
|
+
Sortable.clone =
|
|
81
|
+
Sortable.active = null;
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
let el = this.el;
|
|
85
|
+
savedInputChecked.forEach(function (checkEl) {
|
|
86
|
+
if (el.contains(checkEl)) {
|
|
87
|
+
checkEl.checked = true;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
savedInputChecked.length =
|
|
92
|
+
lastDx =
|
|
93
|
+
lastDy = 0;
|
|
94
|
+
|
|
95
|
+
})
|
|
96
|
+
|
|
97
|
+
}.bind(sortable)
|
|
98
|
+
*/
|
|
42
99
|
}
|
|
43
100
|
isDraggable(node) {
|
|
44
101
|
let result = node.arrayItem && node.type !== '$ref' &&
|
|
@@ -161,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
161
218
|
}], isFlexItem: [{
|
|
162
219
|
type: Input
|
|
163
220
|
}] } });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3Jvb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQXdFcEUsTUFBTSxPQUFPLGFBQWE7SUFReEIsWUFDVSxHQUEwQjtRQUExQixRQUFHLEdBQUgsR0FBRyxDQUF1QjtRQUgzQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBUzVCLG1CQUFjLEdBQUs7WUFDakIsTUFBTSxFQUFDLGtCQUFrQjtZQUN6QixlQUFlLEVBQUUsS0FBSztZQUN0QixLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUEsR0FBRyxFQUFDLEVBQUU7Z0JBQ3RCLEdBQUcsQ0FBQyxRQUFRLENBQUEsQ0FBQyxvRkFBb0Y7Z0JBQ2pHLDJCQUEyQjtnQkFDM0IseUNBQXlDO2dCQUN6QyxJQUFJLE1BQU0sR0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUN4QixJQUFJLE1BQU0sR0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUN4QixJQUFJLFVBQVUsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLE9BQU8sR0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ25HLElBQUksU0FBUyxHQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ3JELElBQUksT0FBTyxHQUFLO29CQUNkLFNBQVMsRUFBQyxPQUFPO29CQUNqQixXQUFXLEVBQUMsU0FBUztvQkFDckIsVUFBVSxFQUFDLFVBQVU7aUJBQ3RCLENBQUE7Z0JBQ0QsOERBQThEO2dCQUM5RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXBFLENBQUM7WUFDRCxNQUFNLEVBQUUsVUFBVSxVQUFVLENBQUEsR0FBRyxFQUFFLFVBQVUsQ0FBQSxhQUFhO2dCQUN0RCxJQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDO29CQUNuRCwyQkFBMkI7b0JBQzNCLE9BQU8sS0FBSyxDQUFDO2lCQUNkO1lBQ0gsQ0FBQztTQUNELENBQUE7SUFoQ0csQ0FBQztJQWtDTCxZQUFZLENBQUMsUUFBUTtRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVM7UUFDbkIsSUFBSSxNQUFNLEdBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07WUFDakQsSUFBSSxDQUFDLGFBQWEsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLDJDQUEyQztZQUMzQyx3Q0FBd0M7WUFDeEMsOENBQThDO1NBQy9DO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELG9FQUFvRTtJQUNwRSxnQ0FBZ0M7SUFDaEMsT0FBTyxDQUFDLElBQVM7UUFDZixJQUFJLE1BQU0sR0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUMvQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLHNEQUFzRDtJQUN0RCxnQkFBZ0IsQ0FBQyxJQUFTLEVBQUUsU0FBaUI7UUFDM0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzFELENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUdELFVBQVUsQ0FBQyxVQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxRQUFRO1FBQ04sbUNBQW1DO1FBQ25DLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FDcEUsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFBLEVBQUU7b0JBQ2xDLElBQUksTUFBTSxHQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxDQUFDLENBQUMsQ0FBQTtnQkFDRiwyQ0FBMkM7Z0JBQzNDLHdDQUF3QzthQUN6QztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUNwQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDaEQ7SUFDSCxDQUFDOytHQWxHVSxhQUFhO21HQUFiLGFBQWEsMkxBaEVkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E4QlA7OzRGQWtDUSxhQUFhO2tCQW5FekIsU0FBUzsrQkFFRSxhQUFhLFlBQ2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQThCUCxjQThCUyxLQUFLOzRHQU1SLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJy4uL2pzb24tc2NoZW1hLWZvcm0uc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAncm9vdC13aWRnZXQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IFtjbGFzcy5mbGV4LWluaGVyaXRdPVwidHJ1ZVwiICNzb3J0YWJsZUNvbnRhaW50ZXIgW254dFNvcnRhYmxlanNdPVwibGF5b3V0XCIgW2NvbmZpZ109XCJzb3J0YWJsZUNvbmZpZ1wiIChpbml0KT1cInNvcnRhYmxlSW5pdCgkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGxheW91dEl0ZW0gb2YgbGF5b3V0OyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICBbY2xhc3MuZm9ybS1mbGV4LWl0ZW1dPVwiaXNGbGV4SXRlbVwiXHJcbiAgICAgICAgW3N0eWxlLmFsaWduLXNlbGZdPVwiKGxheW91dEl0ZW0ub3B0aW9ucyB8fCB7fSlbJ2FsaWduLXNlbGYnXVwiXHJcbiAgICAgICAgW3N0eWxlLmZsZXgtYmFzaXNdPVwiZ2V0RmxleEF0dHJpYnV0ZShsYXlvdXRJdGVtLCAnZmxleC1iYXNpcycpXCJcclxuICAgICAgICBbc3R5bGUuZmxleC1ncm93XT1cImdldEZsZXhBdHRyaWJ1dGUobGF5b3V0SXRlbSwgJ2ZsZXgtZ3JvdycpXCJcclxuICAgICAgICBbc3R5bGUuZmxleC1zaHJpbmtdPVwiZ2V0RmxleEF0dHJpYnV0ZShsYXlvdXRJdGVtLCAnZmxleC1zaHJpbmsnKVwiXHJcbiAgICAgICAgW3N0eWxlLm9yZGVyXT1cIihsYXlvdXRJdGVtLm9wdGlvbnMgfHwge30pLm9yZGVyXCJcclxuICAgICAgICBbY2xhc3Muc29ydGFibGUtZmlsdGVyXT1cIiFpc0RyYWdnYWJsZShsYXlvdXRJdGVtKVwiXHJcbiAgICAgICAgW2NsYXNzLnNvcnRhYmxlLWZpeGVkXT1cImlzRml4ZWQobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8IS0tTkIgb3JkZXJhYmxlIGRpcmVjdGl2ZSBpcyBub3QgdXNlZCBidXQgaGFzIGJlZW4gbGVmdCBpbiBmb3Igbm93IGFuZCBzZXQgdG8gZmFsc2VcclxuICAgICAgICAgIG90aGVyd2lzZSB0aGUgY29tcGlsZXIgd29uJ3QgcmVjb2duaXplIGRhdGFJbmRleCBhbmQgb3RoZXIgZGVwZW5kZW50IGF0dHJpYnV0ZXNcclxuICAgICAgICAtLT5cclxuICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAoZGF0YUluZGV4IHx8IFtdKS5jb25jYXQoaSkgOiAoZGF0YUluZGV4IHx8IFtdKVwiXHJcbiAgICAgICAgICBbbGF5b3V0SW5kZXhdPVwiKGxheW91dEluZGV4IHx8IFtdKS5jb25jYXQoaSlcIlxyXG4gICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiXHJcbiAgICAgICAgICBbb3JkZXJhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgIFtjbGFzcy5zb3J0YWJsZS1maWx0ZXJdPVwiIWlzRHJhZ2dhYmxlKGxheW91dEl0ZW0pXCJcclxuICAgICAgICAgIFtjbGFzcy5zb3J0YWJsZS1maXhlZF09XCJpc0ZpeGVkKGxheW91dEl0ZW0pXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxzZWxlY3QtZnJhbWV3b3JrLXdpZGdldCAqbmdJZj1cInNob3dXaWRnZXQobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgICAgICBbZGF0YUluZGV4XT1cImxheW91dEl0ZW0/LmFycmF5SXRlbSA/IChkYXRhSW5kZXggfHwgW10pLmNvbmNhdChpKSA6IChkYXRhSW5kZXggfHwgW10pXCJcclxuICAgICAgICAgICAgW2xheW91dEluZGV4XT1cIihsYXlvdXRJbmRleCB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICAgICAgW2xheW91dE5vZGVdPVwibGF5b3V0SXRlbVwiPjwvc2VsZWN0LWZyYW1ld29yay13aWRnZXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgIFtkcmFnZ2FibGU9dHJ1ZV0ge1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XHJcbiAgICB9XHJcbiAgICBbZHJhZ2dhYmxlPXRydWVdOmhvdmVyIHtcclxuICAgICAgY3Vyc29yOiBtb3ZlO1xyXG4gICAgICBib3gtc2hhZG93OiAycHggMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTA7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXS5kcmFnLXRhcmdldC10b3Age1xyXG4gICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAjMDAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDIwO1xyXG4gICAgfVxyXG4gICAgW2RyYWdnYWJsZT10cnVlXS5kcmFnLXRhcmdldC1ib3R0b20ge1xyXG4gICAgICBib3gtc2hhZG93OiAwIDJweCAwICMwMDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjA7XHJcbiAgICB9XHJcbiAgICAuZmxleC1pbmhlcml0e1xyXG4gICAgICBkaXNwbGF5OmluaGVyaXQ7XHJcbiAgICAgIGZsZXgtZmxvdzppbmhlcml0O1xyXG4gICAgICBmbGV4LXdyYXA6aW5oZXJpdDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246aW5oZXJpdDtcclxuICAgICAgd2lkdGg6MTAwJVxyXG4gICAgfVxyXG4gIGBdLFxyXG4gIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFJvb3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveXtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgQElucHV0KCkgZGF0YUluZGV4OiBudW1iZXJbXTtcclxuICBASW5wdXQoKSBsYXlvdXRJbmRleDogbnVtYmVyW107XHJcbiAgQElucHV0KCkgbGF5b3V0OiBhbnlbXTtcclxuICBASW5wdXQoKSBpc09yZGVyYWJsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpc0ZsZXhJdGVtID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxyXG4gICkgeyB9XHJcbiAgLy8gQFZpZXdDaGlsZCgnc29ydGFibGVDb250YWludGVyJywge30pXHJcbiAgLy8gc29ydGFibGVDb250YWludGVyRWx0OiBFbGVtZW50UmVmO1xyXG5cclxuICBzb3J0YWJsZU9iajogYW55O1xyXG4gIHNvcnRhYmxlQ29uZmlnOmFueT17XHJcbiAgICBmaWx0ZXI6XCIuc29ydGFibGUtZmlsdGVyXCIsLy9uZWVkZWQgdG8gZGlzYWJsZSBkcmFnZ2luZyBvbiBpbnB1dCByYW5nZSBlbGVtZW50cywgY2xhc3MgbmVlZHMgdG8gYmUgYWRkZWQgdG8gdGhlIGVsZW1lbnQgb3IgaXRzIHBhcmVudFxyXG4gICAgcHJldmVudE9uRmlsdGVyOiBmYWxzZSwvL25lZWRlZCBmb3IgaW5wdXQgcmFuZ2UgZWxlbWVudHMgc2xpZGVyIGRvIHN0aWxsIHdvcmtcclxuICAgIG9uRW5kOiAoLyoqRXZlbnQqL2V2dCk9PiB7XHJcbiAgICAgIGV2dC5uZXdJbmRleCAvLyBtb3N0IGxpa2VseSB3aHkgdGhpcyBldmVudCBpcyB1c2VkIGlzIHRvIGdldCB0aGUgZHJhZ2dpbmcgZWxlbWVudCdzIGN1cnJlbnQgaW5kZXhcclxuICAgICAgLy8gc2FtZSBwcm9wZXJ0aWVzIGFzIG9uRW5kXHJcbiAgICAgIC8vY29uc29sZS5sb2coYHNvcnRhYmxlanMgZXZlbnQ6JHtldnR9YCk7XHJcbiAgICAgIGxldCBzcmNJbmQ9ZXZ0Lm9sZEluZGV4O1xyXG4gICAgICBsZXQgdHJnSW5kPWV2dC5uZXdJbmRleDtcclxuICAgICAgbGV0IGxheW91dEl0ZW09dGhpcy5sYXlvdXRbdHJnSW5kXTtcclxuICAgICAgbGV0IGRhdGFJbmQ9bGF5b3V0SXRlbT8uYXJyYXlJdGVtID8gKHRoaXMuZGF0YUluZGV4IHx8IFtdKS5jb25jYXQodHJnSW5kKSA6ICh0aGlzLmRhdGFJbmRleCB8fCBbXSk7XHJcbiAgICAgIGxldCBsYXlvdXRJbmQ9KHRoaXMubGF5b3V0SW5kZXggfHwgW10pLmNvbmNhdCh0cmdJbmQpXHJcbiAgICAgIGxldCBpdGVtQ3R4OmFueT17XHJcbiAgICAgICAgZGF0YUluZGV4OmRhdGFJbmQsXHJcbiAgICAgICAgbGF5b3V0SW5kZXg6bGF5b3V0SW5kLFxyXG4gICAgICAgIGxheW91dE5vZGU6bGF5b3V0SXRlbSxcclxuICAgICAgfVxyXG4gICAgICAvL211c3Qgc2V0IG1vdmVMYXlvdXQgdG8gZmFsc2UgYXMgbnh0U29ydGFibGUgYWxyZWFkeSBtb3ZlcyBpdFxyXG4gICAgICB0aGlzLmpzZi5tb3ZlQXJyYXlJdGVtKGl0ZW1DdHgsIGV2dC5vbGRJbmRleCwgZXZ0Lm5ld0luZGV4LGZhbHNlKTtcclxuICAgICAgXHJcbiAgICB9LFxyXG4gICAgb25Nb3ZlOiBmdW5jdGlvbiAoLyoqRXZlbnQqL2V2dCwgLyoqRXZlbnQqL29yaWdpbmFsRXZlbnQpIHtcclxuICAgICAgaWYoZXZ0LnJlbGF0ZWQuY2xhc3NMaXN0LmNvbnRhaW5zKFwic29ydGFibGUtZml4ZWRcIikpe1xyXG4gICAgICAgLy9jb25zb2xlLmxvZyhldnQucmVsYXRlZCk7XHJcbiAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgfVxyXG4gICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgc29ydGFibGVPcHRpb25zU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgc29ydGFibGVJbml0KHNvcnRhYmxlKSB7XHJcbiAgICB0aGlzLnNvcnRhYmxlT2JqID0gc29ydGFibGU7XHJcbiAgfVxyXG5cclxuICBpc0RyYWdnYWJsZShub2RlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQ9bm9kZS5hcnJheUl0ZW0gJiYgbm9kZS50eXBlICE9PSAnJHJlZicgJiZcclxuICAgIG5vZGUuYXJyYXlJdGVtVHlwZSA9PT0gJ2xpc3QnICYmIHRoaXMuaXNPcmRlcmFibGUgIT09IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuc29ydGFibGVPYmopIHtcclxuICAgICAgLy90aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihcImRpc2FibGVkXCIsdHJ1ZSk7XHJcbiAgICAgIC8vdGhpcy5zb3J0YWJsZU9iai5vcHRpb24oXCJzb3J0XCIsZmFsc2UpO1xyXG4gICAgICAvL3RoaXMuc29ydGFibGVPYmoub3B0aW9uKFwiZGlzYWJsZWRcIiwhcmVzdWx0KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy9UT0RPIGFsc28gbmVlZCB0byB0aGluayBvZiBvdGhlciB0eXBlcyBzdWNoIGFzIGJ1dHRvbiB3aGljaCBjYW4gYmVcclxuICAvL2NyZWF0ZWQgYnkgYW4gYXJiaXRyYXJ5IGxheW91dFxyXG4gIGlzRml4ZWQobm9kZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0PW5vZGUudHlwZSA9PSAnJHJlZic7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8gU2V0IGF0dHJpYnV0ZXMgZm9yIGZsZXhib3ggY2hpbGRcclxuICAvLyAoY29udGFpbmVyIGF0dHJpYnV0ZXMgYXJlIHNldCBpbiBzZWN0aW9uLmNvbXBvbmVudClcclxuICBnZXRGbGV4QXR0cmlidXRlKG5vZGU6IGFueSwgYXR0cmlidXRlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gWydmbGV4LWdyb3cnLCAnZmxleC1zaHJpbmsnLCAnZmxleC1iYXNpcyddLmluZGV4T2YoYXR0cmlidXRlKTtcclxuICAgIHJldHVybiAoKG5vZGUub3B0aW9ucyB8fCB7fSkuZmxleCB8fCAnJykuc3BsaXQoL1xccysvKVtpbmRleF0gfHxcclxuICAgICAgKG5vZGUub3B0aW9ucyB8fCB7fSlbYXR0cmlidXRlXSB8fCBbJzEnLCAnMScsICdhdXRvJ11baW5kZXhdO1xyXG4gIH1cclxuXHJcblxyXG4gIHNob3dXaWRnZXQobGF5b3V0Tm9kZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5qc2YuZXZhbHVhdGVDb25kaXRpb24obGF5b3V0Tm9kZSwgdGhpcy5kYXRhSW5kZXgpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIFN1YnNjcmliZSB0byB0aGUgZHJhZ2dhYmxlIHN0YXRlXHJcbiAgICB0aGlzLnNvcnRhYmxlT3B0aW9uc1N1YnNjcmlwdGlvbiA9IHRoaXMuanNmLnNvcnRhYmxlT3B0aW9ucyQuc3Vic2NyaWJlKFxyXG4gICAgICAob3B0c1ZhbHVlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc29ydGFibGVPYmopIHtcclxuICAgICAgICAgIE9iamVjdC5rZXlzKG9wdHNWYWx1ZSkuZm9yRWFjaChvcHQ9PntcclxuICAgICAgICAgICAgbGV0IG9wdFZhbD1vcHRzVmFsdWVbb3B0XTtcclxuICAgICAgICAgICAgdGhpcy5zb3J0YWJsZU9iai5vcHRpb24ob3B0LG9wdFZhbCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLy90aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihcImRpc2FibGVkXCIsdHJ1ZSk7XHJcbiAgICAgICAgICAvL3RoaXMuc29ydGFibGVPYmoub3B0aW9uKFwic29ydFwiLGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc29ydGFibGVPcHRpb25zU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc29ydGFibGVPcHRpb25zU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbGliL3dpZGdldC1saWJyYXJ5L3Jvb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQXVFcEUsTUFBTSxPQUFPLGFBQWE7SUFReEIsWUFDVSxHQUEwQjtRQUExQixRQUFHLEdBQUgsR0FBRyxDQUF1QjtRQUgzQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBUzVCLG1CQUFjLEdBQUs7WUFDakIsTUFBTSxFQUFDLGtCQUFrQjtZQUN6QixlQUFlLEVBQUUsS0FBSztZQUN0QixLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUEsR0FBRyxFQUFDLEVBQUU7Z0JBQ3RCLEdBQUcsQ0FBQyxRQUFRLENBQUEsQ0FBQyxvRkFBb0Y7Z0JBQ2pHLDJCQUEyQjtnQkFDM0IseUNBQXlDO2dCQUN6QyxJQUFJLE1BQU0sR0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUN4QixJQUFJLE1BQU0sR0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUN4QixJQUFJLFVBQVUsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLE9BQU8sR0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ25HLElBQUksU0FBUyxHQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ3JELElBQUksT0FBTyxHQUFLO29CQUNkLFNBQVMsRUFBQyxPQUFPO29CQUNqQixXQUFXLEVBQUMsU0FBUztvQkFDckIsVUFBVSxFQUFDLFVBQVU7aUJBQ3RCLENBQUE7Z0JBQ0QsOERBQThEO2dCQUM5RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXBFLENBQUM7WUFDRCxNQUFNLEVBQUUsVUFBVSxVQUFVLENBQUEsR0FBRyxFQUFFLFVBQVUsQ0FBQSxhQUFhO2dCQUN0RCxJQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDO29CQUNuRCwyQkFBMkI7b0JBQzNCLE9BQU8sS0FBSyxDQUFDO2lCQUNkO1lBQ0gsQ0FBQztTQUNELENBQUE7SUFoQ0csQ0FBQztJQWtDTCxZQUFZLENBQUMsUUFBUTtRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztRQUM1QixzREFBc0Q7UUFDdEQsd0RBQXdEO1FBQ3hELHlCQUF5QjtRQUN6QixnRkFBZ0Y7UUFDaEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7VUFvREU7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVM7UUFDbkIsSUFBSSxNQUFNLEdBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07WUFDakQsSUFBSSxDQUFDLGFBQWEsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLDJDQUEyQztZQUMzQyx3Q0FBd0M7WUFDeEMsOENBQThDO1NBQy9DO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELG9FQUFvRTtJQUNwRSxnQ0FBZ0M7SUFDaEMsT0FBTyxDQUFDLElBQVM7UUFDZixJQUFJLE1BQU0sR0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUMvQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLHNEQUFzRDtJQUN0RCxnQkFBZ0IsQ0FBQyxJQUFTLEVBQUUsU0FBaUI7UUFDM0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzFELENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxRQUFRO1FBQ04sbUNBQW1DO1FBQ25DLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FDcEUsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFBLEVBQUU7b0JBQ2xDLElBQUksTUFBTSxHQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxDQUFDLENBQUMsQ0FBQTtnQkFDRiwyQ0FBMkM7Z0JBQzNDLHdDQUF3QzthQUN6QztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRTtZQUNwQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDaEQ7SUFDSCxDQUFDOytHQTFKVSxhQUFhO21HQUFiLGFBQWEsMkxBaEVkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E4QlA7OzRGQWtDUSxhQUFhO2tCQW5FekIsU0FBUzsrQkFFRSxhQUFhLFlBQ2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQThCUCxjQThCUyxLQUFLOzRHQU1SLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJy4uL2pzb24tc2NoZW1hLWZvcm0uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdyb290LXdpZGdldCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgW2NsYXNzLmZsZXgtaW5oZXJpdF09XCJ0cnVlXCIgI3NvcnRhYmxlQ29udGFpbnRlciBbbnh0U29ydGFibGVqc109XCJsYXlvdXRcIiBbY29uZmlnXT1cInNvcnRhYmxlQ29uZmlnXCIgKGluaXQpPVwic29ydGFibGVJbml0KCRldmVudClcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbGF5b3V0SXRlbSBvZiBsYXlvdXQ7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgIFtjbGFzcy5mb3JtLWZsZXgtaXRlbV09XCJpc0ZsZXhJdGVtXCJcclxuICAgICAgICBbc3R5bGUuYWxpZ24tc2VsZl09XCIobGF5b3V0SXRlbS5vcHRpb25zIHx8IHt9KVsnYWxpZ24tc2VsZiddXCJcclxuICAgICAgICBbc3R5bGUuZmxleC1iYXNpc109XCJnZXRGbGV4QXR0cmlidXRlKGxheW91dEl0ZW0sICdmbGV4LWJhc2lzJylcIlxyXG4gICAgICAgIFtzdHlsZS5mbGV4LWdyb3ddPVwiZ2V0RmxleEF0dHJpYnV0ZShsYXlvdXRJdGVtLCAnZmxleC1ncm93JylcIlxyXG4gICAgICAgIFtzdHlsZS5mbGV4LXNocmlua109XCJnZXRGbGV4QXR0cmlidXRlKGxheW91dEl0ZW0sICdmbGV4LXNocmluaycpXCJcclxuICAgICAgICBbc3R5bGUub3JkZXJdPVwiKGxheW91dEl0ZW0ub3B0aW9ucyB8fCB7fSkub3JkZXJcIlxyXG4gICAgICAgIFtjbGFzcy5zb3J0YWJsZS1maWx0ZXJdPVwiIWlzRHJhZ2dhYmxlKGxheW91dEl0ZW0pXCJcclxuICAgICAgICBbY2xhc3Muc29ydGFibGUtZml4ZWRdPVwiaXNGaXhlZChsYXlvdXRJdGVtKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwhLS1OQiBvcmRlcmFibGUgZGlyZWN0aXZlIGlzIG5vdCB1c2VkIGJ1dCBoYXMgYmVlbiBsZWZ0IGluIGZvciBub3cgYW5kIHNldCB0byBmYWxzZVxyXG4gICAgICAgICAgb3RoZXJ3aXNlIHRoZSBjb21waWxlciB3b24ndCByZWNvZ25pemUgZGF0YUluZGV4IGFuZCBvdGhlciBkZXBlbmRlbnQgYXR0cmlidXRlc1xyXG4gICAgICAgIC0tPlxyXG4gICAgICAgIDxkaXYgXHJcbiAgICAgICAgICBbZGF0YUluZGV4XT1cImxheW91dEl0ZW0/LmFycmF5SXRlbSA/IChkYXRhSW5kZXggfHwgW10pLmNvbmNhdChpKSA6IChkYXRhSW5kZXggfHwgW10pXCJcclxuICAgICAgICAgIFtsYXlvdXRJbmRleF09XCIobGF5b3V0SW5kZXggfHwgW10pLmNvbmNhdChpKVwiXHJcbiAgICAgICAgICBbbGF5b3V0Tm9kZV09XCJsYXlvdXRJdGVtXCJcclxuICAgICAgICAgIFtvcmRlcmFibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgW2NsYXNzLnNvcnRhYmxlLWZpbHRlcl09XCIhaXNEcmFnZ2FibGUobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgICAgW2NsYXNzLnNvcnRhYmxlLWZpeGVkXT1cImlzRml4ZWQobGF5b3V0SXRlbSlcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPHNlbGVjdC1mcmFtZXdvcmstd2lkZ2V0ICpuZ0lmPVwic2hvd1dpZGdldChsYXlvdXRJdGVtKVwiXHJcbiAgICAgICAgICAgIFtkYXRhSW5kZXhdPVwibGF5b3V0SXRlbT8uYXJyYXlJdGVtID8gKGRhdGFJbmRleCB8fCBbXSkuY29uY2F0KGkpIDogKGRhdGFJbmRleCB8fCBbXSlcIlxyXG4gICAgICAgICAgICBbbGF5b3V0SW5kZXhdPVwiKGxheW91dEluZGV4IHx8IFtdKS5jb25jYXQoaSlcIlxyXG4gICAgICAgICAgICBbbGF5b3V0Tm9kZV09XCJsYXlvdXRJdGVtXCI+PC9zZWxlY3QtZnJhbWV3b3JrLXdpZGdldD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgc3R5bGVzOiBbYFxyXG4gICAgW2RyYWdnYWJsZT10cnVlXSB7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcclxuICAgIH1cclxuICAgIFtkcmFnZ2FibGU9dHJ1ZV06aG92ZXIge1xyXG4gICAgICBjdXJzb3I6IG1vdmU7XHJcbiAgICAgIGJveC1zaGFkb3c6IDJweCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxMDtcclxuICAgICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxcHg7XHJcbiAgICB9XHJcbiAgICBbZHJhZ2dhYmxlPXRydWVdLmRyYWctdGFyZ2V0LXRvcCB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAwICMwMDA7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjA7XHJcbiAgICB9XHJcbiAgICBbZHJhZ2dhYmxlPXRydWVdLmRyYWctdGFyZ2V0LWJvdHRvbSB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyMDtcclxuICAgIH1cclxuICAgIC5mbGV4LWluaGVyaXR7XHJcbiAgICAgIGRpc3BsYXk6aW5oZXJpdDtcclxuICAgICAgZmxleC1mbG93OmluaGVyaXQ7XHJcbiAgICAgIGZsZXgtd3JhcDppbmhlcml0O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjppbmhlcml0O1xyXG4gICAgICB3aWR0aDoxMDAlXHJcbiAgICB9XHJcbiAgYF0sXHJcbiAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgUm9vdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95e1xyXG4gIG9wdGlvbnM6IGFueTtcclxuICBASW5wdXQoKSBkYXRhSW5kZXg6IG51bWJlcltdO1xyXG4gIEBJbnB1dCgpIGxheW91dEluZGV4OiBudW1iZXJbXTtcclxuICBASW5wdXQoKSBsYXlvdXQ6IGFueVtdO1xyXG4gIEBJbnB1dCgpIGlzT3JkZXJhYmxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGlzRmxleEl0ZW0gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGpzZjogSnNvblNjaGVtYUZvcm1TZXJ2aWNlXHJcbiAgKSB7IH1cclxuICAvLyBAVmlld0NoaWxkKCdzb3J0YWJsZUNvbnRhaW50ZXInLCB7fSlcclxuICAvLyBzb3J0YWJsZUNvbnRhaW50ZXJFbHQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gIHNvcnRhYmxlT2JqOiBhbnk7XHJcbiAgc29ydGFibGVDb25maWc6YW55PXtcclxuICAgIGZpbHRlcjpcIi5zb3J0YWJsZS1maWx0ZXJcIiwvL25lZWRlZCB0byBkaXNhYmxlIGRyYWdnaW5nIG9uIGlucHV0IHJhbmdlIGVsZW1lbnRzLCBjbGFzcyBuZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgZWxlbWVudCBvciBpdHMgcGFyZW50XHJcbiAgICBwcmV2ZW50T25GaWx0ZXI6IGZhbHNlLC8vbmVlZGVkIGZvciBpbnB1dCByYW5nZSBlbGVtZW50cyBzbGlkZXIgZG8gc3RpbGwgd29ya1xyXG4gICAgb25FbmQ6ICgvKipFdmVudCovZXZ0KT0+IHtcclxuICAgICAgZXZ0Lm5ld0luZGV4IC8vIG1vc3QgbGlrZWx5IHdoeSB0aGlzIGV2ZW50IGlzIHVzZWQgaXMgdG8gZ2V0IHRoZSBkcmFnZ2luZyBlbGVtZW50J3MgY3VycmVudCBpbmRleFxyXG4gICAgICAvLyBzYW1lIHByb3BlcnRpZXMgYXMgb25FbmRcclxuICAgICAgLy9jb25zb2xlLmxvZyhgc29ydGFibGVqcyBldmVudDoke2V2dH1gKTtcclxuICAgICAgbGV0IHNyY0luZD1ldnQub2xkSW5kZXg7XHJcbiAgICAgIGxldCB0cmdJbmQ9ZXZ0Lm5ld0luZGV4O1xyXG4gICAgICBsZXQgbGF5b3V0SXRlbT10aGlzLmxheW91dFt0cmdJbmRdO1xyXG4gICAgICBsZXQgZGF0YUluZD1sYXlvdXRJdGVtPy5hcnJheUl0ZW0gPyAodGhpcy5kYXRhSW5kZXggfHwgW10pLmNvbmNhdCh0cmdJbmQpIDogKHRoaXMuZGF0YUluZGV4IHx8IFtdKTtcclxuICAgICAgbGV0IGxheW91dEluZD0odGhpcy5sYXlvdXRJbmRleCB8fCBbXSkuY29uY2F0KHRyZ0luZClcclxuICAgICAgbGV0IGl0ZW1DdHg6YW55PXtcclxuICAgICAgICBkYXRhSW5kZXg6ZGF0YUluZCxcclxuICAgICAgICBsYXlvdXRJbmRleDpsYXlvdXRJbmQsXHJcbiAgICAgICAgbGF5b3V0Tm9kZTpsYXlvdXRJdGVtLFxyXG4gICAgICB9XHJcbiAgICAgIC8vbXVzdCBzZXQgbW92ZUxheW91dCB0byBmYWxzZSBhcyBueHRTb3J0YWJsZSBhbHJlYWR5IG1vdmVzIGl0XHJcbiAgICAgIHRoaXMuanNmLm1vdmVBcnJheUl0ZW0oaXRlbUN0eCwgZXZ0Lm9sZEluZGV4LCBldnQubmV3SW5kZXgsZmFsc2UpO1xyXG4gICAgICBcclxuICAgIH0sXHJcbiAgICBvbk1vdmU6IGZ1bmN0aW9uICgvKipFdmVudCovZXZ0LCAvKipFdmVudCovb3JpZ2luYWxFdmVudCkge1xyXG4gICAgICBpZihldnQucmVsYXRlZC5jbGFzc0xpc3QuY29udGFpbnMoXCJzb3J0YWJsZS1maXhlZFwiKSl7XHJcbiAgICAgICAvL2NvbnNvbGUubG9nKGV2dC5yZWxhdGVkKTtcclxuICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICB9XHJcbiAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBzb3J0YWJsZU9wdGlvbnNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBzb3J0YWJsZUluaXQoc29ydGFibGUpIHtcclxuICAgIHRoaXMuc29ydGFibGVPYmogPSBzb3J0YWJsZTtcclxuICAgIC8vL05CIGlzc3VlIGNhdXNlZCBieSBzb3J0YWJsZWpzIHdoZW4gaXQgaXRzIGRlc3Ryb3llZFxyXG4gICAgLy90aGlzIG1haW5seSBhZmZlY3RzIGNoZWNrYm94ZXMgY291cGxlZCB3aXRoIGNvbmRpdGlvbnNcclxuICAgIC8vLXRoZSB2YWx1ZSBpcyByZWNoZWNrZWRcclxuICAgIC8vLXNlZSBodHRwczovL2dpdGh1Yi5jb20vU29ydGFibGVKUy9Tb3J0YWJsZS9pc3N1ZXMvMTA1MiNpc3N1ZWNvbW1lbnQtMzY5NjEzMDcyXHJcbiAgICAvKiBhdHRlbXB0IHRvIG1vbmtleSBwYXRjaCBzb3J0YWJsZSBqcyBcclxuICAgIGNvbnN0IG9yaWdpbmFsTWV0aG9kID0gc29ydGFibGUuX251bGxpbmc7XHJcbiAgICBsZXQgem9uZT10aGlzLnpvbmU7XHJcbiAgICBzb3J0YWJsZS5fbnVsbGluZz1mdW5jdGlvbigpIHtcclxuICAgICAgY29uc29sZS5sb2coYHBsdWdpbkV2ZW50IDIgJHtwbHVnaW5FdmVudH1gKVxyXG4gICAgICAgICAgICB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcGx1Z2luRXZlbnQzICR7cGx1Z2luRXZlbnR9YClcclxuICAgICAgcGx1Z2luRXZlbnQoJ251bGxpbmcnLCB0aGlzKTtcclxuICBcclxuICAgICAgcm9vdEVsID1cclxuICAgICAgZHJhZ0VsID1cclxuICAgICAgcGFyZW50RWwgPVxyXG4gICAgICBnaG9zdEVsID1cclxuICAgICAgbmV4dEVsID1cclxuICAgICAgY2xvbmVFbCA9XHJcbiAgICAgIGxhc3REb3duRWwgPVxyXG4gICAgICBjbG9uZUhpZGRlbiA9XHJcbiAgXHJcbiAgICAgIHRhcEV2dCA9XHJcbiAgICAgIHRvdWNoRXZ0ID1cclxuICBcclxuICAgICAgbW92ZWQgPVxyXG4gICAgICBuZXdJbmRleCA9XHJcbiAgICAgIG5ld0RyYWdnYWJsZUluZGV4ID1cclxuICAgICAgb2xkSW5kZXggPVxyXG4gICAgICBvbGREcmFnZ2FibGVJbmRleCA9XHJcbiAgXHJcbiAgICAgIGxhc3RUYXJnZXQgPVxyXG4gICAgICBsYXN0RGlyZWN0aW9uID1cclxuICBcclxuICAgICAgcHV0U29ydGFibGUgPVxyXG4gICAgICBhY3RpdmVHcm91cCA9XHJcbiAgICAgIFNvcnRhYmxlLmRyYWdnZWQgPVxyXG4gICAgICBTb3J0YWJsZS5naG9zdCA9XHJcbiAgICAgIFNvcnRhYmxlLmNsb25lID1cclxuICAgICAgU29ydGFibGUuYWN0aXZlID0gbnVsbDtcclxuICBcclxuICAgIFxyXG4gICAgICAgIGxldCBlbCA9IHRoaXMuZWw7XHJcbiAgICAgICAgc2F2ZWRJbnB1dENoZWNrZWQuZm9yRWFjaChmdW5jdGlvbiAoY2hlY2tFbCkge1xyXG4gICAgICAgICAgaWYgKGVsLmNvbnRhaW5zKGNoZWNrRWwpKSB7XHJcbiAgICAgICAgICAgIGNoZWNrRWwuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICBcclxuICAgICAgICBzYXZlZElucHV0Q2hlY2tlZC5sZW5ndGggPVxyXG4gICAgICAgIGxhc3REeCA9XHJcbiAgICAgICAgbGFzdER5ID0gMDtcclxuXHJcbiAgICAgIH0pXHJcblxyXG4gICAgfS5iaW5kKHNvcnRhYmxlKVxyXG4gICAgKi9cclxuICB9XHJcblxyXG4gIGlzRHJhZ2dhYmxlKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHJlc3VsdD1ub2RlLmFycmF5SXRlbSAmJiBub2RlLnR5cGUgIT09ICckcmVmJyAmJlxyXG4gICAgbm9kZS5hcnJheUl0ZW1UeXBlID09PSAnbGlzdCcgJiYgdGhpcy5pc09yZGVyYWJsZSAhPT0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5zb3J0YWJsZU9iaikge1xyXG4gICAgICAvL3RoaXMuc29ydGFibGVPYmoub3B0aW9uKFwiZGlzYWJsZWRcIix0cnVlKTtcclxuICAgICAgLy90aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihcInNvcnRcIixmYWxzZSk7XHJcbiAgICAgIC8vdGhpcy5zb3J0YWJsZU9iai5vcHRpb24oXCJkaXNhYmxlZFwiLCFyZXN1bHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvL1RPRE8gYWxzbyBuZWVkIHRvIHRoaW5rIG9mIG90aGVyIHR5cGVzIHN1Y2ggYXMgYnV0dG9uIHdoaWNoIGNhbiBiZVxyXG4gIC8vY3JlYXRlZCBieSBhbiBhcmJpdHJhcnkgbGF5b3V0XHJcbiAgaXNGaXhlZChub2RlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQ9bm9kZS50eXBlID09ICckcmVmJztcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgZmxleGJveCBjaGlsZFxyXG4gIC8vIChjb250YWluZXIgYXR0cmlidXRlcyBhcmUgc2V0IGluIHNlY3Rpb24uY29tcG9uZW50KVxyXG4gIGdldEZsZXhBdHRyaWJ1dGUobm9kZTogYW55LCBhdHRyaWJ1dGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgaW5kZXggPSBbJ2ZsZXgtZ3JvdycsICdmbGV4LXNocmluaycsICdmbGV4LWJhc2lzJ10uaW5kZXhPZihhdHRyaWJ1dGUpO1xyXG4gICAgcmV0dXJuICgobm9kZS5vcHRpb25zIHx8IHt9KS5mbGV4IHx8ICcnKS5zcGxpdCgvXFxzKy8pW2luZGV4XSB8fFxyXG4gICAgICAobm9kZS5vcHRpb25zIHx8IHt9KVthdHRyaWJ1dGVdIHx8IFsnMScsICcxJywgJ2F1dG8nXVtpbmRleF07XHJcbiAgfVxyXG5cclxuICBzaG93V2lkZ2V0KGxheW91dE5vZGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuanNmLmV2YWx1YXRlQ29uZGl0aW9uKGxheW91dE5vZGUsIHRoaXMuZGF0YUluZGV4KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIGRyYWdnYWJsZSBzdGF0ZVxyXG4gICAgdGhpcy5zb3J0YWJsZU9wdGlvbnNTdWJzY3JpcHRpb24gPSB0aGlzLmpzZi5zb3J0YWJsZU9wdGlvbnMkLnN1YnNjcmliZShcclxuICAgICAgKG9wdHNWYWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnNvcnRhYmxlT2JqKSB7XHJcbiAgICAgICAgICBPYmplY3Qua2V5cyhvcHRzVmFsdWUpLmZvckVhY2gob3B0PT57XHJcbiAgICAgICAgICAgIGxldCBvcHRWYWw9b3B0c1ZhbHVlW29wdF07XHJcbiAgICAgICAgICAgIHRoaXMuc29ydGFibGVPYmoub3B0aW9uKG9wdCxvcHRWYWwpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC8vdGhpcy5zb3J0YWJsZU9iai5vcHRpb24oXCJkaXNhYmxlZFwiLHRydWUpO1xyXG4gICAgICAgICAgLy90aGlzLnNvcnRhYmxlT2JqLm9wdGlvbihcInNvcnRcIixmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNvcnRhYmxlT3B0aW9uc1N1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnNvcnRhYmxlT3B0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|