mmhglobal-dynamicform 1.3.12 → 1.3.13
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 +8 -4
- package/esm2020/lib/directives/elementcontainer.directive.mjs +4 -4
- package/esm2020/lib/directives/fieldelement.directive.mjs +4 -4
- package/esm2020/lib/directives/scrollbar.theme.directive.mjs +4 -4
- package/esm2020/lib/mmhglobal-dynamicform.module.mjs +5 -5
- package/esm2020/lib/services/main.service.mjs +4 -4
- package/esm2020/lib/services/zcomponent.debug.service.mjs +4 -4
- package/esm2020/lib/services/zcomponent.service.mjs +4 -4
- package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +4 -4
- package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +4 -4
- package/esm2020/lib/uicontainer/uicontainer.component.mjs +4 -4
- package/esm2020/lib/uicontent/uicontent.component.mjs +4 -4
- package/esm2020/lib/uiheader/uiheader.component.mjs +4 -4
- package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +4 -4
- package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +4 -4
- package/esm2020/lib/uipage/uipage.component.mjs +4 -4
- package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +4 -4
- package/esm2020/lib/zbullet/zbullet.component.mjs +4 -4
- package/esm2020/lib/zbuttons/zbuttons.component.mjs +4 -4
- package/esm2020/lib/zcard/zcard.component.mjs +4 -4
- package/esm2020/lib/zchart/zchart.component.mjs +4 -4
- package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +4 -4
- package/esm2020/lib/zchip/zchip.component.mjs +4 -4
- package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +4 -4
- package/esm2020/lib/zcodeeditor/zcodeeditor.pipe.mjs +4 -4
- package/esm2020/lib/zdaterange/zdaterange.component.mjs +4 -4
- package/esm2020/lib/zdatetime/dateParser.pipe.mjs +4 -4
- package/esm2020/lib/zdatetime/zdatetime.component.mjs +4 -4
- package/esm2020/lib/zdiv/zdiv.component.mjs +4 -4
- package/esm2020/lib/zdiv/zdiv.pipe.mjs +4 -4
- package/esm2020/lib/zform/zform.component.mjs +4 -4
- package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +4 -4
- package/esm2020/lib/zgauge/zgauge.component.mjs +4 -4
- package/esm2020/lib/zgrid/date-range-cell-filter.component.mjs +4 -4
- package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +4 -4
- package/esm2020/lib/zgrid/zgrid.component.mjs +4 -4
- package/esm2020/lib/zgrid/zgrid.popup.anchor-target.directive.mjs +4 -4
- package/esm2020/lib/zimg/zimg.component.mjs +4 -4
- package/esm2020/lib/zkcard/zkcard.component.mjs +4 -4
- package/esm2020/lib/zlabel/zlabel.component.mjs +4 -4
- package/esm2020/lib/zmfb/zmfb.component.mjs +4 -4
- package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +4 -4
- package/esm2020/lib/zmodal/zmodal.component.mjs +4 -4
- package/esm2020/lib/znumeric/znumeric.component.mjs +4 -4
- package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +4 -4
- package/esm2020/lib/zquerybuilder/zquerybuilder.component.mjs +4 -4
- package/esm2020/lib/zreport/zreport.component.mjs +21 -19
- package/esm2020/lib/zscheduler/zscheduler.component.mjs +4 -4
- package/esm2020/lib/zscheduler/zscheduler.toolbar.component.mjs +4 -4
- package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +4 -4
- package/esm2020/lib/zselectmultiple/zselectmultiple.directive.mjs +4 -4
- package/esm2020/lib/ztab/ztab.component.mjs +4 -4
- package/esm2020/lib/ztab/ztab.pipe.mjs +4 -4
- package/esm2020/lib/ztext/ztext.component.mjs +4 -4
- package/esm2020/lib/ztextarea/ztextarea.component.mjs +4 -4
- package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +4 -4
- package/esm2020/lib/ztree/ztree.component.mjs +4 -4
- package/esm2020/lib/ztreelist/ztreelist.component.mjs +4 -4
- package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +4 -4
- package/esm2020/lib/zudf/zudf.component.mjs +4 -4
- package/esm2020/lib/zunknown/zunknown.component.mjs +4 -4
- package/esm2020/lib/zupload/zupload.component.mjs +4 -4
- package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +4 -4
- package/fesm2015/mmhglobal-dynamicform.mjs +204 -202
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +204 -202
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -5,13 +5,13 @@ export class ZGridPopupAnchorDirective {
|
|
|
5
5
|
this.element = element;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
ZGridPopupAnchorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
9
|
-
ZGridPopupAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
8
|
+
ZGridPopupAnchorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZGridPopupAnchorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
ZGridPopupAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ZGridPopupAnchorDirective, selector: "[popupAnchor]", exportAs: ["popupAnchor"], ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZGridPopupAnchorDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: '[popupAnchor]',
|
|
14
14
|
exportAs: 'popupAnchor'
|
|
15
15
|
}]
|
|
16
16
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemdyaWQucG9wdXAuYW5jaG9yLXRhcmdldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96Z3JpZC96Z3JpZC5wb3B1cC5hbmNob3ItdGFyZ2V0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQyxNQUFNLGVBQWUsQ0FBQzs7QUFNeEUsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFtQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO0lBRXRDLENBQUM7O3VIQUhVLHlCQUF5QjsyR0FBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcG9wdXBBbmNob3JdJyxcclxuICBleHBvcnRBczogJ3BvcHVwQW5jaG9yJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWkdyaWRQb3B1cEFuY2hvckRpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -106,9 +106,9 @@ export class ZimgComponent {
|
|
|
106
106
|
return iconName;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
ZimgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
110
|
-
ZimgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
109
|
+
ZimgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZimgComponent, deps: [{ token: i1.AttachmentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
110
|
+
ZimgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZimgComponent, selector: "app-zimg", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<ion-item>\r\n <ion-label *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">{{data.Label}} <ion-text\r\n *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <img *ngIf=\"!!getGroupValue(data.Value, group)\" [src]=\"onDataSourceChange()\" [width]=\"imgWidth\" [height]=\"imgHeight\" style=\"border-radius: 50%; margin: 5px auto\" />\r\n <img *ngIf=\"this.Guid !==undefined && this.Guid !==FileName\" [src]=\"this.Image\" [width]=\"imgWidth\" [height]=\"imgHeight\" style=\"border-radius: 50%; margin: 5px auto\" />\r\n \r\n <div *ngIf=\"!getGroupValue(data.Value, group)\" (click)=\"onIconClick()\">\r\n <ion-icon name=\"getIconName()\" style=\"zoom:4.0;\">\r\n </ion-icon>\r\n </div>\r\n</ion-item>", styles: [""], components: [{ type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZimgComponent, decorators: [{
|
|
112
112
|
type: Component,
|
|
113
113
|
args: [{ selector: "app-zimg", template: "<ion-item>\r\n <ion-label *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">{{data.Label}} <ion-text\r\n *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <img *ngIf=\"!!getGroupValue(data.Value, group)\" [src]=\"onDataSourceChange()\" [width]=\"imgWidth\" [height]=\"imgHeight\" style=\"border-radius: 50%; margin: 5px auto\" />\r\n <img *ngIf=\"this.Guid !==undefined && this.Guid !==FileName\" [src]=\"this.Image\" [width]=\"imgWidth\" [height]=\"imgHeight\" style=\"border-radius: 50%; margin: 5px auto\" />\r\n \r\n <div *ngIf=\"!getGroupValue(data.Value, group)\" (click)=\"onIconClick()\">\r\n <ion-icon name=\"getIconName()\" style=\"zoom:4.0;\">\r\n </ion-icon>\r\n </div>\r\n</ion-item>", styles: [""] }]
|
|
114
114
|
}], ctorParameters: function () { return [{ type: i1.AttachmentService }]; }, propDecorators: { data: [{
|
|
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
118
118
|
}], form: [{
|
|
119
119
|
type: Input
|
|
120
120
|
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemltZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96aW1nL3ppbWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemltZy96aW1nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPdkQsMkNBQTJDO0FBQzNDLE9BQU8sRUFDTyxnQkFBZ0IsRUFBa0Isb0JBQW9CLEVBRW5FLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBUXpCLE1BQU0sT0FBTyxhQUFhO0lBZXhCLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBWHhELGFBQVEsR0FBVyxJQUFJLENBQUM7UUFDeEIsY0FBUyxHQUFXLElBQUksQ0FBQztRQUN6QixXQUFNLEdBQVcsSUFBSSxDQUFDO1FBQ3RCLGlCQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLHdCQUFtQixHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQTZHMUMsY0FBUyxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDN0IsQ0FBQyxDQUFBO1FBRU0sZUFBVSxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDN0MsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkgsQ0FBQyxDQUFBO0lBbEgyRCxDQUFDO0lBRTdELEtBQUssQ0FBQyxRQUFRO1FBQ1osZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsd0VBQXdFO1FBQ3RJLElBQUksQ0FBQyxRQUFRLEdBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLHdEQUF3RDtRQUVoSSxJQUFHLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxJQUFLLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxFQUFDO1lBQ3ZELElBQUksUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRixJQUFJLENBQUMsS0FBSyxHQUFFLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3hFO1FBTUQseUNBQXlDO1FBQ3pDLG9CQUFvQjtRQUNwQixrQ0FBa0M7UUFDbEMsdUNBQXVDO1FBQ3ZDLFFBQVE7SUFDVixDQUFDO0lBS0QsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0RSxJQUFJLEtBQUssSUFBSSxTQUFTLEVBQUU7WUFDdEIsZ0JBQWdCO1lBQ2hCLGtDQUFrQztZQUNsQyxPQUFPLENBQ0wsU0FBUztnQkFDVCxNQUFNO2dCQUNOLEtBQUs7Z0JBQ0wsUUFBUTtnQkFDUixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDZCw4QkFBOEI7YUFDL0IsQ0FBQztZQUNGLDhDQUE4QztTQUMvQzthQUFNO1lBQ0wsbUNBQW1DO1NBQ3BDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhLEVBQUUsS0FBVTtRQUNyQyxPQUFPLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0IsZ0JBQWdCO0lBQ2hCLGdDQUFnQztJQUVoQyxvRUFBb0U7SUFDcEUsNkNBQTZDO0lBQzdDLHFFQUFxRTtJQUNyRSxzQ0FBc0M7SUFDdEMsUUFBUTtJQUNSLE1BQU07SUFDTixpQkFBaUI7SUFDakIsSUFBSTtJQUVKLFdBQVcsS0FBVSxDQUFDO0lBRXRCLFdBQVc7UUFDVCxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRyxJQUFJLE9BQU8sU0FBUyxLQUFLLFVBQVUsRUFBRTtZQUNuQyxPQUFPLFNBQVMsRUFBRSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0NBQXdDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDbEUsT0FBTztTQUNSO1FBRUQsSUFBSSxPQUFPLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQywrQ0FBK0MsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN6RSxPQUFPO1NBQ1I7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OzBHQW5IVSxhQUFhOzhGQUFiLGFBQWEsd0dDckIxQix5MkJBV1c7MkZEVUUsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxVQUFVO3dHQUtYLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHtcclxuICBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaRmllbGQsIFpHcm91cCwgWkNvbXBvbmVudFByb3BlcnRpZXMsXHJcbiAgV2ViQXBpU2VydmljZSwgQXR0YWNobWVudFNlcnZpY2VcclxufSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXppbWdcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3ppbWcuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vemltZy5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWmltZ0NvbXBvbmVudCBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgaW1nV2lkdGg6IHN0cmluZyA9IG51bGw7XHJcbiAgaW1nSGVpZ2h0OiBzdHJpbmcgPSBudWxsO1xyXG4gIGltZ1NyYzogc3RyaW5nID0gbnVsbDtcclxuICByYW5kb21OdW1iZXIgPSBNYXRoLnJhbmRvbSgpO1xyXG4gIGNvbXBvbmVudFByb3BlcnRpZXMgPSBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuICAvLyBpbWdTb3VyY2VBdmFpbGFibGUgPSBmYWxzZTtcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgR3VpZDtcclxuICBGaWxlTmFtZTtcclxuICBJbWFnZTpzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdHRhY2htZW50U2VydmljZTogQXR0YWNobWVudFNlcnZpY2UpIHsgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgICBpZiAodGhpcy5kYXRhLlNpemUgJiYgdGhpcy5kYXRhLlNpemUudG9Mb3dlckNhc2UoKS5pbmRleE9mKFwieFwiKSAhPT0gLTEpIHtcclxuICAgICAgY29uc3QgaW1nU2l6ZSA9IHRoaXMuZGF0YS5TaXplLnRvTG93ZXJDYXNlKCkuc3BsaXQoXCJ4XCIpO1xyXG4gICAgICB0aGlzLmltZ1dpZHRoID0gaW1nU2l6ZVswXTtcclxuICAgICAgdGhpcy5pbWdIZWlnaHQgPSBpbWdTaXplWzFdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuR3VpZCA9IHRoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGFbJ0d1aWQnXSwgdGhpcy5ncm91cCk7Ly90aGlzLmRhdGFbJ0d1aWQnXTsvL3RoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGFbJ0d1aWQnXSwgdGhpcy5ncm91cCk7XHJcbiAgICB0aGlzLkZpbGVOYW1lID0gICB0aGlzLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhWydGaWxlTmFtZSddLCB0aGlzLmdyb3VwKTsvL3RoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGFbJ0ZpbGVOYW1lJ10sIHRoaXMuZ3JvdXApO1xyXG5cclxuICAgIGlmKHRoaXMuR3VpZCAhPSB1bmRlZmluZWQgJiYgIHRoaXMuRmlsZU5hbWUgIT0gdW5kZWZpbmVkKXtcclxuICAgICAgbGV0IGJsb2JmaWxlID0gYXdhaXQgdGhpcy5hdHRhY2htZW50U2VydmljZS5nZXRJbWFnZUJsb2IodGhpcy5GaWxlTmFtZSwgdGhpcy5HdWlkKTtcclxuICAgICAgdGhpcy5JbWFnZT0gYXdhaXQgdGhpcy5hdHRhY2htZW50U2VydmljZS5jb252ZXJ0QmxvYlRvQmFzZTY0KGJsb2JmaWxlKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgLy8gdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdyb3VwLnpNb2RlbCRcclxuICAgIC8vICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAvLyAgIC5zdWJzY3JpYmUoKHptb2RlbDogYW55KSA9PiB7XHJcbiAgICAvLyAgICAgdGhpcy5vbkRhdGFTb3VyY2VDaGFuZ2Uoem1vZGVsKTtcclxuICAgIC8vICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EYXRhU291cmNlQ2hhbmdlKCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhLlZhbHVlLCB0aGlzLmdyb3VwKTtcclxuICAgIGNvbnN0IHNvdXJjZVVybCA9IHRoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGEuU291cmNlVXJsLCB0aGlzLmdyb3VwKTtcclxuXHJcbiAgICBpZiAodmFsdWUgJiYgc291cmNlVXJsKSB7XHJcbiAgICAgIC8vIHRoaXMuaW1nU3JjID1cclxuICAgICAgLy8gdGhpcy5pbWdTb3VyY2VBdmFpbGFibGUgPSB0cnVlO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIHNvdXJjZVVybCArXHJcbiAgICAgICAgXCI/aWQ9XCIgK1xyXG4gICAgICAgIHZhbHVlICtcclxuICAgICAgICBcIiZzaXplPVwiICtcclxuICAgICAgICB0aGlzLmRhdGEuU2l6ZVxyXG4gICAgICAgIC8vICsgXCImcj1cIiArIHRoaXMucmFuZG9tTnVtYmVyXHJcbiAgICAgICk7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwiaW1hZ2Ugc291cmNlOiBcIiwgdGhpcy5pbWdTcmMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gdGhpcy5pbWdTb3VyY2VBdmFpbGFibGUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEdyb3VwVmFsdWUodmFsdWU6IHN0cmluZywgZ3JvdXA6IGFueSkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSh2YWx1ZSwgZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0VmFsdWUoZGF0YTogc3RyaW5nKSB7XHJcbiAgLy8gICBsZXQgZ0FycmF5OiBBcnJheTxzdHJpbmc+O1xyXG4gIC8vICAgaWYgKGRhdGEpIHtcclxuICAvLyAgICAgZ0FycmF5ID0gZGF0YS5zcGxpdChcIi5cIik7XHJcblxyXG4gIC8vICAgICBpZiAoZ0FycmF5Lmxlbmd0aCA9PT0gMyAmJiBkYXRhLnN0YXJ0c1dpdGgoXCJncm91cC56TW9kZWxcIikpIHtcclxuICAvLyAgICAgICByZXR1cm4gdGhpcy5ncm91cC56TW9kZWxbZ0FycmF5WzJdXTtcclxuICAvLyAgICAgfSBlbHNlIGlmIChnQXJyYXkubGVuZ3RoID09PSAyICYmIGRhdGEuc3RhcnRzV2l0aChcImdyb3VwLlwiKSkge1xyXG4gIC8vICAgICAgIHJldHVybiB0aGlzLmdyb3VwW2dBcnJheVsxXV07XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBudWxsO1xyXG4gIC8vIH1cclxuXHJcbiAgZ2V0SW1nU3R5bGUoKTogYW55IHsgfVxyXG5cclxuICBvbkljb25DbGljaygpIHtcclxuICAgIGNvbnN0IGljb25DbGljayA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuT25JdGVtQ2xpY2ssIHRoaXMuZ3JvdXApO1xyXG4gICAgaWYgKHR5cGVvZiBpY29uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIGljb25DbGljaygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghaWNvbkNsaWNrKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignWkltZyBPbkl0ZW1DbGljayBwcm9wZXJ0eSBpcyBpbnZhbGlkOiAnLCBpY29uQ2xpY2spO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBpY29uQ2xpY2sgIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdaSW1nIE9uSXRlbUNsaWNrIHByb3BlcnR5IGlzIG5vdCBhIGZ1bmN0aW9uOiAnLCBpY29uQ2xpY2spO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJY29uTmFtZSgpIHtcclxuICAgIGNvbnN0IGljb25OYW1lID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5JY29uLCB0aGlzLmdyb3VwKTtcclxuICAgIHJldHVybiBpY29uTmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcbn1cclxuIiwiPGlvbi1pdGVtPlxyXG4gIDxpb24tbGFiZWwgKm5nSWY9XCJkYXRhLlNob3dMYWJlbCA9PT0gdW5kZWZpbmVkIHx8IGRhdGEuU2hvd0xhYmVsXCIgcG9zaXRpb249XCJzdGFja2VkXCI+e3tkYXRhLkxhYmVsfX0gPGlvbi10ZXh0XHJcbiAgICAgICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQpXCIgY29sb3I9XCJkYW5nZXJcIj4qPC9pb24tdGV4dD5cclxuICA8L2lvbi1sYWJlbD5cclxuICA8aW1nICpuZ0lmPVwiISFnZXRHcm91cFZhbHVlKGRhdGEuVmFsdWUsIGdyb3VwKVwiIFtzcmNdPVwib25EYXRhU291cmNlQ2hhbmdlKClcIiBbd2lkdGhdPVwiaW1nV2lkdGhcIiBbaGVpZ2h0XT1cImltZ0hlaWdodFwiIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogNTAlOyBtYXJnaW46IDVweCBhdXRvXCIgLz5cclxuICA8aW1nICpuZ0lmPVwidGhpcy5HdWlkICE9PXVuZGVmaW5lZCAmJiB0aGlzLkd1aWQgIT09RmlsZU5hbWVcIiBbc3JjXT1cInRoaXMuSW1hZ2VcIiBbd2lkdGhdPVwiaW1nV2lkdGhcIiBbaGVpZ2h0XT1cImltZ0hlaWdodFwiIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogNTAlOyBtYXJnaW46IDVweCBhdXRvXCIgLz5cclxuIFxyXG4gIDxkaXYgKm5nSWY9XCIhZ2V0R3JvdXBWYWx1ZShkYXRhLlZhbHVlLCBncm91cClcIiAoY2xpY2spPVwib25JY29uQ2xpY2soKVwiPlxyXG4gICAgPGlvbi1pY29uICBuYW1lPVwiZ2V0SWNvbk5hbWUoKVwiIHN0eWxlPVwiem9vbTo0LjA7XCI+XHJcbiAgICA8L2lvbi1pY29uPlxyXG4gIDwvZGl2PlxyXG48L2lvbi1pdGVtPiJdfQ==
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemltZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96aW1nL3ppbWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemltZy96aW1nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPdkQsMkNBQTJDO0FBQzNDLE9BQU8sRUFDTyxnQkFBZ0IsRUFBa0Isb0JBQW9CLEVBRW5FLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBUXpCLE1BQU0sT0FBTyxhQUFhO0lBZXhCLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBWHhELGFBQVEsR0FBVyxJQUFJLENBQUM7UUFDeEIsY0FBUyxHQUFXLElBQUksQ0FBQztRQUN6QixXQUFNLEdBQVcsSUFBSSxDQUFDO1FBQ3RCLGlCQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLHdCQUFtQixHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQTZHMUMsY0FBUyxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDN0IsQ0FBQyxDQUFBO1FBRU0sZUFBVSxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDN0MsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkgsQ0FBQyxDQUFBO0lBbEgyRCxDQUFDO0lBRTdELEtBQUssQ0FBQyxRQUFRO1FBQ1osZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsd0VBQXdFO1FBQ3RJLElBQUksQ0FBQyxRQUFRLEdBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBLHdEQUF3RDtRQUVoSSxJQUFHLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxJQUFLLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxFQUFDO1lBQ3ZELElBQUksUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRixJQUFJLENBQUMsS0FBSyxHQUFFLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3hFO1FBTUQseUNBQXlDO1FBQ3pDLG9CQUFvQjtRQUNwQixrQ0FBa0M7UUFDbEMsdUNBQXVDO1FBQ3ZDLFFBQVE7SUFDVixDQUFDO0lBS0QsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0RSxJQUFJLEtBQUssSUFBSSxTQUFTLEVBQUU7WUFDdEIsZ0JBQWdCO1lBQ2hCLGtDQUFrQztZQUNsQyxPQUFPLENBQ0wsU0FBUztnQkFDVCxNQUFNO2dCQUNOLEtBQUs7Z0JBQ0wsUUFBUTtnQkFDUixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDZCw4QkFBOEI7YUFDL0IsQ0FBQztZQUNGLDhDQUE4QztTQUMvQzthQUFNO1lBQ0wsbUNBQW1DO1NBQ3BDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhLEVBQUUsS0FBVTtRQUNyQyxPQUFPLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0IsZ0JBQWdCO0lBQ2hCLGdDQUFnQztJQUVoQyxvRUFBb0U7SUFDcEUsNkNBQTZDO0lBQzdDLHFFQUFxRTtJQUNyRSxzQ0FBc0M7SUFDdEMsUUFBUTtJQUNSLE1BQU07SUFDTixpQkFBaUI7SUFDakIsSUFBSTtJQUVKLFdBQVcsS0FBVSxDQUFDO0lBRXRCLFdBQVc7UUFDVCxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRyxJQUFJLE9BQU8sU0FBUyxLQUFLLFVBQVUsRUFBRTtZQUNuQyxPQUFPLFNBQVMsRUFBRSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0NBQXdDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDbEUsT0FBTztTQUNSO1FBRUQsSUFBSSxPQUFPLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQywrQ0FBK0MsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN6RSxPQUFPO1NBQ1I7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OzJHQW5IVSxhQUFhOytGQUFiLGFBQWEsd0dDckIxQix5MkJBV1c7NEZEVUUsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxVQUFVO3dHQUtYLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHtcclxuICBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaRmllbGQsIFpHcm91cCwgWkNvbXBvbmVudFByb3BlcnRpZXMsXHJcbiAgV2ViQXBpU2VydmljZSwgQXR0YWNobWVudFNlcnZpY2VcclxufSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXppbWdcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3ppbWcuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vemltZy5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWmltZ0NvbXBvbmVudCBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgaW1nV2lkdGg6IHN0cmluZyA9IG51bGw7XHJcbiAgaW1nSGVpZ2h0OiBzdHJpbmcgPSBudWxsO1xyXG4gIGltZ1NyYzogc3RyaW5nID0gbnVsbDtcclxuICByYW5kb21OdW1iZXIgPSBNYXRoLnJhbmRvbSgpO1xyXG4gIGNvbXBvbmVudFByb3BlcnRpZXMgPSBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuICAvLyBpbWdTb3VyY2VBdmFpbGFibGUgPSBmYWxzZTtcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgR3VpZDtcclxuICBGaWxlTmFtZTtcclxuICBJbWFnZTpzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdHRhY2htZW50U2VydmljZTogQXR0YWNobWVudFNlcnZpY2UpIHsgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgICBpZiAodGhpcy5kYXRhLlNpemUgJiYgdGhpcy5kYXRhLlNpemUudG9Mb3dlckNhc2UoKS5pbmRleE9mKFwieFwiKSAhPT0gLTEpIHtcclxuICAgICAgY29uc3QgaW1nU2l6ZSA9IHRoaXMuZGF0YS5TaXplLnRvTG93ZXJDYXNlKCkuc3BsaXQoXCJ4XCIpO1xyXG4gICAgICB0aGlzLmltZ1dpZHRoID0gaW1nU2l6ZVswXTtcclxuICAgICAgdGhpcy5pbWdIZWlnaHQgPSBpbWdTaXplWzFdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuR3VpZCA9IHRoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGFbJ0d1aWQnXSwgdGhpcy5ncm91cCk7Ly90aGlzLmRhdGFbJ0d1aWQnXTsvL3RoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGFbJ0d1aWQnXSwgdGhpcy5ncm91cCk7XHJcbiAgICB0aGlzLkZpbGVOYW1lID0gICB0aGlzLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhWydGaWxlTmFtZSddLCB0aGlzLmdyb3VwKTsvL3RoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGFbJ0ZpbGVOYW1lJ10sIHRoaXMuZ3JvdXApO1xyXG5cclxuICAgIGlmKHRoaXMuR3VpZCAhPSB1bmRlZmluZWQgJiYgIHRoaXMuRmlsZU5hbWUgIT0gdW5kZWZpbmVkKXtcclxuICAgICAgbGV0IGJsb2JmaWxlID0gYXdhaXQgdGhpcy5hdHRhY2htZW50U2VydmljZS5nZXRJbWFnZUJsb2IodGhpcy5GaWxlTmFtZSwgdGhpcy5HdWlkKTtcclxuICAgICAgdGhpcy5JbWFnZT0gYXdhaXQgdGhpcy5hdHRhY2htZW50U2VydmljZS5jb252ZXJ0QmxvYlRvQmFzZTY0KGJsb2JmaWxlKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgLy8gdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdyb3VwLnpNb2RlbCRcclxuICAgIC8vICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAvLyAgIC5zdWJzY3JpYmUoKHptb2RlbDogYW55KSA9PiB7XHJcbiAgICAvLyAgICAgdGhpcy5vbkRhdGFTb3VyY2VDaGFuZ2Uoem1vZGVsKTtcclxuICAgIC8vICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EYXRhU291cmNlQ2hhbmdlKCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhLlZhbHVlLCB0aGlzLmdyb3VwKTtcclxuICAgIGNvbnN0IHNvdXJjZVVybCA9IHRoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGEuU291cmNlVXJsLCB0aGlzLmdyb3VwKTtcclxuXHJcbiAgICBpZiAodmFsdWUgJiYgc291cmNlVXJsKSB7XHJcbiAgICAgIC8vIHRoaXMuaW1nU3JjID1cclxuICAgICAgLy8gdGhpcy5pbWdTb3VyY2VBdmFpbGFibGUgPSB0cnVlO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIHNvdXJjZVVybCArXHJcbiAgICAgICAgXCI/aWQ9XCIgK1xyXG4gICAgICAgIHZhbHVlICtcclxuICAgICAgICBcIiZzaXplPVwiICtcclxuICAgICAgICB0aGlzLmRhdGEuU2l6ZVxyXG4gICAgICAgIC8vICsgXCImcj1cIiArIHRoaXMucmFuZG9tTnVtYmVyXHJcbiAgICAgICk7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwiaW1hZ2Ugc291cmNlOiBcIiwgdGhpcy5pbWdTcmMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gdGhpcy5pbWdTb3VyY2VBdmFpbGFibGUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEdyb3VwVmFsdWUodmFsdWU6IHN0cmluZywgZ3JvdXA6IGFueSkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSh2YWx1ZSwgZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0VmFsdWUoZGF0YTogc3RyaW5nKSB7XHJcbiAgLy8gICBsZXQgZ0FycmF5OiBBcnJheTxzdHJpbmc+O1xyXG4gIC8vICAgaWYgKGRhdGEpIHtcclxuICAvLyAgICAgZ0FycmF5ID0gZGF0YS5zcGxpdChcIi5cIik7XHJcblxyXG4gIC8vICAgICBpZiAoZ0FycmF5Lmxlbmd0aCA9PT0gMyAmJiBkYXRhLnN0YXJ0c1dpdGgoXCJncm91cC56TW9kZWxcIikpIHtcclxuICAvLyAgICAgICByZXR1cm4gdGhpcy5ncm91cC56TW9kZWxbZ0FycmF5WzJdXTtcclxuICAvLyAgICAgfSBlbHNlIGlmIChnQXJyYXkubGVuZ3RoID09PSAyICYmIGRhdGEuc3RhcnRzV2l0aChcImdyb3VwLlwiKSkge1xyXG4gIC8vICAgICAgIHJldHVybiB0aGlzLmdyb3VwW2dBcnJheVsxXV07XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBudWxsO1xyXG4gIC8vIH1cclxuXHJcbiAgZ2V0SW1nU3R5bGUoKTogYW55IHsgfVxyXG5cclxuICBvbkljb25DbGljaygpIHtcclxuICAgIGNvbnN0IGljb25DbGljayA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuT25JdGVtQ2xpY2ssIHRoaXMuZ3JvdXApO1xyXG4gICAgaWYgKHR5cGVvZiBpY29uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIGljb25DbGljaygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghaWNvbkNsaWNrKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignWkltZyBPbkl0ZW1DbGljayBwcm9wZXJ0eSBpcyBpbnZhbGlkOiAnLCBpY29uQ2xpY2spO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBpY29uQ2xpY2sgIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdaSW1nIE9uSXRlbUNsaWNrIHByb3BlcnR5IGlzIG5vdCBhIGZ1bmN0aW9uOiAnLCBpY29uQ2xpY2spO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJY29uTmFtZSgpIHtcclxuICAgIGNvbnN0IGljb25OYW1lID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5JY29uLCB0aGlzLmdyb3VwKTtcclxuICAgIHJldHVybiBpY29uTmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcbn1cclxuIiwiPGlvbi1pdGVtPlxyXG4gIDxpb24tbGFiZWwgKm5nSWY9XCJkYXRhLlNob3dMYWJlbCA9PT0gdW5kZWZpbmVkIHx8IGRhdGEuU2hvd0xhYmVsXCIgcG9zaXRpb249XCJzdGFja2VkXCI+e3tkYXRhLkxhYmVsfX0gPGlvbi10ZXh0XHJcbiAgICAgICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQpXCIgY29sb3I9XCJkYW5nZXJcIj4qPC9pb24tdGV4dD5cclxuICA8L2lvbi1sYWJlbD5cclxuICA8aW1nICpuZ0lmPVwiISFnZXRHcm91cFZhbHVlKGRhdGEuVmFsdWUsIGdyb3VwKVwiIFtzcmNdPVwib25EYXRhU291cmNlQ2hhbmdlKClcIiBbd2lkdGhdPVwiaW1nV2lkdGhcIiBbaGVpZ2h0XT1cImltZ0hlaWdodFwiIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogNTAlOyBtYXJnaW46IDVweCBhdXRvXCIgLz5cclxuICA8aW1nICpuZ0lmPVwidGhpcy5HdWlkICE9PXVuZGVmaW5lZCAmJiB0aGlzLkd1aWQgIT09RmlsZU5hbWVcIiBbc3JjXT1cInRoaXMuSW1hZ2VcIiBbd2lkdGhdPVwiaW1nV2lkdGhcIiBbaGVpZ2h0XT1cImltZ0hlaWdodFwiIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogNTAlOyBtYXJnaW46IDVweCBhdXRvXCIgLz5cclxuIFxyXG4gIDxkaXYgKm5nSWY9XCIhZ2V0R3JvdXBWYWx1ZShkYXRhLlZhbHVlLCBncm91cClcIiAoY2xpY2spPVwib25JY29uQ2xpY2soKVwiPlxyXG4gICAgPGlvbi1pY29uICBuYW1lPVwiZ2V0SWNvbk5hbWUoKVwiIHN0eWxlPVwiem9vbTo0LjA7XCI+XHJcbiAgICA8L2lvbi1pY29uPlxyXG4gIDwvZGl2PlxyXG48L2lvbi1pdGVtPiJdfQ==
|
|
@@ -359,10 +359,10 @@ export class ZkcardComponent {
|
|
|
359
359
|
this.scrollViewCards.total = this.responseData.data.filter(x => event.includes(x.WFS_StatusName)).length;
|
|
360
360
|
}
|
|
361
361
|
}
|
|
362
|
-
ZkcardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
363
|
-
ZkcardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
364
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
362
|
+
ZkcardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZkcardComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ResourceApiService }, { token: i2.AuthService }, { token: i2.ZGridStatePersistingService }, { token: i2.WebApiService }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
363
|
+
ZkcardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZkcardComponent, selector: "app-zkcard", ngImport: i0, template: "<!--<kendo-multiselect [data]=\"filterItems\" [value]=\"value\" [placeholder]=\"'Survey Status'\" [filterable]=\"true\"\r\n (valueChange)=\"valueChange($event)\"></kendo-multiselect>\r\n -->\r\n<div class=\"survey-card-list\">\r\n <div *ngFor=\"let card of scrollViewCards.data\">\r\n <scrollview-card [card]=\"card\"></scrollview-card>\r\n <kendo-card class=\"custom-card-draft\" *ngIf=\"card.WFS_StatusName == 'Draft'\" [width]=\"'250px'\">\r\n <kendo-card-header class=\"k-hbox\">\r\n <div>\r\n <h1 kendoCardTitle>{{ card.SurveyTemplateName }}</h1>\r\n <p kendoCardSubtitle>Survey Doc No: {{card.DocumentNo}}</p>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body class=\"card-body\">\r\n Mill Name: {{card.PartnerMillName}}\r\n <br />\r\n Survey Status: {{card.WFS_StatusName}}\r\n </kendo-card-body>\r\n <kendo-card-footer>\r\n Survey Progression:\r\n <kendo-progressbar style=\"width: 210px; border-radius:10px\" [value]=\"card.value\" [label]=\"label\" [progressCssStyle]=\"progressStyles\">\r\n </kendo-progressbar>\r\n\r\n <kendo-card-actions class=\"k-hbox-actionBtn\" orientation=\"horizontal\" [layout]=\"'end'\">\r\n <ion-button fill=\"outline\"\r\n color=\"dark\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n (click)=\"start(card)\">\r\n <span class=\"ion-text-capitalize\">Continue </span>\r\n <fa-icon [icon]=\"getFontAwesome('play')\" style=\"padding-left: 5px;\"></fa-icon>\r\n </ion-button>\r\n </kendo-card-actions>\r\n </kendo-card-footer>\r\n </kendo-card>\r\n\r\n <kendo-card class=\"custom-card-submit\" *ngIf=\"card.WFS_StatusName == 'Submitted'\" [width]=\"'250px'\">\r\n <kendo-card-header class=\"k-hbox\">\r\n <div>\r\n <h1 kendoCardTitle>{{ card.SurveyTemplateName }}</h1>\r\n <p kendoCardSubtitle>Survey Doc No: {{card.DocumentNo}}</p>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body class=\"card-body\">\r\n Mill Name: {{card.PartnerMillName}}\r\n <br />\r\n Survey Status: {{card.WFS_StatusName}}\r\n </kendo-card-body>\r\n <kendo-card-footer>\r\n Survey Progression:\r\n <kendo-progressbar style=\"width: 210px; border-radius:10px\" [value]=\"card.value\" [label]=\"label\" [progressCssStyle]=\"progressStyles\">\r\n </kendo-progressbar>\r\n <kendo-card-actions class=\"k-hbox-actionBtn\" orientation=\"horizontal\" [layout]=\"'end'\">\r\n <ion-button fill=\"outline\"\r\n color=\"dark\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n (click)=\"start(card)\">\r\n <span class=\"ion-text-capitalize\">View </span>\r\n <fa-icon [icon]=\"getFontAwesome('file-alt')\" style=\"padding-left: 5px;\"></fa-icon>\r\n </ion-button>\r\n </kendo-card-actions>\r\n </kendo-card-footer>\r\n </kendo-card>\r\n\r\n <kendo-card class=\"custom-card-new\" *ngIf=\"card.WFS_StatusName == 'New'\" [width]=\"'250px'\">\r\n <kendo-card-header class=\"k-hbox\">\r\n <div>\r\n <h1 kendoCardTitle>{{ card.SurveyTemplateName }}</h1>\r\n <p kendoCardSubtitle>{{card.DocumentNo}}</p>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body class=\"card-body\">\r\n Mill Name: {{card.PartnerMillName}}\r\n <br />\r\n Survey Status: {{card.WFS_StatusName}}\r\n </kendo-card-body>\r\n <kendo-card-footer>\r\n Survey Progression:\r\n <kendo-progressbar style=\"width: 210px; border-radius:10px\" [value]=\"card.value\" [label]=\"label\" [progressCssStyle]=\"progressStyles\">\r\n </kendo-progressbar>\r\n <kendo-card-actions class=\"k-hbox-actionBtn\" orientation=\"horizontal\" [layout]=\"'end'\">\r\n <ion-button fill=\"outline\"\r\n color=\"dark\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n (click)=\"start(card)\">\r\n <span class=\"ion-text-capitalize\">Start </span>\r\n <fa-icon [icon]=\"getFontAwesome('play')\" style=\"padding-left: 5px;\"></fa-icon>\r\n </ion-button>\r\n </kendo-card-actions>\r\n </kendo-card-footer>\r\n </kendo-card>\r\n </div>\r\n</div>\r\n", styles: [".survey-card-list{display:flex;flex-wrap:wrap;background-color:#f0dcd9;align-items:center;border-radius:10px}.custom-card-submit{margin:20px;border:3px solid;border-color:green;border-radius:15px}.custom-card-draft,.custom-card-new{margin:20px;border:3px solid;border-color:orange;border-radius:15px}.button-container{font-size:13px;height:30px}\n"], components: [{ type: i3.CardComponent, selector: "kendo-card", inputs: ["orientation", "width"] }, { type: i3.CardHeaderComponent, selector: "kendo-card-header" }, { type: i3.CardBodyComponent, selector: "kendo-card-body" }, { type: i3.CardFooterComponent, selector: "kendo-card-footer" }, { type: i4.ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "animation", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }, { type: i3.CardActionsComponent, selector: "kendo-card-actions", inputs: ["orientation", "layout", "actions"], outputs: ["action"] }, { type: i5.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { type: i6.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.CardTitleDirective, selector: "[kendoCardTitle]" }, { type: i3.CardSubtitleDirective, selector: "[kendoCardSubtitle]" }] });
|
|
364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZkcardComponent, decorators: [{
|
|
365
365
|
type: Component,
|
|
366
366
|
args: [{ selector: 'app-zkcard', template: "<!--<kendo-multiselect [data]=\"filterItems\" [value]=\"value\" [placeholder]=\"'Survey Status'\" [filterable]=\"true\"\r\n (valueChange)=\"valueChange($event)\"></kendo-multiselect>\r\n -->\r\n<div class=\"survey-card-list\">\r\n <div *ngFor=\"let card of scrollViewCards.data\">\r\n <scrollview-card [card]=\"card\"></scrollview-card>\r\n <kendo-card class=\"custom-card-draft\" *ngIf=\"card.WFS_StatusName == 'Draft'\" [width]=\"'250px'\">\r\n <kendo-card-header class=\"k-hbox\">\r\n <div>\r\n <h1 kendoCardTitle>{{ card.SurveyTemplateName }}</h1>\r\n <p kendoCardSubtitle>Survey Doc No: {{card.DocumentNo}}</p>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body class=\"card-body\">\r\n Mill Name: {{card.PartnerMillName}}\r\n <br />\r\n Survey Status: {{card.WFS_StatusName}}\r\n </kendo-card-body>\r\n <kendo-card-footer>\r\n Survey Progression:\r\n <kendo-progressbar style=\"width: 210px; border-radius:10px\" [value]=\"card.value\" [label]=\"label\" [progressCssStyle]=\"progressStyles\">\r\n </kendo-progressbar>\r\n\r\n <kendo-card-actions class=\"k-hbox-actionBtn\" orientation=\"horizontal\" [layout]=\"'end'\">\r\n <ion-button fill=\"outline\"\r\n color=\"dark\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n (click)=\"start(card)\">\r\n <span class=\"ion-text-capitalize\">Continue </span>\r\n <fa-icon [icon]=\"getFontAwesome('play')\" style=\"padding-left: 5px;\"></fa-icon>\r\n </ion-button>\r\n </kendo-card-actions>\r\n </kendo-card-footer>\r\n </kendo-card>\r\n\r\n <kendo-card class=\"custom-card-submit\" *ngIf=\"card.WFS_StatusName == 'Submitted'\" [width]=\"'250px'\">\r\n <kendo-card-header class=\"k-hbox\">\r\n <div>\r\n <h1 kendoCardTitle>{{ card.SurveyTemplateName }}</h1>\r\n <p kendoCardSubtitle>Survey Doc No: {{card.DocumentNo}}</p>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body class=\"card-body\">\r\n Mill Name: {{card.PartnerMillName}}\r\n <br />\r\n Survey Status: {{card.WFS_StatusName}}\r\n </kendo-card-body>\r\n <kendo-card-footer>\r\n Survey Progression:\r\n <kendo-progressbar style=\"width: 210px; border-radius:10px\" [value]=\"card.value\" [label]=\"label\" [progressCssStyle]=\"progressStyles\">\r\n </kendo-progressbar>\r\n <kendo-card-actions class=\"k-hbox-actionBtn\" orientation=\"horizontal\" [layout]=\"'end'\">\r\n <ion-button fill=\"outline\"\r\n color=\"dark\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n (click)=\"start(card)\">\r\n <span class=\"ion-text-capitalize\">View </span>\r\n <fa-icon [icon]=\"getFontAwesome('file-alt')\" style=\"padding-left: 5px;\"></fa-icon>\r\n </ion-button>\r\n </kendo-card-actions>\r\n </kendo-card-footer>\r\n </kendo-card>\r\n\r\n <kendo-card class=\"custom-card-new\" *ngIf=\"card.WFS_StatusName == 'New'\" [width]=\"'250px'\">\r\n <kendo-card-header class=\"k-hbox\">\r\n <div>\r\n <h1 kendoCardTitle>{{ card.SurveyTemplateName }}</h1>\r\n <p kendoCardSubtitle>{{card.DocumentNo}}</p>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body class=\"card-body\">\r\n Mill Name: {{card.PartnerMillName}}\r\n <br />\r\n Survey Status: {{card.WFS_StatusName}}\r\n </kendo-card-body>\r\n <kendo-card-footer>\r\n Survey Progression:\r\n <kendo-progressbar style=\"width: 210px; border-radius:10px\" [value]=\"card.value\" [label]=\"label\" [progressCssStyle]=\"progressStyles\">\r\n </kendo-progressbar>\r\n <kendo-card-actions class=\"k-hbox-actionBtn\" orientation=\"horizontal\" [layout]=\"'end'\">\r\n <ion-button fill=\"outline\"\r\n color=\"dark\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n (click)=\"start(card)\">\r\n <span class=\"ion-text-capitalize\">Start </span>\r\n <fa-icon [icon]=\"getFontAwesome('play')\" style=\"padding-left: 5px;\"></fa-icon>\r\n </ion-button>\r\n </kendo-card-actions>\r\n </kendo-card-footer>\r\n </kendo-card>\r\n </div>\r\n</div>\r\n", styles: [".survey-card-list{display:flex;flex-wrap:wrap;background-color:#f0dcd9;align-items:center;border-radius:10px}.custom-card-submit{margin:20px;border:3px solid;border-color:green;border-radius:15px}.custom-card-draft,.custom-card-new{margin:20px;border:3px solid;border-color:orange;border-radius:15px}.button-container{font-size:13px;height:30px}\n"] }]
|
|
367
367
|
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.ResourceApiService }, { type: i2.AuthService }, { type: i2.ZGridStatePersistingService }, { type: i2.WebApiService }, { type: i1.Router }]; } });
|
|
368
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemtjYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3prY2FyZC96a2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemtjYXJkL3prY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFRN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk1QywyQ0FBMkM7QUFDM0MsT0FBTyxFQUVPLGdCQUFnQixFQUU3QixNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFRekIsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFDVSxjQUE4QixFQUM5QixrQkFBc0MsRUFDdEMsV0FBd0IsRUFDeEIsMkJBQXdELEVBQ3hELGFBQTRCLEVBQzVCLE1BQWM7UUFMZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFNeEIsVUFBSyxHQUFRLElBQUksQ0FBQztRQUNsQixvQkFBZSxHQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDOUMsaUJBQVksR0FBUSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzNDLFdBQU0sR0FBdUI7WUFDM0IsT0FBTyxFQUFFLElB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LENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNHLENBQUM7OzRHQTFiVSxlQUFlO2dHQUFmLGVBQWUsa0RDMUI1Qixnb0pBa0dBOzJGRHhFYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlbGF5LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IExhYmVsU2V0dGluZ3MgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1wcm9ncmVzc2Jhcic7XHJcbmltcG9ydCB7IFN0YXRlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQge1xyXG4gIEF1dGhTZXJ2aWNlLCBaRmllbGQsIFpHcm91cCwgUmVzb3VyY2VBcGlTZXJ2aWNlLCBXZWJBcGlTZXJ2aWNlLCBHcmlkQ2FjaGluZyxcclxuICBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaQ29tcG9uZW50T3V0cHV0RXZlbnQsXHJcbiAgWkdyaWRTdGF0ZVBlcnNpc3RpbmdTZXJ2aWNlLCBaR3JpZENvbHVtblNldHRpbmdzLCBaR3JpZFBvc3RBcGlQYXJhbXNcclxufSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXprY2FyZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3prY2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vemtjYXJkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaa2NhcmRDb21wb25lbnQgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJlc291cmNlQXBpU2VydmljZTogUmVzb3VyY2VBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHpHcmlkU3RhdGVQZXJzaXN0aW5nU2VydmljZTogWkdyaWRTdGF0ZVBlcnNpc3RpbmdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB3ZWJhcGlTZXJ2aWNlOiBXZWJBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICApIHsgfVxyXG5cclxuICBkYXRhOiBaRmllbGQ7XHJcbiAgZ3JvdXA6IFpHcm91cDtcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgemdyaWQ6IGFueSA9IG51bGw7XHJcbiAgc2Nyb2xsVmlld0NhcmRzOiBhbnkgPSB7IGRhdGE6IFtdLCB0b3RhbDogMCB9O1xyXG4gIHJlc3BvbnNlRGF0YTogYW55ID0geyBkYXRhOiBbXSwgdG90YWw6IDAgfTtcclxuICBwYXJhbXM6IFpHcmlkUG9zdEFwaVBhcmFtcyA9IHtcclxuICAgIHJlZmVySWQ6IG51bGwsXHJcbiAgICBwYWdlTm86IDAsXHJcbiAgICBwYWdlU2l6ZTogMjAsXHJcbiAgICBzb3J0Q29sdW1uTmFtZTogXCJcIixcclxuICAgIHNvcnRPcmRlcjogXCJcIixcclxuICAgIHNvcnRDb2x1bW5OYW1lczogW10sXHJcbiAgICBzb3J0T3JkZXJzOiBbXSxcclxuICAgIGZpbHRlclBhcmFtczogW10sXHJcbiAgICBwYXJhbWV0ZXJzOiBcIlwiLFxyXG4gICAgZmlsdGVyczogXCJcIixcclxuICAgIGNvbHVtbnM6IFwiXCIsXHJcbiAgICBncmFudFR5cGU6IDRcclxuICB9O1xyXG4gIC8vZ3JpZERhdGE6IEdyaWREYXRhUmVzdWx0O1xyXG4gIGNvbHVtbnM6IGFueVtdO1xyXG4gIGdyaWRDb2x1bW5zOiBhbnlbXSA9IFtdO1xyXG4gIHVzYWJsZUNvbHVtbnM6IGFueVtdID0gW107XHJcbiAgZGF0YVNvdXJjZSA9IG51bGw7XHJcbiAgc3RhdGU6IFN0YXRlID0ge1xyXG4gICAgc2tpcDogMCxcclxuICAgIHRha2U6IDEwLFxyXG4gIH07XHJcbiAgcGFnaW5hdGlvbkFwaVBvc3RVcmwgPSBudWxsO1xyXG4gIHJlc291cmNlVVJMID0gbnVsbDtcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBwdWJsaWMgZmlsdGVySXRlbXM6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICBwdWJsaWMgcHJvZ3Jlc3NTdHlsZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7XHJcbiAgICBjb2xvcjogJycsXHJcbiAgICBiYWNrZ3JvdW5kOiAnZ3JlZW4nXHJcbiAgfTtcclxuICBwdWJsaWMgbG9hZGluZ1BhbmVsVmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuXHJcbiAgcHVibGljIGxhYmVsOiBMYWJlbFNldHRpbmdzID0ge1xyXG4gICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgIGZvcm1hdDogJ3BlcmNlbnQnLFxyXG4gICAgcG9zaXRpb246ICdjZW50ZXInXHJcbiAgfTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudFByb3BlcnRpZXModGhpcyk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG5cclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IHRoaXMuZmllbGQuRGF0YVNvdXJjZSA/IHRoaXMuZmllbGQuRGF0YVNvdXJjZSA6IG51bGw7XHJcbiAgICB0aGlzLmZpbHRlckl0ZW1zID0gdGhpcy5ncm91cFsnZmlsdGVySXRlbXMnXTtcclxuICAgIGlmICghdGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VVUkwgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUoXHJcbiAgICAgICAgdGhpcy5maWVsZC5SZXNvdXJjZVVSTCxcclxuICAgICAgICB0aGlzLmdycFxyXG4gICAgICApO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhcIkF0IHpncmlkLmNvbXBvbmVudCAoT25Jbml0KSByZXNvdXJjZVVSTDogXCIsIHJlc291cmNlVVJMKTtcclxuICAgICAgaWYgKCF0aGlzLnJlc291cmNlVVJMKSB7XHJcbiAgICAgICAgLy8gdGhpcy5ncmlkLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAvL2lmICh0aGlzLnpncmlkYmluZGluZy5kYXRhLk5hbWUgIT09IFwiQWN0aXZpdHlMb2dHcmlkXCIpIHtcclxuICAgICAgICAvLyAgY29uc29sZS53YXJuKFxyXG4gICAgICAgIC8vICAgIFwiTm8gaW5pdGlhbGlzZSBmb3IgRmllbGQuUmVzb3VyY2VVUkw6IFwiLFxyXG4gICAgICAgIC8vICAgIHRoaXMuZmllbGQuUmVzb3VyY2VVUkxcclxuICAgICAgICAvLyAgKTtcclxuICAgICAgICAvL31cclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGFycmF5ID0gdGhpcy5yZXNvdXJjZVVSTC5zcGxpdChcIi9hcGkvXCIpO1xyXG4gICAgICBpZiAoISFhcnJheVsxXSkge1xyXG4gICAgICAgIGFycmF5WzFdID0gXCJQYWdlXCIgKyBhcnJheVsxXTtcclxuICAgICAgICB0aGlzLnBhZ2luYXRpb25BcGlQb3N0VXJsID0gYXJyYXkuam9pbihcIi9hcGkvXCIpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGFyciA9IHRoaXMucmVzb3VyY2VVUkwuc3BsaXQoXCIvXCIpO1xyXG4gICAgICAgIGFyclthcnIubGVuZ3RoIC0gMl0gPSBcIlBhZ2VcIiArIGFyclthcnIubGVuZ3RoIC0gMl07XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uQXBpUG9zdFVybCA9IGFyci5qb2luKFwiL1wiKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZXRGaWx0ZXJQYXJhbXNCeVBhcmVudFJlZklkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5nZW5lcmF0ZUdyaWRDb2x1bW5zKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIGlmICh0aGlzLnpncmlkKSB7XHJcbiAgICAgIHRoaXMuemdyaWQuZ2V0RGF0YUJpbmRpbmcoKTtcclxuICAgIH1cclxuICAgIC8vaWYgKHRoaXMuZGF0YS5Ta2lwRGlyZWN0aXZlKSB7XHJcbiAgICAvLyAgdGhpcy5ncmlkRGF0YSA9IHByb2Nlc3ModGhpcy5nRGF0YSwgdGhpcy5zdGF0ZSk7XHJcbiAgICAvLyAgdGhpcy5jcmVhdGVGb3JtQ29udHJvbHMoKTtcclxuICAgIC8vfVxyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVHcmlkQ29sdW1ucygpIHtcclxuICAgIHRoaXMubG9hZGluZ1BhbmVsVmlzaWJsZSA9IHRydWU7XHJcbiAgICBjb25zdCBjb2x1bW5GaWVsZHMkOiBPYnNlcnZhYmxlPGFueT4gPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUoXHJcbiAgICAgIHRoaXMuZmllbGQuQ29sdW1uRmllbGRzLFxyXG4gICAgICB0aGlzLmdycFxyXG4gICAgKTtcclxuICAgIGNvbHVtbkZpZWxkcyRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFwKChkYXRhKSA9PiB7XHJcblxyXG4gICAgICAgICAgY29uc3QgZ3JpZFNldHRpbmcgPSB0aGlzLmdldEdyaWRTZXR0aW5ncygpO1xyXG4gICAgICAgICAgY29uc3QgZmllbGROYW1lID0gdGhpcy5maWVsZFtcIkZpZWxkRWxlbWVudE5hbWVcIl07XHJcbiAgICAgICAgICBaQ29tcG9uZW50SGVscGVyLmdldEdyaWRDb2x1bW5zKFxyXG4gICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICB0aGlzLmdyaWRDb2x1bW5zLFxyXG4gICAgICAgICAgICB0aGlzLmdyb3VwLFxyXG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLFxyXG4gICAgICAgICAgICBmaWVsZE5hbWUsXHJcbiAgICAgICAgICAgIGdyaWRTZXR0aW5nLFxyXG4gICAgICAgICAgICB0aGlzLnVzYWJsZUNvbHVtbnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmdldEZpbHRlclBhcmFtc0NvbHVtbnMoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0RmlsdGVyKCk7XHJcbiAgICAgICAgICAvL3RoaXMuZ2V0U29ydGluZygpO1xyXG4gICAgICAgICAgLy90aGlzLmdldEdyYW50VHlwZSgpO1xyXG4gICAgICAgICAgLy90aGlzLnNldEhpZGRlbkNvbHVtbihncmlkU2V0dGluZyk7XHJcbiAgICAgICAgICAvL3RoaXMucGFyYW1zLnJlZmVySWQgPSB0aGlzLmdldEZpZWxkUmVmZXJlbmNlSWQoKSB8fCB0aGlzLmdycC5yZWZlcmVuY2VJZCB8fCBudWxsO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldERhdGFCaW5kaW5nKCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXREYXRhQmluZGluZygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgIHRoaXMucGFyYW0ucGFnZVNpemUgPSB0aGlzLmZpZWxkLlBhZ2VTaXplID8/IDUwO1xyXG4gICAgICBpZiAodGhpcy5maWVsZC5FeHRlcm5hbFBhZ2luYXRpb24pIHtcclxuICAgICAgICAvLyBGb3IgUE9TVCBtZXRob2QgUGFnZSBXZWJBUElcclxuICAgICAgICB0aGlzLndlYmFwaVNlcnZpY2VcclxuICAgICAgICAgIC5wb3N0QXBpKFxyXG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRpb25BcGlQb3N0VXJsLFxyXG4gICAgICAgICAgICB0aGlzLnBhcmFtLFxyXG4gICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICB0cnVlXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGRlbGF5KDI1MDApXHJcbiAgICAgICAgICAgIHRoaXMucmVzcG9uc2VEYXRhID0geyBkYXRhOiBkYXRhLmRhdGFTZXQsIHRvdGFsOiBkYXRhLnRvdGFsQ291bnQgfTtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3Q2FyZHMgPSB7IGRhdGE6IGRhdGEuZGF0YVNldCwgdG90YWw6IGRhdGEudG90YWxDb3VudCB9O1xyXG4gICAgICAgICAgICBpZiAoZGF0YS5kYXRhU2V0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICB0aGlzLmdldFJlY29yZHNTdW1tYXJ5KCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuUmVzb3VyY2VVUkxBbHQpIHtcclxuICAgICAgICAgICAgICB0aGlzLmdldE5ld1N1cnZleSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vdGhpcy5hZ2dyZWdhdGVIYW5kbGluZyhkYXRhLmRhdGFTZXQpO1xyXG4gICAgICAgICAgICAvL3RoaXMuZ3JpZC5kYXRhID0geyBkYXRhOiBkYXRhLmRhdGFTZXQsIHRvdGFsOiBkYXRhLnRvdGFsQ291bnQgfTtcclxuICAgICAgICAgICAgLy90aGlzLmdyaWQubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdQYW5lbFZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgLy90aGlzLm5vdGlmeURhdGFDaGFuZ2UoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIEZvciBHRVQgbWV0aG9kXHJcbiAgICAgICAgdGhpcy53ZWJhcGlTZXJ2aWNlXHJcbiAgICAgICAgICAuZ2V0QXBpKHRoaXMucmVzb3VyY2VVUkwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIHRydWUpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBfZGF0YSA9IG51bGw7XHJcbiAgICAgICAgICAgIGxldCBfdG90YWxDb3VudCA9IDA7XHJcblxyXG4gICAgICAgICAgICBpZiAoZGF0YS5kYXRhU2V0KSB7XHJcbiAgICAgICAgICAgICAgX2RhdGEgPSBkYXRhLmRhdGFTZXQ7XHJcbiAgICAgICAgICAgICAgX3RvdGFsQ291bnQgPSBkYXRhLnRvdGFsQ291bnQ7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgX2RhdGEgPSBkYXRhO1xyXG4gICAgICAgICAgICAgIF90b3RhbENvdW50ID0gZGF0YS5sZW5ndGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nUGFuZWxWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIC8vdGhpcy5hZ2dyZWdhdGVIYW5kbGluZyhfZGF0YSk7XHJcbiAgICAgICAgICAgIC8vdGhpcy5ncmlkLmRhdGEgPSB7IGRhdGE6IF9kYXRhLCB0b3RhbDogX3RvdGFsQ291bnQgfTtcclxuICAgICAgICAgICAgLy90aGlzLmdyaWQucGFnZVNpemUgPSBfdG90YWxDb3VudDtcclxuICAgICAgICAgICAgLy90aGlzLmdyaWQubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAvL3RoaXMubm90aWZ5RGF0YUNoYW5nZSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRzID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKFxyXG4gICAgICAgIHRoaXMuZmllbGQuRGF0YVNvdXJjZSxcclxuICAgICAgICB0aGlzLmdycFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UmVjb3Jkc1N1bW1hcnkoKSB7XHJcbiAgICBsZXQgU3VydmV5SWRzID0gW107XHJcblxyXG4gICAgdGhpcy5yZXNwb25zZURhdGEuZGF0YS5mb3JFYWNoKHZhbHVlID0+IHtcclxuICAgICAgU3VydmV5SWRzLnB1c2godmFsdWUuSWQpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy53ZWJhcGlTZXJ2aWNlXHJcbiAgICAgIC5wb3N0QXBpKFxyXG4gICAgICAgIHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFVSTCgncHBzYXBzdXJ2ZXlzdW1tYXJ5aW5mb1VSTCcpLFxyXG4gICAgICAgIFN1cnZleUlkcyxcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgIG51bGwsXHJcbiAgICAgICAgbnVsbCxcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgIHRydWVcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2VEYXRhLmRhdGEuZm9yRWFjaCh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICBkYXRhLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAgIGlmICh4LlN1cnZleUlkID09IHZhbHVlLklkKSB7XHJcbiAgICAgICAgICAgICAgdmFsdWVbJ3ZhbHVlJ10gPSBOdW1iZXIuaXNOYU4oKCh4LlRvdGFsVGFrZW5RdWVzdGlvbnMgLyB4LlRvdGFsUXVlc3Rpb25zKSAqIDEwMCkpID8gMCA6IE1hdGgucm91bmQoKCh4LlRvdGFsVGFrZW5RdWVzdGlvbnMgLyB4LlRvdGFsUXVlc3Rpb25zKSAqIDEwMCkpO1xyXG4gICAgICAgICAgICAgIC8vIHZhbHVlWyd2YWx1ZSddID0gMTAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0TmV3U3VydmV5KCkge1xyXG4gICAgbGV0IHJlcXVlc3RCb2R5ID0ge1xyXG4gICAgICBjb2x1bW5zOiBcIlBhcnRuZXJNaWxsSWQsU3VydmV5VGVtcGxhdGVJZCxXRlNfU3RhdHVzQ29kZSxXRlNfU3RhdHVzTmFtZVwiLFxyXG4gICAgICBwYWdlU2l6ZTogdGhpcy5maWVsZC5QYWdlU2l6ZSA/PyA1MCxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy53ZWJhcGlTZXJ2aWNlXHJcbiAgICAgIC5wb3N0QXBpKFxyXG4gICAgICAgIHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFBhZ2VVcmwodGhpcy5kYXRhLlJlc291cmNlVVJMQWx0KSxcclxuICAgICAgICByZXF1ZXN0Qm9keSxcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgIG51bGwsXHJcbiAgICAgICAgbnVsbCxcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgIHRydWVcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgZGF0YS5kYXRhU2V0LmZvckVhY2godmFsdWUgPT4ge1xyXG4gICAgICAgICAgdmFsdWVbJ3ZhbHVlJ10gPSAwO1xyXG4gICAgICAgICAgdGhpcy5zY3JvbGxWaWV3Q2FyZHMuZGF0YS5wdXNoKHZhbHVlKTtcclxuICAgICAgICAgIHRoaXMuc2Nyb2xsVmlld0NhcmRzLnRvdGFsICs9IDE7XHJcblxyXG4gICAgICAgICAgLy9kYXRhLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAvLyAgaWYgKHguU3VydmV5SWQgPT0gdmFsdWUuSWQpIHtcclxuICAgICAgICAgIC8vICAgIHZhbHVlWyd2YWx1ZSddID0gTnVtYmVyLmlzTmFOKCgoeC5Ub3RhbFRha2VuUXVlc3Rpb25zIC8geC5Ub3RhbFF1ZXN0aW9ucykgKiAxMDApKSA/IDAgOiBNYXRoLnJvdW5kKCgoeC5Ub3RhbFRha2VuUXVlc3Rpb25zIC8geC5Ub3RhbFF1ZXN0aW9ucykgKiAxMDApKTtcclxuICAgICAgICAgIC8vICB9XHJcbiAgICAgICAgICAvL30pXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXQgZmllbGQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdycCgpIHtcclxuICAgIHJldHVybiB0aGlzLmdyb3VwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhcmFtKCk6IFpHcmlkUG9zdEFwaVBhcmFtcyB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJhbXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEdyaWRTZXR0aW5ncygpOiBaR3JpZENvbHVtblNldHRpbmdzW10ge1xyXG4gICAgY29uc3QgX3N0b3JhZ2VLZXkgPSAnaW9uaWMtZmllbGQ6OicgKyB0aGlzLmF1dGhTZXJ2aWNlLmUxVG9rZW4udXNlck5hbWU7XHJcbiAgICBjb25zdCBfZ3JpZE5hbWUgPSB0aGlzLmZpZWxkLk5hbWUgKyAnOjonICsgdGhpcy5maWVsZC5WYWx1ZTtcclxuXHJcbiAgICAvLyBGaW5kIGFueSBzZXR0aW5nIGZyb20gbG9jYWxzdG9yYWdlLi5cclxuICAgIGxldCBfYXJyR3JpZENhY2hpbmc6IEdyaWRDYWNoaW5nW10gPSB0aGlzLnpHcmlkU3RhdGVQZXJzaXN0aW5nU2VydmljZS5nZXQoX3N0b3JhZ2VLZXkpO1xyXG4gICAgaWYgKF9hcnJHcmlkQ2FjaGluZyAmJiBfYXJyR3JpZENhY2hpbmdbMF0pIHtcclxuICAgICAgY29uc3QgX2dyaWRDYWNoaW5nOiBHcmlkQ2FjaGluZyA9IF9hcnJHcmlkQ2FjaGluZy5maW5kKHggPT4geFsnZGF0YUZvcm1GaWVsZHMnXSA9PT0gX2dyaWROYW1lKTtcclxuXHJcbiAgICAgIGlmIChfZ3JpZENhY2hpbmcpIHtcclxuICAgICAgICByZXR1cm4gX2dyaWRDYWNoaW5nLmdyaWRTZXR0aW5ncy5jb2x1bW5zQ29uZmlnLnNvcnQoKGEsIGIpID0+IGEub3JkZXJJbmRleCAtIGIub3JkZXJJbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RmlsdGVyUGFyYW1zQnlQYXJlbnRSZWZJZCgpIHtcclxuICAgIC8vIFVzZSBmaWVsZCBvd24gcmVmZXJlbmNlSWQgaWYgYXZhaWxhYmxlXHJcbiAgICBjb25zdCByZWZJZCA9IHRoaXMuZ2V0RmllbGRSZWZlcmVuY2VJZCgpIHx8IHRoaXMuZ3JwLnJlZmVyZW5jZUlkO1xyXG4gICAgY29uc3QgcmVmRmllbGQgPSB0aGlzLmZpZWxkLlJlZmVyZW5jZUZpZWxkIHx8IHRoaXMuZ3JwLnBhcmVudFJlZmVyZW5jZUZpZWxkO1xyXG4gICAgaWYgKHJlZklkICYmIHRoaXMuZ3JwLnBhcmVudFJlZmVyZW5jZUZpZWxkKSB7XHJcbiAgICAgIGNvbnN0IGZpbHRlclZhbHVlID0ge1xyXG4gICAgICAgIGtleTogcmVmRmllbGQsXHJcbiAgICAgICAgb3BzOiBcIj1cIixcclxuICAgICAgICB2YWx1ZTogcmVmSWQsXHJcbiAgICAgIH07XHJcbiAgICAgIC8vIGlmICh0aGlzLnBhcmFtcy5maWx0ZXJQYXJhbXMuZmluZCh4ID0+IHgua2V5ID09PSBmaWx0ZXJWYWx1ZS5rZXkpID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5wYXJhbXMuZmlsdGVyUGFyYW1zLnB1c2goZmlsdGVyVmFsdWUpO1xyXG4gICAgICAvLyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZpZWxkUmVmZXJlbmNlSWQoKSB7XHJcbiAgICBsZXQgZmllbGRSZWZlcmVuY2VJZCA9IG51bGw7XHJcbiAgICBpZiAodGhpcy5maWVsZC5SZWZlcmVuY2VJZCkge1xyXG4gICAgICBmaWVsZFJlZmVyZW5jZUlkID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKFxyXG4gICAgICAgIHRoaXMuZmllbGQuUmVmZXJlbmNlSWQsXHJcbiAgICAgICAgdGhpcy5ncnBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmaWVsZFJlZmVyZW5jZUlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGaWx0ZXJQYXJhbXNDb2x1bW5zKCkge1xyXG4gICAgY29uc3QgY29sRmllbGRzOiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgICB0aGlzLmdyaWRDb2x1bW5zLmZvckVhY2goKGZpZWxkKSA9PiB7XHJcbiAgICAgIGlmIChmaWVsZC52YWx1ZUV4cHIpIHtcclxuICAgICAgICBjb2xGaWVsZHMucHVzaChmaWVsZC52YWx1ZUV4cHIgKyBcIiBhcyBcIiArIGZpZWxkLmZpZWxkKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb2xGaWVsZHMucHVzaChmaWVsZC5maWVsZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChjb2xGaWVsZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAoY29sRmllbGRzLmluZGV4T2YoXCJJZFwiKSA9PT0gLTEpIHtcclxuICAgICAgICBjb2xGaWVsZHMucHVzaChcIklkXCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHRtcEdyaWRDb2x1bW46IGFueVtdID0gW107XHJcbiAgICB0bXBHcmlkQ29sdW1uLnB1c2goY29sRmllbGRzLmpvaW4oXCIsXCIpKTtcclxuICAgIGlmICh0aGlzLnVzYWJsZUNvbHVtbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0bXBHcmlkQ29sdW1uLnB1c2godGhpcy51c2FibGVDb2x1bW5zLmpvaW4oXCIsXCIpKTtcclxuICAgIH1cclxuICAgIHRoaXMucGFyYW1zLmNvbHVtbnMgPSB0bXBHcmlkQ29sdW1uLmpvaW4oXCIsXCIpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5ncm91cDtcclxuICAgIHRoaXMuZ3JvdXAuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGlmIChldmVudC5XRlNfU3RhdHVzTmFtZSA9PSAnTmV3Jykge1xyXG4gICAgICBsZXQgcGFyYW0gPSB7XHJcbiAgICAgICAgVXNlcklkOiB0aGlzLmdyb3VwWydQU0FQVVNFUklEJ10sXHJcbiAgICAgICAgU3VydmV5TWlsbElkOiBldmVudC5JZFxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLndlYmFwaVNlcnZpY2VcclxuICAgICAgICAucG9zdEFwaShcclxuICAgICAgICAgIHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFVSTCgncHBzYXBzdXJ2ZXljcmVhdGVVUkwnKSxcclxuICAgICAgICAgIHBhcmFtLFxyXG4gICAgICAgICAgbnVsbCxcclxuICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgbnVsbCxcclxuICAgICAgICAgIHRydWVcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ncm91cC5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIGlmICh0aGlzLmRhdGEuRWRpdENsaWNrVVJMKSB7XHJcbiAgICAgICAgICAgIC8vIFRPRE86XHJcbiAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5kYXRhLkVkaXRDbGlja1VSTCwgZGF0YUl0ZW0uSWRdKTtcclxuICAgICAgICAgICAgY29uc3QgY29sRmllbGRzID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YS5Db2x1bW5GaWVsZHMsIHRoaXMuZ3JvdXApO1xyXG4gICAgICAgICAgICB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAgICAgICAgICAgdHlwZTogXCJ6Z3JpZC1jZWxsQ2xpY2tcIixcclxuICAgICAgICAgICAgICB0YXJnZXQ6IHRoaXMuZGF0YS5FZGl0Q2xpY2tVUkwsXHJcbiAgICAgICAgICAgICAgZGF0YTogZXZlbnQsXHJcbiAgICAgICAgICAgICAgY29sdW1uRmllbGRzJDogY29sRmllbGRzXHJcbiAgICAgICAgICAgIH0gYXMgWkNvbXBvbmVudE91dHB1dEV2ZW50KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmdyb3VwLmVkaXRNb2RlbFVSTCwgZGF0YS5JZCwgJ2VkaXQnXSwge1xyXG4gICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEuRWRpdENsaWNrVVJMKSB7XHJcbiAgICAgICAgLy8gVE9ETzpcclxuICAgICAgICAvLyBkZWJ1Z2dlcjtcclxuICAgICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5kYXRhLkVkaXRDbGlja1VSTCwgZGF0YUl0ZW0uSWRdKTtcclxuICAgICAgICBjb25zdCBjb2xGaWVsZHMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhLkNvbHVtbkZpZWxkcywgdGhpcy5ncm91cCk7XHJcbiAgICAgICAgdGhpcy5ncm91cC5zdWJqZWN0Lm5leHQoe1xyXG4gICAgICAgICAgdHlwZTogXCJ6Z3JpZC1jZWxsQ2xpY2tcIixcclxuICAgICAgICAgIHRhcmdldDogdGhpcy5kYXRhLkVkaXRDbGlja1VSTCxcclxuICAgICAgICAgIGRhdGE6IGV2ZW50LFxyXG4gICAgICAgICAgY29sdW1uRmllbGRzJDogY29sRmllbGRzXHJcbiAgICAgICAgfSBhcyBaQ29tcG9uZW50T3V0cHV0RXZlbnQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmdyb3VwLmVkaXRNb2RlbFVSTCwgZXZlbnQuSWQsICdlZGl0J10sIHtcclxuICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGVcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGaWx0ZXIoKSB7XHJcbiAgICBpZiAodGhpcy5wYXJhbXMuZmlsdGVycyAmJiB0aGlzLmZpZWxkLkZpbHRlcnMpIHtcclxuICAgICAgdGhpcy5wYXJhbXMuZmlsdGVycyA9IHRoaXMucGFyYW1zLmZpbHRlcnMgKyBcIiAmJiBcIiArIHRoaXMuZmllbGQuRmlsdGVycztcclxuICAgIH0gZWxzZSBpZiAoIXRoaXMucGFyYW1zLmZpbHRlcnMgJiYgdGhpcy5maWVsZC5GaWx0ZXJzKSB7XHJcbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlcnMgPSB0aGlzLmZpZWxkLkZpbHRlcnM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZmllbGQuRmlsdGVycyAmJiB0aGlzLmZpZWxkLkZpbHRlcnMuaW5kZXhPZihcImdyb3VwLlwiKSAhPT0gLTEpIHtcclxuICAgICAgY29uc3QgZmlsdGVyS2V5VmFsUGFpcnMgPSB0aGlzLmZpZWxkLkZpbHRlcnMuc3BsaXQoXCIgXCIpO1xyXG4gICAgICBjb25zdCBncnBWYWx1ZXMgPSBmaWx0ZXJLZXlWYWxQYWlycy5maWx0ZXIoXHJcbiAgICAgICAgKGVsZW1lbnQpID0+IGVsZW1lbnQudHJpbSgpLmluZGV4T2YoXCJncm91cC5cIikgIT09IC0xXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBncnBWYWx1ZXMuZm9yRWFjaCgodmFsKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYWN0dWFsVmFsID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHZhbCwgdGhpcy5ncnApO1xyXG4gICAgICAgIHRoaXMucGFyYW1zLmZpbHRlcnMgPSB0aGlzLnBhcmFtcy5maWx0ZXJzLnJlcGxhY2UodmFsLCBhY3R1YWxWYWwpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVmlld0NhcmRzLmRhdGEgPSB0aGlzLnJlc3BvbnNlRGF0YS5kYXRhO1xyXG4gICAgICB0aGlzLnNjcm9sbFZpZXdDYXJkcy50b3RhbCA9IHRoaXMucmVzcG9uc2VEYXRhLnRvdGFsO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNjcm9sbFZpZXdDYXJkcy5kYXRhID0gdGhpcy5yZXNwb25zZURhdGEuZGF0YS5maWx0ZXIoeCA9PiBldmVudC5pbmNsdWRlcyh4LldGU19TdGF0dXNOYW1lKSk7XHJcbiAgICB0aGlzLnNjcm9sbFZpZXdDYXJkcy50b3RhbCA9IHRoaXMucmVzcG9uc2VEYXRhLmRhdGEuZmlsdGVyKHggPT4gZXZlbnQuaW5jbHVkZXMoeC5XRlNfU3RhdHVzTmFtZSkpLmxlbmd0aDtcclxuICB9XHJcbn1cclxuIiwiPCEtLTxrZW5kby1tdWx0aXNlbGVjdCBbZGF0YV09XCJmaWx0ZXJJdGVtc1wiIFt2YWx1ZV09XCJ2YWx1ZVwiIFtwbGFjZWhvbGRlcl09XCInU3VydmV5IFN0YXR1cydcIiBbZmlsdGVyYWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZSgkZXZlbnQpXCI+PC9rZW5kby1tdWx0aXNlbGVjdD5cclxuJm5ic3A7LS0+XHJcbjxkaXYgY2xhc3M9XCJzdXJ2ZXktY2FyZC1saXN0XCI+XHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgY2FyZCBvZiBzY3JvbGxWaWV3Q2FyZHMuZGF0YVwiPlxyXG4gICAgPHNjcm9sbHZpZXctY2FyZCBbY2FyZF09XCJjYXJkXCI+PC9zY3JvbGx2aWV3LWNhcmQ+XHJcbiAgICA8a2VuZG8tY2FyZCBjbGFzcz1cImN1c3RvbS1jYXJkLWRyYWZ0XCIgKm5nSWY9XCJjYXJkLldGU19TdGF0dXNOYW1lID09ICdEcmFmdCdcIiBbd2lkdGhdPVwiJzI1MHB4J1wiPlxyXG4gICAgICA8a2VuZG8tY2FyZC1oZWFkZXIgY2xhc3M9XCJrLWhib3hcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPGgxIGtlbmRvQ2FyZFRpdGxlPnt7IGNhcmQuU3VydmV5VGVtcGxhdGVOYW1lIH19PC9oMT5cclxuICAgICAgICAgIDxwIGtlbmRvQ2FyZFN1YnRpdGxlPlN1cnZleSBEb2MgTm86IHt7Y2FyZC5Eb2N1bWVudE5vfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwva2VuZG8tY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxrZW5kby1jYXJkLWJvZHkgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICBNaWxsIE5hbWU6ICB7e2NhcmQuUGFydG5lck1pbGxOYW1lfX1cclxuICAgICAgICA8YnIgLz5cclxuICAgICAgICBTdXJ2ZXkgU3RhdHVzOiB7e2NhcmQuV0ZTX1N0YXR1c05hbWV9fVxyXG4gICAgICA8L2tlbmRvLWNhcmQtYm9keT5cclxuICAgICAgPGtlbmRvLWNhcmQtZm9vdGVyPlxyXG4gICAgICAgIFN1cnZleSBQcm9ncmVzc2lvbjpcclxuICAgICAgICA8a2VuZG8tcHJvZ3Jlc3NiYXIgc3R5bGU9XCJ3aWR0aDogMjEwcHg7IGJvcmRlci1yYWRpdXM6MTBweFwiIFt2YWx1ZV09XCJjYXJkLnZhbHVlXCIgW2xhYmVsXT1cImxhYmVsXCIgW3Byb2dyZXNzQ3NzU3R5bGVdPVwicHJvZ3Jlc3NTdHlsZXNcIj5cclxuICAgICAgICA8L2tlbmRvLXByb2dyZXNzYmFyPlxyXG5cclxuICAgICAgICA8a2VuZG8tY2FyZC1hY3Rpb25zIGNsYXNzPVwiay1oYm94LWFjdGlvbkJ0blwiIG9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiIFtsYXlvdXRdPVwiJ2VuZCdcIj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc3Ryb25nPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzdGFydChjYXJkKVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlvbi10ZXh0LWNhcGl0YWxpemVcIj5Db250aW51ZSAmbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImdldEZvbnRBd2Vzb21lKCdwbGF5JylcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogNXB4O1wiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2tlbmRvLWNhcmQtYWN0aW9ucz5cclxuICAgICAgPC9rZW5kby1jYXJkLWZvb3Rlcj5cclxuICAgIDwva2VuZG8tY2FyZD5cclxuXHJcbiAgICA8a2VuZG8tY2FyZCBjbGFzcz1cImN1c3RvbS1jYXJkLXN1Ym1pdFwiICpuZ0lmPVwiY2FyZC5XRlNfU3RhdHVzTmFtZSA9PSAnU3VibWl0dGVkJ1wiIFt3aWR0aF09XCInMjUwcHgnXCI+XHJcbiAgICAgIDxrZW5kby1jYXJkLWhlYWRlciBjbGFzcz1cImstaGJveFwiPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8aDEga2VuZG9DYXJkVGl0bGU+e3sgY2FyZC5TdXJ2ZXlUZW1wbGF0ZU5hbWUgfX08L2gxPlxyXG4gICAgICAgICAgPHAga2VuZG9DYXJkU3VidGl0bGU+U3VydmV5IERvYyBObzoge3tjYXJkLkRvY3VtZW50Tm99fTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9rZW5kby1jYXJkLWhlYWRlcj5cclxuICAgICAgPGtlbmRvLWNhcmQtYm9keSBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIE1pbGwgTmFtZTogIHt7Y2FyZC5QYXJ0bmVyTWlsbE5hbWV9fVxyXG4gICAgICAgIDxiciAvPlxyXG4gICAgICAgIFN1cnZleSBTdGF0dXM6IHt7Y2FyZC5XRlNfU3RhdHVzTmFtZX19XHJcbiAgICAgIDwva2VuZG8tY2FyZC1ib2R5PlxyXG4gICAgICA8a2VuZG8tY2FyZC1mb290ZXI+XHJcbiAgICAgICAgU3VydmV5IFByb2dyZXNzaW9uOlxyXG4gICAgICAgIDxrZW5kby1wcm9ncmVzc2JhciBzdHlsZT1cIndpZHRoOiAyMTBweDsgYm9yZGVyLXJhZGl1czoxMHB4XCIgW3ZhbHVlXT1cImNhcmQudmFsdWVcIiBbbGFiZWxdPVwibGFiZWxcIiBbcHJvZ3Jlc3NDc3NTdHlsZV09XCJwcm9ncmVzc1N0eWxlc1wiPlxyXG4gICAgICAgIDwva2VuZG8tcHJvZ3Jlc3NiYXI+XHJcbiAgICAgICAgPGtlbmRvLWNhcmQtYWN0aW9ucyBjbGFzcz1cImstaGJveC1hY3Rpb25CdG5cIiBvcmllbnRhdGlvbj1cImhvcml6b250YWxcIiBbbGF5b3V0XT1cIidlbmQnXCI+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9uZz1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RhcnQoY2FyZClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpb24tdGV4dC1jYXBpdGFsaXplXCI+VmlldyAmbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImdldEZvbnRBd2Vzb21lKCdmaWxlLWFsdCcpXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDVweDtcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9rZW5kby1jYXJkLWFjdGlvbnM+XHJcbiAgICAgIDwva2VuZG8tY2FyZC1mb290ZXI+XHJcbiAgICA8L2tlbmRvLWNhcmQ+XHJcblxyXG4gICAgPGtlbmRvLWNhcmQgY2xhc3M9XCJjdXN0b20tY2FyZC1uZXdcIiAqbmdJZj1cImNhcmQuV0ZTX1N0YXR1c05hbWUgPT0gJ05ldydcIiBbd2lkdGhdPVwiJzI1MHB4J1wiPlxyXG4gICAgICA8a2VuZG8tY2FyZC1oZWFkZXIgY2xhc3M9XCJrLWhib3hcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPGgxIGtlbmRvQ2FyZFRpdGxlPnt7IGNhcmQuU3VydmV5VGVtcGxhdGVOYW1lIH19PC9oMT5cclxuICAgICAgICAgIDxwIGtlbmRvQ2FyZFN1YnRpdGxlPnt7Y2FyZC5Eb2N1bWVudE5vfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwva2VuZG8tY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxrZW5kby1jYXJkLWJvZHkgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICBNaWxsIE5hbWU6ICB7e2NhcmQuUGFydG5lck1pbGxOYW1lfX1cclxuICAgICAgICA8YnIgLz5cclxuICAgICAgICBTdXJ2ZXkgU3RhdHVzOiB7e2NhcmQuV0ZTX1N0YXR1c05hbWV9fVxyXG4gICAgICA8L2tlbmRvLWNhcmQtYm9keT5cclxuICAgICAgPGtlbmRvLWNhcmQtZm9vdGVyPlxyXG4gICAgICAgIFN1cnZleSBQcm9ncmVzc2lvbjpcclxuICAgICAgICA8a2VuZG8tcHJvZ3Jlc3NiYXIgc3R5bGU9XCJ3aWR0aDogMjEwcHg7IGJvcmRlci1yYWRpdXM6MTBweFwiIFt2YWx1ZV09XCJjYXJkLnZhbHVlXCIgW2xhYmVsXT1cImxhYmVsXCIgW3Byb2dyZXNzQ3NzU3R5bGVdPVwicHJvZ3Jlc3NTdHlsZXNcIj5cclxuICAgICAgICA8L2tlbmRvLXByb2dyZXNzYmFyPlxyXG4gICAgICAgIDxrZW5kby1jYXJkLWFjdGlvbnMgY2xhc3M9XCJrLWhib3gtYWN0aW9uQnRuXCIgb3JpZW50YXRpb249XCJob3Jpem9udGFsXCIgW2xheW91dF09XCInZW5kJ1wiPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHJvbmc9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN0YXJ0KGNhcmQpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW9uLXRleHQtY2FwaXRhbGl6ZVwiPlN0YXJ0ICZuYnNwOzwvc3Bhbj5cclxuICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZ2V0Rm9udEF3ZXNvbWUoJ3BsYXknKVwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA1cHg7XCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwva2VuZG8tY2FyZC1hY3Rpb25zPlxyXG4gICAgICA8L2tlbmRvLWNhcmQtZm9vdGVyPlxyXG4gICAgPC9rZW5kby1jYXJkPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
368
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemtjYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3prY2FyZC96a2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemtjYXJkL3prY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFRN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk1QywyQ0FBMkM7QUFDM0MsT0FBTyxFQUVPLGdCQUFnQixFQUU3QixNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFRekIsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFDVSxjQUE4QixFQUM5QixrQkFBc0MsRUFDdEMsV0FBd0IsRUFDeEIsMkJBQXdELEVBQ3hELGFBQTRCLEVBQzVCLE1BQWM7UUFMZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFNeEIsVUFBSyxHQUFRLElBQUksQ0FBQztRQUNsQixvQkFBZSxHQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDOUMsaUJBQVksR0FBUSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzNDLFdBQU0sR0FBdUI7WUFDM0IsT0FBTyxFQUFFLElB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LENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNHLENBQUM7OzZHQTFiVSxlQUFlO2lHQUFmLGVBQWUsa0RDMUI1Qixnb0pBa0dBOzRGRHhFYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlbGF5LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IExhYmVsU2V0dGluZ3MgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1wcm9ncmVzc2Jhcic7XHJcbmltcG9ydCB7IFN0YXRlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQge1xyXG4gIEF1dGhTZXJ2aWNlLCBaRmllbGQsIFpHcm91cCwgUmVzb3VyY2VBcGlTZXJ2aWNlLCBXZWJBcGlTZXJ2aWNlLCBHcmlkQ2FjaGluZyxcclxuICBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaQ29tcG9uZW50T3V0cHV0RXZlbnQsXHJcbiAgWkdyaWRTdGF0ZVBlcnNpc3RpbmdTZXJ2aWNlLCBaR3JpZENvbHVtblNldHRpbmdzLCBaR3JpZFBvc3RBcGlQYXJhbXNcclxufSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXprY2FyZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3prY2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vemtjYXJkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaa2NhcmRDb21wb25lbnQgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJlc291cmNlQXBpU2VydmljZTogUmVzb3VyY2VBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHpHcmlkU3RhdGVQZXJzaXN0aW5nU2VydmljZTogWkdyaWRTdGF0ZVBlcnNpc3RpbmdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB3ZWJhcGlTZXJ2aWNlOiBXZWJBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICApIHsgfVxyXG5cclxuICBkYXRhOiBaRmllbGQ7XHJcbiAgZ3JvdXA6IFpHcm91cDtcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgemdyaWQ6IGFueSA9IG51bGw7XHJcbiAgc2Nyb2xsVmlld0NhcmRzOiBhbnkgPSB7IGRhdGE6IFtdLCB0b3RhbDogMCB9O1xyXG4gIHJlc3BvbnNlRGF0YTogYW55ID0geyBkYXRhOiBbXSwgdG90YWw6IDAgfTtcclxuICBwYXJhbXM6IFpHcmlkUG9zdEFwaVBhcmFtcyA9IHtcclxuICAgIHJlZmVySWQ6IG51bGwsXHJcbiAgICBwYWdlTm86IDAsXHJcbiAgICBwYWdlU2l6ZTogMjAsXHJcbiAgICBzb3J0Q29sdW1uTmFtZTogXCJcIixcclxuICAgIHNvcnRPcmRlcjogXCJcIixcclxuICAgIHNvcnRDb2x1bW5OYW1lczogW10sXHJcbiAgICBzb3J0T3JkZXJzOiBbXSxcclxuICAgIGZpbHRlclBhcmFtczogW10sXHJcbiAgICBwYXJhbWV0ZXJzOiBcIlwiLFxyXG4gICAgZmlsdGVyczogXCJcIixcclxuICAgIGNvbHVtbnM6IFwiXCIsXHJcbiAgICBncmFudFR5cGU6IDRcclxuICB9O1xyXG4gIC8vZ3JpZERhdGE6IEdyaWREYXRhUmVzdWx0O1xyXG4gIGNvbHVtbnM6IGFueVtdO1xyXG4gIGdyaWRDb2x1bW5zOiBhbnlbXSA9IFtdO1xyXG4gIHVzYWJsZUNvbHVtbnM6IGFueVtdID0gW107XHJcbiAgZGF0YVNvdXJjZSA9IG51bGw7XHJcbiAgc3RhdGU6IFN0YXRlID0ge1xyXG4gICAgc2tpcDogMCxcclxuICAgIHRha2U6IDEwLFxyXG4gIH07XHJcbiAgcGFnaW5hdGlvbkFwaVBvc3RVcmwgPSBudWxsO1xyXG4gIHJlc291cmNlVVJMID0gbnVsbDtcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBwdWJsaWMgZmlsdGVySXRlbXM6IEFycmF5PHN0cmluZz4gPSBbXTtcclxuICBwdWJsaWMgcHJvZ3Jlc3NTdHlsZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7XHJcbiAgICBjb2xvcjogJycsXHJcbiAgICBiYWNrZ3JvdW5kOiAnZ3JlZW4nXHJcbiAgfTtcclxuICBwdWJsaWMgbG9hZGluZ1BhbmVsVmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuXHJcbiAgcHVibGljIGxhYmVsOiBMYWJlbFNldHRpbmdzID0ge1xyXG4gICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgIGZvcm1hdDogJ3BlcmNlbnQnLFxyXG4gICAgcG9zaXRpb246ICdjZW50ZXInXHJcbiAgfTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudFByb3BlcnRpZXModGhpcyk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG5cclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IHRoaXMuZmllbGQuRGF0YVNvdXJjZSA/IHRoaXMuZmllbGQuRGF0YVNvdXJjZSA6IG51bGw7XHJcbiAgICB0aGlzLmZpbHRlckl0ZW1zID0gdGhpcy5ncm91cFsnZmlsdGVySXRlbXMnXTtcclxuICAgIGlmICghdGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgIHRoaXMucmVzb3VyY2VVUkwgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUoXHJcbiAgICAgICAgdGhpcy5maWVsZC5SZXNvdXJjZVVSTCxcclxuICAgICAgICB0aGlzLmdycFxyXG4gICAgICApO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhcIkF0IHpncmlkLmNvbXBvbmVudCAoT25Jbml0KSByZXNvdXJjZVVSTDogXCIsIHJlc291cmNlVVJMKTtcclxuICAgICAgaWYgKCF0aGlzLnJlc291cmNlVVJMKSB7XHJcbiAgICAgICAgLy8gdGhpcy5ncmlkLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAvL2lmICh0aGlzLnpncmlkYmluZGluZy5kYXRhLk5hbWUgIT09IFwiQWN0aXZpdHlMb2dHcmlkXCIpIHtcclxuICAgICAgICAvLyAgY29uc29sZS53YXJuKFxyXG4gICAgICAgIC8vICAgIFwiTm8gaW5pdGlhbGlzZSBmb3IgRmllbGQuUmVzb3VyY2VVUkw6IFwiLFxyXG4gICAgICAgIC8vICAgIHRoaXMuZmllbGQuUmVzb3VyY2VVUkxcclxuICAgICAgICAvLyAgKTtcclxuICAgICAgICAvL31cclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGFycmF5ID0gdGhpcy5yZXNvdXJjZVVSTC5zcGxpdChcIi9hcGkvXCIpO1xyXG4gICAgICBpZiAoISFhcnJheVsxXSkge1xyXG4gICAgICAgIGFycmF5WzFdID0gXCJQYWdlXCIgKyBhcnJheVsxXTtcclxuICAgICAgICB0aGlzLnBhZ2luYXRpb25BcGlQb3N0VXJsID0gYXJyYXkuam9pbihcIi9hcGkvXCIpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGFyciA9IHRoaXMucmVzb3VyY2VVUkwuc3BsaXQoXCIvXCIpO1xyXG4gICAgICAgIGFyclthcnIubGVuZ3RoIC0gMl0gPSBcIlBhZ2VcIiArIGFyclthcnIubGVuZ3RoIC0gMl07XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uQXBpUG9zdFVybCA9IGFyci5qb2luKFwiL1wiKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZXRGaWx0ZXJQYXJhbXNCeVBhcmVudFJlZklkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5nZW5lcmF0ZUdyaWRDb2x1bW5zKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIGlmICh0aGlzLnpncmlkKSB7XHJcbiAgICAgIHRoaXMuemdyaWQuZ2V0RGF0YUJpbmRpbmcoKTtcclxuICAgIH1cclxuICAgIC8vaWYgKHRoaXMuZGF0YS5Ta2lwRGlyZWN0aXZlKSB7XHJcbiAgICAvLyAgdGhpcy5ncmlkRGF0YSA9IHByb2Nlc3ModGhpcy5nRGF0YSwgdGhpcy5zdGF0ZSk7XHJcbiAgICAvLyAgdGhpcy5jcmVhdGVGb3JtQ29udHJvbHMoKTtcclxuICAgIC8vfVxyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVHcmlkQ29sdW1ucygpIHtcclxuICAgIHRoaXMubG9hZGluZ1BhbmVsVmlzaWJsZSA9IHRydWU7XHJcbiAgICBjb25zdCBjb2x1bW5GaWVsZHMkOiBPYnNlcnZhYmxlPGFueT4gPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUoXHJcbiAgICAgIHRoaXMuZmllbGQuQ29sdW1uRmllbGRzLFxyXG4gICAgICB0aGlzLmdycFxyXG4gICAgKTtcclxuICAgIGNvbHVtbkZpZWxkcyRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFwKChkYXRhKSA9PiB7XHJcblxyXG4gICAgICAgICAgY29uc3QgZ3JpZFNldHRpbmcgPSB0aGlzLmdldEdyaWRTZXR0aW5ncygpO1xyXG4gICAgICAgICAgY29uc3QgZmllbGROYW1lID0gdGhpcy5maWVsZFtcIkZpZWxkRWxlbWVudE5hbWVcIl07XHJcbiAgICAgICAgICBaQ29tcG9uZW50SGVscGVyLmdldEdyaWRDb2x1bW5zKFxyXG4gICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICB0aGlzLmdyaWRDb2x1bW5zLFxyXG4gICAgICAgICAgICB0aGlzLmdyb3VwLFxyXG4gICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLFxyXG4gICAgICAgICAgICBmaWVsZE5hbWUsXHJcbiAgICAgICAgICAgIGdyaWRTZXR0aW5nLFxyXG4gICAgICAgICAgICB0aGlzLnVzYWJsZUNvbHVtbnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmdldEZpbHRlclBhcmFtc0NvbHVtbnMoKTtcclxuICAgICAgICAgIHRoaXMuZ2V0RmlsdGVyKCk7XHJcbiAgICAgICAgICAvL3RoaXMuZ2V0U29ydGluZygpO1xyXG4gICAgICAgICAgLy90aGlzLmdldEdyYW50VHlwZSgpO1xyXG4gICAgICAgICAgLy90aGlzLnNldEhpZGRlbkNvbHVtbihncmlkU2V0dGluZyk7XHJcbiAgICAgICAgICAvL3RoaXMucGFyYW1zLnJlZmVySWQgPSB0aGlzLmdldEZpZWxkUmVmZXJlbmNlSWQoKSB8fCB0aGlzLmdycC5yZWZlcmVuY2VJZCB8fCBudWxsO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmdldERhdGFCaW5kaW5nKCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXREYXRhQmluZGluZygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgIHRoaXMucGFyYW0ucGFnZVNpemUgPSB0aGlzLmZpZWxkLlBhZ2VTaXplID8/IDUwO1xyXG4gICAgICBpZiAodGhpcy5maWVsZC5FeHRlcm5hbFBhZ2luYXRpb24pIHtcclxuICAgICAgICAvLyBGb3IgUE9TVCBtZXRob2QgUGFnZSBXZWJBUElcclxuICAgICAgICB0aGlzLndlYmFwaVNlcnZpY2VcclxuICAgICAgICAgIC5wb3N0QXBpKFxyXG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRpb25BcGlQb3N0VXJsLFxyXG4gICAgICAgICAgICB0aGlzLnBhcmFtLFxyXG4gICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICB0cnVlXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGRlbGF5KDI1MDApXHJcbiAgICAgICAgICAgIHRoaXMucmVzcG9uc2VEYXRhID0geyBkYXRhOiBkYXRhLmRhdGFTZXQsIHRvdGFsOiBkYXRhLnRvdGFsQ291bnQgfTtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3Q2FyZHMgPSB7IGRhdGE6IGRhdGEuZGF0YVNldCwgdG90YWw6IGRhdGEudG90YWxDb3VudCB9O1xyXG4gICAgICAgICAgICBpZiAoZGF0YS5kYXRhU2V0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICB0aGlzLmdldFJlY29yZHNTdW1tYXJ5KCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuUmVzb3VyY2VVUkxBbHQpIHtcclxuICAgICAgICAgICAgICB0aGlzLmdldE5ld1N1cnZleSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vdGhpcy5hZ2dyZWdhdGVIYW5kbGluZyhkYXRhLmRhdGFTZXQpO1xyXG4gICAgICAgICAgICAvL3RoaXMuZ3JpZC5kYXRhID0geyBkYXRhOiBkYXRhLmRhdGFTZXQsIHRvdGFsOiBkYXRhLnRvdGFsQ291bnQgfTtcclxuICAgICAgICAgICAgLy90aGlzLmdyaWQubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdQYW5lbFZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgLy90aGlzLm5vdGlmeURhdGFDaGFuZ2UoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIEZvciBHRVQgbWV0aG9kXHJcbiAgICAgICAgdGhpcy53ZWJhcGlTZXJ2aWNlXHJcbiAgICAgICAgICAuZ2V0QXBpKHRoaXMucmVzb3VyY2VVUkwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIHRydWUpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBfZGF0YSA9IG51bGw7XHJcbiAgICAgICAgICAgIGxldCBfdG90YWxDb3VudCA9IDA7XHJcblxyXG4gICAgICAgICAgICBpZiAoZGF0YS5kYXRhU2V0KSB7XHJcbiAgICAgICAgICAgICAgX2RhdGEgPSBkYXRhLmRhdGFTZXQ7XHJcbiAgICAgICAgICAgICAgX3RvdGFsQ291bnQgPSBkYXRhLnRvdGFsQ291bnQ7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgX2RhdGEgPSBkYXRhO1xyXG4gICAgICAgICAgICAgIF90b3RhbENvdW50ID0gZGF0YS5sZW5ndGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nUGFuZWxWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIC8vdGhpcy5hZ2dyZWdhdGVIYW5kbGluZyhfZGF0YSk7XHJcbiAgICAgICAgICAgIC8vdGhpcy5ncmlkLmRhdGEgPSB7IGRhdGE6IF9kYXRhLCB0b3RhbDogX3RvdGFsQ291bnQgfTtcclxuICAgICAgICAgICAgLy90aGlzLmdyaWQucGFnZVNpemUgPSBfdG90YWxDb3VudDtcclxuICAgICAgICAgICAgLy90aGlzLmdyaWQubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAvL3RoaXMubm90aWZ5RGF0YUNoYW5nZSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRzID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKFxyXG4gICAgICAgIHRoaXMuZmllbGQuRGF0YVNvdXJjZSxcclxuICAgICAgICB0aGlzLmdycFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UmVjb3Jkc1N1bW1hcnkoKSB7XHJcbiAgICBsZXQgU3VydmV5SWRzID0gW107XHJcblxyXG4gICAgdGhpcy5yZXNwb25zZURhdGEuZGF0YS5mb3JFYWNoKHZhbHVlID0+IHtcclxuICAgICAgU3VydmV5SWRzLnB1c2godmFsdWUuSWQpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy53ZWJhcGlTZXJ2aWNlXHJcbiAgICAgIC5wb3N0QXBpKFxyXG4gICAgICAgIHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFVSTCgncHBzYXBzdXJ2ZXlzdW1tYXJ5aW5mb1VSTCcpLFxyXG4gICAgICAgIFN1cnZleUlkcyxcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgIG51bGwsXHJcbiAgICAgICAgbnVsbCxcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgIHRydWVcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2VEYXRhLmRhdGEuZm9yRWFjaCh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICBkYXRhLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAgIGlmICh4LlN1cnZleUlkID09IHZhbHVlLklkKSB7XHJcbiAgICAgICAgICAgICAgdmFsdWVbJ3ZhbHVlJ10gPSBOdW1iZXIuaXNOYU4oKCh4LlRvdGFsVGFrZW5RdWVzdGlvbnMgLyB4LlRvdGFsUXVlc3Rpb25zKSAqIDEwMCkpID8gMCA6IE1hdGgucm91bmQoKCh4LlRvdGFsVGFrZW5RdWVzdGlvbnMgLyB4LlRvdGFsUXVlc3Rpb25zKSAqIDEwMCkpO1xyXG4gICAgICAgICAgICAgIC8vIHZhbHVlWyd2YWx1ZSddID0gMTAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0TmV3U3VydmV5KCkge1xyXG4gICAgbGV0IHJlcXVlc3RCb2R5ID0ge1xyXG4gICAgICBjb2x1bW5zOiBcIlBhcnRuZXJNaWxsSWQsU3VydmV5VGVtcGxhdGVJZCxXRlNfU3RhdHVzQ29kZSxXRlNfU3RhdHVzTmFtZVwiLFxyXG4gICAgICBwYWdlU2l6ZTogdGhpcy5maWVsZC5QYWdlU2l6ZSA/PyA1MCxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy53ZWJhcGlTZXJ2aWNlXHJcbiAgICAgIC5wb3N0QXBpKFxyXG4gICAgICAgIHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFBhZ2VVcmwodGhpcy5kYXRhLlJlc291cmNlVVJMQWx0KSxcclxuICAgICAgICByZXF1ZXN0Qm9keSxcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgIG51bGwsXHJcbiAgICAgICAgbnVsbCxcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgIHRydWVcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgZGF0YS5kYXRhU2V0LmZvckVhY2godmFsdWUgPT4ge1xyXG4gICAgICAgICAgdmFsdWVbJ3ZhbHVlJ10gPSAwO1xyXG4gICAgICAgICAgdGhpcy5zY3JvbGxWaWV3Q2FyZHMuZGF0YS5wdXNoKHZhbHVlKTtcclxuICAgICAgICAgIHRoaXMuc2Nyb2xsVmlld0NhcmRzLnRvdGFsICs9IDE7XHJcblxyXG4gICAgICAgICAgLy9kYXRhLmZvckVhY2goeCA9PiB7XHJcbiAgICAgICAgICAvLyAgaWYgKHguU3VydmV5SWQgPT0gdmFsdWUuSWQpIHtcclxuICAgICAgICAgIC8vICAgIHZhbHVlWyd2YWx1ZSddID0gTnVtYmVyLmlzTmFOKCgoeC5Ub3RhbFRha2VuUXVlc3Rpb25zIC8geC5Ub3RhbFF1ZXN0aW9ucykgKiAxMDApKSA/IDAgOiBNYXRoLnJvdW5kKCgoeC5Ub3RhbFRha2VuUXVlc3Rpb25zIC8geC5Ub3RhbFF1ZXN0aW9ucykgKiAxMDApKTtcclxuICAgICAgICAgIC8vICB9XHJcbiAgICAgICAgICAvL30pXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXQgZmllbGQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdycCgpIHtcclxuICAgIHJldHVybiB0aGlzLmdyb3VwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhcmFtKCk6IFpHcmlkUG9zdEFwaVBhcmFtcyB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJhbXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEdyaWRTZXR0aW5ncygpOiBaR3JpZENvbHVtblNldHRpbmdzW10ge1xyXG4gICAgY29uc3QgX3N0b3JhZ2VLZXkgPSAnaW9uaWMtZmllbGQ6OicgKyB0aGlzLmF1dGhTZXJ2aWNlLmUxVG9rZW4udXNlck5hbWU7XHJcbiAgICBjb25zdCBfZ3JpZE5hbWUgPSB0aGlzLmZpZWxkLk5hbWUgKyAnOjonICsgdGhpcy5maWVsZC5WYWx1ZTtcclxuXHJcbiAgICAvLyBGaW5kIGFueSBzZXR0aW5nIGZyb20gbG9jYWxzdG9yYWdlLi5cclxuICAgIGxldCBfYXJyR3JpZENhY2hpbmc6IEdyaWRDYWNoaW5nW10gPSB0aGlzLnpHcmlkU3RhdGVQZXJzaXN0aW5nU2VydmljZS5nZXQoX3N0b3JhZ2VLZXkpO1xyXG4gICAgaWYgKF9hcnJHcmlkQ2FjaGluZyAmJiBfYXJyR3JpZENhY2hpbmdbMF0pIHtcclxuICAgICAgY29uc3QgX2dyaWRDYWNoaW5nOiBHcmlkQ2FjaGluZyA9IF9hcnJHcmlkQ2FjaGluZy5maW5kKHggPT4geFsnZGF0YUZvcm1GaWVsZHMnXSA9PT0gX2dyaWROYW1lKTtcclxuXHJcbiAgICAgIGlmIChfZ3JpZENhY2hpbmcpIHtcclxuICAgICAgICByZXR1cm4gX2dyaWRDYWNoaW5nLmdyaWRTZXR0aW5ncy5jb2x1bW5zQ29uZmlnLnNvcnQoKGEsIGIpID0+IGEub3JkZXJJbmRleCAtIGIub3JkZXJJbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RmlsdGVyUGFyYW1zQnlQYXJlbnRSZWZJZCgpIHtcclxuICAgIC8vIFVzZSBmaWVsZCBvd24gcmVmZXJlbmNlSWQgaWYgYXZhaWxhYmxlXHJcbiAgICBjb25zdCByZWZJZCA9IHRoaXMuZ2V0RmllbGRSZWZlcmVuY2VJZCgpIHx8IHRoaXMuZ3JwLnJlZmVyZW5jZUlkO1xyXG4gICAgY29uc3QgcmVmRmllbGQgPSB0aGlzLmZpZWxkLlJlZmVyZW5jZUZpZWxkIHx8IHRoaXMuZ3JwLnBhcmVudFJlZmVyZW5jZUZpZWxkO1xyXG4gICAgaWYgKHJlZklkICYmIHRoaXMuZ3JwLnBhcmVudFJlZmVyZW5jZUZpZWxkKSB7XHJcbiAgICAgIGNvbnN0IGZpbHRlclZhbHVlID0ge1xyXG4gICAgICAgIGtleTogcmVmRmllbGQsXHJcbiAgICAgICAgb3BzOiBcIj1cIixcclxuICAgICAgICB2YWx1ZTogcmVmSWQsXHJcbiAgICAgIH07XHJcbiAgICAgIC8vIGlmICh0aGlzLnBhcmFtcy5maWx0ZXJQYXJhbXMuZmluZCh4ID0+IHgua2V5ID09PSBmaWx0ZXJWYWx1ZS5rZXkpID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5wYXJhbXMuZmlsdGVyUGFyYW1zLnB1c2goZmlsdGVyVmFsdWUpO1xyXG4gICAgICAvLyB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZpZWxkUmVmZXJlbmNlSWQoKSB7XHJcbiAgICBsZXQgZmllbGRSZWZlcmVuY2VJZCA9IG51bGw7XHJcbiAgICBpZiAodGhpcy5maWVsZC5SZWZlcmVuY2VJZCkge1xyXG4gICAgICBmaWVsZFJlZmVyZW5jZUlkID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKFxyXG4gICAgICAgIHRoaXMuZmllbGQuUmVmZXJlbmNlSWQsXHJcbiAgICAgICAgdGhpcy5ncnBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmaWVsZFJlZmVyZW5jZUlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGaWx0ZXJQYXJhbXNDb2x1bW5zKCkge1xyXG4gICAgY29uc3QgY29sRmllbGRzOiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgICB0aGlzLmdyaWRDb2x1bW5zLmZvckVhY2goKGZpZWxkKSA9PiB7XHJcbiAgICAgIGlmIChmaWVsZC52YWx1ZUV4cHIpIHtcclxuICAgICAgICBjb2xGaWVsZHMucHVzaChmaWVsZC52YWx1ZUV4cHIgKyBcIiBhcyBcIiArIGZpZWxkLmZpZWxkKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb2xGaWVsZHMucHVzaChmaWVsZC5maWVsZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChjb2xGaWVsZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAoY29sRmllbGRzLmluZGV4T2YoXCJJZFwiKSA9PT0gLTEpIHtcclxuICAgICAgICBjb2xGaWVsZHMucHVzaChcIklkXCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHRtcEdyaWRDb2x1bW46IGFueVtdID0gW107XHJcbiAgICB0bXBHcmlkQ29sdW1uLnB1c2goY29sRmllbGRzLmpvaW4oXCIsXCIpKTtcclxuICAgIGlmICh0aGlzLnVzYWJsZUNvbHVtbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0bXBHcmlkQ29sdW1uLnB1c2godGhpcy51c2FibGVDb2x1bW5zLmpvaW4oXCIsXCIpKTtcclxuICAgIH1cclxuICAgIHRoaXMucGFyYW1zLmNvbHVtbnMgPSB0bXBHcmlkQ29sdW1uLmpvaW4oXCIsXCIpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnQoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5ncm91cDtcclxuICAgIHRoaXMuZ3JvdXAuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGlmIChldmVudC5XRlNfU3RhdHVzTmFtZSA9PSAnTmV3Jykge1xyXG4gICAgICBsZXQgcGFyYW0gPSB7XHJcbiAgICAgICAgVXNlcklkOiB0aGlzLmdyb3VwWydQU0FQVVNFUklEJ10sXHJcbiAgICAgICAgU3VydmV5TWlsbElkOiBldmVudC5JZFxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLndlYmFwaVNlcnZpY2VcclxuICAgICAgICAucG9zdEFwaShcclxuICAgICAgICAgIHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFVSTCgncHBzYXBzdXJ2ZXljcmVhdGVVUkwnKSxcclxuICAgICAgICAgIHBhcmFtLFxyXG4gICAgICAgICAgbnVsbCxcclxuICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgbnVsbCxcclxuICAgICAgICAgIHRydWVcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ncm91cC5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIGlmICh0aGlzLmRhdGEuRWRpdENsaWNrVVJMKSB7XHJcbiAgICAgICAgICAgIC8vIFRPRE86XHJcbiAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5kYXRhLkVkaXRDbGlja1VSTCwgZGF0YUl0ZW0uSWRdKTtcclxuICAgICAgICAgICAgY29uc3QgY29sRmllbGRzID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YS5Db2x1bW5GaWVsZHMsIHRoaXMuZ3JvdXApO1xyXG4gICAgICAgICAgICB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAgICAgICAgICAgdHlwZTogXCJ6Z3JpZC1jZWxsQ2xpY2tcIixcclxuICAgICAgICAgICAgICB0YXJnZXQ6IHRoaXMuZGF0YS5FZGl0Q2xpY2tVUkwsXHJcbiAgICAgICAgICAgICAgZGF0YTogZXZlbnQsXHJcbiAgICAgICAgICAgICAgY29sdW1uRmllbGRzJDogY29sRmllbGRzXHJcbiAgICAgICAgICAgIH0gYXMgWkNvbXBvbmVudE91dHB1dEV2ZW50KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmdyb3VwLmVkaXRNb2RlbFVSTCwgZGF0YS5JZCwgJ2VkaXQnXSwge1xyXG4gICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEuRWRpdENsaWNrVVJMKSB7XHJcbiAgICAgICAgLy8gVE9ETzpcclxuICAgICAgICAvLyBkZWJ1Z2dlcjtcclxuICAgICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5kYXRhLkVkaXRDbGlja1VSTCwgZGF0YUl0ZW0uSWRdKTtcclxuICAgICAgICBjb25zdCBjb2xGaWVsZHMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhLkNvbHVtbkZpZWxkcywgdGhpcy5ncm91cCk7XHJcbiAgICAgICAgdGhpcy5ncm91cC5zdWJqZWN0Lm5leHQoe1xyXG4gICAgICAgICAgdHlwZTogXCJ6Z3JpZC1jZWxsQ2xpY2tcIixcclxuICAgICAgICAgIHRhcmdldDogdGhpcy5kYXRhLkVkaXRDbGlja1VSTCxcclxuICAgICAgICAgIGRhdGE6IGV2ZW50LFxyXG4gICAgICAgICAgY29sdW1uRmllbGRzJDogY29sRmllbGRzXHJcbiAgICAgICAgfSBhcyBaQ29tcG9uZW50T3V0cHV0RXZlbnQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmdyb3VwLmVkaXRNb2RlbFVSTCwgZXZlbnQuSWQsICdlZGl0J10sIHtcclxuICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGVcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGaWx0ZXIoKSB7XHJcbiAgICBpZiAodGhpcy5wYXJhbXMuZmlsdGVycyAmJiB0aGlzLmZpZWxkLkZpbHRlcnMpIHtcclxuICAgICAgdGhpcy5wYXJhbXMuZmlsdGVycyA9IHRoaXMucGFyYW1zLmZpbHRlcnMgKyBcIiAmJiBcIiArIHRoaXMuZmllbGQuRmlsdGVycztcclxuICAgIH0gZWxzZSBpZiAoIXRoaXMucGFyYW1zLmZpbHRlcnMgJiYgdGhpcy5maWVsZC5GaWx0ZXJzKSB7XHJcbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlcnMgPSB0aGlzLmZpZWxkLkZpbHRlcnM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZmllbGQuRmlsdGVycyAmJiB0aGlzLmZpZWxkLkZpbHRlcnMuaW5kZXhPZihcImdyb3VwLlwiKSAhPT0gLTEpIHtcclxuICAgICAgY29uc3QgZmlsdGVyS2V5VmFsUGFpcnMgPSB0aGlzLmZpZWxkLkZpbHRlcnMuc3BsaXQoXCIgXCIpO1xyXG4gICAgICBjb25zdCBncnBWYWx1ZXMgPSBmaWx0ZXJLZXlWYWxQYWlycy5maWx0ZXIoXHJcbiAgICAgICAgKGVsZW1lbnQpID0+IGVsZW1lbnQudHJpbSgpLmluZGV4T2YoXCJncm91cC5cIikgIT09IC0xXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBncnBWYWx1ZXMuZm9yRWFjaCgodmFsKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYWN0dWFsVmFsID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHZhbCwgdGhpcy5ncnApO1xyXG4gICAgICAgIHRoaXMucGFyYW1zLmZpbHRlcnMgPSB0aGlzLnBhcmFtcy5maWx0ZXJzLnJlcGxhY2UodmFsLCBhY3R1YWxWYWwpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC5sZW5ndGggPCAxKSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVmlld0NhcmRzLmRhdGEgPSB0aGlzLnJlc3BvbnNlRGF0YS5kYXRhO1xyXG4gICAgICB0aGlzLnNjcm9sbFZpZXdDYXJkcy50b3RhbCA9IHRoaXMucmVzcG9uc2VEYXRhLnRvdGFsO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNjcm9sbFZpZXdDYXJkcy5kYXRhID0gdGhpcy5yZXNwb25zZURhdGEuZGF0YS5maWx0ZXIoeCA9PiBldmVudC5pbmNsdWRlcyh4LldGU19TdGF0dXNOYW1lKSk7XHJcbiAgICB0aGlzLnNjcm9sbFZpZXdDYXJkcy50b3RhbCA9IHRoaXMucmVzcG9uc2VEYXRhLmRhdGEuZmlsdGVyKHggPT4gZXZlbnQuaW5jbHVkZXMoeC5XRlNfU3RhdHVzTmFtZSkpLmxlbmd0aDtcclxuICB9XHJcbn1cclxuIiwiPCEtLTxrZW5kby1tdWx0aXNlbGVjdCBbZGF0YV09XCJmaWx0ZXJJdGVtc1wiIFt2YWx1ZV09XCJ2YWx1ZVwiIFtwbGFjZWhvbGRlcl09XCInU3VydmV5IFN0YXR1cydcIiBbZmlsdGVyYWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJ2YWx1ZUNoYW5nZSgkZXZlbnQpXCI+PC9rZW5kby1tdWx0aXNlbGVjdD5cclxuJm5ic3A7LS0+XHJcbjxkaXYgY2xhc3M9XCJzdXJ2ZXktY2FyZC1saXN0XCI+XHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgY2FyZCBvZiBzY3JvbGxWaWV3Q2FyZHMuZGF0YVwiPlxyXG4gICAgPHNjcm9sbHZpZXctY2FyZCBbY2FyZF09XCJjYXJkXCI+PC9zY3JvbGx2aWV3LWNhcmQ+XHJcbiAgICA8a2VuZG8tY2FyZCBjbGFzcz1cImN1c3RvbS1jYXJkLWRyYWZ0XCIgKm5nSWY9XCJjYXJkLldGU19TdGF0dXNOYW1lID09ICdEcmFmdCdcIiBbd2lkdGhdPVwiJzI1MHB4J1wiPlxyXG4gICAgICA8a2VuZG8tY2FyZC1oZWFkZXIgY2xhc3M9XCJrLWhib3hcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPGgxIGtlbmRvQ2FyZFRpdGxlPnt7IGNhcmQuU3VydmV5VGVtcGxhdGVOYW1lIH19PC9oMT5cclxuICAgICAgICAgIDxwIGtlbmRvQ2FyZFN1YnRpdGxlPlN1cnZleSBEb2MgTm86IHt7Y2FyZC5Eb2N1bWVudE5vfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwva2VuZG8tY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxrZW5kby1jYXJkLWJvZHkgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICBNaWxsIE5hbWU6ICB7e2NhcmQuUGFydG5lck1pbGxOYW1lfX1cclxuICAgICAgICA8YnIgLz5cclxuICAgICAgICBTdXJ2ZXkgU3RhdHVzOiB7e2NhcmQuV0ZTX1N0YXR1c05hbWV9fVxyXG4gICAgICA8L2tlbmRvLWNhcmQtYm9keT5cclxuICAgICAgPGtlbmRvLWNhcmQtZm9vdGVyPlxyXG4gICAgICAgIFN1cnZleSBQcm9ncmVzc2lvbjpcclxuICAgICAgICA8a2VuZG8tcHJvZ3Jlc3NiYXIgc3R5bGU9XCJ3aWR0aDogMjEwcHg7IGJvcmRlci1yYWRpdXM6MTBweFwiIFt2YWx1ZV09XCJjYXJkLnZhbHVlXCIgW2xhYmVsXT1cImxhYmVsXCIgW3Byb2dyZXNzQ3NzU3R5bGVdPVwicHJvZ3Jlc3NTdHlsZXNcIj5cclxuICAgICAgICA8L2tlbmRvLXByb2dyZXNzYmFyPlxyXG5cclxuICAgICAgICA8a2VuZG8tY2FyZC1hY3Rpb25zIGNsYXNzPVwiay1oYm94LWFjdGlvbkJ0blwiIG9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiIFtsYXlvdXRdPVwiJ2VuZCdcIj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiZGFya1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc3Ryb25nPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzdGFydChjYXJkKVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlvbi10ZXh0LWNhcGl0YWxpemVcIj5Db250aW51ZSAmbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImdldEZvbnRBd2Vzb21lKCdwbGF5JylcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogNXB4O1wiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2tlbmRvLWNhcmQtYWN0aW9ucz5cclxuICAgICAgPC9rZW5kby1jYXJkLWZvb3Rlcj5cclxuICAgIDwva2VuZG8tY2FyZD5cclxuXHJcbiAgICA8a2VuZG8tY2FyZCBjbGFzcz1cImN1c3RvbS1jYXJkLXN1Ym1pdFwiICpuZ0lmPVwiY2FyZC5XRlNfU3RhdHVzTmFtZSA9PSAnU3VibWl0dGVkJ1wiIFt3aWR0aF09XCInMjUwcHgnXCI+XHJcbiAgICAgIDxrZW5kby1jYXJkLWhlYWRlciBjbGFzcz1cImstaGJveFwiPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8aDEga2VuZG9DYXJkVGl0bGU+e3sgY2FyZC5TdXJ2ZXlUZW1wbGF0ZU5hbWUgfX08L2gxPlxyXG4gICAgICAgICAgPHAga2VuZG9DYXJkU3VidGl0bGU+U3VydmV5IERvYyBObzoge3tjYXJkLkRvY3VtZW50Tm99fTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9rZW5kby1jYXJkLWhlYWRlcj5cclxuICAgICAgPGtlbmRvLWNhcmQtYm9keSBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIE1pbGwgTmFtZTogIHt7Y2FyZC5QYXJ0bmVyTWlsbE5hbWV9fVxyXG4gICAgICAgIDxiciAvPlxyXG4gICAgICAgIFN1cnZleSBTdGF0dXM6IHt7Y2FyZC5XRlNfU3RhdHVzTmFtZX19XHJcbiAgICAgIDwva2VuZG8tY2FyZC1ib2R5PlxyXG4gICAgICA8a2VuZG8tY2FyZC1mb290ZXI+XHJcbiAgICAgICAgU3VydmV5IFByb2dyZXNzaW9uOlxyXG4gICAgICAgIDxrZW5kby1wcm9ncmVzc2JhciBzdHlsZT1cIndpZHRoOiAyMTBweDsgYm9yZGVyLXJhZGl1czoxMHB4XCIgW3ZhbHVlXT1cImNhcmQudmFsdWVcIiBbbGFiZWxdPVwibGFiZWxcIiBbcHJvZ3Jlc3NDc3NTdHlsZV09XCJwcm9ncmVzc1N0eWxlc1wiPlxyXG4gICAgICAgIDwva2VuZG8tcHJvZ3Jlc3NiYXI+XHJcbiAgICAgICAgPGtlbmRvLWNhcmQtYWN0aW9ucyBjbGFzcz1cImstaGJveC1hY3Rpb25CdG5cIiBvcmllbnRhdGlvbj1cImhvcml6b250YWxcIiBbbGF5b3V0XT1cIidlbmQnXCI+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImRhcmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9uZz1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RhcnQoY2FyZClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpb24tdGV4dC1jYXBpdGFsaXplXCI+VmlldyAmbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImdldEZvbnRBd2Vzb21lKCdmaWxlLWFsdCcpXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDVweDtcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9rZW5kby1jYXJkLWFjdGlvbnM+XHJcbiAgICAgIDwva2VuZG8tY2FyZC1mb290ZXI+XHJcbiAgICA8L2tlbmRvLWNhcmQ+XHJcblxyXG4gICAgPGtlbmRvLWNhcmQgY2xhc3M9XCJjdXN0b20tY2FyZC1uZXdcIiAqbmdJZj1cImNhcmQuV0ZTX1N0YXR1c05hbWUgPT0gJ05ldydcIiBbd2lkdGhdPVwiJzI1MHB4J1wiPlxyXG4gICAgICA8a2VuZG8tY2FyZC1oZWFkZXIgY2xhc3M9XCJrLWhib3hcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPGgxIGtlbmRvQ2FyZFRpdGxlPnt7IGNhcmQuU3VydmV5VGVtcGxhdGVOYW1lIH19PC9oMT5cclxuICAgICAgICAgIDxwIGtlbmRvQ2FyZFN1YnRpdGxlPnt7Y2FyZC5Eb2N1bWVudE5vfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwva2VuZG8tY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxrZW5kby1jYXJkLWJvZHkgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICBNaWxsIE5hbWU6ICB7e2NhcmQuUGFydG5lck1pbGxOYW1lfX1cclxuICAgICAgICA8YnIgLz5cclxuICAgICAgICBTdXJ2ZXkgU3RhdHVzOiB7e2NhcmQuV0ZTX1N0YXR1c05hbWV9fVxyXG4gICAgICA8L2tlbmRvLWNhcmQtYm9keT5cclxuICAgICAgPGtlbmRvLWNhcmQtZm9vdGVyPlxyXG4gICAgICAgIFN1cnZleSBQcm9ncmVzc2lvbjpcclxuICAgICAgICA8a2VuZG8tcHJvZ3Jlc3NiYXIgc3R5bGU9XCJ3aWR0aDogMjEwcHg7IGJvcmRlci1yYWRpdXM6MTBweFwiIFt2YWx1ZV09XCJjYXJkLnZhbHVlXCIgW2xhYmVsXT1cImxhYmVsXCIgW3Byb2dyZXNzQ3NzU3R5bGVdPVwicHJvZ3Jlc3NTdHlsZXNcIj5cclxuICAgICAgICA8L2tlbmRvLXByb2dyZXNzYmFyPlxyXG4gICAgICAgIDxrZW5kby1jYXJkLWFjdGlvbnMgY2xhc3M9XCJrLWhib3gtYWN0aW9uQnRuXCIgb3JpZW50YXRpb249XCJob3Jpem9udGFsXCIgW2xheW91dF09XCInZW5kJ1wiPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJkYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHJvbmc9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN0YXJ0KGNhcmQpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW9uLXRleHQtY2FwaXRhbGl6ZVwiPlN0YXJ0ICZuYnNwOzwvc3Bhbj5cclxuICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZ2V0Rm9udEF3ZXNvbWUoJ3BsYXknKVwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA1cHg7XCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwva2VuZG8tY2FyZC1hY3Rpb25zPlxyXG4gICAgICA8L2tlbmRvLWNhcmQtZm9vdGVyPlxyXG4gICAgPC9rZW5kby1jYXJkPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -87,9 +87,9 @@ export class ZlabelComponent {
|
|
|
87
87
|
return resultList;
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
ZlabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
|
91
|
-
ZlabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
|
90
|
+
ZlabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZlabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
+
ZlabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZlabelComponent, selector: "app-zlabel", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<ion-item [formGroup]=\"form\" *ngIf=\"componentProperties.isVisible\" [ngClass]=\"getClass(form, data)\">\r\n <div class=\"ion-row\" style=\"justify-content: space-between; width: 100%\">\r\n <div style=\"flex: 1;\">\r\n <div *ngIf=\"data.Label\">\r\n <fa-icon *ngIf=\"data.Icon\" [icon]=\"getFontAwesome(data.Icon)\" style=\"padding-right: 5px;\"></fa-icon>\r\n <ion-label class=\"ion-text-wrap label\" Position=\"Fixed\" [color]=\"data.Color\">{{labelText}}</ion-label>\r\n </div>\r\n\r\n <div *ngIf=\"data.LabelList\">\r\n <div *ngFor=\"let label of labelList\">\r\n <div class=\"ion-text-wrap labelList\" [style]=\"label.StyleExpression\">\r\n <div *ngIf=\"!data.DisableFrontSpacing\" style=\"padding-left: 5px;\"></div>\r\n <fa-icon *ngIf=\"label.Icon\" [icon]=\"getFontAwesome(label.Icon)\" style=\"padding-right: 5px;\"></fa-icon>\r\n <!--<div innerHTML=\"{{labelListText}}\"></div>-->\r\n <div [innerHTML]=\"label.DisplayLabel\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ion-item>\r\n", styles: [".subtitle{font-weight:700;text-decoration:underline}.subtitle .label,.mediumFont .label{font-size:15px}.label{font-size:12px;white-space:pre-wrap!important}.labelList{display:flex;align-items:center;font-size:12px;white-space:pre-wrap!important}.boldFont .label{font-weight:700}.underlineFont .label{text-decoration:underline}\n"], components: [{ type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZlabelComponent, decorators: [{
|
|
93
93
|
type: Component,
|
|
94
94
|
args: [{ selector: 'app-zlabel', template: "<ion-item [formGroup]=\"form\" *ngIf=\"componentProperties.isVisible\" [ngClass]=\"getClass(form, data)\">\r\n <div class=\"ion-row\" style=\"justify-content: space-between; width: 100%\">\r\n <div style=\"flex: 1;\">\r\n <div *ngIf=\"data.Label\">\r\n <fa-icon *ngIf=\"data.Icon\" [icon]=\"getFontAwesome(data.Icon)\" style=\"padding-right: 5px;\"></fa-icon>\r\n <ion-label class=\"ion-text-wrap label\" Position=\"Fixed\" [color]=\"data.Color\">{{labelText}}</ion-label>\r\n </div>\r\n\r\n <div *ngIf=\"data.LabelList\">\r\n <div *ngFor=\"let label of labelList\">\r\n <div class=\"ion-text-wrap labelList\" [style]=\"label.StyleExpression\">\r\n <div *ngIf=\"!data.DisableFrontSpacing\" style=\"padding-left: 5px;\"></div>\r\n <fa-icon *ngIf=\"label.Icon\" [icon]=\"getFontAwesome(label.Icon)\" style=\"padding-right: 5px;\"></fa-icon>\r\n <!--<div innerHTML=\"{{labelListText}}\"></div>-->\r\n <div [innerHTML]=\"label.DisplayLabel\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ion-item>\r\n", styles: [".subtitle{font-weight:700;text-decoration:underline}.subtitle .label,.mediumFont .label{font-size:15px}.label{font-size:12px;white-space:pre-wrap!important}.labelList{display:flex;align-items:center;font-size:12px;white-space:pre-wrap!important}.boldFont .label{font-weight:700}.underlineFont .label{text-decoration:underline}\n"] }]
|
|
95
95
|
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
@@ -99,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
99
99
|
}], form: [{
|
|
100
100
|
type: Input
|
|
101
101
|
}] } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3psYWJlbC96bGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemxhYmVsL3psYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekQsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUNPLGdCQUFnQixFQUNaLG9CQUFvQixFQUNyQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFRekIsTUFBTSxPQUFPLGVBQWU7SUFVMUI7UUFMQSx3QkFBbUIsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFFakQsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFrQ1IsZUFBVSxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7WUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzdCLENBQUMsQ0FBQTtRQWNNLFlBQU8sR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUMsQ0FBQTtRQU1NLGlCQUFZLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNsQyxJQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUM7Z0JBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLHVCQUF1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LENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ2hGO2dCQUVELFdBQVcsQ0FBQyxjQUFjLENBQUMsR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbkYsV0FBVyxDQUFDLGNBQWMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ2xGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzs0R0FwR1UsZUFBZTtnR0FBZixlQUFlLDBHQ3BCNUIsa25DQXFCQTsyRkREYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7MEVBS2IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHtcclxuICBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLFxyXG4gIFpGaWVsZCwgWkdyb3VwLCBaQ29tcG9uZW50UHJvcGVydGllc1xyXG59IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtemxhYmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vemxhYmVsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi96bGFiZWwuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFpsYWJlbENvbXBvbmVudCBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YTogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBjb21wb25lbnRQcm9wZXJ0aWVzID0gbmV3IFpDb21wb25lbnRQcm9wZXJ0aWVzKCk7XHJcblxyXG4gIGxhYmVsVGV4dCA9IFwiXCI7XHJcbiAgbGFiZWxMaXN0ID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudFByb3BlcnRpZXModGhpcyk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGFbJ0xhYmVsTGlzdCddKSB7XHJcbiAgICAgIHRoaXMubGFiZWxMaXN0ID0gdGhpcy5jb252ZXJ0TGFiZWxUb0xhYmVsTGlzdCh0aGlzLmRhdGFbJ0xhYmVsTGlzdCddKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmxhYmVsVGV4dCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGEuTGFiZWwudG9TdHJpbmcoKSwgdGhpcy5ncm91cCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRSZWFkT25seVZhbHVlKCkge1xyXG4gICAgY29uc3QgcmVhZE9ubHlWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuUmVhZE9ubHkpO1xyXG4gICAgaWYgKHR5cGVvZiByZWFkT25seVZhbHVlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiByZWFkT25seVZhbHVlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVhZE9ubHlWYWx1ZTtcclxuICB9XHJcblxyXG4gIGlzVmlzaWJsZSgpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmlzVmlzaWJsZS5jYWxsKHRoaXMsIHRoaXMuZGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRWaXNpYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIHRoaXMuZGF0YS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtOiBGb3JtR3JvdXAsIGRhdGE6IFpGaWVsZCkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIGdldENsYXNzKGZvcm06IEZvcm1Hcm91cCwgZGF0YTogWkZpZWxkKSB7XHJcbiAgICByZXR1cm4gYCR7WkNvbXBvbmVudEhlbHBlci5nZXRJb25fSW52YWxpZENsYXNzKGZvcm0sIGRhdGEpfSAke2RhdGEuRGl2Q2xhc3N9YDtcclxuICB9XHJcblxyXG4gIGdldEZvbnRBd2Vzb21lKGljb25OYW1lOiBhbnkpIHtcclxuICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmdldEZvbnRBd2Vzb21lKGljb25OYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXREYXRhID0gKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5sYWJlbFRleHQgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExhYmVsRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxhYmVsVGV4dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMYWJlbExpc3QgPSAoZGF0YTogYW55KSA9PiB7XHJcbiAgICBpZihBcnJheS5pc0FycmF5KGRhdGEpKXtcclxuICAgICAgdGhpcy5sYWJlbExpc3QgPSB0aGlzLmNvbnZlcnRMYWJlbFRvTGFiZWxMaXN0KGRhdGEpO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAge1xyXG4gICAgICB0aGlzLmxhYmVsTGlzdCA9IGRhdGE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TGFiZWxMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGFiZWxMaXN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0TGFiZWxUb0xhYmVsTGlzdChsYWJlbExpc3Q6IGFueSl7XHJcbiAgICBjb25zdCByZXN1bHRMaXN0ID0gT2JqZWN0LmFzc2lnbihbXSwgbGFiZWxMaXN0KTtcclxuXHJcbiAgICByZXN1bHRMaXN0LmZvckVhY2gobGFiZWxSZWNvcmQgPT4ge1xyXG4gICAgICBpZiAobGFiZWxSZWNvcmRbJ0xhYmVsJ10pIHtcclxuICAgICAgICBpZiAobGFiZWxSZWNvcmRbJ0xhYmVsJ10uc3RhcnRzV2l0aCgnZ3JvdXAuJykpIHtcclxuICAgICAgICAgIGxhYmVsUmVjb3JkWydEaXNwbGF5TGFiZWwnXSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShsYWJlbFJlY29yZFsnTGFiZWwnXS50b1N0cmluZygpLCB0aGlzLmdyb3VwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghbGFiZWxSZWNvcmRbJ0Rpc3BsYXlMYWJlbCddKSB7XHJcbiAgICAgICAgICBsYWJlbFJlY29yZFsnRGlzcGxheUxhYmVsJ10gPSBsYWJlbFJlY29yZFsnTGFiZWwnXSA/IGxhYmVsUmVjb3JkWydMYWJlbCddIDogJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsYWJlbFJlY29yZFsnRGlzcGxheUxhYmVsJ10gPSBsYWJlbFJlY29yZFsnRGlzcGxheUxhYmVsJ10ucmVwbGFjZShcIlxcclxcblwiLCBcIjxici8+XCIpO1xyXG4gICAgICAgIGxhYmVsUmVjb3JkWydEaXNwbGF5TGFiZWwnXSA9IGxhYmVsUmVjb3JkWydEaXNwbGF5TGFiZWwnXS5yZXBsYWNlKFwiXFxuXCIsIFwiPGJyLz5cIik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByZXN1bHRMaXN0O1xyXG4gIH1cclxufVxyXG4iLCI8aW9uLWl0ZW0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCJjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZVwiIFtuZ0NsYXNzXT1cImdldENsYXNzKGZvcm0sIGRhdGEpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImlvbi1yb3dcIiBzdHlsZT1cImp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjsgd2lkdGg6IDEwMCVcIj5cclxuICAgIDxkaXYgc3R5bGU9XCJmbGV4OiAxO1wiPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5MYWJlbFwiPlxyXG4gICAgICAgIDxmYS1pY29uICpuZ0lmPVwiZGF0YS5JY29uXCIgW2ljb25dPVwiZ2V0Rm9udEF3ZXNvbWUoZGF0YS5JY29uKVwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogNXB4O1wiPjwvZmEtaWNvbj5cclxuICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiaW9uLXRleHQtd3JhcCBsYWJlbFwiIFBvc2l0aW9uPVwiRml4ZWRcIiBbY29sb3JdPVwiZGF0YS5Db2xvclwiPnt7bGFiZWxUZXh0fX08L2lvbi1sYWJlbD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5MYWJlbExpc3RcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBsYWJlbExpc3RcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC13cmFwIGxhYmVsTGlzdFwiIFtzdHlsZV09XCJsYWJlbC5TdHlsZUV4cHJlc3Npb25cIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFkYXRhLkRpc2FibGVGcm9udFNwYWNpbmdcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogNXB4O1wiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cImxhYmVsLkljb25cIiBbaWNvbl09XCJnZXRGb250QXdlc29tZShsYWJlbC5JY29uKVwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogNXB4O1wiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgPCEtLTxkaXYgaW5uZXJIVE1MPVwie3tsYWJlbExpc3RUZXh0fX1cIj48L2Rpdj4tLT5cclxuICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImxhYmVsLkRpc3BsYXlMYWJlbFwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvaW9uLWl0ZW0+XHJcbiJdfQ==
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3psYWJlbC96bGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemxhYmVsL3psYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekQsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsT0FBTyxFQUNPLGdCQUFnQixFQUNaLG9CQUFvQixFQUNyQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFRekIsTUFBTSxPQUFPLGVBQWU7SUFVMUI7UUFMQSx3QkFBbUIsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFFakQsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFrQ1IsZUFBVSxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7WUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzdCLENBQUMsQ0FBQTtRQWNNLFlBQU8sR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUMsQ0FBQTtRQU1NLGlCQUFZLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNsQyxJQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUM7Z0JBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLHVCQUF1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LENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ2hGO2dCQUVELFdBQVcsQ0FBQyxjQUFjLENBQUMsR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbkYsV0FBVyxDQUFDLGNBQWMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ2xGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzs2R0FwR1UsZUFBZTtpR0FBZixlQUFlLDBHQ3BCNUIsa25DQXFCQTs0RkREYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7MEVBS2IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHtcclxuICBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLFxyXG4gIFpGaWVsZCwgWkdyb3VwLCBaQ29tcG9uZW50UHJvcGVydGllc1xyXG59IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtemxhYmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vemxhYmVsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi96bGFiZWwuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFpsYWJlbENvbXBvbmVudCBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YTogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBjb21wb25lbnRQcm9wZXJ0aWVzID0gbmV3IFpDb21wb25lbnRQcm9wZXJ0aWVzKCk7XHJcblxyXG4gIGxhYmVsVGV4dCA9IFwiXCI7XHJcbiAgbGFiZWxMaXN0ID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudFByb3BlcnRpZXModGhpcyk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGFbJ0xhYmVsTGlzdCddKSB7XHJcbiAgICAgIHRoaXMubGFiZWxMaXN0ID0gdGhpcy5jb252ZXJ0TGFiZWxUb0xhYmVsTGlzdCh0aGlzLmRhdGFbJ0xhYmVsTGlzdCddKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmxhYmVsVGV4dCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGEuTGFiZWwudG9TdHJpbmcoKSwgdGhpcy5ncm91cCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRSZWFkT25seVZhbHVlKCkge1xyXG4gICAgY29uc3QgcmVhZE9ubHlWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuUmVhZE9ubHkpO1xyXG4gICAgaWYgKHR5cGVvZiByZWFkT25seVZhbHVlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIHJldHVybiByZWFkT25seVZhbHVlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVhZE9ubHlWYWx1ZTtcclxuICB9XHJcblxyXG4gIGlzVmlzaWJsZSgpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmlzVmlzaWJsZS5jYWxsKHRoaXMsIHRoaXMuZGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRWaXNpYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIHRoaXMuZGF0YS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtOiBGb3JtR3JvdXAsIGRhdGE6IFpGaWVsZCkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIGdldENsYXNzKGZvcm06IEZvcm1Hcm91cCwgZGF0YTogWkZpZWxkKSB7XHJcbiAgICByZXR1cm4gYCR7WkNvbXBvbmVudEhlbHBlci5nZXRJb25fSW52YWxpZENsYXNzKGZvcm0sIGRhdGEpfSAke2RhdGEuRGl2Q2xhc3N9YDtcclxuICB9XHJcblxyXG4gIGdldEZvbnRBd2Vzb21lKGljb25OYW1lOiBhbnkpIHtcclxuICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmdldEZvbnRBd2Vzb21lKGljb25OYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXREYXRhID0gKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5sYWJlbFRleHQgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExhYmVsRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxhYmVsVGV4dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMYWJlbExpc3QgPSAoZGF0YTogYW55KSA9PiB7XHJcbiAgICBpZihBcnJheS5pc0FycmF5KGRhdGEpKXtcclxuICAgICAgdGhpcy5sYWJlbExpc3QgPSB0aGlzLmNvbnZlcnRMYWJlbFRvTGFiZWxMaXN0KGRhdGEpO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAge1xyXG4gICAgICB0aGlzLmxhYmVsTGlzdCA9IGRhdGE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TGFiZWxMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGFiZWxMaXN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0TGFiZWxUb0xhYmVsTGlzdChsYWJlbExpc3Q6IGFueSl7XHJcbiAgICBjb25zdCByZXN1bHRMaXN0ID0gT2JqZWN0LmFzc2lnbihbXSwgbGFiZWxMaXN0KTtcclxuXHJcbiAgICByZXN1bHRMaXN0LmZvckVhY2gobGFiZWxSZWNvcmQgPT4ge1xyXG4gICAgICBpZiAobGFiZWxSZWNvcmRbJ0xhYmVsJ10pIHtcclxuICAgICAgICBpZiAobGFiZWxSZWNvcmRbJ0xhYmVsJ10uc3RhcnRzV2l0aCgnZ3JvdXAuJykpIHtcclxuICAgICAgICAgIGxhYmVsUmVjb3JkWydEaXNwbGF5TGFiZWwnXSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShsYWJlbFJlY29yZFsnTGFiZWwnXS50b1N0cmluZygpLCB0aGlzLmdyb3VwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghbGFiZWxSZWNvcmRbJ0Rpc3BsYXlMYWJlbCddKSB7XHJcbiAgICAgICAgICBsYWJlbFJlY29yZFsnRGlzcGxheUxhYmVsJ10gPSBsYWJlbFJlY29yZFsnTGFiZWwnXSA/IGxhYmVsUmVjb3JkWydMYWJlbCddIDogJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsYWJlbFJlY29yZFsnRGlzcGxheUxhYmVsJ10gPSBsYWJlbFJlY29yZFsnRGlzcGxheUxhYmVsJ10ucmVwbGFjZShcIlxcclxcblwiLCBcIjxici8+XCIpO1xyXG4gICAgICAgIGxhYmVsUmVjb3JkWydEaXNwbGF5TGFiZWwnXSA9IGxhYmVsUmVjb3JkWydEaXNwbGF5TGFiZWwnXS5yZXBsYWNlKFwiXFxuXCIsIFwiPGJyLz5cIik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByZXN1bHRMaXN0O1xyXG4gIH1cclxufVxyXG4iLCI8aW9uLWl0ZW0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCJjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZVwiIFtuZ0NsYXNzXT1cImdldENsYXNzKGZvcm0sIGRhdGEpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImlvbi1yb3dcIiBzdHlsZT1cImp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjsgd2lkdGg6IDEwMCVcIj5cclxuICAgIDxkaXYgc3R5bGU9XCJmbGV4OiAxO1wiPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5MYWJlbFwiPlxyXG4gICAgICAgIDxmYS1pY29uICpuZ0lmPVwiZGF0YS5JY29uXCIgW2ljb25dPVwiZ2V0Rm9udEF3ZXNvbWUoZGF0YS5JY29uKVwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogNXB4O1wiPjwvZmEtaWNvbj5cclxuICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiaW9uLXRleHQtd3JhcCBsYWJlbFwiIFBvc2l0aW9uPVwiRml4ZWRcIiBbY29sb3JdPVwiZGF0YS5Db2xvclwiPnt7bGFiZWxUZXh0fX08L2lvbi1sYWJlbD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5MYWJlbExpc3RcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBsYWJlbExpc3RcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC13cmFwIGxhYmVsTGlzdFwiIFtzdHlsZV09XCJsYWJlbC5TdHlsZUV4cHJlc3Npb25cIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFkYXRhLkRpc2FibGVGcm9udFNwYWNpbmdcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogNXB4O1wiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cImxhYmVsLkljb25cIiBbaWNvbl09XCJnZXRGb250QXdlc29tZShsYWJlbC5JY29uKVwiIHN0eWxlPVwicGFkZGluZy1yaWdodDogNXB4O1wiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgPCEtLTxkaXYgaW5uZXJIVE1MPVwie3tsYWJlbExpc3RUZXh0fX1cIj48L2Rpdj4tLT5cclxuICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImxhYmVsLkRpc3BsYXlMYWJlbFwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvaW9uLWl0ZW0+XHJcbiJdfQ==
|