@eqproject/eqp-dynamic-module 2.4.45 → 2.4.47

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 (19) hide show
  1. package/esm2020/lib/components/exported/eqp-dynamic-module-configurator/eqp-dynamic-module-configurator.component.mjs +3 -3
  2. package/esm2020/lib/components/private/add-form-field/add-form-field.component.mjs +40 -3
  3. package/esm2020/lib/components/private/field-templates/boolean-field-template/boolean-field-template.component.mjs +5 -1
  4. package/esm2020/lib/components/private/field-templates/date-field-template/date-field-template.component.mjs +5 -1
  5. package/esm2020/lib/components/private/field-templates/image-field-selector-template/image-field-selector-template.component.mjs +3 -3
  6. package/esm2020/lib/components/private/field-templates/label-field-template/label-field-template.component.mjs +5 -1
  7. package/esm2020/lib/components/private/field-templates/list-value-field-template/list-value-field-template.component.mjs +3 -3
  8. package/esm2020/lib/components/private/field-templates/numeric-field-template/numeric-field-template.component.mjs +8 -4
  9. package/esm2020/lib/components/private/field-templates/text-field-template/text-field-template.component.mjs +7 -3
  10. package/esm2020/lib/components/private/field-templates/textarea-field-template/textarea-field-template.component.mjs +7 -3
  11. package/esm2020/lib/components/private/form-statistics/filter-templates/numeric-filter-template/numeric-filter-template.component.mjs +3 -3
  12. package/esm2020/lib/components/private/form-statistics/filter-templates/text-filter-template/text-filter-template.component.mjs +3 -3
  13. package/esm2020/lib/components/private/form-statistics/filter-templates/textarea-filter-template/textarea-filter-template.component.mjs +3 -3
  14. package/esm2020/lib/components/private/graphs/graphs.component.mjs +3 -3
  15. package/fesm2015/eqproject-eqp-dynamic-module.mjs +78 -23
  16. package/fesm2015/eqproject-eqp-dynamic-module.mjs.map +1 -1
  17. package/fesm2020/eqproject-eqp-dynamic-module.mjs +78 -23
  18. package/fesm2020/eqproject-eqp-dynamic-module.mjs.map +1 -1
  19. package/package.json +1 -1
@@ -2,6 +2,7 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { EqpNumericInputMode } from '@eqproject/eqp-numeric';
3
3
  import { UtilityHelperService } from '../../../../services/utilityHelper.services';
4
4
  import { Validators } from '@angular/forms';
5
+ import { DataGetterTypeEnum } from '../../../../models/baseField.model';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/material/input";
7
8
  import * as i2 from "@angular/material/form-field";
@@ -39,7 +40,7 @@ export class NumericFieldTemplateComponent {
39
40
  * Metodo per aggiornare il valore del campo quando questo è rappresentato da una formula.
40
41
  */
41
42
  updateField() {
42
- if (this.field.Formula) {
43
+ if (this.field.DataGetter.DataGetterType == DataGetterTypeEnum.Formula && this.field.Formula) {
43
44
  this.record[this.field.Name] = UtilityHelperService.EvaluateFieldFormula(this.field.Formula, this.record, null);
44
45
  //console.log("field modified - original value",this.field.Name,this.record[this.field.Name]);
45
46
  //this.record[this.field.Name] = this.record[this.field.Name] == 0 ? 0 : (this.record[this.field.Name] / Math.pow(10,this.eqpNumericOptions.precision)).toFixed(this.eqpNumericOptions.precision);
@@ -48,6 +49,9 @@ export class NumericFieldTemplateComponent {
48
49
  if (this.field.VisibleIf) {
49
50
  this.field.InListView = UtilityHelperService.EvaluateFieldFormula(this.field.VisibleIf, this.record, null);
50
51
  }
52
+ if (this.field.DataGetter.DataGetterType == DataGetterTypeEnum.Manuale && this.record[this.field.Name] == null) {
53
+ this.record[this.field.Name] = this.field.DataGetter.DataGetterValue;
54
+ }
51
55
  }
52
56
  /**
53
57
  * Metodo per emettere l'evento che il valore del record è cambiato.
@@ -103,10 +107,10 @@ export class NumericFieldTemplateComponent {
103
107
  }
104
108
  }
105
109
  NumericFieldTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumericFieldTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
106
- NumericFieldTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NumericFieldTemplateComponent, selector: "numeric-field-template", inputs: { field: "field", record: "record" }, outputs: { recordChange: "recordChange" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1 ps-3\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [formControlName]=\"field.Name\" [readonly]=\"field.Readonly\"\r\n [required]=\"field.Required\" [(ngModel)]=\"record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (blur)=\"onRecordValueChange()\" (keypress)=\"setDirty()\" />\r\n <mat-error *ngIf=\"!field.FormFormGroup.valid && field.FormFormGroup.controls[field.Name].touched && !field.Readonly\">\r\n Min: {{field.MinValue}} - Max: {{field.MaxValue}}\r\n </mat-error>\r\n</mat-form-field>", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-form-field-label{font-size:x-large}\n"], dependencies: [{ kind: "directive", type: i1.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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.EqpNumericDirective, selector: "[eqpNumericMask]", inputs: ["options"] }] });
110
+ NumericFieldTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NumericFieldTemplateComponent, selector: "numeric-field-template", inputs: { field: "field", record: "record" }, outputs: { recordChange: "recordChange" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"field.FormFormGroup\" appearance=\"outline\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [formControlName]=\"field.Name\" [readonly]=\"field.Readonly\"\r\n [required]=\"field.Required\" [(ngModel)]=\"record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (blur)=\"onRecordValueChange()\" (keypress)=\"setDirty()\" />\r\n <mat-error *ngIf=\"!field.FormFormGroup.valid && field.FormFormGroup.controls[field.Name].touched && !field.Readonly\">\r\n Min: {{field.MinValue}} - Max: {{field.MaxValue}}\r\n </mat-error>\r\n</mat-form-field>", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-form-field-label{font-size:x-large}\n"], dependencies: [{ kind: "directive", type: i1.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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.EqpNumericDirective, selector: "[eqpNumericMask]", inputs: ["options"] }] });
107
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumericFieldTemplateComponent, decorators: [{
108
112
  type: Component,
109
- args: [{ selector: 'numeric-field-template', template: "<mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1 ps-3\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [formControlName]=\"field.Name\" [readonly]=\"field.Readonly\"\r\n [required]=\"field.Required\" [(ngModel)]=\"record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (blur)=\"onRecordValueChange()\" (keypress)=\"setDirty()\" />\r\n <mat-error *ngIf=\"!field.FormFormGroup.valid && field.FormFormGroup.controls[field.Name].touched && !field.Readonly\">\r\n Min: {{field.MinValue}} - Max: {{field.MaxValue}}\r\n </mat-error>\r\n</mat-form-field>", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-form-field-label{font-size:x-large}\n"] }]
113
+ args: [{ selector: 'numeric-field-template', template: "<mat-form-field [formGroup]=\"field.FormFormGroup\" appearance=\"outline\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [formControlName]=\"field.Name\" [readonly]=\"field.Readonly\"\r\n [required]=\"field.Required\" [(ngModel)]=\"record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (blur)=\"onRecordValueChange()\" (keypress)=\"setDirty()\" />\r\n <mat-error *ngIf=\"!field.FormFormGroup.valid && field.FormFormGroup.controls[field.Name].touched && !field.Readonly\">\r\n Min: {{field.MinValue}} - Max: {{field.MaxValue}}\r\n </mat-error>\r\n</mat-form-field>", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-form-field-label{font-size:x-large}\n"] }]
110
114
  }], ctorParameters: function () { return []; }, propDecorators: { field: [{
111
115
  type: Input
112
116
  }], record: [{
@@ -114,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
114
118
  }], recordChange: [{
115
119
  type: Output
116
120
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL251bWVyaWMtZmllbGQtdGVtcGxhdGUvbnVtZXJpYy1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL251bWVyaWMtZmllbGQtdGVtcGxhdGUvbnVtZXJpYy1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBSW5GLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVE1QyxNQUFNLE9BQU8sNkJBQTZCO0lBYzFDO1FBVlksaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMxRSxvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUM1QixzQkFBaUIsR0FBK0IsRUFBRSxDQUFDO1FBTXJELFlBQU8sR0FBWSxLQUFLLENBQUM7SUFHekIsQ0FBQztJQUVDLFFBQVE7UUFDTixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7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QUN0QztJQUNMLENBQUM7SUFFRDs7S0FFQztJQUNPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxTQUFTO1lBQ2pFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLFNBQVM7WUFDakUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDOzsySEF6R1UsNkJBQTZCOytHQUE3Qiw2QkFBNkIsNEtDZDFDLDR1QkFRaUI7NEZETUosNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLHdCQUF3QjswRUFNekIsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVxcE51bWVyaWNJbnB1dE1vZGUsIE51bWVyaWNNYXNrQ29uZmlnIH0gZnJvbSAnQGVxcHJvamVjdC9lcXAtbnVtZXJpYyc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBOdW1lcmljRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL251bWVyaWNGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IElCYXNlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2lCYXNlRmllbGRDb21wb25lbnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgR2xvYmFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2dsb2JhbC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbnVtZXJpYy1maWVsZC10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL251bWVyaWMtZmllbGQtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL251bWVyaWMtZmllbGQtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVtZXJpY0ZpZWxkVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgSUJhc2VGaWVsZENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGZpZWxkOiBOdW1lcmljRmllbGQ7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICB2YWxpZGF0b3JzQXJyYXk6IGFueVtdID0gW107XHJcbiAgZXFwTnVtZXJpY09wdGlvbnM6IFBhcnRpYWw8TnVtZXJpY01hc2tDb25maWc+ID0ge307XHJcblxyXG4vL3ZhcmlhYmlsaSBwZXIgZ2VzdGlyZSBpbCBjc3MgZGVsbGEgbGFiZWwgZSBkZWwgZmllbGRcclxuRmllbGRzdHlsZU9iajogYW55O1xyXG5MYWJlbHN0eWxlT2JqOiBhbnk7XHJcblxyXG5pc0RpcnR5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5jb25zdHJ1Y3RvcigpIHtcclxufVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlndXJlRXFwTnVtZXJpY09wdGlvbnMoKTtcclxuICAgIHRoaXMuY29uZmlndXJlQ29udHJvbGxlcnMoKTsgICBcclxuICAgIHRoaXMudXBkYXRlRmllbGQoKTtcclxuICAgIHRoaXMuaW5pdFN0eWxlcygpO1xyXG4gIH1cclxuXHJcbiAgLy9GdW56aW9uZSBwZXIgcGFyc2FyZSBpbCBjYW1wbyBzdHlsZWNzcyBkZWxsJ29nZ2V0dG8gZmllbGQgZWQgYXBwbGljYXJsbyBhbGwnaHRtbFxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICAgICAgIGlmKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgICAgIHRoaXMuRmllbGRzdHlsZU9iaj0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MpO1xyXG4gICAgICAgaWYodGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgICAgdGhpcy5MYWJlbHN0eWxlT2JqID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MpO1xyXG4gfVxyXG4gLy8gU2UgdmllbmUgbW9kaWZpY2F0byBpbCB2YWxvcmUgZGkgXCJuZ01vZGVsSW5wdXRcIiBhbGxvcmEgYWdnaW9ybmEgbCdpbnB1dFxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgXHJcbiAgICBpZiAoY2hhbmdlc1sncmVjb3JkJ10gIT0gdW5kZWZpbmVkICYmIGNoYW5nZXNbJ3JlY29yZCddLmZpcnN0Q2hhbmdlID09IGZhbHNlICYmIEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ3JlY29yZCddLmN1cnJlbnRWYWx1ZSkgIT0gSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncmVjb3JkJ10ucHJldmlvdXNWYWx1ZSkpIHtcclxuICAgICAgdGhpcy5yZWNvcmQgPSBjaGFuZ2VzWydyZWNvcmQnXS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMudXBkYXRlRmllbGQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgYWdnaW9ybmFyZSBpbCB2YWxvcmUgZGVsIGNhbXBvIHF1YW5kbyBxdWVzdG8gw6ggcmFwcHJlc2VudGF0byBkYSB1bmEgZm9ybXVsYS5cclxuICAgKi9cclxuICB1cGRhdGVGaWVsZCgpIHtcclxuICAgIFxyXG4gICAgaWYgKHRoaXMuZmllbGQuRm9ybXVsYSkge1xyXG4gICAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuRXZhbHVhdGVGaWVsZEZvcm11bGEodGhpcy5maWVsZC5Gb3JtdWxhLCB0aGlzLnJlY29yZCwgbnVsbCk7XHJcbiAgICAgIC8vY29uc29sZS5sb2coXCJmaWVsZCBtb2RpZmllZCAtIG9yaWdpbmFsIHZhbHVlXCIsdGhpcy5maWVsZC5OYW1lLHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0pO1xyXG4gICAgICAvL3RoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IDAgPyAwIDogKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gLyBNYXRoLnBvdygxMCx0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWNpc2lvbikpLnRvRml4ZWQodGhpcy5lcXBOdW1lcmljT3B0aW9ucy5wcmVjaXNpb24pO1xyXG4gICAgICAvL2NvbnNvbGUubG9nKFwiZmllbGQgbW9kaWZpZWQgLSBmaW5hbCB2YWx1ZVwiLHRoaXMuZmllbGQuTmFtZSx0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZpZWxkLlZpc2libGVJZikge1xyXG4gICAgICB0aGlzLmZpZWxkLkluTGlzdFZpZXcgPSBVdGlsaXR5SGVscGVyU2VydmljZS5FdmFsdWF0ZUZpZWxkRm9ybXVsYSh0aGlzLmZpZWxkLlZpc2libGVJZiwgdGhpcy5yZWNvcmQsIG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBlbWV0dGVyZSBsJ2V2ZW50byBjaGUgaWwgdmFsb3JlIGRlbCByZWNvcmQgw6ggY2FtYmlhdG8uXHJcbiAgICovXHJcbiAgb25SZWNvcmRWYWx1ZUNoYW5nZSgpIHtcclxuICAgIGlmICghdGhpcy5maWVsZC5Gb3JtdWxhKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzRGlydHkpe1xyXG4gICAgICAgIC8vIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IDAgPyAwIDogKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gLyBNYXRoLnBvdygxMCx0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWNpc2lvbikpLnRvRml4ZWQodGhpcy5lcXBOdW1lcmljT3B0aW9ucy5wcmVjaXNpb24pO1xyXG4gICAgICAgIHRoaXMuaXNEaXJ0eSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVjb3JkQ2hhbmdlLmVtaXQodGhpcy5yZWNvcmQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBjb25maWd1cmFyZSBlcXAtbnVtZXJpY1xyXG4gICAqL1xyXG4gIHByaXZhdGUgY29uZmlndXJlRXFwTnVtZXJpY09wdGlvbnMoKSB7XHJcbiAgICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnN1ZmZpeCA9IHRoaXMuZmllbGQuTWVhc3VyZVVuaXQgPyBcIiAgXCIrdGhpcy5maWVsZC5NZWFzdXJlVW5pdCtcIiAgXCIgOiBcIlwiO1xyXG4gICAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5wcmVmaXggPSB0aGlzLmZpZWxkLkN1cnJlbmN5U3ltYm9sID8gdGhpcy5maWVsZC5DdXJyZW5jeVN5bWJvbCtcIiBcIiA6IFwiXCI7XHJcbiAgICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmlucHV0TW9kZSA9IHRoaXMuZmllbGQuQ3VycmVuY3lTeW1ib2wgPyBFcXBOdW1lcmljSW5wdXRNb2RlLkZJTkFOQ0lBTCA6IEVxcE51bWVyaWNJbnB1dE1vZGUuTkFUVVJBTDtcclxuICAgIHRoaXMuZXFwTnVtZXJpY09wdGlvbnMuYWxsb3dOZWdhdGl2ZT10cnVlO1xyXG4gICAgaWYgKHRoaXMuZmllbGQuRGVjaW1hbFNlcGFyYXRvciAhPSBudWxsICYmIHRoaXMuZmllbGQuRGVjaW1hbFNlcGFyYXRvciAhPSB1bmRlZmluZWQpXHJcbiAgICAgIHRoaXMuZXFwTnVtZXJpY09wdGlvbnMuZGVjaW1hbCA9IHRoaXMuZmllbGQuRGVjaW1hbFNlcGFyYXRvcjtcclxuICAgICAgZWxzZVxyXG4gICAgICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmRlY2ltYWw9XCIuXCI7XHJcbiAgICBpZiAodGhpcy5maWVsZC5UaG91c2FuZHNTZXBhcmF0b3IgIT0gbnVsbCAmJiB0aGlzLmZpZWxkLlRob3VzYW5kc1NlcGFyYXRvciAhPSB1bmRlZmluZWQgJiYgdGhpcy5maWVsZC5UaG91c2FuZHNTZXBhcmF0b3IudHJpbSgpLmxlbmd0aCA+IDApXHJcbiAgICAgIHRoaXMuZXFwTnVtZXJpY09wdGlvbnMudGhvdXNhbmRzID0gdGhpcy5maWVsZC5UaG91c2FuZHNTZXBhcmF0b3I7XHJcbiAgICAgIGlmKHRoaXMuZmllbGQuSXNJbnRlZ2VyPT0gZmFsc2Upe1xyXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLkRlY2ltYWxQcmVjaXNpb24gIT0gbnVsbCAmJiB0aGlzLmZpZWxkLkRlY2ltYWxQcmVjaXNpb24gIT0gdW5kZWZpbmVkKSB7IHRoaXMuZXFwTnVtZXJpY09wdGlvbnMucHJlY2lzaW9uID0gdGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uOyB9XHJcbiAgICAgICAgZWxzZSB7IHRoaXMuZXFwTnVtZXJpY09wdGlvbnMucHJlY2lzaW9uID0gMjsgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWNpc2lvbiA9IDA7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBNZXRvZG8gZGkgYWdnaXVudGEgZGVpIHZhbGlkYXRvciBkZWxsJ2lucHV0XHJcbiAqL1xyXG4gIHByaXZhdGUgY29uZmlndXJlQ29udHJvbGxlcnMoKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRvcnNBcnJheSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuZmllbGQuTWluVmFsdWUgIT0gbnVsbCAmJiB0aGlzLmZpZWxkLk1pblZhbHVlICE9IHVuZGVmaW5lZClcclxuICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLm1pbih0aGlzLmZpZWxkLk1pblZhbHVlKSk7XHJcbiAgICBpZiAodGhpcy5maWVsZC5NYXhWYWx1ZSAhPSBudWxsICYmIHRoaXMuZmllbGQuTWF4VmFsdWUgIT0gdW5kZWZpbmVkKVxyXG4gICAgICB0aGlzLnZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMubWF4KHRoaXMuZmllbGQuTWF4VmFsdWUpKTtcclxuICAgIHRoaXMuZmllbGQuRm9ybUZvcm1Hcm91cC5nZXQoW3RoaXMuZmllbGQuTmFtZV0pLnNldFZhbGlkYXRvcnModGhpcy52YWxpZGF0b3JzQXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlydHkoKXtcclxuICAgIHRoaXMuaXNEaXJ0eSA9IHRydWU7XHJcbiAgfVxyXG59IiwiPG1hdC1mb3JtLWZpZWxkIFtmb3JtR3JvdXBdPVwiZmllbGQuRm9ybUZvcm1Hcm91cFwiPlxyXG4gICAgPG1hdC1sYWJlbCAgY2xhc3M9XCJwdC0xIHBzLTNcIiBbbmdTdHlsZV09XCJMYWJlbHN0eWxlT2JqXCI+IHt7ZmllbGQuRGVzY3JpcHRpb259fSA8L21hdC1sYWJlbD5cclxuICAgIDxpbnB1dCBbbmdTdHlsZV09XCJGaWVsZHN0eWxlT2JqXCIgbWF0SW5wdXQgZXFwTnVtZXJpY01hc2sgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5OYW1lXCIgW3JlYWRvbmx5XT1cImZpZWxkLlJlYWRvbmx5XCJcclxuICAgICAgICBbcmVxdWlyZWRdPVwiZmllbGQuUmVxdWlyZWRcIiBbKG5nTW9kZWwpXT1cInJlY29yZFtmaWVsZC5OYW1lXVwiIFtvcHRpb25zXT1cImVxcE51bWVyaWNPcHRpb25zXCJcclxuICAgICAgICBbc3RlcF09XCJmaWVsZC5Jc0ludGVnZXIgPyAxIDogbnVsbFwiIChibHVyKT1cIm9uUmVjb3JkVmFsdWVDaGFuZ2UoKVwiIChrZXlwcmVzcyk9XCJzZXREaXJ0eSgpXCIgLz5cclxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiIWZpZWxkLkZvcm1Gb3JtR3JvdXAudmFsaWQgJiYgZmllbGQuRm9ybUZvcm1Hcm91cC5jb250cm9sc1tmaWVsZC5OYW1lXS50b3VjaGVkICYmICFmaWVsZC5SZWFkb25seVwiPlxyXG4gICAgICAgICAgICBNaW46IHt7ZmllbGQuTWluVmFsdWV9fSAtIE1heDoge3tmaWVsZC5NYXhWYWx1ZX19XHJcbiAgICAgICAgICA8L21hdC1lcnJvcj5cclxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL251bWVyaWMtZmllbGQtdGVtcGxhdGUvbnVtZXJpYy1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL251bWVyaWMtZmllbGQtdGVtcGxhdGUvbnVtZXJpYy1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBSW5GLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7OztBQU94RSxNQUFNLE9BQU8sNkJBQTZCO0lBYzFDO1FBVlksaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMxRSxvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUM1QixzQkFBaUIsR0FBK0IsRUFBRSxDQUFDO1FBTXJELFlBQU8sR0FBWSxLQUFLLENBQUM7SUFHekIsQ0FBQztJQUVDLFFBQVE7UUFDTixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsb0JB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ZUFBZSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDOzsySEE1R1UsNkJBQTZCOytHQUE3Qiw2QkFBNkIsNEtDZjFDLDh2QkFRaUI7NEZET0osNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLHdCQUF3QjswRUFNekIsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVxcE51bWVyaWNJbnB1dE1vZGUsIE51bWVyaWNNYXNrQ29uZmlnIH0gZnJvbSAnQGVxcHJvamVjdC9lcXAtbnVtZXJpYyc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBOdW1lcmljRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL251bWVyaWNGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IElCYXNlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2lCYXNlRmllbGRDb21wb25lbnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgR2xvYmFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2dsb2JhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YUdldHRlclR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2Jhc2VGaWVsZC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ251bWVyaWMtZmllbGQtdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1lcmljLWZpZWxkLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9udW1lcmljLWZpZWxkLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE51bWVyaWNGaWVsZFRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIElCYXNlRmllbGRDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBmaWVsZDogTnVtZXJpY0ZpZWxkO1xyXG4gIEBJbnB1dCgpIHJlY29yZDogUmVjb3JkO1xyXG4gIEBPdXRwdXQoKSByZWNvcmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZWNvcmQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNvcmQ+KCk7XHJcbiAgdmFsaWRhdG9yc0FycmF5OiBhbnlbXSA9IFtdO1xyXG4gIGVxcE51bWVyaWNPcHRpb25zOiBQYXJ0aWFsPE51bWVyaWNNYXNrQ29uZmlnPiA9IHt9O1xyXG5cclxuLy92YXJpYWJpbGkgcGVyIGdlc3RpcmUgaWwgY3NzIGRlbGxhIGxhYmVsIGUgZGVsIGZpZWxkXHJcbkZpZWxkc3R5bGVPYmo6IGFueTtcclxuTGFiZWxzdHlsZU9iajogYW55O1xyXG5cclxuaXNEaXJ0eTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuY29uc3RydWN0b3IoKSB7XHJcbn1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZ3VyZUVxcE51bWVyaWNPcHRpb25zKCk7XHJcbiAgICB0aGlzLmNvbmZpZ3VyZUNvbnRyb2xsZXJzKCk7ICAgXHJcbiAgICB0aGlzLnVwZGF0ZUZpZWxkKCk7XHJcbiAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICB9XHJcblxyXG4gIC8vRnVuemlvbmUgcGVyIHBhcnNhcmUgaWwgY2FtcG8gc3R5bGVjc3MgZGVsbCdvZ2dldHRvIGZpZWxkIGVkIGFwcGxpY2FybG8gYWxsJ2h0bWxcclxuICBpbml0U3R5bGVzKCkge1xyXG4gICAgICAgICBpZih0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgICAgICB0aGlzLkZpZWxkc3R5bGVPYmo9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTKTtcclxuICAgICAgIGlmKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgICAgIHRoaXMuTGFiZWxzdHlsZU9iaiA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTKTtcclxuIH1cclxuIC8vIFNlIHZpZW5lIG1vZGlmaWNhdG8gaWwgdmFsb3JlIGRpIFwibmdNb2RlbElucHV0XCIgYWxsb3JhIGFnZ2lvcm5hIGwnaW5wdXRcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgIFxyXG4gICAgaWYgKGNoYW5nZXNbJ3JlY29yZCddICE9IHVuZGVmaW5lZCAmJiBjaGFuZ2VzWydyZWNvcmQnXS5maXJzdENoYW5nZSA9PSBmYWxzZSAmJiBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydyZWNvcmQnXS5jdXJyZW50VmFsdWUpICE9IEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ3JlY29yZCddLnByZXZpb3VzVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkID0gY2hhbmdlc1sncmVjb3JkJ10uY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLnVwZGF0ZUZpZWxkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGFnZ2lvcm5hcmUgaWwgdmFsb3JlIGRlbCBjYW1wbyBxdWFuZG8gcXVlc3RvIMOoIHJhcHByZXNlbnRhdG8gZGEgdW5hIGZvcm11bGEuXHJcbiAgICovXHJcbiAgdXBkYXRlRmllbGQoKSB7XHJcbiAgICBcclxuICAgIGlmICh0aGlzLmZpZWxkLkRhdGFHZXR0ZXIuRGF0YUdldHRlclR5cGUgPT0gRGF0YUdldHRlclR5cGVFbnVtLkZvcm11bGEgJiYgdGhpcy5maWVsZC5Gb3JtdWxhKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSBVdGlsaXR5SGVscGVyU2VydmljZS5FdmFsdWF0ZUZpZWxkRm9ybXVsYSh0aGlzLmZpZWxkLkZvcm11bGEsIHRoaXMucmVjb3JkLCBudWxsKTtcclxuICAgICAgLy9jb25zb2xlLmxvZyhcImZpZWxkIG1vZGlmaWVkIC0gb3JpZ2luYWwgdmFsdWVcIix0aGlzLmZpZWxkLk5hbWUsdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSk7XHJcbiAgICAgIC8vdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gMCA/IDAgOiAodGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSAvIE1hdGgucG93KDEwLHRoaXMuZXFwTnVtZXJpY09wdGlvbnMucHJlY2lzaW9uKSkudG9GaXhlZCh0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWNpc2lvbik7XHJcbiAgICAgIC8vY29uc29sZS5sb2coXCJmaWVsZCBtb2RpZmllZCAtIGZpbmFsIHZhbHVlXCIsdGhpcy5maWVsZC5OYW1lLHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmllbGQuVmlzaWJsZUlmKSB7XHJcbiAgICAgIHRoaXMuZmllbGQuSW5MaXN0VmlldyA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLkV2YWx1YXRlRmllbGRGb3JtdWxhKHRoaXMuZmllbGQuVmlzaWJsZUlmLCB0aGlzLnJlY29yZCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5maWVsZC5EYXRhR2V0dGVyLkRhdGFHZXR0ZXJUeXBlID09IERhdGFHZXR0ZXJUeXBlRW51bS5NYW51YWxlICYmIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gdGhpcy5maWVsZC5EYXRhR2V0dGVyLkRhdGFHZXR0ZXJWYWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4gICAqL1xyXG4gIG9uUmVjb3JkVmFsdWVDaGFuZ2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuZmllbGQuRm9ybXVsYSkge1xyXG4gICAgICBpZiAodGhpcy5pc0RpcnR5KXtcclxuICAgICAgICAvLyB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9PSAwID8gMCA6ICh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdIC8gTWF0aC5wb3coMTAsdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5wcmVjaXNpb24pKS50b0ZpeGVkKHRoaXMuZXFwTnVtZXJpY09wdGlvbnMucHJlY2lzaW9uKTtcclxuICAgICAgICB0aGlzLmlzRGlydHkgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlY29yZENoYW5nZS5lbWl0KHRoaXMucmVjb3JkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgY29uZmlndXJhcmUgZXFwLW51bWVyaWNcclxuICAgKi9cclxuICBwcml2YXRlIGNvbmZpZ3VyZUVxcE51bWVyaWNPcHRpb25zKCkge1xyXG4gICAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5zdWZmaXggPSB0aGlzLmZpZWxkLk1lYXN1cmVVbml0ID8gXCIgIFwiK3RoaXMuZmllbGQuTWVhc3VyZVVuaXQrXCIgIFwiIDogXCJcIjtcclxuICAgIHRoaXMuZXFwTnVtZXJpY09wdGlvbnMucHJlZml4ID0gdGhpcy5maWVsZC5DdXJyZW5jeVN5bWJvbCA/IHRoaXMuZmllbGQuQ3VycmVuY3lTeW1ib2wrXCIgXCIgOiBcIlwiO1xyXG4gICAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5pbnB1dE1vZGUgPSB0aGlzLmZpZWxkLkN1cnJlbmN5U3ltYm9sID8gRXFwTnVtZXJpY0lucHV0TW9kZS5GSU5BTkNJQUwgOiBFcXBOdW1lcmljSW5wdXRNb2RlLk5BVFVSQUw7XHJcbiAgICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmFsbG93TmVnYXRpdmU9dHJ1ZTtcclxuICAgIGlmICh0aGlzLmZpZWxkLkRlY2ltYWxTZXBhcmF0b3IgIT0gbnVsbCAmJiB0aGlzLmZpZWxkLkRlY2ltYWxTZXBhcmF0b3IgIT0gdW5kZWZpbmVkKVxyXG4gICAgICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmRlY2ltYWwgPSB0aGlzLmZpZWxkLkRlY2ltYWxTZXBhcmF0b3I7XHJcbiAgICAgIGVsc2VcclxuICAgICAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5kZWNpbWFsPVwiLlwiO1xyXG4gICAgaWYgKHRoaXMuZmllbGQuVGhvdXNhbmRzU2VwYXJhdG9yICE9IG51bGwgJiYgdGhpcy5maWVsZC5UaG91c2FuZHNTZXBhcmF0b3IgIT0gdW5kZWZpbmVkICYmIHRoaXMuZmllbGQuVGhvdXNhbmRzU2VwYXJhdG9yLnRyaW0oKS5sZW5ndGggPiAwKVxyXG4gICAgICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnRob3VzYW5kcyA9IHRoaXMuZmllbGQuVGhvdXNhbmRzU2VwYXJhdG9yO1xyXG4gICAgICBpZih0aGlzLmZpZWxkLklzSW50ZWdlcj09IGZhbHNlKXtcclxuICAgICAgICBpZiAodGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uICE9IG51bGwgJiYgdGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uICE9IHVuZGVmaW5lZCkgeyB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWNpc2lvbiA9IHRoaXMuZmllbGQuRGVjaW1hbFByZWNpc2lvbjsgfVxyXG4gICAgICAgIGVsc2UgeyB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWNpc2lvbiA9IDI7IH1cclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5wcmVjaXNpb24gPSAwO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICogTWV0b2RvIGRpIGFnZ2l1bnRhIGRlaSB2YWxpZGF0b3IgZGVsbCdpbnB1dFxyXG4gKi9cclxuICBwcml2YXRlIGNvbmZpZ3VyZUNvbnRyb2xsZXJzKCkge1xyXG4gICAgdGhpcy52YWxpZGF0b3JzQXJyYXkgPSBbXTtcclxuICAgIGlmICh0aGlzLmZpZWxkLk1pblZhbHVlICE9IG51bGwgJiYgdGhpcy5maWVsZC5NaW5WYWx1ZSAhPSB1bmRlZmluZWQpXHJcbiAgICAgIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5taW4odGhpcy5maWVsZC5NaW5WYWx1ZSkpO1xyXG4gICAgaWYgKHRoaXMuZmllbGQuTWF4VmFsdWUgIT0gbnVsbCAmJiB0aGlzLmZpZWxkLk1heFZhbHVlICE9IHVuZGVmaW5lZClcclxuICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLm1heCh0aGlzLmZpZWxkLk1heFZhbHVlKSk7XHJcbiAgICB0aGlzLmZpZWxkLkZvcm1Gb3JtR3JvdXAuZ2V0KFt0aGlzLmZpZWxkLk5hbWVdKS5zZXRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdG9yc0FycmF5KTtcclxuICB9XHJcblxyXG4gIHNldERpcnR5KCl7XHJcbiAgICB0aGlzLmlzRGlydHkgPSB0cnVlO1xyXG4gIH1cclxufSIsIjxtYXQtZm9ybS1maWVsZCBbZm9ybUdyb3VwXT1cImZpZWxkLkZvcm1Gb3JtR3JvdXBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgPG1hdC1sYWJlbCAgY2xhc3M9XCJwdC0xXCIgW25nU3R5bGVdPVwiTGFiZWxzdHlsZU9ialwiPiB7e2ZpZWxkLkRlc2NyaXB0aW9ufX0gPC9tYXQtbGFiZWw+XHJcbiAgICA8aW5wdXQgW25nU3R5bGVdPVwiRmllbGRzdHlsZU9ialwiIG1hdElucHV0IGVxcE51bWVyaWNNYXNrIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuTmFtZVwiIFtyZWFkb25seV09XCJmaWVsZC5SZWFkb25seVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImZpZWxkLlJlcXVpcmVkXCIgWyhuZ01vZGVsKV09XCJyZWNvcmRbZmllbGQuTmFtZV1cIiBbb3B0aW9uc109XCJlcXBOdW1lcmljT3B0aW9uc1wiXHJcbiAgICAgICAgW3N0ZXBdPVwiZmllbGQuSXNJbnRlZ2VyID8gMSA6IG51bGxcIiAoYmx1cik9XCJvblJlY29yZFZhbHVlQ2hhbmdlKClcIiAoa2V5cHJlc3MpPVwic2V0RGlydHkoKVwiIC8+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cIiFmaWVsZC5Gb3JtRm9ybUdyb3VwLnZhbGlkICYmIGZpZWxkLkZvcm1Gb3JtR3JvdXAuY29udHJvbHNbZmllbGQuTmFtZV0udG91Y2hlZCAmJiAhZmllbGQuUmVhZG9ubHlcIj5cclxuICAgICAgICAgICAgTWluOiB7e2ZpZWxkLk1pblZhbHVlfX0gLSBNYXg6IHt7ZmllbGQuTWF4VmFsdWV9fVxyXG4gICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbjwvbWF0LWZvcm0tZmllbGQ+Il19
@@ -2,6 +2,7 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { TextMaskEnum } from '../../../../models/fields/textField.model';
3
3
  import { UtilityHelperService } from '../../../../services/utilityHelper.services';
4
4
  import { interval } from 'rxjs';
5
+ import { DataGetterTypeEnum } from '../../../../models/baseField.model';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../../../../services/voice-recognition.service";
7
8
  import * as i2 from "@angular/material/input";
@@ -97,6 +98,9 @@ export class TextFieldTemplateComponent {
97
98
  this.voiceservice.text = this.record[this.field.Name];
98
99
  }
99
100
  }
101
+ if (this.field.DataGetter.DataGetterType == DataGetterTypeEnum.Manuale && this.record[this.field.Name] == null) {
102
+ this.record[this.field.Name] = this.field.DataGetter.DataGetterValue;
103
+ }
100
104
  }
101
105
  /**
102
106
  * Metodo per emettere l'evento che il valore del record è cambiato.
@@ -111,10 +115,10 @@ export class TextFieldTemplateComponent {
111
115
  }
112
116
  }
113
117
  TextFieldTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFieldTemplateComponent, deps: [{ token: i1.VoiceRecognitionService }], target: i0.ɵɵFactoryTarget.Component });
114
- TextFieldTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextFieldTemplateComponent, selector: "text-field-template", inputs: { field: "field", record: "record" }, outputs: { recordChange: "recordChange" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1 ps-3\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"field.Readonly || (field.Formula != null && field.Formula != '')\"\r\n [required]=\"field.Required\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onRecordValueChange()\"\r\n />\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched &&\r\n !field.Readonly\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <mat-icon\r\n [hidden]=\"!field.Microphone\"\r\n (click)=\"ttsClick()\"\r\n matSuffix\r\n style=\"cursor: pointer\"\r\n [color]=\"!isStillRecoginze ? '' : 'warn'\"\r\n >keyboard_voice</mat-icon\r\n >\r\n</mat-form-field>\r\n", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-form-field-label{font-size:x-large}\n"], dependencies: [{ kind: "directive", type: i2.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: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
118
+ TextFieldTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextFieldTemplateComponent, selector: "text-field-template", inputs: { field: "field", record: "record" }, outputs: { recordChange: "recordChange" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"field.FormFormGroup\" appearance=\"outline\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"field.Readonly || (field.Formula != null && field.Formula != '')\"\r\n [required]=\"field.Required\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onRecordValueChange()\"\r\n />\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched &&\r\n !field.Readonly\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <mat-icon\r\n [hidden]=\"!field.Microphone\"\r\n (click)=\"ttsClick()\"\r\n matSuffix\r\n style=\"cursor: pointer\"\r\n [color]=\"!isStillRecoginze ? '' : 'warn'\"\r\n >keyboard_voice</mat-icon\r\n >\r\n</mat-form-field>\r\n", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-form-field-label{font-size:x-large}\n"], dependencies: [{ kind: "directive", type: i2.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: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
115
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextFieldTemplateComponent, decorators: [{
116
120
  type: Component,
117
- args: [{ selector: 'text-field-template', template: "<mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1 ps-3\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"field.Readonly || (field.Formula != null && field.Formula != '')\"\r\n [required]=\"field.Required\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onRecordValueChange()\"\r\n />\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched &&\r\n !field.Readonly\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <mat-icon\r\n [hidden]=\"!field.Microphone\"\r\n (click)=\"ttsClick()\"\r\n matSuffix\r\n style=\"cursor: pointer\"\r\n [color]=\"!isStillRecoginze ? '' : 'warn'\"\r\n >keyboard_voice</mat-icon\r\n >\r\n</mat-form-field>\r\n", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-form-field-label{font-size:x-large}\n"] }]
121
+ args: [{ selector: 'text-field-template', template: "<mat-form-field [formGroup]=\"field.FormFormGroup\" appearance=\"outline\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <input\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [type]=\"getInputType()\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"field.Readonly || (field.Formula != null && field.Formula != '')\"\r\n [required]=\"field.Required\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onRecordValueChange()\"\r\n />\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched &&\r\n !field.Readonly\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <mat-icon\r\n [hidden]=\"!field.Microphone\"\r\n (click)=\"ttsClick()\"\r\n matSuffix\r\n style=\"cursor: pointer\"\r\n [color]=\"!isStillRecoginze ? '' : 'warn'\"\r\n >keyboard_voice</mat-icon\r\n >\r\n</mat-form-field>\r\n", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-form-field-label{font-size:x-large}\n"] }]
118
122
  }], ctorParameters: function () { return [{ type: i1.VoiceRecognitionService }]; }, propDecorators: { field: [{
119
123
  type: Input
120
124
  }], record: [{
@@ -122,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
122
126
  }], recordChange: [{
123
127
  type: Output
124
128
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL3RleHQtZmllbGQtdGVtcGxhdGUvdGV4dC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL3RleHQtZmllbGQtdGVtcGxhdGUvdGV4dC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLDJDQUEyQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQU85QyxNQUFNLE9BQU8sMEJBQTBCO0lBa0JyQyxZQUFtQixZQUFxQztRQUFyQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFqQnhELDhCQUE4QjtRQUM5QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQU12QixRQUFHLEdBQVUsSUFBSSxDQUFDO1FBS1IsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMxRSxrQkFBYSxHQUFHLFlBQVksQ0FBQztRQUkzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFD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LENBQUMsVUFBVSxHQUFHLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDNUc7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxFQUFFO2dCQUNyRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdkQ7U0FDRjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQjtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7O3dIQWxIVSwwQkFBMEI7NEdBQTFCLDBCQUEwQix5S0NidkMsb2lDQWlDQTs0RkRwQmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHFCQUFxQjs4R0FXdEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFNSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0TWFza0VudW0sIFRleHRGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvdGV4dEZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgSUJhc2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvaUJhc2VGaWVsZENvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBWb2ljZVJlY29nbml0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3ZvaWNlLXJlY29nbml0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RleHQtZmllbGQtdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWZpZWxkLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWZpZWxkLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZFRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIElCYXNlRmllbGRDb21wb25lbnQge1xyXG4gIC8vVmFyaWFiaWxpIHBlciBsJ2lucHV0IHZvY2FsZVxyXG4gIGlzU3RpbGxSZWNvZ2luemUgPSBmYWxzZTtcclxuICBzb3VyY2UgPSBpbnRlcnZhbCgyMDApO1xyXG4gIG5ld3RleHQ6IHN0cmluZztcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAvL3ZhcmlhYmlsaSBlc3Rlcm5lIHBlciBsJ2lucHV0IGRlaSBjYW1waVxyXG4gIEBJbnB1dCgpIGZpZWxkOiBUZXh0RmllbGQ7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgU1RUOmJvb2xlYW4gPXRydWU7XHJcbiAgLy92YXJpYWJpbGkgcGVyIGdlc3RpcmUgaWwgY3NzIGRlbGxhIGxhYmVsIGUgZGVsIGZpZWxkXHJcbiAgRmllbGRzdHlsZU9iajogYW55O1xyXG4gIExhYmVsc3R5bGVPYmo6IGFueTtcclxuXHJcbiAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICBJbnB1dE1hc2tFbnVtID0gVGV4dE1hc2tFbnVtO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHZvaWNlc2VydmljZTogVm9pY2VSZWNvZ25pdGlvblNlcnZpY2UpIHtcclxuICAgIHRoaXMudm9pY2VzZXJ2aWNlLmluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVGaWVsZCgpO1xyXG4gICAgdGhpcy5pbml0U3R5bGVzKCk7XHJcbiAgfVxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICAgIC8vRnVuemlvbmUgcGVyIHBhcnNhcmUgaWwgY2FtcG8gc3R5bGVjc3MgZGVsbCdvZ2dldHRvIGZpZWxkIGVkIGFwcGxpY2FybG8gYWxsJ2h0bWxcclxuICAgIGlmKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgIHRoaXMuRmllbGRzdHlsZU9iaj0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MpO1xyXG4gICAgaWYodGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5MYWJlbHN0eWxlT2JqID0gVXRpbGl0eUhlbHBlclNlcnZpY2UuaW5pdFN0eWxlcyh0aGlzLmZpZWxkLkxhYmVsc3R5bGVDU1MpO1xyXG4gfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAvLyBTZSB2aWVuZSBtb2RpZmljYXRvIGlsIHZhbG9yZSBkaSBcIm5nTW9kZWxJbnB1dFwiIGFsbG9yYSBhZ2dpb3JuYSBsJ2lucHV0XHJcbiAgICBpZiAoY2hhbmdlc1sncmVjb3JkJ10gIT0gdW5kZWZpbmVkICYmIGNoYW5nZXNbJ3JlY29yZCddLmZpcnN0Q2hhbmdlID09IGZhbHNlICYmIEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ3JlY29yZCddLmN1cnJlbnRWYWx1ZSkgIT0gSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncmVjb3JkJ10ucHJldmlvdXNWYWx1ZSkpIHtcclxuICAgICAgdGhpcy5yZWNvcmQgPSBjaGFuZ2VzWydyZWNvcmQnXS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMudXBkYXRlRmllbGQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgdHRzQ2xpY2soKSB7XHJcbiAgICAvL0dlc3Rpb25lIGRlbCBib3R0b25lIGljb25hIGRlbCBtaWNyb2Zvbm8gY29uIHJpZW1waW1lbm50byBkZWwgY2FtcG8gaW4gcmVhbCB0aW1lXHJcbiAgICBpZiAoIXRoaXMuaXNTdGlsbFJlY29naW56ZSkge1xyXG4gICAgICB0aGlzLm5ld3RleHQgPSAnJztcclxuICAgICAgdGhpcy5pc1N0aWxsUmVjb2dpbnplID0gdGhpcy52b2ljZXNlcnZpY2Uuc3RhcnQoKSA9PT0gdHJ1ZSA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnNvdXJjZS5zdWJzY3JpYmUodmFsID0+IHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gbnVsbCB8fCB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMudm9pY2VzZXJ2aWNlLnRyYW5zY3JpcHRfYXJyW3RoaXMudm9pY2VzZXJ2aWNlLnRyYW5zY3JpcHRfYXJyLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubmV3dGV4dCA9IHRoaXMudm9pY2VzZXJ2aWNlLnRyYW5zY3JpcHRfYXJyW3RoaXMudm9pY2VzZXJ2aWNlLnRyYW5zY3JpcHRfYXJyLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgICAgaWYgKHRoaXMubmV3dGV4dCAhPSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUlRWb2ljZUZpZWxkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmlzU3RpbGxSZWNvZ2luemUgPSB0aGlzLnZvaWNlc2VydmljZS5zdG9wKCkgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLnVwZGF0ZVZvaWNlRmllbGQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0SW5wdXRUeXBlKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLmZpZWxkLlRleHRNYXNrKSB7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLkVtYWlsOlxyXG4gICAgICAgIHJldHVybiAnZW1haWwnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5QYXNzd29yZDpcclxuICAgICAgICByZXR1cm4gJ3Bhc3N3b3JkJztcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uVGVsZWZvbm86XHJcbiAgICAgICAgcmV0dXJuICd0ZWwnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5Vcmw6XHJcbiAgICAgICAgcmV0dXJuICd1cmwnXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICd0ZXh0JztcclxuICAgIH1cclxuICB9XHJcbiAgdXBkYXRlUlRWb2ljZUZpZWxkKCkge1xyXG4gICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMudm9pY2VzZXJ2aWNlLnRleHQgKyB0aGlzLm5ld3RleHQ7XHJcbiAgICB0aGlzLm5ld3RleHQgPSAnJztcclxuICB9XHJcbiAgdXBkYXRlVm9pY2VGaWVsZCgpIHtcclxuICAgIHRoaXMubmV3dGV4dCA9ICcnO1xyXG4gICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMudm9pY2VzZXJ2aWNlLnRleHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGFnZ2lvcm5hcmUgaWwgdmFsb3JlIGRlbCBjYW1wbyBxdWFuZG8gcXVlc3RvIMOoIHJhcHByZXNlbnRhdG8gZGEgdW5hIGZvcm11bGEuXHJcbiAgICovXHJcbiAgdXBkYXRlRmllbGQoKSB7XHJcbiAgICBpZiAodGhpcy5maWVsZC5Gb3JtdWxhKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSBVdGlsaXR5SGVscGVyU2VydmljZS5FdmFsdWF0ZUZpZWxkRm9ybXVsYSh0aGlzLmZpZWxkLkZvcm11bGEsIHRoaXMucmVjb3JkLCBudWxsKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZpZWxkLlZpc2libGVJZikge1xyXG4gICAgICB0aGlzLmZpZWxkLkluTGlzdFZpZXcgPSBVdGlsaXR5SGVscGVyU2VydmljZS5FdmFsdWF0ZUZpZWxkRm9ybXVsYSh0aGlzLmZpZWxkLlZpc2libGVJZiwgdGhpcy5yZWNvcmQsIG51bGwpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmlzU3RpbGxSZWNvZ2luemUpIHtcclxuICAgICAgaWYgKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gIT0gbnVsbCB8fCB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMudm9pY2VzZXJ2aWNlLnRleHQgPSB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGVtZXR0ZXJlIGwnZXZlbnRvIGNoZSBpbCB2YWxvcmUgZGVsIHJlY29yZCDDqCBjYW1iaWF0by5cclxuICAgKi9cclxuICBvblJlY29yZFZhbHVlQ2hhbmdlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZpZWxkLkZvcm11bGEpIHtcclxuICAgICAgdGhpcy5yZWNvcmRDaGFuZ2UuZW1pdCh0aGlzLnJlY29yZCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuZmllbGQuVmlzaWJsZUlmKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkQ2hhbmdlLmVtaXQodGhpcy5yZWNvcmQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJmaWVsZC5Gb3JtRm9ybUdyb3VwXCI+XHJcbiAgPG1hdC1sYWJlbCBjbGFzcz1cInB0LTEgcHMtM1wiIFtuZ1N0eWxlXT1cIkxhYmVsc3R5bGVPYmpcIj5cclxuICAgIHt7IGZpZWxkLkRlc2NyaXB0aW9uIH19XHJcbiAgPC9tYXQtbGFiZWw+XHJcbiAgPGlucHV0XHJcbiAgICBbbmdTdHlsZV09XCJGaWVsZHN0eWxlT2JqXCJcclxuICAgIG1hdElucHV0XHJcbiAgICBbdHlwZV09XCJnZXRJbnB1dFR5cGUoKVwiXHJcbiAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLk5hbWVcIlxyXG4gICAgW3JlYWRvbmx5XT1cImZpZWxkLlJlYWRvbmx5IHx8IChmaWVsZC5Gb3JtdWxhICE9IG51bGwgJiYgZmllbGQuRm9ybXVsYSAhPSAnJylcIlxyXG4gICAgW3JlcXVpcmVkXT1cImZpZWxkLlJlcXVpcmVkXCJcclxuICAgIFsobmdNb2RlbCldPVwicmVjb3JkW2ZpZWxkLk5hbWVdXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uUmVjb3JkVmFsdWVDaGFuZ2UoKVwiXHJcbiAgLz5cclxuICA8bWF0LWVycm9yXHJcbiAgICAqbmdJZj1cIlxyXG4gICAgICAhZmllbGQuRm9ybUZvcm1Hcm91cC52YWxpZCAmJlxyXG4gICAgICBmaWVsZC5Gb3JtRm9ybUdyb3VwLmNvbnRyb2xzW2ZpZWxkLk5hbWVdLnRvdWNoZWQgJiZcclxuICAgICAgIWZpZWxkLlJlYWRvbmx5XHJcbiAgICBcIlxyXG4gID5cclxuICAgIE1pbi4gQ2FyYXR0ZXJpOiB7eyBmaWVsZC5NaW5MZW5naHQgfX0gLSBNYXguIENhcmF0dGVyaTpcclxuICAgIHt7IGZpZWxkLk1heExlbmdodCB9fVxyXG4gIDwvbWF0LWVycm9yPlxyXG4gIDxtYXQtaWNvblxyXG4gICAgW2hpZGRlbl09XCIhZmllbGQuTWljcm9waG9uZVwiXHJcbiAgICAoY2xpY2spPVwidHRzQ2xpY2soKVwiXHJcbiAgICBtYXRTdWZmaXhcclxuICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcclxuICAgIFtjb2xvcl09XCIhaXNTdGlsbFJlY29naW56ZSA/ICcnIDogJ3dhcm4nXCJcclxuICAgID5rZXlib2FyZF92b2ljZTwvbWF0LWljb25cclxuICA+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcbiJdfQ==
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL3RleHQtZmllbGQtdGVtcGxhdGUvdGV4dC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL3RleHQtZmllbGQtdGVtcGxhdGUvdGV4dC1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLDJDQUEyQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7OztBQU94RSxNQUFNLE9BQU8sMEJBQTBCO0lBa0JyQyxZQUFtQixZQUFxQztRQUFyQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFqQnhELDhCQUE4QjtRQUM5QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQU12QixRQUFHLEdBQVUsSUFBSSxDQUFDO1FBS1IsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMxRSxrQkFBYSxHQUFHLFlBQVks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QUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDOzt3SEFySFUsMEJBQTBCOzRHQUExQiwwQkFBMEIseUtDZHZDLHNqQ0FpQ0E7NEZEbkJhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxxQkFBcUI7OEdBV3RCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBTUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgVGV4dE1hc2tFbnVtLCBUZXh0RmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZmllbGRzL3RleHRGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IElCYXNlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2lCYXNlRmllbGRDb21wb25lbnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVXRpbGl0eUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlsaXR5SGVscGVyLnNlcnZpY2VzJztcclxuaW1wb3J0IHsgVm9pY2VSZWNvZ25pdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy92b2ljZS1yZWNvZ25pdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEYXRhR2V0dGVyVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvYmFzZUZpZWxkLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGV4dC1maWVsZC10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZmllbGQtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RleHQtZmllbGQtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dEZpZWxkVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgSUJhc2VGaWVsZENvbXBvbmVudCB7XHJcbiAgLy9WYXJpYWJpbGkgcGVyIGwnaW5wdXQgdm9jYWxlXHJcbiAgaXNTdGlsbFJlY29naW56ZSA9IGZhbHNlO1xyXG4gIHNvdXJjZSA9IGludGVydmFsKDIwMCk7XHJcbiAgbmV3dGV4dDogc3RyaW5nO1xyXG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIC8vdmFyaWFiaWxpIGVzdGVybmUgcGVyIGwnaW5wdXQgZGVpIGNhbXBpXHJcbiAgQElucHV0KCkgZmllbGQ6IFRleHRGaWVsZDtcclxuICBASW5wdXQoKSByZWNvcmQ6IFJlY29yZDtcclxuICBTVFQ6Ym9vbGVhbiA9dHJ1ZTtcclxuICAvL3ZhcmlhYmlsaSBwZXIgZ2VzdGlyZSBpbCBjc3MgZGVsbGEgbGFiZWwgZSBkZWwgZmllbGRcclxuICBGaWVsZHN0eWxlT2JqOiBhbnk7XHJcbiAgTGFiZWxzdHlsZU9iajogYW55O1xyXG5cclxuICBAT3V0cHV0KCkgcmVjb3JkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG4gIElucHV0TWFza0VudW0gPSBUZXh0TWFza0VudW07XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdm9pY2VzZXJ2aWNlOiBWb2ljZVJlY29nbml0aW9uU2VydmljZSkge1xyXG4gICAgdGhpcy52b2ljZXNlcnZpY2UuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZUZpZWxkKCk7XHJcbiAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICB9XHJcbiAgaW5pdFN0eWxlcygpIHtcclxuICAgICAgLy9GdW56aW9uZSBwZXIgcGFyc2FyZSBpbCBjYW1wbyBzdHlsZWNzcyBkZWxsJ29nZ2V0dG8gZmllbGQgZWQgYXBwbGljYXJsbyBhbGwnaHRtbFxyXG4gICAgaWYodGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5GaWVsZHN0eWxlT2JqPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyk7XHJcbiAgICBpZih0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgICB0aGlzLkxhYmVsc3R5bGVPYmogPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyk7XHJcbiB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIFNlIHZpZW5lIG1vZGlmaWNhdG8gaWwgdmFsb3JlIGRpIFwibmdNb2RlbElucHV0XCIgYWxsb3JhIGFnZ2lvcm5hIGwnaW5wdXRcclxuICAgIGlmIChjaGFuZ2VzWydyZWNvcmQnXSAhPSB1bmRlZmluZWQgJiYgY2hhbmdlc1sncmVjb3JkJ10uZmlyc3RDaGFuZ2UgPT0gZmFsc2UgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncmVjb3JkJ10uY3VycmVudFZhbHVlKSAhPSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydyZWNvcmQnXS5wcmV2aW91c1ZhbHVlKSkge1xyXG4gICAgICB0aGlzLnJlY29yZCA9IGNoYW5nZXNbJ3JlY29yZCddLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgdGhpcy51cGRhdGVGaWVsZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICB0dHNDbGljaygpIHtcclxuICAgIC8vR2VzdGlvbmUgZGVsIGJvdHRvbmUgaWNvbmEgZGVsIG1pY3JvZm9ubyBjb24gcmllbXBpbWVubnRvIGRlbCBjYW1wbyBpbiByZWFsIHRpbWVcclxuICAgIGlmICghdGhpcy5pc1N0aWxsUmVjb2dpbnplKSB7XHJcbiAgICAgIHRoaXMubmV3dGV4dCA9ICcnO1xyXG4gICAgICB0aGlzLmlzU3RpbGxSZWNvZ2luemUgPSB0aGlzLnZvaWNlc2VydmljZS5zdGFydCgpID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlLnN1YnNjcmliZSh2YWwgPT4ge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9PSBudWxsIHx8IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gdGhpcy52b2ljZXNlcnZpY2UudHJhbnNjcmlwdF9hcnJbdGhpcy52b2ljZXNlcnZpY2UudHJhbnNjcmlwdF9hcnIubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5uZXd0ZXh0ID0gdGhpcy52b2ljZXNlcnZpY2UudHJhbnNjcmlwdF9hcnJbdGhpcy52b2ljZXNlcnZpY2UudHJhbnNjcmlwdF9hcnIubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgICBpZiAodGhpcy5uZXd0ZXh0ICE9IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVSVFZvaWNlRmllbGQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNTdGlsbFJlY29naW56ZSA9IHRoaXMudm9pY2VzZXJ2aWNlLnN0b3AoKSA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWU7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIHRoaXMudXBkYXRlVm9pY2VGaWVsZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRJbnB1dFR5cGUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZmllbGQuVGV4dE1hc2spIHtcclxuICAgICAgY2FzZSBUZXh0TWFza0VudW0uRW1haWw6XHJcbiAgICAgICAgcmV0dXJuICdlbWFpbCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlBhc3N3b3JkOlxyXG4gICAgICAgIHJldHVybiAncGFzc3dvcmQnO1xyXG4gICAgICBjYXNlIFRleHRNYXNrRW51bS5UZWxlZm9ubzpcclxuICAgICAgICByZXR1cm4gJ3RlbCc7XHJcbiAgICAgIGNhc2UgVGV4dE1hc2tFbnVtLlVybDpcclxuICAgICAgICByZXR1cm4gJ3VybCdcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ3RleHQnO1xyXG4gICAgfVxyXG4gIH1cclxuICB1cGRhdGVSVFZvaWNlRmllbGQoKSB7XHJcbiAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gdGhpcy52b2ljZXNlcnZpY2UudGV4dCArIHRoaXMubmV3dGV4dDtcclxuICAgIHRoaXMubmV3dGV4dCA9ICcnO1xyXG4gIH1cclxuICB1cGRhdGVWb2ljZUZpZWxkKCkge1xyXG4gICAgdGhpcy5uZXd0ZXh0ID0gJyc7XHJcbiAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gdGhpcy52b2ljZXNlcnZpY2UudGV4dDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgYWdnaW9ybmFyZSBpbCB2YWxvcmUgZGVsIGNhbXBvIHF1YW5kbyBxdWVzdG8gw6ggcmFwcHJlc2VudGF0byBkYSB1bmEgZm9ybXVsYS5cclxuICAgKi9cclxuICB1cGRhdGVGaWVsZCgpIHtcclxuICAgIGlmICh0aGlzLmZpZWxkLkZvcm11bGEpIHtcclxuICAgICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLkV2YWx1YXRlRmllbGRGb3JtdWxhKHRoaXMuZmllbGQuRm9ybXVsYSwgdGhpcy5yZWNvcmQsIG51bGwpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmllbGQuVmlzaWJsZUlmKSB7XHJcbiAgICAgIHRoaXMuZmllbGQuSW5MaXN0VmlldyA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLkV2YWx1YXRlRmllbGRGb3JtdWxhKHRoaXMuZmllbGQuVmlzaWJsZUlmLCB0aGlzLnJlY29yZCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuaXNTdGlsbFJlY29naW56ZSkge1xyXG4gICAgICBpZiAodGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSAhPSBudWxsIHx8IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy52b2ljZXNlcnZpY2UudGV4dCA9IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZpZWxkLkRhdGFHZXR0ZXIuRGF0YUdldHRlclR5cGUgPT0gRGF0YUdldHRlclR5cGVFbnVtLk1hbnVhbGUgJiYgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSB0aGlzLmZpZWxkLkRhdGFHZXR0ZXIuRGF0YUdldHRlclZhbHVlO1xyXG4gICAgfSAgICAgICBcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgZW1ldHRlcmUgbCdldmVudG8gY2hlIGlsIHZhbG9yZSBkZWwgcmVjb3JkIMOoIGNhbWJpYXRvLlxyXG4gICAqL1xyXG4gIG9uUmVjb3JkVmFsdWVDaGFuZ2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuZmllbGQuRm9ybXVsYSkge1xyXG4gICAgICB0aGlzLnJlY29yZENoYW5nZS5lbWl0KHRoaXMucmVjb3JkKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5maWVsZC5WaXNpYmxlSWYpIHtcclxuICAgICAgdGhpcy5yZWNvcmRDaGFuZ2UuZW1pdCh0aGlzLnJlY29yZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZCBbZm9ybUdyb3VwXT1cImZpZWxkLkZvcm1Gb3JtR3JvdXBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gIDxtYXQtbGFiZWwgY2xhc3M9XCJwdC0xXCIgW25nU3R5bGVdPVwiTGFiZWxzdHlsZU9ialwiPlxyXG4gICAge3sgZmllbGQuRGVzY3JpcHRpb24gfX1cclxuICA8L21hdC1sYWJlbD5cclxuICA8aW5wdXRcclxuICAgIFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIlxyXG4gICAgbWF0SW5wdXRcclxuICAgIFt0eXBlXT1cImdldElucHV0VHlwZSgpXCJcclxuICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuTmFtZVwiXHJcbiAgICBbcmVhZG9ubHldPVwiZmllbGQuUmVhZG9ubHkgfHwgKGZpZWxkLkZvcm11bGEgIT0gbnVsbCAmJiBmaWVsZC5Gb3JtdWxhICE9ICcnKVwiXHJcbiAgICBbcmVxdWlyZWRdPVwiZmllbGQuUmVxdWlyZWRcIlxyXG4gICAgWyhuZ01vZGVsKV09XCJyZWNvcmRbZmllbGQuTmFtZV1cIlxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25SZWNvcmRWYWx1ZUNoYW5nZSgpXCJcclxuICAvPlxyXG4gIDxtYXQtZXJyb3JcclxuICAgICpuZ0lmPVwiXHJcbiAgICAgICFmaWVsZC5Gb3JtRm9ybUdyb3VwLnZhbGlkICYmXHJcbiAgICAgIGZpZWxkLkZvcm1Gb3JtR3JvdXAuY29udHJvbHNbZmllbGQuTmFtZV0udG91Y2hlZCAmJlxyXG4gICAgICAhZmllbGQuUmVhZG9ubHlcclxuICAgIFwiXHJcbiAgPlxyXG4gICAgTWluLiBDYXJhdHRlcmk6IHt7IGZpZWxkLk1pbkxlbmdodCB9fSAtIE1heC4gQ2FyYXR0ZXJpOlxyXG4gICAge3sgZmllbGQuTWF4TGVuZ2h0IH19XHJcbiAgPC9tYXQtZXJyb3I+XHJcbiAgPG1hdC1pY29uXHJcbiAgICBbaGlkZGVuXT1cIiFmaWVsZC5NaWNyb3Bob25lXCJcclxuICAgIChjbGljayk9XCJ0dHNDbGljaygpXCJcclxuICAgIG1hdFN1ZmZpeFxyXG4gICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxyXG4gICAgW2NvbG9yXT1cIiFpc1N0aWxsUmVjb2dpbnplID8gJycgOiAnd2FybidcIlxyXG4gICAgPmtleWJvYXJkX3ZvaWNlPC9tYXQtaWNvblxyXG4gID5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuIl19
@@ -2,6 +2,7 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { UtilityHelperService } from '../../../../services/utilityHelper.services';
3
3
  import { VoiceRecognitionService } from '../../../../services/voice-recognition.service';
4
4
  import { interval } from 'rxjs';
5
+ import { DataGetterTypeEnum } from '../../../../models/baseField.model';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../../../../services/voice-recognition.service";
7
8
  import * as i2 from "@angular/material/input";
@@ -71,6 +72,9 @@ export class TextareaFieldTemplateComponent {
71
72
  this.voiceservice.text = this.record[this.field.Name];
72
73
  }
73
74
  }
75
+ if (this.field.DataGetter.DataGetterType == DataGetterTypeEnum.Manuale && this.record[this.field.Name] == null) {
76
+ this.record[this.field.Name] = this.field.DataGetter.DataGetterValue;
77
+ }
74
78
  }
75
79
  updateRTVoiceField() {
76
80
  this.record[this.field.Name] = this.voiceservice.text + this.newtext;
@@ -90,10 +94,10 @@ export class TextareaFieldTemplateComponent {
90
94
  }
91
95
  }
92
96
  TextareaFieldTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextareaFieldTemplateComponent, deps: [{ token: i1.VoiceRecognitionService }], target: i0.ɵɵFactoryTarget.Component });
93
- TextareaFieldTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextareaFieldTemplateComponent, selector: "textarea-field-template", inputs: { field: "field", record: "record" }, outputs: { recordChange: "recordChange" }, providers: [VoiceRecognitionService], usesOnChanges: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"ps-3\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n class=\"pt-2 mt-2\"\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [placeholder]=\"field.Description\"\r\n [rows]=\"field.Rows\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"field.Readonly\"\r\n [required]=\"field.Required\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onRecordValueChange()\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched &&\r\n !field.Readonly\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <mat-icon\r\n *ngIf=\"field.Microphone\"\r\n (click)=\"ttsClick()\"\r\n matSuffix\r\n style=\"cursor: pointer\"\r\n [color]=\"!isStillRecoginze ? '' : 'warn'\"\r\n >\r\n keyboard_voice\r\n </mat-icon>\r\n</mat-form-field>\r\n", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-input-element{background-color:#fff}::ng-deep .mat-form-field-label{font-size:x-large}::ng-deep textarea#mat-input-50{min-height:55px}::ng-deep label#mat-form-field-label-133{padding-top:7px}\n"], dependencies: [{ kind: "directive", type: i2.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: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
97
+ TextareaFieldTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextareaFieldTemplateComponent, selector: "textarea-field-template", inputs: { field: "field", record: "record" }, outputs: { recordChange: "recordChange" }, providers: [VoiceRecognitionService], usesOnChanges: true, ngImport: i0, template: "<mat-form-field [formGroup]=\"field.FormFormGroup\" appearance=\"outline\">\r\n <mat-label [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n class=\"pt-2 mt-2\"\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [placeholder]=\"field.Description\"\r\n [rows]=\"field.Rows\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"field.Readonly\"\r\n [required]=\"field.Required\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onRecordValueChange()\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched &&\r\n !field.Readonly\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <mat-icon\r\n *ngIf=\"field.Microphone\"\r\n (click)=\"ttsClick()\"\r\n matSuffix\r\n style=\"cursor: pointer\"\r\n [color]=\"!isStillRecoginze ? '' : 'warn'\"\r\n >\r\n keyboard_voice\r\n </mat-icon>\r\n</mat-form-field>\r\n", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-input-element{background-color:#fff}::ng-deep .mat-form-field-label{font-size:x-large}::ng-deep textarea#mat-input-50{min-height:55px}::ng-deep label#mat-form-field-label-133{padding-top:7px}\n"], dependencies: [{ kind: "directive", type: i2.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: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
94
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextareaFieldTemplateComponent, decorators: [{
95
99
  type: Component,
96
- args: [{ selector: 'textarea-field-template', providers: [VoiceRecognitionService], template: "<mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"ps-3\" [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n class=\"pt-2 mt-2\"\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [placeholder]=\"field.Description\"\r\n [rows]=\"field.Rows\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"field.Readonly\"\r\n [required]=\"field.Required\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onRecordValueChange()\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched &&\r\n !field.Readonly\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <mat-icon\r\n *ngIf=\"field.Microphone\"\r\n (click)=\"ttsClick()\"\r\n matSuffix\r\n style=\"cursor: pointer\"\r\n [color]=\"!isStillRecoginze ? '' : 'warn'\"\r\n >\r\n keyboard_voice\r\n </mat-icon>\r\n</mat-form-field>\r\n", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-input-element{background-color:#fff}::ng-deep .mat-form-field-label{font-size:x-large}::ng-deep textarea#mat-input-50{min-height:55px}::ng-deep label#mat-form-field-label-133{padding-top:7px}\n"] }]
100
+ args: [{ selector: 'textarea-field-template', providers: [VoiceRecognitionService], template: "<mat-form-field [formGroup]=\"field.FormFormGroup\" appearance=\"outline\">\r\n <mat-label [ngStyle]=\"LabelstyleObj\">\r\n {{ field.Description }}\r\n </mat-label>\r\n <textarea\r\n class=\"pt-2 mt-2\"\r\n [ngStyle]=\"FieldstyleObj\"\r\n matInput\r\n [placeholder]=\"field.Description\"\r\n [rows]=\"field.Rows\"\r\n [formControlName]=\"field.Name\"\r\n [readonly]=\"field.Readonly\"\r\n [required]=\"field.Required\"\r\n [(ngModel)]=\"record[field.Name]\"\r\n (ngModelChange)=\"onRecordValueChange()\"\r\n ></textarea>\r\n <mat-error\r\n *ngIf=\"\r\n !field.FormFormGroup.valid &&\r\n field.FormFormGroup.controls[field.Name].touched &&\r\n !field.Readonly\r\n \"\r\n >\r\n Min. Caratteri: {{ field.MinLenght }} - Max. Caratteri:\r\n {{ field.MaxLenght }}\r\n </mat-error>\r\n <mat-icon\r\n *ngIf=\"field.Microphone\"\r\n (click)=\"ttsClick()\"\r\n matSuffix\r\n style=\"cursor: pointer\"\r\n [color]=\"!isStillRecoginze ? '' : 'warn'\"\r\n >\r\n keyboard_voice\r\n </mat-icon>\r\n</mat-form-field>\r\n", styles: ["input.ng-touched.ng-invalid,input.ng-dirty.ng-invalid{border:red 2px solid!important}::ng-deep .mat-input-element{background-color:#fff}::ng-deep .mat-form-field-label{font-size:x-large}::ng-deep textarea#mat-input-50{min-height:55px}::ng-deep label#mat-form-field-label-133{padding-top:7px}\n"] }]
97
101
  }], ctorParameters: function () { return [{ type: i1.VoiceRecognitionService }]; }, propDecorators: { field: [{
98
102
  type: Input
99
103
  }], record: [{
@@ -101,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
101
105
  }], recordChange: [{
102
106
  type: Output
103
107
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtZmllbGQtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2ZpZWxkLXRlbXBsYXRlcy90ZXh0YXJlYS1maWVsZC10ZW1wbGF0ZS90ZXh0YXJlYS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL3RleHRhcmVhLWZpZWxkLXRlbXBsYXRlL3RleHRhcmVhLWZpZWxkLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUduRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFROUMsTUFBTSxPQUFPLDhCQUE4QjtJQWF6QyxZQUFtQixZQUFxQztRQUFyQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFaeEQscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBR3pCLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFYixpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBUXhFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFF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QUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQjtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQzs7NEhBMUZVLDhCQUE4QjtnSEFBOUIsOEJBQThCLDJJQUY5QixDQUFDLHVCQUF1QixDQUFDLCtDQ1p0Qyxva0NBb0NBOzRGRHRCYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0UseUJBQXlCLGFBR3hCLENBQUMsdUJBQXVCLENBQUM7OEdBSTNCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQmFzZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9pQmFzZUZpZWxkQ29tcG9uZW50LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFV0aWxpdHlIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdXRpbGl0eUhlbHBlci5zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFJlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9yZWNvcmQubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0YXJlYUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy90ZXh0YXJlYUZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgVm9pY2VSZWNvZ25pdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy92b2ljZS1yZWNvZ25pdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0ZXh0YXJlYS1maWVsZC10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLWZpZWxkLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0YXJlYS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1ZvaWNlUmVjb2duaXRpb25TZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRleHRhcmVhRmllbGRUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJQmFzZUZpZWxkQ29tcG9uZW50IHtcclxuICBpc1N0aWxsUmVjb2dpbnplID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmllbGQ6IFRleHRhcmVhRmllbGQ7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgc291cmNlID0gaW50ZXJ2YWwoMjAwKTtcclxuICBuZXd0ZXh0OiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIHJlY29yZENoYW5nZTogRXZlbnRFbWl0dGVyPFJlY29yZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY29yZD4oKTtcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgIC8vdmFyaWFiaWxpIHBlciBnZXN0aXJlIGlsIGNzcyBkZWxsYSBsYWJlbCBlIGRlbCBmaWVsZFxyXG4gICBGaWVsZHN0eWxlT2JqOiBhbnk7XHJcbiAgIExhYmVsc3R5bGVPYmo6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHZvaWNlc2VydmljZTogVm9pY2VSZWNvZ25pdGlvblNlcnZpY2UpIHtcclxuICAgIHRoaXMudm9pY2VzZXJ2aWNlLmluaXQoKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZUZpZWxkKCk7XHJcbiAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICB9XHJcblxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICAgIC8vRnVuemlvbmUgcGVyIHBhcnNhcmUgaWwgY2FtcG8gc3R5bGVjc3MgZGVsbCdvZ2dldHRvIGZpZWxkIGVkIGFwcGxpY2FybG8gYWxsJ2h0bWxcclxuICAgICAgaWYodGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgICAgdGhpcy5GaWVsZHN0eWxlT2JqPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyk7XHJcbiAgICBpZih0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgICB0aGlzLkxhYmVsc3R5bGVPYmogPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuTGFiZWxzdHlsZUNTUyk7XHJcbiB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIFNlIHZpZW5lIG1vZGlmaWNhdG8gaWwgdmFsb3JlIGRpIFwibmdNb2RlbElucHV0XCIgYWxsb3JhIGFnZ2lvcm5hIGwnaW5wdXRcclxuICAgIGlmIChjaGFuZ2VzWydyZWNvcmQnXSAhPSB1bmRlZmluZWQgJiYgY2hhbmdlc1sncmVjb3JkJ10uZmlyc3RDaGFuZ2UgPT0gZmFsc2UgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncmVjb3JkJ10uY3VycmVudFZhbHVlKSAhPSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydyZWNvcmQnXS5wcmV2aW91c1ZhbHVlKSkge1xyXG4gICAgICB0aGlzLnJlY29yZCA9IGNoYW5nZXNbJ3JlY29yZCddLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgdGhpcy51cGRhdGVGaWVsZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICB0dHNDbGljaygpIHtcclxuICAgIGlmICghdGhpcy5pc1N0aWxsUmVjb2dpbnplKSB7XHJcbiAgICAgIHRoaXMubmV3dGV4dCA9ICcnO1xyXG4gICAgICB0aGlzLmlzU3RpbGxSZWNvZ2luemUgPSB0aGlzLnZvaWNlc2VydmljZS5zdGFydCgpID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlLnN1YnNjcmliZSh2YWwgPT4ge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9PSBudWxsIHx8IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID0gdGhpcy52b2ljZXNlcnZpY2UudHJhbnNjcmlwdF9hcnJbdGhpcy52b2ljZXNlcnZpY2UudHJhbnNjcmlwdF9hcnIubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5uZXd0ZXh0ID0gdGhpcy52b2ljZXNlcnZpY2UudHJhbnNjcmlwdF9hcnJbdGhpcy52b2ljZXNlcnZpY2UudHJhbnNjcmlwdF9hcnIubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgICBpZiAodGhpcy5uZXd0ZXh0ICE9IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVSVFZvaWNlRmllbGQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNTdGlsbFJlY29naW56ZSA9IHRoaXMudm9pY2VzZXJ2aWNlLnN0b3AoKSA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWU7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIHRoaXMudXBkYXRlVm9pY2VGaWVsZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGFnZ2lvcm5hcmUgaWwgdmFsb3JlIGRlbCBjYW1wbyBxdWFuZG8gcXVlc3RvIMOoIHJhcHByZXNlbnRhdG8gZGEgdW5hIGZvcm11bGEuXHJcbiAgICovXHJcbiAgdXBkYXRlRmllbGQoKSB7XHJcbiAgICBpZiAodGhpcy5maWVsZC5Gb3JtdWxhKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSBVdGlsaXR5SGVscGVyU2VydmljZS5FdmFsdWF0ZUZpZWxkRm9ybXVsYSh0aGlzLmZpZWxkLkZvcm11bGEsIHRoaXMucmVjb3JkLCBudWxsKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZpZWxkLlZpc2libGVJZikge1xyXG4gICAgICB0aGlzLmZpZWxkLkluTGlzdFZpZXcgPSBVdGlsaXR5SGVscGVyU2VydmljZS5FdmFsdWF0ZUZpZWxkRm9ybXVsYSh0aGlzLmZpZWxkLlZpc2libGVJZiwgdGhpcy5yZWNvcmQsIG51bGwpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmlzU3RpbGxSZWNvZ2luemUpIHtcclxuICAgICAgaWYgKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gIT0gbnVsbCB8fCB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMudm9pY2VzZXJ2aWNlLnRleHQgPSB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVwZGF0ZVJUVm9pY2VGaWVsZCgpIHtcclxuICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSB0aGlzLnZvaWNlc2VydmljZS50ZXh0ICsgdGhpcy5uZXd0ZXh0O1xyXG4gICAgdGhpcy5uZXd0ZXh0ID0gJyc7XHJcbiAgfVxyXG4gIHVwZGF0ZVZvaWNlRmllbGQoKSB7XHJcbiAgICB0aGlzLm5ld3RleHQgPSAnJztcclxuICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSB0aGlzLnZvaWNlc2VydmljZS50ZXh0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIHBlciBlbWV0dGVyZSBsJ2V2ZW50byBjaGUgaWwgdmFsb3JlIGRlbCByZWNvcmQgw6ggY2FtYmlhdG8uXHJcbiAgICovXHJcbiAgb25SZWNvcmRWYWx1ZUNoYW5nZSgpIHtcclxuICAgIGlmICghdGhpcy5maWVsZC5Gb3JtdWxhKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkQ2hhbmdlLmVtaXQodGhpcy5yZWNvcmQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQgW2Zvcm1Hcm91cF09XCJmaWVsZC5Gb3JtRm9ybUdyb3VwXCI+XHJcbiAgPG1hdC1sYWJlbCBjbGFzcz1cInBzLTNcIiBbbmdTdHlsZV09XCJMYWJlbHN0eWxlT2JqXCI+XHJcbiAgICB7eyBmaWVsZC5EZXNjcmlwdGlvbiB9fVxyXG4gIDwvbWF0LWxhYmVsPlxyXG4gIDx0ZXh0YXJlYVxyXG4gICAgY2xhc3M9XCJwdC0yIG10LTJcIlxyXG4gICAgW25nU3R5bGVdPVwiRmllbGRzdHlsZU9ialwiXHJcbiAgICBtYXRJbnB1dFxyXG4gICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLkRlc2NyaXB0aW9uXCJcclxuICAgIFtyb3dzXT1cImZpZWxkLlJvd3NcIlxyXG4gICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5OYW1lXCJcclxuICAgIFtyZWFkb25seV09XCJmaWVsZC5SZWFkb25seVwiXHJcbiAgICBbcmVxdWlyZWRdPVwiZmllbGQuUmVxdWlyZWRcIlxyXG4gICAgWyhuZ01vZGVsKV09XCJyZWNvcmRbZmllbGQuTmFtZV1cIlxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25SZWNvcmRWYWx1ZUNoYW5nZSgpXCJcclxuICA+PC90ZXh0YXJlYT5cclxuICA8bWF0LWVycm9yXHJcbiAgICAqbmdJZj1cIlxyXG4gICAgICAhZmllbGQuRm9ybUZvcm1Hcm91cC52YWxpZCAmJlxyXG4gICAgICBmaWVsZC5Gb3JtRm9ybUdyb3VwLmNvbnRyb2xzW2ZpZWxkLk5hbWVdLnRvdWNoZWQgJiZcclxuICAgICAgIWZpZWxkLlJlYWRvbmx5XHJcbiAgICBcIlxyXG4gID5cclxuICAgIE1pbi4gQ2FyYXR0ZXJpOiB7eyBmaWVsZC5NaW5MZW5naHQgfX0gLSBNYXguIENhcmF0dGVyaTpcclxuICAgIHt7IGZpZWxkLk1heExlbmdodCB9fVxyXG4gIDwvbWF0LWVycm9yPlxyXG4gIDxtYXQtaWNvblxyXG4gICAgKm5nSWY9XCJmaWVsZC5NaWNyb3Bob25lXCJcclxuICAgIChjbGljayk9XCJ0dHNDbGljaygpXCJcclxuICAgIG1hdFN1ZmZpeFxyXG4gICAgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIlxyXG4gICAgW2NvbG9yXT1cIiFpc1N0aWxsUmVjb2dpbnplID8gJycgOiAnd2FybidcIlxyXG4gICAgPlxyXG4gICAgICAgIGtleWJvYXJkX3ZvaWNlXHJcbiAgPC9tYXQtaWNvbj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuIl19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtZmllbGQtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2ZpZWxkLXRlbXBsYXRlcy90ZXh0YXJlYS1maWVsZC10ZW1wbGF0ZS90ZXh0YXJlYS1maWVsZC10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcXAtZHluYW1pYy1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL3ByaXZhdGUvZmllbGQtdGVtcGxhdGVzL3RleHRhcmVhLWZpZWxkLXRlbXBsYXRlL3RleHRhcmVhLWZpZWxkLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUV6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUduRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7QUFReEUsTUFBTSxPQUFPLDhCQUE4QjtJQWF6QyxZQUFtQixZQUFxQztRQUFyQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFaeEQscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBR3pCLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFYixpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBUXhFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7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QUFDLGVBQWUsQ0FBQztTQUN0RTtJQUNILENBQUM7SUFDRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDckUsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7OzRIQTdGVSw4QkFBOEI7Z0hBQTlCLDhCQUE4QiwySUFGOUIsQ0FBQyx1QkFBdUIsQ0FBQywrQ0NidEMsNGtDQW9DQTs0RkRyQmEsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNFLHlCQUF5QixhQUd4QixDQUFDLHVCQUF1QixDQUFDOzhHQUkzQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUdJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUJhc2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvaUJhc2VGaWVsZENvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgVGV4dGFyZWFGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maWVsZHMvdGV4dGFyZWFGaWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IFZvaWNlUmVjb2duaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdm9pY2UtcmVjb2duaXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGludGVydmFsLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRGF0YUdldHRlclR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2Jhc2VGaWVsZC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RleHRhcmVhLWZpZWxkLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEtZmllbGQtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RleHRhcmVhLWZpZWxkLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbVm9pY2VSZWNvZ25pdGlvblNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFGaWVsZFRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIElCYXNlRmllbGRDb21wb25lbnQge1xyXG4gIGlzU3RpbGxSZWNvZ2luemUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmaWVsZDogVGV4dGFyZWFGaWVsZDtcclxuICBASW5wdXQoKSByZWNvcmQ6IFJlY29yZDtcclxuICBzb3VyY2UgPSBpbnRlcnZhbCgyMDApO1xyXG4gIG5ld3RleHQ6IHN0cmluZztcclxuICBAT3V0cHV0KCkgcmVjb3JkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVjb3JkPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjb3JkPigpO1xyXG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgLy92YXJpYWJpbGkgcGVyIGdlc3RpcmUgaWwgY3NzIGRlbGxhIGxhYmVsIGUgZGVsIGZpZWxkXHJcbiAgIEZpZWxkc3R5bGVPYmo6IGFueTtcclxuICAgTGFiZWxzdHlsZU9iajogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdm9pY2VzZXJ2aWNlOiBWb2ljZVJlY29nbml0aW9uU2VydmljZSkge1xyXG4gICAgdGhpcy52b2ljZXNlcnZpY2UuaW5pdCgpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudXBkYXRlRmllbGQoKTtcclxuICAgIHRoaXMuaW5pdFN0eWxlcygpO1xyXG4gIH1cclxuXHJcbiAgaW5pdFN0eWxlcygpIHtcclxuICAgICAgLy9GdW56aW9uZSBwZXIgcGFyc2FyZSBpbCBjYW1wbyBzdHlsZWNzcyBkZWxsJ29nZ2V0dG8gZmllbGQgZWQgYXBwbGljYXJsbyBhbGwnaHRtbFxyXG4gICAgICBpZih0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgICB0aGlzLkZpZWxkc3R5bGVPYmo9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTKTtcclxuICAgIGlmKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSBudWxsIHx8IHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyAhPSB1bmRlZmluZWQpICAgXHJcbiAgICAgIHRoaXMuTGFiZWxzdHlsZU9iaiA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTKTtcclxuIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgLy8gU2UgdmllbmUgbW9kaWZpY2F0byBpbCB2YWxvcmUgZGkgXCJuZ01vZGVsSW5wdXRcIiBhbGxvcmEgYWdnaW9ybmEgbCdpbnB1dFxyXG4gICAgaWYgKGNoYW5nZXNbJ3JlY29yZCddICE9IHVuZGVmaW5lZCAmJiBjaGFuZ2VzWydyZWNvcmQnXS5maXJzdENoYW5nZSA9PSBmYWxzZSAmJiBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydyZWNvcmQnXS5jdXJyZW50VmFsdWUpICE9IEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ3JlY29yZCddLnByZXZpb3VzVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkID0gY2hhbmdlc1sncmVjb3JkJ10uY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLnVwZGF0ZUZpZWxkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHR0c0NsaWNrKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzU3RpbGxSZWNvZ2luemUpIHtcclxuICAgICAgdGhpcy5uZXd0ZXh0ID0gJyc7XHJcbiAgICAgIHRoaXMuaXNTdGlsbFJlY29naW56ZSA9IHRoaXMudm9pY2VzZXJ2aWNlLnN0YXJ0KCkgPT09IHRydWUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5zb3VyY2Uuc3Vic2NyaWJlKHZhbCA9PiB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IG51bGwgfHwgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSB0aGlzLnZvaWNlc2VydmljZS50cmFuc2NyaXB0X2Fyclt0aGlzLnZvaWNlc2VydmljZS50cmFuc2NyaXB0X2Fyci5sZW5ndGggLSAxXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm5ld3RleHQgPSB0aGlzLnZvaWNlc2VydmljZS50cmFuc2NyaXB0X2Fyclt0aGlzLnZvaWNlc2VydmljZS50cmFuc2NyaXB0X2Fyci5sZW5ndGggLSAxXTtcclxuICAgICAgICAgIGlmICh0aGlzLm5ld3RleHQgIT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVJUVm9pY2VGaWVsZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5pc1N0aWxsUmVjb2dpbnplID0gdGhpcy52b2ljZXNlcnZpY2Uuc3RvcCgpID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZTtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy51cGRhdGVWb2ljZUZpZWxkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBwZXIgYWdnaW9ybmFyZSBpbCB2YWxvcmUgZGVsIGNhbXBvIHF1YW5kbyBxdWVzdG8gw6ggcmFwcHJlc2VudGF0byBkYSB1bmEgZm9ybXVsYS5cclxuICAgKi9cclxuICB1cGRhdGVGaWVsZCgpIHtcclxuICAgIGlmICh0aGlzLmZpZWxkLkZvcm11bGEpIHtcclxuICAgICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLkV2YWx1YXRlRmllbGRGb3JtdWxhKHRoaXMuZmllbGQuRm9ybXVsYSwgdGhpcy5yZWNvcmQsIG51bGwpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmllbGQuVmlzaWJsZUlmKSB7XHJcbiAgICAgIHRoaXMuZmllbGQuSW5MaXN0VmlldyA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLkV2YWx1YXRlRmllbGRGb3JtdWxhKHRoaXMuZmllbGQuVmlzaWJsZUlmLCB0aGlzLnJlY29yZCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuaXNTdGlsbFJlY29naW56ZSkge1xyXG4gICAgICBpZiAodGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSAhPSBudWxsIHx8IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy52b2ljZXNlcnZpY2UudGV4dCA9IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZpZWxkLkRhdGFHZXR0ZXIuRGF0YUdldHRlclR5cGUgPT0gRGF0YUdldHRlclR5cGVFbnVtLk1hbnVhbGUgJiYgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPSB0aGlzLmZpZWxkLkRhdGFHZXR0ZXIuRGF0YUdldHRlclZhbHVlO1xyXG4gICAgfSAgICAgICBcclxuICB9XHJcbiAgdXBkYXRlUlRWb2ljZUZpZWxkKCkge1xyXG4gICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMudm9pY2VzZXJ2aWNlLnRleHQgKyB0aGlzLm5ld3RleHQ7XHJcbiAgICB0aGlzLm5ld3RleHQgPSAnJztcclxuICB9XHJcbiAgdXBkYXRlVm9pY2VGaWVsZCgpIHtcclxuICAgIHRoaXMubmV3dGV4dCA9ICcnO1xyXG4gICAgdGhpcy5yZWNvcmRbdGhpcy5maWVsZC5OYW1lXSA9IHRoaXMudm9pY2VzZXJ2aWNlLnRleHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gcGVyIGVtZXR0ZXJlIGwnZXZlbnRvIGNoZSBpbCB2YWxvcmUgZGVsIHJlY29yZCDDqCBjYW1iaWF0by5cclxuICAgKi9cclxuICBvblJlY29yZFZhbHVlQ2hhbmdlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZpZWxkLkZvcm11bGEpIHtcclxuICAgICAgdGhpcy5yZWNvcmRDaGFuZ2UuZW1pdCh0aGlzLnJlY29yZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZCBbZm9ybUdyb3VwXT1cImZpZWxkLkZvcm1Gb3JtR3JvdXBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gIDxtYXQtbGFiZWwgW25nU3R5bGVdPVwiTGFiZWxzdHlsZU9ialwiPlxyXG4gICAge3sgZmllbGQuRGVzY3JpcHRpb24gfX1cclxuICA8L21hdC1sYWJlbD5cclxuICA8dGV4dGFyZWFcclxuICAgIGNsYXNzPVwicHQtMiBtdC0yXCJcclxuICAgIFtuZ1N0eWxlXT1cIkZpZWxkc3R5bGVPYmpcIlxyXG4gICAgbWF0SW5wdXRcclxuICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5EZXNjcmlwdGlvblwiXHJcbiAgICBbcm93c109XCJmaWVsZC5Sb3dzXCJcclxuICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuTmFtZVwiXHJcbiAgICBbcmVhZG9ubHldPVwiZmllbGQuUmVhZG9ubHlcIlxyXG4gICAgW3JlcXVpcmVkXT1cImZpZWxkLlJlcXVpcmVkXCJcclxuICAgIFsobmdNb2RlbCldPVwicmVjb3JkW2ZpZWxkLk5hbWVdXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uUmVjb3JkVmFsdWVDaGFuZ2UoKVwiXHJcbiAgPjwvdGV4dGFyZWE+XHJcbiAgPG1hdC1lcnJvclxyXG4gICAgKm5nSWY9XCJcclxuICAgICAgIWZpZWxkLkZvcm1Gb3JtR3JvdXAudmFsaWQgJiZcclxuICAgICAgZmllbGQuRm9ybUZvcm1Hcm91cC5jb250cm9sc1tmaWVsZC5OYW1lXS50b3VjaGVkICYmXHJcbiAgICAgICFmaWVsZC5SZWFkb25seVxyXG4gICAgXCJcclxuICA+XHJcbiAgICBNaW4uIENhcmF0dGVyaToge3sgZmllbGQuTWluTGVuZ2h0IH19IC0gTWF4LiBDYXJhdHRlcmk6XHJcbiAgICB7eyBmaWVsZC5NYXhMZW5naHQgfX1cclxuICA8L21hdC1lcnJvcj5cclxuICA8bWF0LWljb25cclxuICAgICpuZ0lmPVwiZmllbGQuTWljcm9waG9uZVwiXHJcbiAgICAoY2xpY2spPVwidHRzQ2xpY2soKVwiXHJcbiAgICBtYXRTdWZmaXhcclxuICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcclxuICAgIFtjb2xvcl09XCIhaXNTdGlsbFJlY29naW56ZSA/ICcnIDogJ3dhcm4nXCJcclxuICAgID5cclxuICAgICAgICBrZXlib2FyZF92b2ljZVxyXG4gIDwvbWF0LWljb24+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcbiJdfQ==
@@ -106,10 +106,10 @@ export class NumericFilterTemplateComponent {
106
106
  }
107
107
  }
108
108
  NumericFilterTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumericFilterTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
109
- NumericFilterTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NumericFilterTemplateComponent, selector: "numeric-filter-template", inputs: { field: "field", record: "record" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-9 valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1 ps-3\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [formControlName]=\"field.Name\" [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (ngModelChange)=\"onFilterChange()\" />\r\n <mat-error *ngIf=\"!field.FormFormGroup.valid && field.FormFormGroup.controls[field.Name].touched\">\r\n Min: {{field.MinValue}} - Max: {{field.MaxValue}}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorNumeric\" [(ngModel)]=\"selectedLogicOperator\" (ngModelChange)=\"onFilterChange()\"></eqp-select>\r\n </div>\r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"], dependencies: [{ kind: "directive", type: i1.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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }, { kind: "directive", type: i6.EqpNumericDirective, selector: "[eqpNumericMask]", inputs: ["options"] }] });
109
+ NumericFilterTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NumericFilterTemplateComponent, selector: "numeric-filter-template", inputs: { field: "field", record: "record" }, outputs: { filterChange: "filterChange" }, ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-9 valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [formControlName]=\"field.Name\" [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (ngModelChange)=\"onFilterChange()\" />\r\n <mat-error *ngIf=\"!field.FormFormGroup.valid && field.FormFormGroup.controls[field.Name].touched\">\r\n Min: {{field.MinValue}} - Max: {{field.MaxValue}}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorNumeric\" [(ngModel)]=\"selectedLogicOperator\" (ngModelChange)=\"onFilterChange()\"></eqp-select>\r\n </div>\r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"], dependencies: [{ kind: "directive", type: i1.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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.EqpSelectComponent, selector: "eqp-select", inputs: ["placeholder", "enumData", "enumDataToExclude", "arrayData", "arrayKeyProperty", "arrayValueProperty", "ngModelOptions", "ngModelInput", "formGroupInput", "formControlNameInput", "isRequired", "isDisabled", "isMultiLanguage", "multilanguagePrefixKey", "isAlphabeticalOrderable", "suffixIcon", "prefixIcon", "isMultiSelect", "includeFullObject", "showCancelButton", "isSearchable", "searchText", "noResultSearchText", "data"], outputs: ["ngModelInputChange"] }, { kind: "directive", type: i6.EqpNumericDirective, selector: "[eqpNumericMask]", inputs: ["options"] }] });
110
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NumericFilterTemplateComponent, decorators: [{
111
111
  type: Component,
112
- args: [{ selector: 'numeric-filter-template', template: "<div class=\"row\">\r\n <div class=\"col-md-9 valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1 ps-3\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [formControlName]=\"field.Name\" [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (ngModelChange)=\"onFilterChange()\" />\r\n <mat-error *ngIf=\"!field.FormFormGroup.valid && field.FormFormGroup.controls[field.Name].touched\">\r\n Min: {{field.MinValue}} - Max: {{field.MaxValue}}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorNumeric\" [(ngModel)]=\"selectedLogicOperator\" (ngModelChange)=\"onFilterChange()\"></eqp-select>\r\n </div>\r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"] }]
112
+ args: [{ selector: 'numeric-filter-template', template: "<div class=\"row\">\r\n <div class=\"col-md-9 valueCol\">\r\n <mat-form-field [formGroup]=\"field.FormFormGroup\">\r\n <mat-label class=\"pt-1\" [ngStyle]=\"LabelstyleObj\"> {{field.Description}} </mat-label>\r\n <input [ngStyle]=\"FieldstyleObj\" matInput eqpNumericMask [formControlName]=\"field.Name\" [readonly]=\"false\"\r\n [required]=\"false\" [(ngModel)]=\"record[field.Name]\" [options]=\"eqpNumericOptions\"\r\n [step]=\"field.IsInteger ? 1 : null\" (ngModelChange)=\"onFilterChange()\" />\r\n <mat-error *ngIf=\"!field.FormFormGroup.valid && field.FormFormGroup.controls[field.Name].touched\">\r\n Min: {{field.MinValue}} - Max: {{field.MaxValue}}\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-md-3 operatorCol\">\r\n <eqp-select [enumData]=\"logicOperatorNumeric\" [(ngModel)]=\"selectedLogicOperator\" (ngModelChange)=\"onFilterChange()\"></eqp-select>\r\n </div>\r\n</div>", styles: [".valueCol{padding-right:0}.operatorCol{padding-left:0}::ng-deep .operatorCol .mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:#a5afc0!important}::ng-deep .operatorCol .mat-mdc-select-value{color:#081c45;font-size:16px;font-weight:700;position:relative;top:-6px}\n"] }]
113
113
  }], ctorParameters: function () { return []; }, propDecorators: { field: [{
114
114
  type: Input
115
115
  }], record: [{
@@ -117,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
117
117
  }], filterChange: [{
118
118
  type: Output
119
119
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2Zvcm0tc3RhdGlzdGljcy9maWx0ZXItdGVtcGxhdGVzL251bWVyaWMtZmlsdGVyLXRlbXBsYXRlL251bWVyaWMtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy9udW1lcmljLWZpbHRlci10ZW1wbGF0ZS9udW1lcmljLWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQXFCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFHdEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7OztBQU9sRSxNQUFNLE9BQU8sOEJBQThCO0lBZTNDO1FBWFksaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwRSxvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUM1QixzQkFBaUIsR0FBK0IsRUFBRSxDQUFDO1FBQ25ELHlCQUFv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LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcXBOdW1lcmljSW5wdXRNb2RlLCBOdW1lcmljTWFza0NvbmZpZyB9IGZyb20gJ0BlcXByb2plY3QvZXFwLW51bWVyaWMnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgTnVtZXJpY0ZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9udW1lcmljRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBMb2dpY09wZXJhdG9yTnVtZXJpYyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9sb2dpY09wZXJhdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgU3RhdGlzdGljIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3N0YXRpc3RpYy5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ251bWVyaWMtZmlsdGVyLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbnVtZXJpYy1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL251bWVyaWMtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE51bWVyaWNGaWx0ZXJUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGZpZWxkOiBOdW1lcmljRmllbGQ7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICB2YWxpZGF0b3JzQXJyYXk6IGFueVtdID0gW107XHJcbiAgZXFwTnVtZXJpY09wdGlvbnM6IFBhcnRpYWw8TnVtZXJpY01hc2tDb25maWc+ID0ge307XHJcbiAgbG9naWNPcGVyYXRvck51bWVyaWMgPSBMb2dpY09wZXJhdG9yTnVtZXJpYztcclxuICBzZWxlY3RlZExvZ2ljT3BlcmF0b3I6IExvZ2ljT3BlcmF0b3JOdW1lcmljO1xyXG4gIGFjdGl2ZUNvbmRpdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuLy92YXJpYWJpbGkgcGVyIGdlc3RpcmUgaWwgY3NzIGRlbGxhIGxhYmVsIGUgZGVsIGZpZWxkXHJcbkZpZWxkc3R5bGVPYmo6IGFueTtcclxuTGFiZWxzdHlsZU9iajogYW55O1xyXG5cclxuY29uc3RydWN0b3IoKSB7XHJcbn1cclxuXHJcbm5nT25Jbml0KCk6IHZvaWQge1xyXG4gIHRoaXMuY29uZmlndXJlRXFwTnVtZXJpY09wdGlvbnMoKTtcclxuICB0aGlzLmNvbmZpZ3VyZUNvbnRyb2xsZXJzKCk7XHJcbiAgdGhpcy5pbml0U3R5bGVzKCk7XHJcbn1cclxuXHJcbiAgLy9GdW56aW9uZSBwZXIgcGFyc2FyZSBpbCBjYW1wbyBzdHlsZWNzcyBkZWxsJ29nZ2V0dG8gZmllbGQgZWQgYXBwbGljYXJsbyBhbGwnaHRtbFxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICBpZih0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgdGhpcy5GaWVsZHN0eWxlT2JqPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyk7XHJcbiAgaWYodGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgIHRoaXMuTGFiZWxzdHlsZU9iaiA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTKTtcclxufVxyXG5cclxuLyoqXHJcbiogTWV0b2RvIHBlciBlbWV0dGVyZSBsJ2V2ZW50byBjaGUgaWwgdmFsb3JlIGRlbCByZWNvcmQgw6ggY2FtYmlhdG8uXHJcbiovXHJcbm9uRmlsdGVyQ2hhbmdlKCkge1xyXG4gIGlmICh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdICE9IG51bGwgJiYgdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IgIT0gbnVsbCl7XHJcbiAgICB0aGlzLmFjdGl2ZUNvbmRpdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZ2VuZXJhdGVDb25kaXRpb24oXCJhY3RpdmVcIikpO1xyXG4gIH1cclxuICBpZiAodGhpcy5hY3RpdmVDb25kaXRpb24gJiYgKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gbnVsbCB8fCB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IFwiXCIgfHwgdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IgPT0gbnVsbCkpe1xyXG4gICAgdGhpcy5hY3RpdmVDb25kaXRpb24gPSBmYWxzZTtcclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5nZW5lcmF0ZUNvbmRpdGlvbihcImRlYWN0aXZhdGVkXCIpKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZXRvZG8gY2hlIGdlbmVyYSBsJ29nZ2V0dG8gZGEgaW52aWFyZSBhbGwnZXN0ZXJub1xyXG4gKi9cclxuXHJcbmdlbmVyYXRlQ29uZGl0aW9uKG1vZGUpe1xyXG4gIGxldCBvdXRwdXQ6U3RhdGlzdGljID0gbmV3IFN0YXRpc3RpYygpO1xyXG4gIGlmIChtb2RlID09IFwiYWN0aXZlXCIpe1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0sIC8vKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gLyAoTWF0aC5wb3coMTAsdGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uKSkpLnRvRml4ZWQodGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uKS50b1N0cmluZygpLFxyXG4gICAgICBsb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvcixcclxuICAgICAgZmllbGR0eXBlOiB0aGlzLmZpZWxkLkZpZWxkVHlwZVxyXG4gICAgfTtcclxuICB9IGVsc2Uge1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgIGxvZ2ljb3BlcmF0b3I6IG51bGwsXHJcbiAgICAgIGZpZWxkdHlwZTogbnVsbFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHJldHVybiBvdXRwdXQ7XHJcbn1cclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgY29uZmlndXJhcmUgZXFwLW51bWVyaWNcclxuKi9cclxucHJpdmF0ZSBjb25maWd1cmVFcXBOdW1lcmljT3B0aW9ucygpIHtcclxuXHJcbiAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5zdWZmaXggPSB0aGlzLmZpZWxkLk1lYXN1cmVVbml0ID8gXCIgIFwiK3RoaXMuZmllbGQuTWVhc3VyZVVuaXQrXCIgIFwiIDogXCJcIjtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWZpeCA9IHRoaXMuZmllbGQuQ3VycmVuY3lTeW1ib2wgPyB0aGlzLmZpZWxkLkN1cnJlbmN5U3ltYm9sK1wiIFwiIDogXCJcIjtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmlucHV0TW9kZSA9IHRoaXMuZmllbGQuQ3VycmVuY3lTeW1ib2wgPyBFcXBOdW1lcmljSW5wdXRNb2RlLkZJTkFOQ0lBTCA6IEVxcE51bWVyaWNJbnB1dE1vZGUuTkFUVVJBTDtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmFsbG93TmVnYXRpdmU9dHJ1ZTtcclxuICBpZiAodGhpcy5maWVsZC5EZWNpbWFsU2VwYXJhdG9yICE9IG51bGwgJiYgdGhpcy5maWVsZC5EZWNpbWFsU2VwYXJhdG9yICE9IHVuZGVmaW5lZClcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmRlY2ltYWwgPSB0aGlzLmZpZWxkLkRlY2ltYWxTZXBhcmF0b3I7XHJcbiAgZWxzZVxyXG4gIHRoaXMuZXFwTnVtZXJpY09wdGlvbnMuZGVjaW1hbD1cIi5cIjtcclxuICBpZiAodGhpcy5maWVsZC5UaG91c2FuZHNTZXBhcmF0b3IgIT0gbnVsbCAmJiB0aGlzLmZpZWxkLlRob3VzYW5kc1NlcGFyYXRvciAhPSB1bmRlZmluZWQpXHJcbiAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy50aG91c2FuZHMgPSB0aGlzLmZpZWxkLlRob3VzYW5kc1NlcGFyYXRvcjtcclxuICBpZih0aGlzLmZpZWxkLklzSW50ZWdlcj09IGZhbHNlKXtcclxuICAgIGlmICh0aGlzLmZpZWxkLkRlY2ltYWxQcmVjaXNpb24gIT0gbnVsbCAmJiB0aGlzLmZpZWxkLkRlY2ltYWxQcmVjaXNpb24gIT0gdW5kZWZpbmVkKSB7IHRoaXMuZXFwTnVtZXJpY09wdGlvbnMucHJlY2lzaW9uID0gdGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uOyB9XHJcbiAgICBlbHNlIHsgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5wcmVjaXNpb24gPSAyOyB9XHJcbiAgfWVsc2V7XHJcbiAgICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWNpc2lvbiA9IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuKiBNZXRvZG8gZGkgYWdnaXVudGEgZGVpIHZhbGlkYXRvciBkZWxsJ2lucHV0XHJcbiovXHJcbnByaXZhdGUgY29uZmlndXJlQ29udHJvbGxlcnMoKSB7XHJcbiAgdGhpcy52YWxpZGF0b3JzQXJyYXkgPSBbXTtcclxuICBpZiAodGhpcy5maWVsZC5NaW5WYWx1ZSAhPSBudWxsICYmIHRoaXMuZmllbGQuTWluVmFsdWUgIT0gdW5kZWZpbmVkKVxyXG4gIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5taW4odGhpcy5maWVsZC5NaW5WYWx1ZSkpO1xyXG4gIGlmICh0aGlzLmZpZWxkLk1heFZhbHVlICE9IG51bGwgJiYgdGhpcy5maWVsZC5NYXhWYWx1ZSAhPSB1bmRlZmluZWQpXHJcbiAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLm1heCh0aGlzLmZpZWxkLk1heFZhbHVlKSk7XHJcbiAgdGhpcy5maWVsZC5Gb3JtRm9ybUdyb3VwLmdldChbdGhpcy5maWVsZC5OYW1lXSkuc2V0VmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvcnNBcnJheSk7XHJcbn1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC05IHZhbHVlQ29sXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFtmb3JtR3JvdXBdPVwiZmllbGQuRm9ybUZvcm1Hcm91cFwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsICBjbGFzcz1cInB0LTEgcHMtM1wiIFtuZ1N0eWxlXT1cIkxhYmVsc3R5bGVPYmpcIj4ge3tmaWVsZC5EZXNjcmlwdGlvbn19IDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbbmdTdHlsZV09XCJGaWVsZHN0eWxlT2JqXCIgbWF0SW5wdXQgZXFwTnVtZXJpY01hc2sgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5OYW1lXCIgW3JlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInJlY29yZFtmaWVsZC5OYW1lXVwiIFtvcHRpb25zXT1cImVxcE51bWVyaWNPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCJmaWVsZC5Jc0ludGVnZXIgPyAxIDogbnVsbFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlKClcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCIhZmllbGQuRm9ybUZvcm1Hcm91cC52YWxpZCAmJiBmaWVsZC5Gb3JtRm9ybUdyb3VwLmNvbnRyb2xzW2ZpZWxkLk5hbWVdLnRvdWNoZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgTWluOiB7e2ZpZWxkLk1pblZhbHVlfX0gLSBNYXg6IHt7ZmllbGQuTWF4VmFsdWV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBvcGVyYXRvckNvbFwiPlxyXG4gICAgICAgIDxlcXAtc2VsZWN0IFtlbnVtRGF0YV09XCJsb2dpY09wZXJhdG9yTnVtZXJpY1wiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRMb2dpY09wZXJhdG9yXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2UoKVwiPjwvZXFwLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXFwLWR5bmFtaWMtbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9wcml2YXRlL2Zvcm0tc3RhdGlzdGljcy9maWx0ZXItdGVtcGxhdGVzL251bWVyaWMtZmlsdGVyLXRlbXBsYXRlL251bWVyaWMtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VxcC1keW5hbWljLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvcHJpdmF0ZS9mb3JtLXN0YXRpc3RpY3MvZmlsdGVyLXRlbXBsYXRlcy9udW1lcmljLWZpbHRlci10ZW1wbGF0ZS9udW1lcmljLWZpbHRlci10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQXFCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFHdEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7OztBQU9sRSxNQUFNLE9BQU8sOEJBQThCO0lBZTNDO1FBWFksaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwRSxvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUM1QixzQkFBaUIsR0FBK0IsRUFBRSxDQUFDO1FBQ25ELHlCQUFv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LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcXBOdW1lcmljSW5wdXRNb2RlLCBOdW1lcmljTWFza0NvbmZpZyB9IGZyb20gJ0BlcXByb2plY3QvZXFwLW51bWVyaWMnO1xyXG5pbXBvcnQgeyBVdGlsaXR5SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxpdHlIZWxwZXIuc2VydmljZXMnO1xyXG5pbXBvcnQgeyBSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvcmVjb3JkLm1vZGVsJztcclxuaW1wb3J0IHsgTnVtZXJpY0ZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpZWxkcy9udW1lcmljRmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBMb2dpY09wZXJhdG9yTnVtZXJpYyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9sb2dpY09wZXJhdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgU3RhdGlzdGljIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3N0YXRpc3RpYy5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ251bWVyaWMtZmlsdGVyLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbnVtZXJpYy1maWx0ZXItdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL251bWVyaWMtZmlsdGVyLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE51bWVyaWNGaWx0ZXJUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGZpZWxkOiBOdW1lcmljRmllbGQ7XHJcbiAgQElucHV0KCkgcmVjb3JkOiBSZWNvcmQ7XHJcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICB2YWxpZGF0b3JzQXJyYXk6IGFueVtdID0gW107XHJcbiAgZXFwTnVtZXJpY09wdGlvbnM6IFBhcnRpYWw8TnVtZXJpY01hc2tDb25maWc+ID0ge307XHJcbiAgbG9naWNPcGVyYXRvck51bWVyaWMgPSBMb2dpY09wZXJhdG9yTnVtZXJpYztcclxuICBzZWxlY3RlZExvZ2ljT3BlcmF0b3I6IExvZ2ljT3BlcmF0b3JOdW1lcmljO1xyXG4gIGFjdGl2ZUNvbmRpdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuLy92YXJpYWJpbGkgcGVyIGdlc3RpcmUgaWwgY3NzIGRlbGxhIGxhYmVsIGUgZGVsIGZpZWxkXHJcbkZpZWxkc3R5bGVPYmo6IGFueTtcclxuTGFiZWxzdHlsZU9iajogYW55O1xyXG5cclxuY29uc3RydWN0b3IoKSB7XHJcbn1cclxuXHJcbm5nT25Jbml0KCk6IHZvaWQge1xyXG4gIHRoaXMuY29uZmlndXJlRXFwTnVtZXJpY09wdGlvbnMoKTtcclxuICB0aGlzLmNvbmZpZ3VyZUNvbnRyb2xsZXJzKCk7XHJcbiAgdGhpcy5pbml0U3R5bGVzKCk7XHJcbn1cclxuXHJcbiAgLy9GdW56aW9uZSBwZXIgcGFyc2FyZSBpbCBjYW1wbyBzdHlsZWNzcyBkZWxsJ29nZ2V0dG8gZmllbGQgZWQgYXBwbGljYXJsbyBhbGwnaHRtbFxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICBpZih0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gbnVsbCB8fCB0aGlzLmZpZWxkLkZpZWxkc3R5bGVDU1MgIT0gdW5kZWZpbmVkKSAgIFxyXG4gICAgdGhpcy5GaWVsZHN0eWxlT2JqPSBVdGlsaXR5SGVscGVyU2VydmljZS5pbml0U3R5bGVzKHRoaXMuZmllbGQuRmllbGRzdHlsZUNTUyk7XHJcbiAgaWYodGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IG51bGwgfHwgdGhpcy5maWVsZC5GaWVsZHN0eWxlQ1NTICE9IHVuZGVmaW5lZCkgICBcclxuICAgIHRoaXMuTGFiZWxzdHlsZU9iaiA9IFV0aWxpdHlIZWxwZXJTZXJ2aWNlLmluaXRTdHlsZXModGhpcy5maWVsZC5MYWJlbHN0eWxlQ1NTKTtcclxufVxyXG5cclxuLyoqXHJcbiogTWV0b2RvIHBlciBlbWV0dGVyZSBsJ2V2ZW50byBjaGUgaWwgdmFsb3JlIGRlbCByZWNvcmQgw6ggY2FtYmlhdG8uXHJcbiovXHJcbm9uRmlsdGVyQ2hhbmdlKCkge1xyXG4gIGlmICh0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdICE9IG51bGwgJiYgdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IgIT0gbnVsbCl7XHJcbiAgICB0aGlzLmFjdGl2ZUNvbmRpdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHRoaXMuZ2VuZXJhdGVDb25kaXRpb24oXCJhY3RpdmVcIikpO1xyXG4gIH1cclxuICBpZiAodGhpcy5hY3RpdmVDb25kaXRpb24gJiYgKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gPT0gbnVsbCB8fCB0aGlzLnJlY29yZFt0aGlzLmZpZWxkLk5hbWVdID09IFwiXCIgfHwgdGhpcy5zZWxlY3RlZExvZ2ljT3BlcmF0b3IgPT0gbnVsbCkpe1xyXG4gICAgdGhpcy5hY3RpdmVDb25kaXRpb24gPSBmYWxzZTtcclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5nZW5lcmF0ZUNvbmRpdGlvbihcImRlYWN0aXZhdGVkXCIpKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZXRvZG8gY2hlIGdlbmVyYSBsJ29nZ2V0dG8gZGEgaW52aWFyZSBhbGwnZXN0ZXJub1xyXG4gKi9cclxuXHJcbmdlbmVyYXRlQ29uZGl0aW9uKG1vZGUpe1xyXG4gIGxldCBvdXRwdXQ6U3RhdGlzdGljID0gbmV3IFN0YXRpc3RpYygpO1xyXG4gIGlmIChtb2RlID09IFwiYWN0aXZlXCIpe1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0sIC8vKHRoaXMucmVjb3JkW3RoaXMuZmllbGQuTmFtZV0gLyAoTWF0aC5wb3coMTAsdGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uKSkpLnRvRml4ZWQodGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uKS50b1N0cmluZygpLFxyXG4gICAgICBsb2dpY29wZXJhdG9yOiB0aGlzLnNlbGVjdGVkTG9naWNPcGVyYXRvcixcclxuICAgICAgZmllbGR0eXBlOiB0aGlzLmZpZWxkLkZpZWxkVHlwZVxyXG4gICAgfTtcclxuICB9IGVsc2Uge1xyXG4gICAgb3V0cHV0ID0ge1xyXG4gICAgICBrZXk6IHRoaXMuZmllbGQuTmFtZSxcclxuICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgIGxvZ2ljb3BlcmF0b3I6IG51bGwsXHJcbiAgICAgIGZpZWxkdHlwZTogbnVsbFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHJldHVybiBvdXRwdXQ7XHJcbn1cclxuXHJcbi8qKlxyXG4qIE1ldG9kbyBwZXIgY29uZmlndXJhcmUgZXFwLW51bWVyaWNcclxuKi9cclxucHJpdmF0ZSBjb25maWd1cmVFcXBOdW1lcmljT3B0aW9ucygpIHtcclxuXHJcbiAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5zdWZmaXggPSB0aGlzLmZpZWxkLk1lYXN1cmVVbml0ID8gXCIgIFwiK3RoaXMuZmllbGQuTWVhc3VyZVVuaXQrXCIgIFwiIDogXCJcIjtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWZpeCA9IHRoaXMuZmllbGQuQ3VycmVuY3lTeW1ib2wgPyB0aGlzLmZpZWxkLkN1cnJlbmN5U3ltYm9sK1wiIFwiIDogXCJcIjtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmlucHV0TW9kZSA9IHRoaXMuZmllbGQuQ3VycmVuY3lTeW1ib2wgPyBFcXBOdW1lcmljSW5wdXRNb2RlLkZJTkFOQ0lBTCA6IEVxcE51bWVyaWNJbnB1dE1vZGUuTkFUVVJBTDtcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmFsbG93TmVnYXRpdmU9dHJ1ZTtcclxuICBpZiAodGhpcy5maWVsZC5EZWNpbWFsU2VwYXJhdG9yICE9IG51bGwgJiYgdGhpcy5maWVsZC5EZWNpbWFsU2VwYXJhdG9yICE9IHVuZGVmaW5lZClcclxuICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLmRlY2ltYWwgPSB0aGlzLmZpZWxkLkRlY2ltYWxTZXBhcmF0b3I7XHJcbiAgZWxzZVxyXG4gIHRoaXMuZXFwTnVtZXJpY09wdGlvbnMuZGVjaW1hbD1cIi5cIjtcclxuICBpZiAodGhpcy5maWVsZC5UaG91c2FuZHNTZXBhcmF0b3IgIT0gbnVsbCAmJiB0aGlzLmZpZWxkLlRob3VzYW5kc1NlcGFyYXRvciAhPSB1bmRlZmluZWQpXHJcbiAgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy50aG91c2FuZHMgPSB0aGlzLmZpZWxkLlRob3VzYW5kc1NlcGFyYXRvcjtcclxuICBpZih0aGlzLmZpZWxkLklzSW50ZWdlcj09IGZhbHNlKXtcclxuICAgIGlmICh0aGlzLmZpZWxkLkRlY2ltYWxQcmVjaXNpb24gIT0gbnVsbCAmJiB0aGlzLmZpZWxkLkRlY2ltYWxQcmVjaXNpb24gIT0gdW5kZWZpbmVkKSB7IHRoaXMuZXFwTnVtZXJpY09wdGlvbnMucHJlY2lzaW9uID0gdGhpcy5maWVsZC5EZWNpbWFsUHJlY2lzaW9uOyB9XHJcbiAgICBlbHNlIHsgdGhpcy5lcXBOdW1lcmljT3B0aW9ucy5wcmVjaXNpb24gPSAyOyB9XHJcbiAgfWVsc2V7XHJcbiAgICB0aGlzLmVxcE51bWVyaWNPcHRpb25zLnByZWNpc2lvbiA9IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuKiBNZXRvZG8gZGkgYWdnaXVudGEgZGVpIHZhbGlkYXRvciBkZWxsJ2lucHV0XHJcbiovXHJcbnByaXZhdGUgY29uZmlndXJlQ29udHJvbGxlcnMoKSB7XHJcbiAgdGhpcy52YWxpZGF0b3JzQXJyYXkgPSBbXTtcclxuICBpZiAodGhpcy5maWVsZC5NaW5WYWx1ZSAhPSBudWxsICYmIHRoaXMuZmllbGQuTWluVmFsdWUgIT0gdW5kZWZpbmVkKVxyXG4gIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5taW4odGhpcy5maWVsZC5NaW5WYWx1ZSkpO1xyXG4gIGlmICh0aGlzLmZpZWxkLk1heFZhbHVlICE9IG51bGwgJiYgdGhpcy5maWVsZC5NYXhWYWx1ZSAhPSB1bmRlZmluZWQpXHJcbiAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLm1heCh0aGlzLmZpZWxkLk1heFZhbHVlKSk7XHJcbiAgdGhpcy5maWVsZC5Gb3JtRm9ybUdyb3VwLmdldChbdGhpcy5maWVsZC5OYW1lXSkuc2V0VmFsaWRhdG9ycyh0aGlzLnZhbGlkYXRvcnNBcnJheSk7XHJcbn1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC05IHZhbHVlQ29sXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFtmb3JtR3JvdXBdPVwiZmllbGQuRm9ybUZvcm1Hcm91cFwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsICBjbGFzcz1cInB0LTFcIiBbbmdTdHlsZV09XCJMYWJlbHN0eWxlT2JqXCI+IHt7ZmllbGQuRGVzY3JpcHRpb259fSA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW25nU3R5bGVdPVwiRmllbGRzdHlsZU9ialwiIG1hdElucHV0IGVxcE51bWVyaWNNYXNrIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuTmFtZVwiIFtyZWFkb25seV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJyZWNvcmRbZmllbGQuTmFtZV1cIiBbb3B0aW9uc109XCJlcXBOdW1lcmljT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiZmllbGQuSXNJbnRlZ2VyID8gMSA6IG51bGxcIiAobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiIWZpZWxkLkZvcm1Gb3JtR3JvdXAudmFsaWQgJiYgZmllbGQuRm9ybUZvcm1Hcm91cC5jb250cm9sc1tmaWVsZC5OYW1lXS50b3VjaGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE1pbjoge3tmaWVsZC5NaW5WYWx1ZX19IC0gTWF4OiB7e2ZpZWxkLk1heFZhbHVlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgb3BlcmF0b3JDb2xcIj5cclxuICAgICAgICA8ZXFwLXNlbGVjdCBbZW51bURhdGFdPVwibG9naWNPcGVyYXRvck51bWVyaWNcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTG9naWNPcGVyYXRvclwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlKClcIj48L2VxcC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19