mmhglobal-dynamicform 2.5.2 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/esm2020/lib/components/buttonfieldbase.component.mjs +7 -5
- package/esm2020/lib/components/containerfieldbase.component.mjs +7 -5
- package/esm2020/lib/components/datalistingfieldbase.component.mjs +13 -9
- package/esm2020/lib/components/fieldbase.component.mjs +11 -9
- package/esm2020/lib/components/inputfieldbase.component.mjs +10 -5
- package/esm2020/lib/embed-components/input-field-addons/input-field-addons.component.mjs +8 -4
- package/esm2020/lib/input-error-message/input-error-message.component.mjs +8 -3
- package/esm2020/lib/kcard/kcard.component.mjs +20 -16
- package/esm2020/lib/services/zcomponent.service.mjs +20 -22
- package/esm2020/lib/sfquerybuilder/sfquerybuilder.component.mjs +64 -17
- package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +12 -8
- package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +3 -6
- package/esm2020/lib/uibulletin/uibulletin.component.mjs +1 -1
- package/esm2020/lib/uicontainer/uicontainer.component.mjs +1 -1
- package/esm2020/lib/uicontent/uicontent.component.mjs +1 -5
- package/esm2020/lib/uiheader/uiheader.component.mjs +8 -12
- package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +3 -2
- package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +5 -4
- package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +5 -4
- package/esm2020/lib/zbullet/zbullet.component.mjs +6 -4
- package/esm2020/lib/zbuttons/zbuttons.component.mjs +14 -10
- package/esm2020/lib/zcard/zcard.component.mjs +9 -6
- package/esm2020/lib/zchart/zchart.component.mjs +10 -6
- package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +14 -4
- package/esm2020/lib/zchip/zchip.component.mjs +16 -8
- package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +3 -4
- package/esm2020/lib/zdaterange/zdaterange.component.mjs +3 -1
- package/esm2020/lib/zdatetime/dateParser.pipe.mjs +4 -4
- package/esm2020/lib/zdatetime/zdatetime.component.mjs +7 -4
- package/esm2020/lib/zdiv/zdiv.component.mjs +19 -11
- 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 +9 -5
- package/esm2020/lib/zgrid/container/zgrid-container.component.mjs +14 -6
- package/esm2020/lib/zgrid/zgrid.component.mjs +11 -6
- package/esm2020/lib/zimg/zimg.component.mjs +10 -6
- package/esm2020/lib/zinput-container/zinput-container.component.mjs +14 -8
- package/esm2020/lib/zinput-container/zinput-container.pipe.mjs +4 -4
- package/esm2020/lib/zlabel/zlabel.component.mjs +11 -5
- package/esm2020/lib/zmfb/zmfb.component.mjs +10 -6
- package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +1 -1
- package/esm2020/lib/zmodal/zmodal.component.mjs +1 -1
- package/esm2020/lib/znumeric/znumeric.component.mjs +8 -3
- package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +20 -16
- package/esm2020/lib/zprogressbar/zprogressbar.component.mjs +10 -8
- package/esm2020/lib/zquerybuilder/zquerybuilder.component.mjs +1 -1
- package/esm2020/lib/zreport/zreport.component.mjs +6 -4
- package/esm2020/lib/zscheduler/zscheduler.component.mjs +8 -4
- package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +17 -18
- package/esm2020/lib/ztab/ztab.component.mjs +15 -7
- package/esm2020/lib/ztext/ztext.component.mjs +9 -5
- package/esm2020/lib/ztextarea/ztextarea.component.mjs +10 -7
- package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +11 -7
- package/esm2020/lib/ztree/ztree.component.mjs +8 -12
- package/esm2020/lib/ztreelist/ztreelist.component.mjs +10 -6
- package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +1 -1
- package/esm2020/lib/zudf/zudf.component.mjs +10 -12
- package/esm2020/lib/zupload/zupload.component.mjs +5 -4
- package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +9 -5
- package/fesm2015/mmhglobal-dynamicform.mjs +400 -247
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +401 -247
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/components/buttonfieldbase.component.d.ts +6 -2
- package/lib/components/containerfieldbase.component.d.ts +7 -3
- package/lib/components/datalistingfieldbase.component.d.ts +6 -2
- package/lib/components/fieldbase.component.d.ts +6 -3
- package/lib/components/inputfieldbase.component.d.ts +4 -1
- package/lib/embed-components/input-field-addons/input-field-addons.component.d.ts +6 -2
- package/lib/input-error-message/input-error-message.component.d.ts +6 -3
- package/lib/kcard/kcard.component.d.ts +6 -3
- package/lib/services/zcomponent.service.d.ts +9 -8
- package/lib/sfquerybuilder/sfquerybuilder.component.d.ts +22 -6
- package/lib/uiactionbutton/uiactionbutton.component.d.ts +4 -2
- package/lib/uiappmenucontent/uiappmenucontent.component.d.ts +1 -1
- package/lib/uicontent/uicontent.component.d.ts +1 -1
- package/lib/uiheader/uiheader.component.d.ts +7 -4
- package/lib/uimenucontent/uimenucontent.component.d.ts +3 -0
- package/lib/zbullet/zbullet.component.d.ts +2 -1
- package/lib/zbuttons/zbuttons.component.d.ts +5 -5
- package/lib/zcard/zcard.component.d.ts +3 -2
- package/lib/zchart/zchart.component.d.ts +4 -2
- package/lib/zcheckbox/zcheckbox.component.d.ts +9 -3
- package/lib/zchip/zchip.component.d.ts +6 -2
- package/lib/zcodeeditor/zcodeeditor.component.d.ts +2 -2
- package/lib/zdaterange/zdaterange.component.d.ts +1 -0
- package/lib/zdatetime/dateParser.pipe.d.ts +2 -2
- package/lib/zdatetime/zdatetime.component.d.ts +4 -3
- package/lib/zdiv/zdiv.component.d.ts +8 -2
- package/lib/zform/zform.component.d.ts +1 -1
- package/lib/zformcontrol/zformcontrol.component.d.ts +2 -2
- package/lib/zgauge/zgauge.component.d.ts +4 -2
- package/lib/zgrid/container/zgrid-container.component.d.ts +5 -2
- package/lib/zgrid/zgrid.component.d.ts +6 -4
- package/lib/zimg/zimg.component.d.ts +5 -3
- package/lib/zinput-container/zinput-container.component.d.ts +6 -3
- package/lib/zinput-container/zinput-container.pipe.d.ts +2 -2
- package/lib/zlabel/zlabel.component.d.ts +6 -2
- package/lib/zmfb/zmfb.component.d.ts +4 -2
- package/lib/znumeric/znumeric.component.d.ts +6 -3
- package/lib/zpostselectinput/zpostselectinput.component.d.ts +7 -5
- package/lib/zprogressbar/zprogressbar.component.d.ts +5 -3
- package/lib/zreport/zreport.component.d.ts +5 -2
- package/lib/zscheduler/zscheduler.component.d.ts +3 -1
- package/lib/zselectmultiple/zselectmultiple.component.d.ts +8 -7
- package/lib/ztab/ztab.component.d.ts +6 -2
- package/lib/ztext/ztext.component.d.ts +5 -3
- package/lib/ztextarea/ztextarea.component.d.ts +4 -3
- package/lib/ztexteditor/ztexteditor.component.d.ts +5 -3
- package/lib/ztree/ztree.component.d.ts +4 -3
- package/lib/ztreelist/ztreelist.component.d.ts +5 -3
- package/lib/zudf/zudf.component.d.ts +3 -5
- package/lib/zupload/zupload.component.d.ts +4 -3
- package/lib/zworkflowbuttons/zworkflowbuttons.component.d.ts +5 -3
- package/package.json +1 -1
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/********** Angular **********/
|
|
2
2
|
import { Component, ViewChild, HostListener } from "@angular/core";
|
|
3
3
|
/********** Component & Service **********/
|
|
4
|
-
import { ZComponentHelper } from "mmhglobal-zcore";
|
|
5
4
|
import { FieldBase } from "../components/fieldbase.component";
|
|
5
|
+
import { ZComponentHelper } from "mmhglobal-zcore";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../services/zcomponent.service";
|
|
8
8
|
import * as i2 from "mmhglobal-zcore";
|
|
9
9
|
import * as i3 from "@progress/telerik-angular-report-viewer";
|
|
10
10
|
export class ZreportComponent extends FieldBase {
|
|
11
|
-
constructor(
|
|
12
|
-
super(
|
|
11
|
+
constructor(componentService, fontAweSomeService, resourceApiService) {
|
|
12
|
+
super(componentService);
|
|
13
|
+
this.componentService = componentService;
|
|
13
14
|
this.fontAweSomeService = fontAweSomeService;
|
|
14
15
|
this.resourceApiService = resourceApiService;
|
|
15
16
|
this.title = "Report Viewer";
|
|
@@ -40,6 +41,7 @@ export class ZreportComponent extends FieldBase {
|
|
|
40
41
|
const language = navigator.language;
|
|
41
42
|
let resources = 'Loading...'; // Default.
|
|
42
43
|
this.viewer.viewerObject.stringResources = Object.assign(this.viewer.viewerObject.stringResources, resources);
|
|
44
|
+
this.componentService.decrementComponentCounterForField(this.data);
|
|
43
45
|
}
|
|
44
46
|
ready() {
|
|
45
47
|
console.log("Report ready.");
|
|
@@ -131,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
131
133
|
type: HostListener,
|
|
132
134
|
args: ['window:resize', ['$event']]
|
|
133
135
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienJlcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96cmVwb3J0L3pyZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenJlcG9ydC96cmVwb3J0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBNEIsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUlwSCwyQ0FBMkM7QUFDM0MsT0FBTyxFQUEwQyxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFZOUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVM7SUFnQjdDLFlBQ0UsV0FBOEIsRUFDdkIsa0JBQXNDLEVBQ3JDLGtCQUFzQztRQUU5QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7UUFIWCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3JDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFoQmhELFVBQUssR0FBRyxlQUFlLENBQUM7UUFDakIseUJBQW9CLEdBQUc7WUFDNUIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FBSyxFQUFFLE1BQU07WUFDYixNQUFNLEVBQUUsT0FBTztZQUNmLENBQUMsYUFBYSxDQUFDLEVBQUUsZUFBZTtTQUNqQyxDQUFDO1FBRUssY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNuQiw4QkFBeUIsR0FBRyxLQUFLLENBQUM7SUFRMUMsQ0FBQztJQUVELFFBQVE7UUFDTixL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QUNILENBQUM7OzZHQTVJVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixpUENuQjdCLG1vREEwQ0E7MkZEdkJhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxhQUFhOzBLQU13QixNQUFNO3NCQUFwRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBd0U3QyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIEhvc3RMaXN0ZW5lciwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBUZWxlcmlrUmVwb3J0Vmlld2VyQ29tcG9uZW50IH0gZnJvbSBcIkBwcm9ncmVzcy90ZWxlcmlrLWFuZ3VsYXItcmVwb3J0LXZpZXdlclwiO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBGb250QXdlU29tZVNlcnZpY2UsIFJlc291cmNlQXBpU2VydmljZSwgWkNvbXBvbmVudEhlbHBlciB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgRmllbGRCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuXHJcbi8vIGltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXpyZXBvcnRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pyZXBvcnQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4venJlcG9ydC5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAvLyBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBacmVwb3J0Q29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBAVmlld0NoaWxkKCdyZXBvcnRWaWV3ZXIxJywgeyBzdGF0aWM6IGZhbHNlIH0pIHZpZXdlcjogVGVsZXJpa1JlcG9ydFZpZXdlckNvbXBvbmVudDtcclxuXHJcbiAgdGl0bGUgPSBcIlJlcG9ydCBWaWV3ZXJcIjtcclxuICBwdWJsaWMgdmlld2VyQ29udGFpbmVyU3R5bGUgPSB7XHJcbiAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxyXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxyXG4gICAgaGVpZ2h0OiBcIjgwMHB4XCIsXHJcbiAgICBbJ2ZvbnQtZmFtaWx5J106ICdtcyBzYW5zIHNlcmlmJ1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBpc1Zpc2libGUgPSB0cnVlO1xyXG4gIHB1YmxpYyByZXNvdXJjZVVSTCA9IG51bGw7XHJcbiAgcHVibGljIFJlcG9ydFNvdXJjZSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBwYXJhbVRvUmVzaXplUmVwb3J0Vmlld2VyID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgY29tcFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZvbnRBd2VTb21lU2VydmljZTogRm9udEF3ZVNvbWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZXNvdXJjZUFwaVNlcnZpY2U6IFJlc291cmNlQXBpU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcFNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cclxuICAgICAgdGhpcy5yZXNvdXJjZVVSTCA9IHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFVSTCh0aGlzLmRhdGEuUmVzb3VyY2VVUkwpO1xyXG4gICAgICBpZiAoIXRoaXMucmVzb3VyY2VVUkwpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcInJlc291cmNlVVJMIGlzIGVtcHR5LlwiKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCEhdGhpcy5kYXRhLklzQXV0b0dlbmVyYXRlUmVwb3J0KSB7XHJcbiAgICAgICAgdGhpcy5SZXBvcnRTb3VyY2UgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLlJlcG9ydFNvdXJjZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgLy8gTG9jYWxpemF0aW9uLlxyXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBuYXZpZ2F0b3IubGFuZ3VhZ2U7XHJcbiAgICBsZXQgcmVzb3VyY2VzID0gJ0xvYWRpbmcuLi4nOyAvLyBEZWZhdWx0LlxyXG5cclxuICAgIHRoaXMudmlld2VyLnZpZXdlck9iamVjdC5zdHJpbmdSZXNvdXJjZXMgPSBPYmplY3QuYXNzaWduKHRoaXMudmlld2VyLnZpZXdlck9iamVjdC5zdHJpbmdSZXNvdXJjZXMsIHJlc291cmNlcyk7XHJcbiAgfVxyXG5cclxuICByZWFkeSgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUmVwb3J0IHJlYWR5LlwiKTtcclxuICAgIC8vaWYgKHRoaXMuZGF0YVsnaGlkZUhpc3RvcnlCYWNrJ10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9oaXN0b3J5QmFjayddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgLy9pZiAodGhpcy5kYXRhWydoaWRlSGlzdG9yeUZvcndhcmQnXSkgeyAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2hpc3RvcnlGb3J3YXJkJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVSZWZyZXNoJ10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9yZWZyZXNoJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVTdG9wUmVuZGVyaW5nJ10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9zdG9wUmVuZGVyaW5nJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVHb1RvRmlyc3RQYWdlJ10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9nb1RvRmlyc3RQYWdlJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVHb1RvUHJldlBhZ2UnXSkgeyAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2dvVG9QcmV2UGFnZSddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgLy9pZiAodGhpcy5kYXRhWydoaWRlR29Ub05leHRQYWdlJ10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9nb1RvTmV4dFBhZ2UnXVwiKS5wYXJlbnQoKS5oaWRlKCk7IH1cclxuICAgIC8vaWYgKHRoaXMuZGF0YVsnaGlkZUdvVG9MYXN0UGFnZSddKSB7ICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfZ29Ub0xhc3RQYWdlJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVUb2dnbGVQcmludFByZXZpZXcnXSkgeyAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVByaW50UHJldmlldyddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgLy9pZiAodGhpcy5kYXRhWydoaWRlRXhwb3J0J10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9leHBvcnQnXVwiKS5wYXJlbnQoKS5oaWRlKCk7IH1cclxuICAgIC8vaWYgKHRoaXMuZGF0YVsnaGlkZVByaW50J10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9wcmludCddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl90b2dnbGVEb2N1bWVudE1hcCddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfdG9nZ2xlUGFyYW1ldGVyc0FyZWEnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVab29tSW4nXSkgeyAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3pvb21JbiddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgLy9pZiAodGhpcy5kYXRhWydoaWRlWm9vbU91dCddKSB7ICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfem9vbU91dCddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgLy9pZiAodGhpcy5kYXRhWydoaWRlVG9nZ2xlWm9vbU1vZGUnXSkgeyAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVpvb21Nb2RlJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVNlYXJjaERpYWxvZyddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZVJlYWR5KGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICAvLyBkb2VzbnQgc2VlbSB0byB3b3JrIGluIGFuZ3VsYXIgMTNcclxuICAgIC8vdGhpcy5yZXNpemVWaWV3ZXIoZSwgYXJncyk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUmVwb3J0IHJlc2l6ZWQuXCIpO1xyXG4gIH1cclxuXHJcbiAgdmlld2VyVG9vbFRpcE9wZW5pbmcoZTogYW55LCBhcmdzOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKCd2aWV3ZXJUb29sVGlwT3BlbmluZyAnICsgYXJncy50b29sVGlwLnRleHQpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0QmVnaW5IYW5kbGVyKGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIkV4cG9ydCBiZWdpbi5cIik7XHJcbiAgfVxyXG5cclxuICBleHBvcnRFbmRIYW5kbGVyKGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIkV4cG9ydCBlbmQuXCIpO1xyXG4gIH1cclxuXHJcbiAgb25SZW5kZXJpbmdFbmQoZTogYW55LCBhcmdzOiBhbnkpOiB2b2lkIHtcclxuICAgIC8vIE9jY3VycyBhZnRlciByZW5kZXJpbmcgdGhlIHJlcG9ydC5cclxuICAgIGNvbnNvbGUubG9nKFwiUmVuZGVyaW5nIGVuZGVkLlwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZW5lcmF0ZVJlcG9ydCgpIHtcclxuICAgIGNvbnN0IHJzID0gdGhpcy5ncm91cFtcIlJlcG9ydFNvdXJjZVwiXTtcclxuICAgIHRoaXMucmVzb3VyY2VVUkwgPSByc1sndXJsJ107XHJcbiAgICB0aGlzLnZpZXdlci5zZXRSZXBvcnRTb3VyY2UocnMpO1xyXG4gICAgdGhpcy52aWV3ZXIucmVmcmVzaFJlcG9ydCgpO1xyXG5cclxuXHJcbiAgICAvL2lmICh0aGlzLnZpZXdlclsnaGVpZ2h0J10pIHtcclxuICAgIC8vICB0aGlzLnZpZXdlclsnaGVpZ2h0J10oMTApO1xyXG4gICAgLy99XHJcblxyXG4gICAgLy92YXIgZG9jdW1lbnRNYXBTcGxpdHRlciA9ICQoXCIudHJ2LWRvY3VtZW50LW1hcC1zcGxpdHRlclwiKS5kYXRhKFwia2VuZG9TcGxpdHRlclwiKTtcclxuICAgIC8vZG9jdW1lbnRNYXBTcGxpdHRlci5yZXNpemUodHJ1ZSk7XHJcblxyXG4gICAgLy92YXIgcGFyYW1ldGVyU3BsaXR0ZXIgPSAkKFwiLnRydi1wYXJhbWV0ZXJzLXNwbGl0dGVyXCIpLmRhdGEoXCJrZW5kb1NwbGl0dGVyXCIpO1xyXG4gICAgLy9wYXJhbWV0ZXJTcGxpdHRlci5yZXNpemUodHJ1ZSk7XHJcbiAgICBcclxuXHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ0F1dG9SZXNpemUnXSkge1xyXG4gICAgLy8gIHRoaXMucGFyYW1Ub1Jlc2l6ZVJlcG9ydFZpZXdlciA9IHRydWU7XHJcbiAgICAvL30gZWxzZSB7XHJcbiAgICAvLyAgdGhpcy5wYXJhbVRvUmVzaXplUmVwb3J0Vmlld2VyID0gZmFsc2U7XHJcbiAgICAvL31cclxuICB9XHJcblxyXG4gIGdldEZvbnRBd2Vzb21lKGljb25OYW1lOiBzdHJpbmcsIGZvbnRBd2VTb21lU2VydmljZT86IEZvbnRBd2VTb21lU2VydmljZSkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWUsIGZvbnRBd2VTb21lU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2l6ZVZpZXdlcihlPzogYW55LCBhcmdzPzogYW55KSB7XHJcbiAgICAvL2NvbnNvbGUubG9nKFwiUGFnZSByZWFkeS5cIik7XHJcbiAgICBpZiAodGhpcy5wYXJhbVRvUmVzaXplUmVwb3J0Vmlld2VyKSB7XHJcbiAgICAgIC8vY3VycmVudGx5IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLlxyXG4gICAgICBjb25zdCBwYWdlSGVpZ2h0ID0gJChcIi50cnYtcGFnZXMtYXJlYSAudHJ2LXBhZ2Utd3JhcHBlclwiKS5oZWlnaHQoKSArICQoXCIudHJ2LW5hdlwiKS5vdXRlckhlaWdodCgpICsgMjsgLy8gQ2FsY3VsYXRlIHRoZSByZXBvcnQgcGFnZSBoZWlnaHRcclxuICAgICAgY29uc3Qgdmlld2VyID0gJChcIiNyZXBvcnRWaWV3ZXIxXCIpO1xyXG4gICAgICBjb25zdCB2aWV3ZXJIZWlnaHQgPSB2aWV3ZXIuaGVpZ2h0KCk7XHJcblxyXG4gICAgICBpZiAodmlld2VySGVpZ2h0ICE9PSBwYWdlSGVpZ2h0KSB7XHJcbiAgICAgICAgdmlld2VyLmhlaWdodChwYWdlSGVpZ2h0KTtcclxuICAgICAgICBjb25zdCBkb2N1bWVudE1hcFNwbGl0dGVyID0gJChcIi50cnYtZG9jdW1lbnQtbWFwLXNwbGl0dGVyXCIpLmRhdGEoXCJrZW5kb1NwbGl0dGVyXCIpO1xyXG4gICAgICAgIGRvY3VtZW50TWFwU3BsaXR0ZXIucmVzaXplKHRydWUpO1xyXG5cclxuICAgICAgICBjb25zdCBwYXJhbWV0ZXJTcGxpdHRlciA9ICQoXCIudHJ2LXBhcmFtZXRlcnMtc3BsaXR0ZXJcIikuZGF0YShcImtlbmRvU3BsaXR0ZXJcIik7XHJcbiAgICAgICAgcGFyYW1ldGVyU3BsaXR0ZXIucmVzaXplKHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiODAwcHhcIj5cclxuICA8IS0tPGlvbi1idXR0b24gY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgY29sb3I9XCJkYXJrXCJcclxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICAgIHN0cm9uZz1cImZhbHNlXCJcclxuICAgICAgICAgICAgICBbaGlkZGVuXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJSZXBvcnRWaWV3ZXIucmVmcmVzaFJlcG9ydCgpXCI+XHJcbiAgICA8ZGl2IHN0eWxlPVwicGFkZGluZy1yaWdodDogNXB4O1wiPjwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpb24tdGV4dC1jYXBpdGFsaXplXCI+UmVmcmVzaDwvc3Bhbj5cclxuICA8L2lvbi1idXR0b24+XHJcblxyXG4gIDxpb24tYnV0dG9uIGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgIGNvbG9yPVwiZGFya1wiXHJcbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgICBzdHJvbmc9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgW2hpZGRlbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiUmVwb3J0Vmlld2VyLmNvbW1hbmRzLnByaW50LmV4ZWMoKVwiPlxyXG4gICAgPGZhLWljb24gW2ljb25dPVwiZ2V0Rm9udEF3ZXNvbWUoJ3ByaW50JylcIj48L2ZhLWljb24+XHJcbiAgICA8ZGl2IHN0eWxlPVwicGFkZGluZy1yaWdodDogNXB4O1wiPjwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpb24tdGV4dC1jYXBpdGFsaXplXCI+UHJpbnQ8L3NwYW4+XHJcbiAgPC9pb24tYnV0dG9uPi0tPlxyXG5cclxuICA8dHItdmlld2VyICNyZXBvcnRWaWV3ZXIxXHJcbiAgICAgICAgICAgICBbY29udGFpbmVyU3R5bGVdPVwidmlld2VyQ29udGFpbmVyU3R5bGVcIlxyXG4gICAgICAgICAgICAgW3NlcnZpY2VVcmxdPVwicmVzb3VyY2VVUkxcIlxyXG4gICAgICAgICAgICAgW3JlcG9ydFNvdXJjZV09XCJSZXBvcnRTb3VyY2VcIlxyXG4gICAgICAgICAgICAgW3ZpZXdNb2RlXT1cIidJTlRFUkFDVElWRSdcIlxyXG4gICAgICAgICAgICAgW3NjYWxlTW9kZV09XCInU1BFQ0lGSUMnXCJcclxuICAgICAgICAgICAgIFtzY2FsZV09XCIxLjBcIlxyXG4gICAgICAgICAgICAgW2VuYWJsZUFjY2Vzc2liaWxpdHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgW3JlYWR5XT1cInJlYWR5XCJcclxuICAgICAgICAgICAgIFt2aWV3ZXJUb29sVGlwT3BlbmluZ109XCJ2aWV3ZXJUb29sVGlwT3BlbmluZ1wiXHJcbiAgICAgICAgICAgICBbZXhwb3J0QmVnaW5dPVwiZXhwb3J0QmVnaW5IYW5kbGVyXCJcclxuICAgICAgICAgICAgIFtleHBvcnRFbmRdPVwiZXhwb3J0RW5kSGFuZGxlclwiXHJcbiAgICAgICAgICAgICBbcGFnZVJlYWR5XT1cIm9uUGFnZVJlYWR5XCJcclxuICAgICAgICAgICAgIFtyZW5kZXJpbmdFbmRdPVwib25SZW5kZXJpbmdFbmRcIj5cclxuICA8L3RyLXZpZXdlcj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienJlcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96cmVwb3J0L3pyZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenJlcG9ydC96cmVwb3J0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBNEIsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU9wSCwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTlELE9BQU8sRUFBMEMsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFhM0YsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVM7SUFnQjdDLFlBQ1MsZ0JBQW1DLEVBQ25DLGtCQUFzQyxFQUNyQyxrQkFBc0M7UUFFOUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFKakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQUNuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3JDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFoQmhELFVBQUssR0FBRyxlQUFlLENBQUM7UUFDakIseUJBQW9CLEdBQUc7WUFDNUIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FBSyxFQUFFLE1BQU07WUFDYixNQUFNLEVBQUUsT0FBTztZQUNmLENBQUMsYUFBYSxDQUFDLEVBQUUsZUFBZTtTQUNqQyxDQUFDO1FBRUssY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNuQiw4QkFBeUIsR0FBRyxL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QUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzlFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNoQztTQUNGO0lBQ0gsQ0FBQzs7NkdBN0lVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLGlQQ3hCN0IsbW9EQTBDQTsyRkRsQmEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLGFBQWE7MEtBT3dCLE1BQU07c0JBQXBELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkF5RTdDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgSG9zdExpc3RlbmVyLCBBZnRlclZpZXdJbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgVGVsZXJpa1JlcG9ydFZpZXdlckNvbXBvbmVudCB9IGZyb20gXCJAcHJvZ3Jlc3MvdGVsZXJpay1hbmd1bGFyLXJlcG9ydC12aWV3ZXJcIjtcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgRmllbGRCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRm9udEF3ZVNvbWVTZXJ2aWNlLCBSZXNvdXJjZUFwaVNlcnZpY2UsIFpDb21wb25lbnRIZWxwZXIgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcblxyXG4vLyBpbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtenJlcG9ydFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4venJlcG9ydC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96cmVwb3J0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIC8vIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBacmVwb3J0Q29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBAVmlld0NoaWxkKCdyZXBvcnRWaWV3ZXIxJywgeyBzdGF0aWM6IGZhbHNlIH0pIHZpZXdlcjogVGVsZXJpa1JlcG9ydFZpZXdlckNvbXBvbmVudDtcclxuXHJcbiAgdGl0bGUgPSBcIlJlcG9ydCBWaWV3ZXJcIjtcclxuICBwdWJsaWMgdmlld2VyQ29udGFpbmVyU3R5bGUgPSB7XHJcbiAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxyXG4gICAgd2lkdGg6IFwiMTAwJVwiLFxyXG4gICAgaGVpZ2h0OiBcIjgwMHB4XCIsXHJcbiAgICBbJ2ZvbnQtZmFtaWx5J106ICdtcyBzYW5zIHNlcmlmJ1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBpc1Zpc2libGUgPSB0cnVlO1xyXG4gIHB1YmxpYyByZXNvdXJjZVVSTCA9IG51bGw7XHJcbiAgcHVibGljIFJlcG9ydFNvdXJjZSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBwYXJhbVRvUmVzaXplUmVwb3J0Vmlld2VyID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbXBvbmVudFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZvbnRBd2VTb21lU2VydmljZTogRm9udEF3ZVNvbWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZXNvdXJjZUFwaVNlcnZpY2U6IFJlc291cmNlQXBpU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcG9uZW50U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cclxuICAgICAgdGhpcy5yZXNvdXJjZVVSTCA9IHRoaXMucmVzb3VyY2VBcGlTZXJ2aWNlLmdldFVSTCh0aGlzLmRhdGEuUmVzb3VyY2VVUkwpO1xyXG4gICAgICBpZiAoIXRoaXMucmVzb3VyY2VVUkwpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcInJlc291cmNlVVJMIGlzIGVtcHR5LlwiKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCEhdGhpcy5kYXRhLklzQXV0b0dlbmVyYXRlUmVwb3J0KSB7XHJcbiAgICAgICAgdGhpcy5SZXBvcnRTb3VyY2UgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLlJlcG9ydFNvdXJjZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgLy8gTG9jYWxpemF0aW9uLlxyXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBuYXZpZ2F0b3IubGFuZ3VhZ2U7XHJcbiAgICBsZXQgcmVzb3VyY2VzID0gJ0xvYWRpbmcuLi4nOyAvLyBEZWZhdWx0LlxyXG5cclxuICAgIHRoaXMudmlld2VyLnZpZXdlck9iamVjdC5zdHJpbmdSZXNvdXJjZXMgPSBPYmplY3QuYXNzaWduKHRoaXMudmlld2VyLnZpZXdlck9iamVjdC5zdHJpbmdSZXNvdXJjZXMsIHJlc291cmNlcyk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2UuZGVjcmVtZW50Q29tcG9uZW50Q291bnRlckZvckZpZWxkKHRoaXMuZGF0YSk7XHJcbiAgfVxyXG5cclxuICByZWFkeSgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUmVwb3J0IHJlYWR5LlwiKTtcclxuICAgIC8vaWYgKHRoaXMuZGF0YVsnaGlkZUhpc3RvcnlCYWNrJ10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9oaXN0b3J5QmFjayddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgLy9pZiAodGhpcy5kYXRhWydoaWRlSGlzdG9yeUZvcndhcmQnXSkgeyAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2hpc3RvcnlGb3J3YXJkJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVSZWZyZXNoJ10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9yZWZyZXNoJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVTdG9wUmVuZGVyaW5nJ10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9zdG9wUmVuZGVyaW5nJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVHb1RvRmlyc3RQYWdlJ10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9nb1RvRmlyc3RQYWdlJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVHb1RvUHJldlBhZ2UnXSkgeyAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2dvVG9QcmV2UGFnZSddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgLy9pZiAodGhpcy5kYXRhWydoaWRlR29Ub05leHRQYWdlJ10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9nb1RvTmV4dFBhZ2UnXVwiKS5wYXJlbnQoKS5oaWRlKCk7IH1cclxuICAgIC8vaWYgKHRoaXMuZGF0YVsnaGlkZUdvVG9MYXN0UGFnZSddKSB7ICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfZ29Ub0xhc3RQYWdlJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVUb2dnbGVQcmludFByZXZpZXcnXSkgeyAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVByaW50UHJldmlldyddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgLy9pZiAodGhpcy5kYXRhWydoaWRlRXhwb3J0J10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9leHBvcnQnXVwiKS5wYXJlbnQoKS5oaWRlKCk7IH1cclxuICAgIC8vaWYgKHRoaXMuZGF0YVsnaGlkZVByaW50J10pIHsgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9wcmludCddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl90b2dnbGVEb2N1bWVudE1hcCddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfdG9nZ2xlUGFyYW1ldGVyc0FyZWEnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ2hpZGVab29tSW4nXSkgeyAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3pvb21JbiddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgLy9pZiAodGhpcy5kYXRhWydoaWRlWm9vbU91dCddKSB7ICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfem9vbU91dCddXCIpLnBhcmVudCgpLmhpZGUoKTsgfVxyXG4gICAgLy9pZiAodGhpcy5kYXRhWydoaWRlVG9nZ2xlWm9vbU1vZGUnXSkgeyAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVpvb21Nb2RlJ11cIikucGFyZW50KCkuaGlkZSgpOyB9XHJcbiAgICAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVNlYXJjaERpYWxvZyddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZVJlYWR5KGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICAvLyBkb2VzbnQgc2VlbSB0byB3b3JrIGluIGFuZ3VsYXIgMTNcclxuICAgIC8vdGhpcy5yZXNpemVWaWV3ZXIoZSwgYXJncyk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZSgpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUmVwb3J0IHJlc2l6ZWQuXCIpO1xyXG4gIH1cclxuXHJcbiAgdmlld2VyVG9vbFRpcE9wZW5pbmcoZTogYW55LCBhcmdzOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKCd2aWV3ZXJUb29sVGlwT3BlbmluZyAnICsgYXJncy50b29sVGlwLnRleHQpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0QmVnaW5IYW5kbGVyKGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIkV4cG9ydCBiZWdpbi5cIik7XHJcbiAgfVxyXG5cclxuICBleHBvcnRFbmRIYW5kbGVyKGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIkV4cG9ydCBlbmQuXCIpO1xyXG4gIH1cclxuXHJcbiAgb25SZW5kZXJpbmdFbmQoZTogYW55LCBhcmdzOiBhbnkpOiB2b2lkIHtcclxuICAgIC8vIE9jY3VycyBhZnRlciByZW5kZXJpbmcgdGhlIHJlcG9ydC5cclxuICAgIGNvbnNvbGUubG9nKFwiUmVuZGVyaW5nIGVuZGVkLlwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZW5lcmF0ZVJlcG9ydCgpIHtcclxuICAgIGNvbnN0IHJzID0gdGhpcy5ncm91cFtcIlJlcG9ydFNvdXJjZVwiXTtcclxuICAgIHRoaXMucmVzb3VyY2VVUkwgPSByc1sndXJsJ107XHJcbiAgICB0aGlzLnZpZXdlci5zZXRSZXBvcnRTb3VyY2UocnMpO1xyXG4gICAgdGhpcy52aWV3ZXIucmVmcmVzaFJlcG9ydCgpO1xyXG5cclxuXHJcbiAgICAvL2lmICh0aGlzLnZpZXdlclsnaGVpZ2h0J10pIHtcclxuICAgIC8vICB0aGlzLnZpZXdlclsnaGVpZ2h0J10oMTApO1xyXG4gICAgLy99XHJcblxyXG4gICAgLy92YXIgZG9jdW1lbnRNYXBTcGxpdHRlciA9ICQoXCIudHJ2LWRvY3VtZW50LW1hcC1zcGxpdHRlclwiKS5kYXRhKFwia2VuZG9TcGxpdHRlclwiKTtcclxuICAgIC8vZG9jdW1lbnRNYXBTcGxpdHRlci5yZXNpemUodHJ1ZSk7XHJcblxyXG4gICAgLy92YXIgcGFyYW1ldGVyU3BsaXR0ZXIgPSAkKFwiLnRydi1wYXJhbWV0ZXJzLXNwbGl0dGVyXCIpLmRhdGEoXCJrZW5kb1NwbGl0dGVyXCIpO1xyXG4gICAgLy9wYXJhbWV0ZXJTcGxpdHRlci5yZXNpemUodHJ1ZSk7XHJcbiAgICBcclxuXHJcbiAgICAvL2lmICh0aGlzLmRhdGFbJ0F1dG9SZXNpemUnXSkge1xyXG4gICAgLy8gIHRoaXMucGFyYW1Ub1Jlc2l6ZVJlcG9ydFZpZXdlciA9IHRydWU7XHJcbiAgICAvL30gZWxzZSB7XHJcbiAgICAvLyAgdGhpcy5wYXJhbVRvUmVzaXplUmVwb3J0Vmlld2VyID0gZmFsc2U7XHJcbiAgICAvL31cclxuICB9XHJcblxyXG4gIGdldEZvbnRBd2Vzb21lKGljb25OYW1lOiBzdHJpbmcsIGZvbnRBd2VTb21lU2VydmljZT86IEZvbnRBd2VTb21lU2VydmljZSkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWUsIGZvbnRBd2VTb21lU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2l6ZVZpZXdlcihlPzogYW55LCBhcmdzPzogYW55KSB7XHJcbiAgICAvL2NvbnNvbGUubG9nKFwiUGFnZSByZWFkeS5cIik7XHJcbiAgICBpZiAodGhpcy5wYXJhbVRvUmVzaXplUmVwb3J0Vmlld2VyKSB7XHJcbiAgICAgIC8vY3VycmVudGx5IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLlxyXG4gICAgICBjb25zdCBwYWdlSGVpZ2h0ID0gJChcIi50cnYtcGFnZXMtYXJlYSAudHJ2LXBhZ2Utd3JhcHBlclwiKS5oZWlnaHQoKSArICQoXCIudHJ2LW5hdlwiKS5vdXRlckhlaWdodCgpICsgMjsgLy8gQ2FsY3VsYXRlIHRoZSByZXBvcnQgcGFnZSBoZWlnaHRcclxuICAgICAgY29uc3Qgdmlld2VyID0gJChcIiNyZXBvcnRWaWV3ZXIxXCIpO1xyXG4gICAgICBjb25zdCB2aWV3ZXJIZWlnaHQgPSB2aWV3ZXIuaGVpZ2h0KCk7XHJcblxyXG4gICAgICBpZiAodmlld2VySGVpZ2h0ICE9PSBwYWdlSGVpZ2h0KSB7XHJcbiAgICAgICAgdmlld2VyLmhlaWdodChwYWdlSGVpZ2h0KTtcclxuICAgICAgICBjb25zdCBkb2N1bWVudE1hcFNwbGl0dGVyID0gJChcIi50cnYtZG9jdW1lbnQtbWFwLXNwbGl0dGVyXCIpLmRhdGEoXCJrZW5kb1NwbGl0dGVyXCIpO1xyXG4gICAgICAgIGRvY3VtZW50TWFwU3BsaXR0ZXIucmVzaXplKHRydWUpO1xyXG5cclxuICAgICAgICBjb25zdCBwYXJhbWV0ZXJTcGxpdHRlciA9ICQoXCIudHJ2LXBhcmFtZXRlcnMtc3BsaXR0ZXJcIikuZGF0YShcImtlbmRvU3BsaXR0ZXJcIik7XHJcbiAgICAgICAgcGFyYW1ldGVyU3BsaXR0ZXIucmVzaXplKHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiODAwcHhcIj5cclxuICA8IS0tPGlvbi1idXR0b24gY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgY29sb3I9XCJkYXJrXCJcclxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICAgIHN0cm9uZz1cImZhbHNlXCJcclxuICAgICAgICAgICAgICBbaGlkZGVuXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJSZXBvcnRWaWV3ZXIucmVmcmVzaFJlcG9ydCgpXCI+XHJcbiAgICA8ZGl2IHN0eWxlPVwicGFkZGluZy1yaWdodDogNXB4O1wiPjwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpb24tdGV4dC1jYXBpdGFsaXplXCI+UmVmcmVzaDwvc3Bhbj5cclxuICA8L2lvbi1idXR0b24+XHJcblxyXG4gIDxpb24tYnV0dG9uIGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgIGNvbG9yPVwiZGFya1wiXHJcbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgICBzdHJvbmc9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgW2hpZGRlbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiUmVwb3J0Vmlld2VyLmNvbW1hbmRzLnByaW50LmV4ZWMoKVwiPlxyXG4gICAgPGZhLWljb24gW2ljb25dPVwiZ2V0Rm9udEF3ZXNvbWUoJ3ByaW50JylcIj48L2ZhLWljb24+XHJcbiAgICA8ZGl2IHN0eWxlPVwicGFkZGluZy1yaWdodDogNXB4O1wiPjwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJpb24tdGV4dC1jYXBpdGFsaXplXCI+UHJpbnQ8L3NwYW4+XHJcbiAgPC9pb24tYnV0dG9uPi0tPlxyXG5cclxuICA8dHItdmlld2VyICNyZXBvcnRWaWV3ZXIxXHJcbiAgICAgICAgICAgICBbY29udGFpbmVyU3R5bGVdPVwidmlld2VyQ29udGFpbmVyU3R5bGVcIlxyXG4gICAgICAgICAgICAgW3NlcnZpY2VVcmxdPVwicmVzb3VyY2VVUkxcIlxyXG4gICAgICAgICAgICAgW3JlcG9ydFNvdXJjZV09XCJSZXBvcnRTb3VyY2VcIlxyXG4gICAgICAgICAgICAgW3ZpZXdNb2RlXT1cIidJTlRFUkFDVElWRSdcIlxyXG4gICAgICAgICAgICAgW3NjYWxlTW9kZV09XCInU1BFQ0lGSUMnXCJcclxuICAgICAgICAgICAgIFtzY2FsZV09XCIxLjBcIlxyXG4gICAgICAgICAgICAgW2VuYWJsZUFjY2Vzc2liaWxpdHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgW3JlYWR5XT1cInJlYWR5XCJcclxuICAgICAgICAgICAgIFt2aWV3ZXJUb29sVGlwT3BlbmluZ109XCJ2aWV3ZXJUb29sVGlwT3BlbmluZ1wiXHJcbiAgICAgICAgICAgICBbZXhwb3J0QmVnaW5dPVwiZXhwb3J0QmVnaW5IYW5kbGVyXCJcclxuICAgICAgICAgICAgIFtleHBvcnRFbmRdPVwiZXhwb3J0RW5kSGFuZGxlclwiXHJcbiAgICAgICAgICAgICBbcGFnZVJlYWR5XT1cIm9uUGFnZVJlYWR5XCJcclxuICAgICAgICAgICAgIFtyZW5kZXJpbmdFbmRdPVwib25SZW5kZXJpbmdFbmRcIj5cclxuICA8L3RyLXZpZXdlcj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
/********** Angular **********/
|
|
1
2
|
import { Component, Input } from "@angular/core";
|
|
2
|
-
import { ZComponentHelper, ZComponentProperties } from "mmhglobal-zcore";
|
|
3
3
|
import { Validators } from "@angular/forms";
|
|
4
|
+
/********** Ionic **********/
|
|
5
|
+
/********** Plugin **********/
|
|
4
6
|
import { of } from 'rxjs';
|
|
5
7
|
import { delay, take } from 'rxjs/operators';
|
|
8
|
+
/********** Component & Service **********/
|
|
9
|
+
import { ZComponentHelper, ZComponentProperties } from "mmhglobal-zcore";
|
|
6
10
|
import * as i0 from "@angular/core";
|
|
7
11
|
import * as i1 from "mmhglobal-zcore";
|
|
8
12
|
import * as i2 from "@ionic/angular";
|
|
@@ -251,10 +255,10 @@ export class ZschedulerComponent {
|
|
|
251
255
|
}
|
|
252
256
|
}
|
|
253
257
|
ZschedulerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZschedulerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.StorageSessionService }, { token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
254
|
-
ZschedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZschedulerComponent, selector: "app-zscheduler", inputs: { data: "data", group: "group", form: "form", ngStyle: "ngStyle" }, ngImport: i0, template: "<ion-item [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}} <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <kendo-scheduler *ngIf=\"!isLoading\" [kendoSchedulerBinding]=\"events\" [selectedDate]=\"selectedDate\" (dateChange)=\"onDateChange($event)\"\r\n
|
|
258
|
+
ZschedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZschedulerComponent, selector: "app-zscheduler", inputs: { data: "data", group: "group", form: "form", ngStyle: "ngStyle" }, ngImport: i0, template: "<ion-item [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}} <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <kendo-scheduler *ngIf=\"!isLoading\" [kendoSchedulerBinding]=\"events\" [selectedDate]=\"selectedDate\" (dateChange)=\"onDateChange($event)\"\r\n [selectedViewIndex]=\"selectedViewIndex\" [eventStyles]=\"getEventStyles\" [slotClass]=\"getSlotClass\"\r\n (slotDblClick)=\"onSlotDblClick($event)\" (eventDblClick)=\"onEventDblClick($event)\" scrollTime=\"08:00\"\r\n [style.height]=\"(!!data.Height ? [data.Height] : '600px')\">\r\n <!-- [style.font-size]=\"(!!data.FontSize ? [data.FontSize] : '12px')\"> -->\r\n <!--Note: line-height same with [eventHeight]-->\r\n <ng-template kendoSchedulerEventTemplate let-event>\r\n <span style=\"margin-left: -5px;line-height: 25px;\">{{ event.title }}</span>\r\n </ng-template>\r\n\r\n <ng-template kendoSchedulerToolbarTemplate let-selectedDate=\"selectedDate\">\r\n <zschedulertoolbar [local]=\"local\" [selectedDate]=\"selectedDate\">\r\n </zschedulertoolbar>\r\n <ul kendoSchedulerToolbarViewSelector></ul>\r\n </ng-template>\r\n\r\n <ng-template kendoSchedulerAllDaySlotTemplate let-date=\"date\">\r\n <strong>{{ date | kendoDate: 'dd-MMM-yyyy' }}</strong>\r\n </ng-template>\r\n <ng-template kendoSchedulerDateHeaderTemplate let-date=\"date\">\r\n <strong>{{ date | kendoDate: \"ccc\" }}</strong>\r\n </ng-template>\r\n\r\n\r\n <!-- <kendo-scheduler-day-view startTime=\"08:00\">\r\n </kendo-scheduler-day-view>\r\n\r\n <kendo-scheduler-week-view startTime=\"08:00\">\r\n </kendo-scheduler-week-view> -->\r\n\r\n <kendo-scheduler-day-view>\r\n </kendo-scheduler-day-view>\r\n\r\n <kendo-scheduler-week-view>\r\n </kendo-scheduler-week-view>\r\n\r\n <kendo-scheduler-month-view [eventHeight]=\"25\">\r\n </kendo-scheduler-month-view>\r\n\r\n <!-- <kendo-scheduler-timeline-view>\r\n </kendo-scheduler-timeline-view> -->\r\n\r\n <kendo-scheduler-agenda-view>\r\n </kendo-scheduler-agenda-view>\r\n </kendo-scheduler>\r\n\r\n</ion-item>\r\n", styles: ["ion-item{--padding-start: 0px;--inner-padding-end: 0px}\n"], 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: i3.SchedulerComponent, selector: "kendo-scheduler", inputs: ["selectedViewIndex", "editable", "selectable", "min", "max", "eventHeight", "columnWidth", "showWorkHours", "startTime", "endTime", "workDayStart", "workDayEnd", "workWeekStart", "workWeekEnd", "weekStart", "slotDuration", "slotDivisions", "slotFill", "scrollTime", "group", "resources", "loading", "timezone", "events", "selectedDate", "modelFields", "currentTimeMarker", "highlightOngoingEvents", "slotClass", "eventClass", "eventStyles", "isSlotSelected"], outputs: ["selectedViewIndexChange", "navigate", "dateChange", "slotClick", "slotDblClick", "create", "eventClick", "eventDblClick", "eventKeydown", "cancel", "save", "remove", "resizeStart", "resize", "resizeEnd", "dragStart", "drag", "dragEnd", "slotDragStart", "slotDrag", "slotDragEnd", "pdfExport"] }, { type: i4.ZSchedulerToolBarComponent, selector: "zschedulertoolbar", inputs: ["local", "selectedDate"] }, { type: i3.ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]" }, { type: i3.DayViewComponent, selector: "kendo-scheduler-day-view", inputs: ["selectedDateFormat", "selectedShortDateFormat"] }, { type: i3.WeekViewComponent, selector: "kendo-scheduler-week-view", inputs: ["selectedDateFormat", "selectedShortDateFormat"] }, { type: i3.MonthViewComponent, selector: "kendo-scheduler-month-view", inputs: ["eventHeight", "selectedDateFormat", "selectedShortDateFormat"] }, { type: i3.AgendaViewComponent, selector: "kendo-scheduler-agenda-view", inputs: ["selectedDateFormat", "selectedShortDateFormat", "numberOfDays"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.ShortcutsDirective, selector: "kendo-scheduler" }, { type: i3.DataBindingDirective, selector: "[kendoSchedulerBinding]", inputs: ["kendoSchedulerBinding"] }, { type: i3.EventTemplateDirective, selector: "[kendoSchedulerEventTemplate]" }, { type: i3.ToolbarTemplateDirective, selector: "[kendoSchedulerToolbarTemplate]" }, { type: i3.AllDaySlotTemplateDirective, selector: "[kendoSchedulerAllDaySlotTemplate]" }, { type: i3.DateHeaderTemplateDirective, selector: "[kendoSchedulerDateHeaderTemplate]" }], pipes: { "kendoDate": i7.DatePipe } });
|
|
255
259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZschedulerComponent, decorators: [{
|
|
256
260
|
type: Component,
|
|
257
|
-
args: [{ selector: "app-zscheduler", template: "<ion-item [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}} <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <kendo-scheduler *ngIf=\"!isLoading\" [kendoSchedulerBinding]=\"events\" [selectedDate]=\"selectedDate\" (dateChange)=\"onDateChange($event)\"\r\n
|
|
261
|
+
args: [{ selector: "app-zscheduler", template: "<ion-item [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}} <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <kendo-scheduler *ngIf=\"!isLoading\" [kendoSchedulerBinding]=\"events\" [selectedDate]=\"selectedDate\" (dateChange)=\"onDateChange($event)\"\r\n [selectedViewIndex]=\"selectedViewIndex\" [eventStyles]=\"getEventStyles\" [slotClass]=\"getSlotClass\"\r\n (slotDblClick)=\"onSlotDblClick($event)\" (eventDblClick)=\"onEventDblClick($event)\" scrollTime=\"08:00\"\r\n [style.height]=\"(!!data.Height ? [data.Height] : '600px')\">\r\n <!-- [style.font-size]=\"(!!data.FontSize ? [data.FontSize] : '12px')\"> -->\r\n <!--Note: line-height same with [eventHeight]-->\r\n <ng-template kendoSchedulerEventTemplate let-event>\r\n <span style=\"margin-left: -5px;line-height: 25px;\">{{ event.title }}</span>\r\n </ng-template>\r\n\r\n <ng-template kendoSchedulerToolbarTemplate let-selectedDate=\"selectedDate\">\r\n <zschedulertoolbar [local]=\"local\" [selectedDate]=\"selectedDate\">\r\n </zschedulertoolbar>\r\n <ul kendoSchedulerToolbarViewSelector></ul>\r\n </ng-template>\r\n\r\n <ng-template kendoSchedulerAllDaySlotTemplate let-date=\"date\">\r\n <strong>{{ date | kendoDate: 'dd-MMM-yyyy' }}</strong>\r\n </ng-template>\r\n <ng-template kendoSchedulerDateHeaderTemplate let-date=\"date\">\r\n <strong>{{ date | kendoDate: \"ccc\" }}</strong>\r\n </ng-template>\r\n\r\n\r\n <!-- <kendo-scheduler-day-view startTime=\"08:00\">\r\n </kendo-scheduler-day-view>\r\n\r\n <kendo-scheduler-week-view startTime=\"08:00\">\r\n </kendo-scheduler-week-view> -->\r\n\r\n <kendo-scheduler-day-view>\r\n </kendo-scheduler-day-view>\r\n\r\n <kendo-scheduler-week-view>\r\n </kendo-scheduler-week-view>\r\n\r\n <kendo-scheduler-month-view [eventHeight]=\"25\">\r\n </kendo-scheduler-month-view>\r\n\r\n <!-- <kendo-scheduler-timeline-view>\r\n </kendo-scheduler-timeline-view> -->\r\n\r\n <kendo-scheduler-agenda-view>\r\n </kendo-scheduler-agenda-view>\r\n </kendo-scheduler>\r\n\r\n</ion-item>\r\n", styles: ["ion-item{--padding-start: 0px;--inner-padding-end: 0px}\n"] }]
|
|
258
262
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.StorageSessionService }, { type: i1.AuthService }]; }, propDecorators: { data: [{
|
|
259
263
|
type: Input
|
|
260
264
|
}], group: [{
|
|
@@ -264,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
264
268
|
}], ngStyle: [{
|
|
265
269
|
type: Input
|
|
266
270
|
}] } });
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienNjaGVkdWxlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96c2NoZWR1bGVyL3pzY2hlZHVsZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenNjaGVkdWxlci96c2NoZWR1bGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQ08sZ0JBQWdCLEVBQ1osb0JBQW9CLEVBQ3JDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUXZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBTzdDLE1BQU0sT0FBTyxtQkFBbUI7SUFrQjlCLHdDQUF3QztJQUN4QyxjQUFjO0lBQ2Qsd0JBQXdCO0lBQ3hCLGdDQUFnQztJQUNoQyx1Q0FBdUM7SUFDdkMsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixtQ0FBbUM7SUFDbkMsNkJBQTZCO0lBQzdCLHlDQUF5QztJQUN6QyxxQ0FBcUM7SUFDckMsbURBQW1EO0lBQ25ELEtBQUs7SUFFTCxZQUNVLGNBQWlDLEVBQ2pDLGNBQXFDLEVBQ3JDLFdBQXdCO1FBRnhCLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUE1QmxDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsV0FBTSxHQUFVLEVBQUUsQ0FBQztR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b250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEFmdGVyVmlld0luaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRPdXRwdXRFdmVudCxcclxuICBaR3JvdXAsIFpGaWVsZCwgWkNvbXBvbmVudFByb3BlcnRpZXMsIFN0b3JhZ2VTZXNzaW9uU2VydmljZSwgQXV0aFNlcnZpY2VcclxufSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge1xyXG4gIERhdGVDaGFuZ2VFdmVudCxcclxuICBTbG90Q2xpY2tFdmVudCxcclxuICBFdmVudENsaWNrRXZlbnQsXHJcbiAgRXZlbnRTdHlsZUFyZ3MsXHJcbiAgU2xvdENsYXNzQXJnc1xyXG59IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1zY2hlZHVsZXJcIjtcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVsYXksIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtenNjaGVkdWxlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4venNjaGVkdWxlci5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96c2NoZWR1bGVyLmNvbXBvbmVudC5zY3NzXCJdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBac2NoZWR1bGVyQ29tcG9uZW50IGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgbmdTdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueTsgfVxyXG5cclxuXHJcbiAgaXNMb2FkaW5nID0gdHJ1ZTtcclxuICBldmVudHM6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWREYXRlID0gbmV3IERhdGUoKTtcclxuICBsb2NhbCA9IHtcclxuICAgIGluUHJvZ3Jlc3M6IGZhbHNlLFxyXG4gICAgY3RybFNjb3BlOiBudWxsXHJcbiAgfTtcclxuICAvLyBzZWxlY3RlZERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIHNlbGVjdGVkVmlld0luZGV4ID0gMztcclxuICBjb21wb25lbnRQcm9wZXJ0aWVzID0gbmV3IFpDb21wb25lbnRQcm9wZXJ0aWVzKCk7XHJcblxyXG4gIC8vIGV2ZW50RmllbGRzOiBTY2hlZHVsZXJNb2RlbEZpZWxkcyA9IHtcclxuICAvLyAgIGlkOiBcIklkXCIsXHJcbiAgLy8gICB0aXRsZTogXCJPYmplY3RpdmVcIixcclxuICAvLyAgIGRlc2NyaXB0aW9uOiBcIkRlc2NyaXB0aW9uXCIsXHJcbiAgLy8gICAvLyBzdGFydFRpbWV6b25lOiAnU3RhcnRUaW1lem9uZScsXHJcbiAgLy8gICBzdGFydDogXCJEYXRlX1VUQ1wiLFxyXG4gIC8vICAgZW5kOiBcIkVuZF9VVENcIlxyXG4gIC8vICAgLy8gZW5kVGltZXpvbmU6ICdFbmRUaW1lem9uZScsXHJcbiAgLy8gICAvLyBpc0FsbERheTogJ0lzQWxsRGF5JyxcclxuICAvLyAgIC8vIHJlY3VycmVuY2VSdWxlOiAnUmVjdXJyZW5jZVJ1bGUnLFxyXG4gIC8vICAgLy8gcmVjdXJyZW5jZUlkOiAnUmVjdXJyZW5jZUlEJyxcclxuICAvLyAgIC8vIHJlY3VycmVuY2VFeGNlcHRpb25zOiAnUmVjdXJyZW5jZUV4Y2VwdGlvbidcclxuICAvLyB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRDb21wb25lbnRQcm9wZXJ0aWVzKHRoaXMpO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuICAgIHRoaXMubG9jYWwuY3RybFNjb3BlID0gdGhpcy5ncm91cC5jdHJsU2NvcGU7XHJcbiAgICAvL3RoaXMuc2VsZWN0ZWRWaWV3SW5kZXggPSB0aGlzLmRhdGEuU2VsZWN0ZWRWaWV3SW5kZXggfHwgdGhpcy5zZWxlY3RlZFZpZXdJbmRleDtcclxuICAgIC8vXHJcbiAgICBpZiAodGhpcy5kYXRhWydTYXZlRmlsdGVyJ10pIHtcclxuICAgICAgdGhpcy5zZXRTY2hlZHVsZXJTZXNzaW9uS2V5KHRoaXMuZ3JvdXApO1xyXG4gICAgICB0aGlzLmdldFNjaGVkdWxlclNlc3Npb25GaWx0ZXIodGhpcy5ncm91cCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEl0ZW1zKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAvL3RoaXMuc2VsZWN0ZWRWaWV3SW5kZXggPSB0aGlzLmRhdGEuU2VsZWN0ZWRWaWV3SW5kZXggfHwgdGhpcy5zZWxlY3RlZFZpZXdJbmRleDtcclxuICB9XHJcblxyXG4gIGdldEV2ZW50U3R5bGVzID0gKGFyZ3M6IEV2ZW50U3R5bGVBcmdzKSA9PiB7XHJcblxyXG4gICAgaWYoYXJncyAmJiBhcmdzLmV2ZW50ICYmIGFyZ3MuZXZlbnQuZGF0YUl0ZW0pXHJcbiAgICB7XHJcbiAgICAgIGNvbnN0IEJHQ29sb3I9YXJncy5ldmVudC5kYXRhSXRlbVtcImJhY2tncm91bmRDb2xvclwiXTtcclxuICAgICAgY29uc3QgQm9yZGVyQ29sb3I9YXJncy5ldmVudC5kYXRhSXRlbVtcImJvcmRlckNvbG9yXCJdO1xyXG5cclxuICAgIGlmIChCR0NvbG9yICYmIEJvcmRlckNvbG9yKSBcclxuICAgIHsgcmV0dXJuIHsgYmFja2dyb3VuZENvbG9yOiBCR0NvbG9yLCBib3JkZXJjb2xvcjogQm9yZGVyQ29sb3IsIGNvbG9yOiBcIndoaXRlXCIgfTsgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiB7IGJhY2tncm91bmRDb2xvcjogXCIjZmY3YzczXCIsIGJvcmRlcmNvbG9yOiBcIiNmZjdjNzNcIiAsIGNvbG9yOiBcIndoaXRlXCIgfTtcclxuICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U2xvdENsYXNzID0gKGFyZ3M6IFNsb3RDbGFzc0FyZ3MpID0+IHtcclxuICAgIGNvbnN0IGhvdXIgPSBhcmdzLnN0YXJ0LmdldEhvdXJzKCk7XHJcbiAgICBhcmdzLnJlc291cmNlcyA9IHRoaXMuZXZlbnRzXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBhcmdzXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbXMoKSB7XHJcbiAgICAvLyBpZiAodGhpcy5pc0xvYWRpbmcpIHtcclxuICAgIC8vICAgIHJldHVybiBbXTtcclxuICAgIC8vICB9XHJcbiAgICAvLyBkZWJ1Z2dlcjtcclxuICAgIGNvbnN0IHYgPSB0aGlzLmRhdGEuVmFsdWU7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xyXG4gICAgICByZXR1cm4gdjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGV2YWxWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB2KTtcclxuICAgICAgLy8gZGVidWdnZXI7XHJcbiAgICAgIGlmIChldmFsVmFsdWUpIHtcclxuICAgICAgICB0aGlzLmV2ZW50cyA9IGV2YWxWYWx1ZTtcclxuICAgICAgICBpZiAodGhpcy5ldmVudHMpIHtcclxuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUud2FybihcIkludmFsaWQgZmllbGQuVmFsdWUgc2V0dGluZyBcIiwgdGhpcy5kYXRhLlZhbHVlKTtcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRGF0ZUNoYW5nZShhcmdzOiBEYXRlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcclxuXHJcbiAgICAvLyB0aGlzLmV2ZW50cyA9IGdlbmVyYXRlRXZlbnRzKGFyZ3MuZGF0ZVJhbmdlLnN0YXJ0LCA3KTtcclxuXHJcbiAgICBpZiAodGhpcy5sb2NhbC5pblByb2dyZXNzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvL1NldCBzZXNzaW9uIHZhbHVlc1xyXG4gICAgdGhpcy5ncm91cFtcInNlbGVjdGVkRGF0ZVwiXSA9IGFyZ3Muc2VsZWN0ZWREYXRlO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKFwienNjaGVkdWxlIGNvbXBvbmVudCBkYXRlLWNoYW5nZSBzZWxlY3Rpb246IFwiLCBhcmdzLmRhdGVSYW5nZSk7XHJcbiAgICAgLy8gdGhpcy5sb2NhbC5zZWxlY3RlZERhdGUgPSBhcmdzLmRhdGVSYW5nZS5zdGFydDtcclxuICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgIHR5cGU6IFwienNjaGVkdWxlci1vbkRhdGVDaGFuZ2VcIixcclxuICAgIHRhcmdldDogdGhpcy5kYXRhLkNhbGVuZGFyT3B0aW9ucyArIFwiLmRhdGVDbGlja1wiLFxyXG4gICAgZXZlbnQ6IGFyZ3MuZGF0ZVJhbmdlXHJcbiAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICAvLyBXZSdyZSBzZXR0aW5nIHRoZSBldmVudHMgYWZ0ZXIgdGhlIGN1cnJlbnQgY2hhbmdlIGRldGVjdGlvbiBjeWNsZVxyXG4gICAgLy8gaGFzIGNvbXBsZXRlZCwgaGVuY2Ugd2UgbmVlZCB0byB0cmlnZ2VyIGEgbmV3IG9uZS5cclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICB9XHJcblxyXG4gIG9uU2xvdERibENsaWNrKHsgc2VuZGVyLCBzdGFydCwgZW5kLCBpc0FsbERheSB9OiBTbG90Q2xpY2tFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIFwienNjaGVkdWxlciBjb21wb25lbnQgc2xvdC1kb3VibGUtY2xpY2s6IFwiLFxyXG4gICAgICBzZW5kZXIsXHJcbiAgICAgIHN0YXJ0LFxyXG4gICAgICBlbmQsXHJcbiAgICAgIGlzQWxsRGF5XHJcbiAgICApO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgc2VuZGVyLnNlbGVjdGVkVmlldy5uYW1lID09PSBcIm1vbnRoXCIgfHxcclxuICAgICAgc2VuZGVyLnNlbGVjdGVkVmlldy5uYW1lID09PSBcIndlZWtcIlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMubG9jYWwuaW5Qcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWaWV3SW5kZXggPSAzO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHN0YXJ0O1xyXG4gICAgICBvZihbXSkucGlwZSh0YWtlKDEpLCBkZWxheSgxMDAwKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMubG9jYWwuaW5Qcm9ncmVzcyA9IGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAvLyAgIFR5cGU6IFwienNjaGVkdWxlci1vblNsb3REYmxDbGlja1wiLFxyXG4gICAgLy8gICBUYXJnZXQ6IHRoaXMuZGF0YS5DYWxlbmRhck9wdGlvbnMgKyAnc2VsZWN0JyxcclxuICAgIC8vICAgZXZlbnQ6IHsgc2VuZGVyLCBzdGFydCwgZW5kLCBpc0FsbERheSB9XHJcbiAgICAvLyB9KTtcclxuICAgIC8vIHRoaXMuY2xvc2VFZGl0b3Ioc2VuZGVyKTtcclxuICAgIC8vIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAvLyAgICAgJ1N0YXJ0JzogW3N0YXJ0LCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgIC8vICAgICAnRW5kJzogW2VuZCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAvLyAgICAgJ1N0YXJ0VGltZXpvbmUnOiBuZXcgRm9ybUNvbnRyb2woKSxcclxuICAgIC8vICAgICAnRW5kVGltZXpvbmUnOiBuZXcgRm9ybUNvbnRyb2woKSxcclxuICAgIC8vICAgICAnSXNBbGxEYXknOiBpc0FsbERheSxcclxuICAgIC8vICAgICAnVGl0bGUnOiBuZXcgRm9ybUNvbnRyb2woJycpLFxyXG4gICAgLy8gICAgICdEZXNjcmlwdGlvbic6IG5ldyBGb3JtQ29udHJvbCgnJyksXHJcbiAgICAvLyAgICAgJ1JlY3VycmVuY2VSdWxlJzogbmV3IEZvcm1Db250cm9sKCksXHJcbiAgICAvLyAgICAgJ1JlY3VycmVuY2VJRCc6IG5ldyBGb3JtQ29udHJvbCgpXHJcbiAgICAvLyB9KTtcclxuICAgIC8vIHNlbmRlci5hZGRFdmVudCh0aGlzLmZvcm1Hcm91cCk7XHJcbiAgfVxyXG5cclxuICBvbkV2ZW50RGJsQ2xpY2soeyBzZW5kZXIsIGV2ZW50IH06IEV2ZW50Q2xpY2tFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coXCJ6c2NoZWR1bGVyIGNvbXBvbmVudCBldmVudC1kb3VibGUtY2xpY2s6IFwiLCBzZW5kZXIsIGV2ZW50KTtcclxuXHJcbiAgICAvLyB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAvLyAgIHR5cGU6IFwienNjaGVkdWxlci1vbkV2ZW50RGJsQ2xpY2tcIiArIFwiLmV2ZW50Q2xpY2tcIixcclxuICAgIC8vICAgdGFyZ2V0OiB0aGlzLmRhdGEuQ2FsZW5kYXJPcHRpb25zLFxyXG4gICAgLy8gICBldmVudDogeyBzZW5kZXIsIGV2ZW50IH1cclxuICAgIC8vIH0gYXMgWkNvbXBvbmVudE91dHB1dEV2ZW50KTtcclxuXHJcbiAgICAvLyB0aGlzLmNsb3NlRWRpdG9yKHNlbmRlcik7XHJcbiAgICAvLyBsZXQgZGF0YUl0ZW0gPSBldmVudC5kYXRhSXRlbTtcclxuICAgIC8vIGlmICh0aGlzLmVkaXRTZXJ2aWNlLmlzUmVjdXJyaW5nKGRhdGFJdGVtKSkge1xyXG4gICAgLy8gICAgIHNlbmRlci5vcGVuUmVjdXJyaW5nQ29uZmlybWF0aW9uRGlhbG9nKENydWRPcGVyYXRpb24uRWRpdClcclxuICAgIC8vICAgICAgICAgLy8gVGhlIHJlc3VsdCB3aWxsIGJlIHVuZGVmaW5lZCBpZiB0aGUgZGlhbG9nIHdhcyBjbG9zZWQuXHJcbiAgICAvLyAgICAgICAgIC5waXBlKGZpbHRlcihlZGl0TW9kZSA9PiBlZGl0TW9kZSAhPT0gdW5kZWZpbmVkKSlcclxuICAgIC8vICAgICAgICAgLnN1YnNjcmliZSgoZWRpdE1vZGU6IEVkaXRNb2RlKSA9PiB7XHJcbiAgICAvLyAgICAgICAgICAgICBpZiAoZWRpdE1vZGUgPT09IEVkaXRNb2RlLlNlcmllcykge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIGRhdGFJdGVtID0gdGhpcy5lZGl0U2VydmljZS5maW5kUmVjdXJyZW5jZU1hc3RlcihkYXRhSXRlbSk7XHJcbiAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuY3JlYXRlRm9ybUdyb3VwKGRhdGFJdGVtKTtcclxuICAgIC8vICAgICAgICAgICAgIHNlbmRlci5lZGl0RXZlbnQoZGF0YUl0ZW0sIHsgZ3JvdXA6IHRoaXMuZm9ybUdyb3VwLCBtb2RlOiBlZGl0TW9kZSB9KTtcclxuICAgIC8vICAgICAgICAgfSk7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5jcmVhdGVGb3JtR3JvdXAoZGF0YUl0ZW0pO1xyXG4gICAgLy8gICAgIHNlbmRlci5lZGl0RXZlbnQoZGF0YUl0ZW0sIHsgZ3JvdXA6IHRoaXMuZm9ybUdyb3VwIH0pO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuT25JdGVtQ2xpY2spIHtcclxuXHJcbiAgICAgIC8vUmVzdG9yZSBzZXNzaW9uXHJcbiAgICAgIHRoaXMuYmVmb3JlU2NoZWR1bGVyR2V0RGF0YSh0aGlzLmdyb3VwKTtcclxuICAgICAgdGhpcy5zZXRTY2hlZHVsZXJTZXNzaW9uRmlsdGVyKHRoaXMuZ3JvdXApO1xyXG5cclxuICAgICAgY29uc3QgZnVuYyA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuT25JdGVtQ2xpY2spO1xyXG4gICAgICBpZiAodHlwZW9mIGZ1bmMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICBjb25zdCBjYWxsRnVuYyA9IGZ1bmMuYmluZCh0aGlzLmdyb3VwLmN0cmxTY29wZSk7XHJcbiAgICAgICAgY2FsbEZ1bmMoZXZlbnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuICBcclxuICBwdWJsaWMgc2V0RGF0YSA9IChnRGF0YTogYW55KSA9PiB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVmlld0luZGV4ID0gZ0RhdGEgfHwgdGhpcy5zZWxlY3RlZFZpZXdJbmRleDtcclxuICAgIC8vcmVzZXQgZGF0YVxyXG4gICAgdGhpcy5nZXRJdGVtcygpO1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgc2V0U2NoZWR1bGVyU2Vzc2lvbktleShncm91cDogWkdyb3VwKSB7XHJcblxyXG4gICAgaWYgKGdyb3VwW1wiU2NoZWR1bGVyU3RvcmFnZUtleVwiXSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgZ3JvdXBbXCJTY2hlZHVsZXJTdG9yYWdlS2V5XCJdID0gJ3pncmlkXycgKyBncm91cC5yZXNvdXJjZVVSTCArICdfJyArIHRoaXMuZGF0YS5WYWx1ZSArICc6OicgKyB0aGlzLmF1dGhTZXJ2aWNlLmUxVG9rZW4udXNlck5hbWU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGJlZm9yZVNjaGVkdWxlckdldERhdGEoZ3JvdXA6IFpHcm91cCkge1xyXG4gICAgY29uc29sZS53YXJuKFwiYmVmb3JlRGF0ZVJhbmdlQmluZGluZyB0cmlnZ2VyZWRcIik7XHJcbiAgICBpZiAoIWdyb3VwLmJlZm9yZVNjaGVkdWxlckdldERhdGEpIHtcclxuICAgICAgY29uc29sZS53YXJuKFwiZ3JvdXAuYmVmb3JlRGF0ZVJhbmdlQmluZGluZyBpcyB1bmRlZmluZWRcIik7XHJcbiAgICAgIHJldHVybiBvZih0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZ3JvdXAuYmVmb3JlU2NoZWR1bGVyR2V0RGF0YShncm91cCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZXRTY2hlZHVsZXJTZXNzaW9uRmlsdGVyKGdyb3VwOiBaR3JvdXApIHtcclxuXHJcbiAgICBpZiAoIWdyb3VwW1wiU2NoZWR1bGVyU3RvcmFnZUtleVwiXSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IFN0b3JhZ2VLZXkgPSBncm91cFtcIlNjaGVkdWxlclN0b3JhZ2VLZXlcIl07XHJcblxyXG4gICAgbGV0IGxzdEZpbHRlcjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICAgIGlmIChncm91cCAmJiB0aGlzLnN0b3JhZ2VTZXJ2aWNlICYmIHRoaXMuZGF0YVsnU2F2ZUZpbHRlciddKSB7XHJcblxyXG4gICAgICAvL2xpc3Qgb2YgZGF0YSBmb3IgU3RhdGVGaWx0ZXIgYW5kIEZpbHRlclBhcmFtc1xyXG4gICAgICBsc3RGaWx0ZXIgPSB7XHJcbiAgICAgICAgXCJTZWxlY3RlZERhdGVcIjogSlNPTi5zdHJpbmdpZnkoZ3JvdXBbXCJzZWxlY3RlZERhdGVcIl0pXHJcbiAgICAgIH1cclxuICAgICAgLy9jcmVhdGUgc2Vzc2lvbiBzdG9yYWdlIFxyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShsc3RGaWx0ZXIpKTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0U2NoZWR1bGVyU2Vzc2lvbkZpbHRlcihncm91cDogWkdyb3VwKSB7XHJcblxyXG4gICAgaWYgKCFncm91cFtcIlNjaGVkdWxlclN0b3JhZ2VLZXlcIl0pIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCBTdG9yYWdlS2V5ID0gZ3JvdXBbXCJTY2hlZHVsZXJTdG9yYWdlS2V5XCJdO1xyXG5cclxuICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KFN0b3JhZ2VLZXkpXHJcbiAgICAgICAgLnRoZW4oZGF0YSA9PiB7XHJcbiAgICAgICAgICBpZiAoIWRhdGEgfHwgIWRhdGEudmFsdWUgfHwgZGF0YS52YWx1ZSA9PT0gXCJudWxsXCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShkYXRhLnZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShKU09OLnBhcnNlKHJlc3VsdFtcIlNlbGVjdGVkRGF0ZVwiXSkpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHsgcmV0dXJuIG51bGw7IH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8aW9uLWl0ZW0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIj5cclxuICA8aW9uLWxhYmVsIFthdHRyLmZvcl09XCJkYXRhLlZhbHVlXCIgKm5nSWY9XCJkYXRhLlNob3dMYWJlbFwiIHBvc2l0aW9uPVwic3RhY2tlZFwiPlxyXG4gICAge3tkYXRhLkxhYmVsfX0gPGlvbi10ZXh0ICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQpXCIgY29sb3I9XCJkYW5nZXJcIj4qPC9pb24tdGV4dD5cclxuICA8L2lvbi1sYWJlbD5cclxuICA8a2VuZG8tc2NoZWR1bGVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiIFtrZW5kb1NjaGVkdWxlckJpbmRpbmddPVwiZXZlbnRzXCIgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIiAoZGF0ZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbc2VsZWN0ZWRWaWV3SW5kZXhdPVwic2VsZWN0ZWRWaWV3SW5kZXhcIiBbZXZlbnRTdHlsZXNdPVwiZ2V0RXZlbnRTdHlsZXNcIiBbc2xvdENsYXNzXT1cImdldFNsb3RDbGFzc1wiIFxyXG4gICAgKHNsb3REYmxDbGljayk9XCJvblNsb3REYmxDbGljaygkZXZlbnQpXCIgKGV2ZW50RGJsQ2xpY2spPVwib25FdmVudERibENsaWNrKCRldmVudClcIiBzY3JvbGxUaW1lPVwiMDg6MDBcIlxyXG4gICAgW3N0eWxlLmhlaWdodF09XCIoISFkYXRhLkhlaWdodCA/IFtkYXRhLkhlaWdodF0gOiAnNjAwcHgnKVwiPlxyXG4gICAgIDwhLS0gW3N0eWxlLmZvbnQtc2l6ZV09XCIoISFkYXRhLkZvbnRTaXplID8gW2RhdGEuRm9udFNpemVdIDogJzEycHgnKVwiPiAtLT5cclxuICAgICBcclxuICAgICA8IS0tTm90ZTogbGluZS1oZWlnaHQgc2FtZSB3aXRoIFtldmVudEhlaWdodF0tLT5cclxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1NjaGVkdWxlckV2ZW50VGVtcGxhdGUgbGV0LWV2ZW50PlxyXG4gICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtNXB4O2xpbmUtaGVpZ2h0OiAyNXB4O1wiPnt7IGV2ZW50LnRpdGxlIH19PC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUga2VuZG9TY2hlZHVsZXJUb29sYmFyVGVtcGxhdGUgbGV0LXNlbGVjdGVkRGF0ZT1cInNlbGVjdGVkRGF0ZVwiPlxyXG4gICAgICA8enNjaGVkdWxlcnRvb2xiYXIgW2xvY2FsXT1cImxvY2FsXCIgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIj5cclxuICAgICAgPC96c2NoZWR1bGVydG9vbGJhcj5cclxuICAgICAgPHVsIGtlbmRvU2NoZWR1bGVyVG9vbGJhclZpZXdTZWxlY3Rvcj48L3VsPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUga2VuZG9TY2hlZHVsZXJBbGxEYXlTbG90VGVtcGxhdGUgbGV0LWRhdGU9XCJkYXRlXCI+XHJcbiAgICAgIDxzdHJvbmc+e3sgZGF0ZSB8IGtlbmRvRGF0ZTogJ2RkLU1NTS15eXl5JyB9fTwvc3Ryb25nPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1NjaGVkdWxlckRhdGVIZWFkZXJUZW1wbGF0ZSBsZXQtZGF0ZT1cImRhdGVcIj5cclxuICAgICAgPHN0cm9uZz57eyBkYXRlIHwga2VuZG9EYXRlOiBcImNjY1wiIH19PC9zdHJvbmc+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICBcclxuICAgIDwhLS0gPGtlbmRvLXNjaGVkdWxlci1kYXktdmlldyBzdGFydFRpbWU9XCIwODowMFwiPlxyXG4gICAgPC9rZW5kby1zY2hlZHVsZXItZGF5LXZpZXc+XHJcblxyXG4gICAgPGtlbmRvLXNjaGVkdWxlci13ZWVrLXZpZXcgc3RhcnRUaW1lPVwiMDg6MDBcIj5cclxuICAgIDwva2VuZG8tc2NoZWR1bGVyLXdlZWstdmlldz4gLS0+XHJcblxyXG4gICAgPGtlbmRvLXNjaGVkdWxlci1kYXktdmlldz5cclxuICAgIDwva2VuZG8tc2NoZWR1bGVyLWRheS12aWV3PlxyXG5cclxuICAgIDxrZW5kby1zY2hlZHVsZXItd2Vlay12aWV3PlxyXG4gICAgPC9rZW5kby1zY2hlZHVsZXItd2Vlay12aWV3PlxyXG5cclxuICAgIDxrZW5kby1zY2hlZHVsZXItbW9udGgtdmlldyBbZXZlbnRIZWlnaHRdPVwiMjVcIj4gXHJcbiAgICA8L2tlbmRvLXNjaGVkdWxlci1tb250aC12aWV3PlxyXG5cclxuICAgIDwhLS0gPGtlbmRvLXNjaGVkdWxlci10aW1lbGluZS12aWV3PlxyXG4gICAgPC9rZW5kby1zY2hlZHVsZXItdGltZWxpbmUtdmlldz4gLS0+XHJcblxyXG4gICAgPGtlbmRvLXNjaGVkdWxlci1hZ2VuZGEtdmlldz5cclxuICAgIDwva2VuZG8tc2NoZWR1bGVyLWFnZW5kYS12aWV3PlxyXG4gIDwva2VuZG8tc2NoZWR1bGVyPlxyXG5cclxuPC9pb24taXRlbT4iXX0=
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienNjaGVkdWxlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96c2NoZWR1bGVyL3pzY2hlZHVsZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenNjaGVkdWxlci96c2NoZWR1bGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLDJDQUEyQztBQUMzQyxPQUFPLEVBQ08sZ0JBQWdCLEVBQ1osb0JBQW9CLEVBQ3JDLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQVN6QixNQUFNLE9BQU8sbUJBQW1CO0lBaUI5Qix3Q0FBd0M7SUFDeEMsY0FBYztJQUNkLHdCQUF3QjtJQUN4QixnQ0FBZ0M7SUFDaEMsdUNBQXVDO0lBQ3ZDLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsbUNBQW1DO0lBQ25DLDZCQUE2QjtJQUM3Qix5Q0FBeUM7SUFDekMscUNBQXFDO0lBQ3JDLG1EQUFtRDtJQUNuRCxLQUFLO0lBRUwsWUFDVSxjQUFpQyxFQUNqQyxjQUFxQyxFQUNyQyxXQUF3QjtRQUZ4QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FB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QUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEFmdGVyVmlld0luaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVsYXksIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IERhdGVDaGFuZ2VFdmVudCwgU2xvdENsaWNrRXZlbnQsIEV2ZW50Q2xpY2tFdmVudCwgRXZlbnRTdHlsZUFyZ3MsIFNsb3RDbGFzc0FyZ3MgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItc2NoZWR1bGVyXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7XHJcbiAgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciwgWkNvbXBvbmVudE91dHB1dEV2ZW50LFxyXG4gIFpHcm91cCwgWkZpZWxkLCBaQ29tcG9uZW50UHJvcGVydGllcywgU3RvcmFnZVNlc3Npb25TZXJ2aWNlLCBBdXRoU2VydmljZVxyXG59IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtenNjaGVkdWxlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4venNjaGVkdWxlci5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96c2NoZWR1bGVyLmNvbXBvbmVudC5zY3NzXCJdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgWnNjaGVkdWxlckNvbXBvbmVudCBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YTogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIG5nU3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnk7IH1cclxuXHJcbiAgaXNMb2FkaW5nID0gdHJ1ZTtcclxuICBldmVudHM6IGFueVtdID0gW107XHJcbiAgc2VsZWN0ZWREYXRlID0gbmV3IERhdGUoKTtcclxuICBsb2NhbCA9IHtcclxuICAgIGluUHJvZ3Jlc3M6IGZhbHNlLFxyXG4gICAgY3RybFNjb3BlOiBudWxsXHJcbiAgfTtcclxuICAvLyBzZWxlY3RlZERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIHNlbGVjdGVkVmlld0luZGV4ID0gMztcclxuICBjb21wb25lbnRQcm9wZXJ0aWVzID0gbmV3IFpDb21wb25lbnRQcm9wZXJ0aWVzKCk7XHJcblxyXG4gIC8vIGV2ZW50RmllbGRzOiBTY2hlZHVsZXJNb2RlbEZpZWxkcyA9IHtcclxuICAvLyAgIGlkOiBcIklkXCIsXHJcbiAgLy8gICB0aXRsZTogXCJPYmplY3RpdmVcIixcclxuICAvLyAgIGRlc2NyaXB0aW9uOiBcIkRlc2NyaXB0aW9uXCIsXHJcbiAgLy8gICAvLyBzdGFydFRpbWV6b25lOiAnU3RhcnRUaW1lem9uZScsXHJcbiAgLy8gICBzdGFydDogXCJEYXRlX1VUQ1wiLFxyXG4gIC8vICAgZW5kOiBcIkVuZF9VVENcIlxyXG4gIC8vICAgLy8gZW5kVGltZXpvbmU6ICdFbmRUaW1lem9uZScsXHJcbiAgLy8gICAvLyBpc0FsbERheTogJ0lzQWxsRGF5JyxcclxuICAvLyAgIC8vIHJlY3VycmVuY2VSdWxlOiAnUmVjdXJyZW5jZVJ1bGUnLFxyXG4gIC8vICAgLy8gcmVjdXJyZW5jZUlkOiAnUmVjdXJyZW5jZUlEJyxcclxuICAvLyAgIC8vIHJlY3VycmVuY2VFeGNlcHRpb25zOiAnUmVjdXJyZW5jZUV4Y2VwdGlvbidcclxuICAvLyB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRDb21wb25lbnRQcm9wZXJ0aWVzKHRoaXMpO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuICAgIHRoaXMubG9jYWwuY3RybFNjb3BlID0gdGhpcy5ncm91cC5jdHJsU2NvcGU7XHJcbiAgICAvL3RoaXMuc2VsZWN0ZWRWaWV3SW5kZXggPSB0aGlzLmRhdGEuU2VsZWN0ZWRWaWV3SW5kZXggfHwgdGhpcy5zZWxlY3RlZFZpZXdJbmRleDtcclxuICAgIC8vXHJcbiAgICBpZiAodGhpcy5kYXRhWydTYXZlRmlsdGVyJ10pIHtcclxuICAgICAgdGhpcy5zZXRTY2hlZHVsZXJTZXNzaW9uS2V5KHRoaXMuZ3JvdXApO1xyXG4gICAgICB0aGlzLmdldFNjaGVkdWxlclNlc3Npb25GaWx0ZXIodGhpcy5ncm91cCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEl0ZW1zKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAvL3RoaXMuc2VsZWN0ZWRWaWV3SW5kZXggPSB0aGlzLmRhdGEuU2VsZWN0ZWRWaWV3SW5kZXggfHwgdGhpcy5zZWxlY3RlZFZpZXdJbmRleDtcclxuICB9XHJcblxyXG4gIGdldEV2ZW50U3R5bGVzID0gKGFyZ3M6IEV2ZW50U3R5bGVBcmdzKSA9PiB7XHJcblxyXG4gICAgaWYoYXJncyAmJiBhcmdzLmV2ZW50ICYmIGFyZ3MuZXZlbnQuZGF0YUl0ZW0pXHJcbiAgICB7XHJcbiAgICAgIGNvbnN0IEJHQ29sb3I9YXJncy5ldmVudC5kYXRhSXRlbVtcImJhY2tncm91bmRDb2xvclwiXTtcclxuICAgICAgY29uc3QgQm9yZGVyQ29sb3I9YXJncy5ldmVudC5kYXRhSXRlbVtcImJvcmRlckNvbG9yXCJdO1xyXG5cclxuICAgIGlmIChCR0NvbG9yICYmIEJvcmRlckNvbG9yKSBcclxuICAgIHsgcmV0dXJuIHsgYmFja2dyb3VuZENvbG9yOiBCR0NvbG9yLCBib3JkZXJjb2xvcjogQm9yZGVyQ29sb3IsIGNvbG9yOiBcIndoaXRlXCIgfTsgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiB7IGJhY2tncm91bmRDb2xvcjogXCIjZmY3YzczXCIsIGJvcmRlcmNvbG9yOiBcIiNmZjdjNzNcIiAsIGNvbG9yOiBcIndoaXRlXCIgfTtcclxuICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U2xvdENsYXNzID0gKGFyZ3M6IFNsb3RDbGFzc0FyZ3MpID0+IHtcclxuICAgIGNvbnN0IGhvdXIgPSBhcmdzLnN0YXJ0LmdldEhvdXJzKCk7XHJcbiAgICBhcmdzLnJlc291cmNlcyA9IHRoaXMuZXZlbnRzXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBhcmdzXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbXMoKSB7XHJcbiAgICAvLyBpZiAodGhpcy5pc0xvYWRpbmcpIHtcclxuICAgIC8vICAgIHJldHVybiBbXTtcclxuICAgIC8vICB9XHJcbiAgICAvLyBkZWJ1Z2dlcjtcclxuICAgIGNvbnN0IHYgPSB0aGlzLmRhdGEuVmFsdWU7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xyXG4gICAgICByZXR1cm4gdjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGV2YWxWYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB2KTtcclxuICAgICAgLy8gZGVidWdnZXI7XHJcbiAgICAgIGlmIChldmFsVmFsdWUpIHtcclxuICAgICAgICB0aGlzLmV2ZW50cyA9IGV2YWxWYWx1ZTtcclxuICAgICAgICBpZiAodGhpcy5ldmVudHMpIHtcclxuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUud2FybihcIkludmFsaWQgZmllbGQuVmFsdWUgc2V0dGluZyBcIiwgdGhpcy5kYXRhLlZhbHVlKTtcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRGF0ZUNoYW5nZShhcmdzOiBEYXRlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcclxuXHJcbiAgICAvLyB0aGlzLmV2ZW50cyA9IGdlbmVyYXRlRXZlbnRzKGFyZ3MuZGF0ZVJhbmdlLnN0YXJ0LCA3KTtcclxuXHJcbiAgICBpZiAodGhpcy5sb2NhbC5pblByb2dyZXNzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvL1NldCBzZXNzaW9uIHZhbHVlc1xyXG4gICAgdGhpcy5ncm91cFtcInNlbGVjdGVkRGF0ZVwiXSA9IGFyZ3Muc2VsZWN0ZWREYXRlO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKFwienNjaGVkdWxlIGNvbXBvbmVudCBkYXRlLWNoYW5nZSBzZWxlY3Rpb246IFwiLCBhcmdzLmRhdGVSYW5nZSk7XHJcbiAgICAgLy8gdGhpcy5sb2NhbC5zZWxlY3RlZERhdGUgPSBhcmdzLmRhdGVSYW5nZS5zdGFydDtcclxuICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgIHR5cGU6IFwienNjaGVkdWxlci1vbkRhdGVDaGFuZ2VcIixcclxuICAgIHRhcmdldDogdGhpcy5kYXRhLkNhbGVuZGFyT3B0aW9ucyArIFwiLmRhdGVDbGlja1wiLFxyXG4gICAgZXZlbnQ6IGFyZ3MuZGF0ZVJhbmdlXHJcbiAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICAvLyBXZSdyZSBzZXR0aW5nIHRoZSBldmVudHMgYWZ0ZXIgdGhlIGN1cnJlbnQgY2hhbmdlIGRldGVjdGlvbiBjeWNsZVxyXG4gICAgLy8gaGFzIGNvbXBsZXRlZCwgaGVuY2Ugd2UgbmVlZCB0byB0cmlnZ2VyIGEgbmV3IG9uZS5cclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICB9XHJcblxyXG4gIG9uU2xvdERibENsaWNrKHsgc2VuZGVyLCBzdGFydCwgZW5kLCBpc0FsbERheSB9OiBTbG90Q2xpY2tFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIFwienNjaGVkdWxlciBjb21wb25lbnQgc2xvdC1kb3VibGUtY2xpY2s6IFwiLFxyXG4gICAgICBzZW5kZXIsXHJcbiAgICAgIHN0YXJ0LFxyXG4gICAgICBlbmQsXHJcbiAgICAgIGlzQWxsRGF5XHJcbiAgICApO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgc2VuZGVyLnNlbGVjdGVkVmlldy5uYW1lID09PSBcIm1vbnRoXCIgfHxcclxuICAgICAgc2VuZGVyLnNlbGVjdGVkVmlldy5uYW1lID09PSBcIndlZWtcIlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMubG9jYWwuaW5Qcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWaWV3SW5kZXggPSAzO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHN0YXJ0O1xyXG4gICAgICBvZihbXSkucGlwZSh0YWtlKDEpLCBkZWxheSgxMDAwKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMubG9jYWwuaW5Qcm9ncmVzcyA9IGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAvLyAgIFR5cGU6IFwienNjaGVkdWxlci1vblNsb3REYmxDbGlja1wiLFxyXG4gICAgLy8gICBUYXJnZXQ6IHRoaXMuZGF0YS5DYWxlbmRhck9wdGlvbnMgKyAnc2VsZWN0JyxcclxuICAgIC8vICAgZXZlbnQ6IHsgc2VuZGVyLCBzdGFydCwgZW5kLCBpc0FsbERheSB9XHJcbiAgICAvLyB9KTtcclxuICAgIC8vIHRoaXMuY2xvc2VFZGl0b3Ioc2VuZGVyKTtcclxuICAgIC8vIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAvLyAgICAgJ1N0YXJ0JzogW3N0YXJ0LCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgIC8vICAgICAnRW5kJzogW2VuZCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAvLyAgICAgJ1N0YXJ0VGltZXpvbmUnOiBuZXcgRm9ybUNvbnRyb2woKSxcclxuICAgIC8vICAgICAnRW5kVGltZXpvbmUnOiBuZXcgRm9ybUNvbnRyb2woKSxcclxuICAgIC8vICAgICAnSXNBbGxEYXknOiBpc0FsbERheSxcclxuICAgIC8vICAgICAnVGl0bGUnOiBuZXcgRm9ybUNvbnRyb2woJycpLFxyXG4gICAgLy8gICAgICdEZXNjcmlwdGlvbic6IG5ldyBGb3JtQ29udHJvbCgnJyksXHJcbiAgICAvLyAgICAgJ1JlY3VycmVuY2VSdWxlJzogbmV3IEZvcm1Db250cm9sKCksXHJcbiAgICAvLyAgICAgJ1JlY3VycmVuY2VJRCc6IG5ldyBGb3JtQ29udHJvbCgpXHJcbiAgICAvLyB9KTtcclxuICAgIC8vIHNlbmRlci5hZGRFdmVudCh0aGlzLmZvcm1Hcm91cCk7XHJcbiAgfVxyXG5cclxuICBvbkV2ZW50RGJsQ2xpY2soeyBzZW5kZXIsIGV2ZW50IH06IEV2ZW50Q2xpY2tFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coXCJ6c2NoZWR1bGVyIGNvbXBvbmVudCBldmVudC1kb3VibGUtY2xpY2s6IFwiLCBzZW5kZXIsIGV2ZW50KTtcclxuXHJcbiAgICAvLyB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAvLyAgIHR5cGU6IFwienNjaGVkdWxlci1vbkV2ZW50RGJsQ2xpY2tcIiArIFwiLmV2ZW50Q2xpY2tcIixcclxuICAgIC8vICAgdGFyZ2V0OiB0aGlzLmRhdGEuQ2FsZW5kYXJPcHRpb25zLFxyXG4gICAgLy8gICBldmVudDogeyBzZW5kZXIsIGV2ZW50IH1cclxuICAgIC8vIH0gYXMgWkNvbXBvbmVudE91dHB1dEV2ZW50KTtcclxuXHJcbiAgICAvLyB0aGlzLmNsb3NlRWRpdG9yKHNlbmRlcik7XHJcbiAgICAvLyBsZXQgZGF0YUl0ZW0gPSBldmVudC5kYXRhSXRlbTtcclxuICAgIC8vIGlmICh0aGlzLmVkaXRTZXJ2aWNlLmlzUmVjdXJyaW5nKGRhdGFJdGVtKSkge1xyXG4gICAgLy8gICAgIHNlbmRlci5vcGVuUmVjdXJyaW5nQ29uZmlybWF0aW9uRGlhbG9nKENydWRPcGVyYXRpb24uRWRpdClcclxuICAgIC8vICAgICAgICAgLy8gVGhlIHJlc3VsdCB3aWxsIGJlIHVuZGVmaW5lZCBpZiB0aGUgZGlhbG9nIHdhcyBjbG9zZWQuXHJcbiAgICAvLyAgICAgICAgIC5waXBlKGZpbHRlcihlZGl0TW9kZSA9PiBlZGl0TW9kZSAhPT0gdW5kZWZpbmVkKSlcclxuICAgIC8vICAgICAgICAgLnN1YnNjcmliZSgoZWRpdE1vZGU6IEVkaXRNb2RlKSA9PiB7XHJcbiAgICAvLyAgICAgICAgICAgICBpZiAoZWRpdE1vZGUgPT09IEVkaXRNb2RlLlNlcmllcykge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIGRhdGFJdGVtID0gdGhpcy5lZGl0U2VydmljZS5maW5kUmVjdXJyZW5jZU1hc3RlcihkYXRhSXRlbSk7XHJcbiAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuY3JlYXRlRm9ybUdyb3VwKGRhdGFJdGVtKTtcclxuICAgIC8vICAgICAgICAgICAgIHNlbmRlci5lZGl0RXZlbnQoZGF0YUl0ZW0sIHsgZ3JvdXA6IHRoaXMuZm9ybUdyb3VwLCBtb2RlOiBlZGl0TW9kZSB9KTtcclxuICAgIC8vICAgICAgICAgfSk7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5jcmVhdGVGb3JtR3JvdXAoZGF0YUl0ZW0pO1xyXG4gICAgLy8gICAgIHNlbmRlci5lZGl0RXZlbnQoZGF0YUl0ZW0sIHsgZ3JvdXA6IHRoaXMuZm9ybUdyb3VwIH0pO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuT25JdGVtQ2xpY2spIHtcclxuXHJcbiAgICAgIC8vUmVzdG9yZSBzZXNzaW9uXHJcbiAgICAgIHRoaXMuYmVmb3JlU2NoZWR1bGVyR2V0RGF0YSh0aGlzLmdyb3VwKTtcclxuICAgICAgdGhpcy5zZXRTY2hlZHVsZXJTZXNzaW9uRmlsdGVyKHRoaXMuZ3JvdXApO1xyXG5cclxuICAgICAgY29uc3QgZnVuYyA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuT25JdGVtQ2xpY2spO1xyXG4gICAgICBpZiAodHlwZW9mIGZ1bmMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICBjb25zdCBjYWxsRnVuYyA9IGZ1bmMuYmluZCh0aGlzLmdyb3VwLmN0cmxTY29wZSk7XHJcbiAgICAgICAgY2FsbEZ1bmMoZXZlbnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuICBcclxuICBwdWJsaWMgc2V0RGF0YSA9IChnRGF0YTogYW55KSA9PiB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVmlld0luZGV4ID0gZ0RhdGEgfHwgdGhpcy5zZWxlY3RlZFZpZXdJbmRleDtcclxuICAgIC8vcmVzZXQgZGF0YVxyXG4gICAgdGhpcy5nZXRJdGVtcygpO1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgc2V0U2NoZWR1bGVyU2Vzc2lvbktleShncm91cDogWkdyb3VwKSB7XHJcblxyXG4gICAgaWYgKGdyb3VwW1wiU2NoZWR1bGVyU3RvcmFnZUtleVwiXSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgZ3JvdXBbXCJTY2hlZHVsZXJTdG9yYWdlS2V5XCJdID0gJ3pncmlkXycgKyBncm91cC5yZXNvdXJjZVVSTCArICdfJyArIHRoaXMuZGF0YS5WYWx1ZSArICc6OicgKyB0aGlzLmF1dGhTZXJ2aWNlLmUxVG9rZW4udXNlck5hbWU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGJlZm9yZVNjaGVkdWxlckdldERhdGEoZ3JvdXA6IFpHcm91cCkge1xyXG4gICAgY29uc29sZS53YXJuKFwiYmVmb3JlRGF0ZVJhbmdlQmluZGluZyB0cmlnZ2VyZWRcIik7XHJcbiAgICBpZiAoIWdyb3VwLmJlZm9yZVNjaGVkdWxlckdldERhdGEpIHtcclxuICAgICAgY29uc29sZS53YXJuKFwiZ3JvdXAuYmVmb3JlRGF0ZVJhbmdlQmluZGluZyBpcyB1bmRlZmluZWRcIik7XHJcbiAgICAgIHJldHVybiBvZih0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZ3JvdXAuYmVmb3JlU2NoZWR1bGVyR2V0RGF0YShncm91cCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZXRTY2hlZHVsZXJTZXNzaW9uRmlsdGVyKGdyb3VwOiBaR3JvdXApIHtcclxuXHJcbiAgICBpZiAoIWdyb3VwW1wiU2NoZWR1bGVyU3RvcmFnZUtleVwiXSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IFN0b3JhZ2VLZXkgPSBncm91cFtcIlNjaGVkdWxlclN0b3JhZ2VLZXlcIl07XHJcblxyXG4gICAgbGV0IGxzdEZpbHRlcjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICAgIGlmIChncm91cCAmJiB0aGlzLnN0b3JhZ2VTZXJ2aWNlICYmIHRoaXMuZGF0YVsnU2F2ZUZpbHRlciddKSB7XHJcblxyXG4gICAgICAvL2xpc3Qgb2YgZGF0YSBmb3IgU3RhdGVGaWx0ZXIgYW5kIEZpbHRlclBhcmFtc1xyXG4gICAgICBsc3RGaWx0ZXIgPSB7XHJcbiAgICAgICAgXCJTZWxlY3RlZERhdGVcIjogSlNPTi5zdHJpbmdpZnkoZ3JvdXBbXCJzZWxlY3RlZERhdGVcIl0pXHJcbiAgICAgIH1cclxuICAgICAgLy9jcmVhdGUgc2Vzc2lvbiBzdG9yYWdlIFxyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShsc3RGaWx0ZXIpKTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0U2NoZWR1bGVyU2Vzc2lvbkZpbHRlcihncm91cDogWkdyb3VwKSB7XHJcblxyXG4gICAgaWYgKCFncm91cFtcIlNjaGVkdWxlclN0b3JhZ2VLZXlcIl0pIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCBTdG9yYWdlS2V5ID0gZ3JvdXBbXCJTY2hlZHVsZXJTdG9yYWdlS2V5XCJdO1xyXG5cclxuICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KFN0b3JhZ2VLZXkpXHJcbiAgICAgICAgLnRoZW4oZGF0YSA9PiB7XHJcbiAgICAgICAgICBpZiAoIWRhdGEgfHwgIWRhdGEudmFsdWUgfHwgZGF0YS52YWx1ZSA9PT0gXCJudWxsXCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShkYXRhLnZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShKU09OLnBhcnNlKHJlc3VsdFtcIlNlbGVjdGVkRGF0ZVwiXSkpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHsgcmV0dXJuIG51bGw7IH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8aW9uLWl0ZW0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIj5cclxuICA8aW9uLWxhYmVsIFthdHRyLmZvcl09XCJkYXRhLlZhbHVlXCIgKm5nSWY9XCJkYXRhLlNob3dMYWJlbFwiIHBvc2l0aW9uPVwic3RhY2tlZFwiPlxyXG4gICAge3tkYXRhLkxhYmVsfX0gPGlvbi10ZXh0ICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQpXCIgY29sb3I9XCJkYW5nZXJcIj4qPC9pb24tdGV4dD5cclxuICA8L2lvbi1sYWJlbD5cclxuICA8a2VuZG8tc2NoZWR1bGVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiIFtrZW5kb1NjaGVkdWxlckJpbmRpbmddPVwiZXZlbnRzXCIgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIiAoZGF0ZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRWaWV3SW5kZXhdPVwic2VsZWN0ZWRWaWV3SW5kZXhcIiBbZXZlbnRTdHlsZXNdPVwiZ2V0RXZlbnRTdHlsZXNcIiBbc2xvdENsYXNzXT1cImdldFNsb3RDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAoc2xvdERibENsaWNrKT1cIm9uU2xvdERibENsaWNrKCRldmVudClcIiAoZXZlbnREYmxDbGljayk9XCJvbkV2ZW50RGJsQ2xpY2soJGV2ZW50KVwiIHNjcm9sbFRpbWU9XCIwODowMFwiXHJcbiAgICAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cIighIWRhdGEuSGVpZ2h0ID8gW2RhdGEuSGVpZ2h0XSA6ICc2MDBweCcpXCI+XHJcbiAgICA8IS0tIFtzdHlsZS5mb250LXNpemVdPVwiKCEhZGF0YS5Gb250U2l6ZSA/IFtkYXRhLkZvbnRTaXplXSA6ICcxMnB4JylcIj4gLS0+XHJcbiAgICA8IS0tTm90ZTogbGluZS1oZWlnaHQgc2FtZSB3aXRoIFtldmVudEhlaWdodF0tLT5cclxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1NjaGVkdWxlckV2ZW50VGVtcGxhdGUgbGV0LWV2ZW50PlxyXG4gICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtNXB4O2xpbmUtaGVpZ2h0OiAyNXB4O1wiPnt7IGV2ZW50LnRpdGxlIH19PC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUga2VuZG9TY2hlZHVsZXJUb29sYmFyVGVtcGxhdGUgbGV0LXNlbGVjdGVkRGF0ZT1cInNlbGVjdGVkRGF0ZVwiPlxyXG4gICAgICA8enNjaGVkdWxlcnRvb2xiYXIgW2xvY2FsXT1cImxvY2FsXCIgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIj5cclxuICAgICAgPC96c2NoZWR1bGVydG9vbGJhcj5cclxuICAgICAgPHVsIGtlbmRvU2NoZWR1bGVyVG9vbGJhclZpZXdTZWxlY3Rvcj48L3VsPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUga2VuZG9TY2hlZHVsZXJBbGxEYXlTbG90VGVtcGxhdGUgbGV0LWRhdGU9XCJkYXRlXCI+XHJcbiAgICAgIDxzdHJvbmc+e3sgZGF0ZSB8IGtlbmRvRGF0ZTogJ2RkLU1NTS15eXl5JyB9fTwvc3Ryb25nPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1NjaGVkdWxlckRhdGVIZWFkZXJUZW1wbGF0ZSBsZXQtZGF0ZT1cImRhdGVcIj5cclxuICAgICAgPHN0cm9uZz57eyBkYXRlIHwga2VuZG9EYXRlOiBcImNjY1wiIH19PC9zdHJvbmc+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuXHJcbiAgICA8IS0tIDxrZW5kby1zY2hlZHVsZXItZGF5LXZpZXcgc3RhcnRUaW1lPVwiMDg6MDBcIj5cclxuICAgIDwva2VuZG8tc2NoZWR1bGVyLWRheS12aWV3PlxyXG5cclxuICAgIDxrZW5kby1zY2hlZHVsZXItd2Vlay12aWV3IHN0YXJ0VGltZT1cIjA4OjAwXCI+XHJcbiAgICA8L2tlbmRvLXNjaGVkdWxlci13ZWVrLXZpZXc+IC0tPlxyXG5cclxuICAgIDxrZW5kby1zY2hlZHVsZXItZGF5LXZpZXc+XHJcbiAgICA8L2tlbmRvLXNjaGVkdWxlci1kYXktdmlldz5cclxuXHJcbiAgICA8a2VuZG8tc2NoZWR1bGVyLXdlZWstdmlldz5cclxuICAgIDwva2VuZG8tc2NoZWR1bGVyLXdlZWstdmlldz5cclxuXHJcbiAgICA8a2VuZG8tc2NoZWR1bGVyLW1vbnRoLXZpZXcgW2V2ZW50SGVpZ2h0XT1cIjI1XCI+XHJcbiAgICA8L2tlbmRvLXNjaGVkdWxlci1tb250aC12aWV3PlxyXG5cclxuICAgIDwhLS0gPGtlbmRvLXNjaGVkdWxlci10aW1lbGluZS12aWV3PlxyXG4gICAgPC9rZW5kby1zY2hlZHVsZXItdGltZWxpbmUtdmlldz4gLS0+XHJcblxyXG4gICAgPGtlbmRvLXNjaGVkdWxlci1hZ2VuZGEtdmlldz5cclxuICAgIDwva2VuZG8tc2NoZWR1bGVyLWFnZW5kYS12aWV3PlxyXG4gIDwva2VuZG8tc2NoZWR1bGVyPlxyXG5cclxuPC9pb24taXRlbT5cclxuIl19
|