@senior-gestao-pessoas/payroll-core 9.5.0-01923a3e-20f4-4cb3-9565-a0584abd00d1 → 9.5.0-32c4c8b1-bb0c-491c-8ec0-0eef83fe1088

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 (26) hide show
  1. package/bundles/senior-gestao-pessoas-payroll-core.umd.js +530 -86
  2. package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
  3. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +2 -2
  4. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
  5. package/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.d.ts +1 -0
  6. package/components/historical-pix-account/historical-pix-account.component.d.ts +71 -10
  7. package/components/historical-pix-account-list/historical-pix-account-list.component.d.ts +3 -0
  8. package/components/shared/shared-state.service.d.ts +8 -0
  9. package/esm2015/components/historical-pix-account/historical-pix-account-base.js +9 -2
  10. package/esm2015/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.js +9 -7
  11. package/esm2015/components/historical-pix-account/historical-pix-account.component.js +466 -81
  12. package/esm2015/components/historical-pix-account-list/historical-pix-account-list.component.js +26 -3
  13. package/esm2015/components/shared/shared-state.service.js +17 -1
  14. package/esm2015/components/utils/format-utils/format-utils.service.js +3 -1
  15. package/esm5/components/historical-pix-account/historical-pix-account-base.js +9 -2
  16. package/esm5/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.js +9 -7
  17. package/esm5/components/historical-pix-account/historical-pix-account.component.js +476 -81
  18. package/esm5/components/historical-pix-account-list/historical-pix-account-list.component.js +26 -3
  19. package/esm5/components/shared/shared-state.service.js +17 -1
  20. package/esm5/components/utils/format-utils/format-utils.service.js +3 -1
  21. package/fesm2015/senior-gestao-pessoas-payroll-core.js +520 -86
  22. package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
  23. package/fesm5/senior-gestao-pessoas-payroll-core.js +530 -86
  24. package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
  25. package/package.json +1 -1
  26. package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
@@ -24,10 +24,13 @@ var HistoricalPixAccountListComponent = /** @class */ (function () {
24
24
  this.endPoint = "hcm/payroll/queries/historicalEmployeePixQuery";
25
25
  this.keyPayload = "historicalEmployeePix";
26
26
  this.withSidebar = true;
27
+ this.showActionsButtonOnAdd = false;
27
28
  this.isOnlyView = new EventEmitter();
28
29
  this.isOnlyEdit = new EventEmitter();
29
30
  this.enableView = new EventEmitter();
30
31
  this.isEditJudicialDependentPix = new EventEmitter();
32
+ this.isHideBtnAddForViewMode = new EventEmitter();
33
+ this.isShowActionsButton = new EventEmitter();
31
34
  this.ngUnsubscribe = new Subject();
32
35
  this.loading = true;
33
36
  this.columns = [
@@ -68,16 +71,21 @@ var HistoricalPixAccountListComponent = /** @class */ (function () {
68
71
  command: function () {
69
72
  if (_this.isAllowToViewHistorical) {
70
73
  _this.sharedStateService.setHideField(true);
71
- _this.sharedStateService.setShowButton(false);
74
+ _this.isShowActionsButton.emit(false);
72
75
  _this.sharedStateService.setShowEditMode(false);
73
76
  var dateChange = rowData && rowData.dateChange && moment(rowData.dateChange, _this.dateFormat).format("YYYY-MM-DD");
74
77
  if (_this.withSidebar) {
75
78
  _this.isOnlyView.emit(true);
79
+ _this.isOnlyEdit.emit(false);
80
+ _this.isHideBtnAddForViewMode.emit(true);
81
+ _this.sharedStateService.setHideBtnAddForViewMode(true);
82
+ _this.sharedStateService.setActiveHideOptionsOnView(true);
76
83
  _this.router.navigate(["historical-pix-account/" + dateChange], {
77
84
  relativeTo: _this.activatedRoute,
78
85
  });
79
86
  }
80
87
  else {
88
+ _this.sharedStateService.setActiveHideOptionsOnView(true);
81
89
  _this.sharedStateService.setSaveButton(false);
82
90
  _this.enableView.emit(dateChange);
83
91
  }
@@ -92,15 +100,21 @@ var HistoricalPixAccountListComponent = /** @class */ (function () {
92
100
  command: function () {
93
101
  if (_this.isAllowToEditHistorical) {
94
102
  _this.sharedStateService.setHideField(true);
95
- _this.sharedStateService.setShowButton(false);
103
+ _this.isShowActionsButton.emit(true);
96
104
  _this.sharedStateService.setShowEditMode(true);
97
105
  var dateChange = rowData && rowData.dateChange && moment(rowData.dateChange, _this.dateFormat).format("YYYY-MM-DD");
98
106
  if (_this.withSidebar) {
107
+ _this.isOnlyView.emit(false);
108
+ _this.isOnlyEdit.emit(true);
109
+ _this.isHideBtnAddForViewMode.emit(false);
110
+ _this.sharedStateService.setHideBtnAddForViewMode(false);
111
+ _this.sharedStateService.setActiveHideOptionsOnView(false);
99
112
  _this.router.navigate(["historical-pix-account/" + dateChange], {
100
113
  relativeTo: _this.activatedRoute,
101
114
  });
102
115
  }
103
116
  else {
117
+ _this.sharedStateService.setActiveHideOptionsOnView(false);
104
118
  setTimeout(function () {
105
119
  _this.sharedStateService.triggerActiveValidatorsOnEditModalOpen();
106
120
  });
@@ -290,6 +304,9 @@ var HistoricalPixAccountListComponent = /** @class */ (function () {
290
304
  tslib_1.__decorate([
291
305
  Input()
292
306
  ], HistoricalPixAccountListComponent.prototype, "hideField", void 0);
307
+ tslib_1.__decorate([
308
+ Input()
309
+ ], HistoricalPixAccountListComponent.prototype, "showActionsButtonOnAdd", void 0);
293
310
  tslib_1.__decorate([
294
311
  Output()
295
312
  ], HistoricalPixAccountListComponent.prototype, "isOnlyView", void 0);
@@ -302,6 +319,12 @@ var HistoricalPixAccountListComponent = /** @class */ (function () {
302
319
  tslib_1.__decorate([
303
320
  Output()
304
321
  ], HistoricalPixAccountListComponent.prototype, "isEditJudicialDependentPix", void 0);
322
+ tslib_1.__decorate([
323
+ Output()
324
+ ], HistoricalPixAccountListComponent.prototype, "isHideBtnAddForViewMode", void 0);
325
+ tslib_1.__decorate([
326
+ Output()
327
+ ], HistoricalPixAccountListComponent.prototype, "isShowActionsButton", void 0);
305
328
  tslib_1.__decorate([
306
329
  Input()
307
330
  ], HistoricalPixAccountListComponent.prototype, "hideFieldsOnAdd$", null);
@@ -319,4 +342,4 @@ var HistoricalPixAccountListComponent = /** @class */ (function () {
319
342
  return HistoricalPixAccountListComponent;
320
343
  }());
321
344
  export { HistoricalPixAccountListComponent };
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1waXgtYWNjb3VudC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWxpc3QvaGlzdG9yaWNhbC1waXgtYWNjb3VudC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBFLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQVF2QjtJQW9ESSwyQ0FDWSxtQkFBd0MsRUFDeEMsZ0JBQWtDLEVBQ2xDLGNBQThCLEVBQzlCLEVB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O1lBQzlDLFFBQVEsRUFBRSwrQkFBK0I7WUFDekMsMi9CQUEyRDs7U0FFOUQsQ0FBQztPQUNXLGlDQUFpQyxDQThRN0M7SUFBRCx3Q0FBQztDQUFBLEFBOVFELElBOFFDO1NBOVFZLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEN1c3RvbUZpZWxkc0NvbXBvbmVudCB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBTZXJ2aWNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvc2VydmljZVR5cGUnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgSGlzdG9yaWNhbFBpeEFjY291bnRMaXN0U2VydmljZSB9IGZyb20gXCIuL2hpc3RvcmljYWwtcGl4LWFjY291bnQtbGlzdC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBTaGFyZWRTdGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2hhcmVkL3NoYXJlZC1zdGF0ZS5zZXJ2aWNlXCI7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogXCJjLWhpc3RvcmljYWwtcGl4LWFjY291bnQtbGlzdFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vaGlzdG9yaWNhbC1waXgtYWNjb3VudC1saXN0LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2hpc3RvcmljYWwtcGl4LWFjY291bnQtbGlzdC5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgSGlzdG9yaWNhbFBpeEFjY291bnRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoQ3VzdG9tRmllbGRzQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgY3VzdG9tRmllbGRzOiBDdXN0b21GaWVsZHNDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwZXJtaXNzaW9uOiBvYmplY3Q7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wbG95ZWVJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRlcGVuZGVudElkOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGF0ZUZvcm1hdDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVuZFBvaW50OiBzdHJpbmcgPSBcImhjbS9wYXlyb2xsL3F1ZXJpZXMvaGlzdG9yaWNhbEVtcGxveWVlUGl4UXVlcnlcIjtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBrZXlQYXlsb2FkOiBzdHJpbmcgPSBcImhpc3RvcmljYWxFbXBsb3llZVBpeFwiO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHdpdGhTaWRlYmFyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoaWRlRmllbGQ6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNPbmx5VmlldzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGlzT25seUVkaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBlbmFibGVWaWV3OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpc0VkaXRKdWRpY2lhbERlcGVuZGVudFBpeDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBwcml2YXRlIGxhc3RSZWNvcmQ6IGFueTtcbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHB1YmxpYyBpbml0UGFyYW1ldGVyczogYW55O1xuICAgIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwdWJsaWMgcGFyYW1ldGVyczogYW55O1xuXG4gICAgcHVibGljIGNvbHVtbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICBcImhjbS5wYXlyb2xsLmhpc3RvcmljYWxfcGl4X2FjY291bnRfbGFiZWxfZGF0ZV9jaGFuZ2VcIixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmaWVsZDogXCJkYXRlQ2hhbmdlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICBcImhjbS5wYXlyb2xsLmVtcGxveWVlc19tb3ZpbWVudGF0aW9uX2hpc3RvcmljYWxfcGl4X2FjY291bnRfbGFiZWxfcXRkX2FjY291bnRcIixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmaWVsZDogXCJudW1iZXJPZlBpeEFjY291bnRcIixcbiAgICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFNlcnZpY2U6IEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2hhcmVkU3RhdGVTZXJ2aWNlOiBTaGFyZWRTdGF0ZVNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdFBhcmFtZXRlcnMgPSB7IGVtcGxveWVlSWQ6IHRoaXMuZW1wbG95ZWVJZCwgZGVwZW5kZW50SWQ6IHRoaXMuZGVwZW5kZW50SWQgfTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkxhenlMb2FkKHBheWxvYWQ6IGFueSkge1xuICAgICAgICBwYXlsb2FkLmZvckVhY2goKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHZhbHVlLmRhdGVDaGFuZ2UgPSBtb21lbnQodmFsdWUuZGF0ZUNoYW5nZSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25HcmlkTG9hZChwYXlsb2FkKTtcblxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TWVudUFjdGlvbnMocm93RGF0YTogYW55KSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2ltYWdlX2Nyb3BwZXJfdmlld1wiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNBbGxvd1RvVmlld0hpc3RvcmljYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldEhpZGVGaWVsZCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldFNob3dCdXR0b24oZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRTdGF0ZVNlcnZpY2Uuc2V0U2hvd0VkaXRNb2RlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVDaGFuZ2UgPSByb3dEYXRhICYmIHJvd0RhdGEuZGF0ZUNoYW5nZSAmJiBtb21lbnQocm93RGF0YS5kYXRlQ2hhbmdlLCB0aGlzLmRhdGVGb3JtYXQpLmZvcm1hdChcIllZWVktTU0tRERcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy53aXRoU2lkZWJhcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPbmx5Vmlldy5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgaGlzdG9yaWNhbC1waXgtYWNjb3VudC8keyBkYXRlQ2hhbmdlIH1gXSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRTYXZlQnV0dG9uKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVuYWJsZVZpZXcuZW1pdChkYXRlQ2hhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNOb3RBbGxvd01lc3NhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVkaXRcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmlzQWxsb3dUb0VkaXRIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRIaWRlRmllbGQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRTaG93QnV0dG9uKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldFNob3dFZGl0TW9kZSh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVDaGFuZ2UgPSByb3dEYXRhICYmIHJvd0RhdGEuZGF0ZUNoYW5nZSAmJiBtb21lbnQocm93RGF0YS5kYXRlQ2hhbmdlLCB0aGlzLmRhdGVGb3JtYXQpLmZvcm1hdChcIllZWVktTU0tRERcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy53aXRoU2lkZWJhcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgaGlzdG9yaWNhbC1waXgtYWNjb3VudC8keyBkYXRlQ2hhbmdlIH1gXSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRTdGF0ZVNlcnZpY2UudHJpZ2dlckFjdGl2ZVZhbGlkYXRvcnNPbkVkaXRNb2RhbE9wZW4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRTYXZlQnV0dG9uKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlVmlldy5lbWl0KGRhdGVDaGFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05vdEFsbG93TWVzc2FnZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZGVsZXRlXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBbGxvd1RvRGVsZXRlSGlzdG9yaWNhbCAmJiByb3dEYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZShyb3dEYXRhLmlkLCByb3dEYXRhLmRhdGVDaGFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05vdEFsbG93TWVzc2FnZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVsZXRlKGlkOiBhbnksIGRhdGVDaGFuZ2U6IHN0cmluZykge1xuICAgICAgICBpZiAoaWQgPT09IHRoaXMubGFzdFJlY29yZC5pZCkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZUNoYW5nZVRvRHRvID0gbW9tZW50KGRhdGVDaGFuZ2UsIHRoaXMuZGF0ZUZvcm1hdCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgJHsgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAgIFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX21vdmltZW50YXRpb25faGlzdG9yaWNhbF9waXhfYWNjb3VudF9xdWVzdGlvbl9jb25maXJtX2RlbGV0ZVwiLFxuICAgICAgICAgICAgICAgICkgfT9gLFxuICAgICAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXJ2aWNlID0gdGhpcy53aXRoU2lkZWJhciA/ICBTZXJ2aWNlVHlwZS5QQVlST0xMIDogU2VydmljZVR5cGUuREVQRU5ERU5UO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZW1vdmUodGhpcy5lbXBsb3llZUlkLCBkYXRlQ2hhbmdlVG9EdG8sIHNlcnZpY2UsIHRoaXMuZGVwZW5kZW50SWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJzdWNjZXNzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnN1Y2Nlc3NcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX21vdmltZW50YXRpb25faGlzdG9yaWNhbF9waXhfYWNjb3VudF9yZW1vdmVcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSAodGhpcy5wYXJhbWV0ZXJzICYmIHsgLi4udGhpcy5wYXJhbWV0ZXJzIH0pIHx8IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lcnJvclwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfbW92aW1lbnRhdGlvbl9oaXN0b3JpY2FsX3BpeF9hY2NvdW50X2Vycm9yX3JlbW92ZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLm5vdF9hbGxvd2VkX2RlbGV0ZV9sYXN0XCIpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkKCkge1xuICAgICAgICBpZiAodGhpcy5pc0FsbG93VG9BZGRIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJoaXN0b3JpY2FsLXBpeC1hY2NvdW50LW5ld1wiXSwge1xuICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnBlcm1pc3Npb25fZXJyb3Jfbm90X2FsbG93ZWRcIiksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNOb3RBbGxvd01lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgIHNldmVyaXR5OiBcImVycm9yXCIsXG4gICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVycm9yXCIpLFxuICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnBlcm1pc3Npb25fZXJyb3Jfbm90X2FsbG93ZWRcIiksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25HcmlkTG9hZChwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgaWYgKHBheWxvYWQgJiYgcGF5bG9hZC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdFJlY29yZCA9IHBheWxvYWRbMF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlKCkge1xuICAgICAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgaGlkZUZpZWxkc09uQWRkJChzdWJqZWN0OiBTdWJqZWN0PGJvb2xlYW4+KSB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgaWYgKHN1YmplY3QpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IHN1YmplY3Quc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldEhpZGVGaWVsZCh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQWxsb3dUb0FkZEhpc3RvcmljYWwoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25bXCJpbmNsdWlyXCJdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNBbGxvd1RvRGVsZXRlSGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcImV4Y2x1aXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9WaWV3SGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcInZpc3VhbGl6YXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9FZGl0SGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcImVkaXRhclwiXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2NvcGVkQWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVudUFjdGlvbnMuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgcmVsb2FkTGlzdChjb25kaXRpb246IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMucGFyYW1ldGVycyA9ICh0aGlzLnBhcmFtZXRlcnMgJiYgeyAuLi50aGlzLnBhcmFtZXRlcnMgfSkgfHwge307XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
345
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1waXgtYWNjb3VudC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWxpc3QvaGlzdG9yaWNhbC1waXgtYWNjb3VudC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBFLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQVF2QjtJQTBESSwyQ0FDWSxtQkFBd0MsRUFDeEMsZ0JBQWtDLEVBQ2xDLGNBQThCLEVBQzlCLEVBQXFCLEVBQ3JCLE1BQWMsRUFDZCxjQUE4QixFQUM5QiwrQkFBZ0UsRUFDaEUsa0JBQXNDO1FBUHRDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWlDO1FBQ2hFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFyRDNDLGFBQVEsR0FBVyxnREFBZ0QsQ0FBQztRQUVwRSxlQUFVLEdBQVcsdUJBQXVCLENBQUM7UUFFN0MsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFJNUIsMkJBQXNCLEdBQVksS0FBSyxDQUFDO1FBR3hDLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU1RCxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFNUQsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhELCtCQUEwQixHQUFzQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTVFLDRCQUF1QixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRTdFLHdCQUFtQixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBR3hFLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUcvQixZQUFPLEdBQVksSUFBSSxDQUFDO1FBR3hCLFlBQU8sR0FBRztZQUNiO2dCQUNJLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUNoQyxzREFBc0QsQ0FDekQ7Z0JBQ0QsS0FBSyxFQUFFLFlBQVk7YUFDdEI7WUFDRDtnQkFDSSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FDaEMsOEVBQThFLENBQ2pGO2dCQUNELEtBQUssRUFBRSxvQkFBb0I7YUFDOUI7U0FDSixDQUFDO0lBV0MsQ0FBQztJQUVKLG9EQUFRLEdBQVI7UUFDSSxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6RixDQUFDO0lBRUQsdURBQVcsR0FBWDtRQUNJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELDJEQUFlLEdBQWY7UUFDSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxzREFBVSxHQUFqQixVQUFrQixPQUFZO1FBQTlCLGlCQVFDO1FBUEcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEtBQVU7WUFDdkIsS0FBSyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFTSwwREFBYyxHQUFyQixVQUFzQixPQUFZO1FBQWxDLGlCQXNFQztRQXJFRyxPQUFPO1lBQ0g7Z0JBQ0ksS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUM7Z0JBQ2hGLE9BQU8sRUFBRTtvQkFDTCxJQUFHLEtBQUksQ0FBQyx1QkFBdUIsRUFBRTt3QkFDN0IsS0FBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDM0MsS0FBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDckMsS0FBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDL0MsSUFBTSxVQUFVLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDckgsSUFBSSxLQUFJLENBQUMsV0FBVyxFQUFFOzRCQUNsQixLQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDM0IsS0FBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7NEJBQzVCLEtBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ3hDLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDdkQsS0FBSSxDQUFDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUN6RCxLQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDRCQUEyQixVQUFhLENBQUMsRUFBRTtnQ0FDN0QsVUFBVSxFQUFFLEtBQUksQ0FBQyxjQUFjOzZCQUNsQyxDQUFDLENBQUM7eUJBQ047NkJBQU07NEJBQ0gsS0FBSSxDQUFDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUN6RCxLQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUM3QyxLQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzt5QkFDcEM7cUJBQ0o7eUJBQU07d0JBQ0gsS0FBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7cUJBQzVCO2dCQUNMLENBQUM7YUFDSjtZQUNEO2dCQUNJLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO2dCQUN4RCxPQUFPLEVBQUU7b0JBQ0wsSUFBRyxLQUFJLENBQUMsdUJBQXVCLEVBQUU7d0JBQzdCLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQzNDLEtBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3BDLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQzlDLElBQU0sVUFBVSxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7d0JBQ3JILElBQUksS0FBSSxDQUFDLFdBQVcsRUFBRTs0QkFDbEIsS0FBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7NEJBQzVCLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUMzQixLQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUN6QyxLQUFJLENBQUMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7NEJBQ3hELEtBQUksQ0FBQyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDMUQsS0FBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyw0QkFBMkIsVUFBYSxDQUFDLEVBQUU7Z0NBQzdELFVBQVUsRUFBRSxLQUFJLENBQUMsY0FBYzs2QkFDbEMsQ0FBQyxDQUFDO3lCQUNOOzZCQUFNOzRCQUNILEtBQUksQ0FBQyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDMUQsVUFBVSxDQUFDO2dDQUNQLEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQ0FBc0MsRUFBRSxDQUFDOzRCQUNyRSxDQUFDLENBQUMsQ0FBQzs0QkFDSCxLQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUM1QyxLQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzt5QkFDcEM7cUJBQ0o7eUJBQU07d0JBQ0gsS0FBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7cUJBQzVCO2dCQUNMLENBQUM7YUFDSjtZQUNEO2dCQUNJLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDO2dCQUMxRCxPQUFPLEVBQUU7b0JBQ0wsSUFBSSxLQUFJLENBQUMseUJBQXlCLElBQUksT0FBTyxFQUFFO3dCQUMzQyxLQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO3FCQUMvQzt5QkFBTTt3QkFDSCxLQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztxQkFDNUI7Z0JBQ0wsQ0FBQzthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFTSxrREFBTSxHQUFiLFVBQWMsRUFBTyxFQUFFLFVBQWtCO1FBQXpDLGlCQXdDQztRQXZDRyxJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRTtZQUMzQixJQUFNLGlCQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7Z0JBQzdCLE9BQU8sRUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUN0QyxvRkFBb0YsQ0FDdkYsTUFBSTtnQkFDTCxNQUFNLEVBQUU7b0JBQ0osS0FBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7b0JBQ3BCLElBQU0sT0FBTyxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7b0JBQ2hGLEtBQUksQ0FBQywrQkFBK0I7eUJBQy9CLE1BQU0sQ0FBQyxLQUFJLENBQUMsVUFBVSxFQUFFLGlCQUFlLEVBQUUsT0FBTyxFQUFFLEtBQUksQ0FBQyxXQUFXLENBQUM7eUJBQ25FLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3lCQUNuQyxTQUFTLENBQ047d0JBQ0ksS0FBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7NEJBQ3BCLFFBQVEsRUFBRSxTQUFTOzRCQUNuQixPQUFPLEVBQUUsS0FBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQzs0QkFDN0QsTUFBTSxFQUFFLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsbUVBQW1FLENBQUM7eUJBQzdHLENBQUMsQ0FBQzt3QkFDSCxLQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSSxDQUFDLFVBQVUseUJBQVMsS0FBSSxDQUFDLFVBQVUsQ0FBRSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUN4RSxDQUFDLEVBQ0Q7d0JBQ0ksS0FBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7NEJBQ3BCLFFBQVEsRUFBRSxPQUFPOzRCQUNqQixPQUFPLEVBQUUsS0FBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzs0QkFDM0QsTUFBTSxFQUFFLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMseUVBQXlFLENBQUM7eUJBQ25ILENBQUMsQ0FBQzt3QkFDSCxLQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDekIsQ0FBQyxDQUNKLENBQUM7Z0JBQ1YsQ0FBQzthQUNKLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztnQkFDcEIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO2dCQUMzRCxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQzthQUMvRSxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTSwrQ0FBRyxHQUFWO1FBQ0ksSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFO2dCQUNqRCxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWM7YUFDbEMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO2dCQUNwQixRQUFRLEVBQUUsT0FBTztnQkFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7Z0JBQzNELE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO2FBQ3BGLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVPLDZEQUFpQixHQUF6QjtRQUNJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO1lBQ3BCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1lBQzNELE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO1NBQ3BGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxzREFBVSxHQUFsQixVQUFtQixPQUFZO1FBQzNCLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDO0lBRU8sdURBQVcsR0FBbkI7UUFDSSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFHRCxzQkFBVywrREFBZ0I7YUFBM0IsVUFBNEIsT0FBeUI7WUFEckQsaUJBUUM7WUFORyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxPQUFPLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQUMsS0FBSztvQkFDekMsS0FBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEQsQ0FBQyxDQUFDLENBQUM7YUFDTjtRQUNMLENBQUM7OztPQUFBO0lBRUQsc0JBQVkscUVBQXNCO2FBQWxDO1lBQ0ksT0FBTyxDQUNILElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQzdCLENBQUM7UUFDTixDQUFDOzs7T0FBQTtJQUVELHNCQUFZLHdFQUF5QjthQUFyQztZQUNJLE9BQU8sQ0FDSCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUM3QixDQUFDO1FBQ04sQ0FBQzs7O09BQUE7SUFFRCxzQkFBWSxzRUFBdUI7YUFBbkM7WUFDSSxPQUFPLENBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FDaEMsQ0FBQztRQUNOLENBQUM7OztPQUFBO0lBRUQsc0JBQVksc0VBQXVCO2FBQW5DO1lBQ0ksT0FBTyxDQUNILElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQzVCLENBQUM7UUFDTixDQUFDOzs7T0FBQTtJQUVELHNCQUFXLDREQUFhO2FBQXhCO1lBQ0ksT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDOzs7T0FBQTtJQUdELHNCQUFXLHlEQUFVO2FBQXJCLFVBQXNCLFNBQWtCO1lBQ3BDLElBQUksU0FBUyxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUseUJBQVMsSUFBSSxDQUFDLFVBQVUsQ0FBRSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3ZFO1FBQ0wsQ0FBQzs7O09BQUE7O2dCQWxPZ0MsbUJBQW1CO2dCQUN0QixnQkFBZ0I7Z0JBQ2xCLGNBQWM7Z0JBQzFCLGlCQUFpQjtnQkFDYixNQUFNO2dCQUNFLGNBQWM7Z0JBQ0csK0JBQStCO2dCQUM1QyxrQkFBa0I7O0lBaEVsRDtRQURDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQzsyRUFDVDtJQUczQztRQURDLEtBQUssRUFBRTt5RUFDa0I7SUFFMUI7UUFEQyxLQUFLLEVBQUU7eUVBQ2tCO0lBRTFCO1FBREMsS0FBSyxFQUFFOzBFQUNtQjtJQUUzQjtRQURDLEtBQUssRUFBRTt5RUFDa0I7SUFFMUI7UUFEQyxLQUFLLEVBQUU7dUVBQ21FO0lBRTNFO1FBREMsS0FBSyxFQUFFO3lFQUM0QztJQUVwRDtRQURDLEtBQUssRUFBRTswRUFDMkI7SUFFbkM7UUFEQyxLQUFLLEVBQUU7d0VBQ2tCO0lBRTFCO1FBREMsS0FBSyxFQUFFO3FGQUN1QztJQUcvQztRQURDLE1BQU0sRUFBRTt5RUFDMEQ7SUFFbkU7UUFEQyxNQUFNLEVBQUU7eUVBQzBEO0lBRW5FO1FBREMsTUFBTSxFQUFFO3lFQUNzRDtJQUUvRDtRQURDLE1BQU0sRUFBRTt5RkFDMEU7SUFFbkY7UUFEQyxNQUFNLEVBQUU7c0ZBQzJFO0lBRXBGO1FBREMsTUFBTSxFQUFFO2tGQUN1RTtJQWdOaEY7UUFEQyxLQUFLLEVBQUU7NkVBUVA7SUErQkQ7UUFEQyxLQUFLLEVBQUU7dUVBTVA7SUE3UlEsaUNBQWlDO1FBTjdDLFNBQVMsQ0FBQztZQUNQLDhDQUE4QztZQUM5QyxRQUFRLEVBQUUsK0JBQStCO1lBQ3pDLDIvQkFBMkQ7O1NBRTlELENBQUM7T0FDVyxpQ0FBaUMsQ0ErUjdDO0lBQUQsd0NBQUM7Q0FBQSxBQS9SRCxJQStSQztTQS9SWSxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25EZXN0cm95LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBDdXN0b21GaWVsZHNDb21wb25lbnQgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgU2VydmljZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3NlcnZpY2VUeXBlJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFNlcnZpY2UgfSBmcm9tIFwiLi9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWxpc3Quc2VydmljZVwiO1xuaW1wb3J0IHsgU2hhcmVkU3RhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uL3NoYXJlZC9zaGFyZWQtc3RhdGUuc2VydmljZVwiO1xuXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6IFwiYy1oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWxpc3RcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2hpc3RvcmljYWwtcGl4LWFjY291bnQtbGlzdC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWxpc3QuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKEN1c3RvbUZpZWxkc0NvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIGN1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRzQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGVybWlzc2lvbjogb2JqZWN0O1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVtcGxveWVlSWQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZXBlbmRlbnRJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRhdGVGb3JtYXQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbmRQb2ludDogc3RyaW5nID0gXCJoY20vcGF5cm9sbC9xdWVyaWVzL2hpc3RvcmljYWxFbXBsb3llZVBpeFF1ZXJ5XCI7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMga2V5UGF5bG9hZDogc3RyaW5nID0gXCJoaXN0b3JpY2FsRW1wbG95ZWVQaXhcIjtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB3aXRoU2lkZWJhcjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGlkZUZpZWxkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dBY3Rpb25zQnV0dG9uT25BZGQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpc09ubHlWaWV3OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNPbmx5RWRpdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGVuYWJsZVZpZXc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGlzRWRpdEp1ZGljaWFsRGVwZW5kZW50UGl4OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNIaWRlQnRuQWRkRm9yVmlld01vZGU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNTaG93QWN0aW9uc0J1dHRvbjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBsYXN0UmVjb3JkOiBhbnk7XG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwdWJsaWMgaW5pdFBhcmFtZXRlcnM6IGFueTtcbiAgICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XG4gICAgcHVibGljIHBhcmFtZXRlcnM6IGFueTtcblxuICAgIHB1YmxpYyBjb2x1bW5zID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgXCJoY20ucGF5cm9sbC5oaXN0b3JpY2FsX3BpeF9hY2NvdW50X2xhYmVsX2RhdGVfY2hhbmdlXCIsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZmllbGQ6IFwiZGF0ZUNoYW5nZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfbW92aW1lbnRhdGlvbl9oaXN0b3JpY2FsX3BpeF9hY2NvdW50X2xhYmVsX3F0ZF9hY2NvdW50XCIsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZmllbGQ6IFwibnVtYmVyT2ZQaXhBY2NvdW50XCIsXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RTZXJ2aWNlOiBIaXN0b3JpY2FsUGl4QWNjb3VudExpc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNoYXJlZFN0YXRlU2VydmljZTogU2hhcmVkU3RhdGVTZXJ2aWNlLFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRQYXJhbWV0ZXJzID0geyBlbXBsb3llZUlkOiB0aGlzLmVtcGxveWVlSWQsIGRlcGVuZGVudElkOiB0aGlzLmRlcGVuZGVudElkIH07XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25MYXp5TG9hZChwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcGF5bG9hZC5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB2YWx1ZS5kYXRlQ2hhbmdlID0gbW9tZW50KHZhbHVlLmRhdGVDaGFuZ2UpLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXQpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9uR3JpZExvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1lbnVBY3Rpb25zKHJvd0RhdGE6IGFueSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19pbWFnZV9jcm9wcGVyX3ZpZXdcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmlzQWxsb3dUb1ZpZXdIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRIaWRlRmllbGQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU2hvd0FjdGlvbnNCdXR0b24uZW1pdChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRTaG93RWRpdE1vZGUoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZUNoYW5nZSA9IHJvd0RhdGEgJiYgcm93RGF0YS5kYXRlQ2hhbmdlICYmIG1vbWVudChyb3dEYXRhLmRhdGVDaGFuZ2UsIHRoaXMuZGF0ZUZvcm1hdCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLndpdGhTaWRlYmFyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc09ubHlWaWV3LmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc09ubHlFZGl0LmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNIaWRlQnRuQWRkRm9yVmlld01vZGUuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRIaWRlQnRuQWRkRm9yVmlld01vZGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRTdGF0ZVNlcnZpY2Uuc2V0QWN0aXZlSGlkZU9wdGlvbnNPblZpZXcodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2BoaXN0b3JpY2FsLXBpeC1hY2NvdW50LyR7IGRhdGVDaGFuZ2UgfWBdLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldEFjdGl2ZUhpZGVPcHRpb25zT25WaWV3KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldFNhdmVCdXR0b24oZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlVmlldy5lbWl0KGRhdGVDaGFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05vdEFsbG93TWVzc2FnZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZWRpdFwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNBbGxvd1RvRWRpdEhpc3RvcmljYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldEhpZGVGaWVsZCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTaG93QWN0aW9uc0J1dHRvbi5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRTdGF0ZVNlcnZpY2Uuc2V0U2hvd0VkaXRNb2RlKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZUNoYW5nZSA9IHJvd0RhdGEgJiYgcm93RGF0YS5kYXRlQ2hhbmdlICYmIG1vbWVudChyb3dEYXRhLmRhdGVDaGFuZ2UsIHRoaXMuZGF0ZUZvcm1hdCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLndpdGhTaWRlYmFyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc09ubHlWaWV3LmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPbmx5RWRpdC5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNIaWRlQnRuQWRkRm9yVmlld01vZGUuZW1pdChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRTdGF0ZVNlcnZpY2Uuc2V0SGlkZUJ0bkFkZEZvclZpZXdNb2RlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRBY3RpdmVIaWRlT3B0aW9uc09uVmlldyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2BoaXN0b3JpY2FsLXBpeC1hY2NvdW50LyR7IGRhdGVDaGFuZ2UgfWBdLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldEFjdGl2ZUhpZGVPcHRpb25zT25WaWV3KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRTdGF0ZVNlcnZpY2UudHJpZ2dlckFjdGl2ZVZhbGlkYXRvcnNPbkVkaXRNb2RhbE9wZW4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRTYXZlQnV0dG9uKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlVmlldy5lbWl0KGRhdGVDaGFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05vdEFsbG93TWVzc2FnZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZGVsZXRlXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBbGxvd1RvRGVsZXRlSGlzdG9yaWNhbCAmJiByb3dEYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZShyb3dEYXRhLmlkLCByb3dEYXRhLmRhdGVDaGFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05vdEFsbG93TWVzc2FnZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVsZXRlKGlkOiBhbnksIGRhdGVDaGFuZ2U6IHN0cmluZykge1xuICAgICAgICBpZiAoaWQgPT09IHRoaXMubGFzdFJlY29yZC5pZCkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZUNoYW5nZVRvRHRvID0gbW9tZW50KGRhdGVDaGFuZ2UsIHRoaXMuZGF0ZUZvcm1hdCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgJHsgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAgIFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX21vdmltZW50YXRpb25faGlzdG9yaWNhbF9waXhfYWNjb3VudF9xdWVzdGlvbl9jb25maXJtX2RlbGV0ZVwiLFxuICAgICAgICAgICAgICAgICkgfT9gLFxuICAgICAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXJ2aWNlID0gdGhpcy53aXRoU2lkZWJhciA/ICBTZXJ2aWNlVHlwZS5QQVlST0xMIDogU2VydmljZVR5cGUuREVQRU5ERU5UO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZW1vdmUodGhpcy5lbXBsb3llZUlkLCBkYXRlQ2hhbmdlVG9EdG8sIHNlcnZpY2UsIHRoaXMuZGVwZW5kZW50SWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJzdWNjZXNzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnN1Y2Nlc3NcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX21vdmltZW50YXRpb25faGlzdG9yaWNhbF9waXhfYWNjb3VudF9yZW1vdmVcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSAodGhpcy5wYXJhbWV0ZXJzICYmIHsgLi4udGhpcy5wYXJhbWV0ZXJzIH0pIHx8IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lcnJvclwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfbW92aW1lbnRhdGlvbl9oaXN0b3JpY2FsX3BpeF9hY2NvdW50X2Vycm9yX3JlbW92ZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLm5vdF9hbGxvd2VkX2RlbGV0ZV9sYXN0XCIpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkKCkge1xuICAgICAgICBpZiAodGhpcy5pc0FsbG93VG9BZGRIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJoaXN0b3JpY2FsLXBpeC1hY2NvdW50LW5ld1wiXSwge1xuICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnBlcm1pc3Npb25fZXJyb3Jfbm90X2FsbG93ZWRcIiksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNOb3RBbGxvd01lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgIHNldmVyaXR5OiBcImVycm9yXCIsXG4gICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVycm9yXCIpLFxuICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnBlcm1pc3Npb25fZXJyb3Jfbm90X2FsbG93ZWRcIiksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25HcmlkTG9hZChwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgaWYgKHBheWxvYWQgJiYgcGF5bG9hZC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdFJlY29yZCA9IHBheWxvYWRbMF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlKCkge1xuICAgICAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgaGlkZUZpZWxkc09uQWRkJChzdWJqZWN0OiBTdWJqZWN0PGJvb2xlYW4+KSB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgaWYgKHN1YmplY3QpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IHN1YmplY3Quc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldEhpZGVGaWVsZCh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQWxsb3dUb0FkZEhpc3RvcmljYWwoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25bXCJpbmNsdWlyXCJdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNBbGxvd1RvRGVsZXRlSGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcImV4Y2x1aXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9WaWV3SGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcInZpc3VhbGl6YXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9FZGl0SGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcImVkaXRhclwiXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2NvcGVkQWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVudUFjdGlvbnMuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgcmVsb2FkTGlzdChjb25kaXRpb246IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMucGFyYW1ldGVycyA9ICh0aGlzLnBhcmFtZXRlcnMgJiYgeyAuLi50aGlzLnBhcmFtZXRlcnMgfSkgfHwge307XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
@@ -14,6 +14,10 @@ var SharedStateService = /** @class */ (function () {
14
14
  this.showEditMode$ = this.showEditMode.asObservable();
15
15
  this.activeValidatorsOnEditModalOpen = new Subject();
16
16
  this.activeValidatorsOnEditModalOpen$ = this.activeValidatorsOnEditModalOpen.asObservable();
17
+ this.hideBtnAddForViewMode = new BehaviorSubject(false);
18
+ this.hideBtnAddForViewMode$ = this.hideBtnAddForViewMode.asObservable();
19
+ this.activeHideOptionsOnView = new BehaviorSubject(true);
20
+ this.activeHideOptionsOnView$ = this.activeHideOptionsOnView.asObservable();
17
21
  }
18
22
  SharedStateService.prototype.setHideField = function (value) {
19
23
  this.hideFieldSubject.next(value);
@@ -30,6 +34,18 @@ var SharedStateService = /** @class */ (function () {
30
34
  SharedStateService.prototype.triggerActiveValidatorsOnEditModalOpen = function () {
31
35
  this.activeValidatorsOnEditModalOpen.next();
32
36
  };
37
+ SharedStateService.prototype.setHideBtnAddForViewMode = function (value) {
38
+ this.hideBtnAddForViewMode.next(value);
39
+ };
40
+ SharedStateService.prototype.resetHideField = function () {
41
+ this.hideFieldSubject.next(true);
42
+ };
43
+ SharedStateService.prototype.setActiveHideOptionsOnView = function (value) {
44
+ this.activeHideOptionsOnView.next(value);
45
+ };
46
+ SharedStateService.prototype.getActiveHideOptionsOnView = function () {
47
+ return this.activeHideOptionsOnView.getValue();
48
+ };
33
49
  SharedStateService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function SharedStateService_Factory() { return new SharedStateService(); }, token: SharedStateService, providedIn: "root" });
34
50
  SharedStateService = tslib_1.__decorate([
35
51
  Injectable({
@@ -39,4 +55,4 @@ var SharedStateService = /** @class */ (function () {
39
55
  return SharedStateService;
40
56
  }());
41
57
  export { SharedStateService };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2hhcmVkL3NoYXJlZC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtoRDtJQUhBO1FBSVkscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDOUQsZUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUxQyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU1QyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU1QyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzFELGtCQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV6QyxvQ0FBK0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzlELHFDQUFnQyxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQXFCMUY7SUFuQkcseUNBQVksR0FBWixVQUFhLEtBQWM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsMENBQWEsR0FBYixVQUFjLEtBQWM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsMENBQWEsR0FBYixVQUFjLEtBQWM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsNENBQWUsR0FBZixVQUFnQixLQUFjO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxtRUFBc0MsR0FBdEM7UUFDSSxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEQsQ0FBQzs7SUFsQ1Esa0JBQWtCO1FBSDlCLFVBQVUsQ0FBQztZQUNWLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7T0FDVyxrQkFBa0IsQ0FtQzlCOzZCQXpDRDtDQXlDQyxBQW5DRCxJQW1DQztTQW5DWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZFN0YXRlU2VydmljZSB7XG4gICAgcHJpdmF0ZSBoaWRlRmllbGRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBoaWRlRmllbGQkID0gdGhpcy5oaWRlRmllbGRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBzaG93QnV0dG9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgc2hvd0J1dHRvbiQgPSB0aGlzLnNob3dCdXR0b25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBzYXZlQnV0dG9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgc2F2ZUJ1dHRvbiQgPSB0aGlzLnNhdmVCdXR0b25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBzaG93RWRpdE1vZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAgIHNob3dFZGl0TW9kZSQgPSB0aGlzLnNob3dFZGl0TW9kZS5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgYWN0aXZlVmFsaWRhdG9yc09uRWRpdE1vZGFsT3BlbiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgYWN0aXZlVmFsaWRhdG9yc09uRWRpdE1vZGFsT3BlbiQgPSB0aGlzLmFjdGl2ZVZhbGlkYXRvcnNPbkVkaXRNb2RhbE9wZW4uYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBzZXRIaWRlRmllbGQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5oaWRlRmllbGRTdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHNldFNob3dCdXR0b24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93QnV0dG9uU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXRTYXZlQnV0dG9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2F2ZUJ1dHRvblN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0U2hvd0VkaXRNb2RlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd0VkaXRNb2RlLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHRyaWdnZXJBY3RpdmVWYWxpZGF0b3JzT25FZGl0TW9kYWxPcGVuKCkge1xuICAgICAgICB0aGlzLmFjdGl2ZVZhbGlkYXRvcnNPbkVkaXRNb2RhbE9wZW4ubmV4dCgpO1xuICAgIH1cbn1cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2hhcmVkL3NoYXJlZC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtoRDtJQUhBO1FBSVkscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDOUQsZUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUxQyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU1QyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU1QyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzFELGtCQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV6QyxvQ0FBK0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzlELHFDQUFnQyxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUvRSwwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNwRSwyQkFBc0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0QsNEJBQXVCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDckUsNkJBQXdCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDO0tBc0MxRTtJQXBDRyx5Q0FBWSxHQUFaLFVBQWEsS0FBYztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCwwQ0FBYSxHQUFiLFVBQWMsS0FBYztRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCwwQ0FBYSxHQUFiLFVBQWMsS0FBYztRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCw0Q0FBZSxHQUFmLFVBQWdCLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELG1FQUFzQyxHQUF0QztRQUNJLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQscURBQXdCLEdBQXhCLFVBQXlCLEtBQWM7UUFDbkMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsMkNBQWMsR0FBZDtRQUNJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELHVEQUEwQixHQUExQixVQUEyQixLQUFjO1FBQ3JDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELHVEQUEwQixHQUExQjtRQUNJLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25ELENBQUM7O0lBeERRLGtCQUFrQjtRQUg5QixVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDO09BQ1csa0JBQWtCLENBMEQ5Qjs2QkFoRUQ7Q0FnRUMsQUExREQsSUEwREM7U0ExRFksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRTdGF0ZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgaGlkZUZpZWxkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgaGlkZUZpZWxkJCA9IHRoaXMuaGlkZUZpZWxkU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgc2hvd0J1dHRvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAgIHNob3dCdXR0b24kID0gdGhpcy5zaG93QnV0dG9uU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgc2F2ZUJ1dHRvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAgIHNhdmVCdXR0b24kID0gdGhpcy5zYXZlQnV0dG9uU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgc2hvd0VkaXRNb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBzaG93RWRpdE1vZGUkID0gdGhpcy5zaG93RWRpdE1vZGUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIGFjdGl2ZVZhbGlkYXRvcnNPbkVkaXRNb2RhbE9wZW4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIGFjdGl2ZVZhbGlkYXRvcnNPbkVkaXRNb2RhbE9wZW4kID0gdGhpcy5hY3RpdmVWYWxpZGF0b3JzT25FZGl0TW9kYWxPcGVuLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHJpdmF0ZSBoaWRlQnRuQWRkRm9yVmlld01vZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBoaWRlQnRuQWRkRm9yVmlld01vZGUkID0gdGhpcy5oaWRlQnRuQWRkRm9yVmlld01vZGUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIGFjdGl2ZUhpZGVPcHRpb25zT25WaWV3ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBhY3RpdmVIaWRlT3B0aW9uc09uVmlldyQgPSB0aGlzLmFjdGl2ZUhpZGVPcHRpb25zT25WaWV3LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgc2V0SGlkZUZpZWxkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaGlkZUZpZWxkU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXRTaG93QnV0dG9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd0J1dHRvblN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0U2F2ZUJ1dHRvbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNhdmVCdXR0b25TdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHNldFNob3dFZGl0TW9kZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNob3dFZGl0TW9kZS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0cmlnZ2VyQWN0aXZlVmFsaWRhdG9yc09uRWRpdE1vZGFsT3BlbigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVWYWxpZGF0b3JzT25FZGl0TW9kYWxPcGVuLm5leHQoKTtcbiAgICB9XG5cbiAgICBzZXRIaWRlQnRuQWRkRm9yVmlld01vZGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5oaWRlQnRuQWRkRm9yVmlld01vZGUubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmVzZXRIaWRlRmllbGQoKSB7XG4gICAgICAgIHRoaXMuaGlkZUZpZWxkU3ViamVjdC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZUhpZGVPcHRpb25zT25WaWV3KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlSGlkZU9wdGlvbnNPblZpZXcubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0QWN0aXZlSGlkZU9wdGlvbnNPblZpZXcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUhpZGVPcHRpb25zT25WaWV3LmdldFZhbHVlKCk7XG4gICAgfVxuXG59XG4iXX0=
@@ -159,6 +159,7 @@ var FormatUtilsService = /** @class */ (function () {
159
159
  */
160
160
  FormatUtilsService.formatCpfInputEvent = function (event) {
161
161
  var cpf = event.target.value;
162
+ console.log("FormatUtilsService.formatCpfInputEvent.cpf: " + cpf);
162
163
  // Permite apagar nos pontos sensíveis
163
164
  if (event.keyCode === 8 && (cpf.length === 4 || cpf.length === 8 || cpf.length === 12)) {
164
165
  return;
@@ -171,6 +172,7 @@ var FormatUtilsService = /** @class */ (function () {
171
172
  */
172
173
  FormatUtilsService.formatCnpjInputEvent = function (event) {
173
174
  var cnpj = event.target.value;
175
+ console.log("FormatUtilsService.formatCnpjInputEvent.cnpj: " + cnpj);
174
176
  // Permite apagar nos pontos sensíveis
175
177
  if (event.keyCode === 8 && (cnpj.length === 3 || cnpj.length === 7 || cnpj.length === 11 || cnpj.length === 16)) {
176
178
  return;
@@ -180,4 +182,4 @@ var FormatUtilsService = /** @class */ (function () {
180
182
  return FormatUtilsService;
181
183
  }());
182
184
  export { FormatUtilsService };
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdXRpbHMvZm9ybWF0LXV0aWxzL2Zvcm1hdC11dGlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQUE7SUE4TEEsQ0FBQztJQTVMRzs7O09BR0c7SUFDSSxrQ0FBZSxHQUF0QixVQUF1QixHQUFXO1FBQzlCLElBQUksR0FBRyxFQUFFO1lBQ0wsT0FBTyxHQUFHO2lCQUNMLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2lCQUNsQixPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQztpQkFDL0IsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7aUJBQy9CLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDeEM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksd0NBQXFCLEdBQTVCLFVBQTZCLEdBQVc7UUFDcEMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVwQixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUxQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ3RFO2FBQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUM5RDthQUFNLElBQUksR0FBRyxDQUFDLE1B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QUFBRCxDQUFDLEFBOUxELElBOExDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEZvcm1hdFV0aWxzU2VydmljZSB7XG5cbiAgICAvKipcbiAgICAgKiBSZXRvcm5hIG8gQ1BGIGZvcm1hdGFkb1xuICAgICAqIEBwYXJhbSBjcGYgQ1BGXG4gICAgICovXG4gICAgc3RhdGljIGdldEZvcm1hdHRlZENwZihjcGY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChjcGYpIHtcbiAgICAgICAgICAgIHJldHVybiBjcGZcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxEL2csIFwiXCIpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoLyhcXGR7M30pKFxcZCkvLCBcIiQxLiQyXCIpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoLyhcXGR7M30pKFxcZCkvLCBcIiQxLiQyXCIpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoLyhcXGR7M30pKFxcZCkvLCBcIiQxLSQyXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldG9ybmEgbyBDUEYgZm9ybWF0YWRvXG4gICAgICogQHBhcmFtIGNwZiBDUEZcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0Rm9ybWF0dGVkQ3BmRWRpdGVkKGNwZjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFjcGYpIHJldHVybiAnJztcblxuICAgICAgICBjcGYgPSBjcGYucmVwbGFjZSgvXFxEL2csICcnKS5zbGljZSgwLCAxMSk7XG5cbiAgICAgICAgaWYgKGNwZi5sZW5ndGggPiA5KSB7XG4gICAgICAgICAgICBjcGYgPSBjcGYucmVwbGFjZSgvXihcXGR7M30pKFxcZHszfSkoXFxkezN9KShcXGR7Mn0pJC8sIFwiJDEuJDIuJDMtJDRcIik7XG4gICAgICAgIH0gZWxzZSBpZiAoY3BmLmxlbmd0aCA+IDYpIHtcbiAgICAgICAgICAgIGNwZiA9IGNwZi5yZXBsYWNlKC9eKFxcZHszfSkoXFxkezN9KShcXGR7MCwzfSkkLywgXCIkMS4kMi4kM1wiKTtcbiAgICAgICAgfSBlbHNlIGlmIChjcGYubGVuZ3RoID4gMykge1xuICAgICAgICAgICAgY3BmID0gY3BmLnJlcGxhY2UoL14oXFxkezN9KShcXGR7MCwzfSkkLywgXCIkMS4kMlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjcGY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0b3JuYSBvIENOUEogZm9ybWF0YWRvXG4gICAgICogQHBhcmFtIGNucGogQ05QSlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRGb3JtYXR0ZWRDbnBqKGNucGo6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChjbnBqKSB7XG4gICAgICAgICAgICByZXR1cm4gY25walxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXEQvZywgXCJcIilcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvKFxcZHsyfSkoXFxkKS8sIFwiJDEuJDJcIilcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvKFxcZHszfSkoXFxkKS8sIFwiJDEuJDJcIilcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvKFxcZHszfSkoXFxkKS8sIFwiJDEvJDJcIilcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvKFxcZHs0fSkoXFxkKS8sIFwiJDEtJDJcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0b3JuYSBvIENOUEogZm9ybWF0YWRvXG4gICAgICogQHBhcmFtIGNucGogQ05QSlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRGb3JtYXR0ZWRDbnBqRWRpdGVkKGNucGo6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghY25waikgcmV0dXJuICcnO1xuXG4gICAgICAgIGNucGogPSBjbnBqLnJlcGxhY2UoL1xcRC9nLCAnJykuc2xpY2UoMCwgMTQpO1xuXG4gICAgICAgIGlmIChjbnBqLmxlbmd0aCA+IDEyKSB7XG4gICAgICAgICAgICBjbnBqID0gY25wai5yZXBsYWNlKC9eKFxcZHsyfSkoXFxkezN9KShcXGR7M30pKFxcZHs0fSkoXFxkezJ9KSQvLCBcIiQxLiQyLiQzLyQ0LSQ1XCIpO1xuICAgICAgICB9IGVsc2UgaWYgKGNucGoubGVuZ3RoID4gOCkge1xuICAgICAgICAgICAgY25waiA9IGNucGoucmVwbGFjZSgvXihcXGR7Mn0pKFxcZHszfSkoXFxkezN9KShcXGR7MCw0fSkkLywgXCIkMS4kMi4kMy8kNFwiKTtcbiAgICAgICAgfSBlbHNlIGlmIChjbnBqLmxlbmd0aCA+IDUpIHtcbiAgICAgICAgICAgIGNucGogPSBjbnBqLnJlcGxhY2UoL14oXFxkezJ9KShcXGR7M30pKFxcZHswLDN9KSQvLCBcIiQxLiQyLiQzXCIpO1xuICAgICAgICB9IGVsc2UgaWYgKGNucGoubGVuZ3RoID4gMikge1xuICAgICAgICAgICAgY25waiA9IGNucGoucmVwbGFjZSgvXihcXGR7Mn0pKFxcZHswLDN9KSQvLCBcIiQxLiQyXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNucGo7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0b3JuYSBhIG1hc2NhcmEgZG8gQ1BGL0NOUEpcbiAgICAgKiBAcGFyYW0ga2V5IFZhbG9yZXMgcG9zc8OtdmVpcyBzw6NvIENQRiBvdSBDTlBKXG4gICAgICovXG4gICAgc3RhdGljIGdldENwZkNucGpNYXNrKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgICBjYXNlIFwiQ1BGXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiOTk5Ljk5OS45OTktOTlcIjtcbiAgICAgICAgICAgIGNhc2UgXCJDTlBKXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiOTkuOTk5Ljk5OS85OTk5LTk5XCI7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTcOpdG9kbyBwYXJhIGZvcm1hdGFyIG8gbsO6bWVybyBkZSBpbnNjcmnDp8OjbyBkbyBjbGllbnRlLlxuICAgICAqIEBwYXJhbSBzdWJzY3JpcHRpb25OdW1iZXJcbiAgICAgKiBAcGFyYW0gcGl4S2V5VHlwZVxuICAgICAqIEByZXR1cm5zXG4gICAgICovXG4gICAgc3RhdGljIGdldEZvcm1hdHRlZFN1YnNjcmlwdGlvbk51bWJlcihzdWJzY3JpcHRpb25OdW1iZXI6IHN0cmluZywgcGl4S2V5VHlwZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFzdWJzY3JpcHRpb25OdW1iZXIgfHwgIXBpeEtleVR5cGUpIHJldHVybiBzdWJzY3JpcHRpb25OdW1iZXI7XG5cbiAgICAgICAgc3dpdGNoIChwaXhLZXlUeXBlKSB7XG4gICAgICAgICAgICBjYXNlICdDTlBKJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWRDbnBqRWRpdGVkKHN1YnNjcmlwdGlvbk51bWJlcik7XG4gICAgICAgICAgICBjYXNlICdDUEYnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZENwZkVkaXRlZChzdWJzY3JpcHRpb25OdW1iZXIpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3Vic2NyaXB0aW9uTnVtYmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgIC8qKlxuICAgICAqIE1ldMOzZG8gcGFyYSBmb3JtYXRhciBvIG7Dum1lcm8gZGUgdGVsZWZvbmUuXG4gICAgICogQHBhcmFtIHRlbGVwaG9uZU51bWJlciBTdHJpbmcgY29udGVuZG8gbyBuw7ptZXJvIGRlIHRlbGVmb25lLlxuICAgICAqIEByZXR1cm5zIFN0cmluZyBmb3JtYXRhZGEgY29tIG8gbsO6bWVybyBkZSB0ZWxlZm9uZS5cbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0Rm9ybWF0dGVkVGVsZXBob25lTnVtYmVyKHRlbGVwaG9uZU51bWJlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHRlbCA9IHRlbGVwaG9uZU51bWJlci5yZXBsYWNlKC9cXEQvZywgJycpO1xuICAgICAgICB0ZWwgPSB0ZWwucmVwbGFjZSgvXjAvLCAnJyk7XG4gICAgICAgIGlmICh0ZWwubGVuZ3RoID4gMTApIHtcbiAgICAgICAgICAvLyAjIyMjIyMjIyMjIC0+ICgjIykgIyMjIyMtIyMjI1xuICAgICAgICAgIHRlbCA9IHRlbC5yZXBsYWNlKC9eKFxcZHsyfSk/KFxcZHs1fSk/KFxcZHs0fSkuKi8sICcoJDEpICQyLSQzJyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGVsLmxlbmd0aCA+IDkpIHtcbiAgICAgICAgICAvLyBBQSMjIyMjIyMjIyAtPiAoQUEpICMjIyMtIyMjI1xuICAgICAgICAgIHRlbCA9IHRlbC5yZXBsYWNlKC9eKFxcZHsyfSk/KFxcZHs0fSk/KFxcZHs0fSkuKi8sICcoJDEpICQyLSQzJyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGVsLmxlbmd0aCA+IDUpIHtcbiAgICAgICAgICAvLyAjIyMjIyMjIC0+ICgjIykgIyMjIy0jXG4gICAgICAgICAgdGVsID0gdGVsLnJlcGxhY2UoL14oXFxkezJ9KT8oXFxkezR9KT8oXFxkezAsNH0pLiovLCAnKCQxKSAkMi0kMycpO1xuICAgICAgICB9IGVsc2UgaWYgKHRlbC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgLy8gIyMjIyAtPiAoIyMpICMjXG4gICAgICAgICAgdGVsID0gdGVsLnJlcGxhY2UoL14oXFxkezJ9KT8oXFxkezAsNX0pLiovLCAnKCQxKSAkMicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0ZWwgIT09ICcnKSB7IHRlbCA9IHRlbC5yZXBsYWNlKC9eKFxcZCopLywgJygkMScpOyB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGVsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldMOzZG8gcGFyYSBmb3JtYXRhciBhIHBvcmNlbnRhZ2VtIHBhcmEgMiBjYXNhcyBkZWNpbWFpcy5cbiAgICAgKiBAcGFyYW0gdmFsdWUgTsO6bWVybyBhIHNlciBmb3JtYXRhZG8uXG4gICAgICovXG4gICAgc3RhdGljIGdldEZvcm1hdHRlZFBlcmNlbnRhZ2UodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwYXJzZUZsb2F0KHZhbHVlKS50b0ZpeGVkKDIpLnJlcGxhY2UoJy4nLCAnLCcpICsgJyUnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldMOzZG8gcGFyYSBmb3JtYXRhciBvIG7Dum1lcm8gZGUgdGVsZWZvbmUgZGUgdW0gY2FtcG8gSW5wdXQuXG4gICAgICogQHBhcmFtIGV2ZW50IEV2ZW50byBkbyBJbnB1dCBkbyBjYW1wbyBkZSB0ZWxlZm9uZS5cbiAgICAgKi9cbiAgICBzdGF0aWMgZm9ybWF0VGVsZXBob25lSW5wdXRFdmVudChldmVudDogYW55KSB7XG4gICAgICAgIGxldCB0ZWxlcGhvbmVOdW1iZXIgPSBldmVudC50YXJnZXQudmFsdWU7XG5cbiAgICAgICAgLy8gUGVybWl0ZSBCYWNrc3BhY2UgcGFyYSB1c3XDoXJpbyByZW1vdmVyIFwiKVwiIGUgXCItXCJcbiAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDggJiYgKHRlbGVwaG9uZU51bWJlci5sZW5ndGggPT09IDkgfHwgdGVsZXBob25lTnVtYmVyLmxlbmd0aCA9PT0gNCB8fCB0ZWxlcGhvbmVOdW1iZXIubGVuZ3RoID09PSAzKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gRm9ybWF0VXRpbHNTZXJ2aWNlLmdldEZvcm1hdHRlZFRlbGVwaG9uZU51bWJlcih0ZWxlcGhvbmVOdW1iZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm1hdGEgbyBjYW1wbyBkZSBpbnB1dCBkZSBDUEYgZW0gdGVtcG8gcmVhbC5cbiAgICAgKiBAcGFyYW0gZXZlbnQgRXZlbnRvIGRvIGlucHV0XG4gICAgICovXG4gICAgc3RhdGljIGZvcm1hdENwZklucHV0RXZlbnQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBsZXQgY3BmID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuXG4gICAgICAgIC8vIFBlcm1pdGUgYXBhZ2FyIG5vcyBwb250b3Mgc2Vuc8OtdmVpc1xuICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gOCAmJiAoXG4gICAgICAgICAgICBjcGYubGVuZ3RoID09PSA0IHx8IGNwZi5sZW5ndGggPT09IDggfHwgY3BmLmxlbmd0aCA9PT0gMTIpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBGb3JtYXRVdGlsc1NlcnZpY2UuZ2V0Rm9ybWF0dGVkQ3BmRWRpdGVkKGNwZik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9ybWF0YSBvIGNhbXBvIGRlIGlucHV0IGRlIENOUEogZW0gdGVtcG8gcmVhbC5cbiAgICAgKiBAcGFyYW0gZXZlbnQgRXZlbnRvIGRvIGlucHV0XG4gICAgICovXG4gICAgc3RhdGljIGZvcm1hdENucGpJbnB1dEV2ZW50KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IGNucGogPSBldmVudC50YXJnZXQudmFsdWU7XG5cbiAgICAgICAgLy8gUGVybWl0ZSBhcGFnYXIgbm9zIHBvbnRvcyBzZW5zw612ZWlzXG4gICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSA4ICYmIChcbiAgICAgICAgICAgIGNucGoubGVuZ3RoID09PSAzIHx8IGNucGoubGVuZ3RoID09PSA3IHx8IGNucGoubGVuZ3RoID09PSAxMSB8fCBjbnBqLmxlbmd0aCA9PT0gMTYpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBGb3JtYXRVdGlsc1NlcnZpY2UuZ2V0Rm9ybWF0dGVkQ25wakVkaXRlZChjbnBqKTtcbiAgICB9XG59XG4iXX0=
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdXRpbHMvZm9ybWF0LXV0aWxzL2Zvcm1hdC11dGlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQUE7SUFrTUEsQ0FBQztJQWhNRzs7O09BR0c7SUFDSSxrQ0FBZSxHQUF0QixVQUF1QixHQUFXO1FBQzlCLElBQUksR0FBRyxFQUFFO1lBQ0wsT0FBTyxHQUFHO2lCQUNMLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2lCQUNsQixPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQztpQkFDL0IsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7aUJBQy9CLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDeEM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksd0NBQXFCLEdBQTVCLFVBQTZCLEdBQVc7UUFDcEMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVwQixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUxQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hCLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ3RFO2FBQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUM5RDthQUFNLElBQUksR0FBRyxDQUFDLE1B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T0FBTztTQUNWO1FBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNMLHlCQUFDO0FBQUQsQ0FBQyxBQWxNRCxJQWtNQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGb3JtYXRVdGlsc1NlcnZpY2Uge1xuXG4gICAgLyoqXG4gICAgICogUmV0b3JuYSBvIENQRiBmb3JtYXRhZG9cbiAgICAgKiBAcGFyYW0gY3BmIENQRlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRGb3JtYXR0ZWRDcGYoY3BmOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoY3BmKSB7XG4gICAgICAgICAgICByZXR1cm4gY3BmXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcRC9nLCBcIlwiKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8oXFxkezN9KShcXGQpLywgXCIkMS4kMlwiKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8oXFxkezN9KShcXGQpLywgXCIkMS4kMlwiKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8oXFxkezN9KShcXGQpLywgXCIkMS0kMlwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRvcm5hIG8gQ1BGIGZvcm1hdGFkb1xuICAgICAqIEBwYXJhbSBjcGYgQ1BGXG4gICAgICovXG4gICAgc3RhdGljIGdldEZvcm1hdHRlZENwZkVkaXRlZChjcGY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghY3BmKSByZXR1cm4gJyc7XG5cbiAgICAgICAgY3BmID0gY3BmLnJlcGxhY2UoL1xcRC9nLCAnJykuc2xpY2UoMCwgMTEpO1xuXG4gICAgICAgIGlmIChjcGYubGVuZ3RoID4gOSkge1xuICAgICAgICAgICAgY3BmID0gY3BmLnJlcGxhY2UoL14oXFxkezN9KShcXGR7M30pKFxcZHszfSkoXFxkezJ9KSQvLCBcIiQxLiQyLiQzLSQ0XCIpO1xuICAgICAgICB9IGVsc2UgaWYgKGNwZi5sZW5ndGggPiA2KSB7XG4gICAgICAgICAgICBjcGYgPSBjcGYucmVwbGFjZSgvXihcXGR7M30pKFxcZHszfSkoXFxkezAsM30pJC8sIFwiJDEuJDIuJDNcIik7XG4gICAgICAgIH0gZWxzZSBpZiAoY3BmLmxlbmd0aCA+IDMpIHtcbiAgICAgICAgICAgIGNwZiA9IGNwZi5yZXBsYWNlKC9eKFxcZHszfSkoXFxkezAsM30pJC8sIFwiJDEuJDJcIik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY3BmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldG9ybmEgbyBDTlBKIGZvcm1hdGFkb1xuICAgICAqIEBwYXJhbSBjbnBqIENOUEpcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0Rm9ybWF0dGVkQ25waihjbnBqOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoY25waikge1xuICAgICAgICAgICAgcmV0dXJuIGNucGpcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxEL2csIFwiXCIpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoLyhcXGR7Mn0pKFxcZCkvLCBcIiQxLiQyXCIpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoLyhcXGR7M30pKFxcZCkvLCBcIiQxLiQyXCIpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoLyhcXGR7M30pKFxcZCkvLCBcIiQxLyQyXCIpXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoLyhcXGR7NH0pKFxcZCkvLCBcIiQxLSQyXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldG9ybmEgbyBDTlBKIGZvcm1hdGFkb1xuICAgICAqIEBwYXJhbSBjbnBqIENOUEpcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0Rm9ybWF0dGVkQ25wakVkaXRlZChjbnBqOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWNucGopIHJldHVybiAnJztcblxuICAgICAgICBjbnBqID0gY25wai5yZXBsYWNlKC9cXEQvZywgJycpLnNsaWNlKDAsIDE0KTtcblxuICAgICAgICBpZiAoY25wai5sZW5ndGggPiAxMikge1xuICAgICAgICAgICAgY25waiA9IGNucGoucmVwbGFjZSgvXihcXGR7Mn0pKFxcZHszfSkoXFxkezN9KShcXGR7NH0pKFxcZHsyfSkkLywgXCIkMS4kMi4kMy8kNC0kNVwiKTtcbiAgICAgICAgfSBlbHNlIGlmIChjbnBqLmxlbmd0aCA+IDgpIHtcbiAgICAgICAgICAgIGNucGogPSBjbnBqLnJlcGxhY2UoL14oXFxkezJ9KShcXGR7M30pKFxcZHszfSkoXFxkezAsNH0pJC8sIFwiJDEuJDIuJDMvJDRcIik7XG4gICAgICAgIH0gZWxzZSBpZiAoY25wai5sZW5ndGggPiA1KSB7XG4gICAgICAgICAgICBjbnBqID0gY25wai5yZXBsYWNlKC9eKFxcZHsyfSkoXFxkezN9KShcXGR7MCwzfSkkLywgXCIkMS4kMi4kM1wiKTtcbiAgICAgICAgfSBlbHNlIGlmIChjbnBqLmxlbmd0aCA+IDIpIHtcbiAgICAgICAgICAgIGNucGogPSBjbnBqLnJlcGxhY2UoL14oXFxkezJ9KShcXGR7MCwzfSkkLywgXCIkMS4kMlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjbnBqO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldG9ybmEgYSBtYXNjYXJhIGRvIENQRi9DTlBKXG4gICAgICogQHBhcmFtIGtleSBWYWxvcmVzIHBvc3PDrXZlaXMgc8OjbyBDUEYgb3UgQ05QSlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRDcGZDbnBqTWFzayhrZXk6IHN0cmluZykge1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgICAgY2FzZSBcIkNQRlwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIjk5OS45OTkuOTk5LTk5XCI7XG4gICAgICAgICAgICBjYXNlIFwiQ05QSlwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIjk5Ljk5OS45OTkvOTk5OS05OVwiO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE3DqXRvZG8gcGFyYSBmb3JtYXRhciBvIG7Dum1lcm8gZGUgaW5zY3Jpw6fDo28gZG8gY2xpZW50ZS5cbiAgICAgKiBAcGFyYW0gc3Vic2NyaXB0aW9uTnVtYmVyXG4gICAgICogQHBhcmFtIHBpeEtleVR5cGVcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIHN0YXRpYyBnZXRGb3JtYXR0ZWRTdWJzY3JpcHRpb25OdW1iZXIoc3Vic2NyaXB0aW9uTnVtYmVyOiBzdHJpbmcsIHBpeEtleVR5cGU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghc3Vic2NyaXB0aW9uTnVtYmVyIHx8ICFwaXhLZXlUeXBlKSByZXR1cm4gc3Vic2NyaXB0aW9uTnVtYmVyO1xuXG4gICAgICAgIHN3aXRjaCAocGl4S2V5VHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnQ05QSic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0dGVkQ25wakVkaXRlZChzdWJzY3JpcHRpb25OdW1iZXIpO1xuICAgICAgICAgICAgY2FzZSAnQ1BGJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWRDcGZFZGl0ZWQoc3Vic2NyaXB0aW9uTnVtYmVyKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbk51bWJlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICAvKipcbiAgICAgKiBNZXTDs2RvIHBhcmEgZm9ybWF0YXIgbyBuw7ptZXJvIGRlIHRlbGVmb25lLlxuICAgICAqIEBwYXJhbSB0ZWxlcGhvbmVOdW1iZXIgU3RyaW5nIGNvbnRlbmRvIG8gbsO6bWVybyBkZSB0ZWxlZm9uZS5cbiAgICAgKiBAcmV0dXJucyBTdHJpbmcgZm9ybWF0YWRhIGNvbSBvIG7Dum1lcm8gZGUgdGVsZWZvbmUuXG4gICAgICovXG4gICAgc3RhdGljIGdldEZvcm1hdHRlZFRlbGVwaG9uZU51bWJlcih0ZWxlcGhvbmVOdW1iZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGxldCB0ZWwgPSB0ZWxlcGhvbmVOdW1iZXIucmVwbGFjZSgvXFxEL2csICcnKTtcbiAgICAgICAgdGVsID0gdGVsLnJlcGxhY2UoL14wLywgJycpO1xuICAgICAgICBpZiAodGVsLmxlbmd0aCA+IDEwKSB7XG4gICAgICAgICAgLy8gIyMjIyMjIyMjIyAtPiAoIyMpICMjIyMjLSMjIyNcbiAgICAgICAgICB0ZWwgPSB0ZWwucmVwbGFjZSgvXihcXGR7Mn0pPyhcXGR7NX0pPyhcXGR7NH0pLiovLCAnKCQxKSAkMi0kMycpO1xuICAgICAgICB9IGVsc2UgaWYgKHRlbC5sZW5ndGggPiA5KSB7XG4gICAgICAgICAgLy8gQUEjIyMjIyMjIyMgLT4gKEFBKSAjIyMjLSMjIyNcbiAgICAgICAgICB0ZWwgPSB0ZWwucmVwbGFjZSgvXihcXGR7Mn0pPyhcXGR7NH0pPyhcXGR7NH0pLiovLCAnKCQxKSAkMi0kMycpO1xuICAgICAgICB9IGVsc2UgaWYgKHRlbC5sZW5ndGggPiA1KSB7XG4gICAgICAgICAgLy8gIyMjIyMjIyAtPiAoIyMpICMjIyMtI1xuICAgICAgICAgIHRlbCA9IHRlbC5yZXBsYWNlKC9eKFxcZHsyfSk/KFxcZHs0fSk/KFxcZHswLDR9KS4qLywgJygkMSkgJDItJDMnKTtcbiAgICAgICAgfSBlbHNlIGlmICh0ZWwubGVuZ3RoID4gMSkge1xuICAgICAgICAgIC8vICMjIyMgLT4gKCMjKSAjI1xuICAgICAgICAgIHRlbCA9IHRlbC5yZXBsYWNlKC9eKFxcZHsyfSk/KFxcZHswLDV9KS4qLywgJygkMSkgJDInKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGVsICE9PSAnJykgeyB0ZWwgPSB0ZWwucmVwbGFjZSgvXihcXGQqKS8sICcoJDEnKTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRlbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXTDs2RvIHBhcmEgZm9ybWF0YXIgYSBwb3JjZW50YWdlbSBwYXJhIDIgY2FzYXMgZGVjaW1haXMuXG4gICAgICogQHBhcmFtIHZhbHVlIE7Dum1lcm8gYSBzZXIgZm9ybWF0YWRvLlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRGb3JtYXR0ZWRQZXJjZW50YWdlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSkudG9GaXhlZCgyKS5yZXBsYWNlKCcuJywgJywnKSArICclJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXTDs2RvIHBhcmEgZm9ybWF0YXIgbyBuw7ptZXJvIGRlIHRlbGVmb25lIGRlIHVtIGNhbXBvIElucHV0LlxuICAgICAqIEBwYXJhbSBldmVudCBFdmVudG8gZG8gSW5wdXQgZG8gY2FtcG8gZGUgdGVsZWZvbmUuXG4gICAgICovXG4gICAgc3RhdGljIGZvcm1hdFRlbGVwaG9uZUlucHV0RXZlbnQoZXZlbnQ6IGFueSkge1xuICAgICAgICBsZXQgdGVsZXBob25lTnVtYmVyID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuXG4gICAgICAgIC8vIFBlcm1pdGUgQmFja3NwYWNlIHBhcmEgdXN1w6FyaW8gcmVtb3ZlciBcIilcIiBlIFwiLVwiXG4gICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSA4ICYmICh0ZWxlcGhvbmVOdW1iZXIubGVuZ3RoID09PSA5IHx8IHRlbGVwaG9uZU51bWJlci5sZW5ndGggPT09IDQgfHwgdGVsZXBob25lTnVtYmVyLmxlbmd0aCA9PT0gMykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IEZvcm1hdFV0aWxzU2VydmljZS5nZXRGb3JtYXR0ZWRUZWxlcGhvbmVOdW1iZXIodGVsZXBob25lTnVtYmVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb3JtYXRhIG8gY2FtcG8gZGUgaW5wdXQgZGUgQ1BGIGVtIHRlbXBvIHJlYWwuXG4gICAgICogQHBhcmFtIGV2ZW50IEV2ZW50byBkbyBpbnB1dFxuICAgICAqL1xuICAgIHN0YXRpYyBmb3JtYXRDcGZJbnB1dEV2ZW50KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IGNwZiA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgY29uc29sZS5sb2coXCJGb3JtYXRVdGlsc1NlcnZpY2UuZm9ybWF0Q3BmSW5wdXRFdmVudC5jcGY6IFwiICsgY3BmKTtcblxuXG4gICAgICAgIC8vIFBlcm1pdGUgYXBhZ2FyIG5vcyBwb250b3Mgc2Vuc8OtdmVpc1xuICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gOCAmJiAoXG4gICAgICAgICAgICBjcGYubGVuZ3RoID09PSA0IHx8IGNwZi5sZW5ndGggPT09IDggfHwgY3BmLmxlbmd0aCA9PT0gMTIpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBGb3JtYXRVdGlsc1NlcnZpY2UuZ2V0Rm9ybWF0dGVkQ3BmRWRpdGVkKGNwZik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9ybWF0YSBvIGNhbXBvIGRlIGlucHV0IGRlIENOUEogZW0gdGVtcG8gcmVhbC5cbiAgICAgKiBAcGFyYW0gZXZlbnQgRXZlbnRvIGRvIGlucHV0XG4gICAgICovXG4gICAgc3RhdGljIGZvcm1hdENucGpJbnB1dEV2ZW50KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IGNucGogPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiRm9ybWF0VXRpbHNTZXJ2aWNlLmZvcm1hdENucGpJbnB1dEV2ZW50LmNucGo6IFwiICsgY25waik7XG5cblxuICAgICAgICAvLyBQZXJtaXRlIGFwYWdhciBub3MgcG9udG9zIHNlbnPDrXZlaXNcbiAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDggJiYgKFxuICAgICAgICAgICAgY25wai5sZW5ndGggPT09IDMgfHwgY25wai5sZW5ndGggPT09IDcgfHwgY25wai5sZW5ndGggPT09IDExIHx8IGNucGoubGVuZ3RoID09PSAxNikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IEZvcm1hdFV0aWxzU2VydmljZS5nZXRGb3JtYXR0ZWRDbnBqRWRpdGVkKGNucGopO1xuICAgIH1cbn1cbiJdfQ==