@bizdoc/core 2.3.15 → 2.3.17

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 (36) hide show
  1. package/assets/themes/brown.min.css +49 -42
  2. package/assets/themes/dark.min.css +47 -40
  3. package/assets/themes/deep-purple-light-blue.min.css +46 -44
  4. package/assets/themes/deep-purple-teal.min.css +46 -44
  5. package/assets/themes/default.min.css +46 -44
  6. package/assets/themes/green.min.css +49 -42
  7. package/assets/themes/indigo.min.css +49 -42
  8. package/assets/themes/syncfusion.min.css +90 -0
  9. package/esm2022/lib/admin/architecture/designer.component.mjs +3 -3
  10. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +10 -9
  11. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  12. package/esm2022/lib/admin/form/workflow/node.component.mjs +4 -4
  13. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +5 -5
  14. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +2 -2
  15. package/esm2022/lib/admin/patterns/patterns.component.mjs +3 -3
  16. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +9 -7
  17. package/esm2022/lib/app.component.mjs +5 -1
  18. package/esm2022/lib/browse/filter/filter.component.mjs +2 -3
  19. package/esm2022/lib/compose/action/assign-action.component.mjs +4 -4
  20. package/esm2022/lib/compose/action/moveto-action.component.mjs +8 -8
  21. package/esm2022/lib/compose/action/return-action.component.mjs +3 -3
  22. package/esm2022/lib/core/models.mjs +1 -1
  23. package/esm2022/lib/core/translations.mjs +5 -4
  24. package/esm2022/lib/cube/grid/spreadsheet.component.mjs +16 -11
  25. package/esm2022/lib/cube/matrix/table.component.mjs +3 -3
  26. package/esm2022/lib/modules/grid.module.mjs +3 -3
  27. package/esm2022/lib/options/options.component.mjs +6 -4
  28. package/esm2022/lib/scheduler/schedule.component.mjs +3 -3
  29. package/fesm2022/bizdoc-core.mjs +78 -64
  30. package/fesm2022/bizdoc-core.mjs.map +1 -1
  31. package/lib/admin/architecture/elements/cube.component.d.ts +1 -1
  32. package/lib/admin/profiler/outofoffice.component.d.ts +2 -0
  33. package/lib/core/translations.d.ts +4 -3
  34. package/lib/cube/grid/spreadsheet.component.d.ts +6 -1
  35. package/lib/options/options.component.d.ts +2 -0
  36. package/package.json +1 -1
@@ -27,13 +27,13 @@ export class ReassignDialog {
27
27
  pipe(map(r => r.filter(u => this._data.exclude.indexOf(u.id) < 0)));
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ReassignDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.SessionService }, { token: i2.AccountService }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: ReassignDialog, selector: "ng-component", ngImport: i0, template: "<h2 mat-dialog-title>{{'Reassign' | translate }}</h2>\r\n<mat-dialog-content>\r\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'Who' | translate}}\" formControlName=\"userId\" required>\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">{{u.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <!--<mat-form-field>\r\n <mat-select placeholder=\"{{'Role' | translate}}\" formControlName=\"role\">\r\n <mat-option>{{'None'| translate}}</mat-option>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>-->\r\n <mat-form-field>\r\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" placeholder=\"{{'Note'| translate}}\" maxlength=\"200\"></textarea>\r\n <mat-hint align=\"end\">{{form.controls['note'].value?.length || 0}} / {{200}}</mat-hint>\r\n </mat-form-field>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" color=\"primary\" [disabled]=\"!form.valid\">{{'OK' | translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\r\n</mat-dialog-actions>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i5.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i5.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i11.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: ReassignDialog, selector: "ng-component", ngImport: i0, template: "<h2 mat-dialog-title>{{'Reassign' | translate }}</h2>\r\n<mat-dialog-content>\r\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'Who' | translate}}\" formControlName=\"userId\" required>\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">{{u.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <!--<mat-form-field>\r\n <mat-select placeholder=\"{{'Role' | translate}}\" formControlName=\"role\">\r\n <mat-option>{{'None'| translate}}</mat-option>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>-->\r\n <mat-form-field>\r\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" placeholder=\"{{'Note'| translate}}\" maxlength=\"200\"></textarea>\r\n <mat-hint align=\"end\">{{form.controls.note.value?.length || 0}} / {{200}}</mat-hint>\r\n </mat-form-field>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" color=\"primary\" [disabled]=\"!form.valid\">{{'OK' | translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\r\n</mat-dialog-actions>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i5.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i5.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i11.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ReassignDialog, decorators: [{
33
33
  type: Component,
34
- args: [{ template: "<h2 mat-dialog-title>{{'Reassign' | translate }}</h2>\r\n<mat-dialog-content>\r\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'Who' | translate}}\" formControlName=\"userId\" required>\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">{{u.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <!--<mat-form-field>\r\n <mat-select placeholder=\"{{'Role' | translate}}\" formControlName=\"role\">\r\n <mat-option>{{'None'| translate}}</mat-option>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>-->\r\n <mat-form-field>\r\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" placeholder=\"{{'Note'| translate}}\" maxlength=\"200\"></textarea>\r\n <mat-hint align=\"end\">{{form.controls['note'].value?.length || 0}} / {{200}}</mat-hint>\r\n </mat-form-field>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" color=\"primary\" [disabled]=\"!form.valid\">{{'OK' | translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\r\n</mat-dialog-actions>\r\n" }]
34
+ args: [{ template: "<h2 mat-dialog-title>{{'Reassign' | translate }}</h2>\r\n<mat-dialog-content>\r\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'Who' | translate}}\" formControlName=\"userId\" required>\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">{{u.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <!--<mat-form-field>\r\n <mat-select placeholder=\"{{'Role' | translate}}\" formControlName=\"role\">\r\n <mat-option>{{'None'| translate}}</mat-option>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>-->\r\n <mat-form-field>\r\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" placeholder=\"{{'Note'| translate}}\" maxlength=\"200\"></textarea>\r\n <mat-hint align=\"end\">{{form.controls.note.value?.length || 0}} / {{200}}</mat-hint>\r\n </mat-form-field>\r\n </form>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" color=\"primary\" [disabled]=\"!form.valid\">{{'OK' | translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\r\n</mat-dialog-actions>\r\n" }]
35
35
  }], ctorParameters: () => [{ type: undefined, decorators: [{
36
36
  type: Inject,
37
37
  args: [MAT_DIALOG_DATA]
38
38
  }] }, { type: i1.SessionService }, { type: i2.AccountService }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24uZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9kb2N1bWVudC10cmFjZS9yZWFzc2lnbi5kaWFsb2cudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2RvY3VtZW50LXRyYWNlL3JlYXNzaWduLmRpYWxvZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUkzRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBS3JDLE1BQU0sT0FBTyxjQUFjO0lBT3pCLFlBQTZDLEtBQW1CLEVBQUUsT0FBdUIsRUFBRSxPQUF1QjtRQUFyRSxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBTnZELFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUM1QixNQUFNLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUM7U0FDNUIsQ0FBQyxDQUFDO1FBSUQsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs4R0FYVSxjQUFjLGtCQU9MLGVBQWU7a0dBUHhCLGNBQWMsb0RDWjNCLGl5Q0F3QkE7OzJGRFphLGNBQWM7a0JBSDFCLFNBQVM7OzswQkFVSyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBSb2xlLCBVc2VySW5mbyB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVhc3NpZ24uZGlhbG9nLmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWFzc2lnbkRpYWxvZyB7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgdXNlcklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAgIG5vdGU6IG5ldyBGb3JtQ29udHJvbChudWxsKVxyXG4gIH0pO1xyXG4gIHJlYWRvbmx5IHJvbGVzOiBSb2xlW107XHJcbiAgcmVhZG9ubHkgdXNlcnMkOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+O1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIF9kYXRhOiBSZWFzc2lnbkRhdGEsIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLCBhY2NvdW50OiBBY2NvdW50U2VydmljZSkge1xyXG4gICAgdGhpcy5yb2xlcyA9IHNlc3Npb24ucHJvZmlsZS5yb2xlcztcclxuICAgIHRoaXMudXNlcnMkID0gYWNjb3VudC5maW5kQWxsKCcnKS5cclxuICAgICAgcGlwZShtYXAociA9PiByLmZpbHRlcih1ID0+IHRoaXMuX2RhdGEuZXhjbHVkZS5pbmRleE9mKHUuaWQpIDwgMCkpKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBSZWFzc2lnbkRhdGEge1xyXG4gIGV4Y2x1ZGU6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlYXNzaWduTW9kZWwge1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4vLyAgcm9sZT86IHN0cmluZztcclxuICBub3RlPzogc3RyaW5nO1xyXG59XHJcbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPnt7J1JlYXNzaWduJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJ7eydXaG8nIHwgdHJhbnNsYXRlfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VySWRcIiByZXF1aXJlZD5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiB1c2VycyQgfCBhc3luY1wiIFt2YWx1ZV09XCJ1LmlkXCI+e3t1Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwhLS08bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHBsYWNlaG9sZGVyPVwie3snUm9sZScgfCB0cmFuc2xhdGV9fVwiIGZvcm1Db250cm9sTmFtZT1cInJvbGVcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbj57eydOb25lJ3wgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHIgb2Ygcm9sZXNcIiBbdmFsdWVdPVwici5uYW1lXCI+e3tyLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+LS0+XHJcbiAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgPHRleHRhcmVhIG1hdElucHV0IGNka1RleHRhcmVhQXV0b3NpemUgZm9ybUNvbnRyb2xOYW1lPVwibm90ZVwiIHBsYWNlaG9sZGVyPVwie3snTm90ZSd8IHRyYW5zbGF0ZX19XCIgbWF4bGVuZ3RoPVwiMjAwXCI+PC90ZXh0YXJlYT5cclxuICAgIDxtYXQtaGludCBhbGlnbj1cImVuZFwiPnt7Zm9ybS5jb250cm9sc1snbm90ZSddLnZhbHVlPy5sZW5ndGggfHwgMH19IC8ge3syMDB9fTwvbWF0LWhpbnQ+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Zvcm0+XHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJmb3JtLnZhbHVlXCIgY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIiFmb3JtLnZhbGlkXCI+e3snT0snIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZT57eydDYW5jZWwnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24uZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9kb2N1bWVudC10cmFjZS9yZWFzc2lnbi5kaWFsb2cudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2RvY3VtZW50LXRyYWNlL3JlYXNzaWduLmRpYWxvZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUkzRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBS3JDLE1BQU0sT0FBTyxjQUFjO0lBT3pCLFlBQTZDLEtBQW1CLEVBQUUsT0FBdUIsRUFBRSxPQUF1QjtRQUFyRSxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBTnZELFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUM1QixNQUFNLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUM7U0FDNUIsQ0FBQyxDQUFDO1FBSUQsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs4R0FYVSxjQUFjLGtCQU9MLGVBQWU7a0dBUHhCLGNBQWMsb0RDWjNCLDh4Q0F3QkE7OzJGRFphLGNBQWM7a0JBSDFCLFNBQVM7OzswQkFVSyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBSb2xlLCBVc2VySW5mbyB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVhc3NpZ24uZGlhbG9nLmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWFzc2lnbkRpYWxvZyB7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgdXNlcklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAgIG5vdGU6IG5ldyBGb3JtQ29udHJvbChudWxsKVxyXG4gIH0pO1xyXG4gIHJlYWRvbmx5IHJvbGVzOiBSb2xlW107XHJcbiAgcmVhZG9ubHkgdXNlcnMkOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+O1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIF9kYXRhOiBSZWFzc2lnbkRhdGEsIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLCBhY2NvdW50OiBBY2NvdW50U2VydmljZSkge1xyXG4gICAgdGhpcy5yb2xlcyA9IHNlc3Npb24ucHJvZmlsZS5yb2xlcztcclxuICAgIHRoaXMudXNlcnMkID0gYWNjb3VudC5maW5kQWxsKCcnKS5cclxuICAgICAgcGlwZShtYXAociA9PiByLmZpbHRlcih1ID0+IHRoaXMuX2RhdGEuZXhjbHVkZS5pbmRleE9mKHUuaWQpIDwgMCkpKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBSZWFzc2lnbkRhdGEge1xyXG4gIGV4Y2x1ZGU6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlYXNzaWduTW9kZWwge1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4vLyAgcm9sZT86IHN0cmluZztcclxuICBub3RlPzogc3RyaW5nO1xyXG59XHJcbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPnt7J1JlYXNzaWduJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJ7eydXaG8nIHwgdHJhbnNsYXRlfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VySWRcIiByZXF1aXJlZD5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiB1c2VycyQgfCBhc3luY1wiIFt2YWx1ZV09XCJ1LmlkXCI+e3t1Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwhLS08bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHBsYWNlaG9sZGVyPVwie3snUm9sZScgfCB0cmFuc2xhdGV9fVwiIGZvcm1Db250cm9sTmFtZT1cInJvbGVcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbj57eydOb25lJ3wgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHIgb2Ygcm9sZXNcIiBbdmFsdWVdPVwici5uYW1lXCI+e3tyLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+LS0+XHJcbiAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgPHRleHRhcmVhIG1hdElucHV0IGNka1RleHRhcmVhQXV0b3NpemUgZm9ybUNvbnRyb2xOYW1lPVwibm90ZVwiIHBsYWNlaG9sZGVyPVwie3snTm90ZSd8IHRyYW5zbGF0ZX19XCIgbWF4bGVuZ3RoPVwiMjAwXCI+PC90ZXh0YXJlYT5cclxuICAgIDxtYXQtaGludCBhbGlnbj1cImVuZFwiPnt7Zm9ybS5jb250cm9scy5ub3RlLnZhbHVlPy5sZW5ndGggfHwgMH19IC8ge3syMDB9fTwvbWF0LWhpbnQ+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Zvcm0+XHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJmb3JtLnZhbHVlXCIgY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIiFmb3JtLnZhbGlkXCI+e3snT0snIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZT57eydDYW5jZWwnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiJdfQ==
@@ -132,7 +132,7 @@ export class WorkflowNodeComponent {
132
132
  return instance;
133
133
  }
134
134
  connectorCaseChange(evt) {
135
- this.connector.controls['case'].setValue(evt.value);
135
+ this.connector.controls.case.setValue(evt.value);
136
136
  this.change.emit();
137
137
  }
138
138
  ngOnDestroy() {
@@ -140,11 +140,11 @@ export class WorkflowNodeComponent {
140
140
  this._elementDestroy.complete();
141
141
  }
142
142
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: WorkflowNodeComponent, deps: [{ token: i1.SessionService }, { token: i2.BizDocComponentFactoryResolver }, { token: i0.Injector }, { token: i3.TranslateService }, { token: i4.FormBuilder }, { token: i5.PaneRef }], target: i0.ɵɵFactoryTarget.Component }); }
143
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: WorkflowNodeComponent, selector: "ng-component", outputs: { change: "change" }, viewQueries: [{ propertyName: "argumentstemplate", first: true, predicate: ["arguments"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "connectorargs", first: true, predicate: ["connectorargs"], descendants: true, static: true }], ngImport: i0, template: "<ng-container #arguments>\r\n</ng-container>\r\n<ng-template #connectorargs>\r\n <form [formGroup]=\"connector\" class=\"column\" autocomplete=\"off\">\r\n <mat-form-field>\r\n <mat-select [placeholder]=\"'Action' | translate\" formControlName=\"action\">\r\n <mat-option *ngFor=\"let action of actions\" [value]=\"action.name\">{{action.title}}</mat-option>\r\n <mat-option>{{'None' | translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group [value]=\"connector.controls['case'].value\" #acase=\"matButtonToggleGroup\" (change)=\"connectorCaseChange($event)\">\r\n <mat-button-toggle value=\"true\">{{'True' | translate}}</mat-button-toggle>\r\n <mat-button-toggle value=\"false\">{{'False' | translate}}</mat-button-toggle>\r\n <mat-button-toggle>{{'Case' | translate}}</mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <mat-form-field [style.display]=\"connector.controls['case'].value==='true'||connector.controls['case'].value==='false'?'none':''\">\r\n <input matInput [placeholder]=\"'Case' | translate\" formControlName=\"case\" />\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", styles: [":host{min-width:280px;padding:4px;display:block}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i7.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: WorkflowNodeComponent, selector: "ng-component", outputs: { change: "change" }, viewQueries: [{ propertyName: "argumentstemplate", first: true, predicate: ["arguments"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "connectorargs", first: true, predicate: ["connectorargs"], descendants: true, static: true }], ngImport: i0, template: "<ng-container #arguments>\r\n</ng-container>\r\n<ng-template #connectorargs>\r\n <form [formGroup]=\"connector\" class=\"column\" autocomplete=\"off\">\r\n <mat-form-field>\r\n <mat-select [placeholder]=\"'Action' | translate\" formControlName=\"action\">\r\n <mat-option *ngFor=\"let action of actions\" [value]=\"action.name\">{{action.title}}</mat-option>\r\n <mat-option>{{'None' | translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group [value]=\"connector.controls.case.value\" #acase=\"matButtonToggleGroup\" (change)=\"connectorCaseChange($event)\">\r\n <mat-button-toggle value=\"true\">{{'True' | translate}}</mat-button-toggle>\r\n <mat-button-toggle value=\"false\">{{'False' | translate}}</mat-button-toggle>\r\n <mat-button-toggle>{{'Case' | translate}}</mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <mat-form-field [style.display]=\"connector.controls.case.value==='true'||connector.controls.case.value==='false'?'none':''\">\r\n <input matInput [placeholder]=\"'Case' | translate\" formControlName=\"case\" />\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", styles: [":host{min-width:280px;padding:4px;display:block}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i7.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
144
144
  }
145
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: WorkflowNodeComponent, decorators: [{
146
146
  type: Component,
147
- args: [{ template: "<ng-container #arguments>\r\n</ng-container>\r\n<ng-template #connectorargs>\r\n <form [formGroup]=\"connector\" class=\"column\" autocomplete=\"off\">\r\n <mat-form-field>\r\n <mat-select [placeholder]=\"'Action' | translate\" formControlName=\"action\">\r\n <mat-option *ngFor=\"let action of actions\" [value]=\"action.name\">{{action.title}}</mat-option>\r\n <mat-option>{{'None' | translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group [value]=\"connector.controls['case'].value\" #acase=\"matButtonToggleGroup\" (change)=\"connectorCaseChange($event)\">\r\n <mat-button-toggle value=\"true\">{{'True' | translate}}</mat-button-toggle>\r\n <mat-button-toggle value=\"false\">{{'False' | translate}}</mat-button-toggle>\r\n <mat-button-toggle>{{'Case' | translate}}</mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <mat-form-field [style.display]=\"connector.controls['case'].value==='true'||connector.controls['case'].value==='false'?'none':''\">\r\n <input matInput [placeholder]=\"'Case' | translate\" formControlName=\"case\" />\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", styles: [":host{min-width:280px;padding:4px;display:block}\n"] }]
147
+ args: [{ template: "<ng-container #arguments>\r\n</ng-container>\r\n<ng-template #connectorargs>\r\n <form [formGroup]=\"connector\" class=\"column\" autocomplete=\"off\">\r\n <mat-form-field>\r\n <mat-select [placeholder]=\"'Action' | translate\" formControlName=\"action\">\r\n <mat-option *ngFor=\"let action of actions\" [value]=\"action.name\">{{action.title}}</mat-option>\r\n <mat-option>{{'None' | translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group [value]=\"connector.controls.case.value\" #acase=\"matButtonToggleGroup\" (change)=\"connectorCaseChange($event)\">\r\n <mat-button-toggle value=\"true\">{{'True' | translate}}</mat-button-toggle>\r\n <mat-button-toggle value=\"false\">{{'False' | translate}}</mat-button-toggle>\r\n <mat-button-toggle>{{'Case' | translate}}</mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <mat-form-field [style.display]=\"connector.controls.case.value==='true'||connector.controls.case.value==='false'?'none':''\">\r\n <input matInput [placeholder]=\"'Case' | translate\" formControlName=\"case\" />\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", styles: [":host{min-width:280px;padding:4px;display:block}\n"] }]
148
148
  }], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.BizDocComponentFactoryResolver }, { type: i0.Injector }, { type: i3.TranslateService }, { type: i4.FormBuilder }, { type: i5.PaneRef }], propDecorators: { change: [{
149
149
  type: Output
150
150
  }], argumentstemplate: [{
@@ -154,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
154
154
  type: ViewChild,
155
155
  args: ['connectorargs', { static: true }]
156
156
  }] } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2Zvcm0vd29ya2Zsb3cvbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2Zvcm0vd29ya2Zsb3cvbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFlLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkksT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU1sRCxNQUFNLE9BQ0UscUJBQXFCO0lBZTNCLFlBQ1UsUUFBd0IsRUFDeEIsZ0JBQWdELEVBQ2hELFNBQW1CLEVBQ25CLFVBQTRCLEVBQzVCLEdBQWdCLEVBQ2hCLEtBQXFDO1FBTHJDLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0M7UUFDaEQsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQWdDO1FBcEI1QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU10QyxjQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDbEMs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QUM7OEdBdklLLHFCQUFxQjtrR0FBckIscUJBQXFCLDhLQUVtQixnQkFBZ0IsMEpDdEJoRSxtckNBb0JBOzsyRkRBUSxxQkFBcUI7a0JBTDVCLFNBQVM7O3NPQU1XLE1BQU07c0JBQXhCLE1BQU07Z0JBQzJELGlCQUFpQjtzQkFBbEYsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDbEIsYUFBYTtzQkFBMUQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIFRlbXBsYXRlUmVmLCBDb21wb25lbnQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbm5lY3Rvck1vZGVsLCBEaWFncmFtLCBOb2RlTW9kZWwgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZGlhZ3JhbXMnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2NvbXBvbmVudC1mYWN0b3J5LXJlc29sdmVyJztcclxuaW1wb3J0IHsgQWN0aW9uLCBGbG93Tm9kZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgTm9kZVJlZiB9IGZyb20gJy4vbm9kZS1yZWYnO1xyXG5pbXBvcnQgeyBBcmd1bWVudHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2xheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IGNsZWFudXAgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vbm9kZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbm9kZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBXb3JrZmxvd05vZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAVmlld0NoaWxkKCdhcmd1bWVudHMnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBhcmd1bWVudHN0ZW1wbGF0ZTogVmlld0NvbnRhaW5lclJlZjtcclxuICBAVmlld0NoaWxkKCdjb25uZWN0b3JhcmdzJywgeyBzdGF0aWM6IHRydWUgfSkgY29ubmVjdG9yYXJnczogVGVtcGxhdGVSZWY8YW55PjtcclxuICBub2RlczogTm9kZU1vZGVsW107XHJcbiAgY29ubmVjdG9yczogQ29ubmVjdG9yTW9kZWxbXTtcclxuICBkaWFncmFtOiBEaWFncmFtO1xyXG4gIHJlYWRvbmx5IGNvbm5lY3RvciA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGFjdGlvbjogbnVsbCxcclxuICAgIGNhc2U6IG51bGxcclxuICB9KTtcclxuICBhY3Rpb25zOiBBY3Rpb25bXTtcclxuICB0b29sPzogRmxvd05vZGU7XHJcbiAgbm9kZTogTm9kZU1vZGVsO1xyXG4gIHByaXZhdGUgX2VsZW1lbnREZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmFjdG9yeVJlc29sdmVyOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIF9wYW5lOiBQYW5lUmVmPFdvcmtmbG93Tm9kZUNvbXBvbmVudD4pIHtcclxuICAgIHRoaXMuYWN0aW9ucyA9IF9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucztcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wYW5lLmRhdGFDaGFuZ2UoKS5zdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSBkWydub2RlcyddO1xyXG4gICAgICB0aGlzLmRpYWdyYW0gPSBkWydkaWFncmFtJ107XHJcbiAgICAgIHRoaXMuY29ubmVjdG9ycyA9IGRbJ2Nvbm5lY3RvcnMnXTtcclxuICAgICAgdGhpcy50b29sID0gbnVsbDtcclxuXHJcbiAgICAgIHRoaXMuX2VsZW1lbnREZXN0cm95Lm5leHQoKTtcclxuICAgICAgdGhpcy5hcmd1bWVudHN0ZW1wbGF0ZS5jbGVhcigpO1xyXG4gICAgICBpZiAodGhpcy5jb25uZWN0b3JzLmxlbmd0aCkge1xyXG4gICAgICAgIGNvbnN0IGNvbm5lY3RvciA9IHRoaXMuY29ubmVjdG9yc1swXTtcclxuICAgICAgICBpZiAoY29ubmVjdG9yLmFkZEluZm8pIHtcclxuICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IGNvbm5lY3Rvci5hZGRJbmZvWydhY3Rpb24nXSwgYWNhc2UgPSBjb25uZWN0b3IuYWRkSW5mb1snY2FzZSddO1xyXG4gICAgICAgICAgdGhpcy5jb25uZWN0b3IucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICAgIGFjdGlvbjogdGhpcy5jb25uZWN0b3JzLmxlbmd0aCA9PT0gMSB8fCB0aGlzLmNvbm5lY3RvcnMuZXZlcnkoYyA9PiBjLmFkZEluZm8gJiYgYy5hZGRJbmZvWydhY3Rpb24nXSA9PT0gYWN0aW9uKSA/IGFjdGlvbiA6IG51bGwsXHJcbiAgICAgICAgICAgIGNhc2U6IHRoaXMuY29ubmVjdG9ycy5sZW5ndGggPT09IDEgfHwgdGhpcy5jb25uZWN0b3JzLmV2ZXJ5KGMgPT4gYy5hZGRJbmZvICYmIGMuYWRkSW5mb1snY2FzZSddID09PSBhY2FzZSkgPyBhY2FzZSA6IG51bGxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9wYW5lLnRpdGxlID0gdGhpcy5fdHJhbnNsYXRlLmdldCh0aGlzLmNvbm5lY3RvcnMubGVuZ3RoID09PSAxID8gJ0Nvbm5lY3RvcicgOiAnQ29ubmVjdG9ycycsIHRoaXMuY29ubmVjdG9ycy5sZW5ndGgpO1xyXG4gICAgICAgIHRoaXMuX3BhbmUuaWNvbiA9ICdsaW5rJztcclxuICAgICAgICB0aGlzLmNvbm5lY3Rvci52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZWxlbWVudERlc3Ryb3kpKS5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gKHZbJ2Nhc2UnXSB8fCB2WydhY3Rpb24nXSkgYXMgc3RyaW5nO1xyXG4gICAgICAgICAgaWYgKCFjb25uZWN0b3IuYWRkSW5mbylcclxuICAgICAgICAgICAgY29ubmVjdG9yLmFkZEluZm8gPSB0aGlzLmNvbm5lY3Rvci5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKGNvbm5lY3Rvci5hZGRJbmZvLCB0aGlzLmNvbm5lY3Rvci5nZXRSYXdWYWx1ZSgpKTtcclxuICAgICAgICAgIGNsZWFudXAoY29ubmVjdG9yLmFkZEluZm8pO1xyXG4gICAgICAgICAgaWYgKGNvbm5lY3Rvci5hbm5vdGF0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29ubmVjdG9yLmFubm90YXRpb25zWzBdLmNvbnRlbnQgPSBjb250ZW50O1xyXG4gICAgICAgICAgICB0aGlzLmRpYWdyYW0uZGF0YUJpbmQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5kaWFncmFtLmFkZENvbm5lY3RvckxhYmVscyhjb25uZWN0b3IsIFt7XHJcbiAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLl9zZXNzaW9uLnRoZW1lLmRhcmsgPyAnd2hpdGUnIDogJ2JsYWNrJyxcclxuICAgICAgICAgICAgICAgIGZpbGw6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuOCxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIGNvbnRlbnRcclxuICAgICAgICAgICAgfV0pO1xyXG4gICAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuYXJndW1lbnRzdGVtcGxhdGUuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuY29ubmVjdG9yYXJncyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMubm9kZSA9IHRoaXMubm9kZXNbMF0sXHJcbiAgICAgICAgICBhZGRJbmZvID0gbm9kZS5hZGRJbmZvIGFzIGFueTtcclxuICAgICAgICBpZiAoYWRkSW5mbyAmJiBhZGRJbmZvLm5vZGVUeXBlKSB7XHJcbiAgICAgICAgICBjb25zdCBub2RlVHlwZSA9IGFkZEluZm8ubm9kZVR5cGU7XHJcbiAgICAgICAgICBjb25zdCB0b29sID0gdGhpcy50b29sID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLm5vZGVzLmZpbmQobiA9PiBuLm5hbWUgPT09IG5vZGVUeXBlKTtcclxuICAgICAgICAgIHRoaXMuX3BhbmUudGl0bGUgPSB0b29sLnRpdGxlO1xyXG4gICAgICAgICAgY29uc3QgYW5ub3RhdGlvbkFyZyA9IHRvb2wuYXJndW1lbnRzLmZpbmQoYSA9PiBhLmZsYWdzPy5pbmRleE9mKCdEaWFncmFtJykgPiAtMSk7XHJcblxyXG4gICAgICAgICAgZnVuY3Rpb24gY2hhbmdlKG0pIHtcclxuICAgICAgICAgICAgaWYgKGFubm90YXRpb25BcmcgJiYgbVthbm5vdGF0aW9uQXJnLm5hbWVdICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgaWYgKG5vZGUuYW5ub3RhdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBub2RlLmFubm90YXRpb25zWzBdLmNvbnRlbnQgPSBtW2Fubm90YXRpb25BcmcubmFtZV0gfHwgbnVsbDtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlhZ3JhbS5kYXRhQmluZCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWdyYW0uYWRkTm9kZUxhYmVscyhub2RlLCBbe1xyXG4gICAgICAgICAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLl9zZXNzaW9uLnRoZW1lLmRhcmsgPyAnd2hpdGUnIDogJ2JsYWNrJyxcclxuICAgICAgICAgICAgICAgICAgICBmaWxsOiAndHJhbnNwYXJlbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44LFxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBtW2Fubm90YXRpb25BcmcubmFtZV0gfHwgbnVsbFxyXG4gICAgICAgICAgICAgICAgfV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oYWRkSW5mbywgbSk7XHJcbiAgICAgICAgICAgIGNsZWFudXAoYWRkSW5mbyk7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodG9vbC50ZW1wbGF0ZSkge1xyXG4gICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSB0aGlzLl9jcmVhdGVUb29sVGVtcGxhdGUodG9vbCwgbm9kZSk7XHJcblxyXG4gICAgICAgICAgICBpbnN0YW5jZS5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoY2hhbmdlLmJpbmQodGhpcykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAodG9vbC5hcmd1bWVudHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZSA9IHRoaXMuX2NyZWF0ZUxheW91dEFyZ3VtZW50cyh0b29sLCBub2RlKTtcclxuXHJcbiAgICAgICAgICAgIGluc3RhbmNlLm1vZGVsQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2VsZW1lbnREZXN0cm95KSkuc3Vic2NyaWJlKGNoYW5nZS5iaW5kKHRoaXMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9jcmVhdGVMYXlvdXRBcmd1bWVudHModG9vbDogRmxvd05vZGUsIG5vZGU6IE5vZGVNb2RlbCkge1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5hcmd1bWVudHN0ZW1wbGF0ZS5jcmVhdGVDb21wb25lbnQoTGF5b3V0Q29tcG9uZW50LCB7IGluamVjdG9yOiB0aGlzLl9pbmplY3RvciB9KTtcclxuICAgIGNvbnN0IGluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIExheW91dENvbXBvbmVudDtcclxuICAgIGluc3RhbmNlLmZpZWxkcyA9IHRvb2wuYXJndW1lbnRzO1xyXG4gICAgaW5zdGFuY2UubW9kZWwgPSBub2RlLmFkZEluZm8gfHwge307XHJcbiAgICBpbnN0YW5jZS5sYXlvdXQoKTtcclxuICAgIHJldHVybiBpbnN0YW5jZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY3JlYXRlVG9vbFRlbXBsYXRlKHRvb2w6IEZsb3dOb2RlLCBub2RlOiBOb2RlTW9kZWwpIHtcclxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuX2ZhY3RvcnlSZXNvbHZlci5jb21wb25lbnQodGhpcy50b29sLnRlbXBsYXRlKTtcclxuICAgIGNvbnN0IG5vZGVSZWYgPSBuZXcgTm9kZVJlZih0b29sKTtcclxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOb2RlUmVmLCB1c2VWYWx1ZTogbm9kZVJlZiB9XSwgcGFyZW50OiB0aGlzLl9pbmplY3RvciB9KTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuYXJndW1lbnRzdGVtcGxhdGUuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgeyBpbmplY3RvciB9KTtcclxuICAgIGNvbnN0IGluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIEFyZ3VtZW50c0NvbXBvbmVudDxhbnk+O1xyXG4gICAgaW5zdGFuY2UuZm9ybS5wYXRjaFZhbHVlKG5vZGUuYWRkSW5mbywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgcmV0dXJuIGluc3RhbmNlO1xyXG4gIH1cclxuICBjb25uZWN0b3JDYXNlQ2hhbmdlKGV2dD86IE1hdEJ1dHRvblRvZ2dsZUNoYW5nZSkge1xyXG4gICAgdGhpcy5jb25uZWN0b3IuY29udHJvbHNbJ2Nhc2UnXS5zZXRWYWx1ZShldnQudmFsdWUpO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdCgpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2VsZW1lbnREZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2VsZW1lbnREZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgI2FyZ3VtZW50cz5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjY29ubmVjdG9yYXJncz5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNvbm5lY3RvclwiIGNsYXNzPVwiY29sdW1uXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtc2VsZWN0IFtwbGFjZWhvbGRlcl09XCInQWN0aW9uJyB8IHRyYW5zbGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cImFjdGlvblwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uc1wiIFt2YWx1ZV09XCJhY3Rpb24ubmFtZVwiPnt7YWN0aW9uLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24+e3snTm9uZScgfCB0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCBbdmFsdWVdPVwiY29ubmVjdG9yLmNvbnRyb2xzWydjYXNlJ10udmFsdWVcIiAjYWNhc2U9XCJtYXRCdXR0b25Ub2dnbGVHcm91cFwiIChjaGFuZ2UpPVwiY29ubmVjdG9yQ2FzZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cInRydWVcIj57eydUcnVlJyB8IHRyYW5zbGF0ZX19PC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiZmFsc2VcIj57eydGYWxzZScgfCB0cmFuc2xhdGV9fTwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZT57eydDYXNlJyB8IHRyYW5zbGF0ZX19PC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgW3N0eWxlLmRpc3BsYXldPVwiY29ubmVjdG9yLmNvbnRyb2xzWydjYXNlJ10udmFsdWU9PT0ndHJ1ZSd8fGNvbm5lY3Rvci5jb250cm9sc1snY2FzZSddLnZhbHVlPT09J2ZhbHNlJz8nbm9uZSc6JydcIj5cclxuICAgICAgPGlucHV0IG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCInQ2FzZScgfCB0cmFuc2xhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJjYXNlXCIgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2Zvcm0vd29ya2Zsb3cvbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2Zvcm0vd29ya2Zsb3cvbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFlLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkksT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU1sRCxNQUFNLE9BQ0UscUJBQXFCO0lBZTNCLFlBQ1UsUUFBd0IsRUFDeEIsZ0JBQWdELEVBQ2hELFNBQW1CLEVBQ25CLFVBQTRCLEVBQzVCLEdBQWdCLEVBQ2hCLEtBQXFDO1FBTHJDLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0M7UUFDaEQsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQWdDO1FBcEI1QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU10QyxjQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDbEMsTUFBTSxFQUFFLElBQUk7WUFDWixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztRQUlLLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE1QyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQzFDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFFakIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMzQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDdEIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDOUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7d0JBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSTt3QkFDL0gsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO3FCQUMxSCxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztnQkFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztnQkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzlFLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBVyxDQUFDO29CQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87d0JBQ3BCLFNBQVMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQzs7d0JBRWpELE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7b0JBQ2pFLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzNCLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDakMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO3dCQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUMxQixDQUFDOzt3QkFFQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxDQUFDO2dDQUMxQyxLQUFLLEVBQUU7b0NBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPO29DQUNuRCxJQUFJLEVBQUUsYUFBYTtvQ0FDbkIsT0FBTyxFQUFFLEVBQUU7aUNBQ1o7Z0NBQ0QsT0FBTzs2QkFDUixDQUFDLENBQUMsQ0FBQztvQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNyQixDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ3BDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBYyxDQUFDO2dCQUNoQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2hDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7b0JBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUM7b0JBQ3BGLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7b0JBQzlCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFakYsU0FBUyxNQUFNLENBQUMsQ0FBQzt3QkFDZixJQUFJLGFBQWEsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDOzRCQUNwRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7Z0NBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO2dDQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDOzRCQUMxQixDQUFDOztnQ0FFQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3Q0FDaEMsS0FBSyxFQUFFOzRDQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTzs0Q0FDbkQsSUFBSSxFQUFFLGFBQWE7NENBQ25CLE9BQU8sRUFBRSxFQUFFO3lDQUNaO3dDQUNELE9BQU8sRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUk7cUNBQ3ZDLENBQUMsQ0FBQyxDQUFDO3dCQUNSLENBQUM7d0JBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0JBQzFCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDckIsQ0FBQztvQkFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDbEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFFcEQsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDMUQsQ0FBQzt5QkFDSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQy9CLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7d0JBRXZELFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUMxRixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ08sc0JBQXNCLENBQUMsSUFBYyxFQUFFLElBQWU7UUFDNUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDM0csTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQTJCLENBQUM7UUFDMUQsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDcEMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFDTyxtQkFBbUIsQ0FBQyxJQUFjLEVBQUUsSUFBZTtRQUN6RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDbkgsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFtQyxDQUFDO1FBQ2xFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0QsbUJBQW1CLENBQUMsR0FBMkI7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzhHQXZJSyxxQkFBcUI7a0dBQXJCLHFCQUFxQiw4S0FFbUIsZ0JBQWdCLDBKQ3RCaEUsMHFDQW9CQTs7MkZEQVEscUJBQXFCO2tCQUw1QixTQUFTOztzT0FNVyxNQUFNO3NCQUF4QixNQUFNO2dCQUMyRCxpQkFBaUI7c0JBQWxGLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ2xCLGFBQWE7c0JBQTFELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBUZW1wbGF0ZVJlZiwgQ29tcG9uZW50LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb25uZWN0b3JNb2RlbCwgRGlhZ3JhbSwgTm9kZU1vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWRpYWdyYW1zJztcclxuaW1wb3J0IHsgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb21wb25lbnQtZmFjdG9yeS1yZXNvbHZlcic7XHJcbmltcG9ydCB7IEFjdGlvbiwgRmxvd05vZGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IE5vZGVSZWYgfSBmcm9tICcuL25vZGUtcmVmJztcclxuaW1wb3J0IHsgQXJndW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjbGVhbnVwIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL25vZGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25vZGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgV29ya2Zsb3dOb2RlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZCgnYXJndW1lbnRzJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgYXJndW1lbnRzdGVtcGxhdGU6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgQFZpZXdDaGlsZCgnY29ubmVjdG9yYXJncycsIHsgc3RhdGljOiB0cnVlIH0pIGNvbm5lY3RvcmFyZ3M6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgbm9kZXM6IE5vZGVNb2RlbFtdO1xyXG4gIGNvbm5lY3RvcnM6IENvbm5lY3Rvck1vZGVsW107XHJcbiAgZGlhZ3JhbTogRGlhZ3JhbTtcclxuICByZWFkb25seSBjb25uZWN0b3IgPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBhY3Rpb246IG51bGwsXHJcbiAgICBjYXNlOiBudWxsXHJcbiAgfSk7XHJcbiAgYWN0aW9uczogQWN0aW9uW107XHJcbiAgdG9vbD86IEZsb3dOb2RlO1xyXG4gIG5vZGU6IE5vZGVNb2RlbDtcclxuICBwcml2YXRlIF9lbGVtZW50RGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2ZhY3RvcnlSZXNvbHZlcjogQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxXb3JrZmxvd05vZGVDb21wb25lbnQ+KSB7XHJcbiAgICB0aGlzLmFjdGlvbnMgPSBfc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnM7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGFuZS5kYXRhQ2hhbmdlKCkuc3Vic2NyaWJlKGQgPT4ge1xyXG4gICAgICB0aGlzLm5vZGVzID0gZFsnbm9kZXMnXTtcclxuICAgICAgdGhpcy5kaWFncmFtID0gZFsnZGlhZ3JhbSddO1xyXG4gICAgICB0aGlzLmNvbm5lY3RvcnMgPSBkWydjb25uZWN0b3JzJ107XHJcbiAgICAgIHRoaXMudG9vbCA9IG51bGw7XHJcblxyXG4gICAgICB0aGlzLl9lbGVtZW50RGVzdHJveS5uZXh0KCk7XHJcbiAgICAgIHRoaXMuYXJndW1lbnRzdGVtcGxhdGUuY2xlYXIoKTtcclxuICAgICAgaWYgKHRoaXMuY29ubmVjdG9ycy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCBjb25uZWN0b3IgPSB0aGlzLmNvbm5lY3RvcnNbMF07XHJcbiAgICAgICAgaWYgKGNvbm5lY3Rvci5hZGRJbmZvKSB7XHJcbiAgICAgICAgICBjb25zdCBhY3Rpb24gPSBjb25uZWN0b3IuYWRkSW5mb1snYWN0aW9uJ10sIGFjYXNlID0gY29ubmVjdG9yLmFkZEluZm9bJ2Nhc2UnXTtcclxuICAgICAgICAgIHRoaXMuY29ubmVjdG9yLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgICAgICBhY3Rpb246IHRoaXMuY29ubmVjdG9ycy5sZW5ndGggPT09IDEgfHwgdGhpcy5jb25uZWN0b3JzLmV2ZXJ5KGMgPT4gYy5hZGRJbmZvICYmIGMuYWRkSW5mb1snYWN0aW9uJ10gPT09IGFjdGlvbikgPyBhY3Rpb24gOiBudWxsLFxyXG4gICAgICAgICAgICBjYXNlOiB0aGlzLmNvbm5lY3RvcnMubGVuZ3RoID09PSAxIHx8IHRoaXMuY29ubmVjdG9ycy5ldmVyeShjID0+IGMuYWRkSW5mbyAmJiBjLmFkZEluZm9bJ2Nhc2UnXSA9PT0gYWNhc2UpID8gYWNhc2UgOiBudWxsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fcGFuZS50aXRsZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQodGhpcy5jb25uZWN0b3JzLmxlbmd0aCA9PT0gMSA/ICdDb25uZWN0b3InIDogJ0Nvbm5lY3RvcnMnLCB0aGlzLmNvbm5lY3RvcnMubGVuZ3RoKTtcclxuICAgICAgICB0aGlzLl9wYW5lLmljb24gPSAnbGluayc7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0b3IudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2VsZW1lbnREZXN0cm95KSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICAgICAgY29uc3QgY29udGVudCA9ICh2WydjYXNlJ10gfHwgdlsnYWN0aW9uJ10pIGFzIHN0cmluZztcclxuICAgICAgICAgIGlmICghY29ubmVjdG9yLmFkZEluZm8pXHJcbiAgICAgICAgICAgIGNvbm5lY3Rvci5hZGRJbmZvID0gdGhpcy5jb25uZWN0b3IuZ2V0UmF3VmFsdWUoKTtcclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihjb25uZWN0b3IuYWRkSW5mbywgdGhpcy5jb25uZWN0b3IuZ2V0UmF3VmFsdWUoKSk7XHJcbiAgICAgICAgICBjbGVhbnVwKGNvbm5lY3Rvci5hZGRJbmZvKTtcclxuICAgICAgICAgIGlmIChjb25uZWN0b3IuYW5ub3RhdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNvbm5lY3Rvci5hbm5vdGF0aW9uc1swXS5jb250ZW50ID0gY29udGVudDtcclxuICAgICAgICAgICAgdGhpcy5kaWFncmFtLmRhdGFCaW5kKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuZGlhZ3JhbS5hZGRDb25uZWN0b3JMYWJlbHMoY29ubmVjdG9yLCBbe1xyXG4gICAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5fc2Vzc2lvbi50aGVtZS5kYXJrID8gJ3doaXRlJyA6ICdibGFjaycsXHJcbiAgICAgICAgICAgICAgICBmaWxsOiAndHJhbnNwYXJlbnQnLFxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjgsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBjb250ZW50XHJcbiAgICAgICAgICAgIH1dKTtcclxuICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmFyZ3VtZW50c3RlbXBsYXRlLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmNvbm5lY3RvcmFyZ3MpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLm5vZGUgPSB0aGlzLm5vZGVzWzBdLFxyXG4gICAgICAgICAgYWRkSW5mbyA9IG5vZGUuYWRkSW5mbyBhcyBhbnk7XHJcbiAgICAgICAgaWYgKGFkZEluZm8gJiYgYWRkSW5mby5ub2RlVHlwZSkge1xyXG4gICAgICAgICAgY29uc3Qgbm9kZVR5cGUgPSBhZGRJbmZvLm5vZGVUeXBlO1xyXG4gICAgICAgICAgY29uc3QgdG9vbCA9IHRoaXMudG9vbCA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5ub2Rlcy5maW5kKG4gPT4gbi5uYW1lID09PSBub2RlVHlwZSk7XHJcbiAgICAgICAgICB0aGlzLl9wYW5lLnRpdGxlID0gdG9vbC50aXRsZTtcclxuICAgICAgICAgIGNvbnN0IGFubm90YXRpb25BcmcgPSB0b29sLmFyZ3VtZW50cy5maW5kKGEgPT4gYS5mbGFncz8uaW5kZXhPZignRGlhZ3JhbScpID4gLTEpO1xyXG5cclxuICAgICAgICAgIGZ1bmN0aW9uIGNoYW5nZShtKSB7XHJcbiAgICAgICAgICAgIGlmIChhbm5vdGF0aW9uQXJnICYmIG1bYW5ub3RhdGlvbkFyZy5uYW1lXSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgIGlmIChub2RlLmFubm90YXRpb25zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgbm9kZS5hbm5vdGF0aW9uc1swXS5jb250ZW50ID0gbVthbm5vdGF0aW9uQXJnLm5hbWVdIHx8IG51bGw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWdyYW0uZGF0YUJpbmQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5kaWFncmFtLmFkZE5vZGVMYWJlbHMobm9kZSwgW3tcclxuICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5fc2Vzc2lvbi50aGVtZS5kYXJrID8gJ3doaXRlJyA6ICdibGFjaycsXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuOCxcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgY29udGVudDogbVthbm5vdGF0aW9uQXJnLm5hbWVdIHx8IG51bGxcclxuICAgICAgICAgICAgICAgIH1dKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKGFkZEluZm8sIG0pO1xyXG4gICAgICAgICAgICBjbGVhbnVwKGFkZEluZm8pO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRvb2wudGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gdGhpcy5fY3JlYXRlVG9vbFRlbXBsYXRlKHRvb2wsIG5vZGUpO1xyXG5cclxuICAgICAgICAgICAgaW5zdGFuY2UuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGNoYW5nZS5iaW5kKHRoaXMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKHRvb2wuYXJndW1lbnRzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBsZXQgaW5zdGFuY2UgPSB0aGlzLl9jcmVhdGVMYXlvdXRBcmd1bWVudHModG9vbCwgbm9kZSk7XHJcblxyXG4gICAgICAgICAgICBpbnN0YW5jZS5tb2RlbENoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9lbGVtZW50RGVzdHJveSkpLnN1YnNjcmliZShjaGFuZ2UuYmluZCh0aGlzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY3JlYXRlTGF5b3V0QXJndW1lbnRzKHRvb2w6IEZsb3dOb2RlLCBub2RlOiBOb2RlTW9kZWwpIHtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuYXJndW1lbnRzdGVtcGxhdGUuY3JlYXRlQ29tcG9uZW50KExheW91dENvbXBvbmVudCwgeyBpbmplY3RvcjogdGhpcy5faW5qZWN0b3IgfSk7XHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBMYXlvdXRDb21wb25lbnQ7XHJcbiAgICBpbnN0YW5jZS5maWVsZHMgPSB0b29sLmFyZ3VtZW50cztcclxuICAgIGluc3RhbmNlLm1vZGVsID0gbm9kZS5hZGRJbmZvIHx8IHt9O1xyXG4gICAgaW5zdGFuY2UubGF5b3V0KCk7XHJcbiAgICByZXR1cm4gaW5zdGFuY2U7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NyZWF0ZVRvb2xUZW1wbGF0ZSh0b29sOiBGbG93Tm9kZSwgbm9kZTogTm9kZU1vZGVsKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLl9mYWN0b3J5UmVzb2x2ZXIuY29tcG9uZW50KHRoaXMudG9vbC50ZW1wbGF0ZSk7XHJcbiAgICBjb25zdCBub2RlUmVmID0gbmV3IE5vZGVSZWYodG9vbCk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogW3sgcHJvdmlkZTogTm9kZVJlZiwgdXNlVmFsdWU6IG5vZGVSZWYgfV0sIHBhcmVudDogdGhpcy5faW5qZWN0b3IgfSk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmFyZ3VtZW50c3RlbXBsYXRlLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQsIHsgaW5qZWN0b3IgfSk7XHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBBcmd1bWVudHNDb21wb25lbnQ8YW55PjtcclxuICAgIGluc3RhbmNlLmZvcm0ucGF0Y2hWYWx1ZShub2RlLmFkZEluZm8sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHJldHVybiBpbnN0YW5jZTtcclxuICB9XHJcbiAgY29ubmVjdG9yQ2FzZUNoYW5nZShldnQ/OiBNYXRCdXR0b25Ub2dnbGVDaGFuZ2UpIHtcclxuICAgIHRoaXMuY29ubmVjdG9yLmNvbnRyb2xzLmNhc2Uuc2V0VmFsdWUoZXZ0LnZhbHVlKTtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9lbGVtZW50RGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9lbGVtZW50RGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICNhcmd1bWVudHM+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI2Nvbm5lY3RvcmFyZ3M+XHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJjb25uZWN0b3JcIiBjbGFzcz1cImNvbHVtblwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LXNlbGVjdCBbcGxhY2Vob2xkZXJdPVwiJ0FjdGlvbicgfCB0cmFuc2xhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJhY3Rpb25cIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGFjdGlvbnNcIiBbdmFsdWVdPVwiYWN0aW9uLm5hbWVcIj57e2FjdGlvbi50aXRsZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uPnt7J05vbmUnIHwgdHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgW3ZhbHVlXT1cImNvbm5lY3Rvci5jb250cm9scy5jYXNlLnZhbHVlXCIgI2FjYXNlPVwibWF0QnV0dG9uVG9nZ2xlR3JvdXBcIiAoY2hhbmdlKT1cImNvbm5lY3RvckNhc2VDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJ0cnVlXCI+e3snVHJ1ZScgfCB0cmFuc2xhdGV9fTwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cImZhbHNlXCI+e3snRmFsc2UnIHwgdHJhbnNsYXRlfX08L21hdC1idXR0b24tdG9nZ2xlPlxyXG4gICAgICA8bWF0LWJ1dHRvbi10b2dnbGU+e3snQ2FzZScgfCB0cmFuc2xhdGV9fTwvbWF0LWJ1dHRvbi10b2dnbGU+XHJcbiAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIFtzdHlsZS5kaXNwbGF5XT1cImNvbm5lY3Rvci5jb250cm9scy5jYXNlLnZhbHVlPT09J3RydWUnfHxjb25uZWN0b3IuY29udHJvbHMuY2FzZS52YWx1ZT09PSdmYWxzZSc/J25vbmUnOicnXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbcGxhY2Vob2xkZXJdPVwiJ0Nhc2UnIHwgdHJhbnNsYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY2FzZVwiIC8+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZm9ybT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -46,8 +46,8 @@ let RoleNodeComponent = class RoleNodeComponent {
46
46
  this.input.focus();
47
47
  }
48
48
  ngOnInit() {
49
- this.form.controls['condition'].valueChanges.pipe(takeUntil(this._destroy)).subscribe(v => {
50
- const ctrl = this.form.controls['minimum'];
49
+ this.form.controls.condition.valueChanges.pipe(takeUntil(this._destroy)).subscribe(v => {
50
+ const ctrl = this.form.controls.minimum;
51
51
  switch (v) {
52
52
  case 'Count':
53
53
  ctrl.setValidators([Validators.min(1), Validators.required]);
@@ -68,7 +68,7 @@ let RoleNodeComponent = class RoleNodeComponent {
68
68
  this._destroy.complete();
69
69
  }
70
70
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RoleNodeComponent, deps: [{ token: NodeRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: RoleNodeComponent, selector: "ng-component", viewQueries: [{ propertyName: "input", first: true, predicate: TypeSelect, descendants: true }], ngImport: i0, template: "<form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <bizdoc-select formControlName=\"roleName\" cdkFocusInitial [placeholder]=\"'Role'|translate\" required [type]=\"roles\"></bizdoc-select>\r\n <mat-error *ngIf=\"form.controls.roleName.hasError('required')\">{{'Required'|translate:('Roles'|translate)}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-select formControlName=\"condition\" [placeholder]=\"'Requirments'|translate\">\r\n <mat-option value=\"Anyone\">{{'Anyone'|translate}}</mat-option>\r\n <mat-option value=\"Everyone\">{{'Everyone'|translate}}</mat-option>\r\n <mat-option value=\"Count\">{{'Minimum'|translate}}</mat-option>\r\n <mat-option value=\"Percent\">{{'Percent'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field [style.display]=\"form.value.condition === 'Count' || form.value.condition === 'Percent' ? '' : 'none'\">\r\n <input matInput formControlName=\"minimum\" [placeholder]=\"'RequirmentsValue'|translate\" type=\"number\" required />\r\n <span matSuffix *ngIf=\"form.value.condition === 'Percent'\">%</span>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"optional\" required>{{'OptionalRole'|translate}}</mat-checkbox>\r\n <mat-form-field>\r\n <bizdoc-ace-input formControlName=\"message\" [placeholder]=\"'Message'|translate\"></bizdoc-ace-input>\r\n <mat-hint>{{'ProgrammableExpression'|translate}}</mat-hint>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"fyi\" required>{{'FYI'|translate}}</mat-checkbox><mat-form-field>\r\n <bizdoc-timespan-input formControlName=\"standardTime\" [placeholder]=\"'StandardTime'|translate\"></bizdoc-timespan-input>\r\n <mat-icon matSuffix>timer</mat-icon>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <bizdoc-select formControlName=\"escalateRole\" [placeholder]=\"'EscalateRole'|translate\" [type]=\"roles\"></bizdoc-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"form.controls.escalateRole.value\">\r\n <bizdoc-timespan-input formControlName=\"escalateTime\" [placeholder]=\"'EscalateIn'|translate\"\r\n required></bizdoc-timespan-input>\r\n <mat-icon matSuffix>timer</mat-icon>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"if\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"skipInRoute\" required>{{'SkipInRoute'|translate}}</mat-checkbox>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.TimespanInput, selector: "bizdoc-timespan-input", inputs: ["placeholder", "required", "disabled", "value"] }, { kind: "component", type: i10.AceInput, selector: "bizdoc-ace-input", inputs: ["params", "placeholder", "required", "disabled", "value"] }, { kind: "component", type: i11.TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: RoleNodeComponent, selector: "ng-component", viewQueries: [{ propertyName: "input", first: true, predicate: TypeSelect, descendants: true }], ngImport: i0, template: "<form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <bizdoc-select formControlName=\"roleName\" cdkFocusInitial [placeholder]=\"'Role'|translate\" required [type]=\"roles\"></bizdoc-select>\r\n <mat-error *ngIf=\"form.controls.roleName.hasError('required')\">{{'AreRequiredErr'|translate:('Roles'|translate)}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-select formControlName=\"condition\" [placeholder]=\"'Requirments'|translate\">\r\n <mat-option value=\"Anyone\">{{'Anyone'|translate}}</mat-option>\r\n <mat-option value=\"Everyone\">{{'Everyone'|translate}}</mat-option>\r\n <mat-option value=\"Count\">{{'Minimum'|translate}}</mat-option>\r\n <mat-option value=\"Percent\">{{'Percent'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field [style.display]=\"form.value.condition === 'Count' || form.value.condition === 'Percent' ? '' : 'none'\">\r\n <input matInput formControlName=\"minimum\" [placeholder]=\"'RequirmentsValue'|translate\" type=\"number\" required />\r\n <span matSuffix *ngIf=\"form.value.condition === 'Percent'\">%</span>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"optional\" required>{{'OptionalRole'|translate}}</mat-checkbox>\r\n <mat-form-field>\r\n <bizdoc-ace-input formControlName=\"message\" [placeholder]=\"'Message'|translate\"></bizdoc-ace-input>\r\n <mat-hint>{{'ProgrammableExpression'|translate}}</mat-hint>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"fyi\" required>{{'FYI'|translate}}</mat-checkbox><mat-form-field>\r\n <bizdoc-timespan-input formControlName=\"standardTime\" [placeholder]=\"'StandardTime'|translate\"></bizdoc-timespan-input>\r\n <mat-icon matSuffix>timer</mat-icon>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <bizdoc-select formControlName=\"escalateRole\" [placeholder]=\"'EscalateRole'|translate\" [type]=\"roles\"></bizdoc-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"form.controls.escalateRole.value\">\r\n <bizdoc-timespan-input formControlName=\"escalateTime\" [placeholder]=\"'EscalateIn'|translate\"\r\n required></bizdoc-timespan-input>\r\n <mat-icon matSuffix>timer</mat-icon>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"if\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"skipInRoute\" required>{{'SkipInRoute'|translate}}</mat-checkbox>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.TimespanInput, selector: "bizdoc-timespan-input", inputs: ["placeholder", "required", "disabled", "value"] }, { kind: "component", type: i10.AceInput, selector: "bizdoc-ace-input", inputs: ["params", "placeholder", "required", "disabled", "value"] }, { kind: "component", type: i11.TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
72
72
  };
73
73
  RoleNodeComponent = __decorate([
74
74
  BizDoc({
@@ -78,7 +78,7 @@ RoleNodeComponent = __decorate([
78
78
  export { RoleNodeComponent };
79
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RoleNodeComponent, decorators: [{
80
80
  type: Component,
81
- args: [{ template: "<form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <bizdoc-select formControlName=\"roleName\" cdkFocusInitial [placeholder]=\"'Role'|translate\" required [type]=\"roles\"></bizdoc-select>\r\n <mat-error *ngIf=\"form.controls.roleName.hasError('required')\">{{'Required'|translate:('Roles'|translate)}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-select formControlName=\"condition\" [placeholder]=\"'Requirments'|translate\">\r\n <mat-option value=\"Anyone\">{{'Anyone'|translate}}</mat-option>\r\n <mat-option value=\"Everyone\">{{'Everyone'|translate}}</mat-option>\r\n <mat-option value=\"Count\">{{'Minimum'|translate}}</mat-option>\r\n <mat-option value=\"Percent\">{{'Percent'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field [style.display]=\"form.value.condition === 'Count' || form.value.condition === 'Percent' ? '' : 'none'\">\r\n <input matInput formControlName=\"minimum\" [placeholder]=\"'RequirmentsValue'|translate\" type=\"number\" required />\r\n <span matSuffix *ngIf=\"form.value.condition === 'Percent'\">%</span>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"optional\" required>{{'OptionalRole'|translate}}</mat-checkbox>\r\n <mat-form-field>\r\n <bizdoc-ace-input formControlName=\"message\" [placeholder]=\"'Message'|translate\"></bizdoc-ace-input>\r\n <mat-hint>{{'ProgrammableExpression'|translate}}</mat-hint>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"fyi\" required>{{'FYI'|translate}}</mat-checkbox><mat-form-field>\r\n <bizdoc-timespan-input formControlName=\"standardTime\" [placeholder]=\"'StandardTime'|translate\"></bizdoc-timespan-input>\r\n <mat-icon matSuffix>timer</mat-icon>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <bizdoc-select formControlName=\"escalateRole\" [placeholder]=\"'EscalateRole'|translate\" [type]=\"roles\"></bizdoc-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"form.controls.escalateRole.value\">\r\n <bizdoc-timespan-input formControlName=\"escalateTime\" [placeholder]=\"'EscalateIn'|translate\"\r\n required></bizdoc-timespan-input>\r\n <mat-icon matSuffix>timer</mat-icon>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"if\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"skipInRoute\" required>{{'SkipInRoute'|translate}}</mat-checkbox>\r\n</form>\r\n" }]
81
+ args: [{ template: "<form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <bizdoc-select formControlName=\"roleName\" cdkFocusInitial [placeholder]=\"'Role'|translate\" required [type]=\"roles\"></bizdoc-select>\r\n <mat-error *ngIf=\"form.controls.roleName.hasError('required')\">{{'AreRequiredErr'|translate:('Roles'|translate)}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-select formControlName=\"condition\" [placeholder]=\"'Requirments'|translate\">\r\n <mat-option value=\"Anyone\">{{'Anyone'|translate}}</mat-option>\r\n <mat-option value=\"Everyone\">{{'Everyone'|translate}}</mat-option>\r\n <mat-option value=\"Count\">{{'Minimum'|translate}}</mat-option>\r\n <mat-option value=\"Percent\">{{'Percent'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field [style.display]=\"form.value.condition === 'Count' || form.value.condition === 'Percent' ? '' : 'none'\">\r\n <input matInput formControlName=\"minimum\" [placeholder]=\"'RequirmentsValue'|translate\" type=\"number\" required />\r\n <span matSuffix *ngIf=\"form.value.condition === 'Percent'\">%</span>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"optional\" required>{{'OptionalRole'|translate}}</mat-checkbox>\r\n <mat-form-field>\r\n <bizdoc-ace-input formControlName=\"message\" [placeholder]=\"'Message'|translate\"></bizdoc-ace-input>\r\n <mat-hint>{{'ProgrammableExpression'|translate}}</mat-hint>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"fyi\" required>{{'FYI'|translate}}</mat-checkbox><mat-form-field>\r\n <bizdoc-timespan-input formControlName=\"standardTime\" [placeholder]=\"'StandardTime'|translate\"></bizdoc-timespan-input>\r\n <mat-icon matSuffix>timer</mat-icon>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <bizdoc-select formControlName=\"escalateRole\" [placeholder]=\"'EscalateRole'|translate\" [type]=\"roles\"></bizdoc-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"form.controls.escalateRole.value\">\r\n <bizdoc-timespan-input formControlName=\"escalateTime\" [placeholder]=\"'EscalateIn'|translate\"\r\n required></bizdoc-timespan-input>\r\n <mat-icon matSuffix>timer</mat-icon>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"if\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"skipInRoute\" required>{{'SkipInRoute'|translate}}</mat-checkbox>\r\n</form>\r\n" }]
82
82
  }], ctorParameters: () => [{ type: i13.NodeRef, decorators: [{
83
83
  type: Inject,
84
84
  args: [NodeRef]
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
86
86
  type: ViewChild,
87
87
  args: [TypeSelect]
88
88
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vZm9ybS93b3JrZmxvdy9yb2xlLW5vZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9mb3JtL3dvcmtmbG93L3JvbGUtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBV3hELElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBaUI1QixXQUFXO0lBQ1gsWUFDMkIsUUFBaUIsRUFDbEMsR0FBZ0I7UUFEQyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFqQmpCLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckQsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNyQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQy9CLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLElBQUk7WUFDYixHQUFHLEVBQUUsS0FBSztZQUNWLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLEVBQUUsRUFBRSxJQUFJO1NBQ1QsQ0FBQyxDQUFDO1FBQ00sYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFLdEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ1YsS0FBSyxPQUFPO29CQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNqQixNQUFNO2dCQUNSLEtBQUssU0FBUztvQkFDWixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUNsRixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNuQixNQUFNO2dCQUNSO29CQUNFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQWhEVSxpQkFBaUIsa0JBbUJsQixPQUFPO2tHQW5CTixpQkFBaUIsMkZBQ2pCLFVBQVUsZ0RDbkJ2QixrbEZBd0NBOztBRHRCYSxpQkFBaUI7SUFIN0IsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLGtCQUFrQjtLQUM3QixDQUFDO0dBQ1csaUJBQWlCLENBaUQ3Qjs7MkZBakRZLGlCQUFpQjtrQkFUN0IsU0FBUzs7OzBCQTRCTCxNQUFNOzJCQUFDLE9BQU87bUVBbEJNLEtBQUs7c0JBQTNCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBcmd1bWVudHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTm9kZVJlZiB9IGZyb20gJy4vbm9kZS1yZWYnO1xyXG5pbXBvcnQgeyBUeXBlU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9pbnB1dHMvc2VsZWN0LmlucHV0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9yb2xlLW5vZGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlczogW1xyXG4gICAgLy8gJzpob3N0e3dpZHRoOiAxMDAlO30nXHJcbiAgXVxyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1yb2xlLW5vZGUnXHJcbn0pIFxyXG5leHBvcnQgY2xhc3MgUm9sZU5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBBcmd1bWVudHNDb21wb25lbnQsIE9uRGVzdHJveSxBZnRlclZpZXdJbml0LCBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoVHlwZVNlbGVjdCkgaW5wdXQ6IFR5cGVTZWxlY3Q7XHJcbiAgcHVibGljIHJlYWRvbmx5IHJvbGVzIDpzdHJpbmc7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIHJvbGVOYW1lOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgY29uZGl0aW9uOiB0aGlzLl9mYi5jb250cm9sKCdBbnlvbmUnKSxcclxuICAgIG1pbmltdW06IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCksXHJcbiAgICBvcHRpb25hbDogZmFsc2UsXHJcbiAgICBtZXNzYWdlOiBudWxsLFxyXG4gICAgZnlpOiBmYWxzZSxcclxuICAgIHNraXBJblJvdXRlOiBmYWxzZSxcclxuICAgIHN0YW5kYXJkVGltZTogbnVsbCxcclxuICAgIGVzY2FsYXRlUm9sZTogbnVsbCxcclxuICAgIGVzY2FsYXRlVGltZTogbnVsbCxcclxuICAgIGlmOiBudWxsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIC8qKiBjdG9yICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE5vZGVSZWYpIHByaXZhdGUgX25vZGVSZWY6IE5vZGVSZWYsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIGNvbnN0IGFyZyA9IHRoaXMuX25vZGVSZWYuYXJndW1lbnRzLmZpbmQoYSA9PiBhLm5hbWUgPT0gJ3JvbGVOYW1lJyk7XHJcbiAgICB0aGlzLnJvbGVzID0gYXJnLmRhdGFUeXBlO1xyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0uY29udHJvbHNbJ2NvbmRpdGlvbiddLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICBjb25zdCBjdHJsID0gdGhpcy5mb3JtLmNvbnRyb2xzWydtaW5pbXVtJ107XHJcbiAgICAgIHN3aXRjaCAodikge1xyXG4gICAgICAgIGNhc2UgJ0NvdW50JzpcclxuICAgICAgICAgIGN0cmwuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5taW4oMSksIFZhbGlkYXRvcnMucmVxdWlyZWRdKTtcclxuICAgICAgICAgIGN0cmwuc2V0VmFsdWUoMSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdQZXJjZW50JzpcclxuICAgICAgICAgIGN0cmwuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5taW4oMSksIFZhbGlkYXRvcnMubWF4KDEwMCksIFZhbGlkYXRvcnMucmVxdWlyZWRdKTtcclxuICAgICAgICAgIGN0cmwuc2V0VmFsdWUoMTAwKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBjdHJsLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICAgICAgY3RybC5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgPGJpemRvYy1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwicm9sZU5hbWVcIiBjZGtGb2N1c0luaXRpYWwgW3BsYWNlaG9sZGVyXT1cIidSb2xlJ3x0cmFuc2xhdGVcIiByZXF1aXJlZCBbdHlwZV09XCJyb2xlc1wiPjwvYml6ZG9jLXNlbGVjdD5cclxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnJvbGVOYW1lLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3snUmVxdWlyZWQnfHRyYW5zbGF0ZTooJ1JvbGVzJ3x0cmFuc2xhdGUpfX08L21hdC1lcnJvcj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNvbmRpdGlvblwiIFtwbGFjZWhvbGRlcl09XCInUmVxdWlybWVudHMnfHRyYW5zbGF0ZVwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkFueW9uZVwiPnt7J0FueW9uZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiRXZlcnlvbmVcIj57eydFdmVyeW9uZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiQ291bnRcIj57eydNaW5pbXVtJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJQZXJjZW50XCI+e3snUGVyY2VudCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LWZvcm0tZmllbGQgW3N0eWxlLmRpc3BsYXldPVwiZm9ybS52YWx1ZS5jb25kaXRpb24gPT09ICdDb3VudCcgfHwgZm9ybS52YWx1ZS5jb25kaXRpb24gPT09ICdQZXJjZW50JyA/ICcnIDogJ25vbmUnXCI+XHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibWluaW11bVwiIFtwbGFjZWhvbGRlcl09XCInUmVxdWlybWVudHNWYWx1ZSd8dHJhbnNsYXRlXCIgdHlwZT1cIm51bWJlclwiIHJlcXVpcmVkIC8+XHJcbiAgICA8c3BhbiBtYXRTdWZmaXggKm5nSWY9XCJmb3JtLnZhbHVlLmNvbmRpdGlvbiA9PT0gJ1BlcmNlbnQnXCI+JTwvc3Bhbj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwib3B0aW9uYWxcIiByZXF1aXJlZD57eydPcHRpb25hbFJvbGUnfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XHJcbiAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgPGJpemRvYy1hY2UtaW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZVwiIFtwbGFjZWhvbGRlcl09XCInTWVzc2FnZSd8dHJhbnNsYXRlXCI+PC9iaXpkb2MtYWNlLWlucHV0PlxyXG4gICAgPG1hdC1oaW50Pnt7J1Byb2dyYW1tYWJsZUV4cHJlc3Npb24nfHRyYW5zbGF0ZX19PC9tYXQtaGludD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwiZnlpXCIgcmVxdWlyZWQ+e3snRllJJ3x0cmFuc2xhdGV9fTwvbWF0LWNoZWNrYm94PjxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxiaXpkb2MtdGltZXNwYW4taW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwic3RhbmRhcmRUaW1lXCIgW3BsYWNlaG9sZGVyXT1cIidTdGFuZGFyZFRpbWUnfHRyYW5zbGF0ZVwiPjwvYml6ZG9jLXRpbWVzcGFuLWlucHV0PlxyXG4gICAgPG1hdC1pY29uIG1hdFN1ZmZpeD50aW1lcjwvbWF0LWljb24+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8Yml6ZG9jLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJlc2NhbGF0ZVJvbGVcIiBbcGxhY2Vob2xkZXJdPVwiJ0VzY2FsYXRlUm9sZSd8dHJhbnNsYXRlXCIgW3R5cGVdPVwicm9sZXNcIj48L2JpemRvYy1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmVzY2FsYXRlUm9sZS52YWx1ZVwiPlxyXG4gICAgPGJpemRvYy10aW1lc3Bhbi1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJlc2NhbGF0ZVRpbWVcIiBbcGxhY2Vob2xkZXJdPVwiJ0VzY2FsYXRlSW4nfHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPjwvYml6ZG9jLXRpbWVzcGFuLWlucHV0PlxyXG4gICAgPG1hdC1pY29uIG1hdFN1ZmZpeD50aW1lcjwvbWF0LWljb24+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8Yml6ZG9jLWFjZS1pbnB1dCBbcGxhY2Vob2xkZXJdPVwiJ0NvbmRpdGlvbid8dHJhbnNsYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiaWZcIj48L2JpemRvYy1hY2UtaW5wdXQ+XHJcbiAgICA8bWF0LWhpbnQ+IHt7ICdQcm9ncmFtbWFibGVFeHByZXNzaW9uJ3x0cmFuc2xhdGUgfX08L21hdC1oaW50PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJza2lwSW5Sb3V0ZVwiIHJlcXVpcmVkPnt7J1NraXBJblJvdXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWNoZWNrYm94PlxyXG48L2Zvcm0+XHJcbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vZm9ybS93b3JrZmxvdy9yb2xlLW5vZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9mb3JtL3dvcmtmbG93L3JvbGUtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBV3hELElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBaUI1QixXQUFXO0lBQ1gsWUFDMkIsUUFBaUIsRUFDbEMsR0FBZ0I7UUFEQyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFqQmpCLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckQsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNyQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQy9CLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLElBQUk7WUFDYixHQUFHLEVBQUUsS0FBSztZQUNWLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLEVBQUUsRUFBRSxJQUFJO1NBQ1QsQ0FBQyxDQUFDO1FBQ00sYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFLdEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNyRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDeEMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDVixLQUFLLE9BQU87b0JBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2pCLE1BQU07Z0JBQ1IsS0FBSyxTQUFTO29CQUNaLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQ2xGLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ25CLE1BQU07Z0JBQ1I7b0JBQ0UsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBaERVLGlCQUFpQixrQkFtQmxCLE9BQU87a0dBbkJOLGlCQUFpQiwyRkFDakIsVUFBVSxnRENuQnZCLHdsRkF3Q0E7O0FEdEJhLGlCQUFpQjtJQUg3QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsa0JBQWtCO0tBQzdCLENBQUM7R0FDVyxpQkFBaUIsQ0FpRDdCOzsyRkFqRFksaUJBQWlCO2tCQVQ3QixTQUFTOzs7MEJBNEJMLE1BQU07MkJBQUMsT0FBTzttRUFsQk0sS0FBSztzQkFBM0IsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFyZ3VtZW50c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOb2RlUmVmIH0gZnJvbSAnLi9ub2RlLXJlZic7XHJcbmltcG9ydCB7IFR5cGVTZWxlY3QgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2lucHV0cy9zZWxlY3QuaW5wdXQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JvbGUtbm9kZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICAvLyAnOmhvc3R7d2lkdGg6IDEwMCU7fSdcclxuICBdXHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXJvbGUtbm9kZSdcclxufSkgXHJcbmV4cG9ydCBjbGFzcyBSb2xlTm9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFyZ3VtZW50c0NvbXBvbmVudCwgT25EZXN0cm95LEFmdGVyVmlld0luaXQsIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZChUeXBlU2VsZWN0KSBpbnB1dDogVHlwZVNlbGVjdDtcclxuICBwdWJsaWMgcmVhZG9ubHkgcm9sZXMgOnN0cmluZztcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgcm9sZU5hbWU6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBjb25kaXRpb246IHRoaXMuX2ZiLmNvbnRyb2woJ0FueW9uZScpLFxyXG4gICAgbWluaW11bTogdGhpcy5fZmIuY29udHJvbChudWxsKSxcclxuICAgIG9wdGlvbmFsOiBmYWxzZSxcclxuICAgIG1lc3NhZ2U6IG51bGwsXHJcbiAgICBmeWk6IGZhbHNlLFxyXG4gICAgc2tpcEluUm91dGU6IGZhbHNlLFxyXG4gICAgc3RhbmRhcmRUaW1lOiBudWxsLFxyXG4gICAgZXNjYWxhdGVSb2xlOiBudWxsLFxyXG4gICAgZXNjYWxhdGVUaW1lOiBudWxsLFxyXG4gICAgaWY6IG51bGxcclxuICB9KTtcclxuICByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgLyoqIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTm9kZVJlZikgcHJpdmF0ZSBfbm9kZVJlZjogTm9kZVJlZixcclxuICAgIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgY29uc3QgYXJnID0gdGhpcy5fbm9kZVJlZi5hcmd1bWVudHMuZmluZChhID0+IGEubmFtZSA9PSAncm9sZU5hbWUnKTtcclxuICAgIHRoaXMucm9sZXMgPSBhcmcuZGF0YVR5cGU7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5wdXQuZm9jdXMoKTtcclxuICAgIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybS5jb250cm9scy5jb25kaXRpb24udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgIGNvbnN0IGN0cmwgPSB0aGlzLmZvcm0uY29udHJvbHMubWluaW11bTtcclxuICAgICAgc3dpdGNoICh2KSB7XHJcbiAgICAgICAgY2FzZSAnQ291bnQnOlxyXG4gICAgICAgICAgY3RybC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLm1pbigxKSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gICAgICAgICAgY3RybC5zZXRWYWx1ZSgxKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ1BlcmNlbnQnOlxyXG4gICAgICAgICAgY3RybC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLm1pbigxKSwgVmFsaWRhdG9ycy5tYXgoMTAwKSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gICAgICAgICAgY3RybC5zZXRWYWx1ZSgxMDApO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGN0cmwuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgICBjdHJsLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8Yml6ZG9jLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJyb2xlTmFtZVwiIGNka0ZvY3VzSW5pdGlhbCBbcGxhY2Vob2xkZXJdPVwiJ1JvbGUnfHRyYW5zbGF0ZVwiIHJlcXVpcmVkIFt0eXBlXT1cInJvbGVzXCI+PC9iaXpkb2Mtc2VsZWN0PlxyXG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMucm9sZU5hbWUuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57eydBcmVSZXF1aXJlZEVycid8dHJhbnNsYXRlOignUm9sZXMnfHRyYW5zbGF0ZSl9fTwvbWF0LWVycm9yPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY29uZGl0aW9uXCIgW3BsYWNlaG9sZGVyXT1cIidSZXF1aXJtZW50cyd8dHJhbnNsYXRlXCI+XHJcbiAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiQW55b25lXCI+e3snQW55b25lJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJFdmVyeW9uZVwiPnt7J0V2ZXJ5b25lJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJDb3VudFwiPnt7J01pbmltdW0nfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlBlcmNlbnRcIj57eydQZXJjZW50J3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBbc3R5bGUuZGlzcGxheV09XCJmb3JtLnZhbHVlLmNvbmRpdGlvbiA9PT0gJ0NvdW50JyB8fCBmb3JtLnZhbHVlLmNvbmRpdGlvbiA9PT0gJ1BlcmNlbnQnID8gJycgOiAnbm9uZSdcIj5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJtaW5pbXVtXCIgW3BsYWNlaG9sZGVyXT1cIidSZXF1aXJtZW50c1ZhbHVlJ3x0cmFuc2xhdGVcIiB0eXBlPVwibnVtYmVyXCIgcmVxdWlyZWQgLz5cclxuICAgIDxzcGFuIG1hdFN1ZmZpeCAqbmdJZj1cImZvcm0udmFsdWUuY29uZGl0aW9uID09PSAnUGVyY2VudCdcIj4lPC9zcGFuPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJvcHRpb25hbFwiIHJlcXVpcmVkPnt7J09wdGlvbmFsUm9sZSd8dHJhbnNsYXRlfX08L21hdC1jaGVja2JveD5cclxuICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8Yml6ZG9jLWFjZS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJtZXNzYWdlXCIgW3BsYWNlaG9sZGVyXT1cIidNZXNzYWdlJ3x0cmFuc2xhdGVcIj48L2JpemRvYy1hY2UtaW5wdXQ+XHJcbiAgICA8bWF0LWhpbnQ+e3snUHJvZ3JhbW1hYmxlRXhwcmVzc2lvbid8dHJhbnNsYXRlfX08L21hdC1oaW50PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJmeWlcIiByZXF1aXJlZD57eydGWUknfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+PG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgPGJpemRvYy10aW1lc3Bhbi1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJzdGFuZGFyZFRpbWVcIiBbcGxhY2Vob2xkZXJdPVwiJ1N0YW5kYXJkVGltZSd8dHJhbnNsYXRlXCI+PC9iaXpkb2MtdGltZXNwYW4taW5wdXQ+XHJcbiAgICA8bWF0LWljb24gbWF0U3VmZml4PnRpbWVyPC9tYXQtaWNvbj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxiaXpkb2Mtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImVzY2FsYXRlUm9sZVwiIFtwbGFjZWhvbGRlcl09XCInRXNjYWxhdGVSb2xlJ3x0cmFuc2xhdGVcIiBbdHlwZV09XCJyb2xlc1wiPjwvYml6ZG9jLXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImZvcm0uY29udHJvbHMuZXNjYWxhdGVSb2xlLnZhbHVlXCI+XHJcbiAgICA8Yml6ZG9jLXRpbWVzcGFuLWlucHV0IGZvcm1Db250cm9sTmFtZT1cImVzY2FsYXRlVGltZVwiIFtwbGFjZWhvbGRlcl09XCInRXNjYWxhdGVJbid8dHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ+PC9iaXpkb2MtdGltZXNwYW4taW5wdXQ+XHJcbiAgICA8bWF0LWljb24gbWF0U3VmZml4PnRpbWVyPC9tYXQtaWNvbj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxiaXpkb2MtYWNlLWlucHV0IFtwbGFjZWhvbGRlcl09XCInQ29uZGl0aW9uJ3x0cmFuc2xhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJpZlwiPjwvYml6ZG9jLWFjZS1pbnB1dD5cclxuICAgIDxtYXQtaGludD4ge3sgJ1Byb2dyYW1tYWJsZUV4cHJlc3Npb24nfHRyYW5zbGF0ZSB9fTwvbWF0LWhpbnQ+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInNraXBJblJvdXRlXCIgcmVxdWlyZWQ+e3snU2tpcEluUm91dGUnfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XHJcbjwvZm9ybT5cclxuIl19
@@ -60,7 +60,7 @@ let ManageCubeIndexUtility = class ManageCubeIndexUtility {
60
60
  const row = this._find(axes);
61
61
  if (row) {
62
62
  this._row = row;
63
- this.form.controls['value'].setValue(this._row.value, { emitEvent: false });
63
+ this.form.controls.value.setValue(this._row.value, { emitEvent: false });
64
64
  }
65
65
  else
66
66
  this._row.axes = axes;
@@ -157,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
157
157
  type: ViewChild,
158
158
  args: ['editTmpl', { static: true }]
159
159
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9pbmRpY2VzL21hbmFnZS1jdWJlLWluZGV4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vaW5kaWNlcy9tYW5hZ2UtY3ViZS1pbmRleC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQTRDLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVzFDLElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXNCO0lBZ0I1QixZQUFvQixJQUFvQixFQUNWLElBQXlELEVBQ3JGLE9BQXVCLEVBQVUsR0FBcUIsRUFDOUMsR0FBa0IsRUFDbEIsUUFBaUI7UUFKUCxTQUFJLEdBQUosSUFBSSxDQUFnQjtRQUNWLFNBQUksR0FBSixJQUFJLENBQXFEO1FBQ3BELFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQzlD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O2tHQWpCZCxzQkFBc0Isd0tDdEI5QixrN0RBbUNBOztBRGJRLHNCQUFzQjtJQUY3QixNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztHQUVsQyxzQkFBc0IsQ0F3SDdCOzsyRkF4SE8sc0JBQXNCO2tCQU43QixTQUFTOzs7MEJBdUJMLE1BQU07MkJBQUMsVUFBVTt1SkFQcUIsUUFBUTtzQkFBaEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIE9uRGVzdHJveSwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyXCI7XHJcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcclxuaW1wb3J0IHsgbWVyZ2UsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBVdGlsaXR5Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IFV0aWxpdHlSZWYgfSBmcm9tIFwiLi4vdXRpbGl0eS1yZWZcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ3ViZUF4aXMgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzdHlsZVVybHM6IFsnLi9tYW5hZ2UtY3ViZS1pbmRleC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tYW5hZ2UtY3ViZS1pbmRleC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAnbWFuYWdlLWN1YmUtaW5kZXgnIH0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIE1hbmFnZUN1YmVJbmRleFV0aWxpdHkgaW1wbGVtZW50cyBVdGlsaXR5Q29tcG9uZW50PGFueSwgYW55PiwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IENVUlJFTkNZX0NPREU6IHN0cmluZztcclxuICBkaXJ0eSA9IGZhbHNlO1xyXG4gIGF4ZXM6IEN1YmVBeGlzW107XHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPEluZGV4PjtcclxuICByZWFkb25seSBuYW1lczogc3RyaW5nW107XHJcbiAgcmVhZG9ubHkgZGlzcGxheWVkQ29sdW1ucyA9IFsndmFsdWUnLCAnb3B0aW9ucyddO1xyXG4gIHJlYWRvbmx5IGZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgdmFsdWU6IG5ldyBGb3JtQ29udHJvbCgwLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gIH0pO1xyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRUbXBsJywgeyBzdGF0aWM6IHRydWUgfSkgZWRpdFRtcGw6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgbG9hZGluZzogUHJvZ3Jlc3NCYXJNb2RlO1xyXG4gIHByaXZhdGUgX2RhdGE6IEluZGV4W107XHJcbiAgcHJpdmF0ZSBfcm93OiBJbmRleDtcclxuICBwcml2YXRlIF9vUmVmOiBPdmVybGF5UmVmO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3JlZjogVXRpbGl0eVJlZjxib29sZWFuLCBJbmRleFtdLCBJbmRleFtdLCBhbnksIE9wdGlvbnM+LFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsIHByaXZhdGUgX3ZjOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5KSB7XHJcbiAgICBjb25zdCB7IGN1YmU6IG5hbWUsIGF4ZXM6IG5hbWVzIH0gPSBfcmVmLm9wdGlvbnM7XHJcbiAgICBjb25zdCBjdWJlID0gbmFtZSA/IHNlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSBuYW1lKSA6IHNlc3Npb24ucHJvZmlsZS5jdWJlc1swXTtcclxuICAgIHRoaXMuQ1VSUkVOQ1lfQ09ERSA9IGN1YmUuY3VycmVuY3lDb2RlO1xyXG4gICAgdGhpcy5heGVzID0gY3ViZS5heGVzLmZpbHRlcihhID0+IG5hbWVzID8gbmFtZXMuaW5kZXhPZihhLm5hbWUpID4gLTEgOiBhLnNlbGVjdGlvbk1vZGUgIT09ICdOb25lJyk7XHJcbiAgICB0aGlzLm5hbWVzID0gY3ViZS5heGVzLm1hcChhID0+IGEubmFtZSk7XHJcbiAgICB0aGlzLmF4ZXMuZm9yRWFjaCgoYSwgaSkgPT4ge1xyXG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMuc3BsaWNlKGksIDAsIGEubmFtZSk7XHJcbiAgICAgIGNvbnN0IGN0cmwgPSBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKGEubmFtZSwgY3RybCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHJldHVybjtcclxuICAgICAgY29uc3QgYXhlcyA9IFtdO1xyXG4gICAgICB0aGlzLmF4ZXMuZm9yRWFjaChhID0+IGF4ZXNbdGhpcy5uYW1lcy5pbmRleE9mKGEubmFtZSldID0gdGhpcy5mb3JtLnZhbHVlW2EubmFtZV0gfHwgbnVsbCk7XHJcbiAgICAgIGlmICh0aGlzLl9yb3cpIHtcclxuICAgICAgICBpZiAoYXhlcy5qb2luKCkgPT09IHRoaXMuX3Jvdy5heGVzLmpvaW4oKSlcclxuICAgICAgICAgIHRoaXMuX3Jvdy52YWx1ZSA9IHYudmFsdWU7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCByb3cgPSB0aGlzLl9maW5kKGF4ZXMpO1xyXG4gICAgICAgICAgaWYgKHJvdykge1xyXG4gICAgICAgICAgICB0aGlzLl9yb3cgPSByb3c7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1sndmFsdWUnXS5zZXRWYWx1ZSh0aGlzLl9yb3cudmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5fcm93LmF4ZXMgPSBheGVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2LnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5fcm93ID0geyB2YWx1ZTogdi52YWx1ZSwgYXhlcyB9O1xyXG4gICAgICAgIHRoaXMuX2RhdGEucHVzaCh0aGlzLl9yb3cpO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSAnJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gICAgY29uc3Qgb1JlZiA9IHRoaXMuX29SZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCksXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLnZhbHVlLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgcGFuZWxDbGFzczogJ2hvbWUtcGFuZWwnXHJcbiAgICB9KTtcclxuICAgIG1lcmdlKG9SZWYuYmFja2Ryb3BDbGljaygpLCBvUmVmLmtleWRvd25FdmVudHMoKS5waXBlKGZpbHRlcihrID0+IGsua2V5ID09PSAnRXNjYXBlJykpKS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+IG9SZWYuZGV0YWNoKCkpO1xyXG4gIH1cclxuICBwcml2YXRlIF9maW5kKGF4ZXM6IHN0cmluZ1tdKTogSW5kZXgge1xyXG4gICAgY29uc3QgbiA9IHRoaXMubmFtZXMubGVuZ3RoO1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZmluZChpbmRleCA9PiB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKVxyXG4gICAgICAgIGlmIChheGVzW2ldICYmIGF4ZXNbaV0gIT09IGluZGV4LmF4ZXNbaV0pIHJldHVybiBmYWxzZTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5fcm93ID0gbnVsbDtcclxuICAgIGNvbnN0IHZhbHVlcyA9IHsgdmFsdWU6IDAgfTtcclxuICAgIHRoaXMuYXhlcy5mb3JFYWNoKGEgPT4gdmFsdWVzW2EubmFtZV0gPSBudWxsKTtcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHZhbHVlcywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuZWRpdFRtcGwsIHRoaXMuX3ZjKTtcclxuICAgIHRoaXMuX29SZWYuYXR0YWNoKHBvcnRhbCk7XHJcbiAgfVxyXG4gIGVkaXQoaXRlbTogSW5kZXgpIHtcclxuICAgIHRoaXMuX3JvdyA9IGl0ZW07XHJcbiAgICBjb25zdCB2YWx1ZXMgPSB7IHZhbHVlOiBpdGVtLnZhbHVlIH07XHJcbiAgICB0aGlzLmF4ZXMuZm9yRWFjaChhID0+IHZhbHVlc1thLm5hbWVdID0gaXRlbS5heGVzW3RoaXMubmFtZXMuaW5kZXhPZihhLm5hbWUpXSk7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh2YWx1ZXMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmVkaXRUbXBsLCB0aGlzLl92Yyk7XHJcbiAgICB0aGlzLl9vUmVmLmF0dGFjaChwb3J0YWwpO1xyXG4gIH1cclxuICByZW1vdmUoaW5kZXg6IEluZGV4LCBldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLl9kYXRhLnJlbW92ZShpbmRleCk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbHRlcihheGVzOiBzdHJpbmdbXSkge1xyXG4gICAgY29uc3QgbiA9IGF4ZXMubGVuZ3RoO1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZmlsdGVyKGluZGV4ID0+IHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspXHJcbiAgICAgICAgaWYgKHRoaXMuYXhlc1tpXSAmJiBheGVzW2ldICE9PSBpbmRleC5heGVzW2ldKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gJ3F1ZXJ5JztcclxuICAgIHRoaXMuX3JlZi5wb3B1bGF0ZSgpLnN1YnNjcmliZShtID0+IHtcclxuICAgICAgdGhpcy5fZGF0YSA9IG07XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UobSk7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IG51bGw7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMubG9hZGluZyA9ICdpbmRldGVybWluYXRlJztcclxuICAgIHRoaXMuX3JlZi5leGVjdXRlKHRoaXMuX2RhdGEpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBudWxsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBJbmRleCB7XHJcbiAgaWQ/OiBudW1iZXI7XHJcbiAgYXhlczogc3RyaW5nW107XHJcbiAgdmFsdWU6IG51bWJlcjtcclxufVxyXG5cclxuaW50ZXJmYWNlIE9wdGlvbnMge1xyXG4gIGN1YmU/OiBzdHJpbmc7XHJcbiAgaW5kZXg/OiBzdHJpbmc7XHJcbiAgYXhlcz86IHN0cmluZ1tdO1xyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInNhdmUoKVwiIFtkaXNhYmxlZF09XCIhZGlydHlcIj57eydTYXZlQ2hhbmdlcyd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImFkZCgpXCI+PG1hdC1pY29uPmFkZDwvbWF0LWljb24+PC9idXR0b24+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjxtYXQtcHJvZ3Jlc3MtYmFyIFttb2RlXT1cImxvYWRpbmdcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJsb2FkaW5nID8gJ3Zpc2libGUnOidoaWRkZW4nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGF4ZXM7IGxldCBpID0gaW5kZXhcIiBbbWF0Q29sdW1uRGVmXT1cImEubmFtZVwiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57e2EudGl0bGV9fTwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQuYXhlc1tuYW1lcy5pbmRleE9mKGEubmFtZSldfCB0eXBlVmFsdWU6IGEuZGF0YVR5cGUgfCBhc3luY319IDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ2YWx1ZVwiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57eydWYWx1ZSd8dHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LnZhbHVlIHwgY3VycmVuY3kgOiBDVVJSRU5DWV9DT0RFIH19IDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJvcHRpb25zXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbj48bWF0LWljb24+bW9yZV9ob3JpejwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZW1vdmUoZWxlbWVudCwgJGV2ZW50KVwiPjxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxyXG4gIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgZWxlbWVudDsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIiAoY2xpY2spPVwiZWRpdChlbGVtZW50KVwiPjwvdHI+XHJcbjwvdGFibGU+XHJcbjxuZy10ZW1wbGF0ZSAjZWRpdFRtcGw+XHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nRm9yPVwibGV0IGEgb2YgYXhlc1wiPlxyXG4gICAgICA8Yml6ZG9jLXNlbGVjdCBbcGxhY2Vob2xkZXJdPVwiYS50aXRsZVwiIFt0eXBlXT1cImEuZGF0YVR5cGVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImEubmFtZVwiIHJlcXVpcmVkPjwvYml6ZG9jLXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiByZXF1aXJlZCBbcGxhY2Vob2xkZXJdPVwiJ1ZhbHVlJ3x0cmFuc2xhdGVcIiAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9pbmRpY2VzL21hbmFnZS1jdWJlLWluZGV4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vaW5kaWNlcy9tYW5hZ2UtY3ViZS1pbmRleC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQTRDLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVzFDLElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXNCO0lBZ0I1QixZQUFvQixJQUFvQixFQUNWLElBQXlELEVBQ3JGLE9BQXVCLEVBQVUsR0FBcUIsRUFDOUMsR0FBa0IsRUFDbEIsUUFBaUI7UUFKUCxTQUFJLEdBQUosSUFBSSxDQUFnQjtRQUNWLFNBQUksR0FBSixJQUFJLENBQXFEO1FBQ3BELFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQzlD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QmQsc0JBQXNCLHdLQ3RCOUIsazdEQW1DQTs7QURiUSxzQkFBc0I7SUFGN0IsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLENBQUM7R0FFbEMsc0JBQXNCLENBd0g3Qjs7MkZBeEhPLHNCQUFzQjtrQkFON0IsU0FBUzs7OzBCQXVCTCxNQUFNOzJCQUFDLFVBQVU7dUpBUHFCLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3ksIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJNb2RlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhclwiO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9iaWRpXCI7XHJcbmltcG9ydCB7IG1lcmdlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2VcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEN1YmVBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3R5bGVVcmxzOiBbJy4vbWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50LnNjc3MnXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ21hbmFnZS1jdWJlLWluZGV4JyB9KVxyXG5leHBvcnRcclxuICBjbGFzcyBNYW5hZ2VDdWJlSW5kZXhVdGlsaXR5IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudDxhbnksIGFueT4sIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBDVVJSRU5DWV9DT0RFOiBzdHJpbmc7XHJcbiAgZGlydHkgPSBmYWxzZTtcclxuICBheGVzOiBDdWJlQXhpc1tdO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxJbmRleD47XHJcbiAgcmVhZG9ubHkgbmFtZXM6IHN0cmluZ1tdO1xyXG4gIHJlYWRvbmx5IGRpc3BsYXllZENvbHVtbnMgPSBbJ3ZhbHVlJywgJ29wdGlvbnMnXTtcclxuICByZWFkb25seSBmb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIHZhbHVlOiBuZXcgRm9ybUNvbnRyb2woMCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICB9KTtcclxuICBAVmlld0NoaWxkKCdlZGl0VG1wbCcsIHsgc3RhdGljOiB0cnVlIH0pIGVkaXRUbXBsOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGxvYWRpbmc6IFByb2dyZXNzQmFyTW9kZTtcclxuICBwcml2YXRlIF9kYXRhOiBJbmRleFtdO1xyXG4gIHByaXZhdGUgX3JvdzogSW5kZXg7XHJcbiAgcHJpdmF0ZSBfb1JlZjogT3ZlcmxheVJlZjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5LFxyXG4gICAgQEluamVjdChVdGlsaXR5UmVmKSBwcml2YXRlIF9yZWY6IFV0aWxpdHlSZWY8Ym9vbGVhbiwgSW5kZXhbXSwgSW5kZXhbXSwgYW55LCBPcHRpb25zPixcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLCBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSkge1xyXG4gICAgY29uc3QgeyBjdWJlOiBuYW1lLCBheGVzOiBuYW1lcyB9ID0gX3JlZi5vcHRpb25zO1xyXG4gICAgY29uc3QgY3ViZSA9IG5hbWUgPyBzZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gbmFtZSkgOiBzZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICB0aGlzLkNVUlJFTkNZX0NPREUgPSBjdWJlLmN1cnJlbmN5Q29kZTtcclxuICAgIHRoaXMuYXhlcyA9IGN1YmUuYXhlcy5maWx0ZXIoYSA9PiBuYW1lcyA/IG5hbWVzLmluZGV4T2YoYS5uYW1lKSA+IC0xIDogYS5zZWxlY3Rpb25Nb2RlICE9PSAnTm9uZScpO1xyXG4gICAgdGhpcy5uYW1lcyA9IGN1YmUuYXhlcy5tYXAoYSA9PiBhLm5hbWUpO1xyXG4gICAgdGhpcy5heGVzLmZvckVhY2goKGEsIGkpID0+IHtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnNwbGljZShpLCAwLCBhLm5hbWUpO1xyXG4gICAgICBjb25zdCBjdHJsID0gbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChhLm5hbWUsIGN0cmwpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSByZXR1cm47XHJcbiAgICAgIGNvbnN0IGF4ZXMgPSBbXTtcclxuICAgICAgdGhpcy5heGVzLmZvckVhY2goYSA9PiBheGVzW3RoaXMubmFtZXMuaW5kZXhPZihhLm5hbWUpXSA9IHRoaXMuZm9ybS52YWx1ZVthLm5hbWVdIHx8IG51bGwpO1xyXG4gICAgICBpZiAodGhpcy5fcm93KSB7XHJcbiAgICAgICAgaWYgKGF4ZXMuam9pbigpID09PSB0aGlzLl9yb3cuYXhlcy5qb2luKCkpXHJcbiAgICAgICAgICB0aGlzLl9yb3cudmFsdWUgPSB2LnZhbHVlO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc3Qgcm93ID0gdGhpcy5fZmluZChheGVzKTtcclxuICAgICAgICAgIGlmIChyb3cpIHtcclxuICAgICAgICAgICAgdGhpcy5fcm93ID0gcm93O1xyXG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMudmFsdWUuc2V0VmFsdWUodGhpcy5fcm93LnZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuX3Jvdy5heGVzID0gYXhlcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodi52YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX3JvdyA9IHsgdmFsdWU6IHYudmFsdWUsIGF4ZXMgfTtcclxuICAgICAgICB0aGlzLl9kYXRhLnB1c2godGhpcy5fcm93KTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5kaXJ0eSA9IHRydWU7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IG9SZWYgPSB0aGlzLl9vUmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6ICdob21lLXBhbmVsJ1xyXG4gICAgfSk7XHJcbiAgICBtZXJnZShvUmVmLmJhY2tkcm9wQ2xpY2soKSwgb1JlZi5rZXlkb3duRXZlbnRzKCkucGlwZShmaWx0ZXIoayA9PiBrLmtleSA9PT0gJ0VzY2FwZScpKSkucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiBvUmVmLmRldGFjaCgpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZmluZChheGVzOiBzdHJpbmdbXSk6IEluZGV4IHtcclxuICAgIGNvbnN0IG4gPSB0aGlzLm5hbWVzLmxlbmd0aDtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhLmZpbmQoaW5kZXggPT4ge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKylcclxuICAgICAgICBpZiAoYXhlc1tpXSAmJiBheGVzW2ldICE9PSBpbmRleC5heGVzW2ldKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGFkZCgpIHtcclxuICAgIHRoaXMuX3JvdyA9IG51bGw7XHJcbiAgICBjb25zdCB2YWx1ZXMgPSB7IHZhbHVlOiAwIH07XHJcbiAgICB0aGlzLmF4ZXMuZm9yRWFjaChhID0+IHZhbHVlc1thLm5hbWVdID0gbnVsbCk7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh2YWx1ZXMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmVkaXRUbXBsLCB0aGlzLl92Yyk7XHJcbiAgICB0aGlzLl9vUmVmLmF0dGFjaChwb3J0YWwpO1xyXG4gIH1cclxuICBlZGl0KGl0ZW06IEluZGV4KSB7XHJcbiAgICB0aGlzLl9yb3cgPSBpdGVtO1xyXG4gICAgY29uc3QgdmFsdWVzID0geyB2YWx1ZTogaXRlbS52YWx1ZSB9O1xyXG4gICAgdGhpcy5heGVzLmZvckVhY2goYSA9PiB2YWx1ZXNbYS5uYW1lXSA9IGl0ZW0uYXhlc1t0aGlzLm5hbWVzLmluZGV4T2YoYS5uYW1lKV0pO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodmFsdWVzLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5lZGl0VG1wbCwgdGhpcy5fdmMpO1xyXG4gICAgdGhpcy5fb1JlZi5hdHRhY2gocG9ydGFsKTtcclxuICB9XHJcbiAgcmVtb3ZlKGluZGV4OiBJbmRleCwgZXZ0OiBFdmVudCkge1xyXG4gICAgdGhpcy5fZGF0YS5yZW1vdmUoaW5kZXgpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuICBwcml2YXRlIF9maWx0ZXIoYXhlczogc3RyaW5nW10pIHtcclxuICAgIGNvbnN0IG4gPSBheGVzLmxlbmd0aDtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhLmZpbHRlcihpbmRleCA9PiB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKVxyXG4gICAgICAgIGlmICh0aGlzLmF4ZXNbaV0gJiYgYXhlc1tpXSAhPT0gaW5kZXguYXhlc1tpXSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZGluZyA9ICdxdWVyeSc7XHJcbiAgICB0aGlzLl9yZWYucG9wdWxhdGUoKS5zdWJzY3JpYmUobSA9PiB7XHJcbiAgICAgIHRoaXMuX2RhdGEgPSBtO1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKG0pO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBudWxsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSAnaW5kZXRlcm1pbmF0ZSc7XHJcbiAgICB0aGlzLl9yZWYuZXhlY3V0ZSh0aGlzLl9kYXRhKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9zYi50b2FzdCgnQ2hhbmdlc1NhdmVkJyk7XHJcbiAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gbnVsbDtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgSW5kZXgge1xyXG4gIGlkPzogbnVtYmVyO1xyXG4gIGF4ZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlOiBudW1iZXI7XHJcbn1cclxuXHJcbmludGVyZmFjZSBPcHRpb25zIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGluZGV4Pzogc3RyaW5nO1xyXG4gIGF4ZXM/OiBzdHJpbmdbXTtcclxufVxyXG4iLCI8bWF0LXRvb2xiYXI+XHJcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJzYXZlKClcIiBbZGlzYWJsZWRdPVwiIWRpcnR5XCI+e3snU2F2ZUNoYW5nZXMnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGQoKVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48bWF0LXByb2dyZXNzLWJhciBbbW9kZV09XCJsb2FkaW5nXCIgW3N0eWxlLnZpc2liaWxpdHldPVwibG9hZGluZyA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBheGVzOyBsZXQgaSA9IGluZGV4XCIgW21hdENvbHVtbkRlZl09XCJhLm5hbWVcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3thLnRpdGxlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LmF4ZXNbbmFtZXMuaW5kZXhPZihhLm5hbWUpXXwgdHlwZVZhbHVlOiBhLmRhdGFUeXBlIHwgYXN5bmN9fSA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidmFsdWVcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3snVmFsdWUnfHRyYW5zbGF0ZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC52YWx1ZSB8IGN1cnJlbmN5IDogQ1VSUkVOQ1lfQ09ERSB9fSA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib3B0aW9uc1wiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24+PG1hdC1pY29uPm1vcmVfaG9yaXo8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlKGVsZW1lbnQsICRldmVudClcIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cclxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IGVsZW1lbnQ7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCIgKGNsaWNrKT1cImVkaXQoZWxlbWVudClcIj48L3RyPlxyXG48L3RhYmxlPlxyXG48bmctdGVtcGxhdGUgI2VkaXRUbXBsPlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0Zvcj1cImxldCBhIG9mIGF4ZXNcIj5cclxuICAgICAgPGJpemRvYy1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cImEudGl0bGVcIiBbdHlwZV09XCJhLmRhdGFUeXBlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJhLm5hbWVcIiByZXF1aXJlZD48L2JpemRvYy1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgcmVxdWlyZWQgW3BsYWNlaG9sZGVyXT1cIidWYWx1ZSd8dHJhbnNsYXRlXCIgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=