@clr/angular 13.0.3 → 13.1.0

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 (84) hide show
  1. package/button/button-group/button-group.d.ts +5 -3
  2. package/clarity.api.md +72 -22
  3. package/data/datagrid/built-in/filters/datagrid-numeric-filter.d.ts +11 -3
  4. package/data/datagrid/built-in/filters/datagrid-string-filter.d.ts +9 -3
  5. package/data/datagrid/datagrid-column.d.ts +10 -1
  6. package/data/datagrid/render/main-renderer.d.ts +3 -2
  7. package/data/stack-view/stack-control.d.ts +7 -2
  8. package/data/tree-view/tree-node.d.ts +1 -1
  9. package/esm2020/accordion/stepper/models/stepper.model.mjs +1 -1
  10. package/esm2020/accordion/stepper/providers/stepper.service.mjs +1 -1
  11. package/esm2020/accordion/stepper/stepper-panel.mjs +1 -1
  12. package/esm2020/button/button-group/button-group.mjs +17 -11
  13. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +37 -16
  14. package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +27 -13
  15. package/esm2020/data/datagrid/datagrid-column-toggle.mjs +7 -3
  16. package/esm2020/data/datagrid/datagrid-column.mjs +28 -3
  17. package/esm2020/data/datagrid/datagrid-filter.mjs +1 -1
  18. package/esm2020/data/datagrid/datagrid-if-expanded.service.mjs +1 -1
  19. package/esm2020/data/datagrid/render/main-renderer.mjs +9 -6
  20. package/esm2020/data/stack-view/stack-control.mjs +13 -3
  21. package/esm2020/data/stack-view/stack-input.mjs +1 -1
  22. package/esm2020/data/stack-view/stack-select.mjs +1 -1
  23. package/esm2020/data/tree-view/models/declarative-tree-node.model.mjs +1 -1
  24. package/esm2020/data/tree-view/models/recursive-tree-node.model.mjs +1 -1
  25. package/esm2020/data/tree-view/tree-node.mjs +11 -7
  26. package/esm2020/forms/checkbox/checkbox-container.mjs +1 -1
  27. package/esm2020/forms/checkbox/checkbox.mjs +1 -1
  28. package/esm2020/forms/combobox/combobox-container.mjs +1 -1
  29. package/esm2020/forms/combobox/combobox.mjs +1 -4
  30. package/esm2020/forms/combobox/model/pseudo-focus.model.mjs +1 -1
  31. package/esm2020/forms/common/control.mjs +1 -1
  32. package/esm2020/forms/common/error.mjs +1 -1
  33. package/esm2020/forms/common/helper.mjs +1 -1
  34. package/esm2020/forms/common/if-control-state/if-error.mjs +1 -1
  35. package/esm2020/forms/common/if-control-state/if-success.mjs +1 -1
  36. package/esm2020/forms/common/success.mjs +1 -1
  37. package/esm2020/forms/datalist/datalist-container.mjs +1 -1
  38. package/esm2020/forms/datalist/datalist-input.mjs +1 -1
  39. package/esm2020/forms/datepicker/date-container.mjs +1 -1
  40. package/esm2020/forms/datepicker/date-input.mjs +1 -1
  41. package/esm2020/forms/input/input.mjs +1 -1
  42. package/esm2020/forms/password/password.mjs +1 -1
  43. package/esm2020/forms/radio/radio-container.mjs +1 -1
  44. package/esm2020/forms/range/range-container.mjs +1 -1
  45. package/esm2020/forms/select/select-container.mjs +1 -1
  46. package/esm2020/forms/select/select.mjs +1 -1
  47. package/esm2020/forms/textarea/textarea.mjs +1 -1
  48. package/esm2020/layout/nav/header.mjs +25 -8
  49. package/esm2020/layout/nav/nav-level.mjs +109 -7
  50. package/esm2020/layout/vertical-nav/vertical-nav-group.mjs +3 -3
  51. package/esm2020/layout/vertical-nav/vertical-nav-link.mjs +25 -15
  52. package/esm2020/modal/modal-body.mjs +5 -2
  53. package/esm2020/popover/common/abstract-popover.mjs +15 -6
  54. package/esm2020/popover/dropdown/dropdown-menu.mjs +1 -1
  55. package/esm2020/popover/dropdown/providers/dropdown-focus-handler.service.mjs +5 -3
  56. package/esm2020/popover/signpost/signpost-content.mjs +2 -1
  57. package/esm2020/utils/breakpoints/breakpoints.mjs +15 -1
  58. package/esm2020/utils/destroy/destroy.service.mjs +44 -0
  59. package/esm2020/utils/destroy/index.mjs +7 -0
  60. package/esm2020/utils/drag-and-drop/providers/drag-event-listener.service.mjs +7 -7
  61. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.mjs +21 -16
  62. package/esm2020/utils/focus/key-focus/roving-tabindex.mjs +1 -1
  63. package/esm2020/utils/focus-trap/focus-trap.mjs +141 -0
  64. package/esm2020/utils/index.mjs +2 -1
  65. package/esm2020/utils/popover/popover-content.mjs +14 -8
  66. package/fesm2015/clr-angular.mjs +591 -167
  67. package/fesm2015/clr-angular.mjs.map +1 -1
  68. package/fesm2020/clr-angular.mjs +588 -166
  69. package/fesm2020/clr-angular.mjs.map +1 -1
  70. package/forms/combobox/combobox.d.ts +0 -1
  71. package/layout/nav/header.d.ts +6 -0
  72. package/layout/nav/nav-level.d.ts +16 -4
  73. package/layout/vertical-nav/vertical-nav-link.d.ts +6 -5
  74. package/modal/modal-body.d.ts +1 -0
  75. package/package.json +4 -4
  76. package/popover/common/abstract-popover.d.ts +3 -1
  77. package/popover/dropdown/providers/dropdown-focus-handler.service.d.ts +2 -2
  78. package/utils/breakpoints/breakpoints.d.ts +14 -0
  79. package/utils/destroy/destroy.service.d.ts +32 -0
  80. package/utils/destroy/index.d.ts +1 -0
  81. package/utils/focus/focus-on-view-init/focus-on-view-init.d.ts +5 -4
  82. package/utils/focus-trap/focus-trap.d.ts +29 -0
  83. package/utils/index.d.ts +1 -0
  84. package/utils/popover/popover-content.d.ts +2 -1
@@ -1,17 +1,19 @@
1
- import { QueryList } from '@angular/core';
1
+ import { QueryList, AfterContentInit } from '@angular/core';
2
2
  import { ButtonInGroupService } from '../providers/button-in-group.service';
3
3
  import { ClrCommonStringsService } from '../../utils/i18n/common-strings.service';
4
4
  import { ClrPopoverPosition } from '../../utils/popover/interfaces/popover-position.interface';
5
5
  import { ClrPopoverToggleService } from '../../utils/popover/providers/popover-toggle.service';
6
+ import { ClrDestroyService } from '../../utils/destroy/destroy.service';
6
7
  import { ClrButton } from './button';
7
8
  import * as i0 from "@angular/core";
8
- export declare class ClrButtonGroup {
9
+ export declare class ClrButtonGroup implements AfterContentInit {
9
10
  buttonGroupNewService: ButtonInGroupService;
10
11
  private toggleService;
11
12
  popoverId: string;
12
13
  commonStrings: ClrCommonStringsService;
14
+ private destroy$;
13
15
  buttons: QueryList<ClrButton>;
14
- constructor(buttonGroupNewService: ButtonInGroupService, toggleService: ClrPopoverToggleService, popoverId: string, commonStrings: ClrCommonStringsService);
16
+ constructor(buttonGroupNewService: ButtonInGroupService, toggleService: ClrPopoverToggleService, popoverId: string, commonStrings: ClrCommonStringsService, destroy$: ClrDestroyService);
15
17
  popoverPosition: ClrPopoverPosition;
16
18
  get open(): boolean;
17
19
  inlineButtons: ClrButton[];
package/clarity.api.md CHANGED
@@ -546,8 +546,8 @@ export class ClrButton implements LoadingListener {
546
546
  }
547
547
 
548
548
  // @public (undocumented)
549
- export class ClrButtonGroup {
550
- constructor(buttonGroupNewService: ButtonInGroupService, toggleService: ClrPopoverToggleService, popoverId: string, commonStrings: ClrCommonStringsService);
549
+ export class ClrButtonGroup implements AfterContentInit {
550
+ constructor(buttonGroupNewService: ButtonInGroupService, toggleService: ClrPopoverToggleService, popoverId: string, commonStrings: ClrCommonStringsService, destroy$: ClrDestroyService);
551
551
  // (undocumented)
552
552
  buttonGroupNewService: ButtonInGroupService;
553
553
  // (undocumented)
@@ -771,8 +771,6 @@ export class ClrCombobox<T> extends WrappedFormControl<ClrComboboxContainer> imp
771
771
  // (undocumented)
772
772
  ngAfterViewInit(): void;
773
773
  // (undocumented)
774
- ngOnDestroy(): void;
775
- // (undocumented)
776
774
  onBlur(): void;
777
775
  // (undocumented)
778
776
  onFocus(): void;
@@ -1254,6 +1252,17 @@ export class ClrDatagridColumn<T = any> extends DatagridFilterRegistrar<T, ClrDa
1254
1252
  get field(): string;
1255
1253
  set field(field: string);
1256
1254
  // (undocumented)
1255
+ filterNumberMaxPlaceholder: string;
1256
+ // (undocumented)
1257
+ get filterNumberMaxPlaceholderValue(): string;
1258
+ // (undocumented)
1259
+ filterNumberMinPlaceholder: string;
1260
+ // (undocumented)
1261
+ get filterNumberMinPlaceholderValue(): string;
1262
+ filterStringPlaceholder: string;
1263
+ // (undocumented)
1264
+ get filterStringPlaceholderValue(): string;
1265
+ // (undocumented)
1257
1266
  get filterValue(): any;
1258
1267
  set filterValue(newValue: any);
1259
1268
  // (undocumented)
@@ -1292,7 +1301,7 @@ export class ClrDatagridColumn<T = any> extends DatagridFilterRegistrar<T, ClrDa
1292
1301
  // (undocumented)
1293
1302
  get _view(): any;
1294
1303
  // (undocumented)
1295
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumn<any>, "clr-dg-column", never, { "colType": "clrDgColType"; "field": "clrDgField"; "sortBy": "clrDgSortBy"; "sorted": "clrDgSorted"; "sortOrder": "clrDgSortOrder"; "updateFilterValue": "clrFilterValue"; }, { "sortedChange": "clrDgSortedChange"; "sortOrderChange": "clrDgSortOrderChange"; "filterValueChange": "clrFilterValueChange"; }, ["projectedFilter"], ["clr-dg-filter, clr-dg-string-filter, clr-dg-numeric-filter", "*"]>;
1304
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumn<any>, "clr-dg-column", never, { "colType": "clrDgColType"; "field": "clrDgField"; "sortBy": "clrDgSortBy"; "sorted": "clrDgSorted"; "sortOrder": "clrDgSortOrder"; "filterStringPlaceholder": "clrFilterStringPlaceholder"; "filterNumberMaxPlaceholder": "clrFilterNumberMaxPlaceholder"; "filterNumberMinPlaceholder": "clrFilterNumberMinPlaceholder"; "updateFilterValue": "clrFilterValue"; }, { "sortedChange": "clrDgSortedChange"; "sortOrderChange": "clrDgSortOrderChange"; "filterValueChange": "clrFilterValueChange"; }, ["projectedFilter"], ["clr-dg-filter, clr-dg-string-filter, clr-dg-numeric-filter", "*"]>;
1296
1305
  // (undocumented)
1297
1306
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumn<any>, never>;
1298
1307
  }
@@ -2070,6 +2079,16 @@ export class ClrDaypicker {
2070
2079
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrDaypicker, never>;
2071
2080
  }
2072
2081
 
2082
+ // @public
2083
+ export class ClrDestroyService extends Subject<void> implements OnDestroy {
2084
+ // (undocumented)
2085
+ ngOnDestroy(): void;
2086
+ // (undocumented)
2087
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDestroyService, never>;
2088
+ // (undocumented)
2089
+ static ɵprov: i0.ɵɵInjectableDeclaration<ClrDestroyService>;
2090
+ }
2091
+
2073
2092
  // @public (undocumented)
2074
2093
  export class ClrDragAndDropModule {
2075
2094
  // (undocumented)
@@ -2356,14 +2375,14 @@ class ClrExpandableAnimationModule {
2356
2375
  }
2357
2376
 
2358
2377
  // @public (undocumented)
2359
- export class ClrFocusOnViewInit implements AfterViewInit {
2360
- constructor(el: ElementRef, platformId: any, focusOnViewInit: boolean, document: any, renderer: Renderer2);
2378
+ export class ClrFocusOnViewInit implements AfterViewInit, OnDestroy {
2379
+ constructor(el: ElementRef, platformId: any, focusOnViewInit: boolean, document: any, renderer: Renderer2, ngZone: NgZone);
2361
2380
  // (undocumented)
2362
2381
  set isEnabled(value: boolean | string);
2363
2382
  // (undocumented)
2364
2383
  ngAfterViewInit(): void;
2365
2384
  // (undocumented)
2366
- onFocusout(): void;
2385
+ ngOnDestroy(): void;
2367
2386
  // (undocumented)
2368
2387
  static ɵdir: i0.ɵɵDirectiveDeclaration<ClrFocusOnViewInit, "[clrFocusOnViewInit]", never, { "isEnabled": "clrFocusOnViewInit"; }, {}, never>;
2369
2388
  // (undocumented)
@@ -2449,6 +2468,8 @@ export class ClrHeader implements OnDestroy {
2449
2468
  // (undocumented)
2450
2469
  ngOnDestroy(): void;
2451
2470
  // (undocumented)
2471
+ openNav(navLevel: number): void;
2472
+ // (undocumented)
2452
2473
  openNavLevel: number;
2453
2474
  // (undocumented)
2454
2475
  resetNavTriggers(): void;
@@ -2460,7 +2481,7 @@ export class ClrHeader implements OnDestroy {
2460
2481
  get responsiveNavCommonString(): string;
2461
2482
  // (undocumented)
2462
2483
  get responsiveOverflowCommonString(): string;
2463
- // (undocumented)
2484
+ // @deprecated (undocumented)
2464
2485
  toggleNav(navLevel: number): void;
2465
2486
  // (undocumented)
2466
2487
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrHeader, "clr-header", never, {}, {}, never, ["*"]>;
@@ -2979,29 +3000,48 @@ export class ClrNavigationModule {
2979
3000
  static ɵmod: i0.ɵɵNgModuleDeclaration<ClrNavigationModule, [typeof i1_38.ClrHeader, typeof i2_28.ClrNavLevel, typeof i3_19.NavDetectionOompaLoompa, typeof i4_13.MainContainerWillyWonka], [typeof i6.CommonModule, typeof i3_2.ClrIconModule, typeof i8.ClrDropdownModule], [typeof i1_38.ClrHeader, typeof i2_28.ClrNavLevel, typeof i3_19.NavDetectionOompaLoompa, typeof i4_13.MainContainerWillyWonka]>;
2980
3001
  }
2981
3002
 
3003
+ // Warning: (ae-forgotten-export) The symbol "FocusTrap" needs to be exported by the entry point index.d.ts
3004
+ //
2982
3005
  // @public (undocumented)
2983
- export class ClrNavLevel implements OnInit {
2984
- constructor(responsiveNavService: ResponsiveNavigationService, elementRef: ElementRef);
3006
+ export class ClrNavLevel extends FocusTrap implements OnInit {
3007
+ // Warning: (ae-forgotten-export) The symbol "FocusTrapElement" needs to be exported by the entry point index.d.ts
3008
+ constructor(platformId: any, responsiveNavService: ResponsiveNavigationService, elementRef: ElementRef<FocusTrapElement>, renderer: Renderer2, injector: Injector);
2985
3009
  // (undocumented)
2986
3010
  addNavClass(level: number): void;
2987
3011
  // (undocumented)
2988
3012
  close(): void;
2989
3013
  // (undocumented)
3014
+ closeButtonAriaLabel: string;
3015
+ // (undocumented)
3016
+ protected hideCloseButton(): void;
3017
+ // (undocumented)
3018
+ protected hideNavigation(): void;
3019
+ // (undocumented)
3020
+ get isOpen(): boolean;
3021
+ // (undocumented)
2990
3022
  get level(): number;
2991
3023
  // (undocumented)
2992
3024
  _level: number;
2993
3025
  // (undocumented)
3026
+ ngAfterViewInit(): void;
3027
+ // (undocumented)
2994
3028
  ngOnDestroy(): void;
2995
3029
  // (undocumented)
2996
3030
  ngOnInit(): void;
2997
3031
  // (undocumented)
2998
3032
  onMouseClick(target: any): void;
2999
3033
  // (undocumented)
3034
+ onResize(event: Event): void;
3035
+ // (undocumented)
3000
3036
  open(): void;
3001
3037
  // (undocumented)
3002
3038
  get responsiveNavCodes(): ResponsiveNavCodes;
3003
3039
  // (undocumented)
3004
- static ɵdir: i0.ɵɵDirectiveDeclaration<ClrNavLevel, "[clr-nav-level]", never, { "_level": "clr-nav-level"; }, {}, never>;
3040
+ protected showCloseButton(): void;
3041
+ // (undocumented)
3042
+ protected showNavigation(): void;
3043
+ // (undocumented)
3044
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrNavLevel, "[clr-nav-level]", never, { "_level": "clr-nav-level"; "closeButtonAriaLabel": "closeAriaLabel"; }, {}, never>;
3005
3045
  // (undocumented)
3006
3046
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrNavLevel, never>;
3007
3047
  }
@@ -3183,7 +3223,7 @@ export class ClrPopoverAnchor {
3183
3223
 
3184
3224
  // @public (undocumented)
3185
3225
  export class ClrPopoverContent implements AfterContentChecked, OnDestroy {
3186
- constructor(document: HTMLDocument, container: ViewContainerRef, template: TemplateRef<any>, renderer: Renderer2, smartPositionService: ClrPopoverPositionService, smartEventsService: ClrPopoverEventsService, smartOpenService: ClrPopoverToggleService);
3226
+ constructor(document: Document, container: ViewContainerRef, template: TemplateRef<any>, renderer: Renderer2, smartPositionService: ClrPopoverPositionService, smartEventsService: ClrPopoverEventsService, smartOpenService: ClrPopoverToggleService);
3187
3227
  // (undocumented)
3188
3228
  set contentAt(position: ClrPopoverPosition);
3189
3229
  // (undocumented)
@@ -4527,14 +4567,14 @@ export class ClrVerticalNavIcon implements OnDestroy {
4527
4567
  }
4528
4568
 
4529
4569
  // @public (undocumented)
4530
- export class ClrVerticalNavLink {
4531
- constructor(_navGroupService: VerticalNavGroupService);
4570
+ export class ClrVerticalNavLink implements OnDestroy {
4571
+ constructor(host: ElementRef<HTMLElement>, ref: ChangeDetectorRef, navGroupService: VerticalNavGroupService | null);
4532
4572
  // (undocumented)
4533
- expandParentNavGroup(): void;
4573
+ ngOnDestroy(): void;
4534
4574
  // (undocumented)
4535
4575
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrVerticalNavLink, "[clrVerticalNavLink]", never, {}, {}, never, ["[clrVerticalNavIcon]", "*"]>;
4536
4576
  // (undocumented)
4537
- static ɵfac: i0.ɵɵFactoryDeclaration<ClrVerticalNavLink, [{ optional: true; }]>;
4577
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrVerticalNavLink, [null, null, { optional: true; }]>;
4538
4578
  }
4539
4579
 
4540
4580
  // @public (undocumented)
@@ -4923,7 +4963,7 @@ export const CUSTOM_BUTTON_TYPES: any;
4923
4963
  //
4924
4964
  // @public (undocumented)
4925
4965
  export class DatagridNumericFilter<T = any> extends DatagridFilterRegistrar<T, DatagridNumericFilterImpl<T>> implements CustomFilter, AfterViewInit {
4926
- constructor(filters: FiltersProvider<T>, domAdapter: DomAdapter, commonStrings: ClrCommonStringsService, popoverToggleService: ClrPopoverToggleService);
4966
+ constructor(filters: FiltersProvider<T>, domAdapter: DomAdapter, commonStrings: ClrCommonStringsService, popoverToggleService: ClrPopoverToggleService, ngZone: NgZone);
4927
4967
  // (undocumented)
4928
4968
  commonStrings: ClrCommonStringsService;
4929
4969
  set customNumericFilter(value: ClrDatagridNumericFilterInterface<T> | RegisteredFilter<T, DatagridNumericFilterImpl<T>>);
@@ -4937,6 +4977,13 @@ export class DatagridNumericFilter<T = any> extends DatagridFilterRegistrar<T, D
4937
4977
  // (undocumented)
4938
4978
  get low(): number | string;
4939
4979
  set low(low: number | string);
4980
+ maxPlaceholder: string;
4981
+ // (undocumented)
4982
+ get maxPlaceholderValue(): string;
4983
+ // (undocumented)
4984
+ minPlaceholder: string;
4985
+ // (undocumented)
4986
+ get minPlaceholderValue(): string;
4940
4987
  // (undocumented)
4941
4988
  ngAfterViewInit(): void;
4942
4989
  // (undocumented)
@@ -4945,7 +4992,7 @@ export class DatagridNumericFilter<T = any> extends DatagridFilterRegistrar<T, D
4945
4992
  get value(): [number, number];
4946
4993
  set value(values: [number, number]);
4947
4994
  // (undocumented)
4948
- static ɵcmp: i0.ɵɵComponentDeclaration<DatagridNumericFilter<any>, "clr-dg-numeric-filter", never, { "customNumericFilter": "clrDgNumericFilter"; "value": "clrFilterValue"; }, { "filterValueChange": "clrFilterValueChange"; }, never, never>;
4995
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatagridNumericFilter<any>, "clr-dg-numeric-filter", never, { "maxPlaceholder": "clrFilterMaxPlaceholder"; "minPlaceholder": "clrFilterMinPlaceholder"; "customNumericFilter": "clrDgNumericFilter"; "value": "clrFilterValue"; }, { "filterValueChange": "clrFilterValueChange"; }, never, never>;
4949
4996
  // (undocumented)
4950
4997
  static ɵfac: i0.ɵɵFactoryDeclaration<DatagridNumericFilter<any>, never>;
4951
4998
  }
@@ -4985,7 +5032,7 @@ export class DatagridPropertyStringFilter<T = any> implements ClrDatagridStringF
4985
5032
  //
4986
5033
  // @public (undocumented)
4987
5034
  export class DatagridStringFilter<T = any> extends DatagridFilterRegistrar<T, DatagridStringFilterImpl<T>> implements CustomFilter, AfterViewInit, OnDestroy {
4988
- constructor(filters: FiltersProvider<T>, domAdapter: DomAdapter, commonStrings: ClrCommonStringsService, smartToggleService: ClrPopoverToggleService);
5035
+ constructor(filters: FiltersProvider<T>, domAdapter: DomAdapter, commonStrings: ClrCommonStringsService, smartToggleService: ClrPopoverToggleService, ngZone: NgZone);
4989
5036
  // (undocumented)
4990
5037
  commonStrings: ClrCommonStringsService;
4991
5038
  set customStringFilter(value: ClrDatagridStringFilterInterface<T> | RegisteredFilter<T, DatagridStringFilterImpl<T>>);
@@ -4998,10 +5045,13 @@ export class DatagridStringFilter<T = any> extends DatagridFilterRegistrar<T, Da
4998
5045
  // (undocumented)
4999
5046
  ngOnDestroy(): void;
5000
5047
  open: boolean;
5048
+ placeholder: string;
5049
+ // (undocumented)
5050
+ get placeholderValue(): string;
5001
5051
  get value(): string;
5002
5052
  set value(value: string);
5003
5053
  // (undocumented)
5004
- static ɵcmp: i0.ɵɵComponentDeclaration<DatagridStringFilter<any>, "clr-dg-string-filter", never, { "customStringFilter": "clrDgStringFilter"; "value": "clrFilterValue"; }, { "filterValueChange": "clrFilterValueChange"; }, never, never>;
5054
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatagridStringFilter<any>, "clr-dg-string-filter", never, { "placeholder": "clrFilterPlaceholder"; "customStringFilter": "clrDgStringFilter"; "value": "clrFilterValue"; }, { "filterValueChange": "clrFilterValueChange"; }, never, never>;
5005
5055
  // (undocumented)
5006
5056
  static ɵfac: i0.ɵɵFactoryDeclaration<DatagridStringFilter<any>, never>;
5007
5057
  }
@@ -5328,7 +5378,7 @@ export class ÇlrDatagridHeaderRenderer implements OnDestroy {
5328
5378
 
5329
5379
  // @public (undocumented)
5330
5380
  export class ÇlrDatagridMainRenderer implements AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy {
5331
- constructor(organizer: DatagridRenderOrganizer, items: Items, page: Page, domAdapter: DomAdapter, el: ElementRef, renderer: Renderer2, detailService: DetailService, tableSizeService: TableSizeService, columnsService: ColumnsService);
5381
+ constructor(organizer: DatagridRenderOrganizer, items: Items, page: Page, domAdapter: DomAdapter, el: ElementRef, renderer: Renderer2, detailService: DetailService, tableSizeService: TableSizeService, columnsService: ColumnsService, ngZone: NgZone);
5332
5382
  // (undocumented)
5333
5383
  ngAfterContentInit(): void;
5334
5384
  // (undocumented)
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
1
+ import { AfterViewInit, ElementRef, EventEmitter, NgZone } from '@angular/core';
2
2
  import { ClrDatagridFilter } from '../../datagrid-filter';
3
3
  import { ClrDatagridNumericFilterInterface } from '../../interfaces/numeric-filter.interface';
4
4
  import { CustomFilter } from '../../providers/custom-filter';
@@ -13,9 +13,17 @@ export declare class DatagridNumericFilter<T = any> extends DatagridFilterRegist
13
13
  private domAdapter;
14
14
  commonStrings: ClrCommonStringsService;
15
15
  private popoverToggleService;
16
- constructor(filters: FiltersProvider<T>, domAdapter: DomAdapter, commonStrings: ClrCommonStringsService, popoverToggleService: ClrPopoverToggleService);
16
+ private ngZone;
17
+ constructor(filters: FiltersProvider<T>, domAdapter: DomAdapter, commonStrings: ClrCommonStringsService, popoverToggleService: ClrPopoverToggleService, ngZone: NgZone);
17
18
  private subscriptions;
18
19
  ngOnDestroy(): void;
20
+ /**
21
+ * Provide a way to pass external placeholder and aria-label to the filter input
22
+ */
23
+ maxPlaceholder: string;
24
+ get maxPlaceholderValue(): string;
25
+ minPlaceholder: string;
26
+ get minPlaceholderValue(): string;
19
27
  /**
20
28
  * Customizable filter logic based on high and low values
21
29
  */
@@ -45,5 +53,5 @@ export declare class DatagridNumericFilter<T = any> extends DatagridFilterRegist
45
53
  set high(high: number | string);
46
54
  filterValueChange: EventEmitter<any>;
47
55
  static ɵfac: i0.ɵɵFactoryDeclaration<DatagridNumericFilter<any>, never>;
48
- static ɵcmp: i0.ɵɵComponentDeclaration<DatagridNumericFilter<any>, "clr-dg-numeric-filter", never, { "customNumericFilter": "clrDgNumericFilter"; "value": "clrFilterValue"; }, { "filterValueChange": "clrFilterValueChange"; }, never, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatagridNumericFilter<any>, "clr-dg-numeric-filter", never, { "maxPlaceholder": "clrFilterMaxPlaceholder"; "minPlaceholder": "clrFilterMinPlaceholder"; "customNumericFilter": "clrDgNumericFilter"; "value": "clrFilterValue"; }, { "filterValueChange": "clrFilterValueChange"; }, never, never>;
49
57
  }
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, NgZone } from '@angular/core';
2
2
  import { ClrDatagridFilter } from '../../datagrid-filter';
3
3
  import { ClrDatagridStringFilterInterface } from '../../interfaces/string-filter.interface';
4
4
  import { CustomFilter } from '../../providers/custom-filter';
@@ -13,8 +13,14 @@ export declare class DatagridStringFilter<T = any> extends DatagridFilterRegistr
13
13
  private domAdapter;
14
14
  commonStrings: ClrCommonStringsService;
15
15
  private smartToggleService;
16
+ private ngZone;
16
17
  private subs;
17
- constructor(filters: FiltersProvider<T>, domAdapter: DomAdapter, commonStrings: ClrCommonStringsService, smartToggleService: ClrPopoverToggleService);
18
+ constructor(filters: FiltersProvider<T>, domAdapter: DomAdapter, commonStrings: ClrCommonStringsService, smartToggleService: ClrPopoverToggleService, ngZone: NgZone);
19
+ /**
20
+ * Provide a way to pass external placeholder and aria-label to the filter input
21
+ */
22
+ placeholder: string;
23
+ get placeholderValue(): string;
18
24
  /**
19
25
  * Customizable filter logic based on a search text
20
26
  */
@@ -41,5 +47,5 @@ export declare class DatagridStringFilter<T = any> extends DatagridFilterRegistr
41
47
  set value(value: string);
42
48
  filterValueChange: EventEmitter<any>;
43
49
  static ɵfac: i0.ɵɵFactoryDeclaration<DatagridStringFilter<any>, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<DatagridStringFilter<any>, "clr-dg-string-filter", never, { "customStringFilter": "clrDgStringFilter"; "value": "clrFilterValue"; }, { "filterValueChange": "clrFilterValueChange"; }, never, never>;
50
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatagridStringFilter<any>, "clr-dg-string-filter", never, { "placeholder": "clrFilterPlaceholder"; "customStringFilter": "clrDgStringFilter"; "value": "clrFilterValue"; }, { "filterValueChange": "clrFilterValueChange"; }, never, never>;
45
51
  }
@@ -81,6 +81,15 @@ export declare class ClrDatagridColumn<T = any> extends DatagridFilterRegistrar<
81
81
  */
82
82
  customFilter: boolean;
83
83
  set projectedFilter(custom: any);
84
+ /**
85
+ * Help with accessibility for screen readers by providing custom placeholder text inside internal filters
86
+ */
87
+ filterStringPlaceholder: string;
88
+ get filterStringPlaceholderValue(): string;
89
+ filterNumberMaxPlaceholder: string;
90
+ get filterNumberMaxPlaceholderValue(): string;
91
+ filterNumberMinPlaceholder: string;
92
+ get filterNumberMinPlaceholderValue(): string;
84
93
  set updateFilterValue(newValue: string | [number, number]);
85
94
  private initFilterValue;
86
95
  get filterValue(): any;
@@ -98,5 +107,5 @@ export declare class ClrDatagridColumn<T = any> extends DatagridFilterRegistrar<
98
107
  ngOnInit(): void;
99
108
  get _view(): any;
100
109
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumn<any>, never>;
101
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumn<any>, "clr-dg-column", never, { "colType": "clrDgColType"; "field": "clrDgField"; "sortBy": "clrDgSortBy"; "sorted": "clrDgSorted"; "sortOrder": "clrDgSortOrder"; "updateFilterValue": "clrFilterValue"; }, { "sortedChange": "clrDgSortedChange"; "sortOrderChange": "clrDgSortOrderChange"; "filterValueChange": "clrFilterValueChange"; }, ["projectedFilter"], ["clr-dg-filter, clr-dg-string-filter, clr-dg-numeric-filter", "*"]>;
110
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumn<any>, "clr-dg-column", never, { "colType": "clrDgColType"; "field": "clrDgField"; "sortBy": "clrDgSortBy"; "sorted": "clrDgSorted"; "sortOrder": "clrDgSortOrder"; "filterStringPlaceholder": "clrFilterStringPlaceholder"; "filterNumberMaxPlaceholder": "clrFilterNumberMaxPlaceholder"; "filterNumberMinPlaceholder": "clrFilterNumberMinPlaceholder"; "updateFilterValue": "clrFilterValue"; }, { "sortedChange": "clrDgSortedChange"; "sortOrderChange": "clrDgSortOrderChange"; "filterValueChange": "clrFilterValueChange"; }, ["projectedFilter"], ["clr-dg-filter, clr-dg-string-filter, clr-dg-numeric-filter", "*"]>;
102
111
  }
@@ -1,4 +1,4 @@
1
- import { AfterContentInit, AfterViewChecked, AfterViewInit, ElementRef, OnDestroy, Renderer2 } from '@angular/core';
1
+ import { AfterContentInit, AfterViewChecked, AfterViewInit, ElementRef, NgZone, OnDestroy, Renderer2 } from '@angular/core';
2
2
  import { Items } from '../providers/items';
3
3
  import { Page } from '../providers/page';
4
4
  import { TableSizeService } from '../providers/table-size.service';
@@ -19,7 +19,8 @@ export declare class DatagridMainRenderer implements AfterContentInit, AfterView
19
19
  private detailService;
20
20
  private tableSizeService;
21
21
  private columnsService;
22
- constructor(organizer: DatagridRenderOrganizer, items: Items, page: Page, domAdapter: DomAdapter, el: ElementRef, renderer: Renderer2, detailService: DetailService, tableSizeService: TableSizeService, columnsService: ColumnsService);
22
+ private ngZone;
23
+ constructor(organizer: DatagridRenderOrganizer, items: Items, page: Page, domAdapter: DomAdapter, el: ElementRef, renderer: Renderer2, detailService: DetailService, tableSizeService: TableSizeService, columnsService: ColumnsService, ngZone: NgZone);
23
24
  private headers;
24
25
  private rows;
25
26
  ngAfterContentInit(): void;
@@ -1,11 +1,16 @@
1
1
  /**
2
2
  * Undocumented experimental feature: inline editing.
3
3
  */
4
- import { EventEmitter } from '@angular/core';
4
+ import { EventEmitter, OnDestroy } from '@angular/core';
5
5
  import { ClrStackView } from './stack-view';
6
- export declare class StackControl {
6
+ import * as i0 from "@angular/core";
7
+ export declare class StackControl implements OnDestroy {
7
8
  protected stackView: ClrStackView;
8
9
  model: any;
9
10
  modelChange: EventEmitter<any>;
11
+ private subscription;
10
12
  constructor(stackView: ClrStackView);
13
+ ngOnDestroy(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<StackControl, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<StackControl, never, never, {}, {}, never>;
11
16
  }
@@ -42,7 +42,7 @@ export declare class ClrTreeNode<T> implements OnInit, OnDestroy {
42
42
  broadcastFocusOnContainer(): void;
43
43
  onKeyDown(event: KeyboardEvent): void;
44
44
  private get isParent();
45
- private expandOrDefault;
45
+ private toggleExpandOrTriggerDefault;
46
46
  private expandOrFocusFirstChild;
47
47
  private collapseOrFocusParent;
48
48
  private triggerDefaultAction;
@@ -114,4 +114,4 @@ export class StepperModel extends AccordionModel {
114
114
  return this.panels.reduce((prev, next) => (next.open !== false ? prev + 1 : prev), 0);
115
115
  }
116
116
  }
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2FjY29yZGlvbi9zdGVwcGVyL21vZGVscy9zdGVwcGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLE1BQU0sT0FBTyxZQUFhLFNBQVEsY0FBYztJQUFoRDs7UUFDVSwyQkFBc0IsR0FBRyxLQUFLLENBQUM7SUF5SHpDLENBQUM7SUF2SEMsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBVSxFQUFFLElBQUksR0FBRyxLQUFLO1FBQy9CLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBYTtRQUM1QixLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEtBQUssS0FBSyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZTtRQUN6QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxRQUFR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QUFlO1FBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQztJQUN2RCxDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBBY2NvcmRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvcmRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQWNjb3JkaW9uU3RhdHVzIH0gZnJvbSAnLi4vLi4vZW51bXMvYWNjb3JkaW9uLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFN0ZXBwZXJNb2RlbCBleHRlbmRzIEFjY29yZGlvbk1vZGVsIHtcbiAgcHJpdmF0ZSBzdGVwcGVyTW9kZWxJbml0aWFsaXplID0gZmFsc2U7XG5cbiAgZ2V0IGFsbFBhbmVsc0NvbXBsZXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbHMubGVuZ3RoICYmIHRoaXMuZ2V0TnVtYmVyT2ZJbmNvbXBsZXRlUGFuZWxzKCkgPT09IDAgJiYgdGhpcy5nZXROdW1iZXJPZk9wZW5QYW5lbHMoKSA9PT0gMDtcbiAgfVxuXG4gIGFkZFBhbmVsKGlkOiBzdHJpbmcsIG9wZW4gPSBmYWxzZSkge1xuICAgIHN1cGVyLmFkZFBhbmVsKGlkLCBvcGVuKTtcbiAgICB0aGlzLl9wYW5lbHNbaWRdLmRpc2FibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHVwZGF0ZVBhbmVsT3JkZXIoaWRzOiBzdHJpbmdbXSkge1xuICAgIHN1cGVyLnVwZGF0ZVBhbmVsT3JkZXIoaWRzKTtcbiAgICBpZiAodGhpcy5zdGVwcGVyTW9kZWxJbml0aWFsaXplID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5vcGVuRmlyc3RQYW5lbCgpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLl9wYW5lbHNbcGFuZWxJZF0uc3RhdHVzID09PSBBY2NvcmRpb25TdGF0dXMuQ29tcGxldGUpIHtcbiAgICAgIHRoaXMuX3BhbmVsc1twYW5lbElkXS5vcGVuID0gIXRoaXMuX3BhbmVsc1twYW5lbElkXS5vcGVuO1xuICAgIH1cbiAgfVxuXG4gIG5hdmlnYXRlVG9OZXh0UGFuZWwoY3VycmVudFBhbmVsSWQ6IHN0cmluZywgY3VycmVudFBhbmVsVmFsaWQgPSB0cnVlKSB7XG4gICAgaWYgKGN1cnJlbnRQYW5lbFZhbGlkKSB7XG4gICAgICB0aGlzLmNvbXBsZXRlUGFuZWwoY3VycmVudFBhbmVsSWQpO1xuICAgICAgdGhpcy5vcGVuTmV4dFBhbmVsKHRoaXMuX3BhbmVsc1tjdXJyZW50UGFuZWxJZF0uaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFBhbmVsRXJyb3IoY3VycmVudFBhbmVsSWQpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlSW5pdGlhbFBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMucGFuZWxzXG4gICAgICAuZmlsdGVyKCgpID0+IHRoaXMuX3BhbmVsc1twYW5lbElkXSAhPT0gdW5kZWZpbmVkKVxuICAgICAgLmZvckVhY2gocGFuZWwgPT4ge1xuICAgICAgICBpZiAocGFuZWwuaW5kZXggPCB0aGlzLl9wYW5lbHNbcGFuZWxJZF0uaW5kZXgpIHtcbiAgICAgICAgICB0aGlzLmNvbXBsZXRlUGFuZWwocGFuZWwuaWQpO1xuICAgICAgICB9IGVsc2UgaWYgKHBhbmVsLmlkID09PSBwYW5lbElkKSB7XG4gICAgICAgICAgdGhpcy5fcGFuZWxzW3BhbmVsLmlkXS5vcGVuID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9wYW5lbHNbcGFuZWwuaWRdLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBzZXRQYW5lbHNXaXRoRXJyb3JzKGlkczogc3RyaW5nW10pIHtcbiAgICBpZHMuZm9yRWFjaChpZCA9PiB0aGlzLnNldFBhbmVsRXJyb3IoaWQpKTtcbiAgfVxuXG4gIHJlc2V0UGFuZWxzKCkge1xuICAgIC8qIHJldHVybiBzdGVwcGVyIHRvIGluaXRpYWxpemUgc3RhdGUgKi9cbiAgICB0aGlzLnN0ZXBwZXJNb2RlbEluaXRpYWxpemUgPSBmYWxzZTtcbiAgICB0aGlzLnBhbmVscy5mb3JFYWNoKHAgPT4gdGhpcy5yZXNldFBhbmVsKHAuaWQpKTtcbiAgICB0aGlzLm9wZW5GaXJzdFBhbmVsKCk7XG4gIH1cblxuICBnZXROZXh0UGFuZWwoY3VycmVudFBhbmVsSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBhbmVscy5maW5kKHMgPT4gcy5pbmRleCA9PT0gdGhpcy5fcGFuZWxzW2N1cnJlbnRQYW5lbElkXS5pbmRleCArIDEpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEFsbEZ1dHVyZVBhbmVscyhwYW5lbElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhbmVscy5maWx0ZXIocGFuZWwgPT4gcGFuZWwuaW5kZXggPj0gdGhpcy5fcGFuZWxzW3BhbmVsSWRdLmluZGV4KS5mb3JFYWNoKHBhbmVsID0+IHRoaXMucmVzZXRQYW5lbChwYW5lbC5pZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3BhbmVsc1twYW5lbElkXS5zdGF0dXMgPSBBY2NvcmRpb25TdGF0dXMuSW5hY3RpdmU7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLm9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0uZGlzYWJsZWQgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRmlyc3RQYW5lbCgpIHtcbiAgICBjb25zdCBmaXJzdFBhbmVsID0gdGhpcy5nZXRGaXJzdFBhbmVsKCk7XG4gICAgLyoqXG4gICAgICogWW91IG5lZWQgdG8gY2FsbCB1cGRhdGVQYW5lbE9yZGVyIGZpcnN0IHRvIGdldCB0aGUgY29ycmVjdCBvcmRlcixcbiAgICAgKiBlbHNlIHRoZSBsaXN0IG9mIHBhbmVscyB3aWxsIG5vdCBoYXZlIGBpbmRleGAgc2V0IGFuZCB3ZSB3b24ndCBrbm93XG4gICAgICogaG93IHRvIGZpbmQgdGhlIGZpcnN0IHBhbmVsLlxuICAgICAqL1xuICAgIGlmICghZmlyc3RQYW5lbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3BhbmVsc1tmaXJzdFBhbmVsLmlkXS5vcGVuID0gdHJ1ZTtcbiAgICB0aGlzLl9wYW5lbHNbZmlyc3RQYW5lbC5pZF0uZGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuc3RlcHBlck1vZGVsSW5pdGlhbGl6ZSA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGNvbXBsZXRlUGFuZWwocGFuZWxJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLnN0YXR1cyA9IEFjY29yZGlvblN0YXR1cy5Db21wbGV0ZTtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0ub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuTmV4dFBhbmVsKGN1cnJlbnRQYW5lbElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBuZXh0UGFuZWwgPSB0aGlzLmdldE5leHRQYW5lbChjdXJyZW50UGFuZWxJZCk7XG5cbiAgICBpZiAobmV4dFBhbmVsKSB7XG4gICAgICB0aGlzLnJlc2V0QWxsRnV0dXJlUGFuZWxzKG5leHRQYW5lbC5pZCk7XG4gICAgICB0aGlzLl9wYW5lbHNbbmV4dFBhbmVsLmlkXS5vcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3BhbmVsc1tuZXh0UGFuZWwuaWRdLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFBhbmVsRXJyb3IocGFuZWxJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5yZXNldEFsbEZ1dHVyZVBhbmVscyhwYW5lbElkKTtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0ub3BlbiA9IHRydWU7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLnN0YXR1cyA9IEFjY29yZGlvblN0YXR1cy5FcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rmlyc3RQYW5lbCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbHMuZmluZChwYW5lbCA9PiBwYW5lbC5pbmRleCA9PT0gMCk7XG4gIH1cblxuICBwcml2YXRlIGdldE51bWJlck9mSW5jb21wbGV0ZVBhbmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbHMucmVkdWNlKChwcmV2LCBuZXh0KSA9PiAobmV4dC5zdGF0dXMgIT09IEFjY29yZGlvblN0YXR1cy5Db21wbGV0ZSA/IHByZXYgKyAxIDogcHJldiksIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROdW1iZXJPZk9wZW5QYW5lbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFuZWxzLnJlZHVjZSgocHJldiwgbmV4dCkgPT4gKG5leHQub3BlbiAhPT0gZmFsc2UgPyBwcmV2ICsgMSA6IHByZXYpLCAwKTtcbiAgfVxufVxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2FjY29yZGlvbi9zdGVwcGVyL21vZGVscy9zdGVwcGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLE1BQU0sT0FBTyxZQUFhLFNBQVEsY0FBYztJQUFoRDs7UUFDVSwyQkFBc0IsR0FBRyxLQUFLLENBQUM7SUF5SHpDLENBQUM7SUF2SEMsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFUSxRQUFRLENBQUMsRUFBVSxFQUFFLElBQUksR0FBRyxLQUFLO1FBQ3hDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRVEsZ0JBQWdCLENBQUMsR0FBYTtRQUNyQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEtBQUssS0FBSyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFUSxXQUFXLENBQUMsT0FBZTtRQUNsQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxRQUFR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QUFlO1FBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQztJQUN2RCxDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBBY2NvcmRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvcmRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQWNjb3JkaW9uU3RhdHVzIH0gZnJvbSAnLi4vLi4vZW51bXMvYWNjb3JkaW9uLXN0YXR1cy5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFN0ZXBwZXJNb2RlbCBleHRlbmRzIEFjY29yZGlvbk1vZGVsIHtcbiAgcHJpdmF0ZSBzdGVwcGVyTW9kZWxJbml0aWFsaXplID0gZmFsc2U7XG5cbiAgZ2V0IGFsbFBhbmVsc0NvbXBsZXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbHMubGVuZ3RoICYmIHRoaXMuZ2V0TnVtYmVyT2ZJbmNvbXBsZXRlUGFuZWxzKCkgPT09IDAgJiYgdGhpcy5nZXROdW1iZXJPZk9wZW5QYW5lbHMoKSA9PT0gMDtcbiAgfVxuXG4gIG92ZXJyaWRlIGFkZFBhbmVsKGlkOiBzdHJpbmcsIG9wZW4gPSBmYWxzZSkge1xuICAgIHN1cGVyLmFkZFBhbmVsKGlkLCBvcGVuKTtcbiAgICB0aGlzLl9wYW5lbHNbaWRdLmRpc2FibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIG92ZXJyaWRlIHVwZGF0ZVBhbmVsT3JkZXIoaWRzOiBzdHJpbmdbXSkge1xuICAgIHN1cGVyLnVwZGF0ZVBhbmVsT3JkZXIoaWRzKTtcbiAgICBpZiAodGhpcy5zdGVwcGVyTW9kZWxJbml0aWFsaXplID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5vcGVuRmlyc3RQYW5lbCgpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIHRvZ2dsZVBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLl9wYW5lbHNbcGFuZWxJZF0uc3RhdHVzID09PSBBY2NvcmRpb25TdGF0dXMuQ29tcGxldGUpIHtcbiAgICAgIHRoaXMuX3BhbmVsc1twYW5lbElkXS5vcGVuID0gIXRoaXMuX3BhbmVsc1twYW5lbElkXS5vcGVuO1xuICAgIH1cbiAgfVxuXG4gIG5hdmlnYXRlVG9OZXh0UGFuZWwoY3VycmVudFBhbmVsSWQ6IHN0cmluZywgY3VycmVudFBhbmVsVmFsaWQgPSB0cnVlKSB7XG4gICAgaWYgKGN1cnJlbnRQYW5lbFZhbGlkKSB7XG4gICAgICB0aGlzLmNvbXBsZXRlUGFuZWwoY3VycmVudFBhbmVsSWQpO1xuICAgICAgdGhpcy5vcGVuTmV4dFBhbmVsKHRoaXMuX3BhbmVsc1tjdXJyZW50UGFuZWxJZF0uaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFBhbmVsRXJyb3IoY3VycmVudFBhbmVsSWQpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlSW5pdGlhbFBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMucGFuZWxzXG4gICAgICAuZmlsdGVyKCgpID0+IHRoaXMuX3BhbmVsc1twYW5lbElkXSAhPT0gdW5kZWZpbmVkKVxuICAgICAgLmZvckVhY2gocGFuZWwgPT4ge1xuICAgICAgICBpZiAocGFuZWwuaW5kZXggPCB0aGlzLl9wYW5lbHNbcGFuZWxJZF0uaW5kZXgpIHtcbiAgICAgICAgICB0aGlzLmNvbXBsZXRlUGFuZWwocGFuZWwuaWQpO1xuICAgICAgICB9IGVsc2UgaWYgKHBhbmVsLmlkID09PSBwYW5lbElkKSB7XG4gICAgICAgICAgdGhpcy5fcGFuZWxzW3BhbmVsLmlkXS5vcGVuID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9wYW5lbHNbcGFuZWwuaWRdLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBzZXRQYW5lbHNXaXRoRXJyb3JzKGlkczogc3RyaW5nW10pIHtcbiAgICBpZHMuZm9yRWFjaChpZCA9PiB0aGlzLnNldFBhbmVsRXJyb3IoaWQpKTtcbiAgfVxuXG4gIHJlc2V0UGFuZWxzKCkge1xuICAgIC8qIHJldHVybiBzdGVwcGVyIHRvIGluaXRpYWxpemUgc3RhdGUgKi9cbiAgICB0aGlzLnN0ZXBwZXJNb2RlbEluaXRpYWxpemUgPSBmYWxzZTtcbiAgICB0aGlzLnBhbmVscy5mb3JFYWNoKHAgPT4gdGhpcy5yZXNldFBhbmVsKHAuaWQpKTtcbiAgICB0aGlzLm9wZW5GaXJzdFBhbmVsKCk7XG4gIH1cblxuICBnZXROZXh0UGFuZWwoY3VycmVudFBhbmVsSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBhbmVscy5maW5kKHMgPT4gcy5pbmRleCA9PT0gdGhpcy5fcGFuZWxzW2N1cnJlbnRQYW5lbElkXS5pbmRleCArIDEpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEFsbEZ1dHVyZVBhbmVscyhwYW5lbElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhbmVscy5maWx0ZXIocGFuZWwgPT4gcGFuZWwuaW5kZXggPj0gdGhpcy5fcGFuZWxzW3BhbmVsSWRdLmluZGV4KS5mb3JFYWNoKHBhbmVsID0+IHRoaXMucmVzZXRQYW5lbChwYW5lbC5pZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3BhbmVsc1twYW5lbElkXS5zdGF0dXMgPSBBY2NvcmRpb25TdGF0dXMuSW5hY3RpdmU7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLm9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0uZGlzYWJsZWQgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRmlyc3RQYW5lbCgpIHtcbiAgICBjb25zdCBmaXJzdFBhbmVsID0gdGhpcy5nZXRGaXJzdFBhbmVsKCk7XG4gICAgLyoqXG4gICAgICogWW91IG5lZWQgdG8gY2FsbCB1cGRhdGVQYW5lbE9yZGVyIGZpcnN0IHRvIGdldCB0aGUgY29ycmVjdCBvcmRlcixcbiAgICAgKiBlbHNlIHRoZSBsaXN0IG9mIHBhbmVscyB3aWxsIG5vdCBoYXZlIGBpbmRleGAgc2V0IGFuZCB3ZSB3b24ndCBrbm93XG4gICAgICogaG93IHRvIGZpbmQgdGhlIGZpcnN0IHBhbmVsLlxuICAgICAqL1xuICAgIGlmICghZmlyc3RQYW5lbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3BhbmVsc1tmaXJzdFBhbmVsLmlkXS5vcGVuID0gdHJ1ZTtcbiAgICB0aGlzLl9wYW5lbHNbZmlyc3RQYW5lbC5pZF0uZGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuc3RlcHBlck1vZGVsSW5pdGlhbGl6ZSA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGNvbXBsZXRlUGFuZWwocGFuZWxJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLnN0YXR1cyA9IEFjY29yZGlvblN0YXR1cy5Db21wbGV0ZTtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0ub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuTmV4dFBhbmVsKGN1cnJlbnRQYW5lbElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBuZXh0UGFuZWwgPSB0aGlzLmdldE5leHRQYW5lbChjdXJyZW50UGFuZWxJZCk7XG5cbiAgICBpZiAobmV4dFBhbmVsKSB7XG4gICAgICB0aGlzLnJlc2V0QWxsRnV0dXJlUGFuZWxzKG5leHRQYW5lbC5pZCk7XG4gICAgICB0aGlzLl9wYW5lbHNbbmV4dFBhbmVsLmlkXS5vcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3BhbmVsc1tuZXh0UGFuZWwuaWRdLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFBhbmVsRXJyb3IocGFuZWxJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5yZXNldEFsbEZ1dHVyZVBhbmVscyhwYW5lbElkKTtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0ub3BlbiA9IHRydWU7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLnN0YXR1cyA9IEFjY29yZGlvblN0YXR1cy5FcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rmlyc3RQYW5lbCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbHMuZmluZChwYW5lbCA9PiBwYW5lbC5pbmRleCA9PT0gMCk7XG4gIH1cblxuICBwcml2YXRlIGdldE51bWJlck9mSW5jb21wbGV0ZVBhbmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbHMucmVkdWNlKChwcmV2LCBuZXh0KSA9PiAobmV4dC5zdGF0dXMgIT09IEFjY29yZGlvblN0YXR1cy5Db21wbGV0ZSA/IHByZXYgKyAxIDogcHJldiksIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROdW1iZXJPZk9wZW5QYW5lbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFuZWxzLnJlZHVjZSgocHJldiwgbmV4dCkgPT4gKG5leHQub3BlbiAhPT0gZmFsc2UgPyBwcmV2ICsgMSA6IHByZXYpLCAwKTtcbiAgfVxufVxuIl19
@@ -52,4 +52,4 @@ StepperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versi
52
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StepperService, decorators: [{
53
53
  type: Injectable
54
54
  }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvYWNjb3JkaW9uL3N0ZXBwZXIvcHJvdmlkZXJzL3N0ZXBwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR3ZELE1BQU0sT0FBTyxjQUFlLFNBQVEsZ0JBQWdCO0lBRHBEOztRQUVXLG9CQUFlLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDcEQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFakMsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUMxQyxlQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0tBdUM5RDtJQXJDQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsR0FBYTtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxjQUFzQixFQUFFLGlCQUFpQixHQUFHLElBQUk7UUFDbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxPQUFlO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGNBQWMsQ0FBQyxjQUFzQixFQUFFLGlCQUEwQjtRQUN2RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5RCxJQUFJLGlCQUFpQixJQUFJLFNBQVMsRUFBRTtZQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM1QzthQUFNLElBQUksaUJBQWlCLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFTywyQkFBMkI7UUFDakMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsRUFDNUMsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNKLENBQUM7OzJHQTNDVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWNjb3JkaW9uU2VydmljZSB9IGZyb20gJy4vLi4vLi4vcHJvdmlkZXJzL2FjY29yZGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN0ZXBwZXJNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zdGVwcGVyLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN0ZXBwZXJTZXJ2aWNlIGV4dGVuZHMgQWNjb3JkaW9uU2VydmljZSB7XG4gIHJlYWRvbmx5IHBhbmVsc0NvbXBsZXRlZCA9IHRoaXMuZ2V0QWxsQ29tcGxldGVkUGFuZWxDaGFuZ2VzKCk7XG4gIHByb3RlY3RlZCBhY2NvcmRpb24gPSBuZXcgU3RlcHBlck1vZGVsKCk7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlU3RlcENoYW5nZXMgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGFjdGl2ZVN0ZXAgPSB0aGlzLl9hY3RpdmVTdGVwQ2hhbmdlcy5hc09ic2VydmFibGUoKTtcblxuICByZXNldFBhbmVscygpIHtcbiAgICB0aGlzLmFjY29yZGlvbi5yZXNldFBhbmVscygpO1xuICAgIHRoaXMuZW1pdFVwZGF0ZWRQYW5lbHMoKTtcbiAgfVxuXG4gIHNldFBhbmVsc1dpdGhFcnJvcnMoaWRzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuYWNjb3JkaW9uLnNldFBhbmVsc1dpdGhFcnJvcnMoaWRzKTtcbiAgICB0aGlzLmVtaXRVcGRhdGVkUGFuZWxzKCk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvTmV4dFBhbmVsKGN1cnJlbnRQYW5lbElkOiBzdHJpbmcsIGN1cnJlbnRQYW5lbFZhbGlkID0gdHJ1ZSkge1xuICAgIHRoaXMuYWNjb3JkaW9uLm5hdmlnYXRlVG9OZXh0UGFuZWwoY3VycmVudFBhbmVsSWQsIGN1cnJlbnRQYW5lbFZhbGlkKTtcbiAgICB0aGlzLnVwZGF0ZU5leHRTdGVwKGN1cnJlbnRQYW5lbElkLCBjdXJyZW50UGFuZWxWYWxpZCk7XG4gICAgdGhpcy5lbWl0VXBkYXRlZFBhbmVscygpO1xuICB9XG5cbiAgb3ZlcnJpZGVJbml0aWFsUGFuZWwocGFuZWxJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5hY2NvcmRpb24ub3ZlcnJpZGVJbml0aWFsUGFuZWwocGFuZWxJZCk7XG4gICAgdGhpcy5lbWl0VXBkYXRlZFBhbmVscygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVOZXh0U3RlcChjdXJyZW50UGFuZWxJZDogc3RyaW5nLCBjdXJyZW50UGFuZWxWYWxpZDogYm9vbGVhbikge1xuICAgIGNvbnN0IG5leHRQYW5lbCA9IHRoaXMuYWNjb3JkaW9uLmdldE5leHRQYW5lbChjdXJyZW50UGFuZWxJZCk7XG5cbiAgICBpZiAoY3VycmVudFBhbmVsVmFsaWQgJiYgbmV4dFBhbmVsKSB7XG4gICAgICB0aGlzLl9hY3RpdmVTdGVwQ2hhbmdlcy5uZXh0KG5leHRQYW5lbC5pZCk7XG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFuZWxWYWxpZCkge1xuICAgICAgdGhpcy5fYWN0aXZlU3RlcENoYW5nZXMubmV4dChjdXJyZW50UGFuZWxJZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxDb21wbGV0ZWRQYW5lbENoYW5nZXMoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhbmVsc0NoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmFjY29yZGlvbi5hbGxQYW5lbHNDb21wbGV0ZWQpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvYWNjb3JkaW9uL3N0ZXBwZXIvcHJvdmlkZXJzL3N0ZXBwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR3ZELE1BQU0sT0FBTyxjQUFlLFNBQVEsZ0JBQWdCO0lBRHBEOztRQUVXLG9CQUFlLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDM0MsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUMxQyxlQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0tBdUM5RDtJQXJDQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsR0FBYTtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxjQUFzQixFQUFFLGlCQUFpQixHQUFHLElBQUk7UUFDbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxPQUFlO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGNBQWMsQ0FBQyxjQUFzQixFQUFFLGlCQUEwQjtRQUN2RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5RCxJQUFJLGlCQUFpQixJQUFJLFNBQVMsRUFBRTtZQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM1QzthQUFNLElBQUksaUJBQWlCLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFTywyQkFBMkI7UUFDakMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsRUFDNUMsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNKLENBQUM7OzJHQTNDVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWNjb3JkaW9uU2VydmljZSB9IGZyb20gJy4vLi4vLi4vcHJvdmlkZXJzL2FjY29yZGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN0ZXBwZXJNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zdGVwcGVyLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN0ZXBwZXJTZXJ2aWNlIGV4dGVuZHMgQWNjb3JkaW9uU2VydmljZSB7XG4gIHJlYWRvbmx5IHBhbmVsc0NvbXBsZXRlZCA9IHRoaXMuZ2V0QWxsQ29tcGxldGVkUGFuZWxDaGFuZ2VzKCk7XG4gIHByb3RlY3RlZCBvdmVycmlkZSBhY2NvcmRpb24gPSBuZXcgU3RlcHBlck1vZGVsKCk7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlU3RlcENoYW5nZXMgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGFjdGl2ZVN0ZXAgPSB0aGlzLl9hY3RpdmVTdGVwQ2hhbmdlcy5hc09ic2VydmFibGUoKTtcblxuICByZXNldFBhbmVscygpIHtcbiAgICB0aGlzLmFjY29yZGlvbi5yZXNldFBhbmVscygpO1xuICAgIHRoaXMuZW1pdFVwZGF0ZWRQYW5lbHMoKTtcbiAgfVxuXG4gIHNldFBhbmVsc1dpdGhFcnJvcnMoaWRzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuYWNjb3JkaW9uLnNldFBhbmVsc1dpdGhFcnJvcnMoaWRzKTtcbiAgICB0aGlzLmVtaXRVcGRhdGVkUGFuZWxzKCk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvTmV4dFBhbmVsKGN1cnJlbnRQYW5lbElkOiBzdHJpbmcsIGN1cnJlbnRQYW5lbFZhbGlkID0gdHJ1ZSkge1xuICAgIHRoaXMuYWNjb3JkaW9uLm5hdmlnYXRlVG9OZXh0UGFuZWwoY3VycmVudFBhbmVsSWQsIGN1cnJlbnRQYW5lbFZhbGlkKTtcbiAgICB0aGlzLnVwZGF0ZU5leHRTdGVwKGN1cnJlbnRQYW5lbElkLCBjdXJyZW50UGFuZWxWYWxpZCk7XG4gICAgdGhpcy5lbWl0VXBkYXRlZFBhbmVscygpO1xuICB9XG5cbiAgb3ZlcnJpZGVJbml0aWFsUGFuZWwocGFuZWxJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5hY2NvcmRpb24ub3ZlcnJpZGVJbml0aWFsUGFuZWwocGFuZWxJZCk7XG4gICAgdGhpcy5lbWl0VXBkYXRlZFBhbmVscygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVOZXh0U3RlcChjdXJyZW50UGFuZWxJZDogc3RyaW5nLCBjdXJyZW50UGFuZWxWYWxpZDogYm9vbGVhbikge1xuICAgIGNvbnN0IG5leHRQYW5lbCA9IHRoaXMuYWNjb3JkaW9uLmdldE5leHRQYW5lbChjdXJyZW50UGFuZWxJZCk7XG5cbiAgICBpZiAoY3VycmVudFBhbmVsVmFsaWQgJiYgbmV4dFBhbmVsKSB7XG4gICAgICB0aGlzLl9hY3RpdmVTdGVwQ2hhbmdlcy5uZXh0KG5leHRQYW5lbC5pZCk7XG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFuZWxWYWxpZCkge1xuICAgICAgdGhpcy5fYWN0aXZlU3RlcENoYW5nZXMubmV4dChjdXJyZW50UGFuZWxJZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxDb21wbGV0ZWRQYW5lbENoYW5nZXMoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhbmVsc0NoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmFjY29yZGlvbi5hbGxQYW5lbHNDb21wbGV0ZWQpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
86
86
  type: ViewChild,
87
87
  args: ['headerButton']
88
88
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci1wYW5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2FjY29yZGlvbi9zdGVwcGVyL3N0ZXBwZXItcGFuZWwudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9hY2NvcmRpb24vYWNjb3JkaW9uLXBhbmVsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxFQUVULFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFHOUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBVXBELE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFpQjtJQWtCcEQsWUFDK0IsVUFBZSxFQUNyQyxhQUFzQyxFQUN6QixhQUE0QixFQUM1QixZQUEwQixFQUN0QyxjQUE4QixFQUN0QyxlQUFnQyxFQUNiLEVBQVU7UUFFN0IsS0FBSyxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLEVBQUUs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QUFlLEVBQUUsa0JBQWtCLENBQUMsK0pDckNsRCxpN0VBcURBLCtRRGpCYyxhQUFhOzJGQUdkLGVBQWU7a0JBUjNCLFNBQVM7K0JBQ0UsbUJBQW1CLFFBRXZCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxFQUFFLG1CQUM5Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLGFBQWEsYUFDZCxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQzs7MEJBcUI3QyxNQUFNOzJCQUFDLFdBQVc7OzBCQUVsQixRQUFROzswQkFDUixRQUFROzswQkFHUixNQUFNOzJCQUFDLFNBQVM7NENBdEJRLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT3B0aW9uYWwsXG4gIEluamVjdCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIFBMQVRGT1JNX0lELFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cE5hbWUsIE5nTW9kZWxHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRhcCwgZmlsdGVyLCBwYWlyd2lzZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBVTklRVUVfSURfUFJPVklERVIsIFVOSVFVRV9JRCB9IGZyb20gJy4uLy4uL3V0aWxzL2lkLWdlbmVyYXRvci9pZC1nZW5lcmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBTdGVwcGVyU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL3N0ZXBwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBzdGVwQW5pbWF0aW9uIH0gZnJvbSAnLi4vdXRpbHMvYW5pbWF0aW9uJztcbmltcG9ydCB7IHRyaWdnZXJBbGxGb3JtQ29udHJvbFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9mb3Jtcy92YWxpZGF0aW9uJztcbmltcG9ydCB7IElmRXhwYW5kU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbmRpdGlvbmFsL2lmLWV4cGFuZGVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWNjb3JkaW9uUGFuZWxNb2RlbCB9IGZyb20gJy4uL21vZGVscy9hY2NvcmRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQWNjb3JkaW9uU3RhdHVzIH0gZnJvbSAnLi4vZW51bXMvYWNjb3JkaW9uLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IENsckFjY29yZGlvblBhbmVsIH0gZnJvbSAnLi4vYWNjb3JkaW9uLXBhbmVsJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLXN0ZXBwZXItcGFuZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vLi4vYWNjb3JkaW9uLXBhbmVsLmh0bWwnLFxuICBob3N0OiB7ICdbY2xhc3MuY2xyLWFjY29yZGlvbi1wYW5lbF0nOiAndHJ1ZScgfSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IHN0ZXBBbmltYXRpb24sXG4gIHByb3ZpZGVyczogW0lmRXhwYW5kU2VydmljZSwgVU5JUVVFX0lEX1BST1ZJREVSXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyU3RlcHBlclBhbmVsIGV4dGVuZHMgQ2xyQWNjb3JkaW9uUGFuZWwgaW1wbGVtZW50cyBPbkluaXQge1xuICBpc0FjY29yZGlvbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlckJ1dHRvbicpIGhlYWRlckJ1dHRvbjogRWxlbWVudFJlZjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGdldCBmb3JtR3JvdXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwTmFtZSA/IHRoaXMuZm9ybUdyb3VwTmFtZS5jb250cm9sIDogdGhpcy5uZ01vZGVsR3JvdXAuY29udHJvbDtcbiAgfVxuXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cE5hbWUgPyB0aGlzLmZvcm1Hcm91cE5hbWUubmFtZS50b1N0cmluZygpIDogdGhpcy5uZ01vZGVsR3JvdXAubmFtZTtcbiAgfVxuXG4gIHNldCBpZChfdmFsdWU6IHN0cmluZykge1xuICAgIC8vIG92ZXJyaWRpbmcgcGFyZW50IGlkIHJlcXVpcmVkIGVtcHR5IHNldHRlclxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgcHVibGljIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZm9ybUdyb3VwTmFtZTogRm9ybUdyb3VwTmFtZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIG5nTW9kZWxHcm91cDogTmdNb2RlbEdyb3VwLFxuICAgIHByaXZhdGUgc3RlcHBlclNlcnZpY2U6IFN0ZXBwZXJTZXJ2aWNlLFxuICAgIGlmRXhwYW5kU2VydmljZTogSWZFeHBhbmRTZXJ2aWNlLFxuICAgIEBJbmplY3QoVU5JUVVFX0lEKSBpZDogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKGNvbW1vblN0cmluZ3MsIHN0ZXBwZXJTZXJ2aWNlLCBpZkV4cGFuZFNlcnZpY2UsIGlkKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5wYW5lbCA9IHRoaXMucGFuZWwucGlwZSh0YXAocGFuZWwgPT4gdGhpcy50cmlnZ2VyQWxsRm9ybUNvbnRyb2xWYWxpZGF0aW9uSWZFcnJvcihwYW5lbCkpKTtcbiAgICB0aGlzLnN0ZXBwZXJTZXJ2aWNlLmRpc2FibGVQYW5lbCh0aGlzLmlkLCB0cnVlKTtcbiAgICB0aGlzLmxpc3RlblRvRm9jdXNDaGFuZ2VzKCk7XG5cbiAgICBpZiAodGhpcy5mb3JtR3JvdXApIHtcbiAgICAgIC8vIG5vdCBhbGwgc3RlcHBlciBwYW5lbHMgYXJlIGd1YXJhbnRlZWQgdG8gaGF2ZSBhIGZvcm0gKGkuZS4gZW1wdHkgdGVtcGxhdGUtZHJpdmVuKVxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnN0YXR1c0NoYW5nZXMucGlwZShwYWlyd2lzZSgpKS5zdWJzY3JpYmUoKFtwcmV2U3RhdHVzLCBuZXdTdGF0dXNdKSA9PiB7XG4gICAgICAgICAgaWYgKCdWQUxJRCcgPT09IHByZXZTdGF0dXMgJiYgJ0lOVkFMSUQnID09PSBuZXdTdGF0dXMpIHtcbiAgICAgICAgICAgIHRoaXMuc3RlcHBlclNlcnZpY2UubmF2aWdhdGVUb05leHRQYW5lbCh0aGlzLmlkLCB0aGlzLmZvcm1Hcm91cC52YWxpZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvRm9jdXNDaGFuZ2VzKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5zdGVwcGVyU2VydmljZS5hY3RpdmVTdGVwXG4gICAgICAgIC5waXBlKGZpbHRlcihwYW5lbElkID0+IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgcGFuZWxJZCA9PT0gdGhpcy5pZCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5oZWFkZXJCdXR0b24ubmF0aXZlRWxlbWVudC5mb2N1cygpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHRyaWdnZXJBbGxGb3JtQ29udHJvbFZhbGlkYXRpb25JZkVycm9yKHBhbmVsOiBBY2NvcmRpb25QYW5lbE1vZGVsKSB7XG4gICAgaWYgKHBhbmVsLnN0YXR1cyA9PT0gQWNjb3JkaW9uU3RhdHVzLkVycm9yKSB7XG4gICAgICB0cmlnZ2VyQWxsRm9ybUNvbnRyb2xWYWxpZGF0aW9uKHRoaXMuZm9ybUdyb3VwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJwYW5lbCB8IGFzeW5jOyBsZXQgcGFuZWxcIj5cbiAgPGRpdiAqbmdJZj1cInBhbmVsLnN0YXR1cyAhPT0gQWNjb3JkaW9uU3RhdHVzLkluYWN0aXZlXCIgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCIgY2xhc3M9XCJjbHItc3Itb25seVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYW5lbC5zdGF0dXMgPT09IEFjY29yZGlvblN0YXR1cy5FcnJvclwiPnt7Y29tbW9uU3RyaW5ncy5rZXlzLmRhbmdlcn19PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgW25nQ2xhc3NdPVwiZ2V0UGFuZWxTdGF0ZUNsYXNzZXMocGFuZWwpXCI+XG4gICAgPGRpdiBjbGFzcz1cImNsci1hY2NvcmRpb24taGVhZGVyXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImNsci1hY2NvcmRpb24taGVhZGVyLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVQYW5lbCgpXCJcbiAgICAgICAgW2lkXT1cImdldEFjY29yZGlvbkhlYWRlcklkKHBhbmVsLnRlbXBsYXRlSWQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzQWNjb3JkaW9uICYmIHBhbmVsLmRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCIhaXNBY2NvcmRpb24gJiYgcGFuZWwuZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImdldEFjY29yZGlvbkNvbnRlbnRJZChwYW5lbC50ZW1wbGF0ZUlkKVwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwicGFuZWwub3BlblwiXG4gICAgICAgIFtjbGFzcy5jbHItYWNjb3JkaW9uLWhlYWRlci1oYXMtZGVzY3JpcHRpb25dPVwiKGFjY29yZGlvbkRlc2NyaXB0aW9uLmNoYW5nZXMgfCBhc3luYyk/Lmxlbmd0aCB8fCBhY2NvcmRpb25EZXNjcmlwdGlvbi5sZW5ndGhcIlxuICAgICAgICAjaGVhZGVyQnV0dG9uXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2xyLXNyLW9ubHlcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFuZWwuc3RhdHVzID09PSBBY2NvcmRpb25TdGF0dXMuRXJyb3JcIj57e2NvbW1vblN0cmluZ3Mua2V5cy5kYW5nZXJ9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYW5lbC5zdGF0dXMgPT09IEFjY29yZGlvblN0YXR1cy5Db21wbGV0ZVwiPnt7Y29tbW9uU3RyaW5ncy5rZXlzLnN1Y2Nlc3N9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1zdGF0dXNcIj5cbiAgICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJhbmdsZVwiIGRpcmVjdGlvbj1cInJpZ2h0XCIgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWFuZ2xlXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsci1hY2NvcmRpb24tbnVtYmVyXCI+PC9zcGFuPlxuICAgICAgICAgIDxjZHMtaWNvbiBzdGF0dXM9XCJkYW5nZXJcIiBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1lcnJvci1pY29uXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgICA8Y2RzLWljb24gc3RhdHVzPVwic3VjY2Vzc1wiIHNoYXBlPVwiY2hlY2stY2lyY2xlXCIgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWNvbXBsZXRlLWljb25cIj48L2Nkcy1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNsci1hY2NvcmRpb24tdGl0bGUsIGNsci1zdGVwLXRpdGxlXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjbHItYWNjb3JkaW9uLWRlc2NyaXB0aW9uLCBjbHItc3RlcC1kZXNjcmlwdGlvblwiPjwvbmctY29udGVudD5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIEBza2lwSW5pdGlhbFJlbmRlclxuICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICBbaWRdPVwiZ2V0QWNjb3JkaW9uQ29udGVudElkKHBhbmVsLnRlbXBsYXRlSWQpXCJcbiAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIiFwYW5lbC5vcGVuXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJnZXRBY2NvcmRpb25IZWFkZXJJZChwYW5lbC50ZW1wbGF0ZUlkKVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInBhbmVsLm9wZW5cIlxuICAgICAgICBAdG9nZ2xlXG4gICAgICAgIChAdG9nZ2xlLmRvbmUpPVwiY29sbGFwc2VQYW5lbE9uQW5pbWF0aW9uRG9uZShwYW5lbClcIlxuICAgICAgICBjbGFzcz1cImNsci1hY2NvcmRpb24tY29udGVudFwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWlubmVyLWNvbnRlbnRcIj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci1wYW5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2FjY29yZGlvbi9zdGVwcGVyL3N0ZXBwZXItcGFuZWwudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9hY2NvcmRpb24vYWNjb3JkaW9uLXBhbmVsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixNQUFNLEVBRU4sU0FBUyxFQUVULFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFHOUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBVXBELE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFpQjtJQWtCcEQsWUFDK0IsVUFBZSxFQUM1QixhQUFzQyxFQUNsQyxhQUE0QixFQUM1QixZQUEwQixFQUN0QyxjQUE4QixFQUN0QyxlQUFnQyxFQUNiLEVBQVU7UUFFN0IsS0FBSyxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBUjdCLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3RDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXRCL0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFHckIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0lBd0IzQyxDQUFDO0lBdEJELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxJQUFhLEVBQUU7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUMxRixDQUFDO0lBRUQsSUFBYSxFQUFFLENBQUMsTUFBYztRQUM1Qiw2Q0FBNkM7SUFDL0MsQ0FBQztJQWNRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0NBQXNDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLG9GQUFvRjtZQUNwRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRTtnQkFDbEYsSUFBSSxPQUFPLEtBQUssVUFBVSxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUU7b0JBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN4RTtZQUNILENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVU7YUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2xGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUM1RCxDQUFDO0lBQ0osQ0FBQztJQUVPLHNDQUFzQyxDQUFDLEtBQTBCO1FBQ3ZFLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxlQUFlLENBQUMsS0FBSyxFQUFFO1lBQzFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7OzRHQWhFVSxlQUFlLGtCQW1CaEIsV0FBVywwTUFNWCxTQUFTO2dHQXpCUixlQUFlLDJHQUZmLENBQUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLCtKQ3JDbEQsaTdFQXFEQSwrUURqQmMsYUFBYTsyRkFHZCxlQUFlO2tCQVIzQixTQUFTOytCQUNFLG1CQUFtQixRQUV2QixFQUFFLDZCQUE2QixFQUFFLE1BQU0sRUFBRSxtQkFDOUIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxhQUFhLGFBQ2QsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUM7OzBCQXFCN0MsTUFBTTsyQkFBQyxXQUFXOzswQkFFbEIsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBR1IsTUFBTTsyQkFBQyxTQUFTOzRDQXRCUSxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9wdGlvbmFsLFxuICBJbmplY3QsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBQTEFURk9STV9JRCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXBOYW1lLCBOZ01vZGVsR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YXAsIGZpbHRlciwgcGFpcndpc2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVU5JUVVFX0lEX1BST1ZJREVSLCBVTklRVUVfSUQgfSBmcm9tICcuLi8uLi91dGlscy9pZC1nZW5lcmF0b3IvaWQtZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9pMThuL2NvbW1vbi1zdHJpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RlcHBlclNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9zdGVwcGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgc3RlcEFuaW1hdGlvbiB9IGZyb20gJy4uL3V0aWxzL2FuaW1hdGlvbic7XG5pbXBvcnQgeyB0cmlnZ2VyQWxsRm9ybUNvbnRyb2xWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybXMvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBJZkV4cGFuZFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9jb25kaXRpb25hbC9pZi1leHBhbmRlZC5zZXJ2aWNlJztcbmltcG9ydCB7IEFjY29yZGlvblBhbmVsTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYWNjb3JkaW9uLm1vZGVsJztcbmltcG9ydCB7IEFjY29yZGlvblN0YXR1cyB9IGZyb20gJy4uL2VudW1zL2FjY29yZGlvbi1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBDbHJBY2NvcmRpb25QYW5lbCB9IGZyb20gJy4uL2FjY29yZGlvbi1wYW5lbCc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1zdGVwcGVyLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuLy4uL2FjY29yZGlvbi1wYW5lbC5odG1sJyxcbiAgaG9zdDogeyAnW2NsYXNzLmNsci1hY2NvcmRpb24tcGFuZWxdJzogJ3RydWUnIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBzdGVwQW5pbWF0aW9uLFxuICBwcm92aWRlcnM6IFtJZkV4cGFuZFNlcnZpY2UsIFVOSVFVRV9JRF9QUk9WSURFUl0sXG59KVxuZXhwb3J0IGNsYXNzIENsclN0ZXBwZXJQYW5lbCBleHRlbmRzIENsckFjY29yZGlvblBhbmVsIGltcGxlbWVudHMgT25Jbml0IHtcbiAgb3ZlcnJpZGUgaXNBY2NvcmRpb24gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdoZWFkZXJCdXR0b24nKSBoZWFkZXJCdXR0b246IEVsZW1lbnRSZWY7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBnZXQgZm9ybUdyb3VwKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cE5hbWUgPyB0aGlzLmZvcm1Hcm91cE5hbWUuY29udHJvbCA6IHRoaXMubmdNb2RlbEdyb3VwLmNvbnRyb2w7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXBOYW1lID8gdGhpcy5mb3JtR3JvdXBOYW1lLm5hbWUudG9TdHJpbmcoKSA6IHRoaXMubmdNb2RlbEdyb3VwLm5hbWU7XG4gIH1cblxuICBvdmVycmlkZSBzZXQgaWQoX3ZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBvdmVycmlkaW5nIHBhcmVudCBpZCByZXF1aXJlZCBlbXB0eSBzZXR0ZXJcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxuICAgIHB1YmxpYyBvdmVycmlkZSBjb21tb25TdHJpbmdzOiBDbHJDb21tb25TdHJpbmdzU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGZvcm1Hcm91cE5hbWU6IEZvcm1Hcm91cE5hbWUsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBuZ01vZGVsR3JvdXA6IE5nTW9kZWxHcm91cCxcbiAgICBwcml2YXRlIHN0ZXBwZXJTZXJ2aWNlOiBTdGVwcGVyU2VydmljZSxcbiAgICBpZkV4cGFuZFNlcnZpY2U6IElmRXhwYW5kU2VydmljZSxcbiAgICBASW5qZWN0KFVOSVFVRV9JRCkgaWQ6IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihjb21tb25TdHJpbmdzLCBzdGVwcGVyU2VydmljZSwgaWZFeHBhbmRTZXJ2aWNlLCBpZCk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMucGFuZWwgPSB0aGlzLnBhbmVsLnBpcGUodGFwKHBhbmVsID0+IHRoaXMudHJpZ2dlckFsbEZvcm1Db250cm9sVmFsaWRhdGlvbklmRXJyb3IocGFuZWwpKSk7XG4gICAgdGhpcy5zdGVwcGVyU2VydmljZS5kaXNhYmxlUGFuZWwodGhpcy5pZCwgdHJ1ZSk7XG4gICAgdGhpcy5saXN0ZW5Ub0ZvY3VzQ2hhbmdlcygpO1xuXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwKSB7XG4gICAgICAvLyBub3QgYWxsIHN0ZXBwZXIgcGFuZWxzIGFyZSBndWFyYW50ZWVkIHRvIGhhdmUgYSBmb3JtIChpLmUuIGVtcHR5IHRlbXBsYXRlLWRyaXZlbilcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5zdGF0dXNDaGFuZ2VzLnBpcGUocGFpcndpc2UoKSkuc3Vic2NyaWJlKChbcHJldlN0YXR1cywgbmV3U3RhdHVzXSkgPT4ge1xuICAgICAgICAgIGlmICgnVkFMSUQnID09PSBwcmV2U3RhdHVzICYmICdJTlZBTElEJyA9PT0gbmV3U3RhdHVzKSB7XG4gICAgICAgICAgICB0aGlzLnN0ZXBwZXJTZXJ2aWNlLm5hdmlnYXRlVG9OZXh0UGFuZWwodGhpcy5pZCwgdGhpcy5mb3JtR3JvdXAudmFsaWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0ZvY3VzQ2hhbmdlcygpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuc3RlcHBlclNlcnZpY2UuYWN0aXZlU3RlcFxuICAgICAgICAucGlwZShmaWx0ZXIocGFuZWxJZCA9PiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHBhbmVsSWQgPT09IHRoaXMuaWQpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuaGVhZGVyQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmlnZ2VyQWxsRm9ybUNvbnRyb2xWYWxpZGF0aW9uSWZFcnJvcihwYW5lbDogQWNjb3JkaW9uUGFuZWxNb2RlbCkge1xuICAgIGlmIChwYW5lbC5zdGF0dXMgPT09IEFjY29yZGlvblN0YXR1cy5FcnJvcikge1xuICAgICAgdHJpZ2dlckFsbEZvcm1Db250cm9sVmFsaWRhdGlvbih0aGlzLmZvcm1Hcm91cCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicGFuZWwgfCBhc3luYzsgbGV0IHBhbmVsXCI+XG4gIDxkaXYgKm5nSWY9XCJwYW5lbC5zdGF0dXMgIT09IEFjY29yZGlvblN0YXR1cy5JbmFjdGl2ZVwiIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiIGNsYXNzPVwiY2xyLXNyLW9ubHlcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFuZWwuc3RhdHVzID09PSBBY2NvcmRpb25TdGF0dXMuRXJyb3JcIj57e2NvbW1vblN0cmluZ3Mua2V5cy5kYW5nZXJ9fTwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8ZGl2IFtuZ0NsYXNzXT1cImdldFBhbmVsU3RhdGVDbGFzc2VzKHBhbmVsKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWhlYWRlclwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWhlYWRlci1idXR0b25cIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlUGFuZWwoKVwiXG4gICAgICAgIFtpZF09XCJnZXRBY2NvcmRpb25IZWFkZXJJZChwYW5lbC50ZW1wbGF0ZUlkKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc0FjY29yZGlvbiAmJiBwYW5lbC5kaXNhYmxlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiIWlzQWNjb3JkaW9uICYmIHBhbmVsLmRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJnZXRBY2NvcmRpb25Db250ZW50SWQocGFuZWwudGVtcGxhdGVJZClcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInBhbmVsLm9wZW5cIlxuICAgICAgICBbY2xhc3MuY2xyLWFjY29yZGlvbi1oZWFkZXItaGFzLWRlc2NyaXB0aW9uXT1cIihhY2NvcmRpb25EZXNjcmlwdGlvbi5jaGFuZ2VzIHwgYXN5bmMpPy5sZW5ndGggfHwgYWNjb3JkaW9uRGVzY3JpcHRpb24ubGVuZ3RoXCJcbiAgICAgICAgI2hlYWRlckJ1dHRvblxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNsci1zci1vbmx5XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhbmVsLnN0YXR1cyA9PT0gQWNjb3JkaW9uU3RhdHVzLkVycm9yXCI+e3tjb21tb25TdHJpbmdzLmtleXMuZGFuZ2VyfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFuZWwuc3RhdHVzID09PSBBY2NvcmRpb25TdGF0dXMuQ29tcGxldGVcIj57e2NvbW1vblN0cmluZ3Mua2V5cy5zdWNjZXNzfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNsci1hY2NvcmRpb24tc3RhdHVzXCI+XG4gICAgICAgICAgPGNkcy1pY29uIHNoYXBlPVwiYW5nbGVcIiBkaXJlY3Rpb249XCJyaWdodFwiIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1hbmdsZVwiPjwvY2RzLWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjbHItYWNjb3JkaW9uLW51bWJlclwiPjwvc3Bhbj5cbiAgICAgICAgICA8Y2RzLWljb24gc3RhdHVzPVwiZGFuZ2VyXCIgc2hhcGU9XCJleGNsYW1hdGlvbi1jaXJjbGVcIiBjbGFzcz1cImNsci1hY2NvcmRpb24tZXJyb3ItaWNvblwiPjwvY2RzLWljb24+XG4gICAgICAgICAgPGNkcy1pY29uIHN0YXR1cz1cInN1Y2Nlc3NcIiBzaGFwZT1cImNoZWNrLWNpcmNsZVwiIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1jb21wbGV0ZS1pY29uXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjbHItYWNjb3JkaW9uLXRpdGxlLCBjbHItc3RlcC10aXRsZVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2xyLWFjY29yZGlvbi1kZXNjcmlwdGlvbiwgY2xyLXN0ZXAtZGVzY3JpcHRpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBAc2tpcEluaXRpYWxSZW5kZXJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgW2lkXT1cImdldEFjY29yZGlvbkNvbnRlbnRJZChwYW5lbC50ZW1wbGF0ZUlkKVwiXG4gICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhcGFuZWwub3BlblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZ2V0QWNjb3JkaW9uSGVhZGVySWQocGFuZWwudGVtcGxhdGVJZClcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJwYW5lbC5vcGVuXCJcbiAgICAgICAgQHRvZ2dsZVxuICAgICAgICAoQHRvZ2dsZS5kb25lKT1cImNvbGxhcHNlUGFuZWxPbkFuaW1hdGlvbkRvbmUocGFuZWwpXCJcbiAgICAgICAgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWNvbnRlbnRcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2xyLWFjY29yZGlvbi1pbm5lci1jb250ZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19