mmhglobal-dynamicform 2.0.0-beta.53 → 2.0.0-beta.55
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/README.md +6 -0
- package/esm2020/lib/components/inputfieldbase.component.mjs +14 -2
- package/esm2020/lib/services/component-error-handler.service.mjs +9 -2
- package/esm2020/lib/zdatetime/zdatetime.component.mjs +5 -2
- package/esm2020/lib/zudf/zudf.component.mjs +39 -12
- package/fesm2015/mmhglobal-dynamicform.mjs +55 -7
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +55 -7
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/zdatetime/zdatetime.component.d.ts +1 -0
- package/lib/zudf/zudf.component.d.ts +4 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.13.
|
|
4
4
|
|
|
5
5
|
## Changelog
|
|
6
|
+
`2.55beta`<br/>
|
|
7
|
+
[zudf] - enhancement for zudf, now will have basic validation; zudf group scope zmodel auto update.<br/>
|
|
8
|
+
|
|
9
|
+
`2.54beta`<br/>
|
|
10
|
+
[zdatetime] - fix datetime convert wrongly in different region/locale issue.<br/>
|
|
11
|
+
|
|
6
12
|
`2.53beta`<br/>
|
|
7
13
|
[ztexteditor] - fix copy/paste and duplicate newline bug.<br/>
|
|
8
14
|
|
|
@@ -17,7 +17,19 @@ export class InputFieldBase extends FieldBase {
|
|
|
17
17
|
this.triggerEvent("inputfield-onChangeCC", this.data.CCOnChange, event, fieldValue);
|
|
18
18
|
}
|
|
19
19
|
onChange(event, fieldValue) {
|
|
20
|
-
|
|
20
|
+
if (this.data.SubType) {
|
|
21
|
+
if (this.data.SubType === 'zudf') {
|
|
22
|
+
const zudfFieldValue = this.getFieldValue(event, fieldValue);
|
|
23
|
+
const zudfContainerScope = ZComponentHelper.getZudfContainerScope(this.group, this.data.Value);
|
|
24
|
+
zudfContainerScope.zModel[this.data.Value] = zudfFieldValue;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
ZComponentHelper.setComponentModelValue(this.data, this.getFieldValue(event, fieldValue), this.group);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
ZComponentHelper.setComponentModelValue(this.data, this.getFieldValue(event, fieldValue), this.group);
|
|
32
|
+
}
|
|
21
33
|
this.triggerEvent("inputfield-onChange", this.data.OnChange, event, fieldValue);
|
|
22
34
|
}
|
|
23
35
|
onItemClick(event, fieldValue) {
|
|
@@ -76,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
76
88
|
type: Output,
|
|
77
89
|
args: ['triggerContainerEvent']
|
|
78
90
|
}] } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dGZpZWxkYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBeUIsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQU9sRCwySUFBMkk7QUFDM0ksTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBRTNDLFlBQVksV0FBOEI7UUFDeEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRlksMEJBQXFCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFHL0YsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFVLEVBQUUsVUFBZ0I7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBVSxFQUFFLFVBQWdCO1FBQzVDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBVSxFQUFFLFVBQWdCO1FBQzFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDckIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxNQUFNLEVBQUU7Z0JBQ2hDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUM3RCxNQUFNLGtCQUFrQixHQUFHLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0Ysa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsY0FBYyxDQUFDO2FBQzdEO2lCQUNJO2dCQUNILGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZHO1NBQ0Y7YUFDSTtZQUNILGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZHO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFVLEVBQUUsVUFBZ0I7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVNLFdBQVcsQ0FBQyxlQUF1QjtRQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLHdCQUF3QixFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hGLElBQUksT0FBTyxhQUFhLEtBQUssVUFBVSxFQUFFO1lBQ3ZDLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE1BQU0sZUFBZSxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1RixJQUFJLE9BQU8sZUFBZSxLQUFLLFVBQVUsRUFBRTtZQUN6QyxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBRTdCO1FBQ0QsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sYUFBYSxDQUFDLE1BQVk7UUFDL0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUFZLEVBQUUsTUFBVyxFQUFFLEtBQVUsRUFBRSxVQUFnQjtRQUM1RSxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDdEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsS0FBSztnQkFDTCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTthQUM1RCxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQVUsRUFBRSxVQUFnQjtRQUNoRCxJQUFJLFVBQVUsSUFBSSxJQUFJLElBQUksVUFBVSxJQUFJLFNBQVMsRUFBRTtZQUNqRCxPQUFPLEtBQUssRUFBRSxLQUFLLElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUE7U0FDNUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzs0R0FwRlUsY0FBYztnR0FBZCxjQUFjLHdJQUpmLEVBQUU7NEZBSUQsY0FBYztrQkFMMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjt3R0FJa0MscUJBQXFCO3NCQUFyRCxNQUFNO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50SGVscGVyLCBaQ29tcG9uZW50T3V0cHV0RXZlbnQgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcblxyXG4vLyBGb3I6IHpjaGVja2JveCwgemNoaXAsIHpkYXRldGltZSwgemltZywgemlucHV0LWNvbnRhaW5lciwgemxhYmVsLCB6bnVtZXJpYywgenBvc3RzZWxlY3RpbnB1dCwgenNlbGVjdG11bHRpcGxlLCB6dGV4dCwgenRleHRhcmVhLCB6dXBsb2FkXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEZpZWxkQmFzZSBleHRlbmRzIEZpZWxkQmFzZSB7XHJcbiAgQE91dHB1dCgndHJpZ2dlckNvbnRhaW5lckV2ZW50JykgdHJpZ2dlckNvbnRhaW5lckV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBhbnksIGZpZWxkVmFsdWU/OiBhbnkpIHtcclxuICAgIHRoaXMudHJpZ2dlckV2ZW50KFwiaW5wdXRmaWVsZC1vbkNsaWNrXCIsIHRoaXMuZGF0YS5PbkNsaWNrLCBldmVudCwgZmllbGRWYWx1ZSB8fCBldmVudFsnT25DbGljayddKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZUNDKGV2ZW50OiBhbnksIGZpZWxkVmFsdWU/OiBhbnkpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50TW9kZWxWYWx1ZSh0aGlzLmRhdGEsIHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSksIHRoaXMuZ3JvdXApO1xyXG4gICAgdGhpcy50cmlnZ2VyRXZlbnQoXCJpbnB1dGZpZWxkLW9uQ2hhbmdlQ0NcIiwgdGhpcy5kYXRhLkNDT25DaGFuZ2UsIGV2ZW50LCBmaWVsZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLlN1YlR5cGUpIHtcclxuICAgICAgaWYgKHRoaXMuZGF0YS5TdWJUeXBlID09PSAnenVkZicpIHtcclxuICAgICAgICBjb25zdCB6dWRmRmllbGRWYWx1ZSA9IHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgICAgICAgY29uc3QgenVkZkNvbnRhaW5lclNjb3BlID0gWkNvbXBvbmVudEhlbHBlci5nZXRadWRmQ29udGFpbmVyU2NvcGUodGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlKTtcclxuICAgICAgICB6dWRmQ29udGFpbmVyU2NvcGUuek1vZGVsW3RoaXMuZGF0YS5WYWx1ZV0gPSB6dWRmRmllbGRWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudE1vZGVsVmFsdWUodGhpcy5kYXRhLCB0aGlzLmdldEZpZWxkVmFsdWUoZXZlbnQsIGZpZWxkVmFsdWUpLCB0aGlzLmdyb3VwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50TW9kZWxWYWx1ZSh0aGlzLmRhdGEsIHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSksIHRoaXMuZ3JvdXApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudHJpZ2dlckV2ZW50KFwiaW5wdXRmaWVsZC1vbkNoYW5nZVwiLCB0aGlzLmRhdGEuT25DaGFuZ2UsIGV2ZW50LCBmaWVsZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkl0ZW1DbGljayhldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICB0aGlzLnRyaWdnZXJFdmVudChcImlucHV0ZmllbGQtb25JdGVtQ2xpY2tcIiwgdGhpcy5kYXRhLk9uSXRlbUNsaWNrLCBldmVudCwgZmllbGRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25JY29uQ2xpY2soY2xpY2tBY3Rpb25FeHByOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudHJpZ2dlckV2ZW50KFwiaW5wdXRmaWVsZC1vbkljb25DbGlja1wiLCBjbGlja0FjdGlvbkV4cHIsIG51bGwsIHRoaXMuZ3JvdXAuek1vZGVsW3RoaXMuZGF0YS5WYWx1ZV0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFJlYWRPbmx5VmFsdWUoKSB7XHJcbiAgICBjb25zdCByZWFkT25seVZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5SZWFkT25seSk7XHJcbiAgICBpZiAodHlwZW9mIHJlYWRPbmx5VmFsdWUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSByZWFkT25seVZhbHVlLmJpbmQodGhpcy5ncm91cC5jdHJsU2NvcGUpO1xyXG4gICAgICByZXR1cm4gY2FsbEZ1bmModGhpcy5ncm91cCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVhZE9ubHlWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJc1JlcXVpcmVkVmFsdWUoKSB7XHJcbiAgICBjb25zdCBJc1JlcXVpcmVkVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLklzUmVxdWlyZWQpO1xyXG4gICAgaWYgKHR5cGVvZiBJc1JlcXVpcmVkVmFsdWUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSBJc1JlcXVpcmVkVmFsdWUuYmluZCh0aGlzLmdyb3VwLmN0cmxTY29wZSk7XHJcbiAgICAgIHJldHVybiBjYWxsRnVuYyh0aGlzLmdyb3VwKTtcclxuXHJcbiAgICB9XHJcbiAgICByZXR1cm4gSXNSZXF1aXJlZFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50TW9kZWxWYWx1ZSh0aGlzLmRhdGEsIHZhbHVlLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRBZGRPblZhbHVlKGFkZE9ucz86IGFueSkge1xyXG4gICAgdGhpcy50cmlnZ2VyQ29udGFpbmVyRXZlbnQuZW1pdCh7IHR5cGU6ICdzZXRBZGRPblZhbHVlJywgZGF0YTogYWRkT25zIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyaWdnZXJFdmVudCh0eXBlOiBzdHJpbmcsIHRhcmdldDogYW55LCBldmVudDogYW55LCBmaWVsZFZhbHVlPzogYW55KSB7XHJcbiAgICBpZiAodGFyZ2V0KSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgIHRhcmdldDogdGFyZ2V0LFxyXG4gICAgICAgIGV2ZW50LFxyXG4gICAgICAgIGRhdGE6IHsgdmFsdWU6IHRoaXMuZ2V0RmllbGRWYWx1ZShldmVudCwgZmllbGRWYWx1ZSksIGZpZWxkOiB0aGlzLmRhdGEsIGNvbXA6IHRoaXMgfVxyXG4gICAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZpZWxkVmFsdWUoZXZlbnQ6IGFueSwgZmllbGRWYWx1ZT86IGFueSkge1xyXG4gICAgaWYgKGZpZWxkVmFsdWUgPT0gbnVsbCB8fCBmaWVsZFZhbHVlID09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gZXZlbnQ/LnZhbHVlIHx8IGV2ZW50Py50YXJnZXQ/LnZhbHVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmllbGRWYWx1ZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -42,7 +42,14 @@ export class ComponentErrorHandlerService {
|
|
|
42
42
|
if (control && controlErrors) {
|
|
43
43
|
const errorTypes = Object.keys(controlErrors);
|
|
44
44
|
for (const errorType of errorTypes) {
|
|
45
|
-
|
|
45
|
+
let errMessage = null;
|
|
46
|
+
if (key.includes('zudf_')) {
|
|
47
|
+
const zudfContainerScope = ZComponentHelper.getZudfContainerScope(group, key);
|
|
48
|
+
errMessage = this.getErrorMessageByErrorType(errorType, key, zudfContainerScope.fields, controlErrors);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
errMessage = this.getErrorMessageByErrorType(errorType, key, group.fields, controlErrors);
|
|
52
|
+
}
|
|
46
53
|
if (errMessage.errorMessage) {
|
|
47
54
|
errorMsgArr.push(errMessage);
|
|
48
55
|
}
|
|
@@ -111,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
111
118
|
providedIn: 'root',
|
|
112
119
|
}]
|
|
113
120
|
}], ctorParameters: function () { return [{ type: i1.AlertService }, { type: i1.TranslationService }]; } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3NlcnZpY2VzL2NvbXBvbmVudC1lcnJvci1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFvRCxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUtoRSxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLFlBQW9CLFlBQTBCLEVBQVUsa0JBQXNDO1FBQTFFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFJLENBQUM7SUFFNUYseUJBQXlCLENBQUMsS0FBYSxFQUFFLFNBQXFCO1FBQ25FLFNBQVMsR0FBRyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztRQUVwQyxFQUFFLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDNUQsU0FBUyxDQUFDLENBQUMsMEJBQTBCLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBbUIsQ0FBQztZQUN6QywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNILENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDdkIsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDOUUsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FDSCxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTSw4QkFBOEIsQ0FBQyxLQUFhLEVBQUUsU0FBcUIsRUFBRSxXQUFvQjtRQUM5RixTQUFTLEdBQUcsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFFcEMsSUFBSSxXQUFXLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNFO1FBRUQsSUFBSSwyQkFBMkIsR0FBRyxJQUFJLEtBQUssRUFBb0IsQ0FBQztRQUNoRSxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2pELE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDNUYsMkJBQTJCLEdBQUcsMkJBQTJCLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDNUY7UUFDRCxPQUFPLDJCQUEyQixDQUFDO0lBQ3JDLENBQUM7SUFFTyw4QkFBOEIsQ0FBQyxTQUFvQixFQUFFLEdBQVcsRUFBRSxLQUFhO1FBQ3JGLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxFQUFvQixDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsTUFBTSxhQUFhLEdBQUcsT0FBTyxFQUFFLE1BQU0sQ0FBQztRQUV0QyxJQUFJLE9BQU8sSUFBSSxhQUFhLEVBQUU7WUFDNUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM5QyxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRTtnQkFDbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztnQkFDaEcsSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFO29CQUMzQixXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUM5QjthQUNGO1lBQUEsQ0FBQztTQUNIO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVPLDBCQUEwQixDQUFDLFNBQWMsRUFBRSxXQUFtQixFQUFFLE1BQWdCLEVBQUUsV0FBZ0I7UUFDeEcsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMseUJBQXlCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixNQUFNLG9CQUFvQixHQUFHLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUNsRyxRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLFVBQVU7Z0JBQ2IsWUFBWSxHQUFHLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3BGLE1BQU07WUFDUixLQUFLLFdBQVc7Z0JBQ2QsWUFBWSxHQUFHLDhEQUE4RCxDQUFDO2dCQUM5RSxNQUFNLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RixNQUFNO1lBQ1IsS0FBSyxXQUFXO2dCQUNkLFlBQVksR0FBRyw4REFBOEQsQ0FBQztnQkFDOUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztnQkFDNUYsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixZQUFZLEdBQUcsaURBQWlELENBQUM7Z0JBQ2pFLE1BQU07WUFDUixLQUFLLEtBQUssQ0FBQztZQUNYLEtBQUssS0FBSztnQkFDUixZQUFZLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixNQUFLO1lBQ1AsS0FBSyxVQUFVO2dCQUNiLFlBQVksR0FBRywyREFBMkQsQ0FBQztnQkFDM0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDckYsTUFBTTtZQUNSLEtBQUssVUFBVTtnQkFDYixZQUFZLEdBQUcsMkRBQTJELENBQUM7Z0JBQzNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ3JGLE1BQUs7WUFDUDtnQkFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDN0csWUFBWSxHQUFHLGdDQUFnQyxDQUFDO2dCQUNoRCxNQUFNO1NBQ1Q7UUFFRCxPQUFPO1lBQ0wsWUFBWTtZQUNaLG9CQUFvQjtTQUNELENBQUM7SUFDeEIsQ0FBQztJQUVPLDBCQUEwQixDQUFDLElBQVk7UUFDN0MsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLG1CQUFtQixDQUFDO1lBQ3pCLEtBQUssMEJBQTBCLENBQUM7WUFDaEMsS0FBSyxRQUFRO2dCQUNYLE9BQU8sUUFBUSxDQUFDO1lBQ2xCO2dCQUNFLE9BQU8sT0FBTyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzs7MEhBNUdVLDRCQUE0Qjs4SEFBNUIsNEJBQTRCLGNBRjNCLE1BQU07NEZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgVHJhbnNsYXRpb25TZXJ2aWNlLCBaRmllbGQsIFpHcm91cCwgWkNvbXBvbmVudEhlbHBlciB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiwgdGFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFcnJvckhhbmRsZXJTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSkgeyB9XHJcblxyXG4gIHB1YmxpYyBzaG93Rm9ybUdyb3VwRXJyb3JNZXNzYWdlKGdyb3VwOiBaR3JvdXAsIGZvcm1Hcm91cD86IEZvcm1Hcm91cCkge1xyXG4gICAgZm9ybUdyb3VwID0gZm9ybUdyb3VwIHx8IGdyb3VwLmZvcm07XHJcblxyXG4gICAgb2YodGhpcy5nZXRFcnJvck1lc3NhZ2VGb3JJbnZhbGlkSW5wdXQoZ3JvdXAsIGZvcm1Hcm91cCkpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgoZXJyTWVzc2FnZVRyYW5zbGF0aW9uSW5wdXQpID0+IHtcclxuICAgICAgICBjb25zdCBvYnMgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PigpO1xyXG4gICAgICAgIGVyck1lc3NhZ2VUcmFuc2xhdGlvbklucHV0LmZvckVhY2goZGF0YSA9PiB7XHJcbiAgICAgICAgICBvYnMucHVzaCh0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlVGV4dChkYXRhLmVycm9yTWVzc2FnZSwgeyB0cmFuc2xhdGlvblZhcmlhYmxlczogZGF0YS50cmFuc2xhdGlvblZhcmlhYmxlcyB9KSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICByZXR1cm4gZm9ya0pvaW4ob2JzKTtcclxuICAgICAgfSksXHJcbiAgICAgIHRhcChmaWVsZEVycm9yTWVzc2FnZXMgPT4ge1xyXG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGZpZWxkRXJyb3JNZXNzYWdlcy5qb2luKFwiPGJyLz5cIik7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd09rYXkoJ0Zvcm0gdmFsaWRhdGlvbiBmYWlsZWQnLCBlcnJvck1lc3NhZ2UsIFsnY29sLTQnXSk7XHJcbiAgICAgICAgY29uc29sZS53YXJuKFwiRm9ybSBWYWxpZGF0aW9uIGdvdCBlcnJvcihzKTpcIiwgZXJyb3JNZXNzYWdlKTtcclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlRm9ySW52YWxpZElucHV0KGdyb3VwOiBaR3JvdXAsIGZvcm1Hcm91cD86IEZvcm1Hcm91cCwgY29udHJvbE5hbWU/OiBzdHJpbmcpOiBBcnJheTxUcmFuc2xhdGlvbklucHV0PiB7XHJcbiAgICBmb3JtR3JvdXAgPSBmb3JtR3JvdXAgfHwgZ3JvdXAuZm9ybTtcclxuXHJcbiAgICBpZiAoY29udHJvbE5hbWUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZXh0cmFjdEVycm9yTWVzc2FnZUZyb21Db250cm9sKGZvcm1Hcm91cCwgY29udHJvbE5hbWUsIGdyb3VwKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgYWxsRm9ybUNvbnRyb2xFcnJvck1lc3NhZ2VzID0gbmV3IEFycmF5PFRyYW5zbGF0aW9uSW5wdXQ+KCk7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1Db250cm9sRXJyb3JNZXNzYWdlcyA9IHRoaXMuZXh0cmFjdEVycm9yTWVzc2FnZUZyb21Db250cm9sKGZvcm1Hcm91cCwga2V5LCBncm91cCk7XHJcbiAgICAgIGFsbEZvcm1Db250cm9sRXJyb3JNZXNzYWdlcyA9IGFsbEZvcm1Db250cm9sRXJyb3JNZXNzYWdlcy5jb25jYXQoZm9ybUNvbnRyb2xFcnJvck1lc3NhZ2VzKTtcclxuICAgIH1cclxuICAgIHJldHVybiBhbGxGb3JtQ29udHJvbEVycm9yTWVzc2FnZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RFcnJvck1lc3NhZ2VGcm9tQ29udHJvbChmb3JtR3JvdXA6IEZvcm1Hcm91cCwga2V5OiBzdHJpbmcsIGdyb3VwOiBaR3JvdXApOiBBcnJheTxUcmFuc2xhdGlvbklucHV0PiB7XHJcbiAgICBjb25zdCBlcnJvck1zZ0FyciA9IG5ldyBBcnJheTxUcmFuc2xhdGlvbklucHV0PigpO1xyXG4gICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoa2V5KTtcclxuICAgIGNvbnN0IGNvbnRyb2xFcnJvcnMgPSBjb250cm9sPy5lcnJvcnM7XHJcblxyXG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbEVycm9ycykge1xyXG4gICAgICBjb25zdCBlcnJvclR5cGVzID0gT2JqZWN0LmtleXMoY29udHJvbEVycm9ycyk7XHJcbiAgICAgIGZvciAoY29uc3QgZXJyb3JUeXBlIG9mIGVycm9yVHlwZXMpIHtcclxuICAgICAgICBjb25zdCBlcnJNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2VCeUVycm9yVHlwZShlcnJvclR5cGUsIGtleSwgZ3JvdXAuZmllbGRzLCBjb250cm9sRXJyb3JzKTtcclxuICAgICAgICBpZiAoZXJyTWVzc2FnZS5lcnJvck1lc3NhZ2UpIHtcclxuICAgICAgICAgIGVycm9yTXNnQXJyLnB1c2goZXJyTWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBlcnJvck1zZ0FycjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RXJyb3JNZXNzYWdlQnlFcnJvclR5cGUoZXJyb3JUeXBlOiBhbnksIGNvbnRyb2xOYW1lOiBzdHJpbmcsIGZpZWxkczogWkZpZWxkW10sIGVycm9yRGV0YWlsOiBhbnkpOiBUcmFuc2xhdGlvbklucHV0IHtcclxuICAgIGNvbnN0IGZpZWxkID0gWkNvbXBvbmVudEhlbHBlci5nZXRGaWVsZEZyb21GaWVsZHNCeVZhbHVlKGZpZWxkcywgY29udHJvbE5hbWUpO1xyXG4gICAgbGV0IGVycm9yTWVzc2FnZSA9IFwiXCI7XHJcbiAgICBjb25zdCB0cmFuc2xhdGlvblZhcmlhYmxlcyA9IHsgVF9GaWVsZE5hbWU6IFpDb21wb25lbnRIZWxwZXIuZ2V0RmllbGRMYWJlbChmaWVsZHMsIGNvbnRyb2xOYW1lKSB9O1xyXG4gICAgc3dpdGNoIChlcnJvclR5cGUpIHtcclxuICAgICAgY2FzZSAncmVxdWlyZWQnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGAke3RoaXMuZ2V0RXJyb3JNc2dBY3Rpb25fUmVxdWlyZWQoZmllbGQuVHlwZSl9IHRoZSB7e1RfRmllbGROYW1lfX1gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtaW5sZW5ndGgnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGB7e1RfRmllbGROYW1lfX0gbXVzdCBiZSBtb3JlIHRoYW4ge3tUX01pbkxlbmd0aH19IGNoYXJhY3RlcnNgO1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odHJhbnNsYXRpb25WYXJpYWJsZXMsIHsgVF9NaW5MZW5ndGg6IGVycm9yRGV0YWlsW2Vycm9yVHlwZV0ucmVxdWlyZWRMZW5ndGggfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21heGxlbmd0aCc6XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYHt7VF9GaWVsZE5hbWV9fSBtdXN0IGJlIGxlc3MgdGhhbiB7e1RfTWF4TGVuZ3RofX0gY2hhcmFjdGVyc2A7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0cmFuc2xhdGlvblZhcmlhYmxlcywgeyBUX01heExlbmd0aDogZXJyb3JEZXRhaWxbZXJyb3JUeXBlXS5yZXF1aXJlZExlbmd0aCB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZW1haWwnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGBFbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MgZm9yIHt7VF9GaWVsZE5hbWV9fWA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21pbic6IFxyXG4gICAgICBjYXNlICdtYXgnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9ICcnO1xyXG4gICAgICAgIGJyZWFrXHJcbiAgICAgIGNhc2UgJ21pbkVycm9yJzpcclxuICAgICAgICBlcnJvck1lc3NhZ2UgPSBge3tUX0ZpZWxkTmFtZX19IG11c3QgYmUgZXF1YWwgb3IgbW9yZSB0aGFuIHt7VF9NaW5WYWx1ZX19YDtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRyYW5zbGF0aW9uVmFyaWFibGVzLCB7IFRfTWluVmFsdWU6IGVycm9yRGV0YWlsW2Vycm9yVHlwZV0ubWluVmFsdWUgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21heEVycm9yJzpcclxuICAgICAgICBlcnJvck1lc3NhZ2UgPSBge3tUX0ZpZWxkTmFtZX19IG11c3QgYmUgZXF1YWwgb3IgbGVzcyB0aGFuIHt7VF9NYXhWYWx1ZX19YDtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRyYW5zbGF0aW9uVmFyaWFibGVzLCB7IFRfTWF4VmFsdWU6IGVycm9yRGV0YWlsW2Vycm9yVHlwZV0ubWF4VmFsdWUgfSk7XHJcbiAgICAgICAgYnJlYWtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBjb25zb2xlLndhcm4oYEZpZWxkIEVycm9yIGlzIG5vdCBwcm9wZXJseSBoYW5kbGVkIDogJHtaQ29tcG9uZW50SGVscGVyLmdldEZpZWxkTGFiZWwoZmllbGRzLCBjb250cm9sTmFtZSl9YCk7XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYEludmFsaWQgRmllbGQ6IHt7VF9GaWVsZE5hbWV9fWA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZXJyb3JNZXNzYWdlLFxyXG4gICAgICB0cmFuc2xhdGlvblZhcmlhYmxlc1xyXG4gICAgfSBhcyBUcmFuc2xhdGlvbklucHV0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFcnJvck1zZ0FjdGlvbl9SZXF1aXJlZCh0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3p1aXNlbGVjdG11bHRpcGxlJzpcclxuICAgICAgY2FzZSAnenVpc2VsZWN0bXVsdGlwbGVfYnV0dG9uJzpcclxuICAgICAgY2FzZSAnc2VsZWN0JzpcclxuICAgICAgICByZXR1cm4gXCJDaG9vc2VcIjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gXCJFbnRlclwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbklucHV0IHtcclxuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICB0cmFuc2xhdGlvblZhcmlhYmxlcz86IGFueTtcclxufVxyXG4iXX0=
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3NlcnZpY2VzL2NvbXBvbmVudC1lcnJvci1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFvRCxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUtoRSxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLFlBQW9CLFlBQTBCLEVBQVUsa0JBQXNDO1FBQTFFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFJLENBQUM7SUFFNUYseUJBQXlCLENBQUMsS0FBYSxFQUFFLFNBQXFCO1FBQ25FLFNBQVMsR0FBRyxTQUFTLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztRQUVwQyxFQUFFLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDNUQsU0FBUyxDQUFDLENBQUMsMEJBQTBCLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBbUIsQ0FBQztZQUN6QywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMs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QVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ3JGLE1BQUs7WUFDUDtnQkFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDN0csWUFBWSxHQUFHLGdDQUFnQyxDQUFDO2dCQUNoRCxNQUFNO1NBQ1Q7UUFFRCxPQUFPO1lBQ0wsWUFBWTtZQUNaLG9CQUFvQjtTQUNELENBQUM7SUFDeEIsQ0FBQztJQUVPLDBCQUEwQixDQUFDLElBQVk7UUFDN0MsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLG1CQUFtQixDQUFDO1lBQ3pCLEtBQUssMEJBQTBCLENBQUM7WUFDaEMsS0FBSyxRQUFRO2dCQUNYLE9BQU8sUUFBUSxDQUFDO1lBQ2xCO2dCQUNFLE9BQU8sT0FBTyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzs7MEhBcEhVLDRCQUE0Qjs4SEFBNUIsNEJBQTRCLGNBRjNCLE1BQU07NEZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgVHJhbnNsYXRpb25TZXJ2aWNlLCBaRmllbGQsIFpHcm91cCwgWkNvbXBvbmVudEhlbHBlciB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiwgdGFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFcnJvckhhbmRsZXJTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSkgeyB9XHJcblxyXG4gIHB1YmxpYyBzaG93Rm9ybUdyb3VwRXJyb3JNZXNzYWdlKGdyb3VwOiBaR3JvdXAsIGZvcm1Hcm91cD86IEZvcm1Hcm91cCkge1xyXG4gICAgZm9ybUdyb3VwID0gZm9ybUdyb3VwIHx8IGdyb3VwLmZvcm07XHJcblxyXG4gICAgb2YodGhpcy5nZXRFcnJvck1lc3NhZ2VGb3JJbnZhbGlkSW5wdXQoZ3JvdXAsIGZvcm1Hcm91cCkpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgoZXJyTWVzc2FnZVRyYW5zbGF0aW9uSW5wdXQpID0+IHtcclxuICAgICAgICBjb25zdCBvYnMgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PigpO1xyXG4gICAgICAgIGVyck1lc3NhZ2VUcmFuc2xhdGlvbklucHV0LmZvckVhY2goZGF0YSA9PiB7XHJcbiAgICAgICAgICBvYnMucHVzaCh0aGlzLnRyYW5zbGF0aW9uU2VydmljZS4kdHJhbnNsYXRlVGV4dChkYXRhLmVycm9yTWVzc2FnZSwgeyB0cmFuc2xhdGlvblZhcmlhYmxlczogZGF0YS50cmFuc2xhdGlvblZhcmlhYmxlcyB9KSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICByZXR1cm4gZm9ya0pvaW4ob2JzKTtcclxuICAgICAgfSksXHJcbiAgICAgIHRhcChmaWVsZEVycm9yTWVzc2FnZXMgPT4ge1xyXG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGZpZWxkRXJyb3JNZXNzYWdlcy5qb2luKFwiPGJyLz5cIik7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd09rYXkoJ0Zvcm0gdmFsaWRhdGlvbiBmYWlsZWQnLCBlcnJvck1lc3NhZ2UsIFsnY29sLTQnXSk7XHJcbiAgICAgICAgY29uc29sZS53YXJuKFwiRm9ybSBWYWxpZGF0aW9uIGdvdCBlcnJvcihzKTpcIiwgZXJyb3JNZXNzYWdlKTtcclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlRm9ySW52YWxpZElucHV0KGdyb3VwOiBaR3JvdXAsIGZvcm1Hcm91cD86IEZvcm1Hcm91cCwgY29udHJvbE5hbWU/OiBzdHJpbmcpOiBBcnJheTxUcmFuc2xhdGlvbklucHV0PiB7XHJcbiAgICBmb3JtR3JvdXAgPSBmb3JtR3JvdXAgfHwgZ3JvdXAuZm9ybTtcclxuXHJcbiAgICBpZiAoY29udHJvbE5hbWUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZXh0cmFjdEVycm9yTWVzc2FnZUZyb21Db250cm9sKGZvcm1Hcm91cCwgY29udHJvbE5hbWUsIGdyb3VwKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgYWxsRm9ybUNvbnRyb2xFcnJvck1lc3NhZ2VzID0gbmV3IEFycmF5PFRyYW5zbGF0aW9uSW5wdXQ+KCk7XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1Db250cm9sRXJyb3JNZXNzYWdlcyA9IHRoaXMuZXh0cmFjdEVycm9yTWVzc2FnZUZyb21Db250cm9sKGZvcm1Hcm91cCwga2V5LCBncm91cCk7XHJcbiAgICAgIGFsbEZvcm1Db250cm9sRXJyb3JNZXNzYWdlcyA9IGFsbEZvcm1Db250cm9sRXJyb3JNZXNzYWdlcy5jb25jYXQoZm9ybUNvbnRyb2xFcnJvck1lc3NhZ2VzKTtcclxuICAgIH1cclxuICAgIHJldHVybiBhbGxGb3JtQ29udHJvbEVycm9yTWVzc2FnZXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RFcnJvck1lc3NhZ2VGcm9tQ29udHJvbChmb3JtR3JvdXA6IEZvcm1Hcm91cCwga2V5OiBzdHJpbmcsIGdyb3VwOiBaR3JvdXApOiBBcnJheTxUcmFuc2xhdGlvbklucHV0PiB7XHJcbiAgICBjb25zdCBlcnJvck1zZ0FyciA9IG5ldyBBcnJheTxUcmFuc2xhdGlvbklucHV0PigpO1xyXG4gICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoa2V5KTtcclxuICAgIGNvbnN0IGNvbnRyb2xFcnJvcnMgPSBjb250cm9sPy5lcnJvcnM7XHJcblxyXG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbEVycm9ycykge1xyXG4gICAgICBjb25zdCBlcnJvclR5cGVzID0gT2JqZWN0LmtleXMoY29udHJvbEVycm9ycyk7XHJcbiAgICAgIGZvciAoY29uc3QgZXJyb3JUeXBlIG9mIGVycm9yVHlwZXMpIHtcclxuICAgICAgICBsZXQgZXJyTWVzc2FnZSA9IG51bGw7XHJcbiAgICAgICAgaWYgKGtleS5pbmNsdWRlcygnenVkZl8nKSkge1xyXG4gICAgICAgICAgY29uc3QgenVkZkNvbnRhaW5lclNjb3BlID0gWkNvbXBvbmVudEhlbHBlci5nZXRadWRmQ29udGFpbmVyU2NvcGUoZ3JvdXAsIGtleSk7XHJcbiAgICAgICAgICBlcnJNZXNzYWdlID0gdGhpcy5nZXRFcnJvck1lc3NhZ2VCeUVycm9yVHlwZShlcnJvclR5cGUsIGtleSwgenVkZkNvbnRhaW5lclNjb3BlLmZpZWxkcywgY29udHJvbEVycm9ycyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgZXJyTWVzc2FnZSA9IHRoaXMuZ2V0RXJyb3JNZXNzYWdlQnlFcnJvclR5cGUoZXJyb3JUeXBlLCBrZXksIGdyb3VwLmZpZWxkcywgY29udHJvbEVycm9ycyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZXJyTWVzc2FnZS5lcnJvck1lc3NhZ2UpIHtcclxuICAgICAgICAgIGVycm9yTXNnQXJyLnB1c2goZXJyTWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBlcnJvck1zZ0FycjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RXJyb3JNZXNzYWdlQnlFcnJvclR5cGUoZXJyb3JUeXBlOiBhbnksIGNvbnRyb2xOYW1lOiBzdHJpbmcsIGZpZWxkczogWkZpZWxkW10sIGVycm9yRGV0YWlsOiBhbnkpOiBUcmFuc2xhdGlvbklucHV0IHtcclxuICAgIGNvbnN0IGZpZWxkID0gWkNvbXBvbmVudEhlbHBlci5nZXRGaWVsZEZyb21GaWVsZHNCeVZhbHVlKGZpZWxkcywgY29udHJvbE5hbWUpO1xyXG4gICAgbGV0IGVycm9yTWVzc2FnZSA9IFwiXCI7XHJcbiAgICBjb25zdCB0cmFuc2xhdGlvblZhcmlhYmxlcyA9IHsgVF9GaWVsZE5hbWU6IFpDb21wb25lbnRIZWxwZXIuZ2V0RmllbGRMYWJlbChmaWVsZHMsIGNvbnRyb2xOYW1lKSB9O1xyXG4gICAgc3dpdGNoIChlcnJvclR5cGUpIHtcclxuICAgICAgY2FzZSAncmVxdWlyZWQnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGAke3RoaXMuZ2V0RXJyb3JNc2dBY3Rpb25fUmVxdWlyZWQoZmllbGQuVHlwZSl9IHRoZSB7e1RfRmllbGROYW1lfX1gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtaW5sZW5ndGgnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGB7e1RfRmllbGROYW1lfX0gbXVzdCBiZSBtb3JlIHRoYW4ge3tUX01pbkxlbmd0aH19IGNoYXJhY3RlcnNgO1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odHJhbnNsYXRpb25WYXJpYWJsZXMsIHsgVF9NaW5MZW5ndGg6IGVycm9yRGV0YWlsW2Vycm9yVHlwZV0ucmVxdWlyZWRMZW5ndGggfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21heGxlbmd0aCc6XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gYHt7VF9GaWVsZE5hbWV9fSBtdXN0IGJlIGxlc3MgdGhhbiB7e1RfTWF4TGVuZ3RofX0gY2hhcmFjdGVyc2A7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0cmFuc2xhdGlvblZhcmlhYmxlcywgeyBUX01heExlbmd0aDogZXJyb3JEZXRhaWxbZXJyb3JUeXBlXS5yZXF1aXJlZExlbmd0aCB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZW1haWwnOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGBFbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MgZm9yIHt7VF9GaWVsZE5hbWV9fWA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21pbic6XHJcbiAgICAgIGNhc2UgJ21heCc6XHJcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gJyc7XHJcbiAgICAgICAgYnJlYWtcclxuICAgICAgY2FzZSAnbWluRXJyb3InOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGB7e1RfRmllbGROYW1lfX0gbXVzdCBiZSBlcXVhbCBvciBtb3JlIHRoYW4ge3tUX01pblZhbHVlfX1gO1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odHJhbnNsYXRpb25WYXJpYWJsZXMsIHsgVF9NaW5WYWx1ZTogZXJyb3JEZXRhaWxbZXJyb3JUeXBlXS5taW5WYWx1ZSB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbWF4RXJyb3InOlxyXG4gICAgICAgIGVycm9yTWVzc2FnZSA9IGB7e1RfRmllbGROYW1lfX0gbXVzdCBiZSBlcXVhbCBvciBsZXNzIHRoYW4ge3tUX01heFZhbHVlfX1gO1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odHJhbnNsYXRpb25WYXJpYWJsZXMsIHsgVF9NYXhWYWx1ZTogZXJyb3JEZXRhaWxbZXJyb3JUeXBlXS5tYXhWYWx1ZSB9KTtcclxuICAgICAgICBicmVha1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGNvbnNvbGUud2FybihgRmllbGQgRXJyb3IgaXMgbm90IHByb3Blcmx5IGhhbmRsZWQgOiAke1pDb21wb25lbnRIZWxwZXIuZ2V0RmllbGRMYWJlbChmaWVsZHMsIGNvbnRyb2xOYW1lKX1gKTtcclxuICAgICAgICBlcnJvck1lc3NhZ2UgPSBgSW52YWxpZCBGaWVsZDoge3tUX0ZpZWxkTmFtZX19YDtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlcnJvck1lc3NhZ2UsXHJcbiAgICAgIHRyYW5zbGF0aW9uVmFyaWFibGVzXHJcbiAgICB9IGFzIFRyYW5zbGF0aW9uSW5wdXQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEVycm9yTXNnQWN0aW9uX1JlcXVpcmVkKHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnenVpc2VsZWN0bXVsdGlwbGUnOlxyXG4gICAgICBjYXNlICd6dWlzZWxlY3RtdWx0aXBsZV9idXR0b24nOlxyXG4gICAgICBjYXNlICdzZWxlY3QnOlxyXG4gICAgICAgIHJldHVybiBcIkNob29zZVwiO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBcIkVudGVyXCI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9uSW5wdXQge1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIHRyYW5zbGF0aW9uVmFyaWFibGVzPzogYW55O1xyXG59XHJcbiJdfQ==
|
|
@@ -77,7 +77,7 @@ export class ZdatetimeComponent extends InputFieldBase {
|
|
|
77
77
|
return valueDate.toISOString();
|
|
78
78
|
}
|
|
79
79
|
if (!['zuidatetime', 'ztime', 'zuitime'].includes(this.data.Type)) {
|
|
80
|
-
return
|
|
80
|
+
return this.parseAnyValueToDateOnly(value).toISOString();
|
|
81
81
|
}
|
|
82
82
|
else {
|
|
83
83
|
return this.parseAnyValueToDate(value).toISOString();
|
|
@@ -86,6 +86,9 @@ export class ZdatetimeComponent extends InputFieldBase {
|
|
|
86
86
|
parseAnyValueToDate(value) {
|
|
87
87
|
return new Date(value instanceof Date ? value : new Date(value));
|
|
88
88
|
}
|
|
89
|
+
parseAnyValueToDateOnly(value) {
|
|
90
|
+
return new Date(this.parseAnyValueToDate(value).toLocaleDateString('en-US'));
|
|
91
|
+
}
|
|
89
92
|
}
|
|
90
93
|
ZdatetimeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZdatetimeComponent, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
94
|
ZdatetimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZdatetimeComponent, selector: "app-zdatetime", usesInheritance: true, ngImport: i0, template: "<div class=\"zdate-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n\r\n <ion-datetime *ngIf=\"isMobileScreen()\" style=\"padding: 8px 0px;\"\r\n [required]=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n [placeholder]=\"data.PlaceHolder\" [id]=\"data.Value\" [displayFormat]=\"data | dateFormatIonic\" [pickerFormat]=\"data | dateFormatIonic\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [formControlName]=\"data.Value\" [min]=\"minDate | dateMinMaxIonic\" [max]=\"maxDate | dateMinMaxIonic\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\"\r\n (ionChange)=\"onChange($event.detail.value)\">\r\n </ion-datetime>\r\n <div class=\"dateTimeDesktopContainer\" *ngIf=\"!isMobileScreen()\" [ngSwitch]=\"data.Type\">\r\n <kendo-datepicker *ngSwitchCase=\"'zshortdate'\" [id]=\"data.Value\" [value]=\"form.get(data.Value).value | dateParser : data\"\r\n (valueChange)=\"onChange($event)\" [min]=\"minDate\" [max]=\"maxDate\" [activeView]=\"'year'\"\r\n [bottomView]=\"'year'\" class=\"input-field e1tag-style1\" [steps]=\"stepValue\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"data | dateFormatKendo\" [placeholder]=\"data.PlaceHolder\" [style]=\"componentProperties.style.style1\">\r\n </kendo-datepicker>\r\n <kendo-datetimepicker *ngSwitchCase=\"'zuidatetime'\" [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser : data\" (valueChange)=\"onChange($event)\" [min]=\"minDate\" [max]=\"maxDate\"\r\n class=\"input-field e1tag-style1\" [steps]=\"stepValue\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"data | dateFormatKendo\" [placeholder]=\"data.PlaceHolder\" [style]=\"componentProperties.style.style1\">\r\n </kendo-datetimepicker>\r\n <kendo-timepicker *ngSwitchCase=\"['ztime','zuitime'].includes(data.Type) ? data.Type : ''\" [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser : data\" (valueChange)=\"onChange($event)\" [min]=\"minDate\" [max]=\"maxDate\"\r\n class=\"input-field e1tag-style1\"\r\n [steps]=\"stepValue\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"data | dateFormatKendo\" [placeholder]=\"data.PlaceHolder\" [style]=\"componentProperties.style.style1\">\r\n </kendo-timepicker>\r\n <kendo-datepicker *ngSwitchDefault [id]=\"data.Value\" [value]=\"form.get(data.Value).value | dateParser : data\"\r\n (valueChange)=\"onChange($event)\" [min]=\"minDate\" [max]=\"maxDate\" class=\"input-field e1tag-style1\" [steps]=\"stepValue\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"data | dateFormatKendo\" [placeholder]=\"data.PlaceHolder\" [style]=\"componentProperties.style.style1\">\r\n </kendo-datepicker>\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [".gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.k-datepicker{color:var(--z-text-color)}:host ::ng-deep kendo-dateinput{font-size:var(--content-font-size)}:host ::ng-deep kendo-dateinput .k-picker-wrap .k-dateinput .k-dateinput-wrap{margin:auto}:host ::ng-deep kendo-datetimepicker .k-picker-wrap .k-dateinput .k-dateinput-wrap,:host ::ng-deep kendo-datepicker .k-picker-wrap .k-dateinput .k-dateinput-wrap,:host ::ng-deep kendo-timepicker .k-picker-wrap .k-dateinput .k-dateinput-wrap{margin:auto}:host ::ng-deep kendo-datetimepicker.disabled .k-picker-wrap,:host ::ng-deep kendo-datetimepicker.disabled .k-dateinput .k-dateinput-wrap,:host ::ng-deep kendo-datepicker.disabled .k-picker-wrap,:host ::ng-deep kendo-datepicker.disabled .k-dateinput .k-dateinput-wrap,:host ::ng-deep kendo-timepicker.disabled .k-picker-wrap,:host ::ng-deep kendo-timepicker.disabled .k-dateinput .k-dateinput-wrap{background:transparent!important}:host ::ng-deep kendo-datetimepicker:focus-within,:host ::ng-deep kendo-datepicker:focus-within,:host ::ng-deep kendo-timepicker:focus-within{box-shadow:0 0 3px 1px var(--ion-color-primary)}\n"], components: [{ type: i2.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "name", "presentation", "readonly", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "value", "yearValues"] }, { type: i3.DatePickerComponent, selector: "kendo-datepicker", inputs: ["cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i3.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i3.TimePickerComponent, selector: "kendo-timepicker", inputs: ["disabled", "readonly", "readOnlyInput", "format", "formatPlaceholder", "placeholder", "min", "max", "incompleteDateValidation", "cancelButton", "nowButton", "steps", "popupSettings", "tabindex", "tabIndex", "title", "rangeValidation", "value", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-timepicker"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.SelectValueAccessor, selector: "ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime" }, { type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "dateFormatIonic": i6.DateIonicFormatParser, "dateMinMaxIonic": i7.DateIonicMinMaxParser, "dateParser": i8.DateParserFilter, "dateFormatKendo": i9.DateKendoFormatParser } });
|
|
@@ -93,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
93
96
|
type: Component,
|
|
94
97
|
args: [{ selector: "app-zdatetime", template: "<div class=\"zdate-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n\r\n <ion-datetime *ngIf=\"isMobileScreen()\" style=\"padding: 8px 0px;\"\r\n [required]=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\"\r\n [placeholder]=\"data.PlaceHolder\" [id]=\"data.Value\" [displayFormat]=\"data | dateFormatIonic\" [pickerFormat]=\"data | dateFormatIonic\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [formControlName]=\"data.Value\" [min]=\"minDate | dateMinMaxIonic\" [max]=\"maxDate | dateMinMaxIonic\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\"\r\n (ionChange)=\"onChange($event.detail.value)\">\r\n </ion-datetime>\r\n <div class=\"dateTimeDesktopContainer\" *ngIf=\"!isMobileScreen()\" [ngSwitch]=\"data.Type\">\r\n <kendo-datepicker *ngSwitchCase=\"'zshortdate'\" [id]=\"data.Value\" [value]=\"form.get(data.Value).value | dateParser : data\"\r\n (valueChange)=\"onChange($event)\" [min]=\"minDate\" [max]=\"maxDate\" [activeView]=\"'year'\"\r\n [bottomView]=\"'year'\" class=\"input-field e1tag-style1\" [steps]=\"stepValue\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"data | dateFormatKendo\" [placeholder]=\"data.PlaceHolder\" [style]=\"componentProperties.style.style1\">\r\n </kendo-datepicker>\r\n <kendo-datetimepicker *ngSwitchCase=\"'zuidatetime'\" [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser : data\" (valueChange)=\"onChange($event)\" [min]=\"minDate\" [max]=\"maxDate\"\r\n class=\"input-field e1tag-style1\" [steps]=\"stepValue\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"data | dateFormatKendo\" [placeholder]=\"data.PlaceHolder\" [style]=\"componentProperties.style.style1\">\r\n </kendo-datetimepicker>\r\n <kendo-timepicker *ngSwitchCase=\"['ztime','zuitime'].includes(data.Type) ? data.Type : ''\" [id]=\"data.Value\"\r\n [value]=\"form.get(data.Value).value | dateParser : data\" (valueChange)=\"onChange($event)\" [min]=\"minDate\" [max]=\"maxDate\"\r\n class=\"input-field e1tag-style1\"\r\n [steps]=\"stepValue\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"data | dateFormatKendo\" [placeholder]=\"data.PlaceHolder\" [style]=\"componentProperties.style.style1\">\r\n </kendo-timepicker>\r\n <kendo-datepicker *ngSwitchDefault [id]=\"data.Value\" [value]=\"form.get(data.Value).value | dateParser : data\"\r\n (valueChange)=\"onChange($event)\" [min]=\"minDate\" [max]=\"maxDate\" class=\"input-field e1tag-style1\" [steps]=\"stepValue\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [format]=\"data | dateFormatKendo\" [placeholder]=\"data.PlaceHolder\" [style]=\"componentProperties.style.style1\">\r\n </kendo-datepicker>\r\n </div>\r\n</div>\r\n\r\n\r\n", styles: [".gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.k-datepicker{color:var(--z-text-color)}:host ::ng-deep kendo-dateinput{font-size:var(--content-font-size)}:host ::ng-deep kendo-dateinput .k-picker-wrap .k-dateinput .k-dateinput-wrap{margin:auto}:host ::ng-deep kendo-datetimepicker .k-picker-wrap .k-dateinput .k-dateinput-wrap,:host ::ng-deep kendo-datepicker .k-picker-wrap .k-dateinput .k-dateinput-wrap,:host ::ng-deep kendo-timepicker .k-picker-wrap .k-dateinput .k-dateinput-wrap{margin:auto}:host ::ng-deep kendo-datetimepicker.disabled .k-picker-wrap,:host ::ng-deep kendo-datetimepicker.disabled .k-dateinput .k-dateinput-wrap,:host ::ng-deep kendo-datepicker.disabled .k-picker-wrap,:host ::ng-deep kendo-datepicker.disabled .k-dateinput .k-dateinput-wrap,:host ::ng-deep kendo-timepicker.disabled .k-picker-wrap,:host ::ng-deep kendo-timepicker.disabled .k-dateinput .k-dateinput-wrap{background:transparent!important}:host ::ng-deep kendo-datetimepicker:focus-within,:host ::ng-deep kendo-datepicker:focus-within,:host ::ng-deep kendo-timepicker:focus-within{box-shadow:0 0 3px 1px var(--ion-color-primary)}\n"] }]
|
|
95
98
|
}], ctorParameters: function () { return [{ type: i1.ZComponentService }]; } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemRhdGV0aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3pkYXRldGltZS96ZGF0ZXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemRhdGV0aW1lL3pkYXRldGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCw2QkFBNkI7QUFFN0IsMkNBQTJDO0FBQzNDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFReEUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFLcEQsWUFBWSxXQUE4QjtRQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUh6RCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFnQ2pCLGlCQUFZLEdBQUcsQ0FBQyxPQUFZLEVBQUUsT0FBWSxFQUFPLEVBQUU7WUFDeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbEM7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENB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QUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNyRjthQUNJO1lBQ0gsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEQ7SUFDSCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBSztRQUMvQixPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDOztnSEFqRlUsa0JBQWtCO29HQUFsQixrQkFBa0IsNEVDZi9CLHNoSUE0Q0E7NEZEN0JhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2lucHV0ZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC16ZGF0ZXRpbWVcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pkYXRldGltZS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96ZGF0ZXRpbWUuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaZGF0ZXRpbWVDb21wb25lbnQgZXh0ZW5kcyBJbnB1dEZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBtaW5EYXRlID0gbnVsbDtcclxuICBwdWJsaWMgbWF4RGF0ZSA9IG51bGw7XHJcbiAgcHVibGljIHN0ZXBWYWx1ZSA9IG51bGw7XHJcbiAgY29uc3RydWN0b3IoY29tcFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlKSB7IHN1cGVyKGNvbXBTZXJ2aWNlKSB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIuc2V0dXBJbm5lckZpZWxkKCk7XHJcbiAgICB0aGlzLnNldE1pbkFuZE1heERhdGVSYW5nZSgpO1xyXG4gICAgdGhpcy5zZXRTdGVwVmFsdWUoKTtcclxuICAgIC8vIGlmICh0aGlzLmdyb3VwLnpNb2RlbFt0aGlzLmRhdGEuVmFsdWVdKSB7XHJcbiAgICAvLyAgIHRoaXMuZGF0ZVZhbHVlID0gbmV3IERhdGUodGhpcy5ncm91cC56TW9kZWxbdGhpcy5kYXRhLlZhbHVlXSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRlVmFsdWUoKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLmRhdGEuVmFsdWVdLnZhbHVlO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLmRhdGEuVmFsdWVdO1xyXG4gICAgY29uc3QgdmFsID0gdGhpcy5jb252ZXJ0RGF0ZVRpbWVWYWx1ZVRvU3RyaW5nKHZhbHVlKTtcclxuXHJcbiAgICBpZiAoZm9ybUNvbnRyb2wpIHtcclxuICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsKTtcclxuICAgICAgZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIub25DaGFuZ2UobnVsbCwgdmFsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZXREYXRlUmFuZ2UgPSAoTWluRGF0ZTogYW55LCBNYXhEYXRlOiBhbnkpOiBhbnkgPT4ge1xyXG4gICAgaWYgKCFpc05hTihEYXRlLnBhcnNlKE1pbkRhdGUpKSkge1xyXG4gICAgICB0aGlzLm1pbkRhdGUgPSBuZXcgRGF0ZShNaW5EYXRlKTtcclxuICAgIH1cclxuICAgIGlmICghaXNOYU4oRGF0ZS5wYXJzZShNYXhEYXRlKSkpIHtcclxuICAgICAgdGhpcy5tYXhEYXRlID0gbmV3IERhdGUoTWF4RGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldE1pbkFuZE1heERhdGVSYW5nZSgpIHtcclxuICAgIGNvbnN0IG1pbkRhdGVHcm91cFZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YS5NaW5EYXRlIGFzIGFueSwgdGhpcy5ncm91cCk7XHJcbiAgICBjb25zdCBtaW5EYXRlVmFsdWUgPSBtaW5EYXRlR3JvdXBWYWx1ZSB8fCB0aGlzLmRhdGEuTWluRGF0ZTtcclxuXHJcbiAgICBjb25zdCBtYXhEYXRlR3JvdXBWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGEuTWF4RGF0ZSBhcyBhbnksIHRoaXMuZ3JvdXApO1xyXG4gICAgY29uc3QgbWF4RGF0ZVZhbHVlID0gbWF4RGF0ZUdyb3VwVmFsdWUgfHwgdGhpcy5kYXRhLk1heERhdGU7XHJcbiAgICB0aGlzLlNldERhdGVSYW5nZShtaW5EYXRlVmFsdWUsIG1heERhdGVWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFN0ZXBWYWx1ZSgpIHtcclxuICAgIGNvbnN0IHN0ZXBWYWx1ZUdyb3VwVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhLlN0ZXBWYWx1ZSBhcyBhbnksIHRoaXMuZ3JvdXApO1xyXG4gICAgdGhpcy5zdGVwVmFsdWUgPSBzdGVwVmFsdWVHcm91cFZhbHVlIHx8IHRoaXMuZGF0YS5TdGVwVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnZlcnREYXRlVGltZVZhbHVlVG9TdHJpbmcodmFsdWU6IGFueSk6IGFueSB7XHJcbiAgICBpZiAodmFsdWUgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5Jc0lnbm9yZVRpbWVab25lKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlRGF0ZSA9IHZhbHVlIGFzIERhdGU7XHJcbiAgICAgIGNvbnN0IHRpbWV6b25lT2ZmU2V0ID0gbmV3IERhdGUodmFsdWUpLmdldFRpbWV6b25lT2Zmc2V0KCk7XHJcbiAgICAgIHZhbHVlRGF0ZS5zZXRNaW51dGVzKHZhbHVlRGF0ZS5nZXRNaW51dGVzKCkgKyAoLXRpbWV6b25lT2ZmU2V0KSk7XHJcbiAgICAgIHJldHVybiB2YWx1ZURhdGUudG9JU09TdHJpbmcoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIVsnenVpZGF0ZXRpbWUnLCAnenRpbWUnLCAnenVpdGltZSddLmluY2x1ZGVzKHRoaXMuZGF0YS5UeXBlKSkge1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUodGhpcy5wYXJzZUFueVZhbHVlVG9EYXRlKHZhbHVlKS50b0xvY2FsZURhdGVTdHJpbmcoKSkudG9JU09TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5wYXJzZUFueVZhbHVlVG9EYXRlKHZhbHVlKS50b0lTT1N0cmluZygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZUFueVZhbHVlVG9EYXRlKHZhbHVlKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUodmFsdWUgaW5zdGFuY2VvZiBEYXRlID8gdmFsdWUgOiBuZXcgRGF0ZSh2YWx1ZSkpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiemRhdGUtY29udGFpbmVyIGUxdGFnLXN0eWxlXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGVcIj5cclxuXHJcbiAgPGlvbi1kYXRldGltZSAqbmdJZj1cImlzTW9iaWxlU2NyZWVuKClcIiBzdHlsZT1cInBhZGRpbmc6IDhweCAwcHg7XCJcclxuICAgIFtyZXF1aXJlZF09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZEZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZClcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cImRhdGEuUGxhY2VIb2xkZXJcIiBbaWRdPVwiZGF0YS5WYWx1ZVwiIFtkaXNwbGF5Rm9ybWF0XT1cImRhdGEgfCBkYXRlRm9ybWF0SW9uaWNcIiBbcGlja2VyRm9ybWF0XT1cImRhdGEgfCBkYXRlRm9ybWF0SW9uaWNcIlxyXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImRhdGEuVmFsdWVcIiBbbWluXT1cIm1pbkRhdGUgfCBkYXRlTWluTWF4SW9uaWNcIiBbbWF4XT1cIm1heERhdGUgfCBkYXRlTWluTWF4SW9uaWNcIlxyXG4gICAgW3JlYWRvbmx5XT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTFcIiBjbGFzcz1cImUxdGFnLXN0eWxlMVwiXHJcbiAgICAoaW9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudC5kZXRhaWwudmFsdWUpXCI+XHJcbiAgPC9pb24tZGF0ZXRpbWU+XHJcbiAgPGRpdiBjbGFzcz1cImRhdGVUaW1lRGVza3RvcENvbnRhaW5lclwiICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKClcIiBbbmdTd2l0Y2hdPVwiZGF0YS5UeXBlXCI+XHJcbiAgICA8a2VuZG8tZGF0ZXBpY2tlciAqbmdTd2l0Y2hDYXNlPVwiJ3pzaG9ydGRhdGUnXCIgW2lkXT1cImRhdGEuVmFsdWVcIiBbdmFsdWVdPVwiZm9ybS5nZXQoZGF0YS5WYWx1ZSkudmFsdWUgfCBkYXRlUGFyc2VyIDogZGF0YVwiXHJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCIgW21pbl09XCJtaW5EYXRlXCIgW21heF09XCJtYXhEYXRlXCIgW2FjdGl2ZVZpZXddPVwiJ3llYXInXCJcclxuICAgICAgW2JvdHRvbVZpZXddPVwiJ3llYXInXCIgY2xhc3M9XCJpbnB1dC1maWVsZCBlMXRhZy1zdHlsZTFcIiBbc3RlcHNdPVwic3RlcFZhbHVlXCJcclxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICBbZm9ybWF0XT1cImRhdGEgfCBkYXRlRm9ybWF0S2VuZG9cIiBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiPlxyXG4gICAgPC9rZW5kby1kYXRlcGlja2VyPlxyXG4gICAgPGtlbmRvLWRhdGV0aW1lcGlja2VyICpuZ1N3aXRjaENhc2U9XCInenVpZGF0ZXRpbWUnXCIgW2lkXT1cImRhdGEuVmFsdWVcIlxyXG4gICAgICBbdmFsdWVdPVwiZm9ybS5nZXQoZGF0YS5WYWx1ZSkudmFsdWUgfCBkYXRlUGFyc2VyIDogZGF0YVwiICh2YWx1ZUNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCIgW21pbl09XCJtaW5EYXRlXCIgW21heF09XCJtYXhEYXRlXCJcclxuICAgICAgY2xhc3M9XCJpbnB1dC1maWVsZCBlMXRhZy1zdHlsZTFcIiBbc3RlcHNdPVwic3RlcFZhbHVlXCJcclxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICBbZm9ybWF0XT1cImRhdGEgfCBkYXRlRm9ybWF0S2VuZG9cIiBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiPlxyXG4gICAgPC9rZW5kby1kYXRldGltZXBpY2tlcj5cclxuICAgIDxrZW5kby10aW1lcGlja2VyICpuZ1N3aXRjaENhc2U9XCJbJ3p0aW1lJywnenVpdGltZSddLmluY2x1ZGVzKGRhdGEuVHlwZSkgPyBkYXRhLlR5cGUgOiAnJ1wiIFtpZF09XCJkYXRhLlZhbHVlXCJcclxuICAgICAgW3ZhbHVlXT1cImZvcm0uZ2V0KGRhdGEuVmFsdWUpLnZhbHVlIHwgZGF0ZVBhcnNlciA6IGRhdGFcIiAodmFsdWVDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiIFttaW5dPVwibWluRGF0ZVwiIFttYXhdPVwibWF4RGF0ZVwiXHJcbiAgICAgIGNsYXNzPVwiaW5wdXQtZmllbGQgZTF0YWctc3R5bGUxXCJcclxuICAgICAgW3N0ZXBzXT1cInN0ZXBWYWx1ZVwiXHJcbiAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICBbcmVhZG9ubHldPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgW2Zvcm1hdF09XCJkYXRhIHwgZGF0ZUZvcm1hdEtlbmRvXCIgW3BsYWNlaG9sZGVyXT1cImRhdGEuUGxhY2VIb2xkZXJcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTFcIj5cclxuICAgIDwva2VuZG8tdGltZXBpY2tlcj5cclxuICAgIDxrZW5kby1kYXRlcGlja2VyICpuZ1N3aXRjaERlZmF1bHQgW2lkXT1cImRhdGEuVmFsdWVcIiBbdmFsdWVdPVwiZm9ybS5nZXQoZGF0YS5WYWx1ZSkudmFsdWUgfCBkYXRlUGFyc2VyIDogZGF0YVwiXHJcbiAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCIgW21pbl09XCJtaW5EYXRlXCIgW21heF09XCJtYXhEYXRlXCIgY2xhc3M9XCJpbnB1dC1maWVsZCBlMXRhZy1zdHlsZTFcIiBbc3RlcHNdPVwic3RlcFZhbHVlXCJcclxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICBbZm9ybWF0XT1cImRhdGEgfCBkYXRlRm9ybWF0S2VuZG9cIiBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiPlxyXG4gICAgPC9rZW5kby1kYXRlcGlja2VyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG4iXX0=
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemRhdGV0aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3pkYXRldGltZS96ZGF0ZXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemRhdGV0aW1lL3pkYXRldGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCw2QkFBNkI7QUFFN0IsMkNBQTJDO0FBQzNDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFReEUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFLcEQsWUFBWSxXQUE4QjtRQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUh6RCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFnQ2pCLGlCQUFZLEdBQUcsQ0FBQyxPQUFZLEVBQUUsT0FBWSxFQUFPLEVBQUU7WUFDeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbEM7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENB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Q0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzFEO2FBQ0k7WUFDSCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0RDtJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFLO1FBQy9CLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxLQUFLO1FBQ25DLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQzs7Z0hBckZVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLDRFQ2YvQixzaElBNENBOzRGRDdCYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgSW5wdXRGaWVsZEJhc2UgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9pbnB1dGZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtemRhdGV0aW1lXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi96ZGF0ZXRpbWUuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vemRhdGV0aW1lLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWmRhdGV0aW1lQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgbWluRGF0ZSA9IG51bGw7XHJcbiAgcHVibGljIG1heERhdGUgPSBudWxsO1xyXG4gIHB1YmxpYyBzdGVwVmFsdWUgPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yKGNvbXBTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSkgeyBzdXBlcihjb21wU2VydmljZSkgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLnNldHVwSW5uZXJGaWVsZCgpO1xyXG4gICAgdGhpcy5zZXRNaW5BbmRNYXhEYXRlUmFuZ2UoKTtcclxuICAgIHRoaXMuc2V0U3RlcFZhbHVlKCk7XHJcbiAgICAvLyBpZiAodGhpcy5ncm91cC56TW9kZWxbdGhpcy5kYXRhLlZhbHVlXSkge1xyXG4gICAgLy8gICB0aGlzLmRhdGVWYWx1ZSA9IG5ldyBEYXRlKHRoaXMuZ3JvdXAuek1vZGVsW3RoaXMuZGF0YS5WYWx1ZV0pO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0ZVZhbHVlKCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXS52YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2UodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgIGNvbnN0IHZhbCA9IHRoaXMuY29udmVydERhdGVUaW1lVmFsdWVUb1N0cmluZyh2YWx1ZSk7XHJcblxyXG4gICAgaWYgKGZvcm1Db250cm9sKSB7XHJcbiAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKHZhbCk7XHJcbiAgICAgIGZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIH1cclxuICAgIHN1cGVyLm9uQ2hhbmdlKG51bGwsIHZhbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2V0RGF0ZVJhbmdlID0gKE1pbkRhdGU6IGFueSwgTWF4RGF0ZTogYW55KTogYW55ID0+IHtcclxuICAgIGlmICghaXNOYU4oRGF0ZS5wYXJzZShNaW5EYXRlKSkpIHtcclxuICAgICAgdGhpcy5taW5EYXRlID0gbmV3IERhdGUoTWluRGF0ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWlzTmFOKERhdGUucGFyc2UoTWF4RGF0ZSkpKSB7XHJcbiAgICAgIHRoaXMubWF4RGF0ZSA9IG5ldyBEYXRlKE1heERhdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRNaW5BbmRNYXhEYXRlUmFuZ2UoKSB7XHJcbiAgICBjb25zdCBtaW5EYXRlR3JvdXBWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGEuTWluRGF0ZSBhcyBhbnksIHRoaXMuZ3JvdXApO1xyXG4gICAgY29uc3QgbWluRGF0ZVZhbHVlID0gbWluRGF0ZUdyb3VwVmFsdWUgfHwgdGhpcy5kYXRhLk1pbkRhdGU7XHJcblxyXG4gICAgY29uc3QgbWF4RGF0ZUdyb3VwVmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhLk1heERhdGUgYXMgYW55LCB0aGlzLmdyb3VwKTtcclxuICAgIGNvbnN0IG1heERhdGVWYWx1ZSA9IG1heERhdGVHcm91cFZhbHVlIHx8IHRoaXMuZGF0YS5NYXhEYXRlO1xyXG4gICAgdGhpcy5TZXREYXRlUmFuZ2UobWluRGF0ZVZhbHVlLCBtYXhEYXRlVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTdGVwVmFsdWUoKSB7XHJcbiAgICBjb25zdCBzdGVwVmFsdWVHcm91cFZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YS5TdGVwVmFsdWUgYXMgYW55LCB0aGlzLmdyb3VwKTtcclxuICAgIHRoaXMuc3RlcFZhbHVlID0gc3RlcFZhbHVlR3JvdXBWYWx1ZSB8fCB0aGlzLmRhdGEuU3RlcFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0RGF0ZVRpbWVWYWx1ZVRvU3RyaW5nKHZhbHVlOiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHZhbHVlID09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuSXNJZ25vcmVUaW1lWm9uZSkge1xyXG4gICAgICBjb25zdCB2YWx1ZURhdGUgPSB2YWx1ZSBhcyBEYXRlO1xyXG4gICAgICBjb25zdCB0aW1lem9uZU9mZlNldCA9IG5ldyBEYXRlKHZhbHVlKS5nZXRUaW1lem9uZU9mZnNldCgpO1xyXG4gICAgICB2YWx1ZURhdGUuc2V0TWludXRlcyh2YWx1ZURhdGUuZ2V0TWludXRlcygpICsgKC10aW1lem9uZU9mZlNldCkpO1xyXG4gICAgICByZXR1cm4gdmFsdWVEYXRlLnRvSVNPU3RyaW5nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFbJ3p1aWRhdGV0aW1lJywgJ3p0aW1lJywgJ3p1aXRpbWUnXS5pbmNsdWRlcyh0aGlzLmRhdGEuVHlwZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFyc2VBbnlWYWx1ZVRvRGF0ZU9ubHkodmFsdWUpLnRvSVNPU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMucGFyc2VBbnlWYWx1ZVRvRGF0ZSh2YWx1ZSkudG9JU09TdHJpbmcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VBbnlWYWx1ZVRvRGF0ZSh2YWx1ZSk6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSA/IHZhbHVlIDogbmV3IERhdGUodmFsdWUpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VBbnlWYWx1ZVRvRGF0ZU9ubHkodmFsdWUpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLnBhcnNlQW55VmFsdWVUb0RhdGUodmFsdWUpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ6ZGF0ZS1jb250YWluZXIgZTF0YWctc3R5bGVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZVwiPlxyXG5cclxuICA8aW9uLWRhdGV0aW1lICpuZ0lmPVwiaXNNb2JpbGVTY3JlZW4oKVwiIHN0eWxlPVwicGFkZGluZzogOHB4IDBweDtcIlxyXG4gICAgW3JlcXVpcmVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZEZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkKVwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiIFtpZF09XCJkYXRhLlZhbHVlXCIgW2Rpc3BsYXlGb3JtYXRdPVwiZGF0YSB8IGRhdGVGb3JtYXRJb25pY1wiIFtwaWNrZXJGb3JtYXRdPVwiZGF0YSB8IGRhdGVGb3JtYXRJb25pY1wiXHJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZGF0YS5WYWx1ZVwiIFttaW5dPVwibWluRGF0ZSB8IGRhdGVNaW5NYXhJb25pY1wiIFttYXhdPVwibWF4RGF0ZSB8IGRhdGVNaW5NYXhJb25pY1wiXHJcbiAgICBbcmVhZG9ubHldPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiIGNsYXNzPVwiZTF0YWctc3R5bGUxXCJcclxuICAgIChpb25DaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50LmRldGFpbC52YWx1ZSlcIj5cclxuICA8L2lvbi1kYXRldGltZT5cclxuICA8ZGl2IGNsYXNzPVwiZGF0ZVRpbWVEZXNrdG9wQ29udGFpbmVyXCIgKm5nSWY9XCIhaXNNb2JpbGVTY3JlZW4oKVwiIFtuZ1N3aXRjaF09XCJkYXRhLlR5cGVcIj5cclxuICAgIDxrZW5kby1kYXRlcGlja2VyICpuZ1N3aXRjaENhc2U9XCInenNob3J0ZGF0ZSdcIiBbaWRdPVwiZGF0YS5WYWx1ZVwiIFt2YWx1ZV09XCJmb3JtLmdldChkYXRhLlZhbHVlKS52YWx1ZSB8IGRhdGVQYXJzZXIgOiBkYXRhXCJcclxuICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIiBbbWluXT1cIm1pbkRhdGVcIiBbbWF4XT1cIm1heERhdGVcIiBbYWN0aXZlVmlld109XCIneWVhcidcIlxyXG4gICAgICBbYm90dG9tVmlld109XCIneWVhcidcIiBjbGFzcz1cImlucHV0LWZpZWxkIGUxdGFnLXN0eWxlMVwiIFtzdGVwc109XCJzdGVwVmFsdWVcIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgW3JlYWRvbmx5XT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgIFtmb3JtYXRdPVwiZGF0YSB8IGRhdGVGb3JtYXRLZW5kb1wiIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUxXCI+XHJcbiAgICA8L2tlbmRvLWRhdGVwaWNrZXI+XHJcbiAgICA8a2VuZG8tZGF0ZXRpbWVwaWNrZXIgKm5nU3dpdGNoQ2FzZT1cIid6dWlkYXRldGltZSdcIiBbaWRdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICAgIFt2YWx1ZV09XCJmb3JtLmdldChkYXRhLlZhbHVlKS52YWx1ZSB8IGRhdGVQYXJzZXIgOiBkYXRhXCIgKHZhbHVlQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIiBbbWluXT1cIm1pbkRhdGVcIiBbbWF4XT1cIm1heERhdGVcIlxyXG4gICAgICBjbGFzcz1cImlucHV0LWZpZWxkIGUxdGFnLXN0eWxlMVwiIFtzdGVwc109XCJzdGVwVmFsdWVcIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgW3JlYWRvbmx5XT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgIFtmb3JtYXRdPVwiZGF0YSB8IGRhdGVGb3JtYXRLZW5kb1wiIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUxXCI+XHJcbiAgICA8L2tlbmRvLWRhdGV0aW1lcGlja2VyPlxyXG4gICAgPGtlbmRvLXRpbWVwaWNrZXIgKm5nU3dpdGNoQ2FzZT1cIlsnenRpbWUnLCd6dWl0aW1lJ10uaW5jbHVkZXMoZGF0YS5UeXBlKSA/IGRhdGEuVHlwZSA6ICcnXCIgW2lkXT1cImRhdGEuVmFsdWVcIlxyXG4gICAgICBbdmFsdWVdPVwiZm9ybS5nZXQoZGF0YS5WYWx1ZSkudmFsdWUgfCBkYXRlUGFyc2VyIDogZGF0YVwiICh2YWx1ZUNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCIgW21pbl09XCJtaW5EYXRlXCIgW21heF09XCJtYXhEYXRlXCJcclxuICAgICAgY2xhc3M9XCJpbnB1dC1maWVsZCBlMXRhZy1zdHlsZTFcIlxyXG4gICAgICBbc3RlcHNdPVwic3RlcFZhbHVlXCJcclxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICBbZm9ybWF0XT1cImRhdGEgfCBkYXRlRm9ybWF0S2VuZG9cIiBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiPlxyXG4gICAgPC9rZW5kby10aW1lcGlja2VyPlxyXG4gICAgPGtlbmRvLWRhdGVwaWNrZXIgKm5nU3dpdGNoRGVmYXVsdCBbaWRdPVwiZGF0YS5WYWx1ZVwiIFt2YWx1ZV09XCJmb3JtLmdldChkYXRhLlZhbHVlKS52YWx1ZSB8IGRhdGVQYXJzZXIgOiBkYXRhXCJcclxuICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIiBbbWluXT1cIm1pbkRhdGVcIiBbbWF4XT1cIm1heERhdGVcIiBjbGFzcz1cImlucHV0LWZpZWxkIGUxdGFnLXN0eWxlMVwiIFtzdGVwc109XCJzdGVwVmFsdWVcIlxyXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgW3JlYWRvbmx5XT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgIFtmb3JtYXRdPVwiZGF0YSB8IGRhdGVGb3JtYXRLZW5kb1wiIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUxXCI+XHJcbiAgICA8L2tlbmRvLWRhdGVwaWNrZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -9,20 +9,22 @@ import { concatMap, map, tap } from "rxjs/operators";
|
|
|
9
9
|
import { ZGroup, ZComponentProperties, ZComponentHelper } from 'mmhglobal-zcore';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "mmhglobal-zcore";
|
|
12
|
-
import * as i2 from "
|
|
13
|
-
import * as i3 from "@
|
|
14
|
-
import * as i4 from "
|
|
15
|
-
import * as i5 from "
|
|
16
|
-
import * as i6 from "@angular/
|
|
17
|
-
import * as i7 from "
|
|
12
|
+
import * as i2 from "../services/component-error-handler.service";
|
|
13
|
+
import * as i3 from "@progress/kendo-angular-layout";
|
|
14
|
+
import * as i4 from "@ionic/angular";
|
|
15
|
+
import * as i5 from "../zformcontrol/zformcontrol.component";
|
|
16
|
+
import * as i6 from "@angular/common";
|
|
17
|
+
import * as i7 from "@angular/flex-layout/extended";
|
|
18
|
+
import * as i8 from "../zdiv/zdiv.pipe";
|
|
18
19
|
export class ZudfComponent {
|
|
19
|
-
constructor(alertService, authService, fieldService, resourceApiService, toastService, webApiService, cdr) {
|
|
20
|
+
constructor(alertService, authService, fieldService, resourceApiService, toastService, webApiService, componentErrorHandler, cdr) {
|
|
20
21
|
this.alertService = alertService;
|
|
21
22
|
this.authService = authService;
|
|
22
23
|
this.fieldService = fieldService;
|
|
23
24
|
this.resourceApiService = resourceApiService;
|
|
24
25
|
this.toastService = toastService;
|
|
25
26
|
this.webApiService = webApiService;
|
|
27
|
+
this.componentErrorHandler = componentErrorHandler;
|
|
26
28
|
this.cdr = cdr;
|
|
27
29
|
this.componentProperties = new ZComponentProperties();
|
|
28
30
|
this.setEnable = (status) => {
|
|
@@ -242,10 +244,24 @@ export class ZudfComponent {
|
|
|
242
244
|
// Set the property
|
|
243
245
|
const componentName = this.generateFormControlName(fieldElement.Value);
|
|
244
246
|
const isFormControl = ZComponentHelper.isFormControl(fieldElement);
|
|
247
|
+
const isVisible = ZComponentHelper.isVisibleFormControl(this, fieldElement); //
|
|
248
|
+
const isRequired = ZComponentHelper.isRequiredFormControl(this, fieldElement); //
|
|
245
249
|
// Create FormControl
|
|
246
250
|
const formControls = {};
|
|
247
251
|
if (isFormControl === true) {
|
|
248
|
-
|
|
252
|
+
const validators = ZComponentHelper.getValidators(fieldElement.Value, isVisible, isRequired); //
|
|
253
|
+
formControls[componentName] = new FormControl(zudfComponentScope.zModel[fieldElement.Value], validators);
|
|
254
|
+
//if (ZComponentHelper.hasCCField(field.Type)) {
|
|
255
|
+
// const ccValidators: ValidatorFn[] = ZComponentHelper.getCCValidators(field, isVisible, isRequired);
|
|
256
|
+
// formControls[field.CCValue] = new FormControl(
|
|
257
|
+
// this.group['_zudf_' + this.data.Name].zModel[field.CCValue],
|
|
258
|
+
// ccValidators
|
|
259
|
+
// );
|
|
260
|
+
//}
|
|
261
|
+
if (!zudfComponentScope.fields) {
|
|
262
|
+
zudfComponentScope.fields = [];
|
|
263
|
+
}
|
|
264
|
+
zudfComponentScope.fields.push(fieldElement);
|
|
249
265
|
}
|
|
250
266
|
else {
|
|
251
267
|
console.warn('formControl cannot be created.' + componentName);
|
|
@@ -269,17 +285,28 @@ export class ZudfComponent {
|
|
|
269
285
|
generateFormControlName(controlName) {
|
|
270
286
|
return [this.data.Type, this.data.Name, controlName].join('_');
|
|
271
287
|
}
|
|
288
|
+
validateAndShowErrorMessage() {
|
|
289
|
+
const fg = this.form;
|
|
290
|
+
//if (!fg.dirty) {
|
|
291
|
+
// console.warn("Form is not dirty hence record is not save.");
|
|
292
|
+
// return;
|
|
293
|
+
//}
|
|
294
|
+
if (!fg.valid) {
|
|
295
|
+
this.componentErrorHandler.showFormGroupErrorMessage(this.group, fg);
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
272
299
|
}
|
|
273
|
-
ZudfComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZudfComponent, deps: [{ token: i1.AlertService }, { token: i1.AuthService }, { token: i1.FieldService }, { token: i1.ResourceApiService }, { token: i1.ToastService }, { token: i1.WebApiService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
274
|
-
ZudfComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZudfComponent, selector: "app-zudf", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<div style=\"padding: 15px\" *ngIf=\"data.Title && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"ion-row\">\r\n <kendo-card *ngIf=\"data.Title\" width=\"100%\" >\r\n <kendo-card-header >\r\n <div>\r\n <ion-label class=\"card-header-title\">{{data.Title}}</ion-label>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body>\r\n <div class=\"ion-row\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of formField | divzlayout: data.zlayout\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"zudf{{data.Name}}-{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n </div>\r\n </kendo-card-body>\r\n </kendo-card>\r\n</div>\r\n\r\n<div *ngIf=\"!data.Title && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"ion-row\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of formField | divzlayout: data.zlayout\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"zudf{{data.Name}}-{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n</div>\r\n", styles: [".card-header-title{color:#fff!important;font-weight:500;font-size:11pt}\n"], components: [{ type:
|
|
300
|
+
ZudfComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZudfComponent, deps: [{ token: i1.AlertService }, { token: i1.AuthService }, { token: i1.FieldService }, { token: i1.ResourceApiService }, { token: i1.ToastService }, { token: i1.WebApiService }, { token: i2.ComponentErrorHandlerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
301
|
+
ZudfComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZudfComponent, selector: "app-zudf", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<div style=\"padding: 15px\" *ngIf=\"data.Title && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"ion-row\">\r\n <kendo-card *ngIf=\"data.Title\" width=\"100%\" >\r\n <kendo-card-header >\r\n <div>\r\n <ion-label class=\"card-header-title\">{{data.Title}}</ion-label>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body>\r\n <div class=\"ion-row\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of formField | divzlayout: data.zlayout\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"zudf{{data.Name}}-{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n </div>\r\n </kendo-card-body>\r\n </kendo-card>\r\n</div>\r\n\r\n<div *ngIf=\"!data.Title && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"ion-row\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of formField | divzlayout: data.zlayout\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"zudf{{data.Name}}-{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n</div>\r\n", styles: [".card-header-title{color:#fff!important;font-weight:500;font-size:11pt}\n"], components: [{ type: i3.CardComponent, selector: "kendo-card", inputs: ["orientation", "width"] }, { type: i3.CardHeaderComponent, selector: "kendo-card-header" }, { type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i3.CardBodyComponent, selector: "kendo-card-body" }, { type: i5.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form", "containerField"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }], pipes: { "divzlayout": i8.DivzLayout } });
|
|
275
302
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZudfComponent, decorators: [{
|
|
276
303
|
type: Component,
|
|
277
304
|
args: [{ selector: 'app-zudf', template: "<div style=\"padding: 15px\" *ngIf=\"data.Title && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"ion-row\">\r\n <kendo-card *ngIf=\"data.Title\" width=\"100%\" >\r\n <kendo-card-header >\r\n <div>\r\n <ion-label class=\"card-header-title\">{{data.Title}}</ion-label>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body>\r\n <div class=\"ion-row\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of formField | divzlayout: data.zlayout\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"zudf{{data.Name}}-{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n </div>\r\n </kendo-card-body>\r\n </kendo-card>\r\n</div>\r\n\r\n<div *ngIf=\"!data.Title && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"ion-row\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of formField | divzlayout: data.zlayout\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"zudf{{data.Name}}-{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n</div>\r\n", styles: [".card-header-title{color:#fff!important;font-weight:500;font-size:11pt}\n"] }]
|
|
278
|
-
}], ctorParameters: function () { return [{ type: i1.AlertService }, { type: i1.AuthService }, { type: i1.FieldService }, { type: i1.ResourceApiService }, { type: i1.ToastService }, { type: i1.WebApiService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
305
|
+
}], ctorParameters: function () { return [{ type: i1.AlertService }, { type: i1.AuthService }, { type: i1.FieldService }, { type: i1.ResourceApiService }, { type: i1.ToastService }, { type: i1.WebApiService }, { type: i2.ComponentErrorHandlerService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
279
306
|
type: Input
|
|
280
307
|
}], group: [{
|
|
281
308
|
type: Input
|
|
282
309
|
}], form: [{
|
|
283
310
|
type: Input
|
|
284
311
|
}] } });
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienVkZi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96dWRmL3p1ZGYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenVkZi96dWRmLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakYsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUF3QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsMkNBQTJDO0FBQzNDLE9BQU8sRUFHTCxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQy9DLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQVF6QixNQUFNLE9BQU8sYUFBYTtJQVN4QixZQUNVLFlBQTBCLEVBQzFCLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLGtCQUFzQyxFQUN0QyxZQUEwQixFQUMxQixhQUE0QixFQUM1QixHQUFzQjtRQU50QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLFFBQUcsR0FB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QUMsRUFBRSxFQUFFO1lBQy9ELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwRTtJQUNILENBQUM7SUFFRCxnREFBZ0Q7SUFDekMsbUNBQW1DLENBQUMsS0FBYSxFQUFFLGVBQXVCO1FBQy9FLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEUsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxXQUFtQjtRQUNoRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7OzJHQTlVVSxhQUFhOytGQUFiLGFBQWEsd0dDdkIxQiw0bURBOEJBOzRGRFBhLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsVUFBVTtnUkFLWCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IEFzeW5jU3ViamVjdCwgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgY29uY2F0TWFwLCBtYXAsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQge1xyXG4gIFpDb21wb25lbnQsIFpGaWVsZCxcclxuICBBbGVydFNlcnZpY2UsIEF1dGhTZXJ2aWNlLCBGaWVsZFNlcnZpY2UsIFJlc291cmNlQXBpU2VydmljZSwgVG9hc3RTZXJ2aWNlLCBXZWJBcGlTZXJ2aWNlLFxyXG4gIFpHcm91cCwgWkNvbXBvbmVudFByb3BlcnRpZXMsIFpDb21wb25lbnRIZWxwZXJcclxufSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXp1ZGYnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96dWRmLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi96dWRmLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBadWRmQ29tcG9uZW50IGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgZm9ybUZpZWxkOiBaRmllbGRbXTtcclxuXHJcbiAgY29tcG9uZW50UHJvcGVydGllcyA9IG5ldyBaQ29tcG9uZW50UHJvcGVydGllcygpO1xyXG4gIGluaXRpYWxEYXRhVmFsdWU6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGZpZWxkU2VydmljZTogRmllbGRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZXNvdXJjZUFwaVNlcnZpY2U6IFJlc291cmNlQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHdlYkFwaVNlcnZpY2U6IFdlYkFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcblxyXG4gICAgLy8ga2VlcCBkYXRhIFZhbHVlXHJcbiAgICB0aGlzLmluaXRpYWxEYXRhVmFsdWUgPSB0aGlzLmRhdGEuVmFsdWU7XHJcblxyXG4gICAgaWYgKFpDb21wb25lbnRIZWxwZXIuaXNOdWxsVW5kZWZpbmVkRW1wdHkodGhpcy5kYXRhLlZhbHVlKSB8fCB0aGlzLmRhdGEuVmFsdWUubGVuZ3RoID4gMikge1xyXG4gICAgICB0aGlzLmxvYWRFbXB0eUZvcm0oKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmxvYWRadWRmRm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkRW1wdHlGb3JtKCkge1xyXG4gICAgb2YodHJ1ZSkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICB0aGlzLmRhdGEuU3ViVHlwZSA9ICd6dWRmJztcclxuXHJcbiAgICAgICAgLy8gY2hhbmdlIHRoZSB2YWx1ZSB0byB0aGUgcmVzdWx0IGZpZWxkIGZvcm1cclxuICAgICAgICB0aGlzLmRhdGEuVmFsdWUgPSBbXTtcclxuXHJcbiAgICAgICAgLy8gY2hhbmdlIHp1ZGYgdG8gemRpdlxyXG4gICAgICAgIC8vdGhpcy5kYXRhLlR5cGUgPSAnemRpdic7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5ncm91cFsnX3p1ZGZfJyArIHRoaXMuZGF0YS5OYW1lXSkge1xyXG4gICAgICAgICAgdGhpcy5ncm91cFsnX3p1ZGZfJyArIHRoaXMuZGF0YS5OYW1lXSA9IG5ldyBaR3JvdXA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBncnAgPSB0aGlzLmdyb3VwWydfenVkZl8nICsgdGhpcy5kYXRhLk5hbWVdO1xyXG5cclxuICAgICAgICBncnAuek1vZGVsID0ge307XHJcblxyXG4gICAgICAgIC8vIGNyZWF0ZSBhcyBuZXcgRm9ybSBHcm91cFxyXG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMudG9Gb3JtR3JvdXAodGhpcy5kYXRhLlZhbHVlKTtcclxuXHJcbiAgICAgICAgLy8gc2V0IHRvIHpHcm91cCBzY29wZVxyXG4gICAgICAgIGdycC5mb3JtID0gdGhpcy5mb3JtO1xyXG4gICAgICB9KSxcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAvLyBzZXQgdG8gZm9ybUZpZWxkIGZvciBkaXNwbGF5XHJcbiAgICAgICAgdGhpcy5mb3JtRmllbGQgPSBPYmplY3QuYXNzaWduKFtdLCB0aGlzLmRhdGEuVmFsdWUpO1xyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSAnYWZ0ZXInICsgKHRoaXMuZGF0YS5OYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGhpcy5kYXRhLk5hbWUuc2xpY2UoMSkpICsgJ0xvYWRlZCc7XHJcbiAgICAgIGlmICh0aGlzLmdyb3VwKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXBbZmllbGROYW1lXSkge1xyXG4gICAgICAgICAgdGhpcy5ncm91cFtmaWVsZE5hbWVdKHRoaXMuZ3JvdXApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBzZXQgRmllbGQgZGl2IGNsYXNzXHJcbiAgICAgIC8vIFJlcGxhY2VkIHdpdGg6IHRoaXMuZmllbGRTZXJ2aWNlLnBhdGNoRmllbGRQcm9wZXJ0eShmaWVsZCk7XHJcbiAgICAgIC8vIFpDb21wb25lbnRIZWxwZXIuc2V0RmllbGRzRGl2Q2xhc3ModGhpcy5ncm91cC5fcHJvamVjdE5hbWUsIHRoaXMuZ3JvdXAuZmllbGROYW1lLCB0aGlzLmRhdGEsIHRoaXMuYXV0aFNlcnZpY2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRadWRmRm9ybSgpIHtcclxuICAgIG9mKHRydWUpLnBpcGUoXHJcbiAgICAgIGNvbmNhdE1hcChmaWVsZEVsZW1lbnRzID0+IHtcclxuICAgICAgICBjb25zdCBhc3luY1N1YmplY3QgPSBuZXcgQXN5bmNTdWJqZWN0PGFueT4oKTtcclxuICAgICAgICB0aGlzLmZpZWxkU2VydmljZS5nZXRGb3JtRmllbGRDb2RlKHRoaXMuZGF0YS5WYWx1ZSwgJ0Zvcm1GaWVsZCcsIHRoaXMsICdmaWVsZHMnKS5waXBlKFxyXG4gICAgICAgICAgbWFwKGZvcm1GaWVsZFJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgIC8vIHJlbmFtZSBhZGQgcHJlZml4IHRvIGFsbCB1ZGYgZmllbGQgdG8gcHJldmVudCBkdXBsaWNhdGUgZnJvbSBtYWluIGZvcm1cclxuICAgICAgICAgICAgdGhpcy5hcHBlbmRQcmVmaXgoZm9ybUZpZWxkUmVzdWx0LCAnenVkZl8nICsgdGhpcy5kYXRhLk5hbWUpO1xyXG5cclxuICAgICAgICAgICAgLy8gY2hhbmdlIHRoZSB2YWx1ZSB0byB0aGUgcmVzdWx0IGZpZWxkIGZvcm1cclxuICAgICAgICAgICAgdGhpcy5kYXRhLlZhbHVlID0gZm9ybUZpZWxkUmVzdWx0O1xyXG5cclxuICAgICAgICAgICAgLy8gY2hhbmdlIHp1ZGYgdG8gemRpdlxyXG4gICAgICAgICAgICAvL3RoaXMuZGF0YS5UeXBlID0gJ3pkaXYnO1xyXG5cclxuICAgICAgICAgICAgLy8gZW5kIHN1YmplY3RcclxuICAgICAgICAgICAgYXN5bmNTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAgIGFzeW5jU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApLnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgICByZXR1cm4gYXN5bmNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICB9KSxcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuZ3JvdXBbJ196dWRmXycgKyB0aGlzLmRhdGEuTmFtZV0pIHtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBbJ196dWRmXycgKyB0aGlzLmRhdGEuTmFtZV0gPSBuZXcgWkdyb3VwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZ3JwID0gdGhpcy5ncm91cFsnX3p1ZGZfJyArIHRoaXMuZGF0YS5OYW1lXTtcclxuXHJcbiAgICAgICAgZ3JwLnpNb2RlbCA9IHt9O1xyXG5cclxuICAgICAgICAvLyBjcmVhdGUgYXMgbmV3IEZvcm0gR3JvdXBcclxuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLnRvRm9ybUdyb3VwKHRoaXMuZGF0YS5WYWx1ZSk7XHJcblxyXG4gICAgICAgIC8vIHNldCB0byB6R3JvdXAgc2NvcGVcclxuICAgICAgICBncnAuZm9ybSA9IHRoaXMuZm9ybTtcclxuICAgICAgfSksXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgLy8gc2V0IHRvIGZvcm1GaWVsZCBmb3IgZGlzcGxheVxyXG4gICAgICAgIHRoaXMuZm9ybUZpZWxkID0gT2JqZWN0LmFzc2lnbihbXSwgdGhpcy5kYXRhLlZhbHVlKTtcclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgY29uc3QgZmllbGROYW1lID0gJ2FmdGVyJyArICh0aGlzLmRhdGEuTmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHRoaXMuZGF0YS5OYW1lLnNsaWNlKDEpKSArICdMb2FkZWQnO1xyXG4gICAgICBpZiAodGhpcy5ncm91cCkge1xyXG4gICAgICAgIGlmICh0aGlzLmdyb3VwW2ZpZWxkTmFtZV0pIHtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBbZmllbGROYW1lXSh0aGlzLmdyb3VwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gc2V0IEZpZWxkIGRpdiBjbGFzc1xyXG4gICAgICAvLyBSZXBsYWNlZCB3aXRoOiB0aGlzLmZpZWxkU2VydmljZS5wYXRjaEZpZWxkUHJvcGVydHkoZmllbGQpO1xyXG4gICAgICAvLyBaQ29tcG9uZW50SGVscGVyLnNldEZpZWxkc0RpdkNsYXNzKHRoaXMuZ3JvdXAuX3Byb2plY3ROYW1lLCB0aGlzLmdyb3VwLmZpZWxkTmFtZSwgdGhpcy5kYXRhLCB0aGlzLmF1dGhTZXJ2aWNlKTtcclxuXHJcbiAgICAgIC8vIFRPRE86IGdldCBzYXZlZCByZWNvcmRcclxuICAgICAgLy90aGlzLmdldEZvcm1GaWVsZHpNb2RlbCgpO1xyXG5cclxuICAgICAgLy8gY2hhbmdlIGJhY2sgdGhlIGRhdGEuVmFsdWVcclxuICAgICAgLy9pZiAodGhpcy5kYXRhWydEaXNhYmxlUmVwbGFjZVZhbHVlJ10pIHtcclxuICAgICAgLy8gIHRoaXMuZGF0YS5WYWx1ZSA9IHRoaXMuaW5pdGlhbERhdGFWYWx1ZTtcclxuICAgICAgLy99XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRGb3JtRmllbGR6TW9kZWwoZ3JvdXA6IFpHcm91cCwgbW9kZWxEYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmdyb3VwWydfenVkZl8nICsgdGhpcy5kYXRhLk5hbWVdLmZvcm07XHJcbiAgICBjb25zdCB6TW9kZWwgPSB0aGlzLmdyb3VwWydfenVkZl8nICsgdGhpcy5kYXRhLk5hbWVdLnpNb2RlbDtcclxuICAgIGNvbnN0IHp1ZGZQcmVmaXggPSAnenVkZl8nICsgdGhpcy5kYXRhLk5hbWUgKyAnXyc7XHJcbiAgICBjb25zdCBwYXRjaGVkTW9kZWxEYXRhID0ge307XHJcblxyXG4gICAgZm9yICh2YXIgcHJvcCBpbiBtb2RlbERhdGEpIHtcclxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2RlbERhdGEsIHByb3ApKSB7XHJcbiAgICAgICAgcGF0Y2hlZE1vZGVsRGF0YVt6dWRmUHJlZml4ICsgcHJvcF0gPSBtb2RlbERhdGFbcHJvcF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBPYmplY3QuYXNzaWduKHpNb2RlbCwgcGF0Y2hlZE1vZGVsRGF0YSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvRm9ybUdyb3VwKGZpZWxkRWxlbWVudHM6IEFycmF5PFpGaWVsZD4pIHtcclxuICAgIGNvbnN0IGZvcm1Db250cm9sczogeyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9ID0ge307XHJcbiAgICB0aGlzLmdldEZvcm1Db250cm9scyhmaWVsZEVsZW1lbnRzLCBmb3JtQ29udHJvbHMpO1xyXG4gICAgY29uc3QgbmV3Rm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cChmb3JtQ29udHJvbHMpO1xyXG4gICAgcmV0dXJuIG5ld0Zvcm1Hcm91cDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Rm9ybUNvbnRyb2xzKGZpZWxkQXJyYXk6IEFycmF5PFpGaWVsZD4sIGZvcm1Db250cm9sczogeyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9KSB7XHJcbiAgICBmaWVsZEFycmF5LmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICB0aGlzLmZpZWxkU2VydmljZS5wYXRjaEZpZWxkUHJvcGVydHkoZmllbGQpO1xyXG4gICAgICBpZiAodHlwZW9mIGZpZWxkLlZhbHVlID09PSBcInN0cmluZ1wiICYmIGZpZWxkLlZhbHVlLmluZGV4T2YoXCIuXCIpICE9PSAtMSkge1xyXG4gICAgICAgIGlmIChbJ3pncmlkJywgJ3p0cmVlJywgJ3ppbWcnLCAndGV4dGFyZWFqc29uJ10uaW5kZXhPZihmaWVsZC5UeXBlKSA9PT0gLTEpIHtcclxuICAgICAgICAgIGNvbnNvbGUud2FybihcIkZvcm1Db250cm9sIC0gaW52YWxpZCBmaWVsZCB2YWx1ZVwiLCBmaWVsZC5WYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLlZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy5nZXRGb3JtQ29udHJvbHMoZmllbGQuVmFsdWUsIGZvcm1Db250cm9scyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgaXNGb3JtQ29udHJvbCA9IFpDb21wb25lbnRIZWxwZXIuaXNGb3JtQ29udHJvbChmaWVsZCk7XHJcbiAgICAgICAgICBjb25zdCBpc1Zpc2libGUgPSBaQ29tcG9uZW50SGVscGVyLmlzVmlzaWJsZUZvcm1Db250cm9sKHRoaXMsIGZpZWxkKTtcclxuICAgICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBaQ29tcG9uZW50SGVscGVyLmlzUmVxdWlyZWRGb3JtQ29udHJvbCh0aGlzLCBmaWVsZCk7XHJcbiAgICAgICAgICBpZiAoaXNGb3JtQ29udHJvbCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gWkNvbXBvbmVudEhlbHBlci5nZXRWYWxpZGF0b3JzKGZpZWxkLCBpc1Zpc2libGUsIGlzUmVxdWlyZWQpO1xyXG4gICAgICAgICAgICBmb3JtQ29udHJvbHNbZmllbGQuVmFsdWVdID0gbmV3IEZvcm1Db250cm9sKFxyXG4gICAgICAgICAgICAgIHRoaXMuZ3JvdXBbJ196dWRmXycgKyB0aGlzLmRhdGEuTmFtZV0uek1vZGVsW2ZpZWxkLlZhbHVlXSxcclxuICAgICAgICAgICAgICB2YWxpZGF0b3JzXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmIChaQ29tcG9uZW50SGVscGVyLmhhc0NDRmllbGQoZmllbGQuVHlwZSkpIHtcclxuICAgICAgICAgICAgICBjb25zdCBjY1ZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBaQ29tcG9uZW50SGVscGVyLmdldENDVmFsaWRhdG9ycyhmaWVsZCwgaXNWaXNpYmxlLCBpc1JlcXVpcmVkKTtcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbHNbZmllbGQuQ0NWYWx1ZV0gPSBuZXcgRm9ybUNvbnRyb2woXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3VwWydfenVkZl8nICsgdGhpcy5kYXRhLk5hbWVdLnpNb2RlbFtmaWVsZC5DQ1ZhbHVlXSxcclxuICAgICAgICAgICAgICAgIGNjVmFsaWRhdG9yc1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwZW5kUHJlZml4KGZpZWxkczogWkZpZWxkW10sIHByZWZpeDogYW55KSB7XHJcbiAgICBmaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLlZhbHVlKSkge1xyXG4gICAgICAgIHRoaXMuYXBwZW5kUHJlZml4KGZpZWxkLlZhbHVlLCBwcmVmaXgpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGZpZWxkLk5hbWUgPSBwcmVmaXggKyAnXycgKyBmaWVsZC5OYW1lO1xyXG4gICAgICAgIGlmIChmaWVsZC5UeXBlICE9ICd6YnV0dG9ucycpIHtcclxuICAgICAgICAgIGZpZWxkLlZhbHVlID0gcHJlZml4ICsgJ18nICsgZmllbGQuVmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZWxkLlN1YlR5cGUgPSBwcmVmaXg7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQ29tcG9uZW50SXNWaXNpYmxlKGZpZWxkOiBaRmllbGQpOiBhbnkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuQ29tcG9uZW50SXNWaXNpYmxlKGZpZWxkLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhcHBlbmRGb3JtQ29udHJvbCh6dWRmQ29udHJvbE5hbWU6IHN0cmluZywgenVkZkNvbnRyb2w6IEZvcm1Db250cm9sLCBmaWVsZERhdGE6IFpGaWVsZCkge1xyXG4gICAgLy9maWVsZERhdGEuTmFtZSA9IE9iamVjdC5hc3NpZ24oJycsIHp1ZGZDb250cm9sTmFtZSk7XHJcbiAgICBmaWVsZERhdGEuVmFsdWUgPSB6dWRmQ29udHJvbE5hbWU7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCh6dWRmQ29udHJvbE5hbWUsIHp1ZGZDb250cm9sKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuZm9ybUZpZWxkKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdmb3JtRmllbGQgJyArIHRoaXMuZGF0YS5OYW1lICsgJyBpcyB1bmRlZmluZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvcm1GaWVsZC5wdXNoKGZpZWxkRGF0YSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJGb3JtQ29udHJvbCgpIHtcclxuICAgIHRoaXMuZm9ybUZpZWxkLmZvckVhY2goZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuZm9ybS5yZW1vdmVDb250cm9sKGRhdGEuVmFsdWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5kYXRhLlZhbHVlID0gdGhpcy5pbml0aWFsRGF0YVZhbHVlO1xyXG5cclxuICAgIHRoaXMuZm9ybUZpZWxkID0gW107XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGdldEZvcm1Db250cm9sKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEZvcm0oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFpNb2RlbCgpIHtcclxuICAgIGNvbnN0IHpNb2RlbCA9IHRoaXMuZ3JvdXBbJ196dWRmXycgKyB0aGlzLmRhdGEuTmFtZV0uek1vZGVsO1xyXG4gICAgY29uc3QgenVkZlByZWZpeCA9ICd6dWRmXycgKyB0aGlzLmRhdGEuTmFtZSArICdfJztcclxuICAgIGNvbnN0IHBhdGNoZWRNb2RlbERhdGEgPSB7fTtcclxuXHJcbiAgICBmb3IgKHZhciBwcm9wIGluIHpNb2RlbCkge1xyXG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHpNb2RlbCwgcHJvcCkpIHtcclxuICAgICAgICBwYXRjaGVkTW9kZWxEYXRhW3Byb3AucmVwbGFjZSh6dWRmUHJlZml4LCAnJyldID0gek1vZGVsW3Byb3BdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhdGNoZWRNb2RlbERhdGE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Wk1vZGVsQXNTdHJpbmcoKSB7XHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRaTW9kZWwoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Rm9ybUNvbnRyb2xWYWxpZGF0aW9uKGZvcm1Db250cm9sTmFtZTogc3RyaW5nLCB2YWxpZGF0b3I6IGFueSkge1xyXG4gICAgZGVidWdnZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXBwZW5kRmllbGRFbGVtZW50KGdyb3VwOiBaR3JvdXAsIGZpZWxkRWxlbWVudDogYW55KSB7XHJcbiAgICBjb25zdCBkYXRhTmFtZSA9IHRoaXMuZGF0YS5OYW1lO1xyXG5cclxuICAgIGlmICghZ3JvdXBbJ196dWRmXycgKyBkYXRhTmFtZV0pIHtcclxuICAgICAgZ3JvdXBbJ196dWRmXycgKyBkYXRhTmFtZV0gPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB6dWRmQ29tcG9uZW50U2NvcGUgPSBncm91cFsnX3p1ZGZfJyArIGRhdGFOYW1lXTtcclxuICAgIGlmICghenVkZkNvbXBvbmVudFNjb3BlLnpNb2RlbCkge1xyXG4gICAgICB6dWRmQ29tcG9uZW50U2NvcGVbJ3pNb2RlbCddID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0IHRoZSBwcm9wZXJ0eVxyXG4gICAgY29uc3QgY29tcG9uZW50TmFtZSA9IHRoaXMuZ2VuZXJhdGVGb3JtQ29udHJvbE5hbWUoZmllbGRFbGVtZW50LlZhbHVlKTtcclxuICAgIGNvbnN0IGlzRm9ybUNvbnRyb2wgPSBaQ29tcG9uZW50SGVscGVyLmlzRm9ybUNvbnRyb2woZmllbGRFbGVtZW50KTtcclxuXHJcbiAgICAvLyBDcmVhdGUgRm9ybUNvbnRyb2xcclxuICAgIGNvbnN0IGZvcm1Db250cm9sczogeyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9ID0ge307XHJcbiAgICBpZiAoaXNGb3JtQ29udHJvbCA9PT0gdHJ1ZSkge1xyXG4gICAgICBmb3JtQ29udHJvbHNbY29tcG9uZW50TmFtZV0gPSBuZXcgRm9ybUNvbnRyb2woXHJcbiAgICAgICAgenVkZkNvbXBvbmVudFNjb3BlLnpNb2RlbFtmaWVsZEVsZW1lbnQuVmFsdWVdXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc29sZS53YXJuKCdmb3JtQ29udHJvbCBjYW5ub3QgYmUgY3JlYXRlZC4nICsgY29tcG9uZW50TmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hcHBlbmRGb3JtQ29udHJvbChjb21wb25lbnROYW1lLCBmb3JtQ29udHJvbHNbY29tcG9uZW50TmFtZV0sIGZpZWxkRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVuZGVyRmllbGRFbGVtZW50QnlKc29uU3RyaW5nKGdyb3VwOiBaR3JvdXAsIGpzb25TdHJpbmc6IHN0cmluZykge1xyXG4gICAgY29uc3QgZmllbGRFbGVtZW50TWFzdGVyQ29kZUpzb25BcnJheSA9IEpTT04ucGFyc2UoanNvblN0cmluZyk7XHJcblxyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWVsZEVsZW1lbnRNYXN0ZXJDb2RlSnNvbkFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHRoaXMuYXBwZW5kRmllbGRFbGVtZW50KGdyb3VwLCBmaWVsZEVsZW1lbnRNYXN0ZXJDb2RlSnNvbkFycmF5W2ldKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGNhbm5vdCB1c2UuIHp1ZGYgYXQgcHJvamVjdCBsZXZlbCBub3QgbG9hZGVkLlxyXG4gIHB1YmxpYyByZW5kZXJGaWVsZEVsZW1lbnRCeUZpZWxkRWxlbWVudFVybChncm91cDogWkdyb3VwLCBmaWVsZEVsZW1lbnRVcmw6IHN0cmluZykge1xyXG4gICAgdGhpcy53ZWJBcGlTZXJ2aWNlLmh0dHBHZXQkKGZpZWxkRWxlbWVudFVybCwge30pLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XHJcbiAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyRmllbGRFbGVtZW50QnlKc29uU3RyaW5nKGdyb3VwLCByZXNwb25zZS5Db2RlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2VuZXJhdGVGb3JtQ29udHJvbE5hbWUoY29udHJvbE5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIFt0aGlzLmRhdGEuVHlwZSwgdGhpcy5kYXRhLk5hbWUsIGNvbnRyb2xOYW1lXS5qb2luKCdfJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgc3R5bGU9XCJwYWRkaW5nOiAxNXB4XCIgKm5nSWY9XCJkYXRhLlRpdGxlICYmICghIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiIGNsYXNzPVwiaW9uLXJvd1wiPlxyXG4gIDxrZW5kby1jYXJkICpuZ0lmPVwiZGF0YS5UaXRsZVwiIHdpZHRoPVwiMTAwJVwiID5cclxuICAgPGtlbmRvLWNhcmQtaGVhZGVyICA+XHJcbiAgICAgPGRpdj5cclxuICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJjYXJkLWhlYWRlci10aXRsZVwiPnt7ZGF0YS5UaXRsZX19PC9pb24tbGFiZWw+XHJcbiAgICAgPC9kaXY+XHJcbiAgIDwva2VuZG8tY2FyZC1oZWFkZXI+XHJcbiAgIDxrZW5kby1jYXJkLWJvZHk+XHJcbiAgICAgPGRpdiBjbGFzcz1cImlvbi1yb3dcIj5cclxuICAgICAgIDxhcHAtemZvcm1jb250cm9sIFtuZ0NsYXNzXT1cImdyb3VwW2ZpZWxkLmlzVmlzaWJsZUZpZWxkXSA/IGZpZWxkLkRpdkNsYXNzIDogKChmaWVsZC5WaXNpYmxlID09PSB0cnVlKSA/ICBmaWVsZC5EaXZDbGFzcyA6ICdmbGV4LWhpZGUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZm9ybUZpZWxkIHwgZGl2emxheW91dDogZGF0YS56bGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZ3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInp1ZGZ7e2RhdGEuTmFtZX19LXt7ZmllbGQuVHlwZX19LXt7ZmllbGQuTmFtZX19XCI+XHJcbiAgICAgICA8L2FwcC16Zm9ybWNvbnRyb2w+XHJcbiAgICAgPC9kaXY+XHJcbiAgIDwva2VuZG8tY2FyZC1ib2R5PlxyXG4gPC9rZW5kby1jYXJkPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhZGF0YS5UaXRsZSAmJiAoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIiBjbGFzcz1cImlvbi1yb3dcIj5cclxuIDxhcHAtemZvcm1jb250cm9sIFtuZ0NsYXNzXT1cImdyb3VwW2ZpZWxkLmlzVmlzaWJsZUZpZWxkXSA/IGZpZWxkLkRpdkNsYXNzIDogKChmaWVsZC5WaXNpYmxlID09PSB0cnVlKSA/ICBmaWVsZC5EaXZDbGFzcyA6ICdmbGV4LWhpZGUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZm9ybUZpZWxkIHwgZGl2emxheW91dDogZGF0YS56bGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICBbZ3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICBpZD1cInp1ZGZ7e2RhdGEuTmFtZX19LXt7ZmllbGQuVHlwZX19LXt7ZmllbGQuTmFtZX19XCI+XHJcbiA8L2FwcC16Zm9ybWNvbnRyb2w+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienVkZi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96dWRmL3p1ZGYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenVkZi96dWRmLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakYsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUF3QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsMkNBQTJDO0FBQzNDLE9BQU8sRUFHTCxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQy9DLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7QUFTekIsTUFBTSxPQUFPLGFBQWE7SUFTeEIsWUFDVSxZQUEwQixFQUMxQixXQUF3QixFQUN4QixZQUEwQixFQUMxQixrQkFBc0MsRUFDdEMsWUFBMEIsRUFDMUIsYUFBNEIsRUFDNUIscUJBQW1ELEVBQ25ELEdBQXNCO1FBUHRCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQWU7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QUMsV0FBbUI7UUFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sMkJBQTJCO1FBQ2hDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFpQixDQUFDO1FBQ2xDLGtCQUFrQjtRQUNsQixnRUFBZ0U7UUFDaEUsV0FBVztRQUNYLEdBQUc7UUFFSCxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRTtZQUNiLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLE9BQU87U0FDUjtJQUVILENBQUM7OzJHQTlXVSxhQUFhOytGQUFiLGFBQWEsd0dDeEIxQiw0bURBOEJBOzRGRE5hLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsVUFBVTsyVEFLWCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IEFzeW5jU3ViamVjdCwgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgY29uY2F0TWFwLCBtYXAsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQge1xyXG4gIFpDb21wb25lbnQsIFpGaWVsZCxcclxuICBBbGVydFNlcnZpY2UsIEF1dGhTZXJ2aWNlLCBGaWVsZFNlcnZpY2UsIFJlc291cmNlQXBpU2VydmljZSwgVG9hc3RTZXJ2aWNlLCBXZWJBcGlTZXJ2aWNlLFxyXG4gIFpHcm91cCwgWkNvbXBvbmVudFByb3BlcnRpZXMsIFpDb21wb25lbnRIZWxwZXJcclxufSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2NvbXBvbmVudC1lcnJvci1oYW5kbGVyLnNlcnZpY2VcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC16dWRmJyxcclxuICB0ZW1wbGF0ZVVybDogJy4venVkZi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4venVkZi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWnVkZkNvbXBvbmVudCBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YTogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xyXG4gIGZvcm1GaWVsZDogWkZpZWxkW107XHJcblxyXG4gIGNvbXBvbmVudFByb3BlcnRpZXMgPSBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuICBpbml0aWFsRGF0YVZhbHVlOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmaWVsZFNlcnZpY2U6IEZpZWxkU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVzb3VyY2VBcGlTZXJ2aWNlOiBSZXNvdXJjZUFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB3ZWJBcGlTZXJ2aWNlOiBXZWJBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRFcnJvckhhbmRsZXI6IENvbXBvbmVudEVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcblxyXG4gICAgLy8ga2VlcCBkYXRhIFZhbHVlXHJcbiAgICB0aGlzLmluaXRpYWxEYXRhVmFsdWUgPSB0aGlzLmRhdGEuVmFsdWU7XHJcblxyXG4gICAgaWYgKFpDb21wb25lbnRIZWxwZXIuaXNOdWxsVW5kZWZpbmVkRW1wdHkodGhpcy5kYXRhLlZhbHVlKSB8fCB0aGlzLmRhdGEuVmFsdWUubGVuZ3RoID4gMikge1xyXG4gICAgICB0aGlzLmxvYWRFbXB0eUZvcm0oKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmxvYWRadWRmRm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkRW1wdHlGb3JtKCkge1xyXG4gICAgb2YodHJ1ZSkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICB0aGlzLmRhdGEuU3ViVHlwZSA9ICd6dWRmJztcclxuXHJcbiAgICAgICAgLy8gY2hhbmdlIHRoZSB2YWx1ZSB0byB0aGUgcmVzdWx0IGZpZWxkIGZvcm1cclxuICAgICAgICB0aGlzLmRhdGEuVmFsdWUgPSBbXTtcclxuXHJcbiAgICAgICAgLy8gY2hhbmdlIHp1ZGYgdG8gemRpdlxyXG4gICAgICAgIC8vdGhpcy5kYXRhLlR5cGUgPSAnemRpdic7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5ncm91cFsnX3p1ZGZfJyArIHRoaXMuZGF0YS5OYW1lXSkge1xyXG4gICAgICAgICAgdGhpcy5ncm91cFsnX3p1ZGZfJyArIHRoaXMuZGF0YS5OYW1lXSA9IG5ldyBaR3JvdXA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBncnAgPSB0aGlzLmdyb3VwWydfenVkZl8nICsgdGhpcy5kYXRhLk5hbWVdO1xyXG5cclxuICAgICAgICBncnAuek1vZGVsID0ge307XHJcblxyXG4gICAgICAgIC8vIGNyZWF0ZSBhcyBuZXcgRm9ybSBHcm91cFxyXG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMudG9Gb3JtR3JvdXAodGhpcy5kYXRhLlZhbHVlKTtcclxuXHJcbiAgICAgICAgLy8gc2V0IHRvIHpHcm91cCBzY29wZVxyXG4gICAgICAgIGdycC5mb3JtID0gdGhpcy5mb3JtO1xyXG4gICAgICB9KSxcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAvLyBzZXQgdG8gZm9ybUZpZWxkIGZvciBkaXNwbGF5XHJcbiAgICAgICAgdGhpcy5mb3JtRmllbGQgPSBPYmplY3QuYXNzaWduKFtdLCB0aGlzLmRhdGEuVmFsdWUpO1xyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSAnYWZ0ZXInICsgKHRoaXMuZGF0YS5OYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGhpcy5kYXRhLk5hbWUuc2xpY2UoMSkpICsgJ0xvYWRlZCc7XHJcbiAgICAgIGlmICh0aGlzLmdyb3VwKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXBbZmllbGROYW1lXSkge1xyXG4gICAgICAgICAgdGhpcy5ncm91cFtmaWVsZE5hbWVdKHRoaXMuZ3JvdXApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBzZXQgRmllbGQgZGl2IGNsYXNzXHJcbiAgICAgIC8vIFJlcGxhY2VkIHdpdGg6IHRoaXMuZmllbGRTZXJ2aWNlLnBhdGNoRmllbGRQcm9wZXJ0eShmaWVsZCk7XHJcbiAgICAgIC8vIFpDb21wb25lbnRIZWxwZXIuc2V0RmllbGRzRGl2Q2xhc3ModGhpcy5ncm91cC5fcHJvamVjdE5hbWUsIHRoaXMuZ3JvdXAuZmllbGROYW1lLCB0aGlzLmRhdGEsIHRoaXMuYXV0aFNlcnZpY2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRadWRmRm9ybSgpIHtcclxuICAgIG9mKHRydWUpLnBpcGUoXHJcbiAgICAgIGNvbmNhdE1hcChmaWVsZEVsZW1lbnRzID0+IHtcclxuICAgICAgICBjb25zdCBhc3luY1N1YmplY3QgPSBuZXcgQXN5bmNTdWJqZWN0PGFueT4oKTtcclxuICAgICAgICB0aGlzLmZpZWxkU2VydmljZS5nZXRGb3JtRmllbGRDb2RlKHRoaXMuZGF0YS5WYWx1ZSwgJ0Zvcm1GaWVsZCcsIHRoaXMsICdmaWVsZHMnKS5waXBlKFxyXG4gICAgICAgICAgbWFwKGZvcm1GaWVsZFJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgIC8vIHJlbmFtZSBhZGQgcHJlZml4IHRvIGFsbCB1ZGYgZmllbGQgdG8gcHJldmVudCBkdXBsaWNhdGUgZnJvbSBtYWluIGZvcm1cclxuICAgICAgICAgICAgdGhpcy5hcHBlbmRQcmVmaXgoZm9ybUZpZWxkUmVzdWx0LCAnenVkZl8nICsgdGhpcy5kYXRhLk5hbWUpO1xyXG5cclxuICAgICAgICAgICAgLy8gY2hhbmdlIHRoZSB2YWx1ZSB0byB0aGUgcmVzdWx0IGZpZWxkIGZvcm1cclxuICAgICAgICAgICAgdGhpcy5kYXRhLlZhbHVlID0gZm9ybUZpZWxkUmVzdWx0O1xyXG5cclxuICAgICAgICAgICAgLy8gY2hhbmdlIHp1ZGYgdG8gemRpdlxyXG4gICAgICAgICAgICAvL3RoaXMuZGF0YS5UeXBlID0gJ3pkaXYnO1xyXG5cclxuICAgICAgICAgICAgLy8gZW5kIHN1YmplY3RcclxuICAgICAgICAgICAgYXN5bmNTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAgIGFzeW5jU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApLnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgICByZXR1cm4gYXN5bmNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICB9KSxcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuZ3JvdXBbJ196dWRmXycgKyB0aGlzLmRhdGEuTmFtZV0pIHtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBbJ196dWRmXycgKyB0aGlzLmRhdGEuTmFtZV0gPSBuZXcgWkdyb3VwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZ3JwID0gdGhpcy5ncm91cFsnX3p1ZGZfJyArIHRoaXMuZGF0YS5OYW1lXTtcclxuXHJcbiAgICAgICAgZ3JwLnpNb2RlbCA9IHt9O1xyXG5cclxuICAgICAgICAvLyBjcmVhdGUgYXMgbmV3IEZvcm0gR3JvdXBcclxuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLnRvRm9ybUdyb3VwKHRoaXMuZGF0YS5WYWx1ZSk7XHJcblxyXG4gICAgICAgIC8vIHNldCB0byB6R3JvdXAgc2NvcGVcclxuICAgICAgICBncnAuZm9ybSA9IHRoaXMuZm9ybTtcclxuICAgICAgfSksXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgLy8gc2V0IHRvIGZvcm1GaWVsZCBmb3IgZGlzcGxheVxyXG4gICAgICAgIHRoaXMuZm9ybUZpZWxkID0gT2JqZWN0LmFzc2lnbihbXSwgdGhpcy5kYXRhLlZhbHVlKTtcclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgY29uc3QgZmllbGROYW1lID0gJ2FmdGVyJyArICh0aGlzLmRhdGEuTmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHRoaXMuZGF0YS5OYW1lLnNsaWNlKDEpKSArICdMb2FkZWQnO1xyXG4gICAgICBpZiAodGhpcy5ncm91cCkge1xyXG4gICAgICAgIGlmICh0aGlzLmdyb3VwW2ZpZWxkTmFtZV0pIHtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBbZmllbGROYW1lXSh0aGlzLmdyb3VwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gc2V0IEZpZWxkIGRpdiBjbGFzc1xyXG4gICAgICAvLyBSZXBsYWNlZCB3aXRoOiB0aGlzLmZpZWxkU2VydmljZS5wYXRjaEZpZWxkUHJvcGVydHkoZmllbGQpO1xyXG4gICAgICAvLyBaQ29tcG9uZW50SGVscGVyLnNldEZpZWxkc0RpdkNsYXNzKHRoaXMuZ3JvdXAuX3Byb2plY3ROYW1lLCB0aGlzLmdyb3VwLmZpZWxkTmFtZSwgdGhpcy5kYXRhLCB0aGlzLmF1dGhTZXJ2aWNlKTtcclxuXHJcbiAgICAgIC8vIFRPRE86IGdldCBzYXZlZCByZWNvcmRcclxuICAgICAgLy90aGlzLmdldEZvcm1GaWVsZHpNb2RlbCgpO1xyXG5cclxuICAgICAgLy8gY2hhbmdlIGJhY2sgdGhlIGRhdGEuVmFsdWVcclxuICAgICAgLy9pZiAodGhpcy5kYXRhWydEaXNhYmxlUmVwbGFjZVZhbHVlJ10pIHtcclxuICAgICAgLy8gIHRoaXMuZGF0YS5WYWx1ZSA9IHRoaXMuaW5pdGlhbERhdGFWYWx1ZTtcclxuICAgICAgLy99XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRGb3JtRmllbGR6TW9kZWwoZ3JvdXA6IFpHcm91cCwgbW9kZWxEYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmdyb3VwWydfenVkZl8nICsgdGhpcy5kYXRhLk5hbWVdLmZvcm07XHJcbiAgICBjb25zdCB6TW9kZWwgPSB0aGlzLmdyb3VwWydfenVkZl8nICsgdGhpcy5kYXRhLk5hbWVdLnpNb2RlbDtcclxuICAgIGNvbnN0IHp1ZGZQcmVmaXggPSAnenVkZl8nICsgdGhpcy5kYXRhLk5hbWUgKyAnXyc7XHJcbiAgICBjb25zdCBwYXRjaGVkTW9kZWxEYXRhID0ge307XHJcblxyXG4gICAgZm9yICh2YXIgcHJvcCBpbiBtb2RlbERhdGEpIHtcclxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2RlbERhdGEsIHByb3ApKSB7XHJcbiAgICAgICAgcGF0Y2hlZE1vZGVsRGF0YVt6dWRmUHJlZml4ICsgcHJvcF0gPSBtb2RlbERhdGFbcHJvcF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBPYmplY3QuYXNzaWduKHpNb2RlbCwgcGF0Y2hlZE1vZGVsRGF0YSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvRm9ybUdyb3VwKGZpZWxkRWxlbWVudHM6IEFycmF5PFpGaWVsZD4pIHtcclxuICAgIGNvbnN0IGZvcm1Db250cm9sczogeyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9ID0ge307XHJcbiAgICB0aGlzLmdldEZvcm1Db250cm9scyhmaWVsZEVsZW1lbnRzLCBmb3JtQ29udHJvbHMpO1xyXG4gICAgY29uc3QgbmV3Rm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cChmb3JtQ29udHJvbHMpO1xyXG4gICAgcmV0dXJuIG5ld0Zvcm1Hcm91cDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Rm9ybUNvbnRyb2xzKGZpZWxkQXJyYXk6IEFycmF5PFpGaWVsZD4sIGZvcm1Db250cm9sczogeyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9KSB7XHJcbiAgICBmaWVsZEFycmF5LmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICB0aGlzLmZpZWxkU2VydmljZS5wYXRjaEZpZWxkUHJvcGVydHkoZmllbGQpO1xyXG4gICAgICBpZiAodHlwZW9mIGZpZWxkLlZhbHVlID09PSBcInN0cmluZ1wiICYmIGZpZWxkLlZhbHVlLmluZGV4T2YoXCIuXCIpICE9PSAtMSkge1xyXG4gICAgICAgIGlmIChbJ3pncmlkJywgJ3p0cmVlJywgJ3ppbWcnLCAndGV4dGFyZWFqc29uJ10uaW5kZXhPZihmaWVsZC5UeXBlKSA9PT0gLTEpIHtcclxuICAgICAgICAgIGNvbnNvbGUud2FybihcIkZvcm1Db250cm9sIC0gaW52YWxpZCBmaWVsZCB2YWx1ZVwiLCBmaWVsZC5WYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLlZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy5nZXRGb3JtQ29udHJvbHMoZmllbGQuVmFsdWUsIGZvcm1Db250cm9scyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgaXNGb3JtQ29udHJvbCA9IFpDb21wb25lbnRIZWxwZXIuaXNGb3JtQ29udHJvbChmaWVsZCk7XHJcbiAgICAgICAgICBjb25zdCBpc1Zpc2libGUgPSBaQ29tcG9uZW50SGVscGVyLmlzVmlzaWJsZUZvcm1Db250cm9sKHRoaXMsIGZpZWxkKTtcclxuICAgICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBaQ29tcG9uZW50SGVscGVyLmlzUmVxdWlyZWRGb3JtQ29udHJvbCh0aGlzLCBmaWVsZCk7XHJcbiAgICAgICAgICBpZiAoaXNGb3JtQ29udHJvbCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gWkNvbXBvbmVudEhlbHBlci5nZXRWYWxpZGF0b3JzKGZpZWxkLCBpc1Zpc2libGUsIGlzUmVxdWlyZWQpO1xyXG4gICAgICAgICAgICBmb3JtQ29udHJvbHNbZmllbGQuVmFsdWVdID0gbmV3IEZvcm1Db250cm9sKFxyXG4gICAgICAgICAgICAgIHRoaXMuZ3JvdXBbJ196dWRmXycgKyB0aGlzLmRhdGEuTmFtZV0uek1vZGVsW2ZpZWxkLlZhbHVlXSxcclxuICAgICAgICAgICAgICB2YWxpZGF0b3JzXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmIChaQ29tcG9uZW50SGVscGVyLmhhc0NDRmllbGQoZmllbGQuVHlwZSkpIHtcclxuICAgICAgICAgICAgICBjb25zdCBjY1ZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBaQ29tcG9uZW50SGVscGVyLmdldENDVmFsaWRhdG9ycyhmaWVsZCwgaXNWaXNpYmxlLCBpc1JlcXVpcmVkKTtcclxuICAgICAgICAgICAgICBmb3JtQ29udHJvbHNbZmllbGQuQ0NWYWx1ZV0gPSBuZXcgRm9ybUNvbnRyb2woXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3VwWydfenVkZl8nICsgdGhpcy5kYXRhLk5hbWVdLnpNb2RlbFtmaWVsZC5DQ1ZhbHVlXSxcclxuICAgICAgICAgICAgICAgIGNjVmFsaWRhdG9yc1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwZW5kUHJlZml4KGZpZWxkczogWkZpZWxkW10sIHByZWZpeDogYW55KSB7XHJcbiAgICBmaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLlZhbHVlKSkge1xyXG4gICAgICAgIHRoaXMuYXBwZW5kUHJlZml4KGZpZWxkLlZhbHVlLCBwcmVmaXgpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGZpZWxkLk5hbWUgPSBwcmVmaXggKyAnXycgKyBmaWVsZC5OYW1lO1xyXG4gICAgICAgIGlmIChmaWVsZC5UeXBlICE9ICd6YnV0dG9ucycpIHtcclxuICAgICAgICAgIGZpZWxkLlZhbHVlID0gcHJlZml4ICsgJ18nICsgZmllbGQuVmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZWxkLlN1YlR5cGUgPSBwcmVmaXg7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQ29tcG9uZW50SXNWaXNpYmxlKGZpZWxkOiBaRmllbGQpOiBhbnkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuQ29tcG9uZW50SXNWaXNpYmxlKGZpZWxkLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhcHBlbmRGb3JtQ29udHJvbCh6dWRmQ29udHJvbE5hbWU6IHN0cmluZywgenVkZkNvbnRyb2w6IEZvcm1Db250cm9sLCBmaWVsZERhdGE6IFpGaWVsZCkge1xyXG4gICAgLy9maWVsZERhdGEuTmFtZSA9IE9iamVjdC5hc3NpZ24oJycsIHp1ZGZDb250cm9sTmFtZSk7XHJcbiAgICBmaWVsZERhdGEuVmFsdWUgPSB6dWRmQ29udHJvbE5hbWU7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCh6dWRmQ29udHJvbE5hbWUsIHp1ZGZDb250cm9sKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuZm9ybUZpZWxkKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdmb3JtRmllbGQgJyArIHRoaXMuZGF0YS5OYW1lICsgJyBpcyB1bmRlZmluZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvcm1GaWVsZC5wdXNoKGZpZWxkRGF0YSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJGb3JtQ29udHJvbCgpIHtcclxuICAgIHRoaXMuZm9ybUZpZWxkLmZvckVhY2goZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuZm9ybS5yZW1vdmVDb250cm9sKGRhdGEuVmFsdWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5kYXRhLlZhbHVlID0gdGhpcy5pbml0aWFsRGF0YVZhbHVlO1xyXG5cclxuICAgIHRoaXMuZm9ybUZpZWxkID0gW107XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGdldEZvcm1Db250cm9sKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEZvcm0oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFpNb2RlbCgpIHtcclxuICAgIGNvbnN0IHpNb2RlbCA9IHRoaXMuZ3JvdXBbJ196dWRmXycgKyB0aGlzLmRhdGEuTmFtZV0uek1vZGVsO1xyXG4gICAgY29uc3QgenVkZlByZWZpeCA9ICd6dWRmXycgKyB0aGlzLmRhdGEuTmFtZSArICdfJztcclxuICAgIGNvbnN0IHBhdGNoZWRNb2RlbERhdGEgPSB7fTtcclxuXHJcbiAgICBmb3IgKHZhciBwcm9wIGluIHpNb2RlbCkge1xyXG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHpNb2RlbCwgcHJvcCkpIHtcclxuICAgICAgICBwYXRjaGVkTW9kZWxEYXRhW3Byb3AucmVwbGFjZSh6dWRmUHJlZml4LCAnJyldID0gek1vZGVsW3Byb3BdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhdGNoZWRNb2RlbERhdGE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Wk1vZGVsQXNTdHJpbmcoKSB7XHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRaTW9kZWwoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Rm9ybUNvbnRyb2xWYWxpZGF0aW9uKGZvcm1Db250cm9sTmFtZTogc3RyaW5nLCB2YWxpZGF0b3I6IGFueSkge1xyXG4gICAgZGVidWdnZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXBwZW5kRmllbGRFbGVtZW50KGdyb3VwOiBaR3JvdXAsIGZpZWxkRWxlbWVudDogYW55KSB7XHJcbiAgICBjb25zdCBkYXRhTmFtZSA9IHRoaXMuZGF0YS5OYW1lO1xyXG5cclxuICAgIGlmICghZ3JvdXBbJ196dWRmXycgKyBkYXRhTmFtZV0pIHsgXHJcbiAgICAgIGdyb3VwWydfenVkZl8nICsgZGF0YU5hbWVdID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgenVkZkNvbXBvbmVudFNjb3BlID0gZ3JvdXBbJ196dWRmXycgKyBkYXRhTmFtZV07XHJcbiAgICBpZiAoIXp1ZGZDb21wb25lbnRTY29wZS56TW9kZWwpIHtcclxuICAgICAgenVkZkNvbXBvbmVudFNjb3BlWyd6TW9kZWwnXSA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNldCB0aGUgcHJvcGVydHlcclxuICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSB0aGlzLmdlbmVyYXRlRm9ybUNvbnRyb2xOYW1lKGZpZWxkRWxlbWVudC5WYWx1ZSk7XHJcbiAgICBjb25zdCBpc0Zvcm1Db250cm9sID0gWkNvbXBvbmVudEhlbHBlci5pc0Zvcm1Db250cm9sKGZpZWxkRWxlbWVudCk7XHJcbiAgICBjb25zdCBpc1Zpc2libGUgPSBaQ29tcG9uZW50SGVscGVyLmlzVmlzaWJsZUZvcm1Db250cm9sKHRoaXMsIGZpZWxkRWxlbWVudCk7IC8vXHJcbiAgICBjb25zdCBpc1JlcXVpcmVkID0gWkNvbXBvbmVudEhlbHBlci5pc1JlcXVpcmVkRm9ybUNvbnRyb2wodGhpcywgZmllbGRFbGVtZW50KTsgLy9cclxuXHJcbiAgICAvLyBDcmVhdGUgRm9ybUNvbnRyb2xcclxuICAgIGNvbnN0IGZvcm1Db250cm9sczogeyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9ID0ge307XHJcbiAgICBpZiAoaXNGb3JtQ29udHJvbCA9PT0gdHJ1ZSkge1xyXG4gICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gWkNvbXBvbmVudEhlbHBlci5nZXRWYWxpZGF0b3JzKGZpZWxkRWxlbWVudC5WYWx1ZSwgaXNWaXNpYmxlLCBpc1JlcXVpcmVkKTsgLy9cclxuICAgICAgZm9ybUNvbnRyb2xzW2NvbXBvbmVudE5hbWVdID0gbmV3IEZvcm1Db250cm9sKFxyXG4gICAgICAgIHp1ZGZDb21wb25lbnRTY29wZS56TW9kZWxbZmllbGRFbGVtZW50LlZhbHVlXSxcclxuICAgICAgICB2YWxpZGF0b3JzXHJcbiAgICAgICk7XHJcbiAgICAgIC8vaWYgKFpDb21wb25lbnRIZWxwZXIuaGFzQ0NGaWVsZChmaWVsZC5UeXBlKSkge1xyXG4gICAgICAvLyAgY29uc3QgY2NWYWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gWkNvbXBvbmVudEhlbHBlci5nZXRDQ1ZhbGlkYXRvcnMoZmllbGQsIGlzVmlzaWJsZSwgaXNSZXF1aXJlZCk7XHJcbiAgICAgIC8vICBmb3JtQ29udHJvbHNbZmllbGQuQ0NWYWx1ZV0gPSBuZXcgRm9ybUNvbnRyb2woXHJcbiAgICAgIC8vICAgIHRoaXMuZ3JvdXBbJ196dWRmXycgKyB0aGlzLmRhdGEuTmFtZV0uek1vZGVsW2ZpZWxkLkNDVmFsdWVdLFxyXG4gICAgICAvLyAgICBjY1ZhbGlkYXRvcnNcclxuICAgICAgLy8gICk7XHJcbiAgICAgIC8vfVxyXG5cclxuICAgICAgaWYgKCF6dWRmQ29tcG9uZW50U2NvcGUuZmllbGRzKSB7XHJcbiAgICAgICAgenVkZkNvbXBvbmVudFNjb3BlLmZpZWxkcyA9IFtdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB6dWRmQ29tcG9uZW50U2NvcGUuZmllbGRzLnB1c2goZmllbGRFbGVtZW50KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ2Zvcm1Db250cm9sIGNhbm5vdCBiZSBjcmVhdGVkLicgKyBjb21wb25lbnROYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcGVuZEZvcm1Db250cm9sKGNvbXBvbmVudE5hbWUsIGZvcm1Db250cm9sc1tjb21wb25lbnROYW1lXSwgZmllbGRFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW5kZXJGaWVsZEVsZW1lbnRCeUpzb25TdHJpbmcoZ3JvdXA6IFpHcm91cCwganNvblN0cmluZzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBmaWVsZEVsZW1lbnRNYXN0ZXJDb2RlSnNvbkFycmF5ID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcclxuXHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpZWxkRWxlbWVudE1hc3RlckNvZGVKc29uQXJyYXkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdGhpcy5hcHBlbmRGaWVsZEVsZW1lbnQoZ3JvdXAsIGZpZWxkRWxlbWVudE1hc3RlckNvZGVKc29uQXJyYXlbaV0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gY2Fubm90IHVzZS4genVkZiBhdCBwcm9qZWN0IGxldmVsIG5vdCBsb2FkZWQuXHJcbiAgcHVibGljIHJlbmRlckZpZWxkRWxlbWVudEJ5RmllbGRFbGVtZW50VXJsKGdyb3VwOiBaR3JvdXAsIGZpZWxkRWxlbWVudFVybDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLndlYkFwaVNlcnZpY2UuaHR0cEdldCQoZmllbGRFbGVtZW50VXJsLCB7fSkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcclxuICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJGaWVsZEVsZW1lbnRCeUpzb25TdHJpbmcoZ3JvdXAsIHJlc3BvbnNlLkNvZGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZW5lcmF0ZUZvcm1Db250cm9sTmFtZShjb250cm9sTmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gW3RoaXMuZGF0YS5UeXBlLCB0aGlzLmRhdGEuTmFtZSwgY29udHJvbE5hbWVdLmpvaW4oJ18nKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB2YWxpZGF0ZUFuZFNob3dFcnJvck1lc3NhZ2UoKSB7XHJcbiAgICBjb25zdCBmZyA9IHRoaXMuZm9ybSBhcyBGb3JtR3JvdXA7XHJcbiAgICAvL2lmICghZmcuZGlydHkpIHtcclxuICAgIC8vICBjb25zb2xlLndhcm4oXCJGb3JtIGlzIG5vdCBkaXJ0eSBoZW5jZSByZWNvcmQgaXMgbm90IHNhdmUuXCIpO1xyXG4gICAgLy8gIHJldHVybjtcclxuICAgIC8vfVxyXG5cclxuICAgIGlmICghZmcudmFsaWQpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRFcnJvckhhbmRsZXIuc2hvd0Zvcm1Hcm91cEVycm9yTWVzc2FnZSh0aGlzLmdyb3VwLCBmZyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgc3R5bGU9XCJwYWRkaW5nOiAxNXB4XCIgKm5nSWY9XCJkYXRhLlRpdGxlICYmICghIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiIGNsYXNzPVwiaW9uLXJvd1wiPlxyXG4gIDxrZW5kby1jYXJkICpuZ0lmPVwiZGF0YS5UaXRsZVwiIHdpZHRoPVwiMTAwJVwiID5cclxuICAgPGtlbmRvLWNhcmQtaGVhZGVyICA+XHJcbiAgICAgPGRpdj5cclxuICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJjYXJkLWhlYWRlci10aXRsZVwiPnt7ZGF0YS5UaXRsZX19PC9pb24tbGFiZWw+XHJcbiAgICAgPC9kaXY+XHJcbiAgIDwva2VuZG8tY2FyZC1oZWFkZXI+XHJcbiAgIDxrZW5kby1jYXJkLWJvZHk+XHJcbiAgICAgPGRpdiBjbGFzcz1cImlvbi1yb3dcIj5cclxuICAgICAgIDxhcHAtemZvcm1jb250cm9sIFtuZ0NsYXNzXT1cImdyb3VwW2ZpZWxkLmlzVmlzaWJsZUZpZWxkXSA/IGZpZWxkLkRpdkNsYXNzIDogKChmaWVsZC5WaXNpYmxlID09PSB0cnVlKSA/ICBmaWVsZC5EaXZDbGFzcyA6ICdmbGV4LWhpZGUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZm9ybUZpZWxkIHwgZGl2emxheW91dDogZGF0YS56bGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZ3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInp1ZGZ7e2RhdGEuTmFtZX19LXt7ZmllbGQuVHlwZX19LXt7ZmllbGQuTmFtZX19XCI+XHJcbiAgICAgICA8L2FwcC16Zm9ybWNvbnRyb2w+XHJcbiAgICAgPC9kaXY+XHJcbiAgIDwva2VuZG8tY2FyZC1ib2R5PlxyXG4gPC9rZW5kby1jYXJkPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhZGF0YS5UaXRsZSAmJiAoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIiBjbGFzcz1cImlvbi1yb3dcIj5cclxuIDxhcHAtemZvcm1jb250cm9sIFtuZ0NsYXNzXT1cImdyb3VwW2ZpZWxkLmlzVmlzaWJsZUZpZWxkXSA/IGZpZWxkLkRpdkNsYXNzIDogKChmaWVsZC5WaXNpYmxlID09PSB0cnVlKSA/ICBmaWVsZC5EaXZDbGFzcyA6ICdmbGV4LWhpZGUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZm9ybUZpZWxkIHwgZGl2emxheW91dDogZGF0YS56bGF5b3V0XCJcclxuICAgICAgICAgICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICBbZ3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICBpZD1cInp1ZGZ7e2RhdGEuTmFtZX19LXt7ZmllbGQuVHlwZX19LXt7ZmllbGQuTmFtZX19XCI+XHJcbiA8L2FwcC16Zm9ybWNvbnRyb2w+XHJcbjwvZGl2PlxyXG4iXX0=
|