vcomply-workflow-engine 2.4.52 → 2.4.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +26 -38
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.js +2 -2
  4. package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngfactory.js +1 -2
  5. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.js +1 -1
  6. package/esm2015/lib/sharedComponents/program-listing/program-listing.component.js +2 -2
  7. package/esm2015/lib/sharedComponents/program-listing/program-listing.component.ngfactory.js +3 -3
  8. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +2 -4
  9. package/esm2015/lib/workflow-engine.module.js +2 -6
  10. package/esm2015/lib/workflow-engine.module.ngfactory.js +32 -33
  11. package/esm2015/lib/workflow-engine.module.ngsummary.json +1 -1
  12. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +13 -3
  13. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +3 -3
  14. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +1 -1
  15. package/esm2015/lib/workflow-services/programs.service.js +12 -12
  16. package/esm2015/vcomply-workflow-engine.js +1 -2
  17. package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
  18. package/fesm2015/vcomply-workflow-engine.js +28 -36
  19. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  20. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +2 -0
  21. package/package.json +1 -1
  22. package/vcomply-workflow-engine.d.ts +0 -1
  23. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -76,7 +76,7 @@ export class WorkflowEngineContainerComponent {
76
76
  (_c = this.responsibilityBulkUpload) === null || _c === void 0 ? void 0 : _c.showSmiley,
77
77
  (_d = this.compliance) === null || _d === void 0 ? void 0 : _d.showSmiley,
78
78
  (_e = this.importAnAssessment) === null || _e === void 0 ? void 0 : _e.showSmiley,
79
- (_f = this.logIssueComponent) === null || _f === void 0 ? void 0 : _f.showSmiley].includes(true)) {
79
+ (_f = this.logIssueComponent) === null || _f === void 0 ? void 0 : _f.showSmiley].includes(true) || this.program.activeList !== '') {
80
80
  //Do Nothing
81
81
  }
82
82
  else {
@@ -259,10 +259,8 @@ export class WorkflowEngineContainerComponent {
259
259
  this.policy.confirmPolicyPortal(evt.action);
260
260
  break;
261
261
  }
262
- this.showMoreOption = false;
263
262
  }
264
263
  this.confirmationAlertConfig = { isVisible: false, message: '', action: '', data: null };
265
- this.decideViewMoreOption(evt.action === 'YES' ? false : true);
266
264
  return evt;
267
265
  }
268
266
  setWorkflow(workFlowCode, workFlowList) {
@@ -454,4 +452,4 @@ WorkflowEngineContainerComponent.propDecorators = {
454
452
  onKeydownHandler: [{ type: HostListener, args: ['document:keydown.escape', ['$event'],] }],
455
453
  sizeChange: [{ type: HostListener, args: ['window:resize', ['$event'],] }]
456
454
  };
457
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyL3dvcmtmbG93LWVuZ2luZS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFVbkUsTUFBTSxPQUFPLGdDQUFnQztJQWUzQyxZQUFtQixZQUEwQixFQUFVLFFBQXlCLEVBQVMsSUFBaUI7UUFBdkYsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQWE7UUFiMUcsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBY1gsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNoQixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsZUFBVSxHQUFHLFFBQVEsQ0FBQztRQUNyQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztRQUM1RSxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLEVB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RUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7K0JBT3RDLFlBQVksU0FBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzt5QkE0SWxELFlBQVksU0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJpc2tDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtbXVsdGlwbGUtcmlzay9hZGQtbXVsdGlwbGUtcmlzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25BbGVydCB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlybWF0aW9uLWFsZXJ0JztcclxuaW1wb3J0IHsgSXNzdWVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pc3N1ZS1kYXRhJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWFzc2Vzc21lbnQvd29ya2Zsb3ctYXNzZXNzbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbXBvcnRBbkFzc2Vzc21lbnRDb21wb25lbnQgfSBmcm9tICcuLi93b3JrZmxvdy1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93Q29tcGxpYW5jZUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWNvbXBsaWFuY2Uvd29ya2Zsb3ctY29tcGxpYW5jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1BvbGljeUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXBvbGljeS93b3JrZmxvdy1wb2xpY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dSaXNrQ29tcG9uZW50IH0gZnJvbSAnLi4vd29ya2Zsb3ctcmlzay93b3JrZmxvdy1yaXNrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlLaXRTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvdWkta2l0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dBbklzc3VlQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9sb2ctYW4taXNzdWUvbG9nLWFuLWlzc3VlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vcmVPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLy4uL21vcmUtb3B0aW9uL21vcmUtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93UHJvZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXByb2dyYW0vd29ya2Zsb3ctcHJvZ3JhbS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdmNvbXBseS13b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQubGVzcycsICcuLi9mb3Jtcy5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIGlzSG9zdFJlZnJlc2hBY3RpdmUgPSB0cnVlO1xyXG4gIGlzUkNTZWxlY3RlZCA9IGZhbHNlXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcsIFsnJGV2ZW50J10pXHJcbiAgdW5sb2FkTm90aWZpY2F0aW9uKCRldmVudDogYW55KSB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpXHJcbiAgICBpZiAodGhpcy5pc0hvc3RSZWZyZXNoQWN0aXZlICYmIHRva2VuKSB7XHJcbiAgICAgICRldmVudC5yZXR1cm5WYWx1ZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdWlLaXRTZXJ2aWNlOiBVaUtpdFNlcnZpY2UsIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSwgcHVibGljIGF1dGg6IEF1dGhTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHdvcmtmbG93VHlwZSA9ICcnO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJztcclxuICBASW5wdXQoKSBpZCA9ICcnO1xyXG4gIEBJbnB1dCgpIG9wZW5lZEZyb20gPSAnR0xPQkFMJztcclxuICBAT3V0cHV0KCkgY2xvc2VXb3JrZmxvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBhbGxvd2VkV29ya2Zsb3dzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBmcmFtZXdvcmtEZXRhaWxzOiBBcnJheTxhbnk+ID0gW107IC8vIG9ubHkgZm9yIGNvbXBsaWFuY2UgcGFydCBmb3IgZnJhbWV3b3JrXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSQyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNlY29uZGFyeU9wZW5Qb3J0YWwgPSAnJztcclxuICBASW5wdXQoKSBkZWZhdWx0Umlza1R5cGUgPSAnTk9STUFMJztcclxuICBASW5wdXQoKSBtb3ZlVG9SZWdpc3Rlck1vZGUgPScnO1xyXG4gIEBJbnB1dCgpIHJlcG9uc2liaWxpdHlEYXRhID0geyAvLyBvbmx5IHVzZWQgYnkgbG9nIGFuIGlzc3VlXHJcbiAgICByZXNwb25zaWJpbGl0eUlkOiBudWxsLFxyXG4gICAgcmVzcG9uc2liaWxpdHlOYW1lOiAnJyxcclxuICAgIHJjSWQ6bnVsbFxyXG4gIH07XHJcbiAgQElucHV0KCkgcGlkID0gJyc7XHJcbiAgQElucHV0KCkgcHJvZ3JhbVR5cGU6IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCkgaXNzdWVEYXRhID17XHJcbiAgICBhdWRpdFBsYW5JZCA6IG51bGwsXHJcbiAgICAgIGF1ZGl0UGxhbk5hbWUgIDonJyxcclxuICAgICAgcmNJZDogbnVsbFxyXG4gIH1cclxuICBASW5wdXQoKSBlbnRydXN0QnV0dG9uTmFtZSA9ICdFbnRydXN0J1xyXG5ASW5wdXQoKSBjb25maWcgITogSXNzdWVDb25maWd1cmF0aW9uXHJcbiAgQElucHV0KCkgY29udmVydEZpbGVEYXRhID0ge31cclxuICBASW5wdXQoKSBzZWxlY3RlZENhdGVnb3J5ID0gJydcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRQcm9ncmFtOiBhbnkgPSBudWxsO1xyXG5cclxuICBhbmltYXRpb24gPSB0cnVlO1xyXG4gIHdvcmtmbG93TGlzdCA9IGZhbHNlO1xyXG4gIHNob3dNb3JlT3B0aW9uID0gdHJ1ZTtcclxuICBpc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gdHJ1ZTtcclxuICBkaXNhYmxlV29ya2Zsb3dDaGFuZ2UhOiBib29sZWFuO1xyXG4gIGNoZWNrcG9pbnRDb3VudDogbnVtYmVyID0gMDtcclxuICBjdXJyZW50QnVzaW5lc3NDeWNsZTphbnkgPSAnJztcclxuICBAVmlld0NoaWxkKCdyaXNrJywgeyBzdGF0aWM6IGZhbHNlIH0pIHJpc2tDb21wb25lbnQhOiBXb3JrZmxvd1Jpc2tDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbXVsdGlwbGVSaXNrJywgeyBzdGF0aWM6IGZhbHNlIH0pIHJpc2tCdWxrVXBsb2FkITogQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ211bHRpcGxlUmVzcG9uc2liaWxpdHknLCB7IHN0YXRpYzogZmFsc2UgfSkgcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkITogQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3Jlc3BvbnNpYmlsaXR5JywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbXBsaWFuY2UhOiBXb3JrZmxvd0NvbXBsaWFuY2VDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbW9yZU9wdGlvbicsIHsgc3RhdGljOiBmYWxzZSB9KSBtb3JlT3B0aW9uITogTW9yZU9wdGlvbkNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93blJvdycsIHsgc3RhdGljOiBmYWxzZSB9KSBkcm9wZG93blJvdyE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgncG9saWN5JykgcG9saWN5ITogV29ya2Zsb3dQb2xpY3lDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbG9nQW5Jc3N1ZScpIGxvZ0lzc3VlQ29tcG9uZW50ITogTG9nQW5Jc3N1ZUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdhc3Nlc3NtZW50Jykgd29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50ITogV29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2ltcG9ydEFzc2Vzc21lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgaW1wb3J0QW5Bc3Nlc3NtZW50ITogSW1wb3J0QW5Bc3Nlc3NtZW50Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3Byb2dyYW0nLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJvZ3JhbSAhOiBXb3JrZmxvd1Byb2dyYW1Db21wb25lbnQ7XHJcblxyXG4gIGRyb3Bkb3duTGVmdCE6IGFueTtcclxuICBkcm9wZG93blRvcCE6IGFueTtcclxuICBkcm9wZG93bldpZHRoITogYW55O1xyXG4gIGNsb3NlT25Fc2M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKSBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoW3RoaXMucmlza0NvbXBvbmVudD8uc2hvd1NtaWxleSxcclxuICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LnNob3dTbWlsZXksXHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8uc2hvd1NtaWxleSxcclxuICAgIHRoaXMuY29tcGxpYW5jZT8uc2hvd1NtaWxleSxcclxuICAgIHRoaXMuaW1wb3J0QW5Bc3Nlc3NtZW50Py5zaG93U21pbGV5LFxyXG4gICAgdGhpcy5sb2dJc3N1ZUNvbXBvbmVudD8uc2hvd1NtaWxleV0uaW5jbHVkZXModHJ1ZSkpIHtcclxuICAgICAgLy9EbyBOb3RoaW5nXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlV29ya2Zsb3dFbmdpbmUoKVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGN1cnJlbnRXb3JrZmxvdyAhOiBhbnk7XHJcbiAgd29ya2Zsb3dUeXBlTGlzdDogYW55ID0gW1xyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgYSBSZXNwb25zaWJpbGl0eScsIGNvZGU6ICdDQVInLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ1JFU1BPTlNJQklMSVRZJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgTXVsdGlwbGUgUmVzcG9uc2liaWxpdGllcycsIGNvZGU6ICdDTVInLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ01VTFRJUExFX1JFU1BPTlNJQklMSVRZJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdBZGQgYSBSaXNrJywgY29kZTogJ0FBUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnUklTSycgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQWRkIE11bHRpcGxlIFJpc2tzJywgY29kZTogJ0FNUicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnTVVMVElQTEVfUklTSycgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQ3JlYXRlIGEgUG9saWN5JywgY29kZTogJ0NBUCcsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnUE9MSUNZJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgYSBTdXJ2ZXknLCBjb2RlOiAnQ0FTJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdTVVJWRVknIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0NyZWF0ZSBhIEZvcm0nLCBjb2RlOiAnQ0FGJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdGT1JNJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdMb2cgYW4gSXNzdWUnLCBjb2RlOiAnTEFJJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdJU1NVRScgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQ3JlYXRlIGFuIEFzc2Vzc21lbnQnLCBjb2RlOiAnQUFBJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdBU1NFU1NNRU5UJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdJbXBvcnQgYW4gQXNzZXNzbWVudCcsIGNvZGU6ICdJQUEnLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ0lNUE9SVF9BU1NFU1NNRU5UJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdBZGQgYSBQcm9ncmFtJywgY29kZTogJ0NBUFInLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ1BST0dSQU0nIH1cclxuICBdO1xyXG4gIGFkZGl0aW9uYWxJbmZvcm1hdGlvbkxpc3QgPSBbXHJcbiAgICAnT2JqZWN0aXZlJyxcclxuICAgICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgJ1Jlc3BvbnNpYmlsaXR5IENhdGVnb3J5J1xyXG4gIF07XHJcbiAgY29uZmlybWF0aW9uQWxlcnRDb25maWc6IENvbmZpcm1hdGlvbkFsZXJ0ID0geyBpc1Zpc2libGU6IGZhbHNlIH07XHJcbiAgY2xvc2VXb3JrZmxvd0VuZ2luZShldnQ/OiBhbnkpIHtcclxuICAgIGlmIChldnQ/LmNvbmZpcm0gPT09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VXb3JrZmxvdy5lbWl0KGV2dCA/IGV2dC5ldnQgOiBldnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZUNvbmZpcm0oZXZ0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlQ29uZmlybShldnQ6IGFueSkge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiB0cnVlLCBtZXNzYWdlOiAnSWYgeW91IG5hdmlnYXRlIGF3YXksIGFueSB1bnNhdmVkIGNoYW5nZXMgd2lsbCBiZSBsb3N0LicsIGFjdGlvbjogJ1dPUktGTE9XX0NMT1NFJywgZGF0YTogZXZ0IH07XHJcbiAgfVxyXG4gIGV4ZWN1dGVDbG9zZShldnQ6IGFueSkge1xyXG4gICAgaWYgKGV2dC5hY3Rpb24gPT09ICdZRVMnKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VXb3JrZmxvdy5lbWl0KClcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldE5ldHdvcmtMaXN0bmVyKCk7XHJcbiAgICB0aGlzLnNldFdvcmtmbG93KHRoaXMud29ya2Zsb3dUeXBlLCB0aGlzLndvcmtmbG93VHlwZUxpc3QpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCA1MDApO1xyXG4gICAgdGhpcy5zZXRXb3JrZmxvdyh0aGlzLndvcmtmbG93VHlwZSwgdGhpcy53b3JrZmxvd1R5cGVMaXN0KTtcclxuICAgIHRoaXMuZGVjaWRlVmlld01vcmVPcHRpb24oKTtcclxuICAgIHRoaXMuZmV0Y2hPcmdhbml6YXRpb25EZXRhaWxzKCk7XHJcbiAgfVxyXG5cclxuICBzZXROZXR3b3JrTGlzdG5lcigpIHtcclxuICAgIGFkZEV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCAoZSkgPT4ge1xyXG4gICAgICB0aGlzLnNuYWNrQmFyLnNob3coJ0Nvbm5lY3Rpb24gbG9zdCE8YnI+Q2hlY2sgeW91ciBuZXR3b3JrIGNvbm5lY3Rpdml0eS4nKVxyXG4gICAgfSk7XHJcbiAgICBhZGRFdmVudExpc3RlbmVyKCdvbmxpbmUnLCAoZSkgPT4ge1xyXG4gICAgICB0aGlzLnNuYWNrQmFyLnNob3coJ1lvdVxcJ3JlIGJhY2sgb25saW5lIScpXHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy53b3JrZmxvd1R5cGVMaXN0ID0gdGhpcy53b3JrZmxvd1R5cGVMaXN0LmZpbHRlcigod29ya2Zsb3c6IGFueSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5hbGxvd2VkV29ya2Zsb3dzLmluY2x1ZGVzKHdvcmtmbG93LnBlcm1pc3Npb25JZGVudGlmaWVyKSkge1xyXG4gICAgICAgIHJldHVybiB3b3JrZmxvdztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5vcGVuZWRGcm9tID09PSAnUklTS19UUkVBVE1FTlQnKSB7XHJcbiAgICAgIHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGlzYWJsZVdvcmtmbG93Q2hhbmdlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlY2lkZVZpZXdNb3JlT3B0aW9uKHR5cGU/OiBib29sZWFuKSB7XHJcbiAgICBpZih0eXBlKXtcclxuICAgICAgdGhpcy5jbG9zZU9uRXNjID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoKHRoaXMuY3VycmVudFdvcmtmbG93LmNvZGUgPT09ICdDTVInIHx8IHRoaXMuY3VycmVudFdvcmtmbG93LmNvZGUgPT09ICdBTVInIHx8IHRoaXMuY3VycmVudFdvcmtmbG93LmNvZGUgPT09ICdBQUEnIHx8IHRoaXMuY3VycmVudFdvcmtmbG93LmNvZGUgPT09ICdJQUEnKSkge1xyXG4gICAgICB0aGlzLnNob3dNb3JlT3B0aW9uID0gZmFsc2U7XHJcbiAgICAgIGlmICh0eXBlID09PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5pc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuXHJcbiAgICAgIGlmICh0eXBlID09PSB0cnVlKSB7IHRoaXMuc2hvd01vcmVPcHRpb24gPSBmYWxzZTsgdGhpcy5pc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gZmFsc2U7IH1cclxuICAgICAgaWYgKHR5cGUgPT09IGZhbHNlKSB7IHRoaXMuc2hvd01vcmVPcHRpb24gPSB0cnVlOyB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSB0cnVlOyB9XHJcbiAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLnNob3dNb3JlT3B0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlKSB7XHJcbiAgICAgIGNhc2UgJ0FBUic6XHJcbiAgICAgICAgdGhpcy5yaXNrQ29tcG9uZW50LnN1Ym1pdFJpc2soKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTEFJJzpcclxuICAgICAgICB0aGlzLmxvZ0lzc3VlQ29tcG9uZW50LmFkZElzc3VlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUic6XHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLnN1Ym1pdFJlc3BvbnNpYmlsaXR5KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUCc6XHJcbiAgICAgICAgdGhpcy5wb2xpY3kuc3VibWl0UG9saWN5KCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0FBQSc6XHJcbiAgICAgICAgdGhpcy53b3JrZmxvd0Fzc2Vzc21lbnRDb21wb25lbnQuc3VibWl0QXNzZXNzbWVudCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdDQVBSJzp7XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtLnNhdmVQcm9ncmFtKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgLy8gY2FzZSAnSUFBJzpcclxuICAgICAgLy8gICB0aGlzLmltcG9ydEFuQXNzZXNzbWVudC5zdWJtaXRBc3Nlc3NtZW50KCk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZWRpdFdvcmtmbG93KCkge1xyXG4gICAgdGhpcy53b3JrZmxvd0xpc3QgPSAhdGhpcy53b3JrZmxvd0xpc3Q7XHJcbiAgICBjb25zdCBkcm9wZG93biA9IHRoaXMuZHJvcGRvd24ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHRoaXMuZHJvcGRvd25MZWZ0ID0gZHJvcGRvd24ubGVmdDtcclxuICAgIHRoaXMuZHJvcGRvd25Ub3AgPSBkcm9wZG93bi50b3AgKyBkcm9wZG93bi5oZWlnaHQ7XHJcbiAgICB0aGlzLmRyb3Bkb3duV2lkdGggPSBkcm9wZG93bi53aWR0aDtcclxuICB9XHJcbiAgY2xvc2VXb3JrZmxvd0xpc3QoKSB7XHJcbiAgICB0aGlzLndvcmtmbG93TGlzdCA9IGZhbHNlO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBzaXplQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMud29ya2Zsb3dMaXN0ID0gZmFsc2U7XHJcbiAgfVxyXG4gIGNoYW5nZVdvcmtmbG93KGV2dDogYW55LCBzZWxlY3RlZFdvcmtmbG93OiBhbnkpIHtcclxuICAgIGlmIChzZWxlY3RlZFdvcmtmbG93LmNvZGUgPT09IHRoaXMuY3VycmVudFdvcmtmbG93LmNvZGUpIHsgcmV0dXJuOyB9XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0geyBpc1Zpc2libGU6IHRydWUsIG1lc3NhZ2U6ICdJZiB5b3UgY2hhbmdlIHRoZSB3b3JrZmxvdywgYW55IHVuc2F2ZWQgY2hhbmdlcyB3b3VsZCBiZSBsb3N0LicsIGFjdGlvbjogJ1dPUktGTE9XX0NIQU5HRScsIGRhdGE6IHNlbGVjdGVkV29ya2Zsb3cgfTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1Xb3JrZmxvd0NoYW5nZShldnQ6IGFueSkge1xyXG4gICAgaWYgKGV2dC5hY3Rpb24gPT09ICdZRVMnKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VPbkVzYyA9IHRydWU7XHJcbiAgICAgIHN3aXRjaCAoZXZ0LnBheWxvYWQuYWN0aW9uKSB7XHJcbiAgICAgICAgY2FzZSAnV09SS0ZMT1dfQ0hBTkdFJzpcclxuICAgICAgICAgIHRoaXMuY3VycmVudFdvcmtmbG93ID0gZXZ0Py5wYXlsb2FkPy5kYXRhID8/IG51bGw7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1vcmVPcHRpb24pIHtcclxuICAgICAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ucmVzZXRBbGwodGhpcy5jdXJyZW50V29ya2Zsb3c/LmNvZGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnRURJVF9SSVNLJzpcclxuICAgICAgICAgIHRoaXMucmlza0NvbXBvbmVudC5jcmVhdGVSaXNrKHRoaXMucmlza0NvbXBvbmVudC5yaXNrRm9ybSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdQT0xJQ1lfUE9SVEFMJzpcclxuICAgICAgICAgIHRoaXMucG9saWN5LmNvbmZpcm1Qb2xpY3lQb3J0YWwoZXZ0LmFjdGlvbik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdXT1JLRkxPV19DTE9TRSc6XHJcbiAgICAgICAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdChldnQ/LnBheWxvYWQ/LmRhdGEpXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdjaGVja3BvaW50JzpcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb24uY29kZSA9PT0gJ0FTU0VTU01FTlQnIHx8IG9wdGlvbi5jb2RlID09PSAnQ0hFQ0tQT0lOVFNfTkVXJykge1xyXG4gICAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChvcHRpb24uY29kZSA9PT0gJ0NIRUNLUE9JTlRTJykge1xyXG4gICAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5yZW1vdmVDaGVja3BvaW50KCk7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnUk9MRSc6XHJcbiAgICAgICAgICB0aGlzLnByb2dyYW0ucmVtb3ZlKGV2dC5wYXlsb2FkLmRhdGEsICdST0xFJylcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgY2FzZSAnbmV3LWNoZWNrcG9pbnRzJzpcclxuICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG9wdGlvbi5jb2RlID09PSAnQVNTRVNTTUVOVCcgJiYgIWV2dC5wYXlsb2FkLmlzRGF0YVJlbW92ZWQpIHtcclxuICAgICAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAob3B0aW9uLmNvZGUgPT09ICdDSEVDS1BPSU5UUycgJiYgIWV2dC5wYXlsb2FkLmlzRGF0YVJlbW92ZWQpIHtcclxuICAgICAgICAgICAgb3B0aW9uLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYoZXZ0LnBheWxvYWQuaXNDaGVja3BvaW50Q2hlY2tlZCAmJiBvcHRpb24uY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICAgICAgICBvcHRpb24uY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY29tcGxpYW5jZS5tb3JlT3B0aW9ucy5DSEVDS1BPSU5UU19ORVcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLnJlbW92ZSgnbmV3LWNoZWNrcG9pbnRzJylcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzd2l0Y2ggKGV2dC5wYXlsb2FkLmFjdGlvbikge1xyXG4gICAgICAgIGNhc2UgJ1BPTElDWV9QT1JUQUwnOlxyXG4gICAgICAgICAgdGhpcy5wb2xpY3kuY29uZmlybVBvbGljeVBvcnRhbChldnQuYWN0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2hvd01vcmVPcHRpb24gPSBmYWxzZVxyXG4gICAgfVxyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiBmYWxzZSwgbWVzc2FnZTogJycsIGFjdGlvbjogJycsIGRhdGE6IG51bGwgfTtcclxuICAgIHRoaXMuZGVjaWRlVmlld01vcmVPcHRpb24oZXZ0LmFjdGlvbiA9PT0gJ1lFUycgPyBmYWxzZSA6IHRydWUpO1xyXG4gICAgcmV0dXJuIGV2dDtcclxuICB9XHJcblxyXG4gIHNldFdvcmtmbG93KHdvcmtGbG93Q29kZTogYW55LCB3b3JrRmxvd0xpc3Q6IGFueSkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRXb3JrZmxvdyA9IHdvcmtGbG93TGlzdC5maW5kKChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQuY29kZSA9PT0gd29ya0Zsb3dDb2RlKTtcclxuICAgIHNlbGVjdGVkV29ya2Zsb3cgPyB0aGlzLmN1cnJlbnRXb3JrZmxvdyA9IHNlbGVjdGVkV29ya2Zsb3cgOiB0aGlzLmN1cnJlbnRXb3JrZmxvdyA9IG51bGw7XHJcbiAgICByZXR1cm4gc2VsZWN0ZWRXb3JrZmxvdztcclxuICB9XHJcblxyXG4gIGFkZE1vcmVJbmZvKGV2ZW50OiBhbnkpIHtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50V29ya2Zsb3c/LmNvZGUpIHtcclxuICAgICAgY2FzZSAnQUFSJzpcclxuICAgICAgICB0aGlzLnJpc2tDb21wb25lbnQuYWRkTW9yZUluZm8oZXZlbnQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdMQUknOlxyXG4gICAgICAgIHRoaXMubG9nSXNzdWVDb21wb25lbnQuYWRkTW9yZUluZm8oZXZlbnQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnQ0FSJzpcclxuICAgICAgICBpZiAoZXZlbnQuY29kZSA9PT0gXCJDSEVDS1BPSU5UU1wiKSB7XHJcbiAgICAgICAgICB0aGlzLm9uUmVtb3ZpbmdDaGVja3BvaW50KCdjaGVja3BvaW50Jyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZXZlbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpe1xyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuY29kZSA9PT0gJ0FTU0VTU01FTlQnKTtcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSW2luZGV4XS5pc0Rpc2FibGVkID0gZXZlbnQuY2hlY2tlZCA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICAgIGlmKCBldmVudC5jaGVja3BvaW50X25ldyAmJiB0aGlzLmNoZWNrcG9pbnRDb3VudCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uUmVtb3ZpbmdDaGVja3BvaW50KCduZXctY2hlY2twb2ludHMnLCB0cnVlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IENIRUNLUE9JTlRfSU5ERVggPSB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBsaWFuY2UubW9yZU9wdGlvbnMuQ0hFQ0tQT0lOVFNfTkVXID0gZXZlbnQuY2hlY2tlZDtcclxuICAgICAgICAgICAgaWYoZXZlbnQuY2hlY2twb2ludF9uZXcpIHtcclxuICAgICAgICAgICAgICBjb25zdCBpc0NoZWNrZWQgPSBldmVudC5jaGVja2VkID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICAgICAgICAgICBldmVudC5jaGVja2VkID0gaXNDaGVja2VkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUltDSEVDS1BPSU5UX0lOREVYXSA9IGV2ZW50O1xyXG4gICAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUltpbmRleF0uaXNEaXNhYmxlZCA9IGV2ZW50LmNoZWNrZWRcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZXZlbnQuY29kZSA9PT0gJ0FTU0VTU01FTlQnKXtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVIuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKTtcclxuICAgICAgICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSW2luZGV4XS5pc0Rpc2FibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlLmFkZE1vcmVJbmZvKGV2ZW50KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ0FQJzpcclxuICAgICAgICB0aGlzLnBvbGljeS5hZGRNb3JlSW5mbyhldmVudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUFInOlxyXG4gICAgICAgIHRoaXMucHJvZ3JhbS5hZGRNb3JlSW5mbyhldmVudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZU1vcmVPcHRpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMubW9yZU9wdGlvbikge1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb24ucG9wdWxhdGUoZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgaGlkZUVsZW1lbnRzRnJvbU1vcmVPcHRpb25zKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMubW9yZU9wdGlvbj8uaGlkZUVsZW1lbnRzKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHNob3dDb25maXJtYXRpb25Qb3B1cChjb25maWc6IENvbmZpcm1hdGlvbkFsZXJ0KSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0gY29uZmlnO1xyXG4gIH1cclxuXHJcbiAgYnVsa1VwbG9hZEJyb3dzZShldmVudDogYW55KSB7XHJcbiAgICBzd2l0Y2ggKGV2ZW50KSB7XHJcbiAgICAgIGNhc2UgJ0FNUic6XHJcbiAgICAgICAgdGhpcy5yaXNrQnVsa1VwbG9hZC50cmlnZ2VyQnJvd3NlRmlsZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdDTVInOlxyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkLnRyaWdnZXJCcm93c2VGaWxlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0lBQSc6XHJcbiAgICAgICAgdGhpcy5pbXBvcnRBbkFzc2Vzc21lbnQudHJpZ2dlckJyb3dzZUZpbGUoKTtcclxuXHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIG9uUmVzZXRGb3JtKCkge1xyXG4gICAgdGhpcy5tb2RlID0gJ0NSRUFURSc7XHJcbiAgICB0aGlzLmVudHJ1c3RCdXR0b25OYW1lID0gJ0VudHJ1c3QnO1xyXG4gIH1cclxuICBzaGlmdFRvRWRpdE1vZGUoKSB7XHJcbiAgICB0aGlzLm1vZGUgPSAnRURJVCdcclxuICB9XHJcbiAgc2Nyb2xsRm9ybSgpIHtcclxuICAgIGlmICh0aGlzLmRyb3Bkb3duUm93Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIDwgMzgpIHtcclxuICAgICAgdGhpcy5kcm9wZG93blJvdy5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2hpZGUnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Sb3cubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdoaWRlJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBldmVudCB3aGljaCBtb3JlIG9wdGlvbnMgd2UgYXJlIHJlbW92aW5nLlxyXG4gICAqIEBwYXJhbSBpc0NoZWNrcG9pbnRDaGVja2VkICBpcyB0cnVlIGlmIHZhbHVlIGNoZWNrcG9pbnRzIGlzIHJlbW92ZWQgYnkgY2xpY2tpbmcgb24gbW9yZSBvcHRpb25zXHJcbiAgICovXHJcbiAgb25SZW1vdmluZ0NoZWNrcG9pbnQoZXZlbnQ6IHN0cmluZywgaXNDaGVja3BvaW50Q2hlY2tlZD86IGJvb2xlYW4sIGlzRGF0YVJlbW92ZWQ/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBsZXQgbXNnID0gJyc7XHJcbiAgICBpZihldmVudCA9PT0gJ25ldy1jaGVja3BvaW50cycpIHtcclxuICAgICAgbXNnID0gJ0lmIHlvdSBjaG9vc2UgdG8gcmVtb3ZlIHRoZXNlIENoZWNrcG9pbnRzLCB0aGV5IHdpbGwgYmUgZGVsZXRlZCBhbmQgY2Fubm90IGJlIHJlc3RvcmVkLiBIb3dldmVyLCB5b3Ugd2lsbCBzdGlsbCBiZSBhYmxlIHRvIGNyZWF0ZSBuZXcgQ2hlY2twb2ludHMgb3IgbGluayBhbiBBc3Nlc3NtZW50LidcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG1zZyA9ICdJZiB5b3UgY2hvb3NlIHRvIHJlbW92ZSB0aGVzZSBjaGVja3BvaW50cywgdGhleSB3aWxsIGJlIGRlbGV0ZWQgYW5kIGNhbm5vdCBiZSByZXN0b3JlZC4nXHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnID0geyBpc1Zpc2libGU6IHRydWUsIG1lc3NhZ2U6IG1zZywgYWN0aW9uOiBldmVudCwgZGF0YTogeyB0eXBlOiAncmVzcG9uc2liaWxpdHlDaGVja3BvaW50JyB9ICwgaXNDaGVja3BvaW50Q2hlY2tlZDogKGlzQ2hlY2twb2ludENoZWNrZWQgPz8gZmFsc2UpLCBpc0RhdGFSZW1vdmVkOiAoaXNEYXRhUmVtb3ZlZCA/PyBmYWxzZSl9O1xyXG4gIH1cclxuXHJcbiAgb25SZW1vdmluZ1JvbGUoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgbGV0IG1zZyA9ICcnO1xyXG4gICAgaWYoZXZlbnQpIHtcclxuICAgICAgbXNnID0gJ0lmIHlvdSBjaGFuZ2UgdGhlIHJvbGVzLCBhbnkgdW5zYXZlZCBjaGFuZ2VzIHdvdWxkIGJlIGxvc3QuJ1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiB0cnVlLCBtZXNzYWdlOiBtc2csIGFjdGlvbjogJ1JPTEUnLCBkYXRhOiBldmVudH1cclxuICB9XHJcblxyXG4gIGlzQXNzZXNzbWVudERpc2FibGVkKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgIGlmIChvcHRpb24uY29kZSA9PT0gJ0FTU0VTU01FTlQnIHx8IG9wdGlvbi5jb2RlID09PSAnQ0hFQ0tQT0lOVFNfTkVXJykge1xyXG4gICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrcG9pbnRTZWxlY3Rpb24oZXZlbnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5jaGVja3BvaW50Q291bnQgPSBldmVudDtcclxuXHJcbiAgfVxyXG5cclxuICBvblJjU2VsZWN0ZWQoaXNSY1NlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzUkNTZWxlY3RlZCA9IGlzUmNTZWxlY3RlZDtcclxuICB9XHJcblxyXG4gIGZldGNoT3JnYW5pemF0aW9uRGV0YWlscygpe1xyXG4gICAgdGhpcy5hdXRoLmdldE9yZ2FuaXphdGlvbkRldGFpbHMoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihyZXM6YW55KT0+e1xyXG4gICAgICAgIGlmKHJlcz8uYnVzaW5lc3NfY3ljbGVzX2FyciAmJiByZXM/LmJ1c2luZXNzX2N5Y2xlc19hcnI/Lmxlbmd0aCl7XHJcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHJlcz8uYnVzaW5lc3NfY3ljbGVzX2Fyci5maWx0ZXIoKGVsZTphbnkpID0+IGVsZT8uc2VsZWN0ZWQpO1xyXG4gICAgICAgICAgY29uc3Qgc3BsaXR0ZWQgPSBzZWxlY3RlZFswXS5idXNpbmVzc19jeWNsZT8uc3BsaXQoJy0nKTtcclxuICAgICAgICAgdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZSA9IGAke3NwbGl0dGVkWzBdPy5zbGljZSgyKX0gLSAke3NwbGl0dGVkWzFdPy5zbGljZSg0KX1gXHJcbiAgICAgICAgfX1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
455
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyL3dvcmtmbG93LWVuZ2luZS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFVbkUsTUFBTSxPQUFPLGdDQUFnQztJQWUzQyxZQUFtQixZQUEwQixFQUFVLFFBQXlCLEVBQVMsSUFBaUI7UUFBdkYsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQWE7UUFiMUcsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBY1gsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNoQixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsZUFBVSxHQUFHLFFBQVEsQ0FBQztRQUNyQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMscUJBQWdCLEdBQVEsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztRQUM1RSxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLEVB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QUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJpc2tDb21wb25lbnQgfSBmcm9tICcuLi9hZGQtbXVsdGlwbGUtcmlzay9hZGQtbXVsdGlwbGUtcmlzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25BbGVydCB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlybWF0aW9uLWFsZXJ0JztcclxuaW1wb3J0IHsgSXNzdWVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pc3N1ZS1kYXRhJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWFzc2Vzc21lbnQvd29ya2Zsb3ctYXNzZXNzbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbXBvcnRBbkFzc2Vzc21lbnRDb21wb25lbnQgfSBmcm9tICcuLi93b3JrZmxvdy1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93Q29tcGxpYW5jZUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LWNvbXBsaWFuY2Uvd29ya2Zsb3ctY29tcGxpYW5jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1BvbGljeUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXBvbGljeS93b3JrZmxvdy1wb2xpY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dSaXNrQ29tcG9uZW50IH0gZnJvbSAnLi4vd29ya2Zsb3ctcmlzay93b3JrZmxvdy1yaXNrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlLaXRTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvdWkta2l0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dBbklzc3VlQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9sb2ctYW4taXNzdWUvbG9nLWFuLWlzc3VlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vcmVPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLy4uL21vcmUtb3B0aW9uL21vcmUtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93UHJvZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4uL3dvcmtmbG93LXByb2dyYW0vd29ya2Zsb3ctcHJvZ3JhbS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdmNvbXBseS13b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQubGVzcycsICcuLi9mb3Jtcy5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIGlzSG9zdFJlZnJlc2hBY3RpdmUgPSB0cnVlO1xyXG4gIGlzUkNTZWxlY3RlZCA9IGZhbHNlXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcsIFsnJGV2ZW50J10pXHJcbiAgdW5sb2FkTm90aWZpY2F0aW9uKCRldmVudDogYW55KSB7XHJcbiAgICBjb25zdCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpXHJcbiAgICBpZiAodGhpcy5pc0hvc3RSZWZyZXNoQWN0aXZlICYmIHRva2VuKSB7XHJcbiAgICAgICRldmVudC5yZXR1cm5WYWx1ZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdWlLaXRTZXJ2aWNlOiBVaUtpdFNlcnZpY2UsIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSwgcHVibGljIGF1dGg6IEF1dGhTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHdvcmtmbG93VHlwZSA9ICcnO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJztcclxuICBASW5wdXQoKSBpZCA9ICcnO1xyXG4gIEBJbnB1dCgpIG9wZW5lZEZyb20gPSAnR0xPQkFMJztcclxuICBAT3V0cHV0KCkgY2xvc2VXb3JrZmxvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBhbGxvd2VkV29ya2Zsb3dzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBmcmFtZXdvcmtEZXRhaWxzOiBBcnJheTxhbnk+ID0gW107IC8vIG9ubHkgZm9yIGNvbXBsaWFuY2UgcGFydCBmb3IgZnJhbWV3b3JrXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSQyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNlY29uZGFyeU9wZW5Qb3J0YWwgPSAnJztcclxuICBASW5wdXQoKSBkZWZhdWx0Umlza1R5cGUgPSAnTk9STUFMJztcclxuICBASW5wdXQoKSBtb3ZlVG9SZWdpc3Rlck1vZGUgPScnO1xyXG4gIEBJbnB1dCgpIHJlcG9uc2liaWxpdHlEYXRhID0geyAvLyBvbmx5IHVzZWQgYnkgbG9nIGFuIGlzc3VlXHJcbiAgICByZXNwb25zaWJpbGl0eUlkOiBudWxsLFxyXG4gICAgcmVzcG9uc2liaWxpdHlOYW1lOiAnJyxcclxuICAgIHJjSWQ6bnVsbFxyXG4gIH07XHJcbiAgQElucHV0KCkgcGlkID0gJyc7XHJcbiAgQElucHV0KCkgcHJvZ3JhbVR5cGU6IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCkgaXNzdWVEYXRhID17XHJcbiAgICBhdWRpdFBsYW5JZCA6IG51bGwsXHJcbiAgICAgIGF1ZGl0UGxhbk5hbWUgIDonJyxcclxuICAgICAgcmNJZDogbnVsbFxyXG4gIH1cclxuICBASW5wdXQoKSBlbnRydXN0QnV0dG9uTmFtZSA9ICdFbnRydXN0J1xyXG5ASW5wdXQoKSBjb25maWcgITogSXNzdWVDb25maWd1cmF0aW9uXHJcbiAgQElucHV0KCkgY29udmVydEZpbGVEYXRhID0ge31cclxuICBASW5wdXQoKSBzZWxlY3RlZENhdGVnb3J5ID0gJydcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRQcm9ncmFtOiBhbnkgPSBudWxsO1xyXG5cclxuICBhbmltYXRpb24gPSB0cnVlO1xyXG4gIHdvcmtmbG93TGlzdCA9IGZhbHNlO1xyXG4gIHNob3dNb3JlT3B0aW9uID0gdHJ1ZTtcclxuICBpc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gdHJ1ZTtcclxuICBkaXNhYmxlV29ya2Zsb3dDaGFuZ2UhOiBib29sZWFuO1xyXG4gIGNoZWNrcG9pbnRDb3VudDogbnVtYmVyID0gMDtcclxuICBjdXJyZW50QnVzaW5lc3NDeWNsZTphbnkgPSAnJztcclxuICBAVmlld0NoaWxkKCdyaXNrJywgeyBzdGF0aWM6IGZhbHNlIH0pIHJpc2tDb21wb25lbnQhOiBXb3JrZmxvd1Jpc2tDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbXVsdGlwbGVSaXNrJywgeyBzdGF0aWM6IGZhbHNlIH0pIHJpc2tCdWxrVXBsb2FkITogQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ211bHRpcGxlUmVzcG9uc2liaWxpdHknLCB7IHN0YXRpYzogZmFsc2UgfSkgcmVzcG9uc2liaWxpdHlCdWxrVXBsb2FkITogQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3Jlc3BvbnNpYmlsaXR5JywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbXBsaWFuY2UhOiBXb3JrZmxvd0NvbXBsaWFuY2VDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbW9yZU9wdGlvbicsIHsgc3RhdGljOiBmYWxzZSB9KSBtb3JlT3B0aW9uITogTW9yZU9wdGlvbkNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93blJvdycsIHsgc3RhdGljOiBmYWxzZSB9KSBkcm9wZG93blJvdyE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgncG9saWN5JykgcG9saWN5ITogV29ya2Zsb3dQb2xpY3lDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnbG9nQW5Jc3N1ZScpIGxvZ0lzc3VlQ29tcG9uZW50ITogTG9nQW5Jc3N1ZUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdhc3Nlc3NtZW50Jykgd29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50ITogV29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2ltcG9ydEFzc2Vzc21lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgaW1wb3J0QW5Bc3Nlc3NtZW50ITogSW1wb3J0QW5Bc3Nlc3NtZW50Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3Byb2dyYW0nLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJvZ3JhbSAhOiBXb3JrZmxvd1Byb2dyYW1Db21wb25lbnQ7XHJcblxyXG4gIGRyb3Bkb3duTGVmdCE6IGFueTtcclxuICBkcm9wZG93blRvcCE6IGFueTtcclxuICBkcm9wZG93bldpZHRoITogYW55O1xyXG4gIGNsb3NlT25Fc2M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKSBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoW3RoaXMucmlza0NvbXBvbmVudD8uc2hvd1NtaWxleSxcclxuICAgIHRoaXMucmlza0J1bGtVcGxvYWQ/LnNob3dTbWlsZXksXHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZD8uc2hvd1NtaWxleSxcclxuICAgIHRoaXMuY29tcGxpYW5jZT8uc2hvd1NtaWxleSxcclxuICAgIHRoaXMuaW1wb3J0QW5Bc3Nlc3NtZW50Py5zaG93U21pbGV5LFxyXG4gICAgdGhpcy5sb2dJc3N1ZUNvbXBvbmVudD8uc2hvd1NtaWxleV0uaW5jbHVkZXModHJ1ZSkgfHwgdGhpcy5wcm9ncmFtLmFjdGl2ZUxpc3QgIT09ICcnKSB7XHJcbiAgICAgIC8vRG8gTm90aGluZ1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZVdvcmtmbG93RW5naW5lKClcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBjdXJyZW50V29ya2Zsb3cgITogYW55O1xyXG4gIHdvcmtmbG93VHlwZUxpc3Q6IGFueSA9IFtcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQ3JlYXRlIGEgUmVzcG9uc2liaWxpdHknLCBjb2RlOiAnQ0FSJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdSRVNQT05TSUJJTElUWScgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQ3JlYXRlIE11bHRpcGxlIFJlc3BvbnNpYmlsaXRpZXMnLCBjb2RlOiAnQ01SJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdNVUxUSVBMRV9SRVNQT05TSUJJTElUWScgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQWRkIGEgUmlzaycsIGNvZGU6ICdBQVInLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ1JJU0snIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0FkZCBNdWx0aXBsZSBSaXNrcycsIGNvZGU6ICdBTVInLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ01VTFRJUExFX1JJU0snIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0NyZWF0ZSBhIFBvbGljeScsIGNvZGU6ICdDQVAnLCBwZXJtaXNzaW9uSWRlbnRpZmllcjogJ1BPTElDWScgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQ3JlYXRlIGEgU3VydmV5JywgY29kZTogJ0NBUycsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnU1VSVkVZJyB9LFxyXG4gICAgeyB3b3JrZmxvd05hbWU6ICdDcmVhdGUgYSBGb3JtJywgY29kZTogJ0NBRicsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnRk9STScgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnTG9nIGFuIElzc3VlJywgY29kZTogJ0xBSScsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnSVNTVUUnIH0sXHJcbiAgICB7IHdvcmtmbG93TmFtZTogJ0NyZWF0ZSBhbiBBc3Nlc3NtZW50JywgY29kZTogJ0FBQScsIHBlcm1pc3Npb25JZGVudGlmaWVyOiAnQVNTRVNTTUVOVCcgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnSW1wb3J0IGFuIEFzc2Vzc21lbnQnLCBjb2RlOiAnSUFBJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdJTVBPUlRfQVNTRVNTTUVOVCcgfSxcclxuICAgIHsgd29ya2Zsb3dOYW1lOiAnQWRkIGEgUHJvZ3JhbScsIGNvZGU6ICdDQVBSJywgcGVybWlzc2lvbklkZW50aWZpZXI6ICdQUk9HUkFNJyB9XHJcbiAgXTtcclxuICBhZGRpdGlvbmFsSW5mb3JtYXRpb25MaXN0ID0gW1xyXG4gICAgJ09iamVjdGl2ZScsXHJcbiAgICAnUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICdSZXNwb25zaWJpbGl0eSBDYXRlZ29yeSdcclxuICBdO1xyXG4gIGNvbmZpcm1hdGlvbkFsZXJ0Q29uZmlnOiBDb25maXJtYXRpb25BbGVydCA9IHsgaXNWaXNpYmxlOiBmYWxzZSB9O1xyXG4gIGNsb3NlV29ya2Zsb3dFbmdpbmUoZXZ0PzogYW55KSB7XHJcbiAgICBpZiAoZXZ0Py5jb25maXJtID09PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdChldnQgPyBldnQuZXZ0IDogZXZ0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xvc2VDb25maXJtKGV2dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZUNvbmZpcm0oZXZ0OiBhbnkpIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSB7IGlzVmlzaWJsZTogdHJ1ZSwgbWVzc2FnZTogJ0lmIHlvdSBuYXZpZ2F0ZSBhd2F5LCBhbnkgdW5zYXZlZCBjaGFuZ2VzIHdpbGwgYmUgbG9zdC4nLCBhY3Rpb246ICdXT1JLRkxPV19DTE9TRScsIGRhdGE6IGV2dCB9O1xyXG4gIH1cclxuICBleGVjdXRlQ2xvc2UoZXZ0OiBhbnkpIHtcclxuICAgIGlmIChldnQuYWN0aW9uID09PSAnWUVTJykge1xyXG4gICAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdCgpXHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXROZXR3b3JrTGlzdG5lcigpO1xyXG4gICAgdGhpcy5zZXRXb3JrZmxvdyh0aGlzLndvcmtmbG93VHlwZSwgdGhpcy53b3JrZmxvd1R5cGVMaXN0KTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgNTAwKTtcclxuICAgIHRoaXMuc2V0V29ya2Zsb3codGhpcy53b3JrZmxvd1R5cGUsIHRoaXMud29ya2Zsb3dUeXBlTGlzdCk7XHJcbiAgICB0aGlzLmRlY2lkZVZpZXdNb3JlT3B0aW9uKCk7XHJcbiAgICB0aGlzLmZldGNoT3JnYW5pemF0aW9uRGV0YWlscygpO1xyXG4gIH1cclxuXHJcbiAgc2V0TmV0d29ya0xpc3RuZXIoKSB7XHJcbiAgICBhZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdDb25uZWN0aW9uIGxvc3QhPGJyPkNoZWNrIHlvdXIgbmV0d29yayBjb25uZWN0aXZpdHkuJylcclxuICAgIH0pO1xyXG4gICAgYWRkRXZlbnRMaXN0ZW5lcignb25saW5lJywgKGUpID0+IHtcclxuICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdZb3VcXCdyZSBiYWNrIG9ubGluZSEnKVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMud29ya2Zsb3dUeXBlTGlzdCA9IHRoaXMud29ya2Zsb3dUeXBlTGlzdC5maWx0ZXIoKHdvcmtmbG93OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHRoaXMuYWxsb3dlZFdvcmtmbG93cy5pbmNsdWRlcyh3b3JrZmxvdy5wZXJtaXNzaW9uSWRlbnRpZmllcikpIHtcclxuICAgICAgICByZXR1cm4gd29ya2Zsb3c7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMub3BlbmVkRnJvbSA9PT0gJ1JJU0tfVFJFQVRNRU5UJykge1xyXG4gICAgICB0aGlzLmlzV29ya2Zsb3dTZWxlY3RvckVuYWJsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRpc2FibGVXb3JrZmxvd0NoYW5nZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWNpZGVWaWV3TW9yZU9wdGlvbih0eXBlPzogYm9vbGVhbikge1xyXG4gICAgaWYodHlwZSl7XHJcbiAgICAgIHRoaXMuY2xvc2VPbkVzYyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKCh0aGlzLmN1cnJlbnRXb3JrZmxvdy5jb2RlID09PSAnQ01SJyB8fCB0aGlzLmN1cnJlbnRXb3JrZmxvdy5jb2RlID09PSAnQU1SJyB8fCB0aGlzLmN1cnJlbnRXb3JrZmxvdy5jb2RlID09PSAnQUFBJyB8fCB0aGlzLmN1cnJlbnRXb3JrZmxvdy5jb2RlID09PSAnSUFBJykpIHtcclxuICAgICAgdGhpcy5zaG93TW9yZU9wdGlvbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodHlwZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICBpZiAodHlwZSA9PT0gdHJ1ZSkgeyB0aGlzLnNob3dNb3JlT3B0aW9uID0gZmFsc2U7IHRoaXMuaXNXb3JrZmxvd1NlbGVjdG9yRW5hYmxlZCA9IGZhbHNlOyB9XHJcbiAgICAgIGlmICh0eXBlID09PSBmYWxzZSkgeyB0aGlzLnNob3dNb3JlT3B0aW9uID0gdHJ1ZTsgdGhpcy5pc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gdHJ1ZTsgfVxyXG4gICAgICBpZiAodHlwZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5zaG93TW9yZU9wdGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pc1dvcmtmbG93U2VsZWN0b3JFbmFibGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3VibWl0KCkge1xyXG4gICAgc3dpdGNoICh0aGlzLmN1cnJlbnRXb3JrZmxvdz8uY29kZSkge1xyXG4gICAgICBjYXNlICdBQVInOlxyXG4gICAgICAgIHRoaXMucmlza0NvbXBvbmVudC5zdWJtaXRSaXNrKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xBSSc6XHJcbiAgICAgICAgdGhpcy5sb2dJc3N1ZUNvbXBvbmVudC5hZGRJc3N1ZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdDQVInOlxyXG4gICAgICAgIHRoaXMuY29tcGxpYW5jZS5zdWJtaXRSZXNwb25zaWJpbGl0eSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdDQVAnOlxyXG4gICAgICAgIHRoaXMucG9saWN5LnN1Ym1pdFBvbGljeSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdBQUEnOlxyXG4gICAgICAgIHRoaXMud29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50LnN1Ym1pdEFzc2Vzc21lbnQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ0FQUic6e1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbS5zYXZlUHJvZ3JhbSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGNhc2UgJ0lBQSc6XHJcbiAgICAgIC8vICAgdGhpcy5pbXBvcnRBbkFzc2Vzc21lbnQuc3VibWl0QXNzZXNzbWVudCgpO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVkaXRXb3JrZmxvdygpIHtcclxuICAgIHRoaXMud29ya2Zsb3dMaXN0ID0gIXRoaXMud29ya2Zsb3dMaXN0O1xyXG4gICAgY29uc3QgZHJvcGRvd24gPSB0aGlzLmRyb3Bkb3duLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICB0aGlzLmRyb3Bkb3duTGVmdCA9IGRyb3Bkb3duLmxlZnQ7XHJcbiAgICB0aGlzLmRyb3Bkb3duVG9wID0gZHJvcGRvd24udG9wICsgZHJvcGRvd24uaGVpZ2h0O1xyXG4gICAgdGhpcy5kcm9wZG93bldpZHRoID0gZHJvcGRvd24ud2lkdGg7XHJcbiAgfVxyXG4gIGNsb3NlV29ya2Zsb3dMaXN0KCkge1xyXG4gICAgdGhpcy53b3JrZmxvd0xpc3QgPSBmYWxzZTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgc2l6ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLndvcmtmbG93TGlzdCA9IGZhbHNlO1xyXG4gIH1cclxuICBjaGFuZ2VXb3JrZmxvdyhldnQ6IGFueSwgc2VsZWN0ZWRXb3JrZmxvdzogYW55KSB7XHJcbiAgICBpZiAoc2VsZWN0ZWRXb3JrZmxvdy5jb2RlID09PSB0aGlzLmN1cnJlbnRXb3JrZmxvdy5jb2RlKSB7IHJldHVybjsgfVxyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiB0cnVlLCBtZXNzYWdlOiAnSWYgeW91IGNoYW5nZSB0aGUgd29ya2Zsb3csIGFueSB1bnNhdmVkIGNoYW5nZXMgd291bGQgYmUgbG9zdC4nLCBhY3Rpb246ICdXT1JLRkxPV19DSEFOR0UnLCBkYXRhOiBzZWxlY3RlZFdvcmtmbG93IH07XHJcbiAgfVxyXG5cclxuICBjb25maXJtV29ya2Zsb3dDaGFuZ2UoZXZ0OiBhbnkpIHtcclxuICAgIGlmIChldnQuYWN0aW9uID09PSAnWUVTJykge1xyXG4gICAgICB0aGlzLmNsb3NlT25Fc2MgPSB0cnVlO1xyXG4gICAgICBzd2l0Y2ggKGV2dC5wYXlsb2FkLmFjdGlvbikge1xyXG4gICAgICAgIGNhc2UgJ1dPUktGTE9XX0NIQU5HRSc6XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRXb3JrZmxvdyA9IGV2dD8ucGF5bG9hZD8uZGF0YSA/PyBudWxsO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRXb3JrZmxvdz8uY29kZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tb3JlT3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5tb3JlT3B0aW9uLnJlc2V0QWxsKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ0VESVRfUklTSyc6XHJcbiAgICAgICAgICB0aGlzLnJpc2tDb21wb25lbnQuY3JlYXRlUmlzayh0aGlzLnJpc2tDb21wb25lbnQucmlza0Zvcm0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnUE9MSUNZX1BPUlRBTCc6XHJcbiAgICAgICAgICB0aGlzLnBvbGljeS5jb25maXJtUG9saWN5UG9ydGFsKGV2dC5hY3Rpb24pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnV09SS0ZMT1dfQ0xPU0UnOlxyXG4gICAgICAgICAgdGhpcy5jbG9zZVdvcmtmbG93LmVtaXQoZXZ0Py5wYXlsb2FkPy5kYXRhKVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnY2hlY2twb2ludCc6XHJcbiAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAob3B0aW9uLmNvZGUgPT09ICdBU1NFU1NNRU5UJyB8fCBvcHRpb24uY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICAgICAgICBvcHRpb24uaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAob3B0aW9uLmNvZGUgPT09ICdDSEVDS1BPSU5UUycpIHtcclxuICAgICAgICAgICAgICBvcHRpb24uaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICB0aGlzLmNvbXBsaWFuY2UucmVtb3ZlQ2hlY2twb2ludCgpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgJ1JPTEUnOlxyXG4gICAgICAgICAgdGhpcy5wcm9ncmFtLnJlbW92ZShldnQucGF5bG9hZC5kYXRhLCAnUk9MRScpXHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgJ25ldy1jaGVja3BvaW50cyc6XHJcbiAgICAgICAgdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVIuZm9yRWFjaCgob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChvcHRpb24uY29kZSA9PT0gJ0FTU0VTU01FTlQnICYmICFldnQucGF5bG9hZC5pc0RhdGFSZW1vdmVkKSB7XHJcbiAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKG9wdGlvbi5jb2RlID09PSAnQ0hFQ0tQT0lOVFMnICYmICFldnQucGF5bG9hZC5pc0RhdGFSZW1vdmVkKSB7XHJcbiAgICAgICAgICAgIG9wdGlvbi5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmKGV2dC5wYXlsb2FkLmlzQ2hlY2twb2ludENoZWNrZWQgJiYgb3B0aW9uLmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKSB7XHJcbiAgICAgICAgICAgICAgb3B0aW9uLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmNvbXBsaWFuY2UubW9yZU9wdGlvbnMuQ0hFQ0tQT0lOVFNfTkVXID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuY29tcGxpYW5jZS5yZW1vdmUoJ25ldy1jaGVja3BvaW50cycpXHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3dpdGNoIChldnQucGF5bG9hZC5hY3Rpb24pIHtcclxuICAgICAgICBjYXNlICdQT0xJQ1lfUE9SVEFMJzpcclxuICAgICAgICAgIHRoaXMucG9saWN5LmNvbmZpcm1Qb2xpY3lQb3J0YWwoZXZ0LmFjdGlvbik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiBmYWxzZSwgbWVzc2FnZTogJycsIGFjdGlvbjogJycsIGRhdGE6IG51bGwgfTtcclxuICAgIHJldHVybiBldnQ7XHJcbiAgfVxyXG5cclxuICBzZXRXb3JrZmxvdyh3b3JrRmxvd0NvZGU6IGFueSwgd29ya0Zsb3dMaXN0OiBhbnkpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkV29ya2Zsb3cgPSB3b3JrRmxvd0xpc3QuZmluZCgoZWxlbWVudDogYW55KSA9PiBlbGVtZW50LmNvZGUgPT09IHdvcmtGbG93Q29kZSk7XHJcbiAgICBzZWxlY3RlZFdvcmtmbG93ID8gdGhpcy5jdXJyZW50V29ya2Zsb3cgPSBzZWxlY3RlZFdvcmtmbG93IDogdGhpcy5jdXJyZW50V29ya2Zsb3cgPSBudWxsO1xyXG4gICAgcmV0dXJuIHNlbGVjdGVkV29ya2Zsb3c7XHJcbiAgfVxyXG5cclxuICBhZGRNb3JlSW5mbyhldmVudDogYW55KSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudFdvcmtmbG93Py5jb2RlKSB7XHJcbiAgICAgIGNhc2UgJ0FBUic6XHJcbiAgICAgICAgdGhpcy5yaXNrQ29tcG9uZW50LmFkZE1vcmVJbmZvKGV2ZW50KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTEFJJzpcclxuICAgICAgICB0aGlzLmxvZ0lzc3VlQ29tcG9uZW50LmFkZE1vcmVJbmZvKGV2ZW50KTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ0NBUic6XHJcbiAgICAgICAgaWYgKGV2ZW50LmNvZGUgPT09IFwiQ0hFQ0tQT0lOVFNcIikge1xyXG4gICAgICAgICAgdGhpcy5vblJlbW92aW5nQ2hlY2twb2ludCgnY2hlY2twb2ludCcpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGV2ZW50LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKXtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVIuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmNvZGUgPT09ICdBU1NFU1NNRU5UJyk7XHJcbiAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUltpbmRleF0uaXNEaXNhYmxlZCA9IGV2ZW50LmNoZWNrZWQgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgICBpZiggZXZlbnQuY2hlY2twb2ludF9uZXcgJiYgdGhpcy5jaGVja3BvaW50Q291bnQpIHtcclxuICAgICAgICAgICAgdGhpcy5vblJlbW92aW5nQ2hlY2twb2ludCgnbmV3LWNoZWNrcG9pbnRzJywgdHJ1ZSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBDSEVDS1BPSU5UX0lOREVYID0gdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVIuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKTtcclxuICAgICAgICAgICAgdGhpcy5jb21wbGlhbmNlLm1vcmVPcHRpb25zLkNIRUNLUE9JTlRTX05FVyA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICAgICAgICAgIGlmKGV2ZW50LmNoZWNrcG9pbnRfbmV3KSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaXNDaGVja2VkID0gZXZlbnQuY2hlY2tlZCA/IGZhbHNlIDogdHJ1ZTtcclxuICAgICAgICAgICAgICAgZXZlbnQuY2hlY2tlZCA9IGlzQ2hlY2tlZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVJbQ0hFQ0tQT0lOVF9JTkRFWF0gPSBldmVudDtcclxuICAgICAgICAgICAgdGhpcy5tb3JlT3B0aW9uLm1vcmVPcHRpb25zTGlzdC5DQVJbaW5kZXhdLmlzRGlzYWJsZWQgPSBldmVudC5jaGVja2VkXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGV2ZW50LmNvZGUgPT09ICdBU1NFU1NNRU5UJyl7XHJcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubW9yZU9wdGlvbi5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5jb2RlID09PSAnQ0hFQ0tQT0lOVFNfTkVXJyk7XHJcbiAgICAgICAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUltpbmRleF0uaXNEaXNhYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29tcGxpYW5jZS5hZGRNb3JlSW5mbyhldmVudCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0NBUCc6XHJcbiAgICAgICAgdGhpcy5wb2xpY3kuYWRkTW9yZUluZm8oZXZlbnQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdDQVBSJzpcclxuICAgICAgICB0aGlzLnByb2dyYW0uYWRkTW9yZUluZm8oZXZlbnQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVNb3JlT3B0aW9uKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLm1vcmVPcHRpb24pIHtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uLnBvcHVsYXRlKGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIGhpZGVFbGVtZW50c0Zyb21Nb3JlT3B0aW9ucyhldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm1vcmVPcHRpb24/LmhpZGVFbGVtZW50cyhldmVudCk7XHJcbiAgfVxyXG5cclxuICBzaG93Q29uZmlybWF0aW9uUG9wdXAoY29uZmlnOiBDb25maXJtYXRpb25BbGVydCkge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IGNvbmZpZztcclxuICB9XHJcblxyXG4gIGJ1bGtVcGxvYWRCcm93c2UoZXZlbnQ6IGFueSkge1xyXG4gICAgc3dpdGNoIChldmVudCkge1xyXG4gICAgICBjYXNlICdBTVInOlxyXG4gICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQudHJpZ2dlckJyb3dzZUZpbGUoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnQ01SJzpcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZC50cmlnZ2VyQnJvd3NlRmlsZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdJQUEnOlxyXG4gICAgICAgIHRoaXMuaW1wb3J0QW5Bc3Nlc3NtZW50LnRyaWdnZXJCcm93c2VGaWxlKCk7XHJcblxyXG5cclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBvblJlc2V0Rm9ybSgpIHtcclxuICAgIHRoaXMubW9kZSA9ICdDUkVBVEUnO1xyXG4gICAgdGhpcy5lbnRydXN0QnV0dG9uTmFtZSA9ICdFbnRydXN0JztcclxuICB9XHJcbiAgc2hpZnRUb0VkaXRNb2RlKCkge1xyXG4gICAgdGhpcy5tb2RlID0gJ0VESVQnXHJcbiAgfVxyXG4gIHNjcm9sbEZvcm0oKSB7XHJcbiAgICBpZiAodGhpcy5kcm9wZG93blJvdy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8IDM4KSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Sb3cubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdoaWRlJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duUm93Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZXZlbnQgd2hpY2ggbW9yZSBvcHRpb25zIHdlIGFyZSByZW1vdmluZy5cclxuICAgKiBAcGFyYW0gaXNDaGVja3BvaW50Q2hlY2tlZCAgaXMgdHJ1ZSBpZiB2YWx1ZSBjaGVja3BvaW50cyBpcyByZW1vdmVkIGJ5IGNsaWNraW5nIG9uIG1vcmUgb3B0aW9uc1xyXG4gICAqL1xyXG4gIG9uUmVtb3ZpbmdDaGVja3BvaW50KGV2ZW50OiBzdHJpbmcsIGlzQ2hlY2twb2ludENoZWNrZWQ/OiBib29sZWFuLCBpc0RhdGFSZW1vdmVkPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgbGV0IG1zZyA9ICcnO1xyXG4gICAgaWYoZXZlbnQgPT09ICduZXctY2hlY2twb2ludHMnKSB7XHJcbiAgICAgIG1zZyA9ICdJZiB5b3UgY2hvb3NlIHRvIHJlbW92ZSB0aGVzZSBDaGVja3BvaW50cywgdGhleSB3aWxsIGJlIGRlbGV0ZWQgYW5kIGNhbm5vdCBiZSByZXN0b3JlZC4gSG93ZXZlciwgeW91IHdpbGwgc3RpbGwgYmUgYWJsZSB0byBjcmVhdGUgbmV3IENoZWNrcG9pbnRzIG9yIGxpbmsgYW4gQXNzZXNzbWVudC4nXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBtc2cgPSAnSWYgeW91IGNob29zZSB0byByZW1vdmUgdGhlc2UgY2hlY2twb2ludHMsIHRoZXkgd2lsbCBiZSBkZWxldGVkIGFuZCBjYW5ub3QgYmUgcmVzdG9yZWQuJ1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb25maXJtYXRpb25BbGVydENvbmZpZyA9IHsgaXNWaXNpYmxlOiB0cnVlLCBtZXNzYWdlOiBtc2csIGFjdGlvbjogZXZlbnQsIGRhdGE6IHsgdHlwZTogJ3Jlc3BvbnNpYmlsaXR5Q2hlY2twb2ludCcgfSAsIGlzQ2hlY2twb2ludENoZWNrZWQ6IChpc0NoZWNrcG9pbnRDaGVja2VkID8/IGZhbHNlKSwgaXNEYXRhUmVtb3ZlZDogKGlzRGF0YVJlbW92ZWQgPz8gZmFsc2UpfTtcclxuICB9XHJcblxyXG4gIG9uUmVtb3ZpbmdSb2xlKGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBtc2cgPSAnJztcclxuICAgIGlmKGV2ZW50KSB7XHJcbiAgICAgIG1zZyA9ICdJZiB5b3UgY2hhbmdlIHRoZSByb2xlcywgYW55IHVuc2F2ZWQgY2hhbmdlcyB3b3VsZCBiZSBsb3N0LidcclxuICAgIH1cclxuICAgIHRoaXMuY29uZmlybWF0aW9uQWxlcnRDb25maWcgPSB7IGlzVmlzaWJsZTogdHJ1ZSwgbWVzc2FnZTogbXNnLCBhY3Rpb246ICdST0xFJywgZGF0YTogZXZlbnR9XHJcbiAgfVxyXG5cclxuICBpc0Fzc2Vzc21lbnREaXNhYmxlZChpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLm1vcmVPcHRpb24ubW9yZU9wdGlvbnNMaXN0LkNBUi5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xyXG4gICAgICBpZiAob3B0aW9uLmNvZGUgPT09ICdBU1NFU1NNRU5UJyB8fCBvcHRpb24uY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICBvcHRpb24uaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DaGVja3BvaW50U2VsZWN0aW9uKGV2ZW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY2hlY2twb2ludENvdW50ID0gZXZlbnQ7XHJcblxyXG4gIH1cclxuXHJcbiAgb25SY1NlbGVjdGVkKGlzUmNTZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc1JDU2VsZWN0ZWQgPSBpc1JjU2VsZWN0ZWQ7XHJcbiAgfVxyXG5cclxuICBmZXRjaE9yZ2FuaXphdGlvbkRldGFpbHMoKXtcclxuICAgIHRoaXMuYXV0aC5nZXRPcmdhbml6YXRpb25EZXRhaWxzKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDoocmVzOmFueSk9PntcclxuICAgICAgICBpZihyZXM/LmJ1c2luZXNzX2N5Y2xlc19hcnIgJiYgcmVzPy5idXNpbmVzc19jeWNsZXNfYXJyPy5sZW5ndGgpe1xyXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSByZXM/LmJ1c2luZXNzX2N5Y2xlc19hcnIuZmlsdGVyKChlbGU6YW55KSA9PiBlbGU/LnNlbGVjdGVkKTtcclxuICAgICAgICAgIGNvbnN0IHNwbGl0dGVkID0gc2VsZWN0ZWRbMF0uYnVzaW5lc3NfY3ljbGU/LnNwbGl0KCctJyk7XHJcbiAgICAgICAgIHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGUgPSBgJHtzcGxpdHRlZFswXT8uc2xpY2UoMil9IC0gJHtzcGxpdHRlZFsxXT8uc2xpY2UoNCl9YFxyXG4gICAgICAgIH19XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
1
+ import { HttpClientModule } from '@angular/common/http';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { WorkflowEngineContainerComponent } from './workflow-engine-container/workflow-engine-container.component';
4
4
  import { WorkflowRiskComponent } from './workflow-risk/workflow-risk.component';
@@ -103,7 +103,6 @@ import { ProgramListingComponent } from './sharedComponents/program-listing/prog
103
103
  import { WorkflowProgramComponent } from './workflow-program/workflow-program.component';
104
104
  import { RolesListComponent } from './sharedComponents/roles-list/roles-list.component';
105
105
  import { CreateProgramUiModule } from './workflow-program/create-program-ui/create-program-ui.module';
106
- import { BusinessCycleInterceptor } from './interceptor/business-cycle.interceptor';
107
106
  export class VComplyWorkflowEngineModule {
108
107
  static forRoot(environmentConfig) {
109
108
  return {
@@ -230,9 +229,6 @@ VComplyWorkflowEngineModule.decorators = [
230
229
  exports: [
231
230
  WorkflowEngineContainerComponent,
232
231
  ],
233
- providers: [
234
- { provide: HTTP_INTERCEPTORS, useClass: BusinessCycleInterceptor, multi: true },
235
- ],
236
232
  },] }
237
233
  ];
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LWVuZ2luZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDbkgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNGQUFzRixDQUFDO0FBQzFJ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QjtvQkFDbkIsc0JBQXNCO29CQUN0QixnQkFBZ0I7b0JBQ2hCLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixhQUFhO29CQUNiLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixXQUFXO29CQUNYLFlBQVk7b0JBQ1osMkJBQTJCO29CQUMzQixrQkFBa0I7b0JBQ2xCLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsZ0JBQWdCO29CQUNoQix3QkFBd0I7b0JBQ3hCLGtCQUFrQjtvQkFDbEIsa0JBQWtCO29CQUNsQixnQkFBZ0I7b0JBQ2hCLHNCQUFzQjtvQkFDdEIsa0JBQWtCO29CQUNsQix1QkFBdUI7b0JBQ3ZCLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGdDQUFnQztpQkFDakM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2lCQUNoRjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFdvcmtmbG93RW5naW5lQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1lbmdpbmUtY29udGFpbmVyL3dvcmtmbG93LWVuZ2luZS1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dSaXNrQ29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1yaXNrL3dvcmtmbG93LXJpc2suY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dDb21wbGlhbmNlQ29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1jb21wbGlhbmNlL3dvcmtmbG93LWNvbXBsaWFuY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dQb2xpY3lDb21wb25lbnQgfSBmcm9tICcuL3dvcmtmbG93LXBvbGljeS93b3JrZmxvdy1wb2xpY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTW9yZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbW9yZS1vcHRpb24vbW9yZS1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zJztcclxuaW1wb3J0IHsgT3duZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL293bmVyLWxpc3Qvb3duZXItbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXRlZ29yeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2F0ZWdvcnktbGlzdC9jYXRlZ29yeS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZsb2F0aW5nQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybWdyb3VwTW9kdWxlIH0gZnJvbSAnLi9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuaW1wb3J0IHsgTWFyeEVkaXRvck1vZHVsZSB9IGZyb20gJ3Zjb21wbHktZWRpdG9yJztcclxuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3QvcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93UGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctcGFnaW5hdGlvbi93b3JrZmxvdy1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpbmVMb2FkZXJNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9saW5lLWxvYWRlci9saW5lLWxvYWRlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJpc2tDb21wb25lbnQgfSBmcm9tICcuL2FkZC1tdWx0aXBsZS1yaXNrL2FkZC1tdWx0aXBsZS1yaXNrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1bGtWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2J1bGstdmlldy9idWxrLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hlY2twb2ludHNDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2hlY2twb2ludC9jaGVja3BvaW50cy9jaGVja3BvaW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25BbGVydENvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybWF0aW9uLWFsZXJ0L2NvbmZpcm1hdGlvbi1hbGVydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja3BvaW50c1F1ZXN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50L2NoZWNrcG9pbnRzLXF1ZXN0aW9ucy9jaGVja3BvaW50cy1xdWVzdGlvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENoZWNrcG9pbnRzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50L2NoZWNrcG9pbnRzLWxpc3QvY2hlY2twb2ludHMtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RNb2R1bGUgfSBmcm9tICcuL2Zvcm1ncm91cC9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWNvbnRhaW5lci9mcmVxdWVuY3ktY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeURhaWx5Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktZGFpbHkvZnJlcXVlbmN5LWRhaWx5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVdlZWtseUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXdlZWtseS9mcmVxdWVuY3ktd2Vla2x5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeU1vbnRobHlDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1tb250aGx5L2ZyZXF1ZW5jeS1tb250aGx5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVF1YXJ0ZXJseUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXF1YXJ0ZXJseS9mcmVxdWVuY3ktcXVhcnRlcmx5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeUJpYW5udWFsQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktYmlhbm51YWwvZnJlcXVlbmN5LWJpYW5udWFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeUFubnVhbENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWFubnVhbC9mcmVxdWVuY3ktYW5udWFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeU9uZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1vbmUtdGltZS9mcmVxdWVuY3ktb25lLXRpbWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5UmFuZG9tQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktcmFuZG9tL2ZyZXF1ZW5jeS1yYW5kb20uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5T25Db21wbGV0aW9uT2ZDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1vbi1jb21wbGV0aW9uLW9mL2ZyZXF1ZW5jeS1vbi1jb21wbGV0aW9uLW9mLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeU9uZ29pbmdDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1vbmdvaW5nL2ZyZXF1ZW5jeS1vbmdvaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5neE1hdGVyaWFsVGltZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1tYXRlcmlhbC10aW1lcGlja2VyJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5VG9wQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktdG9wL2ZyZXF1ZW5jeS10b3AuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5TGlmZWN5Y2xlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktbGlmZWN5Y2xlL2ZyZXF1ZW5jeS1saWZlY3ljbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHBEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnbmcyLWRhdGUtcGlja2VyJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5RHVlRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWR1ZS1kYXRlL2ZyZXF1ZW5jeS1kdWUtZGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lDaGVja2JveExpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1jaGVja2JveC1saXN0L2ZyZXF1ZW5jeS1jaGVja2JveC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVJhZGlvTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXJhZGlvLWxpc3QvZnJlcXVlbmN5LXJhZGlvLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWRkTXVsdGlwbGVSZXNwb25zaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4vYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5L2FkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdWxrUmVzcG9uc2liaWxpdHlWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2J1bGstcmVzcG9uc2liaWxpdHktdmlldy9idWxrLXJlc3BvbnNpYmlsaXR5LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBWTG9hZGVyTW9kdWxlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3YtbG9hZGVyL3YtbG9hZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcclxuaW1wb3J0IHsgQ2hlY2twb2ludHNQb2xpY3lDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2hlY2twb2ludC1wb2xpY3kvY2hlY2twb2ludHMtcG9saWN5LWNvbnRhaW5lci9jaGVja3BvaW50cy1wb2xpY3ktY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrcG9pbnRzUG9saWN5TGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50LXBvbGljeS9jaGVja3BvaW50cy1wb2xpY3ktbGlzdC9jaGVja3BvaW50cy1wb2xpY3ktbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja3BvaW50c1BvbGljeVF1ZXN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50LXBvbGljeS9jaGVja3BvaW50cy1wb2xpY3ktcXVlc3Rpb25zL2NoZWNrcG9pbnRzLXBvbGljeS1xdWVzdGlvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dTdXJ2ZXlGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1zdXJ2ZXktZm9ybS93b3JrZmxvdy1zdXJ2ZXktZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2dBbklzc3VlQ29tcG9uZW50IH0gZnJvbSAnLi9sb2ctYW4taXNzdWUvbG9nLWFuLWlzc3VlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbHRlclBpcGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcGlwZXMvZmlsdGVyUGlwZSc7XHJcbmltcG9ydCB7IFNtaWxleURpYWxvZ01vZHVsZSB9IGZyb20gJy4vdWkta2l0L3NtaWxleS1kaWFsb2cvc21pbGV5LWRpYWxvZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDaGVja2JveExpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2hlY2tib3gtbGlzdC9jaGVja2JveC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJhZGlvTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yYWRpby1saXN0L3JhZGlvLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGlzdE1hcHBlclBpcGUgfSBmcm9tICcuL3BpcGVzL2xpc3QtbWFwcGVyLnBpcGUnO1xyXG5cclxuaW1wb3J0IHsgQ3JlYXRlRG9jdW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jcmVhdGUtZG9jdW1lbnRzL2NyZWF0ZS1kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoUGlwZSB9IGZyb20gJy4vcGlwZXMvc2VhcmNoLnBpcGUnO1xyXG5pbXBvcnQgeyBVc2VyRmlsdGVyUGlwZSB9IGZyb20gJy4vcGlwZXMvdXNlci1maWx0ZXIucGlwZSc7XHJcbmltcG9ydCB7IEdyb3VwVXNlcnNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2dyb3VwLXVzZXJzLWxpc3QvZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXRlZ29yeU11bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NhdGVnb3J5LW11bHRpc2VsZWN0L2NhdGVnb3J5LW11bHRpLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGcmFtZXdvcmtMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyYW1ld29yay1saXN0L2ZyYW1ld29yay1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhcmVudFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyYW1ld29yay1saXN0L3BhcmVudC10YWJsZS9wYXJlbnQtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXNlclJhZGlvTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy91c2Vycy1yYWRpby1saXN0L3VzZXJzLXJhZGlvLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVR5cGVQaXBlIH0gZnJvbSAnLi9waXBlcy9kYXRhLXR5cGUucGlwZSc7XHJcbmltcG9ydCB7IENoZWNrcG9pbnRGbG9hdGluZ0JhckNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50LWZsb2F0aW5nLWJhci9jaGVja3BvaW50LWZsb2F0aW5nLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbmFja0Jhck1vZHVsZSB9IGZyb20gJy4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgUmlza0NsYXNzaWZpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3Jpc2stY2xhc3NpZmljYXRpb24vcmlzay1jbGFzc2lmaWNhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtYXRBbmRFdmlkZW5jZUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mb3JtYXQtYW5kLWV2aWRlbmNlL2Zvcm1hdC1hbmQtZXZpZGVuY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZGlyZWN0aXZlL2RyYWctZHJvcC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBdXRvZm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZGlyZWN0aXZlL2F1dG9mb2N1cy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSZXZpZXdGcmVxdWVuY3lDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcmV2aWV3LWZyZXF1ZW5jeS9yZXZpZXctZnJlcXVlbmN5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNjcm9sbEluVmlld0RpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9kaXJlY3RpdmUvc2Nyb2xsLWluLXZpZXcuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU21pbGV5RGlhbG9nSW5saW5lTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvc21pbGV5LWRpYWxvZy1pbmxpbmUvc21pbGV5LWRpYWxvZy1pbmxpbmUubW9kdWxlJztcclxuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNob3J0TWVyZ2VQaXBlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3BpcGVzL3Nob3J0LW1lcmdlLnBpcGUnO1xyXG5pbXBvcnQgeyBTcGFjZUJyZWFrZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9zcGFjZS1icmVha2VyLnBpcGUnO1xyXG5cclxuaW1wb3J0IHsgRm9ybWF0SHRtbFBpcGUgfSBmcm9tIFwiLi91aS1raXQvZm9ybWF0LWh0bWwucGlwZVwiO1xyXG5pbXBvcnQgeyBXaXRoaW5EYXRhUGlwZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9waXBlcy93aXRoaW4tZGF0YS5waXBlJztcclxuaW1wb3J0IHsgUG9wb3ZlckhvdmVyTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvcG9wb3Zlci1ob3Zlci9wb3BvdmVyLWhvdmVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFJlc3BvbnNpYmlsaXR5Umlza1NlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3Jlc3BvbnNpYmlsaXR5LXJpc2stc2VsZWN0b3IvcmVzcG9uc2liaWxpdHktcmlzay1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25kaXRpb25hbEZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2RpcmVjdGl2ZS9jb25kaXRpb25hbC1mb2N1cy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMaXN0TG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFycmF5RmlsdGVyUGlwZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9waXBlcy9hcnJheS1maWx0ZXIucGlwZSc7XHJcbmltcG9ydCB7IEF1ZGl0Q2F0ZWdvcnlMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2F1ZGl0LWNhdGVnb3J5LWxpc3QvYXVkaXQtY2F0ZWdvcnktbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEb2N1bWVudFNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZG9jdW1lbnQtc2VjdGlvbi9kb2N1bWVudC1zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctYXNzZXNzbWVudC93b3JrZmxvdy1hc3Nlc3NtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEltcG9ydEFuQXNzZXNzbWVudENvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctYXNzZXNzbWVudC9pbXBvcnQtYW4tYXNzZXNzbWVudC9pbXBvcnQtYW4tYXNzZXNzbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3Nlc3NtZW50TGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LWxpc3QvYXNzZXNzbWVudC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJhZGlvTGlzdFdpdGhQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3JhZGlvLWxpc3Qtd2l0aC1wYWdpbmF0aW9uL3JhZGlvLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMaW5rVHJlYXRtZW50TG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3JhZGlvLWxpc3Qtd2l0aC1wYWdpbmF0aW9uL2xpbmstdHJlYXRtZW50LWxvYWRlci9saW5rLXRyZWF0bWVudC1sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXNzbWVudExpc3RMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1saXN0L2Fzc2Vzc21lbnQtbGlzdC1sb2FkZXIvYXNzZXNzbWVudC1saXN0LWxvYWRlci5jb21wb25lbnQnXHJcbmltcG9ydCB7IEFzc2Vzc21lbnRMaXN0U3ViTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtbGlzdC9hc3Nlc3NtZW50LWxpc3Qtc3ViLWxvYWRlci9hc3Nlc3NtZW50LWxpc3Qtc3ViLWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3Nlc3NtZW50UHJldmlld01vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LXByZXZpZXcvYXNzZXNzbWVudC1wcmV2aWV3Lm1vZHVsZSc7XHJcbmltcG9ydCB7IENyZWF0ZUFzc2Vzc21lbnRNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY3JlYXRlLWFzc2Vzc21lbnQubW9kdWxlJztcclxuaW1wb3J0IHsgQWN0aW9uRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvYWN0aW9uLWRpYWxvZy9hY3Rpb24tZGlhbG9nLm1vZHVsZSc7XHJcbmltcG9ydCB7IFVuY2F0ZWdvcml6ZWRGaWx0ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy91bmNhdGVnb3JpemVkLWZpbHRlci5waXBlJztcclxuaW1wb3J0IHsgUHJvZ3JhbUxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcHJvZ3JhbS1saXN0aW5nL3Byb2dyYW0tbGlzdGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1Byb2dyYW1Db21wb25lbnQgfSBmcm9tICcuL3dvcmtmbG93LXByb2dyYW0vd29ya2Zsb3ctcHJvZ3JhbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb2xlc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcm9sZXMtbGlzdC9yb2xlcy1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENyZWF0ZVByb2dyYW1VaU1vZHVsZSB9IGZyb20gJy4vd29ya2Zsb3ctcHJvZ3JhbS9jcmVhdGUtcHJvZ3JhbS11aS9jcmVhdGUtcHJvZ3JhbS11aS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBCdXNpbmVzc0N5Y2xlSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9yL2J1c2luZXNzLWN5Y2xlLmludGVyY2VwdG9yJztcclxuXHJcblxyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgV29ya2Zsb3dFbmdpbmVDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBXb3JrZmxvd1Jpc2tDb21wb25lbnQsXHJcbiAgICBXb3JrZmxvd0NvbXBsaWFuY2VDb21wb25lbnQsXHJcbiAgICBXb3JrZmxvd1BvbGljeUNvbXBvbmVudCxcclxuICAgIE1vcmVPcHRpb25Db21wb25lbnQsXHJcbiAgICBPd25lckxpc3RDb21wb25lbnQsXHJcbiAgICBVc2VyUmFkaW9MaXN0Q29tcG9uZW50LFxyXG4gICAgQ2F0ZWdvcnlMaXN0Q29tcG9uZW50LFxyXG4gICAgQ2F0ZWdvcnlNdWx0aVNlbGVjdENvbXBvbmVudCxcclxuICAgIEZsb2F0aW5nQmFyQ29tcG9uZW50LFxyXG4gICAgUmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdENvbXBvbmVudCxcclxuICAgIFdvcmtmbG93UGFnaW5hdGlvbkNvbXBvbmVudCxcclxuICAgIEFkZE11bHRpcGxlUmlza0NvbXBvbmVudCxcclxuICAgIEJ1bGtWaWV3Q29tcG9uZW50LFxyXG4gICAgQ2hlY2twb2ludHNDb21wb25lbnQsXHJcbiAgICBDb25maXJtYXRpb25BbGVydENvbXBvbmVudCxcclxuICAgIENoZWNrcG9pbnRzUXVlc3Rpb25zQ29tcG9uZW50LFxyXG4gICAgQ2hlY2twb2ludHNMaXN0Q29tcG9uZW50LFxyXG4gICAgUmV2aWV3RnJlcXVlbmN5Q29tcG9uZW50LFxyXG4gICAgRnJlcXVlbmN5Q29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgRnJlcXVlbmN5RGFpbHlDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lXZWVrbHlDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lNb250aGx5Q29tcG9uZW50LFxyXG4gICAgRnJlcXVlbmN5UXVhcnRlcmx5Q29tcG9uZW50LFxyXG4gICAgRnJlcXVlbmN5Qmlhbm51YWxDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lBbm51YWxDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lPbmVUaW1lQ29tcG9uZW50LFxyXG4gICAgRnJlcXVlbmN5UmFuZG9tQ29tcG9uZW50LFxyXG4gICAgRnJlcXVlbmN5T25Db21wbGV0aW9uT2ZDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lPbmdvaW5nQ29tcG9uZW50LFxyXG4gICAgRnJlcXVlbmN5VG9wQ29tcG9uZW50LFxyXG4gICAgRnJlcXVlbmN5TGlmZWN5Y2xlQ29tcG9uZW50LFxyXG4gICAgRnJlcXVlbmN5RHVlRGF0ZUNvbXBvbmVudCxcclxuICAgIEZyZXF1ZW5jeUNoZWNrYm94TGlzdENvbXBvbmVudCxcclxuICAgIEZyZXF1ZW5jeVJhZGlvTGlzdENvbXBvbmVudCxcclxuICAgIEdyb3VwVXNlcnNMaXN0Q29tcG9uZW50LFxyXG4gICAgQWRkTXVsdGlwbGVSZXNwb25zaWJpbGl0eUNvbXBvbmVudCxcclxuICAgIEJ1bGtSZXNwb25zaWJpbGl0eVZpZXdDb21wb25lbnQsXHJcbiAgICBDaGVja3BvaW50c1BvbGljeUNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIENoZWNrcG9pbnRzUG9saWN5TGlzdENvbXBvbmVudCxcclxuICAgIENoZWNrcG9pbnRzUG9saWN5UXVlc3Rpb25zQ29tcG9uZW50LFxyXG4gICAgV29ya2Zsb3dTdXJ2ZXlGb3JtQ29tcG9uZW50LFxyXG4gICAgTG9nQW5Jc3N1ZUNvbXBvbmVudCxcclxuICAgIEZpbHRlclBpcGUsXHJcbiAgICBDaGVja2JveExpc3RDb21wb25lbnQsXHJcbiAgICBSYWRpb0xpc3RDb21wb25lbnQsXHJcbiAgICBMaXN0TWFwcGVyUGlwZSxcclxuICAgIENyZWF0ZURvY3VtZW50c0NvbXBvbmVudCxcclxuICAgIFNlYXJjaFBpcGUsXHJcbiAgICBVc2VyRmlsdGVyUGlwZSxcclxuICAgIEZyYW1ld29ya0xpc3RDb21wb25lbnQsXHJcbiAgICBQYXJlbnRUYWJsZUNvbXBvbmVudCxcclxuICAgIERhdGFUeXBlUGlwZSxcclxuICAgIENoZWNrcG9pbnRGbG9hdGluZ0JhckNvbXBvbmVudCxcclxuICAgIEZvcm1hdEFuZEV2aWRlbmNlQ29tcG9uZW50LFxyXG4gICAgUmlza0NsYXNzaWZpY2F0aW9uQ29tcG9uZW50LFxyXG4gICAgRHJhZ0Ryb3BEaXJlY3RpdmUsXHJcbiAgICBBdXRvZm9jdXNEaXJlY3RpdmUsXHJcbiAgICBTY3JvbGxJblZpZXdEaXJlY3RpdmUsXHJcbiAgICBTaG9ydE1lcmdlUGlwZSxcclxuICAgIFNwYWNlQnJlYWtlclBpcGUsXHJcbiAgICBGb3JtYXRIdG1sUGlwZSxcclxuICAgIFdpdGhpbkRhdGFQaXBlLFxyXG4gICAgUmVzcG9uc2liaWxpdHlSaXNrU2VsZWN0b3JDb21wb25lbnQsXHJcbiAgICBDb25kaXRpb25hbEZvY3VzRGlyZWN0aXZlLFxyXG4gICAgTGlzdExvYWRlckNvbXBvbmVudCxcclxuICAgIEFycmF5RmlsdGVyUGlwZSxcclxuICAgIENvbmRpdGlvbmFsRm9jdXNEaXJlY3RpdmUsXHJcbiAgICBBdWRpdENhdGVnb3J5TGlzdENvbXBvbmVudCxcclxuICAgIERvY3VtZW50U2VjdGlvbkNvbXBvbmVudCxcclxuICAgIERvY3VtZW50U2VjdGlvbkNvbXBvbmVudCxcclxuICAgIFdvcmtmbG93QXNzZXNzbWVudENvbXBvbmVudCxcclxuICAgIEltcG9ydEFuQXNzZXNzbWVudENvbXBvbmVudCxcclxuICAgIEFzc2Vzc21lbnRMaXN0Q29tcG9uZW50LFxyXG4gICAgUmFkaW9MaXN0V2l0aFBhZ2luYXRpb25Db21wb25lbnQsXHJcbiAgICBMaW5rVHJlYXRtZW50TG9hZGVyQ29tcG9uZW50LFxyXG4gICAgQXNzZXNzbWVudExpc3RMb2FkZXJDb21wb25lbnQsXHJcbiAgICBBc3Nlc3NtZW50TGlzdFN1YkxvYWRlckNvbXBvbmVudCxcclxuICAgIFVuY2F0ZWdvcml6ZWRGaWx0ZXJQaXBlLFxyXG4gICAgUHJvZ3JhbUxpc3RpbmdDb21wb25lbnQsXHJcbiAgICBXb3JrZmxvd1Byb2dyYW1Db21wb25lbnQsXHJcbiAgICBSb2xlc0xpc3RDb21wb25lbnRcclxuXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ3JlYXRlQXNzZXNzbWVudE1vZHVsZSxcclxuICAgIE1hcnhFZGl0b3JNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIExpbmVMb2FkZXJNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFNlbGVjdE1vZHVsZSxcclxuICAgIE5neE1hdGVyaWFsVGltZXBpY2tlck1vZHVsZSxcclxuICAgIERwRGF0ZVBpY2tlck1vZHVsZSxcclxuICAgIE5vRGF0YU1vZHVsZSxcclxuICAgIFZMb2FkZXJNb2R1bGUsXHJcbiAgICBTbWlsZXlEaWFsb2dNb2R1bGUsXHJcbiAgICBTbmFja0Jhck1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBTbWlsZXlEaWFsb2dJbmxpbmVNb2R1bGUsXHJcbiAgICBDbGlja091dHNpZGVNb2R1bGUsXHJcbiAgICBQb3BvdmVySG92ZXJNb2R1bGUsXHJcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxyXG4gICAgQ3JlYXRlQXNzZXNzbWVudE1vZHVsZSxcclxuICAgIEFjdGlvbkRpYWxvZ01vZHVsZSxcclxuICAgIEFzc2Vzc21lbnRQcmV2aWV3TW9kdWxlLFxyXG4gICAgQ3JlYXRlUHJvZ3JhbVVpTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEJ1c2luZXNzQ3ljbGVJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVkNvbXBseVdvcmtmbG93RW5naW5lTW9kdWxlIHtcclxuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoZW52aXJvbm1lbnRDb25maWc6IENvbmZpZ3VyYXRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxWQ29tcGx5V29ya2Zsb3dFbmdpbmVNb2R1bGU+IHtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogVkNvbXBseVdvcmtmbG93RW5naW5lTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IENvbmZpZ3VyYXRpb25zLCB1c2VWYWx1ZTogZW52aXJvbm1lbnRDb25maWcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZW5naW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LWVuZ2luZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQztBQUMxSSxPQUFPLEVBQUUs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Q2YsYUFBYTtvQkFDYixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxZQUFZO29CQUNaLDJCQUEyQjtvQkFDM0Isa0JBQWtCO29CQUNsQixZQUFZO29CQUNaLGFBQWE7b0JBQ2Isa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsd0JBQXdCO29CQUN4QixrQkFBa0I7b0JBQ2xCLGtCQUFrQjtvQkFDbEIsZ0JBQWdCO29CQUNoQixzQkFBc0I7b0JBQ3RCLGtCQUFrQjtvQkFDbEIsdUJBQXVCO29CQUN2QixxQkFBcUI7aUJBQ3RCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxnQ0FBZ0M7aUJBQ2pDO2FBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlLCBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgV29ya2Zsb3dFbmdpbmVDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3dvcmtmbG93LWVuZ2luZS1jb250YWluZXIvd29ya2Zsb3ctZW5naW5lLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1Jpc2tDb21wb25lbnQgfSBmcm9tICcuL3dvcmtmbG93LXJpc2svd29ya2Zsb3ctcmlzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd0NvbXBsaWFuY2VDb21wb25lbnQgfSBmcm9tICcuL3dvcmtmbG93LWNvbXBsaWFuY2Uvd29ya2Zsb3ctY29tcGxpYW5jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1BvbGljeUNvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctcG9saWN5L3dvcmtmbG93LXBvbGljeS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb3JlT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9tb3JlLW9wdGlvbi9tb3JlLW9wdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBPd25lckxpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvb3duZXItbGlzdC9vd25lci1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhdGVnb3J5TGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jYXRlZ29yeS1saXN0L2NhdGVnb3J5LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmxvYXRpbmdCYXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuL2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNYXJ4RWRpdG9yTW9kdWxlIH0gZnJvbSAndmNvbXBseS1lZGl0b3InO1xyXG5pbXBvcnQgeyBSZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3Jlc3BvbnNpYmlsaXR5LWNlbnRlcnMtbGlzdC9yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1wYWdpbmF0aW9uL3dvcmtmbG93LXBhZ2luYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGluZUxvYWRlck1vZHVsZSB9IGZyb20gJy4vdWkta2l0L2xpbmUtbG9hZGVyL2xpbmUtbG9hZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFkZE11bHRpcGxlUmlza0NvbXBvbmVudCB9IGZyb20gJy4vYWRkLW11bHRpcGxlLXJpc2svYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnVsa1ZpZXdDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYnVsay12aWV3L2J1bGstdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja3BvaW50c0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50L2NoZWNrcG9pbnRzL2NoZWNrcG9pbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb25maXJtYXRpb24tYWxlcnQvY29uZmlybWF0aW9uLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrcG9pbnRzUXVlc3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NoZWNrcG9pbnQvY2hlY2twb2ludHMtcXVlc3Rpb25zL2NoZWNrcG9pbnRzLXF1ZXN0aW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ2hlY2twb2ludHNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NoZWNrcG9pbnQvY2hlY2twb2ludHMtbGlzdC9jaGVja3BvaW50cy1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdE1vZHVsZSB9IGZyb20gJy4vZm9ybWdyb3VwL3NlbGVjdC9zZWxlY3QubW9kdWxlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktY29udGFpbmVyL2ZyZXF1ZW5jeS1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5RGFpbHlDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1kYWlseS9mcmVxdWVuY3ktZGFpbHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5V2Vla2x5Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktd2Vla2x5L2ZyZXF1ZW5jeS13ZWVrbHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5TW9udGhseUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW1vbnRobHkvZnJlcXVlbmN5LW1vbnRobHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5UXVhcnRlcmx5Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktcXVhcnRlcmx5L2ZyZXF1ZW5jeS1xdWFydGVybHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5Qmlhbm51YWxDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1iaWFubnVhbC9mcmVxdWVuY3ktYmlhbm51YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5QW5udWFsQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktYW5udWFsL2ZyZXF1ZW5jeS1hbm51YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5T25lVGltZUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uZS10aW1lL2ZyZXF1ZW5jeS1vbmUtdGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lSYW5kb21Db21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1yYW5kb20vZnJlcXVlbmN5LXJhbmRvbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lPbkNvbXBsZXRpb25PZkNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YvZnJlcXVlbmN5LW9uLWNvbXBsZXRpb24tb2YuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5T25nb2luZ0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LW9uZ29pbmcvZnJlcXVlbmN5LW9uZ29pbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmd4TWF0ZXJpYWxUaW1lcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LW1hdGVyaWFsLXRpbWVwaWNrZXInO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lUb3BDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS10b3AvZnJlcXVlbmN5LXRvcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lMaWZlY3ljbGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1saWZlY3ljbGUvZnJlcXVlbmN5LWxpZmVjeWNsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcERhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICduZzItZGF0ZS1waWNrZXInO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lEdWVEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktZHVlLWRhdGUvZnJlcXVlbmN5LWR1ZS1kYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeUNoZWNrYm94TGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWNoZWNrYm94LWxpc3QvZnJlcXVlbmN5LWNoZWNrYm94LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRnJlcXVlbmN5UmFkaW9MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktcmFkaW8tbGlzdC9mcmVxdWVuY3ktcmFkaW8tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHkvYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1bGtSZXNwb25zaWJpbGl0eVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYnVsay1yZXNwb25zaWJpbGl0eS12aWV3L2J1bGstcmVzcG9uc2liaWxpdHktdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb0RhdGFNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvbm8tZGF0YS9uby1kYXRhLm1vZHVsZSc7XHJcbmltcG9ydCB7IFZMb2FkZXJNb2R1bGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvdi1sb2FkZXIvdi1sb2FkZXIubW9kdWxlJztcclxuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDaGVja3BvaW50c1BvbGljeUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja3BvaW50LXBvbGljeS9jaGVja3BvaW50cy1wb2xpY3ktY29udGFpbmVyL2NoZWNrcG9pbnRzLXBvbGljeS1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hlY2twb2ludHNQb2xpY3lMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NoZWNrcG9pbnQtcG9saWN5L2NoZWNrcG9pbnRzLXBvbGljeS1saXN0L2NoZWNrcG9pbnRzLXBvbGljeS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrcG9pbnRzUG9saWN5UXVlc3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NoZWNrcG9pbnQtcG9saWN5L2NoZWNrcG9pbnRzLXBvbGljeS1xdWVzdGlvbnMvY2hlY2twb2ludHMtcG9saWN5LXF1ZXN0aW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JrZmxvd1N1cnZleUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3dvcmtmbG93LXN1cnZleS1mb3JtL3dvcmtmbG93LXN1cnZleS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ0FuSXNzdWVDb21wb25lbnQgfSBmcm9tICcuL2xvZy1hbi1pc3N1ZS9sb2ctYW4taXNzdWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsdGVyUGlwZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9waXBlcy9maWx0ZXJQaXBlJztcclxuaW1wb3J0IHsgU21pbGV5RGlhbG9nTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvc21pbGV5LWRpYWxvZy9zbWlsZXktZGlhbG9nLm1vZHVsZSc7XHJcbmltcG9ydCB7IENoZWNrYm94TGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9jaGVja2JveC1saXN0L2NoZWNrYm94LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3JhZGlvLWxpc3QvcmFkaW8tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaXN0TWFwcGVyUGlwZSB9IGZyb20gJy4vcGlwZXMvbGlzdC1tYXBwZXIucGlwZSc7XHJcblxyXG5pbXBvcnQgeyBDcmVhdGVEb2N1bWVudHNDb21wb25lbnQgfSBmcm9tICcuL2NyZWF0ZS1kb2N1bWVudHMvY3JlYXRlLWRvY3VtZW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2hQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWFyY2gucGlwZSc7XHJcbmltcG9ydCB7IFVzZXJGaWx0ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy91c2VyLWZpbHRlci5waXBlJztcclxuaW1wb3J0IHsgR3JvdXBVc2Vyc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZ3JvdXAtdXNlcnMtbGlzdC9ncm91cC11c2Vycy1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhdGVnb3J5TXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvY2F0ZWdvcnktbXVsdGlzZWxlY3QvY2F0ZWdvcnktbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyYW1ld29ya0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFyZW50VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvcGFyZW50LXRhYmxlL3BhcmVudC10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVc2VyUmFkaW9MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3VzZXJzLXJhZGlvLWxpc3QvdXNlcnMtcmFkaW8tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVHlwZVBpcGUgfSBmcm9tICcuL3BpcGVzL2RhdGEtdHlwZS5waXBlJztcclxuaW1wb3J0IHsgQ2hlY2twb2ludEZsb2F0aW5nQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2NoZWNrcG9pbnQtZmxvYXRpbmctYmFyL2NoZWNrcG9pbnQtZmxvYXRpbmctYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBSaXNrQ2xhc3NpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcmlzay1jbGFzc2lmaWNhdGlvbi9yaXNrLWNsYXNzaWZpY2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1hdEFuZEV2aWRlbmNlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2Zvcm1hdC1hbmQtZXZpZGVuY2UvZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcmFnRHJvcERpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9kaXJlY3RpdmUvZHJhZy1kcm9wLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9kaXJlY3RpdmUvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJldmlld0ZyZXF1ZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yZXZpZXctZnJlcXVlbmN5L3Jldmlldy1mcmVxdWVuY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2Nyb2xsSW5WaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2RpcmVjdGl2ZS9zY3JvbGwtaW4tdmlldy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTbWlsZXlEaWFsb2dJbmxpbmVNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9zbWlsZXktZGlhbG9nLWlubGluZS9zbWlsZXktZGlhbG9nLWlubGluZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDbGlja091dHNpZGVNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUubW9kdWxlJztcclxuaW1wb3J0IHsgU2hvcnRNZXJnZVBpcGUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcGlwZXMvc2hvcnQtbWVyZ2UucGlwZSc7XHJcbmltcG9ydCB7IFNwYWNlQnJlYWtlclBpcGUgfSBmcm9tICcuL3BpcGVzL3NwYWNlLWJyZWFrZXIucGlwZSc7XHJcblxyXG5pbXBvcnQgeyBGb3JtYXRIdG1sUGlwZSB9IGZyb20gXCIuL3VpLWtpdC9mb3JtYXQtaHRtbC5waXBlXCI7XHJcbmltcG9ydCB7IFdpdGhpbkRhdGFQaXBlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3BpcGVzL3dpdGhpbi1kYXRhLnBpcGUnO1xyXG5pbXBvcnQgeyBQb3BvdmVySG92ZXJNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9wb3BvdmVyLWhvdmVyL3BvcG92ZXItaG92ZXIubW9kdWxlJztcclxuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlSaXNrU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcmVzcG9uc2liaWxpdHktcmlzay1zZWxlY3Rvci9yZXNwb25zaWJpbGl0eS1yaXNrLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmRpdGlvbmFsRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvZGlyZWN0aXZlL2NvbmRpdGlvbmFsLWZvY3VzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IExpc3RMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvbGlzdC1sb2FkZXIvbGlzdC1sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXJyYXlGaWx0ZXJQaXBlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL3BpcGVzL2FycmF5LWZpbHRlci5waXBlJztcclxuaW1wb3J0IHsgQXVkaXRDYXRlZ29yeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYXVkaXQtY2F0ZWdvcnktbGlzdC9hdWRpdC1jYXRlZ29yeS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvY3VtZW50U2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9kb2N1bWVudC1zZWN0aW9uL2RvY3VtZW50LXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1hc3Nlc3NtZW50L3dvcmtmbG93LWFzc2Vzc21lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW1wb3J0QW5Bc3Nlc3NtZW50Q29tcG9uZW50IH0gZnJvbSAnLi93b3JrZmxvdy1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50L2ltcG9ydC1hbi1hc3Nlc3NtZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtbGlzdC9hc3Nlc3NtZW50LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9MaXN0V2l0aFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcmFkaW8tbGlzdC13aXRoLXBhZ2luYXRpb24vcmFkaW8tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IExpbmtUcmVhdG1lbnRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvcmFkaW8tbGlzdC13aXRoLXBhZ2luYXRpb24vbGluay10cmVhdG1lbnQtbG9hZGVyL2xpbmstdHJlYXRtZW50LWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3Nlc3NtZW50TGlzdExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LWxpc3QvYXNzZXNzbWVudC1saXN0LWxvYWRlci9hc3Nlc3NtZW50LWxpc3QtbG9hZGVyLmNvbXBvbmVudCdcclxuaW1wb3J0IHsgQXNzZXNzbWVudExpc3RTdWJMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1saXN0L2Fzc2Vzc21lbnQtbGlzdC1zdWItbG9hZGVyL2Fzc2Vzc21lbnQtbGlzdC1zdWItbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRQcmV2aWV3TW9kdWxlIH0gZnJvbSAnLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtcHJldmlldy9hc3Nlc3NtZW50LXByZXZpZXcubW9kdWxlJztcclxuaW1wb3J0IHsgQ3JlYXRlQXNzZXNzbWVudE1vZHVsZSB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LWVkaXRvci9jcmVhdGUtYXNzZXNzbWVudC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBY3Rpb25EaWFsb2dNb2R1bGUgfSBmcm9tICcuL3VpLWtpdC9hY3Rpb24tZGlhbG9nL2FjdGlvbi1kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHsgVW5jYXRlZ29yaXplZEZpbHRlclBpcGUgfSBmcm9tICcuL3BpcGVzL3VuY2F0ZWdvcml6ZWQtZmlsdGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBQcm9ncmFtTGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9wcm9ncmFtLWxpc3RpbmcvcHJvZ3JhbS1saXN0aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFdvcmtmbG93UHJvZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4vd29ya2Zsb3ctcHJvZ3JhbS93b3JrZmxvdy1wcm9ncmFtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvbGVzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2hhcmVkQ29tcG9uZW50cy9yb2xlcy1saXN0L3JvbGVzLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3JlYXRlUHJvZ3JhbVVpTW9kdWxlIH0gZnJvbSAnLi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL2NyZWF0ZS1wcm9ncmFtLXVpLm1vZHVsZSc7XHJcbmltcG9ydCB7IEJ1c2luZXNzQ3ljbGVJbnRlcmNlcHRvciB9IGZyb20gJy4vaW50ZXJjZXB0b3IvYnVzaW5lc3MtY3ljbGUuaW50ZXJjZXB0b3InO1xyXG5cclxuXHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBXb3JrZmxvd0VuZ2luZUNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFdvcmtmbG93Umlza0NvbXBvbmVudCxcclxuICAgIFdvcmtmbG93Q29tcGxpYW5jZUNvbXBvbmVudCxcclxuICAgIFdvcmtmbG93UG9saWN5Q29tcG9uZW50LFxyXG4gICAgTW9yZU9wdGlvbkNvbXBvbmVudCxcclxuICAgIE93bmVyTGlzdENvbXBvbmVudCxcclxuICAgIFVzZXJSYWRpb0xpc3RDb21wb25lbnQsXHJcbiAgICBDYXRlZ29yeUxpc3RDb21wb25lbnQsXHJcbiAgICBDYXRlZ29yeU11bHRpU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgRmxvYXRpbmdCYXJDb21wb25lbnQsXHJcbiAgICBSZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Q29tcG9uZW50LFxyXG4gICAgV29ya2Zsb3dQYWdpbmF0aW9uQ29tcG9uZW50LFxyXG4gICAgQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50LFxyXG4gICAgQnVsa1ZpZXdDb21wb25lbnQsXHJcbiAgICBDaGVja3BvaW50c0NvbXBvbmVudCxcclxuICAgIENvbmZpcm1hdGlvbkFsZXJ0Q29tcG9uZW50LFxyXG4gICAgQ2hlY2twb2ludHNRdWVzdGlvbnNDb21wb25lbnQsXHJcbiAgICBDaGVja3BvaW50c0xpc3RDb21wb25lbnQsXHJcbiAgICBSZXZpZXdGcmVxdWVuY3lDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lEYWlseUNvbXBvbmVudCxcclxuICAgIEZyZXF1ZW5jeVdlZWtseUNvbXBvbmVudCxcclxuICAgIEZyZXF1ZW5jeU1vbnRobHlDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lRdWFydGVybHlDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lCaWFubnVhbENvbXBvbmVudCxcclxuICAgIEZyZXF1ZW5jeUFubnVhbENvbXBvbmVudCxcclxuICAgIEZyZXF1ZW5jeU9uZVRpbWVDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lSYW5kb21Db21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lPbkNvbXBsZXRpb25PZkNvbXBvbmVudCxcclxuICAgIEZyZXF1ZW5jeU9uZ29pbmdDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lUb3BDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lMaWZlY3ljbGVDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lEdWVEYXRlQ29tcG9uZW50LFxyXG4gICAgRnJlcXVlbmN5Q2hlY2tib3hMaXN0Q29tcG9uZW50LFxyXG4gICAgRnJlcXVlbmN5UmFkaW9MaXN0Q29tcG9uZW50LFxyXG4gICAgR3JvdXBVc2Vyc0xpc3RDb21wb25lbnQsXHJcbiAgICBBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5Q29tcG9uZW50LFxyXG4gICAgQnVsa1Jlc3BvbnNpYmlsaXR5Vmlld0NvbXBvbmVudCxcclxuICAgIENoZWNrcG9pbnRzUG9saWN5Q29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgQ2hlY2twb2ludHNQb2xpY3lMaXN0Q29tcG9uZW50LFxyXG4gICAgQ2hlY2twb2ludHNQb2xpY3lRdWVzdGlvbnNDb21wb25lbnQsXHJcbiAgICBXb3JrZmxvd1N1cnZleUZvcm1Db21wb25lbnQsXHJcbiAgICBMb2dBbklzc3VlQ29tcG9uZW50LFxyXG4gICAgRmlsdGVyUGlwZSxcclxuICAgIENoZWNrYm94TGlzdENvbXBvbmVudCxcclxuICAgIFJhZGlvTGlzdENvbXBvbmVudCxcclxuICAgIExpc3RNYXBwZXJQaXBlLFxyXG4gICAgQ3JlYXRlRG9jdW1lbnRzQ29tcG9uZW50LFxyXG4gICAgU2VhcmNoUGlwZSxcclxuICAgIFVzZXJGaWx0ZXJQaXBlLFxyXG4gICAgRnJhbWV3b3JrTGlzdENvbXBvbmVudCxcclxuICAgIFBhcmVudFRhYmxlQ29tcG9uZW50LFxyXG4gICAgRGF0YVR5cGVQaXBlLFxyXG4gICAgQ2hlY2twb2ludEZsb2F0aW5nQmFyQ29tcG9uZW50LFxyXG4gICAgRm9ybWF0QW5kRXZpZGVuY2VDb21wb25lbnQsXHJcbiAgICBSaXNrQ2xhc3NpZmljYXRpb25Db21wb25lbnQsXHJcbiAgICBEcmFnRHJvcERpcmVjdGl2ZSxcclxuICAgIEF1dG9mb2N1c0RpcmVjdGl2ZSxcclxuICAgIFNjcm9sbEluVmlld0RpcmVjdGl2ZSxcclxuICAgIFNob3J0TWVyZ2VQaXBlLFxyXG4gICAgU3BhY2VCcmVha2VyUGlwZSxcclxuICAgIEZvcm1hdEh0bWxQaXBlLFxyXG4gICAgV2l0aGluRGF0YVBpcGUsXHJcbiAgICBSZXNwb25zaWJpbGl0eVJpc2tTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIENvbmRpdGlvbmFsRm9jdXNEaXJlY3RpdmUsXHJcbiAgICBMaXN0TG9hZGVyQ29tcG9uZW50LFxyXG4gICAgQXJyYXlGaWx0ZXJQaXBlLFxyXG4gICAgQ29uZGl0aW9uYWxGb2N1c0RpcmVjdGl2ZSxcclxuICAgIEF1ZGl0Q2F0ZWdvcnlMaXN0Q29tcG9uZW50LFxyXG4gICAgRG9jdW1lbnRTZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgRG9jdW1lbnRTZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgV29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50LFxyXG4gICAgSW1wb3J0QW5Bc3Nlc3NtZW50Q29tcG9uZW50LFxyXG4gICAgQXNzZXNzbWVudExpc3RDb21wb25lbnQsXHJcbiAgICBSYWRpb0xpc3RXaXRoUGFnaW5hdGlvbkNvbXBvbmVudCxcclxuICAgIExpbmtUcmVhdG1lbnRMb2FkZXJDb21wb25lbnQsXHJcbiAgICBBc3Nlc3NtZW50TGlzdExvYWRlckNvbXBvbmVudCxcclxuICAgIEFzc2Vzc21lbnRMaXN0U3ViTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgVW5jYXRlZ29yaXplZEZpbHRlclBpcGUsXHJcbiAgICBQcm9ncmFtTGlzdGluZ0NvbXBvbmVudCxcclxuICAgIFdvcmtmbG93UHJvZ3JhbUNvbXBvbmVudCxcclxuICAgIFJvbGVzTGlzdENvbXBvbmVudFxyXG5cclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDcmVhdGVBc3Nlc3NtZW50TW9kdWxlLFxyXG4gICAgTWFyeEVkaXRvck1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1ncm91cE1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBQb3BvdmVyTW9kdWxlLFxyXG4gICAgTGluZUxvYWRlck1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgU2VsZWN0TW9kdWxlLFxyXG4gICAgTmd4TWF0ZXJpYWxUaW1lcGlja2VyTW9kdWxlLFxyXG4gICAgRHBEYXRlUGlja2VyTW9kdWxlLFxyXG4gICAgTm9EYXRhTW9kdWxlLFxyXG4gICAgVkxvYWRlck1vZHVsZSxcclxuICAgIFNtaWxleURpYWxvZ01vZHVsZSxcclxuICAgIFNuYWNrQmFyTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIFNtaWxleURpYWxvZ0lubGluZU1vZHVsZSxcclxuICAgIENsaWNrT3V0c2lkZU1vZHVsZSxcclxuICAgIFBvcG92ZXJIb3Zlck1vZHVsZSxcclxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBDcmVhdGVBc3Nlc3NtZW50TW9kdWxlLFxyXG4gICAgQWN0aW9uRGlhbG9nTW9kdWxlLFxyXG4gICAgQXNzZXNzbWVudFByZXZpZXdNb2R1bGUsXHJcbiAgICBDcmVhdGVQcm9ncmFtVWlNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFdvcmtmbG93RW5naW5lQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gIF0sXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgVkNvbXBseVdvcmtmbG93RW5naW5lTW9kdWxlIHtcclxuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoZW52aXJvbm1lbnRDb25maWc6IENvbmZpZ3VyYXRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxWQ29tcGx5V29ya2Zsb3dFbmdpbmVNb2R1bGU+IHtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogVkNvbXBseVdvcmtmbG93RW5naW5lTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IENvbmZpZ3VyYXRpb25zLCB1c2VWYWx1ZTogZW52aXJvbm1lbnRDb25maWcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=