@one-paragon/angular-utilities 0.3.0 → 0.3.2

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 (67) hide show
  1. package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +5 -6
  2. package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +6 -7
  3. package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +6 -7
  4. package/esm2022/http-request-state/HttpRequestStateFactory.mjs +6 -7
  5. package/esm2022/http-request-state/HttpRequestStateStore.mjs +6 -7
  6. package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +6 -7
  7. package/esm2022/http-request-state/directives/http-error-state-directive.mjs +6 -7
  8. package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +6 -7
  9. package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +6 -7
  10. package/esm2022/http-request-state/directives/http-success-state-directive.mjs +6 -7
  11. package/esm2022/http-request-state/directives/request-state-directive.mjs +6 -7
  12. package/esm2022/http-request-state/http-state-module.mjs +6 -7
  13. package/esm2022/table-builder/classes/table-store.mjs +7 -8
  14. package/esm2022/table-builder/components/array-column.component.mjs +7 -8
  15. package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +6 -7
  16. package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +5 -6
  17. package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +5 -6
  18. package/esm2022/table-builder/components/filter/filter.component.mjs +9 -10
  19. package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +7 -8
  20. package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +6 -7
  21. package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +6 -7
  22. package/esm2022/table-builder/components/generic-table/paginator.component.mjs +7 -8
  23. package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +5 -6
  24. package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +6 -7
  25. package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +6 -7
  26. package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +5 -6
  27. package/esm2022/table-builder/components/link-column.component.mjs +6 -7
  28. package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +5 -6
  29. package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +6 -7
  30. package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +6 -7
  31. package/esm2022/table-builder/components/table-container/table-container.mjs +5 -6
  32. package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +5 -6
  33. package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +6 -7
  34. package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +6 -7
  35. package/esm2022/table-builder/directives/custom-cell-directive.mjs +7 -8
  36. package/esm2022/table-builder/directives/multi-sort.directive.mjs +6 -7
  37. package/esm2022/table-builder/directives/resize-column.directive.mjs +6 -7
  38. package/esm2022/table-builder/directives/table-wrapper.directive.mjs +5 -6
  39. package/esm2022/table-builder/directives/tb-filter.directive.mjs +57 -67
  40. package/esm2022/table-builder/ngrx/tableBuilderStateStore.mjs +6 -7
  41. package/esm2022/table-builder/pipes/column-total.pipe.mjs +5 -6
  42. package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +5 -6
  43. package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +6 -7
  44. package/esm2022/table-builder/pipes/key-display.mjs +6 -7
  45. package/esm2022/table-builder/services/export-to-csv.service.mjs +7 -8
  46. package/esm2022/table-builder/services/table-template-service.mjs +6 -7
  47. package/esm2022/table-builder/services/transform-creator.mjs +7 -8
  48. package/esm2022/table-builder/table-builder.module.mjs +6 -7
  49. package/esm2022/utilities/directives/auto-focus.directive.mjs +6 -7
  50. package/esm2022/utilities/directives/clickEmitterDirective.mjs +6 -7
  51. package/esm2022/utilities/directives/clickSubject.mjs +6 -7
  52. package/esm2022/utilities/directives/conditional-classes.directive.mjs +6 -7
  53. package/esm2022/utilities/directives/dialog-service.mjs +5 -6
  54. package/esm2022/utilities/directives/dialog.mjs +11 -13
  55. package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +5 -6
  56. package/esm2022/utilities/directives/prevent-enter.directive.mjs +5 -6
  57. package/esm2022/utilities/directives/stop-propagation.directive.mjs +5 -6
  58. package/esm2022/utilities/directives/styler.mjs +6 -7
  59. package/esm2022/utilities/directives/trim-whitespace.directive.mjs +6 -7
  60. package/esm2022/utilities/module.mjs +6 -7
  61. package/esm2022/utilities/pipes/function.pipe.mjs +5 -6
  62. package/esm2022/utilities/pipes/phone.pipe.mjs +5 -6
  63. package/esm2022/utilities/pipes/space-case.pipes.mjs +5 -6
  64. package/fesm2022/one-paragon-angular-utilities.mjs +291 -291
  65. package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -1
  66. package/http-request-state/HttpRequestStateStore.d.ts +1 -1
  67. package/package.json +8 -8
@@ -23,7 +23,7 @@ import * as i7 from "@angular/material/form-field";
23
23
  import * as i8 from "@angular/material/tooltip";
24
24
  import * as i9 from "@angular/material/radio";
25
25
  import * as i10 from "@angular/material/datepicker";
26
- class HeaderMenuComponent {
26
+ export class HeaderMenuComponent {
27
27
  constructor(tableState) {
28
28
  this.tableState = tableState;
29
29
  this.FieldType = FieldType;
@@ -81,17 +81,16 @@ class HeaderMenuComponent {
81
81
  this.trigger.closeMenu();
82
82
  }
83
83
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HeaderMenuComponent, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: HeaderMenuComponent, isStandalone: true, selector: "tb-header-menu", inputs: { filter: "filter", metaData: "metaData" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<button mat-icon-button class=\"open-menu-icon-button\" disableRipple [matMenuTriggerFor]=\"menu\" [matMenuTriggerRestoreFocus]=\"false\">\r\n <mat-icon class=\"menu-icon\">more_vert</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\" >\r\n <button mat-menu-item (click)=\"tableState.addGroupByKey(metaData.key)\">\r\n <mat-icon color=\"primary\">group</mat-icon>\r\n <span>Group By</span>\r\n </button>\r\n <button mat-menu-item (click)=hideField(metaData.key)>\r\n <mat-icon color=\"primary\">visibility_off</mat-icon>\r\n <span>Hide Column</span>\r\n </button>\r\n <ng-form #myForm=\"ngForm\" [ngSwitch]=\"true\" (keydown.enter)=\"onEnter(myForm.value)\" class=\"tb-header-filter\">\r\n <input type=\"hidden\" name=\"filterId\" [ngModel]=\"'header-column-' + metaData.key\" />\r\n <input type=\"hidden\" name=\"filterType\" [ngModel]=\"myFilterType\" />\r\n <input type=\"hidden\" name=\"key\" [ngModel]=\"metaData.key\" />\r\n <input type=\"hidden\" name=\"fieldType\" [ngModel]=\"metaData.fieldType\" />\r\n\r\n <ng-container *ngIf=\"(myFilterType === FilterType.Or || myFilterType === FilterType.In); else defaultFilter\">\r\n <tb-in-list-filter name='filterValue' [key]='metaData.key' [(ngModel)]='myFilterValue'/>\r\n </ng-container>\r\n\r\n\r\n <ng-template #defaultFilter>\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Link || metaData.fieldType === FieldType.String || metaData.fieldType === FieldType.Array || metaData.fieldType === FieldType.Unknown || metaData.fieldType === FieldType.PhoneNumber\">\r\n <mat-form-field stop-propagation class=\"font auto-width\">\r\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\r\n <mat-label>{{myFilterType === FilterType.StringDoesNotContain ? 'Does Not Contain...' : 'Contains...'}}</mat-label>\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n <span matSuffix [matTooltip]=\"myFilterType === FilterType.StringDoesNotContain ? 'Contains' : 'Does Not Contain'\">\r\n <button mat-icon-button color=\"primary\" (click)=\"setStringFilterType()\" class=\"header-filter-icon-button\">\r\n <mat-icon [ngClass]=\"{'chosen-icon': myFilterType === FilterType.StringDoesNotContain }\">\r\n block\r\n </mat-icon>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Number || metaData.fieldType === FieldType.Currency\">\r\n <mat-form-field class=\"auto-width\" stop-propagation>\r\n \r\n <mat-label>{{myFilterType === FilterType.NumberEquals ? 'Equals...' : myFilterType === FilterType.NumberLessThan ? 'Less Than...' : 'More Than...'}}</mat-label>\r\n <input matInput type='number' name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n <span matPrefix class=\"tb-header-prefix\">\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberLessThan)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberLessThan }\">\r\n <mat-icon class=\"suffix-icons\"\r\n >\r\n arrow_back_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberGreaterThan)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberGreaterThan }\" >\r\n <mat-icon class=\"suffix-icons\"\r\n >\r\n arrow_forward_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberEquals)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberEquals }\">\r\n <span class=\"suffix-icons\"\r\n >\r\n =</span>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Boolean\">\r\n <div>\r\n <label>\r\n <mat-icon class=\"search-icon\">filter_list</mat-icon>\r\n </label>\r\n <mat-radio-group stop-propagation #ctrl=\"matRadioGroup\" #boolField='ngModel' class=\"font\" name=\"filterValue\" [ngModel]=\"myFilterValue\" >\r\n <mat-radio-button class=\"filter-radio-button\" (click)=\"myFilterValue = true;\" [value]=\"true\">True</mat-radio-button><br/>\r\n <mat-radio-button class=\"filter-radio-button\" (click)=\"myFilterValue = false\" [value]=\"false\">False</mat-radio-button><br/>\r\n </mat-radio-group>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Date || metaData.fieldType === FieldType.DateTime\">\r\n <mat-form-field class=\"font auto-width\" stop-propagation >\r\n <span matPrefix class=\"tb-header-prefix\">\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateOnOrAfter)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateOnOrAfter }\">\r\n <mat-icon class=\"suffix-icons underline\">arrow_forward_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateOnOrBefore)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateOnOrBefore }\">\r\n <mat-icon class=\"suffix-icons underline\">arrow_back_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateIsOn)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateIsOn }\">\r\n <span class=\"suffix-icons underline\"> =</span>\r\n </button>\r\n </span>\r\n <mat-label>{{myFilterType === FilterType.DateIsOn ? 'On...' :\r\n myFilterType === FilterType.DateOnOrBefore ? 'On or Before...' : 'On or After...'}}</mat-label>\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" [matDatepicker]=\"calendar\"\r\n (click)=\"calendar.open()\"/>\r\n <mat-datepicker-toggle class=\"date-toggle header-filter-icon-button\" matSuffix [for]=\"calendar\" preventEnter></mat-datepicker-toggle>\r\n <mat-datepicker #calendar></mat-datepicker>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <button mat-button (click)=\"onEnter(myForm.value)\" [disabled]=\"myForm.value.filterValue == undefined\" disableRipple>\r\n Apply\r\n </button>\r\n </ng-form>\r\n</mat-menu>\r\n", styles: ["input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.menu-icon{font-size:16px;line-height:16px;vertical-align:top;height:16px;width:16px}.search-icon{margin-right:16px;vertical-align:middle;height:24px;color:#0000008a;font-size:21px;line-height:1.125}.font{font-size:14px}.filter-radio-button:first-of-type{padding-left:0}.filter-radio-button{padding:10px 40px;min-width:110px}.auto-width{width:260px;margin:5px;display:block;height:55px}.open-menu-icon-button{height:28px;width:28px;padding:6px}.header-filter-icon-button{height:18px;width:18px;font-size:18px;padding:0;margin:0 2px}.header-filter-icon-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.header-filter-icon-button.chosen-icon,.header-filter-icon-button.chosen-icon ::ng-deep *{height:22px;width:22px;font-size:22px;color:green}mat-icon.mat-icon.suffix-icons.underline{height:20px;-webkit-text-decoration:underline .1px solid;text-decoration:underline .1px solid}.chosen-icon mat-icon.mat-icon.suffix-icons.underline{height:24px}::ng-deep .mat-mdc-form-field-icon-prefix:has(.tb-header-prefix),.tb-header-prefix{padding:0;flex-basis:36%}.tb-header-filter ::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}.tb-header-filter ::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"], dependencies: [{ kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InListFilterComponent, selector: "tb-in-list-filter , [tb-in-list-filter]", inputs: ["key"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.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: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: StopPropagationDirective, selector: "[stop-propagation]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i9.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i9.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i10.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i10.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i10.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: HeaderMenuComponent, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: HeaderMenuComponent, isStandalone: true, selector: "tb-header-menu", inputs: { filter: "filter", metaData: "metaData" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<button mat-icon-button class=\"open-menu-icon-button\" disableRipple [matMenuTriggerFor]=\"menu\" [matMenuTriggerRestoreFocus]=\"false\">\r\n <mat-icon class=\"menu-icon\">more_vert</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\" >\r\n <button mat-menu-item (click)=\"tableState.addGroupByKey(metaData.key)\">\r\n <mat-icon color=\"primary\">group</mat-icon>\r\n <span>Group By</span>\r\n </button>\r\n <button mat-menu-item (click)=hideField(metaData.key)>\r\n <mat-icon color=\"primary\">visibility_off</mat-icon>\r\n <span>Hide Column</span>\r\n </button>\r\n <ng-form #myForm=\"ngForm\" [ngSwitch]=\"true\" (keydown.enter)=\"onEnter(myForm.value)\" class=\"tb-header-filter\">\r\n <input type=\"hidden\" name=\"filterId\" [ngModel]=\"'header-column-' + metaData.key\" />\r\n <input type=\"hidden\" name=\"filterType\" [ngModel]=\"myFilterType\" />\r\n <input type=\"hidden\" name=\"key\" [ngModel]=\"metaData.key\" />\r\n <input type=\"hidden\" name=\"fieldType\" [ngModel]=\"metaData.fieldType\" />\r\n\r\n <ng-container *ngIf=\"(myFilterType === FilterType.Or || myFilterType === FilterType.In); else defaultFilter\">\r\n <tb-in-list-filter name='filterValue' [key]='metaData.key' [(ngModel)]='myFilterValue'/>\r\n </ng-container>\r\n\r\n\r\n <ng-template #defaultFilter>\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Link || metaData.fieldType === FieldType.String || metaData.fieldType === FieldType.Array || metaData.fieldType === FieldType.Unknown || metaData.fieldType === FieldType.PhoneNumber\">\r\n <mat-form-field stop-propagation class=\"font auto-width\">\r\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\r\n <mat-label>{{myFilterType === FilterType.StringDoesNotContain ? 'Does Not Contain...' : 'Contains...'}}</mat-label>\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n <span matSuffix [matTooltip]=\"myFilterType === FilterType.StringDoesNotContain ? 'Contains' : 'Does Not Contain'\">\r\n <button mat-icon-button color=\"primary\" (click)=\"setStringFilterType()\" class=\"header-filter-icon-button\">\r\n <mat-icon [ngClass]=\"{'chosen-icon': myFilterType === FilterType.StringDoesNotContain }\">\r\n block\r\n </mat-icon>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Number || metaData.fieldType === FieldType.Currency\">\r\n <mat-form-field class=\"auto-width\" stop-propagation>\r\n \r\n <mat-label>{{myFilterType === FilterType.NumberEquals ? 'Equals...' : myFilterType === FilterType.NumberLessThan ? 'Less Than...' : 'More Than...'}}</mat-label>\r\n <input matInput type='number' name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n <span matPrefix class=\"tb-header-prefix\">\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberLessThan)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberLessThan }\">\r\n <mat-icon class=\"suffix-icons\"\r\n >\r\n arrow_back_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberGreaterThan)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberGreaterThan }\" >\r\n <mat-icon class=\"suffix-icons\"\r\n >\r\n arrow_forward_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberEquals)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberEquals }\">\r\n <span class=\"suffix-icons\"\r\n >\r\n =</span>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Boolean\">\r\n <div>\r\n <label>\r\n <mat-icon class=\"search-icon\">filter_list</mat-icon>\r\n </label>\r\n <mat-radio-group stop-propagation #ctrl=\"matRadioGroup\" #boolField='ngModel' class=\"font\" name=\"filterValue\" [ngModel]=\"myFilterValue\" >\r\n <mat-radio-button class=\"filter-radio-button\" (click)=\"myFilterValue = true;\" [value]=\"true\">True</mat-radio-button><br/>\r\n <mat-radio-button class=\"filter-radio-button\" (click)=\"myFilterValue = false\" [value]=\"false\">False</mat-radio-button><br/>\r\n </mat-radio-group>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Date || metaData.fieldType === FieldType.DateTime\">\r\n <mat-form-field class=\"font auto-width\" stop-propagation >\r\n <span matPrefix class=\"tb-header-prefix\">\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateOnOrAfter)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateOnOrAfter }\">\r\n <mat-icon class=\"suffix-icons underline\">arrow_forward_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateOnOrBefore)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateOnOrBefore }\">\r\n <mat-icon class=\"suffix-icons underline\">arrow_back_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateIsOn)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateIsOn }\">\r\n <span class=\"suffix-icons underline\"> =</span>\r\n </button>\r\n </span>\r\n <mat-label>{{myFilterType === FilterType.DateIsOn ? 'On...' :\r\n myFilterType === FilterType.DateOnOrBefore ? 'On or Before...' : 'On or After...'}}</mat-label>\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" [matDatepicker]=\"calendar\"\r\n (click)=\"calendar.open()\"/>\r\n <mat-datepicker-toggle class=\"date-toggle header-filter-icon-button\" matSuffix [for]=\"calendar\" preventEnter></mat-datepicker-toggle>\r\n <mat-datepicker #calendar></mat-datepicker>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <button mat-button (click)=\"onEnter(myForm.value)\" [disabled]=\"myForm.value.filterValue == undefined\" disableRipple>\r\n Apply\r\n </button>\r\n </ng-form>\r\n</mat-menu>\r\n", styles: ["input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.menu-icon{font-size:16px;line-height:16px;vertical-align:top;height:16px;width:16px}.search-icon{margin-right:16px;vertical-align:middle;height:24px;color:#0000008a;font-size:21px;line-height:1.125}.font{font-size:14px}.filter-radio-button:first-of-type{padding-left:0}.filter-radio-button{padding:10px 40px;min-width:110px}.auto-width{width:260px;margin:5px;display:block;height:55px}.open-menu-icon-button{height:28px;width:28px;padding:6px}.header-filter-icon-button{height:18px;width:18px;font-size:18px;padding:0;margin:0 2px}.header-filter-icon-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.header-filter-icon-button.chosen-icon,.header-filter-icon-button.chosen-icon ::ng-deep *{height:22px;width:22px;font-size:22px;color:green}mat-icon.mat-icon.suffix-icons.underline{height:20px;-webkit-text-decoration:underline .1px solid;text-decoration:underline .1px solid}.chosen-icon mat-icon.mat-icon.suffix-icons.underline{height:24px}::ng-deep .mat-mdc-form-field-icon-prefix:has(.tb-header-prefix),.tb-header-prefix{padding:0;flex-basis:36%}.tb-header-filter ::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}.tb-header-filter ::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"], dependencies: [{ kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InListFilterComponent, selector: "tb-in-list-filter , [tb-in-list-filter]", inputs: ["key"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.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: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: StopPropagationDirective, selector: "[stop-propagation]" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i9.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i9.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex", "id", "name", "aria-label", "aria-labelledby", "aria-describedby", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i10.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i10.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i10.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
86
86
  }
87
- export { HeaderMenuComponent };
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HeaderMenuComponent, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: HeaderMenuComponent, decorators: [{
89
88
  type: Component,
90
89
  args: [{ selector: 'tb-header-menu', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
91
90
  MatMenuModule, MatIconModule, MatButtonModule, FormsModule, NgSwitchCase, NgSwitch, NgIf, InListFilterComponent,
92
91
  MatInputModule, MatTooltipModule, NgClass, StopPropagationDirective, MatRadioModule, MatDatepickerModule
93
92
  ], template: "<button mat-icon-button class=\"open-menu-icon-button\" disableRipple [matMenuTriggerFor]=\"menu\" [matMenuTriggerRestoreFocus]=\"false\">\r\n <mat-icon class=\"menu-icon\">more_vert</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\" >\r\n <button mat-menu-item (click)=\"tableState.addGroupByKey(metaData.key)\">\r\n <mat-icon color=\"primary\">group</mat-icon>\r\n <span>Group By</span>\r\n </button>\r\n <button mat-menu-item (click)=hideField(metaData.key)>\r\n <mat-icon color=\"primary\">visibility_off</mat-icon>\r\n <span>Hide Column</span>\r\n </button>\r\n <ng-form #myForm=\"ngForm\" [ngSwitch]=\"true\" (keydown.enter)=\"onEnter(myForm.value)\" class=\"tb-header-filter\">\r\n <input type=\"hidden\" name=\"filterId\" [ngModel]=\"'header-column-' + metaData.key\" />\r\n <input type=\"hidden\" name=\"filterType\" [ngModel]=\"myFilterType\" />\r\n <input type=\"hidden\" name=\"key\" [ngModel]=\"metaData.key\" />\r\n <input type=\"hidden\" name=\"fieldType\" [ngModel]=\"metaData.fieldType\" />\r\n\r\n <ng-container *ngIf=\"(myFilterType === FilterType.Or || myFilterType === FilterType.In); else defaultFilter\">\r\n <tb-in-list-filter name='filterValue' [key]='metaData.key' [(ngModel)]='myFilterValue'/>\r\n </ng-container>\r\n\r\n\r\n <ng-template #defaultFilter>\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Link || metaData.fieldType === FieldType.String || metaData.fieldType === FieldType.Array || metaData.fieldType === FieldType.Unknown || metaData.fieldType === FieldType.PhoneNumber\">\r\n <mat-form-field stop-propagation class=\"font auto-width\">\r\n <mat-icon matPrefix class=\"search-icon\">search</mat-icon>\r\n <mat-label>{{myFilterType === FilterType.StringDoesNotContain ? 'Does Not Contain...' : 'Contains...'}}</mat-label>\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n <span matSuffix [matTooltip]=\"myFilterType === FilterType.StringDoesNotContain ? 'Contains' : 'Does Not Contain'\">\r\n <button mat-icon-button color=\"primary\" (click)=\"setStringFilterType()\" class=\"header-filter-icon-button\">\r\n <mat-icon [ngClass]=\"{'chosen-icon': myFilterType === FilterType.StringDoesNotContain }\">\r\n block\r\n </mat-icon>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Number || metaData.fieldType === FieldType.Currency\">\r\n <mat-form-field class=\"auto-width\" stop-propagation>\r\n \r\n <mat-label>{{myFilterType === FilterType.NumberEquals ? 'Equals...' : myFilterType === FilterType.NumberLessThan ? 'Less Than...' : 'More Than...'}}</mat-label>\r\n <input matInput type='number' name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n <span matPrefix class=\"tb-header-prefix\">\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberLessThan)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberLessThan }\">\r\n <mat-icon class=\"suffix-icons\"\r\n >\r\n arrow_back_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberGreaterThan)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberGreaterThan }\" >\r\n <mat-icon class=\"suffix-icons\"\r\n >\r\n arrow_forward_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.NumberEquals)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.NumberEquals }\">\r\n <span class=\"suffix-icons\"\r\n >\r\n =</span>\r\n </button>\r\n </span>\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Boolean\">\r\n <div>\r\n <label>\r\n <mat-icon class=\"search-icon\">filter_list</mat-icon>\r\n </label>\r\n <mat-radio-group stop-propagation #ctrl=\"matRadioGroup\" #boolField='ngModel' class=\"font\" name=\"filterValue\" [ngModel]=\"myFilterValue\" >\r\n <mat-radio-button class=\"filter-radio-button\" (click)=\"myFilterValue = true;\" [value]=\"true\">True</mat-radio-button><br/>\r\n <mat-radio-button class=\"filter-radio-button\" (click)=\"myFilterValue = false\" [value]=\"false\">False</mat-radio-button><br/>\r\n </mat-radio-group>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"metaData.fieldType === FieldType.Date || metaData.fieldType === FieldType.DateTime\">\r\n <mat-form-field class=\"font auto-width\" stop-propagation >\r\n <span matPrefix class=\"tb-header-prefix\">\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateOnOrAfter)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateOnOrAfter }\">\r\n <mat-icon class=\"suffix-icons underline\">arrow_forward_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateOnOrBefore)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateOnOrBefore }\">\r\n <mat-icon class=\"suffix-icons underline\">arrow_back_ios</mat-icon>\r\n </button>\r\n <button mat-icon-button disableRipple class=\"header-filter-icon-button\" (click)=\"setFilterType(FilterType.DateIsOn)\"\r\n [ngClass]=\"{'chosen-icon': myFilterType === FilterType.DateIsOn }\">\r\n <span class=\"suffix-icons underline\"> =</span>\r\n </button>\r\n </span>\r\n <mat-label>{{myFilterType === FilterType.DateIsOn ? 'On...' :\r\n myFilterType === FilterType.DateOnOrBefore ? 'On or Before...' : 'On or After...'}}</mat-label>\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" [matDatepicker]=\"calendar\"\r\n (click)=\"calendar.open()\"/>\r\n <mat-datepicker-toggle class=\"date-toggle header-filter-icon-button\" matSuffix [for]=\"calendar\" preventEnter></mat-datepicker-toggle>\r\n <mat-datepicker #calendar></mat-datepicker>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <button mat-button (click)=\"onEnter(myForm.value)\" [disabled]=\"myForm.value.filterValue == undefined\" disableRipple>\r\n Apply\r\n </button>\r\n </ng-form>\r\n</mat-menu>\r\n", styles: ["input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.menu-icon{font-size:16px;line-height:16px;vertical-align:top;height:16px;width:16px}.search-icon{margin-right:16px;vertical-align:middle;height:24px;color:#0000008a;font-size:21px;line-height:1.125}.font{font-size:14px}.filter-radio-button:first-of-type{padding-left:0}.filter-radio-button{padding:10px 40px;min-width:110px}.auto-width{width:260px;margin:5px;display:block;height:55px}.open-menu-icon-button{height:28px;width:28px;padding:6px}.header-filter-icon-button{height:18px;width:18px;font-size:18px;padding:0;margin:0 2px}.header-filter-icon-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.header-filter-icon-button.chosen-icon,.header-filter-icon-button.chosen-icon ::ng-deep *{height:22px;width:22px;font-size:22px;color:green}mat-icon.mat-icon.suffix-icons.underline{height:20px;-webkit-text-decoration:underline .1px solid;text-decoration:underline .1px solid}.chosen-icon mat-icon.mat-icon.suffix-icons.underline{height:24px}::ng-deep .mat-mdc-form-field-icon-prefix:has(.tb-header-prefix),.tb-header-prefix{padding:0;flex-basis:36%}.tb-header-filter ::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}.tb-header-filter ::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"] }]
94
- }], ctorParameters: function () { return [{ type: i1.TableStore }]; }, propDecorators: { filter: [{
93
+ }], ctorParameters: () => [{ type: i1.TableStore }], propDecorators: { filter: [{
95
94
  type: Input
96
95
  }], metaData: [{
97
96
  type: Input
@@ -99,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
99
98
  type: ViewChild,
100
99
  args: [MatMenuTrigger]
101
100
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9oZWFkZXItbWVudS9oZWFkZXItbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7OztBQUVuRSxNQVdhLG1CQUFtQjtJQVU5QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBVDFDLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFDdEIsZUFBVSxHQUFHLFVBQVUsQ0FBQztJQVFxQixDQUFDO0lBRTlDLFNBQVMsQ0FBQyxHQUFXO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUU7WUFDNUQsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU87U0FDUjtRQUNELFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7WUFDL0IsS0FBSyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ3RCLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQztZQUNwQixLQUFLLFNBQVMsQ0FBQyxXQUFXLENBQUM7WUFDM0IsS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ3JCLEtBQUssU0FBUyxDQUFDLE9BQU87Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQztnQkFDOUMsTUFBTTtZQUNSLEtBQUssU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUN4QixLQUFLLFNBQVMsQ0FBQyxNQUFNO2dCQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7Z0JBQzVDLE1BQU07WUFDUixLQUFLLFNBQVMsQ0FBQyxPQUFPO2dCQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7Z0JBQzdDLE1BQU07WUFDVixLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsS0FBSyxTQUFTLENBQUMsUUFBUTtnQkFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUN4QyxNQUFNO1lBQ1YsS0FBSyxTQUFTLENBQUMsSUFBSTtnQkFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7SUFDcEksQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFzQjtRQUNsQyxJQUFJLFVBQVUsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN4QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWtCO1FBQ3hCLElBQUksTUFBTSxDQUFDLFdBQVcsSUFBSSxTQUFTLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUN4RCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs4R0FuRVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsdUtBU25CLGNBQWMsZ0RDckMzQixxak9BOEdBLDIrQ0R0RkksYUFBYSwrWUFBRSxhQUFhLG1MQUFFLGVBQWUsd2FBQUUsV0FBVyxxOEJBQUMsWUFBWSxxRkFBRSxRQUFRLDZFQUFFLElBQUksNkZBQUUscUJBQXFCLG9HQUM5RyxjQUFjLHczQkFBRSxnQkFBZ0IsK0hBQUUsT0FBTyxvRkFBRSx3QkFBd0IsOERBQUUsY0FBYywwUkFBRSxtQkFBbUI7O1NBRy9GLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQVgvQixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUscUJBQXFCO3dCQUM5RyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxtQkFBbUI7cUJBQ3pHO2lHQVFRLE1BQU07c0JBQWQsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNxQixPQUFPO3NCQUFqQyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSwgTWV0YURhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvZmlsdGVyVHlwZXMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJJbmZvIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluTGlzdEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlci9pbi1saXN0L2luLWxpc3QtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcyc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RiLWhlYWRlci1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRNZW51TW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIEZvcm1zTW9kdWxlLE5nU3dpdGNoQ2FzZSwgTmdTd2l0Y2gsIE5nSWYsIEluTGlzdEZpbHRlckNvbXBvbmVudCxcclxuICAgIE1hdElucHV0TW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlLCBOZ0NsYXNzLCBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsIE1hdFJhZGlvTW9kdWxlLCBNYXREYXRlcGlja2VyTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyTWVudUNvbXBvbmVudCB7XHJcbiAgRmllbGRUeXBlID0gRmllbGRUeXBlO1xyXG4gIEZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlO1xyXG4gIG15RmlsdGVyVHlwZSE6IEZpbHRlclR5cGU7XHJcbiAgbXlGaWx0ZXJWYWx1ZTogYW55O1xyXG5cclxuICBASW5wdXQoKSBmaWx0ZXIhOiBQYXJ0aWFsPEZpbHRlckluZm8+O1xyXG5cclxuICBASW5wdXQoKSBtZXRhRGF0YSE6IE1ldGFEYXRhO1xyXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIHRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcclxuICBjb25zdHJ1Y3RvciggcHVibGljIHRhYmxlU3RhdGU6IFRhYmxlU3RvcmUpIHt9XHJcblxyXG4gIGhpZGVGaWVsZChrZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy50YWJsZVN0YXRlLmhpZGVDb2x1bW4oa2V5KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5yZXNldEZpbHRlclR5cGUoKTtcclxuICB9XHJcblxyXG4gIHJlc2V0RmlsdGVyVHlwZSgpIHtcclxuICAgIGlmKHRoaXMubWV0YURhdGEuYWRkaXRpb25hbD8uZmlsdGVyT3B0aW9ucz8uZmlsdGVyYWJsZVZhbHVlcykge1xyXG4gICAgICB0aGlzLm15RmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuSW47XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHN3aXRjaCAodGhpcy5tZXRhRGF0YS5maWVsZFR5cGUpIHtcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuU3RyaW5nOlxyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5MaW5rOlxyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5QaG9uZU51bWJlcjpcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuQXJyYXk6XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLlVua25vd246XHJcbiAgICAgICAgdGhpcy5teUZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLlN0cmluZ0NvbnRhaW5zO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5DdXJyZW5jeTpcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuTnVtYmVyOlxyXG4gICAgICAgIHRoaXMubXlGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5OdW1iZXJFcXVhbHM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkJvb2xlYW46XHJcbiAgICAgICAgICB0aGlzLm15RmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuQm9vbGVhbkVxdWFscztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlOlxyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlVGltZTpcclxuICAgICAgICAgIHRoaXMubXlGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5EYXRlSXNPbjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5FbnVtOlxyXG4gICAgICAgIHRoaXMubXlGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5JbjtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFN0cmluZ0ZpbHRlclR5cGUoKSB7XHJcbiAgICB0aGlzLm15RmlsdGVyVHlwZSA9IHRoaXMubXlGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLlN0cmluZ0NvbnRhaW5zID8gRmlsdGVyVHlwZS5TdHJpbmdEb2VzTm90Q29udGFpbiA6IEZpbHRlclR5cGUuU3RyaW5nQ29udGFpbnM7XHJcbiAgfVxyXG5cclxuICBzZXRGaWx0ZXJUeXBlKGZpbHRlclR5cGU6IEZpbHRlclR5cGUpIHtcclxuICAgIGlmIChmaWx0ZXJUeXBlID09PSB0aGlzLm15RmlsdGVyVHlwZSkge1xyXG4gICAgICB0aGlzLnJlc2V0RmlsdGVyVHlwZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5teUZpbHRlclR5cGUgPSBmaWx0ZXJUeXBlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25FbnRlcihmaWx0ZXI6IEZpbHRlckluZm8pIHtcclxuICAgIGlmIChmaWx0ZXIuZmlsdGVyVmFsdWUgIT0gdW5kZWZpbmVkICYmIGZpbHRlci5maWx0ZXJUeXBlKSB7XHJcbiAgICAgIHRoaXMudGFibGVTdGF0ZS5hZGRGaWx0ZXIoZmlsdGVyKTtcclxuICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlTWVudSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cIm9wZW4tbWVudS1pY29uLWJ1dHRvblwiIGRpc2FibGVSaXBwbGUgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBbbWF0TWVudVRyaWdnZXJSZXN0b3JlRm9jdXNdPVwiZmFsc2VcIj5cclxuICA8bWF0LWljb24gY2xhc3M9XCJtZW51LWljb25cIj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxyXG48L2J1dHRvbj5cclxuPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiID5cclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInRhYmxlU3RhdGUuYWRkR3JvdXBCeUtleShtZXRhRGF0YS5rZXkpXCI+XHJcbiAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+Z3JvdXA8L21hdC1pY29uPlxyXG4gICAgPHNwYW4+R3JvdXAgQnk8L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9aGlkZUZpZWxkKG1ldGFEYXRhLmtleSk+XHJcbiAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+dmlzaWJpbGl0eV9vZmY8L21hdC1pY29uPlxyXG4gICAgPHNwYW4+SGlkZSBDb2x1bW48L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgPG5nLWZvcm0gI215Rm9ybT1cIm5nRm9ybVwiIFtuZ1N3aXRjaF09XCJ0cnVlXCIgKGtleWRvd24uZW50ZXIpPVwib25FbnRlcihteUZvcm0udmFsdWUpXCIgY2xhc3M9XCJ0Yi1oZWFkZXItZmlsdGVyXCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cImZpbHRlcklkXCIgIFtuZ01vZGVsXT1cIidoZWFkZXItY29sdW1uLScgKyBtZXRhRGF0YS5rZXlcIiAvPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJmaWx0ZXJUeXBlXCIgIFtuZ01vZGVsXT1cIm15RmlsdGVyVHlwZVwiIC8+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cImtleVwiICBbbmdNb2RlbF09XCJtZXRhRGF0YS5rZXlcIiAvPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJmaWVsZFR5cGVcIiAgW25nTW9kZWxdPVwibWV0YURhdGEuZmllbGRUeXBlXCIgLz5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIobXlGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLk9yIHx8IG15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5Jbik7IGVsc2UgZGVmYXVsdEZpbHRlclwiPlxyXG4gICAgICAgICAgPHRiLWluLWxpc3QtZmlsdGVyIG5hbWU9J2ZpbHRlclZhbHVlJyBba2V5XT0nbWV0YURhdGEua2V5JyBbKG5nTW9kZWwpXT0nbXlGaWx0ZXJWYWx1ZScvPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRGaWx0ZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuTGluayB8fCBtZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5TdHJpbmcgfHwgbWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQXJyYXkgfHwgbWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuVW5rbm93biB8fCBtZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5QaG9uZU51bWJlclwiPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIHN0b3AtcHJvcGFnYXRpb24gY2xhc3M9XCJmb250IGF1dG8td2lkdGhcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFByZWZpeCBjbGFzcz1cInNlYXJjaC1pY29uXCI+c2VhcmNoPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57e215RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5TdHJpbmdEb2VzTm90Q29udGFpbiA/ICdEb2VzIE5vdCBDb250YWluLi4uJyA6ICdDb250YWlucy4uLid9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cImZpbHRlclZhbHVlXCIgW25nTW9kZWxdPVwiZmlsdGVyLmZpbHRlclZhbHVlXCIgLz5cclxuICAgICAgICAgICAgPHNwYW4gbWF0U3VmZml4IFttYXRUb29sdGlwXT1cIm15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5TdHJpbmdEb2VzTm90Q29udGFpbiA/ICdDb250YWlucycgOiAnRG9lcyBOb3QgQ29udGFpbidcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2V0U3RyaW5nRmlsdGVyVHlwZSgpXCIgY2xhc3M9XCJoZWFkZXItZmlsdGVyLWljb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW25nQ2xhc3NdPVwieydjaG9zZW4taWNvbic6IG15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5TdHJpbmdEb2VzTm90Q29udGFpbiB9XCI+XHJcbiAgICAgICAgICAgICAgICAgIGJsb2NrXHJcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJtZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5OdW1iZXIgfHwgbWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQ3VycmVuY3lcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImF1dG8td2lkdGhcIiAgc3RvcC1wcm9wYWdhdGlvbj5cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57e215RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5OdW1iZXJFcXVhbHMgPyAnRXF1YWxzLi4uJyA6IG15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5OdW1iZXJMZXNzVGhhbiA/ICdMZXNzIFRoYW4uLi4nIDogJ01vcmUgVGhhbi4uLid9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0nbnVtYmVyJyAgbmFtZT1cImZpbHRlclZhbHVlXCIgW25nTW9kZWxdPVwiZmlsdGVyLmZpbHRlclZhbHVlXCIgLz5cclxuICAgICAgICAgICAgPHNwYW4gbWF0UHJlZml4IGNsYXNzPVwidGItaGVhZGVyLXByZWZpeFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRpc2FibGVSaXBwbGUgY2xhc3M9XCJoZWFkZXItZmlsdGVyLWljb24tYnV0dG9uXCIgKGNsaWNrKT1cInNldEZpbHRlclR5cGUoRmlsdGVyVHlwZS5OdW1iZXJMZXNzVGhhbilcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuTnVtYmVyTGVzc1RoYW4gfVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICBjbGFzcz1cInN1ZmZpeC1pY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgYXJyb3dfYmFja19pb3M8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRpc2FibGVSaXBwbGUgY2xhc3M9XCJoZWFkZXItZmlsdGVyLWljb24tYnV0dG9uXCIgKGNsaWNrKT1cInNldEZpbHRlclR5cGUoRmlsdGVyVHlwZS5OdW1iZXJHcmVhdGVyVGhhbilcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuTnVtYmVyR3JlYXRlclRoYW4gfVwiID5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAgY2xhc3M9XCJzdWZmaXgtaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICBhcnJvd19mb3J3YXJkX2lvczwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZVJpcHBsZSBjbGFzcz1cImhlYWRlci1maWx0ZXItaWNvbi1idXR0b25cIiAoY2xpY2spPVwic2V0RmlsdGVyVHlwZShGaWx0ZXJUeXBlLk51bWJlckVxdWFscylcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuTnVtYmVyRXF1YWxzIH1cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VmZml4LWljb25zXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQm9vbGVhblwiPlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInNlYXJjaC1pY29uXCI+ZmlsdGVyX2xpc3Q8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8bWF0LXJhZGlvLWdyb3VwIHN0b3AtcHJvcGFnYXRpb24gI2N0cmw9XCJtYXRSYWRpb0dyb3VwXCIgI2Jvb2xGaWVsZD0nbmdNb2RlbCcgY2xhc3M9XCJmb250XCIgbmFtZT1cImZpbHRlclZhbHVlXCIgW25nTW9kZWxdPVwibXlGaWx0ZXJWYWx1ZVwiID5cclxuICAgICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cImZpbHRlci1yYWRpby1idXR0b25cIiAoY2xpY2spPVwibXlGaWx0ZXJWYWx1ZSA9IHRydWU7XCIgW3ZhbHVlXT1cInRydWVcIj5UcnVlPC9tYXQtcmFkaW8tYnV0dG9uPjxici8+XHJcbiAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gY2xhc3M9XCJmaWx0ZXItcmFkaW8tYnV0dG9uXCIgKGNsaWNrKT1cIm15RmlsdGVyVmFsdWUgPSBmYWxzZVwiIFt2YWx1ZV09XCJmYWxzZVwiPkZhbHNlPC9tYXQtcmFkaW8tYnV0dG9uPjxici8+XHJcbiAgICAgICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIm1ldGFEYXRhLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkRhdGUgfHwgbWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuRGF0ZVRpbWVcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZvbnQgYXV0by13aWR0aFwiIHN0b3AtcHJvcGFnYXRpb24gPlxyXG4gICAgICAgICAgICA8c3BhbiBtYXRQcmVmaXggY2xhc3M9XCJ0Yi1oZWFkZXItcHJlZml4XCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZVJpcHBsZSBjbGFzcz1cImhlYWRlci1maWx0ZXItaWNvbi1idXR0b25cIiAoY2xpY2spPVwic2V0RmlsdGVyVHlwZShGaWx0ZXJUeXBlLkRhdGVPbk9yQWZ0ZXIpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuRGF0ZU9uT3JBZnRlciB9XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gIGNsYXNzPVwic3VmZml4LWljb25zIHVuZGVybGluZVwiPmFycm93X2ZvcndhcmRfaW9zPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlUmlwcGxlIGNsYXNzPVwiaGVhZGVyLWZpbHRlci1pY29uLWJ1dHRvblwiIChjbGljayk9XCJzZXRGaWx0ZXJUeXBlKEZpbHRlclR5cGUuRGF0ZU9uT3JCZWZvcmUpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuRGF0ZU9uT3JCZWZvcmUgIH1cIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAgY2xhc3M9XCJzdWZmaXgtaWNvbnMgdW5kZXJsaW5lXCI+YXJyb3dfYmFja19pb3M8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRpc2FibGVSaXBwbGUgY2xhc3M9XCJoZWFkZXItZmlsdGVyLWljb24tYnV0dG9uXCIgKGNsaWNrKT1cInNldEZpbHRlclR5cGUoRmlsdGVyVHlwZS5EYXRlSXNPbilcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjaG9zZW4taWNvbic6IG15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlSXNPbiB9XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAgY2xhc3M9XCJzdWZmaXgtaWNvbnMgdW5kZXJsaW5lXCI+ID08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57e215RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlSXNPbiA/ICdPbi4uLicgOlxyXG4gICAgICAgICAgICAgIG15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlT25PckJlZm9yZSA/ICdPbiBvciBCZWZvcmUuLi4nIDogJ09uIG9yIEFmdGVyLi4uJ319PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPVwiZmlsdGVyVmFsdWVcIiBbbmdNb2RlbF09XCJmaWx0ZXIuZmlsdGVyVmFsdWVcIiBbbWF0RGF0ZXBpY2tlcl09XCJjYWxlbmRhclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbGVuZGFyLm9wZW4oKVwiLz5cclxuICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBjbGFzcz1cImRhdGUtdG9nZ2xlIGhlYWRlci1maWx0ZXItaWNvbi1idXR0b25cIiBtYXRTdWZmaXggW2Zvcl09XCJjYWxlbmRhclwiIHByZXZlbnRFbnRlcj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyICNjYWxlbmRhcj48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uRW50ZXIobXlGb3JtLnZhbHVlKVwiIFtkaXNhYmxlZF09XCJteUZvcm0udmFsdWUuZmlsdGVyVmFsdWUgPT0gdW5kZWZpbmVkXCIgZGlzYWJsZVJpcHBsZT5cclxuICAgICAgQXBwbHlcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctZm9ybT5cclxuPC9tYXQtbWVudT5cclxuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9oZWFkZXItbWVudS9oZWFkZXItbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2hlYWRlci1tZW51L2hlYWRlci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUs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QUFFLElBQUksNkZBQUUscUJBQXFCLG9HQUM5RyxjQUFjLHczQkFBRSxnQkFBZ0IsNlRBQUUsT0FBTyxvRkFBRSx3QkFBd0IsOERBQUUsY0FBYyxzaUJBQUUsbUJBQW1COzsyRkFHL0YsbUJBQW1CO2tCQVgvQixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUscUJBQXFCO3dCQUM5RyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxtQkFBbUI7cUJBQ3pHOytFQVFRLE1BQU07c0JBQWQsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNxQixPQUFPO3NCQUFqQyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSwgTWV0YURhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvZmlsdGVyVHlwZXMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJJbmZvIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluTGlzdEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlci9pbi1saXN0L2luLWxpc3QtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcyc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RiLWhlYWRlci1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRNZW51TW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIEZvcm1zTW9kdWxlLE5nU3dpdGNoQ2FzZSwgTmdTd2l0Y2gsIE5nSWYsIEluTGlzdEZpbHRlckNvbXBvbmVudCxcclxuICAgIE1hdElucHV0TW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlLCBOZ0NsYXNzLCBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsIE1hdFJhZGlvTW9kdWxlLCBNYXREYXRlcGlja2VyTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyTWVudUNvbXBvbmVudCB7XHJcbiAgRmllbGRUeXBlID0gRmllbGRUeXBlO1xyXG4gIEZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlO1xyXG4gIG15RmlsdGVyVHlwZSE6IEZpbHRlclR5cGU7XHJcbiAgbXlGaWx0ZXJWYWx1ZTogYW55O1xyXG5cclxuICBASW5wdXQoKSBmaWx0ZXIhOiBQYXJ0aWFsPEZpbHRlckluZm8+O1xyXG5cclxuICBASW5wdXQoKSBtZXRhRGF0YSE6IE1ldGFEYXRhO1xyXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIHRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcclxuICBjb25zdHJ1Y3RvciggcHVibGljIHRhYmxlU3RhdGU6IFRhYmxlU3RvcmUpIHt9XHJcblxyXG4gIGhpZGVGaWVsZChrZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy50YWJsZVN0YXRlLmhpZGVDb2x1bW4oa2V5KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5yZXNldEZpbHRlclR5cGUoKTtcclxuICB9XHJcblxyXG4gIHJlc2V0RmlsdGVyVHlwZSgpIHtcclxuICAgIGlmKHRoaXMubWV0YURhdGEuYWRkaXRpb25hbD8uZmlsdGVyT3B0aW9ucz8uZmlsdGVyYWJsZVZhbHVlcykge1xyXG4gICAgICB0aGlzLm15RmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuSW47XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHN3aXRjaCAodGhpcy5tZXRhRGF0YS5maWVsZFR5cGUpIHtcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuU3RyaW5nOlxyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5MaW5rOlxyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5QaG9uZU51bWJlcjpcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuQXJyYXk6XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLlVua25vd246XHJcbiAgICAgICAgdGhpcy5teUZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLlN0cmluZ0NvbnRhaW5zO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5DdXJyZW5jeTpcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuTnVtYmVyOlxyXG4gICAgICAgIHRoaXMubXlGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5OdW1iZXJFcXVhbHM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkJvb2xlYW46XHJcbiAgICAgICAgICB0aGlzLm15RmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuQm9vbGVhbkVxdWFscztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlOlxyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlVGltZTpcclxuICAgICAgICAgIHRoaXMubXlGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5EYXRlSXNPbjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5FbnVtOlxyXG4gICAgICAgIHRoaXMubXlGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZS5JbjtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFN0cmluZ0ZpbHRlclR5cGUoKSB7XHJcbiAgICB0aGlzLm15RmlsdGVyVHlwZSA9IHRoaXMubXlGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLlN0cmluZ0NvbnRhaW5zID8gRmlsdGVyVHlwZS5TdHJpbmdEb2VzTm90Q29udGFpbiA6IEZpbHRlclR5cGUuU3RyaW5nQ29udGFpbnM7XHJcbiAgfVxyXG5cclxuICBzZXRGaWx0ZXJUeXBlKGZpbHRlclR5cGU6IEZpbHRlclR5cGUpIHtcclxuICAgIGlmIChmaWx0ZXJUeXBlID09PSB0aGlzLm15RmlsdGVyVHlwZSkge1xyXG4gICAgICB0aGlzLnJlc2V0RmlsdGVyVHlwZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5teUZpbHRlclR5cGUgPSBmaWx0ZXJUeXBlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25FbnRlcihmaWx0ZXI6IEZpbHRlckluZm8pIHtcclxuICAgIGlmIChmaWx0ZXIuZmlsdGVyVmFsdWUgIT0gdW5kZWZpbmVkICYmIGZpbHRlci5maWx0ZXJUeXBlKSB7XHJcbiAgICAgIHRoaXMudGFibGVTdGF0ZS5hZGRGaWx0ZXIoZmlsdGVyKTtcclxuICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlTWVudSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cIm9wZW4tbWVudS1pY29uLWJ1dHRvblwiIGRpc2FibGVSaXBwbGUgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBbbWF0TWVudVRyaWdnZXJSZXN0b3JlRm9jdXNdPVwiZmFsc2VcIj5cclxuICA8bWF0LWljb24gY2xhc3M9XCJtZW51LWljb25cIj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxyXG48L2J1dHRvbj5cclxuPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiID5cclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInRhYmxlU3RhdGUuYWRkR3JvdXBCeUtleShtZXRhRGF0YS5rZXkpXCI+XHJcbiAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+Z3JvdXA8L21hdC1pY29uPlxyXG4gICAgPHNwYW4+R3JvdXAgQnk8L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9aGlkZUZpZWxkKG1ldGFEYXRhLmtleSk+XHJcbiAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+dmlzaWJpbGl0eV9vZmY8L21hdC1pY29uPlxyXG4gICAgPHNwYW4+SGlkZSBDb2x1bW48L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgPG5nLWZvcm0gI215Rm9ybT1cIm5nRm9ybVwiIFtuZ1N3aXRjaF09XCJ0cnVlXCIgKGtleWRvd24uZW50ZXIpPVwib25FbnRlcihteUZvcm0udmFsdWUpXCIgY2xhc3M9XCJ0Yi1oZWFkZXItZmlsdGVyXCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cImZpbHRlcklkXCIgIFtuZ01vZGVsXT1cIidoZWFkZXItY29sdW1uLScgKyBtZXRhRGF0YS5rZXlcIiAvPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJmaWx0ZXJUeXBlXCIgIFtuZ01vZGVsXT1cIm15RmlsdGVyVHlwZVwiIC8+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cImtleVwiICBbbmdNb2RlbF09XCJtZXRhRGF0YS5rZXlcIiAvPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJmaWVsZFR5cGVcIiAgW25nTW9kZWxdPVwibWV0YURhdGEuZmllbGRUeXBlXCIgLz5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIobXlGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLk9yIHx8IG15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5Jbik7IGVsc2UgZGVmYXVsdEZpbHRlclwiPlxyXG4gICAgICAgICAgPHRiLWluLWxpc3QtZmlsdGVyIG5hbWU9J2ZpbHRlclZhbHVlJyBba2V5XT0nbWV0YURhdGEua2V5JyBbKG5nTW9kZWwpXT0nbXlGaWx0ZXJWYWx1ZScvPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRGaWx0ZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuTGluayB8fCBtZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5TdHJpbmcgfHwgbWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQXJyYXkgfHwgbWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuVW5rbm93biB8fCBtZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5QaG9uZU51bWJlclwiPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIHN0b3AtcHJvcGFnYXRpb24gY2xhc3M9XCJmb250IGF1dG8td2lkdGhcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFByZWZpeCBjbGFzcz1cInNlYXJjaC1pY29uXCI+c2VhcmNoPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57e215RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5TdHJpbmdEb2VzTm90Q29udGFpbiA/ICdEb2VzIE5vdCBDb250YWluLi4uJyA6ICdDb250YWlucy4uLid9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cImZpbHRlclZhbHVlXCIgW25nTW9kZWxdPVwiZmlsdGVyLmZpbHRlclZhbHVlXCIgLz5cclxuICAgICAgICAgICAgPHNwYW4gbWF0U3VmZml4IFttYXRUb29sdGlwXT1cIm15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5TdHJpbmdEb2VzTm90Q29udGFpbiA/ICdDb250YWlucycgOiAnRG9lcyBOb3QgQ29udGFpbidcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2V0U3RyaW5nRmlsdGVyVHlwZSgpXCIgY2xhc3M9XCJoZWFkZXItZmlsdGVyLWljb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW25nQ2xhc3NdPVwieydjaG9zZW4taWNvbic6IG15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5TdHJpbmdEb2VzTm90Q29udGFpbiB9XCI+XHJcbiAgICAgICAgICAgICAgICAgIGJsb2NrXHJcbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJtZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5OdW1iZXIgfHwgbWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQ3VycmVuY3lcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImF1dG8td2lkdGhcIiAgc3RvcC1wcm9wYWdhdGlvbj5cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57e215RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5OdW1iZXJFcXVhbHMgPyAnRXF1YWxzLi4uJyA6IG15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5OdW1iZXJMZXNzVGhhbiA/ICdMZXNzIFRoYW4uLi4nIDogJ01vcmUgVGhhbi4uLid9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT0nbnVtYmVyJyAgbmFtZT1cImZpbHRlclZhbHVlXCIgW25nTW9kZWxdPVwiZmlsdGVyLmZpbHRlclZhbHVlXCIgLz5cclxuICAgICAgICAgICAgPHNwYW4gbWF0UHJlZml4IGNsYXNzPVwidGItaGVhZGVyLXByZWZpeFwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRpc2FibGVSaXBwbGUgY2xhc3M9XCJoZWFkZXItZmlsdGVyLWljb24tYnV0dG9uXCIgKGNsaWNrKT1cInNldEZpbHRlclR5cGUoRmlsdGVyVHlwZS5OdW1iZXJMZXNzVGhhbilcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuTnVtYmVyTGVzc1RoYW4gfVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICBjbGFzcz1cInN1ZmZpeC1pY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgYXJyb3dfYmFja19pb3M8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRpc2FibGVSaXBwbGUgY2xhc3M9XCJoZWFkZXItZmlsdGVyLWljb24tYnV0dG9uXCIgKGNsaWNrKT1cInNldEZpbHRlclR5cGUoRmlsdGVyVHlwZS5OdW1iZXJHcmVhdGVyVGhhbilcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuTnVtYmVyR3JlYXRlclRoYW4gfVwiID5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAgY2xhc3M9XCJzdWZmaXgtaWNvbnNcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICBhcnJvd19mb3J3YXJkX2lvczwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZVJpcHBsZSBjbGFzcz1cImhlYWRlci1maWx0ZXItaWNvbi1idXR0b25cIiAoY2xpY2spPVwic2V0RmlsdGVyVHlwZShGaWx0ZXJUeXBlLk51bWJlckVxdWFscylcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuTnVtYmVyRXF1YWxzIH1cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VmZml4LWljb25zXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQm9vbGVhblwiPlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGxhYmVsPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInNlYXJjaC1pY29uXCI+ZmlsdGVyX2xpc3Q8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8bWF0LXJhZGlvLWdyb3VwIHN0b3AtcHJvcGFnYXRpb24gI2N0cmw9XCJtYXRSYWRpb0dyb3VwXCIgI2Jvb2xGaWVsZD0nbmdNb2RlbCcgY2xhc3M9XCJmb250XCIgbmFtZT1cImZpbHRlclZhbHVlXCIgW25nTW9kZWxdPVwibXlGaWx0ZXJWYWx1ZVwiID5cclxuICAgICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBjbGFzcz1cImZpbHRlci1yYWRpby1idXR0b25cIiAoY2xpY2spPVwibXlGaWx0ZXJWYWx1ZSA9IHRydWU7XCIgW3ZhbHVlXT1cInRydWVcIj5UcnVlPC9tYXQtcmFkaW8tYnV0dG9uPjxici8+XHJcbiAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gY2xhc3M9XCJmaWx0ZXItcmFkaW8tYnV0dG9uXCIgKGNsaWNrKT1cIm15RmlsdGVyVmFsdWUgPSBmYWxzZVwiIFt2YWx1ZV09XCJmYWxzZVwiPkZhbHNlPC9tYXQtcmFkaW8tYnV0dG9uPjxici8+XHJcbiAgICAgICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIm1ldGFEYXRhLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkRhdGUgfHwgbWV0YURhdGEuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuRGF0ZVRpbWVcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZvbnQgYXV0by13aWR0aFwiIHN0b3AtcHJvcGFnYXRpb24gPlxyXG4gICAgICAgICAgICA8c3BhbiBtYXRQcmVmaXggY2xhc3M9XCJ0Yi1oZWFkZXItcHJlZml4XCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZVJpcHBsZSBjbGFzcz1cImhlYWRlci1maWx0ZXItaWNvbi1idXR0b25cIiAoY2xpY2spPVwic2V0RmlsdGVyVHlwZShGaWx0ZXJUeXBlLkRhdGVPbk9yQWZ0ZXIpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuRGF0ZU9uT3JBZnRlciB9XCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gIGNsYXNzPVwic3VmZml4LWljb25zIHVuZGVybGluZVwiPmFycm93X2ZvcndhcmRfaW9zPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlUmlwcGxlIGNsYXNzPVwiaGVhZGVyLWZpbHRlci1pY29uLWJ1dHRvblwiIChjbGljayk9XCJzZXRGaWx0ZXJUeXBlKEZpbHRlclR5cGUuRGF0ZU9uT3JCZWZvcmUpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2hvc2VuLWljb24nOiBteUZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuRGF0ZU9uT3JCZWZvcmUgIH1cIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAgY2xhc3M9XCJzdWZmaXgtaWNvbnMgdW5kZXJsaW5lXCI+YXJyb3dfYmFja19pb3M8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRpc2FibGVSaXBwbGUgY2xhc3M9XCJoZWFkZXItZmlsdGVyLWljb24tYnV0dG9uXCIgKGNsaWNrKT1cInNldEZpbHRlclR5cGUoRmlsdGVyVHlwZS5EYXRlSXNPbilcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjaG9zZW4taWNvbic6IG15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlSXNPbiB9XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAgY2xhc3M9XCJzdWZmaXgtaWNvbnMgdW5kZXJsaW5lXCI+ID08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57e215RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlSXNPbiA/ICdPbi4uLicgOlxyXG4gICAgICAgICAgICAgIG15RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlT25PckJlZm9yZSA/ICdPbiBvciBCZWZvcmUuLi4nIDogJ09uIG9yIEFmdGVyLi4uJ319PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPVwiZmlsdGVyVmFsdWVcIiBbbmdNb2RlbF09XCJmaWx0ZXIuZmlsdGVyVmFsdWVcIiBbbWF0RGF0ZXBpY2tlcl09XCJjYWxlbmRhclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbGVuZGFyLm9wZW4oKVwiLz5cclxuICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBjbGFzcz1cImRhdGUtdG9nZ2xlIGhlYWRlci1maWx0ZXItaWNvbi1idXR0b25cIiBtYXRTdWZmaXggW2Zvcl09XCJjYWxlbmRhclwiIHByZXZlbnRFbnRlcj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyICNjYWxlbmRhcj48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uRW50ZXIobXlGb3JtLnZhbHVlKVwiIFtkaXNhYmxlZF09XCJteUZvcm0udmFsdWUuZmlsdGVyVmFsdWUgPT0gdW5kZWZpbmVkXCIgZGlzYWJsZVJpcHBsZT5cclxuICAgICAgQXBwbHlcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctZm9ybT5cclxuPC9tYXQtbWVudT5cclxuIl19
@@ -5,7 +5,7 @@ import { NgFor, NgIf } from '@angular/common';
5
5
  import { AutoFocusDirective } from '../../../utilities';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/forms";
8
- class InFilterComponent {
8
+ export class InFilterComponent {
9
9
  constructor(ref) {
10
10
  this.ref = ref;
11
11
  this.FieldType = FieldType;
@@ -43,15 +43,14 @@ class InFilterComponent {
43
43
  this.ref.markForCheck();
44
44
  this.onChange(this.value);
45
45
  }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: InFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: InFilterComponent, isStandalone: true, selector: "lib-in-filter", inputs: { type: "type" }, providers: [{
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: InFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: InFilterComponent, isStandalone: true, selector: "lib-in-filter", inputs: { type: "type" }, providers: [{
48
48
  provide: NG_VALUE_ACCESSOR,
49
49
  useExisting: InFilterComponent,
50
50
  multi: true
51
51
  }], ngImport: i0, template: "<div class=inline>\n <div *ngFor=\"let val of value; index as i\">\n <input *ngIf=\"type === FieldType.Number || type === FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"number\" [ngModelOptions]=\"{standalone:true}\" [autoFocus]=\"i === value.length - 1\"/>\n <input *ngIf=\"type !== FieldType.Number && type !== FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"string\" [ngModelOptions]=\"{standalone:true}\"\n #input [autoFocus]=\"i === value.length - 1\" />\n <button [disabled]=\"value.length <= 1\" (click)=\"removeInput(i)\">-</button>\n <button *ngIf=\"i === value.length - 1\" [disabled]=\"val == undefined || val === ''\" (click)=\"addInput()\">+</button>\n </div>\n</div>\n", styles: [".inline{display:inline-block}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: AutoFocusDirective, selector: "[autoFocus]", inputs: ["autoFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
52
  }
53
- export { InFilterComponent };
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: InFilterComponent, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: InFilterComponent, decorators: [{
55
54
  type: Component,
56
55
  args: [{ selector: 'lib-in-filter', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{
57
56
  provide: NG_VALUE_ACCESSOR,
@@ -60,7 +59,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
60
59
  }], standalone: true, imports: [
61
60
  NgFor, NgIf, FormsModule, AutoFocusDirective
62
61
  ], template: "<div class=inline>\n <div *ngFor=\"let val of value; index as i\">\n <input *ngIf=\"type === FieldType.Number || type === FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"number\" [ngModelOptions]=\"{standalone:true}\" [autoFocus]=\"i === value.length - 1\"/>\n <input *ngIf=\"type !== FieldType.Number && type !== FieldType.Currency\"\n [ngModel]=\"val\" (ngModelChange)=\"onValueChange(i,$event)\"\n [readonly]=\"i+1 < value.length\" type=\"string\" [ngModelOptions]=\"{standalone:true}\"\n #input [autoFocus]=\"i === value.length - 1\" />\n <button [disabled]=\"value.length <= 1\" (click)=\"removeInput(i)\">-</button>\n <button *ngIf=\"i === value.length - 1\" [disabled]=\"val == undefined || val === ''\" (click)=\"addInput()\">+</button>\n </div>\n</div>\n", styles: [".inline{display:inline-block}\n"] }]
63
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { type: [{
62
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { type: [{
64
63
  type: Input
65
64
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvaW4tZmlsdGVyL2luLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2luLWZpbHRlci9pbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUV4RCxNQWVhLGlCQUFpQjtJQUs1QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUoxQyxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBRXRCLFVBQUssR0FBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBVTNCLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSzNCLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFacEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFDRCxVQUFVLENBQUMsR0FBVTtRQUNuQixJQUFHLENBQUMsR0FBRyxFQUFFLE1BQU07WUFBRSxHQUFHLEdBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxDQUFRLEVBQUMsS0FBc0I7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs4R0F6Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsc0ZBVmpCLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLGlCQUFpQjtnQkFDOUIsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLDBCQ2ZKLDA0QkFhQSx5RkRLSSxLQUFLLG1IQUFFLElBQUksNEZBQUUsV0FBVyxpeEJBQUUsa0JBQWtCOztTQUduQyxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFmN0IsU0FBUzsrQkFDRSxlQUFlLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sYUFDbkMsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLG1CQUFtQjs0QkFDOUIsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQyxjQUNVLElBQUksV0FDUDt3QkFDUCxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxrQkFBa0I7cUJBQzdDO3dHQUlRLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEF1dG9Gb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1pbi1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2luLWZpbHRlci5jb21wb25lbnQuY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBJbkZpbHRlckNvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0ZvciwgTmdJZiwgRm9ybXNNb2R1bGUsIEF1dG9Gb2N1c0RpcmVjdGl2ZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEluRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEZpZWxkVHlwZSA9IEZpZWxkVHlwZTtcclxuICBASW5wdXQoKSB0eXBlISA6IEZpZWxkVHlwZTtcclxuICB2YWx1ZTogYW55W10gPSBbdW5kZWZpbmVkXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gW3VuZGVmaW5lZF07XHJcbiAgfVxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgaWYoIW9iaj8ubGVuZ3RoKSBvYmogID0gW3VuZGVmaW5lZF07XHJcbiAgICB0aGlzLnZhbHVlID0gb2JqO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBhZGRJbnB1dCgpe1xyXG4gICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlLCB1bmRlZmluZWRdO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlSW5wdXQoaW5kZXg6IG51bWJlcil7XHJcbiAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWVdO1xyXG4gICAgdGhpcy52YWx1ZS5zcGxpY2UoaW5kZXgsMSk7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGk6bnVtYmVyLHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpe1xyXG4gICAgdGhpcy52YWx1ZSA9IFsuLi50aGlzLnZhbHVlXTtcclxuICAgIHRoaXMudmFsdWVbaV0gPSB2YWx1ZTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9aW5saW5lPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHZhbCBvZiB2YWx1ZTsgaW5kZXggYXMgaVwiPlxuICAgICAgPGlucHV0ICpuZ0lmPVwidHlwZSA9PT0gRmllbGRUeXBlLk51bWJlciB8fCB0eXBlID09PSBGaWVsZFR5cGUuQ3VycmVuY3lcIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWxcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKGksJGV2ZW50KVwiXG4gICAgICAgIFtyZWFkb25seV09XCJpKzEgPCB2YWx1ZS5sZW5ndGhcIiB0eXBlPVwibnVtYmVyXCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOnRydWV9XCIgW2F1dG9Gb2N1c109XCJpID09PSB2YWx1ZS5sZW5ndGggLSAxXCIvPlxuICAgICAgPGlucHV0ICpuZ0lmPVwidHlwZSAhPT0gRmllbGRUeXBlLk51bWJlciAmJiB0eXBlICE9PSBGaWVsZFR5cGUuQ3VycmVuY3lcIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWxcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKGksJGV2ZW50KVwiXG4gICAgICAgIFtyZWFkb25seV09XCJpKzEgPCB2YWx1ZS5sZW5ndGhcIiB0eXBlPVwic3RyaW5nXCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOnRydWV9XCJcbiAgICAgICAgI2lucHV0IFthdXRvRm9jdXNdPVwiaSA9PT0gdmFsdWUubGVuZ3RoIC0gMVwiIC8+XG4gICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJ2YWx1ZS5sZW5ndGggPD0gMVwiIChjbGljayk9XCJyZW1vdmVJbnB1dChpKVwiPi08L2J1dHRvbj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJpID09PSB2YWx1ZS5sZW5ndGggLSAxXCIgW2Rpc2FibGVkXT1cInZhbCA9PSB1bmRlZmluZWQgfHwgdmFsID09PSAnJ1wiIChjbGljayk9XCJhZGRJbnB1dCgpXCI+KzwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvaW4tZmlsdGVyL2luLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2luLWZpbHRlci9pbi1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQWlCeEQsTUFBTSxPQUFPLGlCQUFpQjtJQUs1QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUoxQyxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBRXRCLFVBQUssR0FBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBVTNCLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSzNCLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFacEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFDRCxVQUFVLENBQUMsR0FBVTtRQUNuQixJQUFHLENBQUMsR0FBRyxFQUFFLE1BQU07WUFBRSxHQUFHLEdBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxDQUFRLEVBQUMsS0FBc0I7UUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs4R0F6Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsc0ZBVmpCLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLGlCQUFpQjtnQkFDOUIsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLDBCQ2ZKLDA0QkFhQSx5RkRLSSxLQUFLLG1IQUFFLElBQUksNEZBQUUsV0FBVyxpeEJBQUUsa0JBQWtCOzsyRkFHbkMsaUJBQWlCO2tCQWY3QixTQUFTOytCQUNFLGVBQWUsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxhQUNuQyxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsbUJBQW1COzRCQUM5QixLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDLGNBQ1UsSUFBSSxXQUNQO3dCQUNQLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGtCQUFrQjtxQkFDN0M7c0ZBSVEsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcbmltcG9ydCB7IE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQXV0b0ZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWluLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2luLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW4tZmlsdGVyLmNvbXBvbmVudC5jc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IEluRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9XSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nRm9yLCBOZ0lmLCBGb3Jtc01vZHVsZSwgQXV0b0ZvY3VzRGlyZWN0aXZlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5GaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgRmllbGRUeXBlID0gRmllbGRUeXBlO1xyXG4gIEBJbnB1dCgpIHR5cGUhIDogRmllbGRUeXBlO1xyXG4gIHZhbHVlOiBhbnlbXSA9IFt1bmRlZmluZWRdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMudmFsdWUgPSBbdW5kZWZpbmVkXTtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueVtdKTogdm9pZCB7XHJcbiAgICBpZighb2JqPy5sZW5ndGgpIG9iaiAgPSBbdW5kZWZpbmVkXTtcclxuICAgIHRoaXMudmFsdWUgPSBvYmo7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICBvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIGFkZElucHV0KCl7XHJcbiAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWUsIHVuZGVmaW5lZF07XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVJbnB1dChpbmRleDogbnVtYmVyKXtcclxuICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy52YWx1ZV07XHJcbiAgICB0aGlzLnZhbHVlLnNwbGljZShpbmRleCwxKTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2UoaTpudW1iZXIsdmFsdWU6IG51bWJlciB8IHN0cmluZyl7XHJcbiAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudmFsdWVdO1xyXG4gICAgdGhpcy52YWx1ZVtpXSA9IHZhbHVlO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1pbmxpbmU+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdmFsIG9mIHZhbHVlOyBpbmRleCBhcyBpXCI+XG4gICAgICA8aW5wdXQgKm5nSWY9XCJ0eXBlID09PSBGaWVsZFR5cGUuTnVtYmVyIHx8IHR5cGUgPT09IEZpZWxkVHlwZS5DdXJyZW5jeVwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoaSwkZXZlbnQpXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImkrMSA8IHZhbHVlLmxlbmd0aFwiIHR5cGU9XCJudW1iZXJcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6dHJ1ZX1cIiBbYXV0b0ZvY3VzXT1cImkgPT09IHZhbHVlLmxlbmd0aCAtIDFcIi8+XG4gICAgICA8aW5wdXQgKm5nSWY9XCJ0eXBlICE9PSBGaWVsZFR5cGUuTnVtYmVyICYmIHR5cGUgIT09IEZpZWxkVHlwZS5DdXJyZW5jeVwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoaSwkZXZlbnQpXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImkrMSA8IHZhbHVlLmxlbmd0aFwiIHR5cGU9XCJzdHJpbmdcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6dHJ1ZX1cIlxuICAgICAgICAjaW5wdXQgW2F1dG9Gb2N1c109XCJpID09PSB2YWx1ZS5sZW5ndGggLSAxXCIgLz5cbiAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInZhbHVlLmxlbmd0aCA8PSAxXCIgKGNsaWNrKT1cInJlbW92ZUlucHV0KGkpXCI+LTwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImkgPT09IHZhbHVlLmxlbmd0aCAtIDFcIiBbZGlzYWJsZWRdPVwidmFsID09IHVuZGVmaW5lZCB8fCB2YWwgPT09ICcnXCIgKGNsaWNrKT1cImFkZElucHV0KClcIj4rPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -5,12 +5,11 @@ import { MatIconModule } from "@angular/material/icon";
5
5
  import { FunctionPipe } from "../../../utilities";
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/material/icon";
8
- class InitializationComponent {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: InitializationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: InitializationComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "linkTemplate", first: true, predicate: ["link"], descendants: true, static: true }, { propertyName: "imageUrlTemplate", first: true, predicate: ["imageUrl"], descendants: true, static: true }, { propertyName: "currencyTemplate", first: true, predicate: ["currency"], descendants: true, static: true }, { propertyName: "arrayTemplate", first: true, predicate: ["array"], descendants: true, static: true }, { propertyName: "defaultTemplate", first: true, predicate: ["default"], descendants: true, static: true }, { propertyName: "defaultWithIcon", first: true, predicate: ["defaultWithIcon"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #link let-element='element' let-metaData='metaData' let-transform='transform'>\r\n <tb-link-column [element]=\"element\" [metaData]=\"metaData\" [transform]=\"transform\"></tb-link-column>\r\n</ng-template>\r\n\r\n<ng-template #imageUrl let-element='element' let-metaData='metaData'>\r\n <span>\r\n <img src=\"{{element[metaData.key]}}\" height=\"75px\" width=\"75px\" />\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #array let-element='element' let-metaData='metaData'>\r\n <tb-array-column [array]='element[metaData.key]' [metaData]='metaData'></tb-array-column>\r\n</ng-template>\r\n\r\n<ng-template #default let-element='element' let-metaData='metaData' let-transform='transform' >\r\n <span>{{ transform | func : element }}</span>\r\n</ng-template>\r\n\r\n<ng-template #defaultWithIcon let-element='element' let-metaData='metaData' let-transform='transform' >\r\n <mat-icon>{{ transform | func : element }}</mat-icon>\r\n</ng-template>\r\n", dependencies: [{ kind: "component", type: LinkColumnComponent, selector: "tb-link-column", inputs: ["metaData", "element", "transform"] }, { kind: "component", type: ArrayColumnComponent, selector: "tb-array-column", inputs: ["array", "metaData"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: FunctionPipe, name: "func" }] }); }
8
+ export class InitializationComponent {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: InitializationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: InitializationComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "linkTemplate", first: true, predicate: ["link"], descendants: true, static: true }, { propertyName: "imageUrlTemplate", first: true, predicate: ["imageUrl"], descendants: true, static: true }, { propertyName: "currencyTemplate", first: true, predicate: ["currency"], descendants: true, static: true }, { propertyName: "arrayTemplate", first: true, predicate: ["array"], descendants: true, static: true }, { propertyName: "defaultTemplate", first: true, predicate: ["default"], descendants: true, static: true }, { propertyName: "defaultWithIcon", first: true, predicate: ["defaultWithIcon"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #link let-element='element' let-metaData='metaData' let-transform='transform'>\r\n <tb-link-column [element]=\"element\" [metaData]=\"metaData\" [transform]=\"transform\"></tb-link-column>\r\n</ng-template>\r\n\r\n<ng-template #imageUrl let-element='element' let-metaData='metaData'>\r\n <span>\r\n <img src=\"{{element[metaData.key]}}\" height=\"75px\" width=\"75px\" />\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template #array let-element='element' let-metaData='metaData'>\r\n <tb-array-column [array]='element[metaData.key]' [metaData]='metaData'></tb-array-column>\r\n</ng-template>\r\n\r\n<ng-template #default let-element='element' let-metaData='metaData' let-transform='transform' >\r\n <span>{{ transform | func : element }}</span>\r\n</ng-template>\r\n\r\n<ng-template #defaultWithIcon let-element='element' let-metaData='metaData' let-transform='transform' >\r\n <mat-icon>{{ transform | func : element }}</mat-icon>\r\n</ng-template>\r\n", dependencies: [{ kind: "component", type: LinkColumnComponent, selector: "tb-link-column", inputs: ["metaData", "element", "transform"] }, { kind: "component", type: ArrayColumnComponent, selector: "tb-array-column", inputs: ["array", "metaData"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: FunctionPipe, name: "func" }] }); }
11
11
  }
12
- export { InitializationComponent };
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: InitializationComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: InitializationComponent, decorators: [{
14
13
  type: Component,
15
14
  args: [{ standalone: true, imports: [
16
15
  LinkColumnComponent, ArrayColumnComponent, MatIconModule, FunctionPipe
@@ -34,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
34
33
  type: ViewChild,
35
34
  args: ['defaultWithIcon', { static: true }]
36
35
  }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6YXRpb24tY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9pbml0aWFsaXphdGlvbi1jb21wb25lbnQvaW5pdGlhbGl6YXRpb24tY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9pbml0aWFsaXphdGlvbi1jb21wb25lbnQvaW5pdGlhbGl6YXRpb24tY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRWxELE1BT2EsdUJBQXVCOzhHQUF2Qix1QkFBdUI7a0dBQXZCLHVCQUF1QiwydEJDYnBDLCs4QkFxQkEsNENEWEksbUJBQW1CLHlHQUFFLG9CQUFvQiwwRkFBRSxhQUFhLCtLQUFFLFlBQVk7O1NBRzdELHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQVBuQyxTQUFTO2lDQUVJLElBQUksV0FDUDt3QkFDUCxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsWUFBWTtxQkFDdkU7OEJBR2tDLFlBQVk7c0JBQTlDLFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDTSxnQkFBZ0I7c0JBQXRELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDRSxnQkFBZ0I7c0JBQXRELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDRCxhQUFhO3NCQUFoRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ0ksZUFBZTtzQkFBcEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNVLGVBQWU7c0JBQTVELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTGlua0NvbHVtbkNvbXBvbmVudCB9IGZyb20gXCIuLi9saW5rLWNvbHVtbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQXJyYXlDb2x1bW5Db21wb25lbnQgfSBmcm9tIFwiLi4vYXJyYXktY29sdW1uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHsgRnVuY3Rpb25QaXBlIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxpdGllc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2luaXRpYWxpemF0aW9uLWNvbXBvbmVudC5odG1sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIExpbmtDb2x1bW5Db21wb25lbnQsIEFycmF5Q29sdW1uQ29tcG9uZW50LCBNYXRJY29uTW9kdWxlLCBGdW5jdGlvblBpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbml0aWFsaXphdGlvbkNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZCgnbGluaycsIHtzdGF0aWM6IHRydWV9KSBsaW5rVGVtcGxhdGUhIDogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdpbWFnZVVybCcsIHtzdGF0aWM6IHRydWV9KSBpbWFnZVVybFRlbXBsYXRlISA6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnY3VycmVuY3knLCB7c3RhdGljOiB0cnVlfSkgY3VycmVuY3lUZW1wbGF0ZSEgOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2FycmF5Jywge3N0YXRpYzogdHJ1ZX0pIGFycmF5VGVtcGxhdGUhIDogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdkZWZhdWx0Jywge3N0YXRpYzogdHJ1ZX0pIGRlZmF1bHRUZW1wbGF0ZSEgOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2RlZmF1bHRXaXRoSWNvbicsIHtzdGF0aWM6IHRydWV9KSBkZWZhdWx0V2l0aEljb24hIDogVGVtcGxhdGVSZWY8YW55PjtcclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2xpbmsgIGxldC1lbGVtZW50PSdlbGVtZW50JyBsZXQtbWV0YURhdGE9J21ldGFEYXRhJyBsZXQtdHJhbnNmb3JtPSd0cmFuc2Zvcm0nPlxyXG4gIDx0Yi1saW5rLWNvbHVtbiBbZWxlbWVudF09XCJlbGVtZW50XCIgW21ldGFEYXRhXT1cIm1ldGFEYXRhXCIgW3RyYW5zZm9ybV09XCJ0cmFuc2Zvcm1cIj48L3RiLWxpbmstY29sdW1uPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpbWFnZVVybCAgbGV0LWVsZW1lbnQ9J2VsZW1lbnQnIGxldC1tZXRhRGF0YT0nbWV0YURhdGEnPlxyXG4gIDxzcGFuPlxyXG4gICAgPGltZyBzcmM9XCJ7e2VsZW1lbnRbbWV0YURhdGEua2V5XX19XCIgaGVpZ2h0PVwiNzVweFwiIHdpZHRoPVwiNzVweFwiIC8+XHJcbiAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNhcnJheSBsZXQtZWxlbWVudD0nZWxlbWVudCcgbGV0LW1ldGFEYXRhPSdtZXRhRGF0YSc+XHJcbiAgPHRiLWFycmF5LWNvbHVtbiBbYXJyYXldPSdlbGVtZW50W21ldGFEYXRhLmtleV0nIFttZXRhRGF0YV09J21ldGFEYXRhJz48L3RiLWFycmF5LWNvbHVtbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdCBsZXQtZWxlbWVudD0nZWxlbWVudCcgbGV0LW1ldGFEYXRhPSdtZXRhRGF0YScgbGV0LXRyYW5zZm9ybT0ndHJhbnNmb3JtJyA+XHJcbiAgPHNwYW4+e3sgdHJhbnNmb3JtIHwgZnVuYyA6IGVsZW1lbnQgfX08L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRXaXRoSWNvbiBsZXQtZWxlbWVudD0nZWxlbWVudCcgbGV0LW1ldGFEYXRhPSdtZXRhRGF0YScgbGV0LXRyYW5zZm9ybT0ndHJhbnNmb3JtJyA+XHJcbiAgPG1hdC1pY29uPnt7IHRyYW5zZm9ybSB8IGZ1bmMgOiBlbGVtZW50IH19PC9tYXQtaWNvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6YXRpb24tY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9pbml0aWFsaXphdGlvbi1jb21wb25lbnQvaW5pdGlhbGl6YXRpb24tY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9pbml0aWFsaXphdGlvbi1jb21wb25lbnQvaW5pdGlhbGl6YXRpb24tY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBU2xELE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDJ0QkNicEMsKzhCQXFCQSw0Q0RYSSxtQkFBbUIseUdBQUUsb0JBQW9CLDBGQUFFLGFBQWEsK0tBQUUsWUFBWTs7MkZBRzdELHVCQUF1QjtrQkFQbkMsU0FBUztpQ0FFSSxJQUFJLFdBQ1A7d0JBQ1AsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFlBQVk7cUJBQ3ZFOzhCQUdrQyxZQUFZO3NCQUE5QyxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ00sZ0JBQWdCO3NCQUF0RCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ0UsZ0JBQWdCO3NCQUF0RCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBQ0QsYUFBYTtzQkFBaEQsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUNJLGVBQWU7c0JBQXBELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDVSxlQUFlO3NCQUE1RCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IExpbmtDb2x1bW5Db21wb25lbnQgfSBmcm9tIFwiLi4vbGluay1jb2x1bW4uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFycmF5Q29sdW1uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2FycmF5LWNvbHVtbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IEZ1bmN0aW9uUGlwZSB9IGZyb20gXCIuLi8uLi8uLi91dGlsaXRpZXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbml0aWFsaXphdGlvbi1jb21wb25lbnQuaHRtbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBMaW5rQ29sdW1uQ29tcG9uZW50LCBBcnJheUNvbHVtbkNvbXBvbmVudCwgTWF0SWNvbk1vZHVsZSwgRnVuY3Rpb25QaXBlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5pdGlhbGl6YXRpb25Db21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ2xpbmsnLCB7c3RhdGljOiB0cnVlfSkgbGlua1RlbXBsYXRlISA6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnaW1hZ2VVcmwnLCB7c3RhdGljOiB0cnVlfSkgaW1hZ2VVcmxUZW1wbGF0ZSEgOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2N1cnJlbmN5Jywge3N0YXRpYzogdHJ1ZX0pIGN1cnJlbmN5VGVtcGxhdGUhIDogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdhcnJheScsIHtzdGF0aWM6IHRydWV9KSBhcnJheVRlbXBsYXRlISA6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZCgnZGVmYXVsdCcsIHtzdGF0aWM6IHRydWV9KSBkZWZhdWx0VGVtcGxhdGUhIDogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKCdkZWZhdWx0V2l0aEljb24nLCB7c3RhdGljOiB0cnVlfSkgZGVmYXVsdFdpdGhJY29uISA6IFRlbXBsYXRlUmVmPGFueT47XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNsaW5rICBsZXQtZWxlbWVudD0nZWxlbWVudCcgbGV0LW1ldGFEYXRhPSdtZXRhRGF0YScgbGV0LXRyYW5zZm9ybT0ndHJhbnNmb3JtJz5cclxuICA8dGItbGluay1jb2x1bW4gW2VsZW1lbnRdPVwiZWxlbWVudFwiIFttZXRhRGF0YV09XCJtZXRhRGF0YVwiIFt0cmFuc2Zvcm1dPVwidHJhbnNmb3JtXCI+PC90Yi1saW5rLWNvbHVtbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaW1hZ2VVcmwgIGxldC1lbGVtZW50PSdlbGVtZW50JyBsZXQtbWV0YURhdGE9J21ldGFEYXRhJz5cclxuICA8c3Bhbj5cclxuICAgIDxpbWcgc3JjPVwie3tlbGVtZW50W21ldGFEYXRhLmtleV19fVwiIGhlaWdodD1cIjc1cHhcIiB3aWR0aD1cIjc1cHhcIiAvPlxyXG4gIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYXJyYXkgbGV0LWVsZW1lbnQ9J2VsZW1lbnQnIGxldC1tZXRhRGF0YT0nbWV0YURhdGEnPlxyXG4gIDx0Yi1hcnJheS1jb2x1bW4gW2FycmF5XT0nZWxlbWVudFttZXRhRGF0YS5rZXldJyBbbWV0YURhdGFdPSdtZXRhRGF0YSc+PC90Yi1hcnJheS1jb2x1bW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHQgbGV0LWVsZW1lbnQ9J2VsZW1lbnQnIGxldC1tZXRhRGF0YT0nbWV0YURhdGEnIGxldC10cmFuc2Zvcm09J3RyYW5zZm9ybScgPlxyXG4gIDxzcGFuPnt7IHRyYW5zZm9ybSB8IGZ1bmMgOiBlbGVtZW50IH19PC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0V2l0aEljb24gbGV0LWVsZW1lbnQ9J2VsZW1lbnQnIGxldC1tZXRhRGF0YT0nbWV0YURhdGEnIGxldC10cmFuc2Zvcm09J3RyYW5zZm9ybScgPlxyXG4gIDxtYXQtaWNvbj57eyB0cmFuc2Zvcm0gfCBmdW5jIDogZWxlbWVudCB9fTwvbWF0LWljb24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -6,14 +6,14 @@ import { RouterModule } from "@angular/router";
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../classes/table-store";
8
8
  import * as i2 from "@angular/router";
9
- class LinkColumnComponent {
9
+ export class LinkColumnComponent {
10
10
  constructor(store) {
11
11
  this.store = store;
12
12
  this.transform = (a) => a;
13
13
  this.link = (metaData) => this.store.getLinkMap(metaData);
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: LinkColumnComponent, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: LinkColumnComponent, isStandalone: true, selector: "tb-link-column", inputs: { metaData: "metaData", element: "element", transform: "transform" }, ngImport: i0, template: `
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: LinkColumnComponent, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: LinkColumnComponent, isStandalone: true, selector: "tb-link-column", inputs: { metaData: "metaData", element: "element", transform: "transform" }, ngImport: i0, template: `
17
17
  <ng-container *ngrxLet="(link | func : (metaData)) as linkInfo">
18
18
  <a *ngIf="$any(linkInfo).useRouterLink; else hrefLink" target="{{$any(linkInfo).target}}"
19
19
  [routerLink]=" [($any(linkInfo).link | func : element)]"
@@ -33,8 +33,7 @@ class LinkColumnComponent {
33
33
  </ng-container>
34
34
  `, isInline: true, dependencies: [{ kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "pipe", type: FunctionPipe, name: "func" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
35
35
  }
36
- export { LinkColumnComponent };
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: LinkColumnComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: LinkColumnComponent, decorators: [{
38
37
  type: Component,
39
38
  args: [{
40
39
  selector: "tb-link-column",
@@ -62,11 +61,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
62
61
  </ng-container>
63
62
  `
64
63
  }]
65
- }], ctorParameters: function () { return [{ type: i1.TableStore }]; }, propDecorators: { metaData: [{
64
+ }], ctorParameters: () => [{ type: i1.TableStore }], propDecorators: { metaData: [{
66
65
  type: Input
67
66
  }], element: [{
68
67
  type: Input
69
68
  }], transform: [{
70
69
  type: Input
71
70
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9saW5rLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRS9DLE1BeUJlLG1CQUFtQjtJQUloQyxZQUFzQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBRDlCLGNBQVMsR0FBRyxDQUFDLENBQUssRUFBQyxFQUFFLENBQUEsQ0FBQyxDQUFDO1FBRWhDLFNBQUksR0FBSSxDQUFDLFFBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRHJCLENBQUM7OEdBSmhDLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHdKQW5CdEI7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCVCw0REFwQkMsWUFBWSw0RkFBRSxZQUFZLDZDQUFFLElBQUksNEZBQUUsWUFBWTs7U0FxQm5DLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQXpCakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVk7cUJBQy9DO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JUO2lCQUNGO2lHQUNVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gXCIuLi9jbGFzc2VzL3RhYmxlLXN0b3JlXCI7XHJcbmltcG9ydCB7IE1ldGFEYXRhIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZlwiO1xyXG5pbXBvcnQgeyBMZXREaXJlY3RpdmUgfSBmcm9tIFwiQG5ncngvY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZ1bmN0aW9uUGlwZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXNcIjtcclxuaW1wb3J0IHsgTmdJZiB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwidGItbGluay1jb2x1bW5cIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIExldERpcmVjdGl2ZSwgRnVuY3Rpb25QaXBlLCBOZ0lmLCBSb3V0ZXJNb2R1bGVcclxuICBdLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdyeExldD1cIihsaW5rIHwgZnVuYyA6IChtZXRhRGF0YSkpIGFzIGxpbmtJbmZvXCI+XHJcbiAgICA8YSAqbmdJZj1cIiRhbnkobGlua0luZm8pLnVzZVJvdXRlckxpbms7IGVsc2UgaHJlZkxpbmtcIiB0YXJnZXQ9XCJ7eyRhbnkobGlua0luZm8pLnRhcmdldH19XCJcclxuICAgICAgW3JvdXRlckxpbmtdPVwiIFsoJGFueShsaW5rSW5mbykubGluayB8IGZ1bmMgOiBlbGVtZW50KV1cIlxyXG4gICAgICBbcXVlcnlQYXJhbXNdPVwiJGFueShsaW5rSW5mbykucm91dGVyTGlua09wdGlvbnMucXVlcnlQYXJhbXMgfCBmdW5jIDogZWxlbWVudFwiXHJcbiAgICAgIFtmcmFnbWVudF09XCIkYW55KGxpbmtJbmZvKS5yb3V0ZXJMaW5rT3B0aW9ucy5mcmFnbWVudFwiXHJcbiAgICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cIiRhbnkobGlua0luZm8pLnJvdXRlckxpbmtPcHRpb25zLnByZXNlcnZlRnJhZ21lbnRcIlxyXG4gICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCIkYW55KGxpbmtJbmZvKS5yb3V0ZXJMaW5rT3B0aW9ucy5xdWVyeVBhcmFtc0hhbmRsaW5nXCJcclxuICAgID5cclxuICAgICAge3t0cmFuc2Zvcm0gfCBmdW5jIDogZWxlbWVudH19XHJcbiAgICA8L2E+XHJcbiAgICA8bmctdGVtcGxhdGUgI2hyZWZMaW5rPlxyXG4gICAgICA8YSB0YXJnZXQ9XCJ7eyRhbnkobGlua0luZm8pLnRhcmdldH19XCJcclxuICAgICAgICBocmVmPVwie3soJGFueShsaW5rSW5mbykubGluayB8IGZ1bmMgOiBlbGVtZW50KX19XCI+XHJcbiAgICAgICAge3t0cmFuc2Zvcm0gfCBmdW5jIDogZWxlbWVudH19XHJcbiAgICAgIDwvYT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgYFxyXG59KWV4cG9ydCBjbGFzcyBMaW5rQ29sdW1uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBtZXRhRGF0YSE6IE1ldGFEYXRhO1xyXG4gIEBJbnB1dCgpIGVsZW1lbnQhOiBhbnk7XHJcbiAgQElucHV0KCkgdHJhbnNmb3JtID0gKGE6YW55KT0+YTtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc3RvcmU6IFRhYmxlU3RvcmUpIHsgIH1cclxuICBsaW5rID0gIChtZXRhRGF0YSA6IE1ldGFEYXRhKSA9PiB0aGlzLnN0b3JlLmdldExpbmtNYXAobWV0YURhdGEpO1xyXG5cclxufSJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9saW5rLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBMkI3QyxNQUFNLE9BQU8sbUJBQW1CO0lBSWhDLFlBQXNCLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFEOUIsY0FBUyxHQUFHLENBQUMsQ0FBSyxFQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUM7UUFFaEMsU0FBSSxHQUFJLENBQUMsUUFBbUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFEckIsQ0FBQzs4R0FKaEMsbUJBQW1CO2tHQUFuQixtQkFBbUIsd0pBbkJ0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JULDREQXBCQyxZQUFZLDRGQUFFLFlBQVksNkNBQUUsSUFBSSw0RkFBRSxZQUFZOzsyRkFxQm5DLG1CQUFtQjtrQkF6QmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxZQUFZO3FCQUMvQztvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCVDtpQkFDRjsrRUFDVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tIFwiLi4vY2xhc3Nlcy90YWJsZS1zdG9yZVwiO1xyXG5pbXBvcnQgeyBNZXRhRGF0YSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWZcIjtcclxuaW1wb3J0IHsgTGV0RGlyZWN0aXZlIH0gZnJvbSBcIkBuZ3J4L2NvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBGdW5jdGlvblBpcGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzXCI7XHJcbmltcG9ydCB7IE5nSWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInRiLWxpbmstY29sdW1uXCIsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBMZXREaXJlY3RpdmUsIEZ1bmN0aW9uUGlwZSwgTmdJZiwgUm91dGVyTW9kdWxlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gIDxuZy1jb250YWluZXIgKm5ncnhMZXQ9XCIobGluayB8IGZ1bmMgOiAobWV0YURhdGEpKSBhcyBsaW5rSW5mb1wiPlxyXG4gICAgPGEgKm5nSWY9XCIkYW55KGxpbmtJbmZvKS51c2VSb3V0ZXJMaW5rOyBlbHNlIGhyZWZMaW5rXCIgdGFyZ2V0PVwie3skYW55KGxpbmtJbmZvKS50YXJnZXR9fVwiXHJcbiAgICAgIFtyb3V0ZXJMaW5rXT1cIiBbKCRhbnkobGlua0luZm8pLmxpbmsgfCBmdW5jIDogZWxlbWVudCldXCJcclxuICAgICAgW3F1ZXJ5UGFyYW1zXT1cIiRhbnkobGlua0luZm8pLnJvdXRlckxpbmtPcHRpb25zLnF1ZXJ5UGFyYW1zIHwgZnVuYyA6IGVsZW1lbnRcIlxyXG4gICAgICBbZnJhZ21lbnRdPVwiJGFueShsaW5rSW5mbykucm91dGVyTGlua09wdGlvbnMuZnJhZ21lbnRcIlxyXG4gICAgICBbcHJlc2VydmVGcmFnbWVudF09XCIkYW55KGxpbmtJbmZvKS5yb3V0ZXJMaW5rT3B0aW9ucy5wcmVzZXJ2ZUZyYWdtZW50XCJcclxuICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwiJGFueShsaW5rSW5mbykucm91dGVyTGlua09wdGlvbnMucXVlcnlQYXJhbXNIYW5kbGluZ1wiXHJcbiAgICA+XHJcbiAgICAgIHt7dHJhbnNmb3JtIHwgZnVuYyA6IGVsZW1lbnR9fVxyXG4gICAgPC9hPlxyXG4gICAgPG5nLXRlbXBsYXRlICNocmVmTGluaz5cclxuICAgICAgPGEgdGFyZ2V0PVwie3skYW55KGxpbmtJbmZvKS50YXJnZXR9fVwiXHJcbiAgICAgICAgaHJlZj1cInt7KCRhbnkobGlua0luZm8pLmxpbmsgfCBmdW5jIDogZWxlbWVudCl9fVwiPlxyXG4gICAgICAgIHt7dHJhbnNmb3JtIHwgZnVuYyA6IGVsZW1lbnR9fVxyXG4gICAgICA8L2E+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIGBcclxufSlleHBvcnQgY2xhc3MgTGlua0NvbHVtbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbWV0YURhdGEhOiBNZXRhRGF0YTtcclxuICBASW5wdXQoKSBlbGVtZW50ITogYW55O1xyXG4gIEBJbnB1dCgpIHRyYW5zZm9ybSA9IChhOmFueSk9PmE7XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHN0b3JlOiBUYWJsZVN0b3JlKSB7ICB9XHJcbiAgbGluayA9ICAobWV0YURhdGEgOiBNZXRhRGF0YSkgPT4gdGhpcy5zdG9yZS5nZXRMaW5rTWFwKG1ldGFEYXRhKTtcclxuXHJcbn0iXX0=
@@ -9,16 +9,15 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/material/input";
10
10
  import * as i2 from "@angular/material/form-field";
11
11
  import * as i3 from "@angular/forms";
12
- class NumberFilterComponent {
12
+ export class NumberFilterComponent {
13
13
  constructor() {
14
14
  this.FilterType = FilterType;
15
15
  this.FieldType = FieldType;
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NumberFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: NumberFilterComponent, isStandalone: true, selector: "tb-number-filter", inputs: { CurrentFilterType: "CurrentFilterType", info: "info" }, ngImport: i0, template: "<ng-container *ngIf=\"CurrentFilterType !== FilterType.NumberBetween && CurrentFilterType !== FilterType.IsNull && CurrentFilterType !== FilterType.In\">\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" type=\"number\"/>\r\n </mat-form-field>\r\n</ng-container>\r\n\r\n\r\n<ng-container *ngIf=\"CurrentFilterType === FilterType.NumberBetween\">\r\n <ng-container ngModelGroup=\"filterValue\" >\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"Start\" type=\"number\"/>\r\n </mat-form-field>\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"End\" type=\"number\"/>\r\n </mat-form-field>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<div class=\"inline\" *ngIf=\"CurrentFilterType === FilterType.In\">\r\n <lib-in-filter name='filterValue' [type]=\"FieldType.Number\" [(ngModel)]='info.filterValue' />\r\n</div>\r\n", styles: [".switch{display:inline-block}.my-filter{margin-right:15px}.inline{display:inline-block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { 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: "ngmodule", type: FormsModule }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }, { kind: "component", type: InFilterComponent, selector: "lib-in-filter", inputs: ["type"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NumberFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: NumberFilterComponent, isStandalone: true, selector: "tb-number-filter", inputs: { CurrentFilterType: "CurrentFilterType", info: "info" }, ngImport: i0, template: "<ng-container *ngIf=\"CurrentFilterType !== FilterType.NumberBetween && CurrentFilterType !== FilterType.IsNull && CurrentFilterType !== FilterType.In\">\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" type=\"number\"/>\r\n </mat-form-field>\r\n</ng-container>\r\n\r\n\r\n<ng-container *ngIf=\"CurrentFilterType === FilterType.NumberBetween\">\r\n <ng-container ngModelGroup=\"filterValue\" >\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"Start\" type=\"number\"/>\r\n </mat-form-field>\r\n <mat-form-field class=\"my-filter\">\r\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"End\" type=\"number\"/>\r\n </mat-form-field>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<div class=\"inline\" *ngIf=\"CurrentFilterType === FilterType.In\">\r\n <lib-in-filter name='filterValue' [type]=\"FieldType.Number\" [(ngModel)]='info.filterValue' />\r\n</div>\r\n", styles: [".switch{display:inline-block}.my-filter{margin-right:15px}.inline{display:inline-block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { 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: "ngmodule", type: FormsModule }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }, { kind: "component", type: InFilterComponent, selector: "lib-in-filter", inputs: ["type"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
19
  }
20
- export { NumberFilterComponent };
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NumberFilterComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: NumberFilterComponent, decorators: [{
22
21
  type: Component,
23
22
  args: [{ selector: 'tb-number-filter', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], standalone: true, imports: [
24
23
  NgIf, MatInputModule, FormsModule, InFilterComponent
@@ -28,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
28
27
  }], info: [{
29
28
  type: Input
30
29
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL251bWJlci1maWx0ZXIvbnVtYmVyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL251bWJlci1maWx0ZXIvbnVtYmVyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7QUFHckUsTUFXYSxxQkFBcUI7SUFYbEM7UUFZRSxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQUMsY0FBUyxHQUFHLFNBQVMsQ0FBQztLQUdoRDs4R0FKWSxxQkFBcUI7a0dBQXJCLHFCQUFxQiw4SUNyQmxDLHlpQ0FxQkEsbUpESEksSUFBSSw0RkFBRSxjQUFjLHFqQkFBRSxXQUFXLDZpQ0FBRSxpQkFBaUIsaUVBSHZDLENBQUMsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxDQUFDOztTQU10RCxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFYakMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUMsY0FDckQsSUFBSSxXQUNQO3dCQUNQLElBQUksRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGlCQUFpQjtxQkFDckQ7OEJBSVEsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIEZvcm1zTW9kdWxlLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFBhcnRpYWxGaWx0ZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2ZpbHRlci1pbmZvJztcclxuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcclxuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBJbkZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2luLWZpbHRlci9pbi1maWx0ZXIuY29tcG9uZW50JztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RiLW51bWJlci1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9udW1iZXItZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9udW1iZXItZmlsdGVyLmNvbXBvbmVudC5jc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICB2aWV3UHJvdmlkZXJzOiBbe3Byb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm19XSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsIE1hdElucHV0TW9kdWxlLCBGb3Jtc01vZHVsZSwgSW5GaWx0ZXJDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdW1iZXJGaWx0ZXJDb21wb25lbnQge1xyXG4gIEZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlOyBGaWVsZFR5cGUgPSBGaWVsZFR5cGU7XHJcbiAgQElucHV0KCkgQ3VycmVudEZpbHRlclR5cGUhOiBGaWx0ZXJUeXBlO1xyXG4gIEBJbnB1dCgpIGluZm8hOlBhcnRpYWxGaWx0ZXI7XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIkN1cnJlbnRGaWx0ZXJUeXBlICE9PSBGaWx0ZXJUeXBlLk51bWJlckJldHdlZW4gJiYgQ3VycmVudEZpbHRlclR5cGUgIT09IEZpbHRlclR5cGUuSXNOdWxsICYmIEN1cnJlbnRGaWx0ZXJUeXBlICE9PSBGaWx0ZXJUeXBlLkluXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibXktZmlsdGVyXCI+XHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cImZpbHRlclZhbHVlXCIgW25nTW9kZWxdPVwiaW5mby5maWx0ZXJWYWx1ZVwiIHR5cGU9XCJudW1iZXJcIi8+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIkN1cnJlbnRGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLk51bWJlckJldHdlZW5cIj5cclxuICA8bmctY29udGFpbmVyIG5nTW9kZWxHcm91cD1cImZpbHRlclZhbHVlXCIgID5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm15LWZpbHRlclwiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cIlN0YXJ0XCIgW25nTW9kZWxdPVwiaW5mby5maWx0ZXJWYWx1ZT8uU3RhcnRcIiBwbGFjZWhvbGRlcj1cIlN0YXJ0XCIgdHlwZT1cIm51bWJlclwiLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJteS1maWx0ZXJcIj5cclxuICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJFbmRcIiBbbmdNb2RlbF09XCJpbmZvLmZpbHRlclZhbHVlPy5FbmRcIiBwbGFjZWhvbGRlcj1cIkVuZFwiIHR5cGU9XCJudW1iZXJcIi8+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgY2xhc3M9XCJpbmxpbmVcIiAqbmdJZj1cIkN1cnJlbnRGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLkluXCI+XHJcbiAgPGxpYi1pbi1maWx0ZXIgbmFtZT0nZmlsdGVyVmFsdWUnIFt0eXBlXT1cIkZpZWxkVHlwZS5OdW1iZXJcIiBbKG5nTW9kZWwpXT0naW5mby5maWx0ZXJWYWx1ZScgLz5cclxuPC9kaXY+XHJcbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL251bWJlci1maWx0ZXIvbnVtYmVyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL251bWJlci1maWx0ZXIvbnVtYmVyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7QUFjckUsTUFBTSxPQUFPLHFCQUFxQjtJQVhsQztRQVlFLGVBQVUsR0FBRyxVQUFVLENBQUM7UUFBQyxjQUFTLEdBQUcsU0FBUyxDQUFDO0tBR2hEOzhHQUpZLHFCQUFxQjtrR0FBckIscUJBQXFCLDhJQ3JCbEMseWlDQXFCQSxtSkRISSxJQUFJLDRGQUFFLGNBQWMscWpCQUFFLFdBQVcsNmlDQUFFLGlCQUFpQixpRUFIdkMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUM7OzJGQU10RCxxQkFBcUI7a0JBWGpDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLENBQUMsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxDQUFDLGNBQ3JELElBQUksV0FDUDt3QkFDUCxJQUFJLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxpQkFBaUI7cUJBQ3JEOzhCQUlRLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvZmlsdGVyVHlwZXMnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBGb3Jtc01vZHVsZSwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBQYXJ0aWFsRmlsdGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgSW5GaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9pbi1maWx0ZXIvaW4tZmlsdGVyLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Yi1udW1iZXItZmlsdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWZpbHRlci5jb21wb25lbnQuY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgdmlld1Byb3ZpZGVyczogW3twcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtfV0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0lmLCBNYXRJbnB1dE1vZHVsZSwgRm9ybXNNb2R1bGUsIEluRmlsdGVyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVtYmVyRmlsdGVyQ29tcG9uZW50IHtcclxuICBGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZTsgRmllbGRUeXBlID0gRmllbGRUeXBlO1xyXG4gIEBJbnB1dCgpIEN1cnJlbnRGaWx0ZXJUeXBlITogRmlsdGVyVHlwZTtcclxuICBASW5wdXQoKSBpbmZvITpQYXJ0aWFsRmlsdGVyO1xyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJDdXJyZW50RmlsdGVyVHlwZSAhPT0gRmlsdGVyVHlwZS5OdW1iZXJCZXR3ZWVuICYmIEN1cnJlbnRGaWx0ZXJUeXBlICE9PSBGaWx0ZXJUeXBlLklzTnVsbCAmJiBDdXJyZW50RmlsdGVyVHlwZSAhPT0gRmlsdGVyVHlwZS5JblwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm15LWZpbHRlclwiPlxyXG4gICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJmaWx0ZXJWYWx1ZVwiIFtuZ01vZGVsXT1cImluZm8uZmlsdGVyVmFsdWVcIiB0eXBlPVwibnVtYmVyXCIvPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJDdXJyZW50RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5OdW1iZXJCZXR3ZWVuXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBuZ01vZGVsR3JvdXA9XCJmaWx0ZXJWYWx1ZVwiICA+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJteS1maWx0ZXJcIj5cclxuICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJTdGFydFwiIFtuZ01vZGVsXT1cImluZm8uZmlsdGVyVmFsdWU/LlN0YXJ0XCIgcGxhY2Vob2xkZXI9XCJTdGFydFwiIHR5cGU9XCJudW1iZXJcIi8+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibXktZmlsdGVyXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPVwiRW5kXCIgW25nTW9kZWxdPVwiaW5mby5maWx0ZXJWYWx1ZT8uRW5kXCIgcGxhY2Vob2xkZXI9XCJFbmRcIiB0eXBlPVwibnVtYmVyXCIvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48ZGl2IGNsYXNzPVwiaW5saW5lXCIgKm5nSWY9XCJDdXJyZW50RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5JblwiPlxyXG4gIDxsaWItaW4tZmlsdGVyIG5hbWU9J2ZpbHRlclZhbHVlJyBbdHlwZV09XCJGaWVsZFR5cGUuTnVtYmVyXCIgWyhuZ01vZGVsKV09J2luZm8uZmlsdGVyVmFsdWUnIC8+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -5,7 +5,7 @@ import { distinctUntilChanged, map, mergeMap } from 'rxjs/operators';
5
5
  import { notNull } from '../../../rxjs/rxjs-operators';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../classes/table-store";
8
- class SortMenuComponentStore extends ComponentStore {
8
+ export class SortMenuComponentStore extends ComponentStore {
9
9
  constructor(tableState) {
10
10
  super({ notSorted: [], sorted: [] });
11
11
  this.tableState = tableState;
@@ -32,13 +32,12 @@ class SortMenuComponentStore extends ComponentStore {
32
32
  ]).pipe(map(([sorted, notSorted]) => ({ sorted, notSorted }))));
33
33
  };
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SortMenuComponentStore, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SortMenuComponentStore }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: SortMenuComponentStore, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: SortMenuComponentStore }); }
37
37
  }
38
- export { SortMenuComponentStore };
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SortMenuComponentStore, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: SortMenuComponentStore, decorators: [{
40
39
  type: Injectable
41
- }], ctorParameters: function () { return [{ type: i1.TableStore }]; } });
40
+ }], ctorParameters: () => [{ type: i1.TableStore }] });
42
41
  const equalSortArray = (arr1, arr2) => arr1.length === arr2.length && arr2.every(s1 => arr1.some(s2 => s1.active === s2.active));
43
42
  const distinctSortArray = distinctUntilChanged(equalSortArray);
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1tZW51LmNvbXBvbmVudC1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvc29ydC1tZW51L3NvcnQtbWVudS5jb21wb25lbnQtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBRXZELE1BQ2Esc0JBQXVCLFNBQVEsY0FBbUM7SUFDN0UsWUFBb0IsVUFBc0I7UUFDeEMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQTtRQURoQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBR2xDLFFBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQXlCLEVBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQztRQUU3RSxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFzQixFQUFDLEVBQUUsQ0FBQSxDQUFDLEVBQUMsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWhGLGlCQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxTQUF5QixFQUFDLEVBQUUsQ0FB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QUFDLElBQW1CLEVBQUUsRUFBRSxDQUNqRSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzVGLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQWlCLGNBQWMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBub3ROdWxsIH0gZnJvbSAnLi4vLi4vLi4vcnhqcy9yeGpzLW9wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTb3J0TWVudUNvbXBvbmVudFN0b3JlIGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8Q29tcG9uZW50U3RvcmVTdGF0ZT4ge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdGFibGVTdGF0ZTogVGFibGVTdG9yZSl7XHJcbiAgICBzdXBlcih7IG5vdFNvcnRlZDpbXSwgc29ydGVkOiBbXX0pXHJcbiAgfVxyXG4gIHByaXZhdGUgc2V0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZGF0YTogQ29tcG9uZW50U3RvcmVTdGF0ZSk9PiAoey4uLmRhdGF9KSk7XHJcblxyXG4gIHNldFNvcnRlZCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHNvcnRlZDogU29ydFdpdGhOYW1lW10pPT4oey4uLnN0YXRlLCBzb3J0ZWR9KSk7XHJcblxyXG4gIHNldE5vdFNvcnRlZCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIG5vdFNvcnRlZDogU29ydFdpdGhOYW1lW10pPT4oey4uLnN0YXRlLCBub3RTb3J0ZWR9KSk7XHJcbiAgc29ydGVkJCA9IHRoaXMuc2VsZWN0KHN0YXRlPT5zdGF0ZS5zb3J0ZWQpO1xyXG4gIG5vdFNvcnRlZCQgPSB0aGlzLnNlbGVjdChzdGF0ZT0+c3RhdGUubm90U29ydGVkKTtcclxuXHJcbiAgc2V0RGlyZWN0aW9uID0gdGhpcy51cGRhdGVyKChzdGF0ZSxzb3J0OlNvcnRXaXRoTmFtZSk9PntcclxuICAgIGNvbnN0IGluZGV4ID0gc3RhdGUuc29ydGVkLmZpbmRJbmRleChzID0+IHMuYWN0aXZlID09PSBzb3J0LmFjdGl2ZSk7XHJcbiAgICBjb25zdCBzb3J0ZWQgPSBbLi4uc3RhdGUuc29ydGVkXTtcclxuICAgIHNvcnRlZC5zcGxpY2UoaW5kZXgsMSxzb3J0KTtcclxuICAgIHJldHVybiAoey4uLnN0YXRlLHNvcnRlZH0pO1xyXG4gIH0pXHJcblxyXG4gIHJlc2V0ID0gKCkgPT4ge1xyXG4gICAgY29uc3Qgc29ydGVkID0gdGhpcy50YWJsZVN0YXRlLnNvcnRlZCQucGlwZShcclxuICAgICAgbWVyZ2VNYXAoc29ydCA9PiB0aGlzLnRhYmxlU3RhdGUubWV0YURhdGEkLnBpcGUoXHJcbiAgICAgICAgbm90TnVsbCgpLFxyXG4gICAgICAgIG1hcChcclxuICAgICAgICBtZXRhID0+IHNvcnQubWFwKHMgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuICh7Li4ucywgZGlzcGxheU5hbWU6IG1ldGFbcy5hY3RpdmVdPy5kaXNwbGF5TmFtZX0gYXMgU29ydFdpdGhOYW1lKX0pXHJcbiAgICAgICkpKVxyXG4gICAgKTtcclxuICAgIGNvbnN0IG5vdFNvcnRlZCA9IHRoaXMudGFibGVTdGF0ZS5tZXRhRGF0YUFycmF5JC5waXBlKG1lcmdlTWFwKFxyXG4gICAgICBtZXRhcyA9PiB0aGlzLnRhYmxlU3RhdGUuc29ydGVkJC5waXBlKFxyXG4gICAgICAgIG1hcChzID0+IG1ldGFzXHJcbiAgICAgICAgICAuZmlsdGVyKG1ldGEgPT4gIXMuc29tZShzPT5zLmFjdGl2ZT09PSBtZXRhLmtleSkgJiYgIW1ldGEubm9Tb3J0KVxyXG4gICAgICAgICAgLm1hcChtZXRhPT4oe2FjdGl2ZTptZXRhLmtleSxkaXNwbGF5TmFtZSA6IG1ldGEuZGlzcGxheU5hbWV9IGFzIFNvcnRXaXRoTmFtZSkpKVxyXG4gICAgICApXHJcbiAgICApKTtcclxuICAgIHRoaXMuc2V0KGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICBzb3J0ZWQucGlwZShkaXN0aW5jdFNvcnRBcnJheSksbm90U29ydGVkLnBpcGUoZGlzdGluY3RTb3J0QXJyYXkpXHJcbiAgICBdKS5waXBlKG1hcCgoW3NvcnRlZCxub3RTb3J0ZWRdKT0+KHtzb3J0ZWQsbm90U29ydGVkfSkpKSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudFN0b3JlU3RhdGUge1xyXG4gIHNvcnRlZCA6IFNvcnRXaXRoTmFtZVtdO1xyXG4gIG5vdFNvcnRlZDogU29ydFdpdGhOYW1lW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29ydFdpdGhOYW1lIGV4dGVuZHMgU29ydHtcclxuICBkaXNwbGF5TmFtZSA6IHN0cmluZztcclxufVxyXG5cclxuY29uc3QgZXF1YWxTb3J0QXJyYXkgPSAoYXJyMTpTb3J0V2l0aE5hbWVbXSxhcnIyOlNvcnRXaXRoTmFtZVtdKSA9PlxyXG4gIGFycjEubGVuZ3RoID09PSBhcnIyLmxlbmd0aCAmJiBhcnIyLmV2ZXJ5KHMxID0+IGFycjEuc29tZShzMiA9PiBzMS5hY3RpdmUgPT09IHMyLmFjdGl2ZSkpO1xyXG5jb25zdCBkaXN0aW5jdFNvcnRBcnJheSA9IGRpc3RpbmN0VW50aWxDaGFuZ2VkPFNvcnRXaXRoTmFtZVtdPihlcXVhbFNvcnRBcnJheSk7XHJcbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1tZW51LmNvbXBvbmVudC1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvc29ydC1tZW51L3NvcnQtbWVudS5jb21wb25lbnQtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBR3ZELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxjQUFtQztJQUM3RSxZQUFvQixVQUFzQjtRQUN4QyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFBO1FBRGhCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFHbEMsUUFBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBeUIsRUFBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdFLGNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQXNCLEVBQUMsRUFBRSxDQUFBLENBQUMsRUFBQyxHQUFHLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFFaEYsaUJBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFNBQXlCLEVBQUMsRUFB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QixFQUFFLEVBQUUsQ0FDakUsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM1RixNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFpQixjQUFjLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHsgbm90TnVsbCB9IGZyb20gJy4uLy4uLy4uL3J4anMvcnhqcy1vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU29ydE1lbnVDb21wb25lbnRTdG9yZSBleHRlbmRzIENvbXBvbmVudFN0b3JlPENvbXBvbmVudFN0b3JlU3RhdGU+IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRhYmxlU3RhdGU6IFRhYmxlU3RvcmUpe1xyXG4gICAgc3VwZXIoeyBub3RTb3J0ZWQ6W10sIHNvcnRlZDogW119KVxyXG4gIH1cclxuICBwcml2YXRlIHNldCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGRhdGE6IENvbXBvbmVudFN0b3JlU3RhdGUpPT4gKHsuLi5kYXRhfSkpO1xyXG5cclxuICBzZXRTb3J0ZWQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBzb3J0ZWQ6IFNvcnRXaXRoTmFtZVtdKT0+KHsuLi5zdGF0ZSwgc29ydGVkfSkpO1xyXG5cclxuICBzZXROb3RTb3J0ZWQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBub3RTb3J0ZWQ6IFNvcnRXaXRoTmFtZVtdKT0+KHsuLi5zdGF0ZSwgbm90U29ydGVkfSkpO1xyXG4gIHNvcnRlZCQgPSB0aGlzLnNlbGVjdChzdGF0ZT0+c3RhdGUuc29ydGVkKTtcclxuICBub3RTb3J0ZWQkID0gdGhpcy5zZWxlY3Qoc3RhdGU9PnN0YXRlLm5vdFNvcnRlZCk7XHJcblxyXG4gIHNldERpcmVjdGlvbiA9IHRoaXMudXBkYXRlcigoc3RhdGUsc29ydDpTb3J0V2l0aE5hbWUpPT57XHJcbiAgICBjb25zdCBpbmRleCA9IHN0YXRlLnNvcnRlZC5maW5kSW5kZXgocyA9PiBzLmFjdGl2ZSA9PT0gc29ydC5hY3RpdmUpO1xyXG4gICAgY29uc3Qgc29ydGVkID0gWy4uLnN0YXRlLnNvcnRlZF07XHJcbiAgICBzb3J0ZWQuc3BsaWNlKGluZGV4LDEsc29ydCk7XHJcbiAgICByZXR1cm4gKHsuLi5zdGF0ZSxzb3J0ZWR9KTtcclxuICB9KVxyXG5cclxuICByZXNldCA9ICgpID0+IHtcclxuICAgIGNvbnN0IHNvcnRlZCA9IHRoaXMudGFibGVTdGF0ZS5zb3J0ZWQkLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKHNvcnQgPT4gdGhpcy50YWJsZVN0YXRlLm1ldGFEYXRhJC5waXBlKFxyXG4gICAgICAgIG5vdE51bGwoKSxcclxuICAgICAgICBtYXAoXHJcbiAgICAgICAgbWV0YSA9PiBzb3J0Lm1hcChzID0+IHtcclxuICAgICAgICAgIHJldHVybiAoey4uLnMsIGRpc3BsYXlOYW1lOiBtZXRhW3MuYWN0aXZlXT8uZGlzcGxheU5hbWV9IGFzIFNvcnRXaXRoTmFtZSl9KVxyXG4gICAgICApKSlcclxuICAgICk7XHJcbiAgICBjb25zdCBub3RTb3J0ZWQgPSB0aGlzLnRhYmxlU3RhdGUubWV0YURhdGFBcnJheSQucGlwZShtZXJnZU1hcChcclxuICAgICAgbWV0YXMgPT4gdGhpcy50YWJsZVN0YXRlLnNvcnRlZCQucGlwZShcclxuICAgICAgICBtYXAocyA9PiBtZXRhc1xyXG4gICAgICAgICAgLmZpbHRlcihtZXRhID0+ICFzLnNvbWUocz0+cy5hY3RpdmU9PT0gbWV0YS5rZXkpICYmICFtZXRhLm5vU29ydClcclxuICAgICAgICAgIC5tYXAobWV0YT0+KHthY3RpdmU6bWV0YS5rZXksZGlzcGxheU5hbWUgOiBtZXRhLmRpc3BsYXlOYW1lfSBhcyBTb3J0V2l0aE5hbWUpKSlcclxuICAgICAgKVxyXG4gICAgKSk7XHJcbiAgICB0aGlzLnNldChjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgc29ydGVkLnBpcGUoZGlzdGluY3RTb3J0QXJyYXkpLG5vdFNvcnRlZC5waXBlKGRpc3RpbmN0U29ydEFycmF5KVxyXG4gICAgXSkucGlwZShtYXAoKFtzb3J0ZWQsbm90U29ydGVkXSk9Pih7c29ydGVkLG5vdFNvcnRlZH0pKSkpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRTdG9yZVN0YXRlIHtcclxuICBzb3J0ZWQgOiBTb3J0V2l0aE5hbWVbXTtcclxuICBub3RTb3J0ZWQ6IFNvcnRXaXRoTmFtZVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRXaXRoTmFtZSBleHRlbmRzIFNvcnR7XHJcbiAgZGlzcGxheU5hbWUgOiBzdHJpbmc7XHJcbn1cclxuXHJcbmNvbnN0IGVxdWFsU29ydEFycmF5ID0gKGFycjE6U29ydFdpdGhOYW1lW10sYXJyMjpTb3J0V2l0aE5hbWVbXSkgPT5cclxuICBhcnIxLmxlbmd0aCA9PT0gYXJyMi5sZW5ndGggJiYgYXJyMi5ldmVyeShzMSA9PiBhcnIxLnNvbWUoczIgPT4gczEuYWN0aXZlID09PSBzMi5hY3RpdmUpKTtcclxuY29uc3QgZGlzdGluY3RTb3J0QXJyYXkgPSBkaXN0aW5jdFVudGlsQ2hhbmdlZDxTb3J0V2l0aE5hbWVbXT4oZXF1YWxTb3J0QXJyYXkpO1xyXG4iXX0=