@odx/angular 12.4.1 → 12.5.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 (24) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/cdk/autocomplete-control/lib/autocomplete-control.d.ts +3 -3
  3. package/components/select/lib/directives/index.d.ts +1 -0
  4. package/components/select/lib/directives/select-all.directive.d.ts +13 -0
  5. package/components/select/lib/select.component.d.ts +24 -3
  6. package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +2 -2
  7. package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +2 -2
  8. package/esm2022/components/datepicker/lib/datepicker.component.mjs +2 -2
  9. package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +3 -5
  10. package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +2 -3
  11. package/esm2022/components/select/lib/directives/index.mjs +2 -1
  12. package/esm2022/components/select/lib/directives/select-all.directive.mjs +33 -0
  13. package/esm2022/components/select/lib/select.component.mjs +69 -16
  14. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +1 -1
  15. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  16. package/fesm2022/odx-angular-components-autocomplete.mjs +1 -1
  17. package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
  18. package/fesm2022/odx-angular-components-datepicker.mjs +1 -1
  19. package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
  20. package/fesm2022/odx-angular-components-daterangepicker.mjs +2 -4
  21. package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
  22. package/fesm2022/odx-angular-components-select.mjs +101 -19
  23. package/fesm2022/odx-angular-components-select.mjs.map +1 -1
  24. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @odx/angular
2
2
 
3
+ ## 12.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b22a138: Add boolean flag "hasSelectAll" to select component to be able to show a "Select all" option
8
+
9
+ ## 12.4.2
10
+
11
+ ### Patch Changes
12
+
13
+ - 47a9310: fix: datepicker and daterangepicker - prevent form control from being marked as dirty on init
14
+
3
15
  ## 12.4.1
4
16
 
5
17
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
1
+ import { ActiveDescendantKeyManager, Highlightable } from '@angular/cdk/a11y';
2
2
  import { AfterViewInit, ChangeDetectorRef, EventEmitter, QueryList } from '@angular/core';
3
3
  import { StringifyFn } from '@odx/angular';
4
4
  import { CustomFormControl, InputControlDirective } from '@odx/angular/cdk/custom-form-control';
@@ -26,7 +26,7 @@ export declare abstract class AutocompleteControl<T> extends CustomFormControl<T
26
26
  protected readonly changeDetector: ChangeDetectorRef;
27
27
  protected readonly formField: FormFieldComponent | null;
28
28
  protected readonly takeUntilDestroyed: <T_1>() => import("rxjs").MonoTypeOperatorFunction<T_1>;
29
- protected keyManager?: ActiveDescendantKeyManager<OptionControl<T>>;
29
+ protected keyManager?: ActiveDescendantKeyManager<Highlightable>;
30
30
  protected smoothScrollEnabled: boolean;
31
31
  protected readonly dropdown?: DropdownDirective;
32
32
  abstract searchField?: InputControlDirective;
@@ -128,7 +128,7 @@ export declare abstract class AutocompleteControl<T> extends CustomFormControl<T
128
128
  protected abstract handleQueryListOption(options: QueryList<OptionControl<T>>): void;
129
129
  protected abstract handleSearchFieldChanges(): void;
130
130
  protected abstract activateSelectedOption(): void;
131
- protected initKeyManager(options: QueryList<OptionControl<T>>): void;
131
+ protected initKeyManager(options: Highlightable[]): void;
132
132
  protected disableSmoothScroll(): void;
133
133
  protected enableSmoothScroll(): void;
134
134
  protected openDropdown(): void;
@@ -1 +1,2 @@
1
+ export * from './select-all.directive';
1
2
  export * from './select-input-control.directive';
@@ -0,0 +1,13 @@
1
+ import { Highlightable } from '@angular/cdk/a11y';
2
+ import { ElementRef } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SelectAllDirective implements Highlightable {
5
+ protected isActive: boolean;
6
+ protected readonly element: ElementRef<HTMLElement>;
7
+ disabled: boolean;
8
+ setActiveStyles(): void;
9
+ setInactiveStyles(): void;
10
+ getLabel?(): string;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectAllDirective, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectAllDirective, "[odxSelectAll]", never, {}, {}, never, never, true, never>;
13
+ }
@@ -1,8 +1,9 @@
1
+ import { Highlightable } from '@angular/cdk/a11y';
1
2
  import { AfterViewInit, QueryList, TemplateRef } from '@angular/core';
2
3
  import { IdentityMatcher } from '@odx/angular';
3
4
  import { AutocompleteControl } from '@odx/angular/cdk/autocomplete-control';
4
5
  import { SelectOptionComponent } from './components';
5
- import { SelectInputControlDirective } from './directives';
6
+ import { SelectAllDirective, SelectInputControlDirective } from './directives';
6
7
  import * as i0 from "@angular/core";
7
8
  /**
8
9
  * SelectComponent provides an advanced dropdown list that supports autocomplete, multiple selection,
@@ -17,6 +18,9 @@ export declare class SelectComponent<T = unknown> extends AutocompleteControl<T
17
18
  protected selectedOption: SelectOptionComponent<T> | null;
18
19
  protected selectedOptionText: string | null;
19
20
  protected options?: QueryList<SelectOptionComponent<T>>;
21
+ protected selectAllDirective?: SelectAllDirective;
22
+ protected isIndeterminateSelection: import("@angular/core").WritableSignal<boolean>;
23
+ protected allOptionSelected: import("@angular/core").WritableSignal<boolean>;
20
24
  /**
21
25
  * Directive managing the search input field within the select.
22
26
  *
@@ -45,6 +49,20 @@ export declare class SelectComponent<T = unknown> extends AutocompleteControl<T
45
49
  * @default false
46
50
  */
47
51
  clearable: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
52
+ /**
53
+ * When set to true, the select will display a select all button.
54
+ *
55
+ * @type {boolean}
56
+ * @default false
57
+ */
58
+ hasSelectAll: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
59
+ /**
60
+ * Text to display for the select all button.
61
+ *
62
+ * @type {string}
63
+ * @default 'Select all'
64
+ */
65
+ hasSelectAllText: import("@angular/core").InputSignal<string>;
48
66
  /**
49
67
  * Sets whether multiple options can be selected.
50
68
  *
@@ -95,19 +113,22 @@ export declare class SelectComponent<T = unknown> extends AutocompleteControl<T
95
113
  * @returns {boolean} Whether the option is selected.
96
114
  */
97
115
  isOptionSelected(option: SelectOptionComponent<T | T[]>): boolean;
98
- protected initKeyManager(options: QueryList<SelectOptionComponent<T>>): void;
116
+ protected initKeyManager(options: Highlightable[]): void;
99
117
  protected handleQueryListOption(options: QueryList<SelectOptionComponent<T>>): void;
100
118
  protected handleSearchFieldChanges(): void;
119
+ protected clickSelectAll(event: Event): void;
101
120
  protected handleControllerEvent(event: KeyboardEvent): void;
102
121
  protected activateSelectedOption(): void;
103
122
  protected onDropdownOpen(): void;
104
123
  protected onDropdownClose(): void;
124
+ protected onDropdownOpened(): void;
105
125
  protected onDropdownClosed(): void;
106
126
  protected resetValue(e: Event): void;
107
127
  private updateSelectedOption;
108
128
  private focusSelectSearchField;
109
129
  private multipleSelectValueResolver;
130
+ private selectAllHandler;
110
131
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent<any>, never>;
111
- static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent<any>, "odx-select", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; }; "selectedOptionTemplate": { "alias": "selectedOptionTemplate"; "required": false; }; "identityMatcher": { "alias": "identityMatcher"; "required": false; }; }, {}, ["searchField", "options"], ["[odxSelectSearchField]", "*"], true, never>;
132
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent<any>, "odx-select", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "hasSelectAll": { "alias": "hasSelectAll"; "required": false; "isSignal": true; }; "hasSelectAllText": { "alias": "hasSelectAllText"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; }; "selectedOptionTemplate": { "alias": "selectedOptionTemplate"; "required": false; }; "identityMatcher": { "alias": "identityMatcher"; "required": false; }; }, {}, ["searchField", "options"], ["[odxSelectSearchField]", "*"], true, never>;
112
133
  static ngAcceptInputType_multiple: unknown;
113
134
  }
@@ -104,7 +104,7 @@ export class AutocompleteControl extends CustomFormControl {
104
104
  ngAfterViewInit() {
105
105
  if (!this.options)
106
106
  return;
107
- this.initKeyManager(this.options);
107
+ this.initKeyManager(this.options.toArray());
108
108
  this.handleQueryListOption(this.options);
109
109
  this.handleSearchFieldChanges();
110
110
  }
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
195
195
  type: HostListener,
196
196
  args: ['focusout', ['$event']]
197
197
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2F1dG9jb21wbGV0ZS1jb250cm9sL3NyYy9saWIvYXV0b2NvbXBsZXRlLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0QsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQXlCLE1BQU0sc0NBQXNDLENBQUM7QUFFaEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRS9FOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBUUgsTUFBTSxPQUFnQixtQkFBdUIsU0FBUSxpQkFBMkI7SUFpQjlFLElBQVcsd0JBQXdCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFR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LElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBR1MsY0FBYyxDQUFDLEtBQWlCO1FBQ3hDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ25DLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzsrR0ExTW1CLG1CQUFtQjttR0FBbkIsbUJBQW1CLHNFQTZCbkIsZ0JBQWdCLDRjQW5CekIsaUJBQWlCOzs0RkFWUixtQkFBbUI7a0JBUHhDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDSixpQkFBaUIsRUFBRSxRQUFRO3dCQUMzQixzQkFBc0IsRUFBRSxvQkFBb0I7cUJBQzdDO2lCQUNGO3dEQVlvQixRQUFRO3NCQUQxQixTQUFTO3VCQUFDLGlCQUFpQjtnQkFvQnJCLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFtQi9CLFNBQVM7c0JBRGYsS0FBSztnQkFnQkMsY0FBYztzQkFEcEIsTUFBTTtnQkFjQSxrQkFBa0I7c0JBRHhCLE1BQU07Z0JBZUEsaUJBQWlCO3NCQUR2QixNQUFNO2dCQWVBLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFlQSxrQkFBa0I7c0JBRHhCLE1BQU07Z0JBZ0ZHLGNBQWM7c0JBRHZCLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcywgU3RyaW5naWZ5Rm4gfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ3VzdG9tRm9ybUNvbnRyb2wsIElucHV0Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBPcHRpb25Db250cm9sIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9vcHRpb24tY29udHJvbCc7XG5pbXBvcnQgeyBEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCwgaXNGdW5jdGlvbiwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuXG4vKipcbiAqIGBBdXRvY29tcGxldGVDb250cm9sYCBpcyBhIGJhc2UgZGlyZWN0aXZlIHRvIGVuaGFuY2UgYW4gaW5wdXQgZmllbGQgd2l0aCBhdXRvY29tcGxldGUgZnVuY3Rpb25hbGl0eSxcbiAqIHByb3ZpZGluZyBrZXlib2FyZCBuYXZpZ2F0aW9uIGFuZCBzZWxlY3Rpb24gZm9yIG9wdGlvbnMgZGlzcGxheWVkIGluIGEgZHJvcGRvd24uIEl0J3MgZGVzaWduZWQgdG8gYmUgZXh0ZW5kZWRcbiAqIGZvciBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMuXG4gKiBFeHRlbmRzIGBDdXN0b21Gb3JtQ29udHJvbGAgdG8gcHJvdmlkZSBmb3JtIGNvbnRyb2wgYmVoYXZpb3IgYW5kIHN0YXRlIG1hbmFnZW1lbnQuXG4gKlxuICogQHNlZSB7Q3VzdG9tRm9ybUNvbnRyb2x9XG4gKlxuICogVGhpcyBkaXJlY3RpdmUgbWFuYWdlcyB0aGUgb3Blbi9jbG9zZSBzdGF0ZSBvZiB0aGUgZHJvcGRvd24sIHRoZSBsb2FkaW5nIHN0YXRlIGluZGljYXRpb24sIGFuZCB0aGUgaW50ZXJhY3Rpb24gYmV0d2VlblxuICogdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCBhbmQgdGhlIGRyb3Bkb3duIG9wdGlvbnMuIEl0IHV0aWxpemVzIGBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcmAgZm9yIGtleWJvYXJkIG5hdmlnYXRpb24gYW1vbmcgb3B0aW9ucy5cbiAqXG4gKiBFeHRlbmQgdGhpcyBkaXJlY3RpdmUgdG8gY3JlYXRlIGEgZnVsbHkgZnVuY3Rpb25hbCBhdXRvY29tcGxldGUgY29udHJvbCB0YWlsb3JlZCB0byB5b3VyIGRhdGEgdHlwZSBhbmQgVUkgcmVxdWlyZW1lbnRzLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgdGhlIGl0ZW1zIGRpc3BsYXllZCBpbiB0aGUgYXV0b2NvbXBsZXRlIGRyb3Bkb3duLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuaXMtb3Blbl0nOiAnaXNPcGVuJyxcbiAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCB8fCBudWxsJyxcbiAgfSxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXV0b2NvbXBsZXRlQ29udHJvbDxUPiBleHRlbmRzIEN1c3RvbUZvcm1Db250cm9sPFQgfCBudWxsPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgb3B0aW9ucz86IFF1ZXJ5TGlzdDxPcHRpb25Db250cm9sPFQ+PjtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybUZpZWxkID0gaW5qZWN0KEZvcm1GaWVsZENvbXBvbmVudCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRha2VVbnRpbERlc3Ryb3llZCA9IHVudGlsRGVzdHJveWVkKCk7XG5cbiAgcHJvdGVjdGVkIGtleU1hbmFnZXI/OiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxPcHRpb25Db250cm9sPFQ+PjtcbiAgcHJvdGVjdGVkIHNtb290aFNjcm9sbEVuYWJsZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKERyb3Bkb3duRGlyZWN0aXZlKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd24/OiBEcm9wZG93bkRpcmVjdGl2ZTtcblxuICBwdWJsaWMgYWJzdHJhY3Qgc2VhcmNoRmllbGQ/OiBJbnB1dENvbnRyb2xEaXJlY3RpdmU7XG5cbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgcHVibGljIGdldCBkcm9wZG93blJlZmVyZW5jZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZvcm1GaWVsZD8uY29udHJvbEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQgPz8gdGhpcy5lbGVtZW50Py5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNPcHRpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMub3B0aW9ucz8ubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kcm9wZG93bj8uaXNPcGVuO1xuICB9XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0aGF0IGNvbnZlcnRzIGFuIGl0ZW0gb2YgdHlwZSBUIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uLlxuICAgKiBVc2VkIGJ5IHRoZSBBdXRvY29tcGxldGVDb250cm9sIGNvbXBvbmVudCB0byBkaXNwbGF5IHRoZSBzZWxlY3RlZCBpdGVtLlxuICAgKlxuICAgKiBAdHlwZSB7U3RyaW5naWZ5Rm48VD59XG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIC8vIERlZmluZSBhIHN0cmluZ2lmeSBmdW5jdGlvbiBmb3IgYSBjdXN0b20gdHlwZSBQZXJzb25cbiAgICogY29uc3Qgc3RyaW5naWZ5UGVyc29uOiBTdHJpbmdpZnlGbjxQZXJzb24+ID0gKHBlcnNvbikgPT4gYCR7cGVyc29uLmZpcnN0TmFtZX0gJHtwZXJzb24ubGFzdE5hbWV9YDtcbiAgICpcbiAgICogLy8gQXNzaWduIHRoZSBzdHJpbmdpZnkgZnVuY3Rpb24gdG8gdGhlIEF1dG9jb21wbGV0ZUNvbnRyb2xcbiAgICogYXV0b2NvbXBsZXRlQ29udHJvbC5zdHJpbmdpZnkgPSBzdHJpbmdpZnlQZXJzb247XG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHN0cmluZ2lmeT86IFN0cmluZ2lmeUZuPFQ+O1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHdoZW4gYW4gb3B0aW9uIGlzIHNlbGVjdGVkIGZyb20gdGhlIGRyb3Bkb3duLlxuICAgKlxuICAgKiBAZW1pdHMge1R9IC0gVGhlIHNlbGVjdGVkIG9wdGlvbi5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogYXV0b2NvbXBsZXRlQ29udHJvbC5vcHRpb25TZWxlY3RlZC5zdWJzY3JpYmUoKHNlbGVjdGVkT3B0aW9uKSA9PiB7XG4gICAqICAgY29uc29sZS5sb2coJ1NlbGVjdGVkIG9wdGlvbjonLCBzZWxlY3RlZE9wdGlvbik7XG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgYmVmb3JlIHRoZSBkcm9wZG93biBvcGVucy5cbiAgICogQGVtaXRzIHt2b2lkfVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxvZHgtc2VsZWN0IChiZWZvcmVEcm9wZG93bk9wZW4pPVwib25CZWZvcmVEcm9wZG93bk9wZW4oKVwiPlxuICAgKiA8L29keC1zZWxlY3Q+XG4gICAqIGBgYFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBiZWZvcmVEcm9wZG93bk9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgYWZ0ZXIgdGhlIGRyb3Bkb3duIG9wZW5lZC5cbiAgICpcbiAgICogQGVtaXRzIHt2b2lkfVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxvZHgtc2VsZWN0IChhZnRlckRyb3Bkb3duT3Blbik9XCJvbkFmdGVyRHJvcGRvd25PcGVuKClcIj5cbiAgICogPC9vZHgtc2VsZWN0PlxuICAgKiBgYGBcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWZ0ZXJEcm9wZG93bk9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgYmVmb3JlIHRoZSBkcm9wZG93biBjbG9zZXMuXG4gICAqXG4gICAqIEBlbWl0cyB7dm9pZH1cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgaHRtbFxuICAgKiA8b2R4LXNlbGVjdCAoYmVmb3JlRHJvcGRvd25DbG9zZSk9XCJvbkJlZm9yZURyb3Bkb3duQ2xvc2UoKVwiPlxuICAgKiA8L29keC1zZWxlY3Q+XG4gICAqIGBgYFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBiZWZvcmVEcm9wZG93bkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIGFmdGVyIHRoZSBkcm9wZG93biBjbG9zZWQuXG4gICAqXG4gICAqIEBlbWl0cyB7dm9pZH1cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgaHRtbFxuICAgKiA8b2R4LXNlbGVjdCAoYWZ0ZXJEcm9wZG93bkNsb3NlKT1cIm9uQWZ0ZXJEcm9wZG93bkNsb3NlKClcIj5cbiAgICogPC9vZHgtc2VsZWN0PlxuICAgKiBgYGBcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWZ0ZXJEcm9wZG93bkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKG51bGwpO1xuICAgIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzKHRoaXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucykgcmV0dXJuO1xuXG4gICAgdGhpcy5pbml0S2V5TWFuYWdlcih0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuaGFuZGxlUXVlcnlMaXN0T3B0aW9uKHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5oYW5kbGVTZWFyY2hGaWVsZENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTY3JvbGxzIHRoZSBzcGVjaWZpZWQgb3B0aW9uIGVsZW1lbnQgaW50byB2aWV3LlxuICAgKiBAcGFyYW0ge09wdGlvbkNvbnRyb2w8VD59IG9wdGlvbiAtIFRoZSBvcHRpb24gY29udHJvbCBjb250YWluaW5nIHRoZSBlbGVtZW50IHRvIHNjcm9sbCBpbnRvIHZpZXcuXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBjb25zdCBvcHRpb25Db250cm9sOiBPcHRpb25Db250cm9sPHN0cmluZz4gPSB7IGVsZW1lbnQ6IG15T3B0aW9uRWxlbWVudCB9O1xuICAgKiBzY3JvbGxPcHRpb25JbnRvVmlldyhvcHRpb25Db250cm9sKTtcbiAgICogYGBgXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsT3B0aW9uSW50b1ZpZXcoeyBlbGVtZW50IH06IE9wdGlvbkNvbnRyb2w8VD4pOiB2b2lkIHtcbiAgICBjb25zdCBiZWhhdmlvciA9IHRoaXMuc21vb3RoU2Nyb2xsRW5hYmxlZCA/ICdzbW9vdGgnIDogdW5kZWZpbmVkO1xuICAgIGlmIChpc0Z1bmN0aW9uKGVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldykpIHtcbiAgICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnY2VudGVyJywgYmVoYXZpb3IgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGhhbmRsZVF1ZXJ5TGlzdE9wdGlvbihvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29udHJvbDxUPj4pOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBoYW5kbGVTZWFyY2hGaWVsZENoYW5nZXMoKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYWN0aXZhdGVTZWxlY3RlZE9wdGlvbigpOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBpbml0S2V5TWFuYWdlcihvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29udHJvbDxUPj4pOiB2b2lkIHtcbiAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIob3B0aW9ucykud2l0aEhvbWVBbmRFbmQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkaXNhYmxlU21vb3RoU2Nyb2xsKCk6IHZvaWQge1xuICAgIHRoaXMuc21vb3RoU2Nyb2xsRW5hYmxlZCA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGVuYWJsZVNtb290aFNjcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNtb290aFNjcm9sbEVuYWJsZWQgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duPy5vcGVuKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xvc2VEcm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duPy5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRHJvcGRvd25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuYmVmb3JlRHJvcGRvd25PcGVuLmVtaXQoKTtcbiAgICB0aGlzLmFjdGl2YXRlU2VsZWN0ZWRPcHRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkRyb3Bkb3duT3BlbmVkKCk6IHZvaWQge1xuICAgIHRoaXMuYWZ0ZXJEcm9wZG93bk9wZW4uZW1pdCgpO1xuICAgIHRoaXMuZW5hYmxlU21vb3RoU2Nyb2xsKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Ecm9wZG93bkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuYmVmb3JlRHJvcGRvd25DbG9zZS5lbWl0KCk7XG4gICAgdGhpcy5kaXNhYmxlU21vb3RoU2Nyb2xsKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Ecm9wZG93bkNsb3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFmdGVyRHJvcGRvd25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBoYW5kbGVGb2N1c091dChldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cbn1cbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY2RrL2F1dG9jb21wbGV0ZS1jb250cm9sL3NyYy9saWIvYXV0b2NvbXBsZXRlLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFpQixNQUFNLG1CQUFtQixDQUFDO0FBQzlFLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQWUsTUFBTSxjQUFjLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUF5QixNQUFNLHNDQUFzQyxDQUFDO0FBRWhHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUUvRTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQVFILE1BQU0sT0FBZ0IsbUJBQXVCLFNBQVEsaUJBQTJCO0lBaUI5RSxJQUFXLHdCQUF3QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQztJQUN0RixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFB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SUFFUyxnQkFBZ0I7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFHUyxjQUFjLENBQUMsS0FBaUI7UUFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDbkMsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOytHQTFNbUIsbUJBQW1CO21HQUFuQixtQkFBbUIsc0VBNkJuQixnQkFBZ0IsNGNBbkJ6QixpQkFBaUI7OzRGQVZSLG1CQUFtQjtrQkFQeEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLGlCQUFpQixFQUFFLFFBQVE7d0JBQzNCLHNCQUFzQixFQUFFLG9CQUFvQjtxQkFDN0M7aUJBQ0Y7d0RBWW9CLFFBQVE7c0JBRDFCLFNBQVM7dUJBQUMsaUJBQWlCO2dCQW9CckIsU0FBUztzQkFEZixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQW1CL0IsU0FBUztzQkFEZixLQUFLO2dCQWdCQyxjQUFjO3NCQURwQixNQUFNO2dCQWNBLGtCQUFrQjtzQkFEeEIsTUFBTTtnQkFlQSxpQkFBaUI7c0JBRHZCLE1BQU07Z0JBZUEsbUJBQW1CO3NCQUR6QixNQUFNO2dCQWVBLGtCQUFrQjtzQkFEeEIsTUFBTTtnQkFnRkcsY0FBYztzQkFEdkIsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciwgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzLCBTdHJpbmdpZnlGbiB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDdXN0b21Gb3JtQ29udHJvbCwgSW5wdXRDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9jdXN0b20tZm9ybS1jb250cm9sJztcbmltcG9ydCB7IE9wdGlvbkNvbnRyb2wgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL29wdGlvbi1jb250cm9sJztcbmltcG9ydCB7IERyb3Bkb3duRGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBpbmplY3RFbGVtZW50LCBpc0Z1bmN0aW9uLCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5cbi8qKlxuICogYEF1dG9jb21wbGV0ZUNvbnRyb2xgIGlzIGEgYmFzZSBkaXJlY3RpdmUgdG8gZW5oYW5jZSBhbiBpbnB1dCBmaWVsZCB3aXRoIGF1dG9jb21wbGV0ZSBmdW5jdGlvbmFsaXR5LFxuICogcHJvdmlkaW5nIGtleWJvYXJkIG5hdmlnYXRpb24gYW5kIHNlbGVjdGlvbiBmb3Igb3B0aW9ucyBkaXNwbGF5ZWQgaW4gYSBkcm9wZG93bi4gSXQncyBkZXNpZ25lZCB0byBiZSBleHRlbmRlZFxuICogZm9yIHNwZWNpZmljIGltcGxlbWVudGF0aW9ucy5cbiAqIEV4dGVuZHMgYEN1c3RvbUZvcm1Db250cm9sYCB0byBwcm92aWRlIGZvcm0gY29udHJvbCBiZWhhdmlvciBhbmQgc3RhdGUgbWFuYWdlbWVudC5cbiAqXG4gKiBAc2VlIHtDdXN0b21Gb3JtQ29udHJvbH1cbiAqXG4gKiBUaGlzIGRpcmVjdGl2ZSBtYW5hZ2VzIHRoZSBvcGVuL2Nsb3NlIHN0YXRlIG9mIHRoZSBkcm9wZG93biwgdGhlIGxvYWRpbmcgc3RhdGUgaW5kaWNhdGlvbiwgYW5kIHRoZSBpbnRlcmFjdGlvbiBiZXR3ZWVuXG4gKiB0aGUgYXV0b2NvbXBsZXRlIGlucHV0IGFuZCB0aGUgZHJvcGRvd24gb3B0aW9ucy4gSXQgdXRpbGl6ZXMgYEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyYCBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbiBhbW9uZyBvcHRpb25zLlxuICpcbiAqIEV4dGVuZCB0aGlzIGRpcmVjdGl2ZSB0byBjcmVhdGUgYSBmdWxseSBmdW5jdGlvbmFsIGF1dG9jb21wbGV0ZSBjb250cm9sIHRhaWxvcmVkIHRvIHlvdXIgZGF0YSB0eXBlIGFuZCBVSSByZXF1aXJlbWVudHMuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgdHlwZSBvZiB0aGUgaXRlbXMgZGlzcGxheWVkIGluIHRoZSBhdXRvY29tcGxldGUgZHJvcGRvd24uXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5pcy1vcGVuXSc6ICdpc09wZW4nLFxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkIHx8IG51bGwnLFxuICB9LFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdXRvY29tcGxldGVDb250cm9sPFQ+IGV4dGVuZHMgQ3VzdG9tRm9ybUNvbnRyb2w8VCB8IG51bGw+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSBvcHRpb25zPzogUXVlcnlMaXN0PE9wdGlvbkNvbnRyb2w8VD4+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByb3RlY3RlZCByZWFkb25seSBmb3JtRmllbGQgPSBpbmplY3QoRm9ybUZpZWxkQ29tcG9uZW50LCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcblxuICBwcm90ZWN0ZWQga2V5TWFuYWdlcj86IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPEhpZ2hsaWdodGFibGU+O1xuICBwcm90ZWN0ZWQgc21vb3RoU2Nyb2xsRW5hYmxlZCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoRHJvcGRvd25EaXJlY3RpdmUpXG4gIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93bj86IERyb3Bkb3duRGlyZWN0aXZlO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBzZWFyY2hGaWVsZD86IElucHV0Q29udHJvbERpcmVjdGl2ZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBwdWJsaWMgZ2V0IGRyb3Bkb3duUmVmZXJlbmNlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkPy5jb250cm9sRWxlbWVudD8ubmF0aXZlRWxlbWVudCA/PyB0aGlzLmVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc09wdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5vcHRpb25zPy5sZW5ndGg7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duPy5pc09wZW47XG4gIH1cblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgYW4gaXRlbSBvZiB0eXBlIFQgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24uXG4gICAqIFVzZWQgYnkgdGhlIEF1dG9jb21wbGV0ZUNvbnRyb2wgY29tcG9uZW50IHRvIGRpc3BsYXkgdGhlIHNlbGVjdGVkIGl0ZW0uXG4gICAqXG4gICAqIEB0eXBlIHtTdHJpbmdpZnlGbjxUPn1cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogLy8gRGVmaW5lIGEgc3RyaW5naWZ5IGZ1bmN0aW9uIGZvciBhIGN1c3RvbSB0eXBlIFBlcnNvblxuICAgKiBjb25zdCBzdHJpbmdpZnlQZXJzb246IFN0cmluZ2lmeUZuPFBlcnNvbj4gPSAocGVyc29uKSA9PiBgJHtwZXJzb24uZmlyc3ROYW1lfSAke3BlcnNvbi5sYXN0TmFtZX1gO1xuICAgKlxuICAgKiAvLyBBc3NpZ24gdGhlIHN0cmluZ2lmeSBmdW5jdGlvbiB0byB0aGUgQXV0b2NvbXBsZXRlQ29udHJvbFxuICAgKiBhdXRvY29tcGxldGVDb250cm9sLnN0cmluZ2lmeSA9IHN0cmluZ2lmeVBlcnNvbjtcbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3RyaW5naWZ5PzogU3RyaW5naWZ5Rm48VD47XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBzZWxlY3RlZCBvcHRpb24gd2hlbiBhbiBvcHRpb24gaXMgc2VsZWN0ZWQgZnJvbSB0aGUgZHJvcGRvd24uXG4gICAqXG4gICAqIEBlbWl0cyB7VH0gLSBUaGUgc2VsZWN0ZWQgb3B0aW9uLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBhdXRvY29tcGxldGVDb250cm9sLm9wdGlvblNlbGVjdGVkLnN1YnNjcmliZSgoc2VsZWN0ZWRPcHRpb24pID0+IHtcbiAgICogICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgb3B0aW9uOicsIHNlbGVjdGVkT3B0aW9uKTtcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCBiZWZvcmUgdGhlIGRyb3Bkb3duIG9wZW5zLlxuICAgKiBAZW1pdHMge3ZvaWR9XG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPG9keC1zZWxlY3QgKGJlZm9yZURyb3Bkb3duT3Blbik9XCJvbkJlZm9yZURyb3Bkb3duT3BlbigpXCI+XG4gICAqIDwvb2R4LXNlbGVjdD5cbiAgICogYGBgXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGJlZm9yZURyb3Bkb3duT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCBhZnRlciB0aGUgZHJvcGRvd24gb3BlbmVkLlxuICAgKlxuICAgKiBAZW1pdHMge3ZvaWR9XG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPG9keC1zZWxlY3QgKGFmdGVyRHJvcGRvd25PcGVuKT1cIm9uQWZ0ZXJEcm9wZG93bk9wZW4oKVwiPlxuICAgKiA8L29keC1zZWxlY3Q+XG4gICAqIGBgYFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhZnRlckRyb3Bkb3duT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCBiZWZvcmUgdGhlIGRyb3Bkb3duIGNsb3Nlcy5cbiAgICpcbiAgICogQGVtaXRzIHt2b2lkfVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxvZHgtc2VsZWN0IChiZWZvcmVEcm9wZG93bkNsb3NlKT1cIm9uQmVmb3JlRHJvcGRvd25DbG9zZSgpXCI+XG4gICAqIDwvb2R4LXNlbGVjdD5cbiAgICogYGBgXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGJlZm9yZURyb3Bkb3duQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgYWZ0ZXIgdGhlIGRyb3Bkb3duIGNsb3NlZC5cbiAgICpcbiAgICogQGVtaXRzIHt2b2lkfVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBodG1sXG4gICAqIDxvZHgtc2VsZWN0IChhZnRlckRyb3Bkb3duQ2xvc2UpPVwib25BZnRlckRyb3Bkb3duQ2xvc2UoKVwiPlxuICAgKiA8L29keC1zZWxlY3Q+XG4gICAqIGBgYFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhZnRlckRyb3Bkb3duQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIobnVsbCk7XG4gICAgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXModGhpcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcHRpb25zKSByZXR1cm47XG5cbiAgICB0aGlzLmluaXRLZXlNYW5hZ2VyKHRoaXMub3B0aW9ucy50b0FycmF5KCkpO1xuICAgIHRoaXMuaGFuZGxlUXVlcnlMaXN0T3B0aW9uKHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5oYW5kbGVTZWFyY2hGaWVsZENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTY3JvbGxzIHRoZSBzcGVjaWZpZWQgb3B0aW9uIGVsZW1lbnQgaW50byB2aWV3LlxuICAgKiBAcGFyYW0ge09wdGlvbkNvbnRyb2w8VD59IG9wdGlvbiAtIFRoZSBvcHRpb24gY29udHJvbCBjb250YWluaW5nIHRoZSBlbGVtZW50IHRvIHNjcm9sbCBpbnRvIHZpZXcuXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBjb25zdCBvcHRpb25Db250cm9sOiBPcHRpb25Db250cm9sPHN0cmluZz4gPSB7IGVsZW1lbnQ6IG15T3B0aW9uRWxlbWVudCB9O1xuICAgKiBzY3JvbGxPcHRpb25JbnRvVmlldyhvcHRpb25Db250cm9sKTtcbiAgICogYGBgXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsT3B0aW9uSW50b1ZpZXcoeyBlbGVtZW50IH06IE9wdGlvbkNvbnRyb2w8VD4pOiB2b2lkIHtcbiAgICBjb25zdCBiZWhhdmlvciA9IHRoaXMuc21vb3RoU2Nyb2xsRW5hYmxlZCA/ICdzbW9vdGgnIDogdW5kZWZpbmVkO1xuICAgIGlmIChpc0Z1bmN0aW9uKGVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldykpIHtcbiAgICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnY2VudGVyJywgYmVoYXZpb3IgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGhhbmRsZVF1ZXJ5TGlzdE9wdGlvbihvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29udHJvbDxUPj4pOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBoYW5kbGVTZWFyY2hGaWVsZENoYW5nZXMoKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYWN0aXZhdGVTZWxlY3RlZE9wdGlvbigpOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBpbml0S2V5TWFuYWdlcihvcHRpb25zOiBIaWdobGlnaHRhYmxlW10pOiB2b2lkIHtcbiAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8SGlnaGxpZ2h0YWJsZT4ob3B0aW9ucykud2l0aEhvbWVBbmRFbmQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkaXNhYmxlU21vb3RoU2Nyb2xsKCk6IHZvaWQge1xuICAgIHRoaXMuc21vb3RoU2Nyb2xsRW5hYmxlZCA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGVuYWJsZVNtb290aFNjcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNtb290aFNjcm9sbEVuYWJsZWQgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duPy5vcGVuKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xvc2VEcm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duPy5jbG9zZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRHJvcGRvd25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMuYmVmb3JlRHJvcGRvd25PcGVuLmVtaXQoKTtcbiAgICB0aGlzLmFjdGl2YXRlU2VsZWN0ZWRPcHRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkRyb3Bkb3duT3BlbmVkKCk6IHZvaWQge1xuICAgIHRoaXMuYWZ0ZXJEcm9wZG93bk9wZW4uZW1pdCgpO1xuICAgIHRoaXMuZW5hYmxlU21vb3RoU2Nyb2xsKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Ecm9wZG93bkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuYmVmb3JlRHJvcGRvd25DbG9zZS5lbWl0KCk7XG4gICAgdGhpcy5kaXNhYmxlU21vb3RoU2Nyb2xsKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Ecm9wZG93bkNsb3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFmdGVyRHJvcGRvd25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBoYW5kbGVGb2N1c091dChldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cbn1cbiJdfQ==
@@ -33,7 +33,7 @@ let AutocompleteComponent = class AutocompleteComponent extends AutocompleteCont
33
33
  return;
34
34
  if (this.value)
35
35
  this.updateSearchField(this.value);
36
- this.initKeyManager(this.options);
36
+ this.initKeyManager(this.options.toArray());
37
37
  this.handleQueryListOption(this.options);
38
38
  this.handleSearchFieldChanges();
39
39
  this.handleClickOutside();
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
189
189
  type: HostListener,
190
190
  args: ['keydown', ['$event']]
191
191
  }] } });
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9zcmMvbGliL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9hdXRvY29tcGxldGUvc3JjL2xpYi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFFakU7Ozs7Ozs7O0dBUUc7QUFxQkks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U0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb250cm9sLCBPRFhfU0VBUkNIX0ZJTFRFUl9IT1NUIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9hdXRvY29tcGxldGUtY29udHJvbCc7XG5pbXBvcnQgeyBEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IExvYWRpbmdTcGlubmVyTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWZlckZuIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBVVRPQ09NUExFVEVfQ09OVFJPTCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLnRva2Vucyc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlSW5wdXRDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGF1dG9jb21wbGV0ZSBjb21wb25lbnQgdGhhdCBwcm92aWRlcyB1c2VyIGludGVyZmFjZSBmb3IgYSBkcm9wZG93biBsaXN0IHRvIHNlbGVjdCBmcm9tIGFzIHVzZXJzIHR5cGUuXG4gKiBJdCBleHRlbmRzIGBBdXRvY29tcGxldGVDb250cm9sYCwgaW50ZWdyYXRpbmcgY3VzdG9tIGxvZ2ljIGZvciBoYW5kbGluZyBrZXlib2FyZCBhbmQgbW91c2UgZXZlbnRzLFxuICogbWFuYWdpbmcgdGhlIGRyb3Bkb3duIHN0YXRlLCBhbmQgdXBkYXRpbmcgdGhlIGFzc29jaWF0ZWQgc2VhcmNoIGZpZWxkLlxuICpcbiAqIEBzZWUge0F1dG9jb21wbGV0ZUNvbnRyb2x9XG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgaGFuZGxlZCBieSB0aGUgYXV0b2NvbXBsZXRlLlxuICovXG5AQ1NTQ29tcG9uZW50KCdhdXRvY29tcGxldGUnKVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LWF1dG9jb21wbGV0ZScsXG4gIGltcG9ydHM6IFtEcm9wZG93bkRpcmVjdGl2ZSwgTG9hZGluZ1NwaW5uZXJNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFVVE9DT01QTEVURV9DT05UUk9MLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXV0b2NvbXBsZXRlQ29tcG9uZW50KSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE9EWF9TRUFSQ0hfRklMVEVSX0hPU1QsXG4gICAgICB1c2VFeGlzdGluZzogQVVUT0NPTVBMRVRFX0NPTlRST0wsXG4gICAgfSxcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtDbGlja091dHNpZGVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnQ8VCA9IHVua25vd24+IGV4dGVuZHMgQXV0b2NvbXBsZXRlQ29udHJvbDxUIHwgbnVsbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QWN0aXZlT3B0aW9uSW5kZXggPSAwO1xuICBwcml2YXRlIHBhdGNoVmFsdWVGbGFnID0gZmFsc2U7XG4gIHByb3RlY3RlZCByZWFkb25seSBjbGlja091dHNpZGVEaXJlY3RpdmUgPSBpbmplY3QoQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLCB7IGhvc3Q6IHRydWUgfSk7XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGF1dG9jb21wbGV0ZSBvcHRpb25zLlxuICAgKlxuICAgKiBAdHlwZSB7UXVlcnlMaXN0PEF1dG9jb21wbGV0ZU9wdGlvbkNvbXBvbmVudDxUPj4gfCB1bmRlZmluZWR9XG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKEF1dG9jb21wbGV0ZU9wdGlvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSwgZW1pdERpc3RpbmN0Q2hhbmdlc09ubHk6IHRydWUgfSlcbiAgcHVibGljIG9wdGlvbnM/OiBRdWVyeUxpc3Q8QXV0b2NvbXBsZXRlT3B0aW9uQ29tcG9uZW50PFQ+PjtcblxuICAvKipcbiAgICogVGhlIHNlYXJjaCBmaWVsZCBpbnB1dCBjb250cm9sLlxuICAgKlxuICAgKiBAdHlwZSB7QXV0b2NvbXBsZXRlSW5wdXRDb250cm9sRGlyZWN0aXZlIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgQENvbnRlbnRDaGlsZChBdXRvY29tcGxldGVJbnB1dENvbnRyb2xEaXJlY3RpdmUpXG4gIHB1YmxpYyBzZWFyY2hGaWVsZD86IEF1dG9jb21wbGV0ZUlucHV0Q29udHJvbERpcmVjdGl2ZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcHRpb25zKSByZXR1cm47XG4gICAgaWYgKHRoaXMudmFsdWUpIHRoaXMudXBkYXRlU2VhcmNoRmllbGQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5pbml0S2V5TWFuYWdlcih0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuaGFuZGxlUXVlcnlMaXN0T3B0aW9uKHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5oYW5kbGVTZWFyY2hGaWVsZENoYW5nZXMoKTtcbiAgICB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYW4gb3B0aW9uLCB1cGRhdGVzIHRoZSB2YWx1ZSwgdXBkYXRlcyB0aGUgc2VhcmNoIGZpZWxkIGRpc3BsYXksXG4gICAqIGVtaXRzIHRoZSBzZWxlY3RlZCB2YWx1ZSwgYW5kIGNsb3NlcyB0aGUgZHJvcGRvd24uXG4gICAqXG4gICAqIEBwYXJhbSB7QXV0b2NvbXBsZXRlT3B0aW9uQ29tcG9uZW50PFQ+IHwgbnVsbH0gb3B0aW9uIC0gVGhlIG9wdGlvbiBjb21wb25lbnQgdG8gc2VsZWN0LiBJZiB0aGUgb3B0aW9uIGlzIHVuZGVmaW5lZCBvciBpdHMgdmFsdWUgaXMgdW5kZWZpbmVkLFxuICAgKiBubyBhY3Rpb24gaXMgdGFrZW4uXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0T3B0aW9uKG9wdGlvbj86IEF1dG9jb21wbGV0ZU9wdGlvbkNvbXBvbmVudDxUPiB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIW9wdGlvbj8udmFsdWUpIHJldHVybjtcblxuICAgIHRoaXMudXBkYXRlVmFsdWUob3B0aW9uLnZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZVNlYXJjaEZpZWxkKG9wdGlvbi52YWx1ZSk7XG5cbiAgICB0aGlzLm9wdGlvblNlbGVjdGVkLmVtaXQob3B0aW9uLnZhbHVlKTtcblxuICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgc2VhcmNoIGZpZWxkIHRvIGl0cyBpbml0aWFsIHN0YXRlIGFuZCB1cGRhdGVzIHRoZSB2YWx1ZSBvZiB0aGUgYXV0b2NvbXBsZXRlXG4gICAqIHRvIGFuIGVtcHR5IHN0cmluZyBvciBpbml0aWFsIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIHJlc2V0U2VhcmNoRmllbGQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSgnJyBhcyBUKTtcbiAgICB0aGlzLnNlYXJjaEZpZWxkPy5yZXNldCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVF1ZXJ5TGlzdE9wdGlvbihvcHRpb25zOiBRdWVyeUxpc3Q8QXV0b2NvbXBsZXRlT3B0aW9uQ29tcG9uZW50PFQ+Pik6IHZvaWQge1xuICAgIG9wdGlvbnMuY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiBkZWZlckZuKCgpID0+IHRoaXMudXBkYXRlRHJvcGRvd25TdGF0ZSgpKSksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmlzT3BlbiksXG4gICAgICAgIHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgZGVmZXJGbigoKSA9PiB0aGlzLmFjdGl2YXRlU2VsZWN0ZWRPcHRpb24oKSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVTZWFyY2hGaWVsZENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGaWVsZD8udmFsdWVDaGFuZ2UkLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMudHJpZ2dlckNvbnRyb2xsZXJDaGFuZ2UoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xpY2tPdXRzaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xpY2tPdXRzaWRlRGlyZWN0aXZlLm9keENsaWNrT3V0c2lkZS5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsaWNrT3V0c2lkZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjbGlja091dHNpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgdGhpcy5ibHVyU2VsZWN0U2VhcmNoRmllbGQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVEcm9wZG93blN0YXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBhdGNoVmFsdWVGbGFnKSB7XG4gICAgICB0aGlzLnBhdGNoVmFsdWVGbGFnID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNPcGVuICYmICF0aGlzLmhhc09wdGlvbnMpIHtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNPcGVuICYmIHRoaXMuaGFzT3B0aW9ucykge1xuICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHByb3RlY3RlZCBoYW5kbGVDbGlja0V2ZW50KCkge1xuICAgIGlmICh0aGlzLmlzTG9hZGluZyAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB0aGlzLmJsdXJTZWxlY3RTZWFyY2hGaWVsZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzUmVhZG9ubHkgfHwgdGhpcy5pc0Rpc2FibGVkKSByZXR1cm47XG5cbiAgICBpZiAoIXRoaXMuaXNPcGVuICYmIHRoaXMuaGFzT3B0aW9ucykge1xuICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc1JlYWRvbmx5IHx8IHRoaXMuaXNEaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMucmVzZXRTZWFyY2hGaWVsZCgpO1xuICAgICAgdGhpcy5ibHVyU2VsZWN0U2VhcmNoRmllbGQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc09wZW4gJiYgdGhpcy5oYXNPcHRpb25zKSB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0T3B0aW9uKHRoaXMua2V5TWFuYWdlcj8uYWN0aXZlSXRlbSBhcyBBdXRvY29tcGxldGVPcHRpb25Db21wb25lbnQ8VD4gfCB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgdGhpcy5vcHRpb25TZWxlY3RlZC5lbWl0KCh0aGlzLnZhbHVlID8/ICcnKSBhcyBUKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNPcGVuICYmIGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkZWZlckZuKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5pc09wZW4gJiYgdGhpcy5oYXNPcHRpb25zKSB7XG4gICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmtleU1hbmFnZXI/Lm9uS2V5ZG93bihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWN0aXZhdGVTZWxlY3RlZE9wdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmtleU1hbmFnZXI/LnNldEFjdGl2ZUl0ZW0odGhpcy5kZWZhdWx0QWN0aXZlT3B0aW9uSW5kZXgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uRHJvcGRvd25DbG9zZWQoKTogdm9pZCB7XG4gICAgc3VwZXIub25Ecm9wZG93bkNsb3NlZCgpO1xuICAgIHRoaXMuYmx1clNlbGVjdFNlYXJjaEZpZWxkKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNlYXJjaEZpZWxkKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlYXJjaEZpZWxkKSByZXR1cm47XG4gICAgdGhpcy5wYXRjaFZhbHVlRmxhZyA9IHRydWU7XG4gICAgdGhpcy5zZWFyY2hGaWVsZC5uYXRpdmVFbGVtZW50VmFsdWUgPSB0aGlzLnN0cmluZ2lmeT8uKHZhbHVlKSA/PyAodmFsdWUgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIHByaXZhdGUgYmx1clNlbGVjdFNlYXJjaEZpZWxkKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRmllbGQ/LmJsdXIoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gIGNsYXNzPVwib2R4LWF1dG9jb21wbGV0ZV9fdHJpZ2dlclwiXG4gIFtvZHhEcm9wZG93bl09XCJkcm9wZG93bkNvbnRlbnRcIlxuICBbb2R4RHJvcGRvd25EaXNhYmxlZF09XCJpc0Rpc2FibGVkIHx8IGlzUmVhZG9ubHlcIlxuICBbb2R4RHJvcGRvd25PcHRpb25zXT1cInsgbWF0Y2hSZWZlcmVuY2VXaWR0aDogdHJ1ZSwgb2Zmc2V0OiA0LCBvdXRlclBhZGRpbmc6IDEwLCBwb3NpdGlvbjogJ2JvdHRvbS1zdGFydCcgfVwiXG4gIFtvZHhEcm9wZG93blJlZmVyZW5jZUVsZW1lbnRdPVwiZHJvcGRvd25SZWZlcmVuY2VFbGVtZW50XCJcbiAgW29keERyb3Bkb3duU2hvd0xvYWRlcl09XCJpc0xvYWRpbmdcIlxuICBbb2R4RHJvcGRvd25PcGVuVHJpZ2dlcl09XCJbXVwiXG4gIFtvZHhEcm9wZG93bkNsaWNrT3V0c2lkZUFjdGl2ZV09XCJmYWxzZVwiXG4gIChvZHhEcm9wZG93bkJlZm9yZU9wZW4pPVwib25Ecm9wZG93bk9wZW4oKVwiXG4gIChvZHhEcm9wZG93bkFmdGVyT3Blbik9XCJvbkRyb3Bkb3duT3BlbmVkKClcIlxuICAob2R4RHJvcGRvd25CZWZvcmVDbG9zZSk9XCJvbkRyb3Bkb3duQ2xvc2UoKVwiXG4gIChvZHhEcm9wZG93bkFmdGVyQ2xvc2UpPVwib25Ecm9wZG93bkNsb3NlZCgpXCJcbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW5wdXRbb2R4QXV0b2NvbXBsZXRlQ29udHJvbF1cIiAvPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duQ29udGVudD5cbiAgPGRpdiBjbGFzcz1cIm9keC1kcm9wZG93bl9fb3B0aW9uLWxpc3RcIiByb2xlPVwibGlzdGJveFwiPlxuICAgIEBpZiAoaGFzT3B0aW9ucykge1xuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9zcmMvbGliL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9hdXRvY29tcGxldGUvc3JjL2xpYi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFFakU7Ozs7Ozs7O0dBUUc7QUFxQkks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RDVCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb250cm9sLCBPRFhfU0VBUkNIX0ZJTFRFUl9IT1NUIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9hdXRvY29tcGxldGUtY29udHJvbCc7XG5pbXBvcnQgeyBEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IExvYWRpbmdTcGlubmVyTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWZlckZuIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBVVRPQ09NUExFVEVfQ09OVFJPTCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLnRva2Vucyc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlSW5wdXRDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGF1dG9jb21wbGV0ZSBjb21wb25lbnQgdGhhdCBwcm92aWRlcyB1c2VyIGludGVyZmFjZSBmb3IgYSBkcm9wZG93biBsaXN0IHRvIHNlbGVjdCBmcm9tIGFzIHVzZXJzIHR5cGUuXG4gKiBJdCBleHRlbmRzIGBBdXRvY29tcGxldGVDb250cm9sYCwgaW50ZWdyYXRpbmcgY3VzdG9tIGxvZ2ljIGZvciBoYW5kbGluZyBrZXlib2FyZCBhbmQgbW91c2UgZXZlbnRzLFxuICogbWFuYWdpbmcgdGhlIGRyb3Bkb3duIHN0YXRlLCBhbmQgdXBkYXRpbmcgdGhlIGFzc29jaWF0ZWQgc2VhcmNoIGZpZWxkLlxuICpcbiAqIEBzZWUge0F1dG9jb21wbGV0ZUNvbnRyb2x9XG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgaGFuZGxlZCBieSB0aGUgYXV0b2NvbXBsZXRlLlxuICovXG5AQ1NTQ29tcG9uZW50KCdhdXRvY29tcGxldGUnKVxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LWF1dG9jb21wbGV0ZScsXG4gIGltcG9ydHM6IFtEcm9wZG93bkRpcmVjdGl2ZSwgTG9hZGluZ1NwaW5uZXJNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFVVE9DT01QTEVURV9DT05UUk9MLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXV0b2NvbXBsZXRlQ29tcG9uZW50KSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE9EWF9TRUFSQ0hfRklMVEVSX0hPU1QsXG4gICAgICB1c2VFeGlzdGluZzogQVVUT0NPTVBMRVRFX0NPTlRST0wsXG4gICAgfSxcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtDbGlja091dHNpZGVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnQ8VCA9IHVua25vd24+IGV4dGVuZHMgQXV0b2NvbXBsZXRlQ29udHJvbDxUIHwgbnVsbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QWN0aXZlT3B0aW9uSW5kZXggPSAwO1xuICBwcml2YXRlIHBhdGNoVmFsdWVGbGFnID0gZmFsc2U7XG4gIHByb3RlY3RlZCByZWFkb25seSBjbGlja091dHNpZGVEaXJlY3RpdmUgPSBpbmplY3QoQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLCB7IGhvc3Q6IHRydWUgfSk7XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGF1dG9jb21wbGV0ZSBvcHRpb25zLlxuICAgKlxuICAgKiBAdHlwZSB7UXVlcnlMaXN0PEF1dG9jb21wbGV0ZU9wdGlvbkNvbXBvbmVudDxUPj4gfCB1bmRlZmluZWR9XG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKEF1dG9jb21wbGV0ZU9wdGlvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSwgZW1pdERpc3RpbmN0Q2hhbmdlc09ubHk6IHRydWUgfSlcbiAgcHVibGljIG9wdGlvbnM/OiBRdWVyeUxpc3Q8QXV0b2NvbXBsZXRlT3B0aW9uQ29tcG9uZW50PFQ+PjtcblxuICAvKipcbiAgICogVGhlIHNlYXJjaCBmaWVsZCBpbnB1dCBjb250cm9sLlxuICAgKlxuICAgKiBAdHlwZSB7QXV0b2NvbXBsZXRlSW5wdXRDb250cm9sRGlyZWN0aXZlIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgQENvbnRlbnRDaGlsZChBdXRvY29tcGxldGVJbnB1dENvbnRyb2xEaXJlY3RpdmUpXG4gIHB1YmxpYyBzZWFyY2hGaWVsZD86IEF1dG9jb21wbGV0ZUlucHV0Q29udHJvbERpcmVjdGl2ZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcHRpb25zKSByZXR1cm47XG4gICAgaWYgKHRoaXMudmFsdWUpIHRoaXMudXBkYXRlU2VhcmNoRmllbGQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5pbml0S2V5TWFuYWdlcih0aGlzLm9wdGlvbnMudG9BcnJheSgpKTtcbiAgICB0aGlzLmhhbmRsZVF1ZXJ5TGlzdE9wdGlvbih0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuaGFuZGxlU2VhcmNoRmllbGRDaGFuZ2VzKCk7XG4gICAgdGhpcy5oYW5kbGVDbGlja091dHNpZGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGFuIG9wdGlvbiwgdXBkYXRlcyB0aGUgdmFsdWUsIHVwZGF0ZXMgdGhlIHNlYXJjaCBmaWVsZCBkaXNwbGF5LFxuICAgKiBlbWl0cyB0aGUgc2VsZWN0ZWQgdmFsdWUsIGFuZCBjbG9zZXMgdGhlIGRyb3Bkb3duLlxuICAgKlxuICAgKiBAcGFyYW0ge0F1dG9jb21wbGV0ZU9wdGlvbkNvbXBvbmVudDxUPiB8IG51bGx9IG9wdGlvbiAtIFRoZSBvcHRpb24gY29tcG9uZW50IHRvIHNlbGVjdC4gSWYgdGhlIG9wdGlvbiBpcyB1bmRlZmluZWQgb3IgaXRzIHZhbHVlIGlzIHVuZGVmaW5lZCxcbiAgICogbm8gYWN0aW9uIGlzIHRha2VuLlxuICAgKi9cbiAgcHVibGljIHNlbGVjdE9wdGlvbihvcHRpb24/OiBBdXRvY29tcGxldGVPcHRpb25Db21wb25lbnQ8VD4gfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCFvcHRpb24/LnZhbHVlKSByZXR1cm47XG5cbiAgICB0aGlzLnVwZGF0ZVZhbHVlKG9wdGlvbi52YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVTZWFyY2hGaWVsZChvcHRpb24udmFsdWUpO1xuXG4gICAgdGhpcy5vcHRpb25TZWxlY3RlZC5lbWl0KG9wdGlvbi52YWx1ZSk7XG5cbiAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIHNlYXJjaCBmaWVsZCB0byBpdHMgaW5pdGlhbCBzdGF0ZSBhbmQgdXBkYXRlcyB0aGUgdmFsdWUgb2YgdGhlIGF1dG9jb21wbGV0ZVxuICAgKiB0byBhbiBlbXB0eSBzdHJpbmcgb3IgaW5pdGlhbCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyByZXNldFNlYXJjaEZpZWxkKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUoJycgYXMgVCk7XG4gICAgdGhpcy5zZWFyY2hGaWVsZD8ucmVzZXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVRdWVyeUxpc3RPcHRpb24ob3B0aW9uczogUXVlcnlMaXN0PEF1dG9jb21wbGV0ZU9wdGlvbkNvbXBvbmVudDxUPj4pOiB2b2lkIHtcbiAgICBvcHRpb25zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gZGVmZXJGbigoKSA9PiB0aGlzLnVwZGF0ZURyb3Bkb3duU3RhdGUoKSkpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5pc09wZW4pLFxuICAgICAgICB0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGRlZmVyRm4oKCkgPT4gdGhpcy5hY3RpdmF0ZVNlbGVjdGVkT3B0aW9uKCkpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlU2VhcmNoRmllbGRDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRmllbGQ/LnZhbHVlQ2hhbmdlJC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRyaWdnZXJDb250cm9sbGVyQ2hhbmdlKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsaWNrT3V0c2lkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrT3V0c2lkZURpcmVjdGl2ZS5vZHhDbGlja091dHNpZGUucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbGlja091dHNpZGUoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xpY2tPdXRzaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIHRoaXMuYmx1clNlbGVjdFNlYXJjaEZpZWxkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlRHJvcGRvd25TdGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYXRjaFZhbHVlRmxhZykge1xuICAgICAgdGhpcy5wYXRjaFZhbHVlRmxhZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzT3BlbiAmJiAhdGhpcy5oYXNPcHRpb25zKSB7XG4gICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzT3BlbiAmJiB0aGlzLmhhc09wdGlvbnMpIHtcbiAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xpY2tFdmVudCgpIHtcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcgJiYgdGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgdGhpcy5ibHVyU2VsZWN0U2VhcmNoRmllbGQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc1JlYWRvbmx5IHx8IHRoaXMuaXNEaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgaWYgKCF0aGlzLmlzT3BlbiAmJiB0aGlzLmhhc09wdGlvbnMpIHtcbiAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaXNSZWFkb25seSB8fCB0aGlzLmlzRGlzYWJsZWQpIHJldHVybjtcblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLnJlc2V0U2VhcmNoRmllbGQoKTtcbiAgICAgIHRoaXMuYmx1clNlbGVjdFNlYXJjaEZpZWxkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNPcGVuICYmIHRoaXMuaGFzT3B0aW9ucykge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnNlbGVjdE9wdGlvbih0aGlzLmtleU1hbmFnZXI/LmFjdGl2ZUl0ZW0gYXMgQXV0b2NvbXBsZXRlT3B0aW9uQ29tcG9uZW50PFQ+IHwgdW5kZWZpbmVkKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIHRoaXMub3B0aW9uU2VsZWN0ZWQuZW1pdCgodGhpcy52YWx1ZSA/PyAnJykgYXMgVCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzT3BlbiAmJiBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGVmZXJGbigoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuaXNPcGVuICYmIHRoaXMuaGFzT3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5rZXlNYW5hZ2VyPy5vbktleWRvd24oZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFjdGl2YXRlU2VsZWN0ZWRPcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5rZXlNYW5hZ2VyPy5zZXRBY3RpdmVJdGVtKHRoaXMuZGVmYXVsdEFjdGl2ZU9wdGlvbkluZGV4KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvbkRyb3Bkb3duQ2xvc2VkKCk6IHZvaWQge1xuICAgIHN1cGVyLm9uRHJvcGRvd25DbG9zZWQoKTtcbiAgICB0aGlzLmJsdXJTZWxlY3RTZWFyY2hGaWVsZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTZWFyY2hGaWVsZCh2YWx1ZTogVCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZWFyY2hGaWVsZCkgcmV0dXJuO1xuICAgIHRoaXMucGF0Y2hWYWx1ZUZsYWcgPSB0cnVlO1xuICAgIHRoaXMuc2VhcmNoRmllbGQubmF0aXZlRWxlbWVudFZhbHVlID0gdGhpcy5zdHJpbmdpZnk/Lih2YWx1ZSkgPz8gKHZhbHVlIGFzIHN0cmluZyk7XG4gIH1cblxuICBwcml2YXRlIGJsdXJTZWxlY3RTZWFyY2hGaWVsZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaEZpZWxkPy5ibHVyKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxuICBjbGFzcz1cIm9keC1hdXRvY29tcGxldGVfX3RyaWdnZXJcIlxuICBbb2R4RHJvcGRvd25dPVwiZHJvcGRvd25Db250ZW50XCJcbiAgW29keERyb3Bkb3duRGlzYWJsZWRdPVwiaXNEaXNhYmxlZCB8fCBpc1JlYWRvbmx5XCJcbiAgW29keERyb3Bkb3duT3B0aW9uc109XCJ7IG1hdGNoUmVmZXJlbmNlV2lkdGg6IHRydWUsIG9mZnNldDogNCwgb3V0ZXJQYWRkaW5nOiAxMCwgcG9zaXRpb246ICdib3R0b20tc3RhcnQnIH1cIlxuICBbb2R4RHJvcGRvd25SZWZlcmVuY2VFbGVtZW50XT1cImRyb3Bkb3duUmVmZXJlbmNlRWxlbWVudFwiXG4gIFtvZHhEcm9wZG93blNob3dMb2FkZXJdPVwiaXNMb2FkaW5nXCJcbiAgW29keERyb3Bkb3duT3BlblRyaWdnZXJdPVwiW11cIlxuICBbb2R4RHJvcGRvd25DbGlja091dHNpZGVBY3RpdmVdPVwiZmFsc2VcIlxuICAob2R4RHJvcGRvd25CZWZvcmVPcGVuKT1cIm9uRHJvcGRvd25PcGVuKClcIlxuICAob2R4RHJvcGRvd25BZnRlck9wZW4pPVwib25Ecm9wZG93bk9wZW5lZCgpXCJcbiAgKG9keERyb3Bkb3duQmVmb3JlQ2xvc2UpPVwib25Ecm9wZG93bkNsb3NlKClcIlxuICAob2R4RHJvcGRvd25BZnRlckNsb3NlKT1cIm9uRHJvcGRvd25DbG9zZWQoKVwiXG4+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImlucHV0W29keEF1dG9jb21wbGV0ZUNvbnRyb2xdXCIgLz5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNkcm9wZG93bkNvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJvZHgtZHJvcGRvd25fX29wdGlvbi1saXN0XCIgcm9sZT1cImxpc3Rib3hcIj5cbiAgICBAaWYgKGhhc09wdGlvbnMpIHtcbiAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -101,7 +101,7 @@ let DatepickerComponent = class DatepickerComponent extends CustomFormControl {
101
101
  deferFn(() => {
102
102
  if (!this.value)
103
103
  return;
104
- this.updateInternalValue(startOfDay(this.value));
104
+ this.updateDateField(startOfDay(this.value));
105
105
  });
106
106
  }
107
107
  /**
@@ -182,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
182
182
  type: HostListener,
183
183
  args: ['keydown.alt.ArrowDown', ['$event']]
184
184
  }] } });
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcGlja2VyL3NyYy9saWIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcGlja2VyL3NyYy9saWIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBYyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUs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QVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLG1CQUU3Rix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO3dEQXVDOUIsUUFBUTtzQkFEZCxLQUFLO2dCQVdDLE9BQU87c0JBRGIsS0FBSztnQkFXQyxPQUFPO3NCQURiLEtBQUs7Z0JBVUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQWlCQyxjQUFjO3NCQURwQixNQUFNO2dCQVNBLFFBQVE7c0JBRGQsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBU3JCLHNCQUFzQjtzQkFENUIsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFTekQsU0FBUztzQkFEZixZQUFZO3VCQUFDLCtCQUErQjtnQkEwRG5DLGNBQWM7c0JBRHZCLFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5wdXQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXMgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ3VzdG9tRm9ybUNvbnRyb2wgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2N1c3RvbS1mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHsgQWN0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9hY3Rpb24tZ3JvdXAnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IENhbGVuZGFyQ29tcG9uZW50LCBEYXRlRmlsdGVyIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXInO1xuaW1wb3J0IHsgRHJvcGRvd25EaXJlY3RpdmUsIERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGRlZmVyRm4sIGluamVjdEVsZW1lbnQsIFBvc2l0aW9uLCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBmb3JtYXQsIHN0YXJ0T2ZEYXkgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpbmplY3REYXRlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi9kYXRlcGlja2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBEYXRlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IGdldERhdGVwaWNrZXJJbnB1dEZvcm1hdCB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBkYXRlcGlja2VyIGNvbXBvbmVudCBmb3Igc2VsZWN0aW5nIGEgZGF0ZS5cbiAqIEV4dGVuZHMgdGhlIGBDdXN0b21Gb3JtQ29udHJvbGAgY2xhc3MgYW5kIGltcGxlbWVudHMgdGhlIGBBZnRlclZpZXdJbml0YCBpbnRlcmZhY2UuXG4gKlxuICogQHNlZSB7Q3VzdG9tRm9ybUNvbnRyb2x9XG4gKi9cbkBDU1NDb21wb25lbnQoJ2RhdGVwaWNrZXInKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LWRhdGVwaWNrZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQTExeU1vZHVsZSwgQWN0aW9uR3JvdXBDb21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudCwgQ2FsZW5kYXJDb21wb25lbnQsIERyb3Bkb3duTW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlckNvbXBvbmVudCBleHRlbmRzIEN1c3RvbUZvcm1Db250cm9sPERhdGUgfCBudWxsPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0RGF0ZXBpY2tlckNvbmZpZygpO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBkYXRlcGlja2VyIGlzIGN1cnJlbnRseSBvcGVuLlxuICAgKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd24uaXNPcGVuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGN1cnJlbnQgZGF0ZS5cbiAgICpcbiAgICogQHR5cGUge0RhdGV9XG4gICAqL1xuICBwdWJsaWMgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgZGF0ZSBzaG91bGQgYmUgaW5jbHVkZWQgb3IgZXhjbHVkZWQgaW4gdGhlIGRhdGVwaWNrZXIuXG4gICAqIElmIHNldCB0byBgbnVsbGAsIG5vIGZpbHRlcmluZyB3aWxsIGJlIGFwcGxpZWQuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlRmlsdGVyIHwgbnVsbH1cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiAvLyBFeGNsdWRlcyBtb25kYXlzIGZyb20gdGhlIGRhdGVwaWNrZXIuXG4gICAqIGNvbnN0IGZpbHRlckZuOiBEYXRlRmlsdGVyID0gKGRhdGUpID0+IGRhdGUuZ2V0RGF5KCkgIT09IDE7XG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlckZuOiBEYXRlRmlsdGVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgZGF0ZSBmb3IgdGhlIGRhdGVwaWNrZXIuXG4gICAqIElmIHNldCB0byBudWxsLCB0aGVyZSBpcyBubyBtaW5pbXVtIGRhdGUgcmVzdHJpY3Rpb24uXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlIHwgbnVsbH1cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1pbkRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gc2VsZWN0YWJsZSBkYXRlIGZvciB0aGUgZGF0ZXBpY2tlci5cbiAgICogSWYgc2V0IHRvIG51bGwsIHRoZXJlIGlzIG5vIG1heGltdW0gZGF0ZSByZXN0cmljdGlvbi5cbiAgICpcbiAgICogQHR5cGUge0RhdGUgfCBudWxsfVxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIHJlbGF0aXZlIHRvIHRoZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQHR5cGUge1Bvc2l0aW9ufVxuICAgKiBAZGVmYXVsdCBQb3NpdGlvbi5CT1RUT01cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkcm9wZG93blBvc2l0aW9uOiBQb3NpdGlvbiA9ICdib3R0b20nO1xuXG4gIC8qKlxuICAgKiBXaGVuIHNldCB0byB0cnVlLCB0aGUgc2VsZWN0IHdpbGwgZGlzcGxheSBhIHJlc2V0IGJ1dHRvbi5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBwdWJsaWMgY2xlYXJhYmxlID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgc2VsZWN0ZWQgZGF0ZSB3aGVuIGl0IGNoYW5nZXMuXG4gICAqXG4gICAqIEBlbWl0cyB7RGF0ZX1cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBkcm9wZG93biBkaXJlY3RpdmUgdXNlZCBpbiB0aGUgZGF0ZXBpY2tlciBjb21wb25lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtEcm9wZG93bkRpcmVjdGl2ZX1cbiAgICovXG4gIEBWaWV3Q2hpbGQoRHJvcGRvd25EaXJlY3RpdmUpXG4gIHB1YmxpYyBkcm9wZG93biE6IERyb3Bkb3duRGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBUaGUgZHJvcGRvd24gdHJpZ2dlciBlbGVtZW50IHVzZWQgaW4gdGhlIGRhdGVwaWNrZXIgY29tcG9uZW50LlxuICAgKlxuICAgKiBAdHlwZSB7RWxlbWVudFJlZjxIVE1MRWxlbWVudD59XG4gICAqL1xuICBAVmlld0NoaWxkKCdkcm9wZG93blRyaWdnZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZHJvcGRvd25UcmlnZ2VyRWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0ZSBmaWVsZCBpbnB1dCBjb250cm9sIGRpcmVjdGl2ZSB1c2VkIGluIHRoZSBkYXRlcGlja2VyIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGUge0RhdGVwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUgfCB1bmRlZmluZWR9XG4gICAqL1xuICBAQ29udGVudENoaWxkKERhdGVwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUpXG4gIHB1YmxpYyBkYXRlRmllbGQ/OiBEYXRlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKG51bGwpO1xuICAgIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzKHRoaXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZURhdGVGaWVsZENoYW5nZXMoKTtcbiAgICB0aGlzLmhhbmRsZURhdGVGaWVsZEZvY3VzKCk7XG5cbiAgICBkZWZlckZuKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy52YWx1ZSkgcmV0dXJuO1xuICAgICAgdGhpcy51cGRhdGVJbnRlcm5hbFZhbHVlKHN0YXJ0T2ZEYXkodGhpcy52YWx1ZSkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBkYXRlLlxuICAgKlxuICAgKiBAcGFyYW0ge0RhdGUgfCBudWxsfSB2YWx1ZSAtIFRoZSBkYXRlIHZhbHVlIHRvIGJlIHNlbGVjdGVkLlxuICAgKi9cbiAgcHVibGljIHNlbGVjdERhdGUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuXG4gICAgdGhpcy51cGRhdGVJbnRlcm5hbFZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICB0aGlzLmRyb3Bkb3duLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVJbnRlcm5hbFZhbHVlKG51bGwpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUludGVybmFsVmFsdWUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVEYXRlRmllbGQodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZURhdGVGaWVsZENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlRmllbGQ/LnZhbHVlQ2hhbmdlJC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuZGF0ZUZpZWxkPy52YWx1ZUFzRGF0ZSA/PyBudWxsKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRGF0ZUZpZWxkRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlRmllbGQ/LmZvY3VzZWQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGlzRm9jdXNlZCkgPT4ge1xuICAgICAgaWYgKCFpc0ZvY3VzZWQpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFsdC5BcnJvd0Rvd24nLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb3BlbkRhdGVwaWNrZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmlzUmVhZG9ubHkgfHwgdGhpcy5pc0Rpc2FibGVkKSByZXR1cm47XG5cbiAgICB0aGlzLmRyb3Bkb3duLm9wZW4oZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEYXRlRmllbGQoZGF0ZTogRGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGF0ZUZpZWxkKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRlRm9ybWF0ID0gZ2V0RGF0ZXBpY2tlcklucHV0Rm9ybWF0KHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmRhdGVGaWVsZC5uYXRpdmVFbGVtZW50VmFsdWUgPSBkYXRlID8gZm9ybWF0KGRhdGUsIGRhdGVGb3JtYXQpIDogJyc7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImlucHV0W29keERhdGVwaWNrZXJDb250cm9sXVwiIC8+XG5cbjxvZHgtYWN0aW9uLWdyb3VwIGNsYXNzPVwib2R4LWRhdGVwaWNrZXJfX3RyaWdnZXItd3JhcHBlclwiPlxuICBAaWYgKGNsZWFyYWJsZSgpICYmIHZhbHVlKSB7XG4gICAgPGJ1dHRvbiBvZHhCdXR0b24gY2xhc3M9XCJvZHgtZGF0ZXBpY2tlcl9fY2xlYXJcIiAoY2xpY2spPVwicmVzZXQoKVwiIHNpemU9XCJzbWFsbFwiIGFyaWEtbGFiZWw9XCJSZXNldCB0aW1lXCI+XG4gICAgICA8b2R4LWljb24gbmFtZT1cImNsb3NlXCIgaWNvblNldD1cImNvcmVcIiAvPlxuICAgIDwvYnV0dG9uPlxuICB9XG4gIDxidXR0b25cbiAgICAjZHJvcGRvd25UcmlnZ2VyXG4gICAgb2R4QnV0dG9uXG4gICAgc2l6ZT1cInNtYWxsXCJcbiAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgIGNsYXNzPVwib2R4LWRhdGVwaWNrZXJfX3RyaWdnZXJcIlxuICAgIFtvZHhEcm9wZG93bl09XCJjYWxlbmRhck92ZXJsYXlcIlxuICAgIFtvZHhEcm9wZG93bk9wdGlvbnNdPVwieyBwb3NpdGlvbjogZHJvcGRvd25Qb3NpdGlvbiB9XCJcbiAgICBbb2R4RHJvcGRvd25UcmlnZ2VyRWxlbWVudF09XCJkcm9wZG93blRyaWdnZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIlxuICAgIFtvZHhEcm9wZG93bkhvc3RdPVwibnVsbFwiXG4gICAgW29keERyb3Bkb3duUmVmZXJlbmNlRWxlbWVudF09XCJlbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIlxuICAgIChvZHhEcm9wZG93bkJlZm9yZUNsb3NlKT1cIm9uVG91Y2hlZCgpXCJcbiAgPlxuICAgIDxvZHgtaWNvbiBuYW1lPVwiY2FsZW5kYXJcIiAvPlxuICA8L2J1dHRvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW29keEJ1dHRvbl1cIiBuZ1Byb2plY3RBcz1cIltvZHhCdXR0b25dXCIgLz5cbjwvb2R4LWFjdGlvbi1ncm91cD5cblxuPG5nLXRlbXBsYXRlICNjYWxlbmRhck92ZXJsYXk+XG4gIDxvZHgtY2FsZW5kYXJcbiAgICBbc2VsZWN0ZWREYXRlXT1cInZhbHVlIHx8IHRvZGF5XCJcbiAgICBbZmlsdGVyRm5dPVwiZmlsdGVyRm5cIlxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgIGNka1RyYXBGb2N1c1xuICAgIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlXG4gICAgKHNlbGVjdGVkRGF0ZUNoYW5nZSk9XCJzZWxlY3REYXRlKCRldmVudClcIlxuICAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcGlja2VyL3NyYy9saWIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcGlja2VyL3NyYy9saWIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBYyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUs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OytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxtQkFFN0YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTt3REF1QzlCLFFBQVE7c0JBRGQsS0FBSztnQkFXQyxPQUFPO3NCQURiLEtBQUs7Z0JBV0MsT0FBTztzQkFEYixLQUFLO2dCQVVDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFpQkMsY0FBYztzQkFEcEIsTUFBTTtnQkFTQSxRQUFRO3NCQURkLFNBQVM7dUJBQUMsaUJBQWlCO2dCQVNyQixzQkFBc0I7c0JBRDVCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBU3pELFNBQVM7c0JBRGYsWUFBWTt1QkFBQywrQkFBK0I7Z0JBMERuQyxjQUFjO3NCQUR2QixZQUFZO3VCQUFDLHVCQUF1QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IEN1c3RvbUZvcm1Db250cm9sIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9jdXN0b20tZm9ybS1jb250cm9sJztcbmltcG9ydCB7IEFjdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYWN0aW9uLWdyb3VwJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCwgRGF0ZUZpbHRlciB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyJztcbmltcG9ydCB7IERyb3Bkb3duRGlyZWN0aXZlLCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWZlckZuLCBpbmplY3RFbGVtZW50LCBQb3NpdGlvbiwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZm9ybWF0LCBzdGFydE9mRGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgaW5qZWN0RGF0ZXBpY2tlckNvbmZpZyB9IGZyb20gJy4vZGF0ZXBpY2tlci5jb25maWcnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBnZXREYXRlcGlja2VySW5wdXRGb3JtYXQgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZGF0ZXBpY2tlciBjb21wb25lbnQgZm9yIHNlbGVjdGluZyBhIGRhdGUuXG4gKiBFeHRlbmRzIHRoZSBgQ3VzdG9tRm9ybUNvbnRyb2xgIGNsYXNzIGFuZCBpbXBsZW1lbnRzIHRoZSBgQWZ0ZXJWaWV3SW5pdGAgaW50ZXJmYWNlLlxuICpcbiAqIEBzZWUge0N1c3RvbUZvcm1Db250cm9sfVxuICovXG5AQ1NTQ29tcG9uZW50KCdkYXRlcGlja2VyJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1kYXRlcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ExMXlNb2R1bGUsIEFjdGlvbkdyb3VwQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnQsIENhbGVuZGFyQ29tcG9uZW50LCBEcm9wZG93bk1vZHVsZSwgSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBDdXN0b21Gb3JtQ29udHJvbDxEYXRlIHwgbnVsbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRha2VVbnRpbERlc3Ryb3llZCA9IHVudGlsRGVzdHJveWVkKCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdERhdGVwaWNrZXJDb25maWcoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICAvKipcbiAgICogR2V0cyBhIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgZGF0ZXBpY2tlciBpcyBjdXJyZW50bHkgb3Blbi5cbiAgICpcbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duLmlzT3BlbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBjdXJyZW50IGRhdGUuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlfVxuICAgKi9cbiAgcHVibGljIHRvZGF5ID0gbmV3IERhdGUoKTtcblxuICAvKipcbiAgICogVGhlIGZpbHRlciBmdW5jdGlvbiB1c2VkIHRvIGRldGVybWluZSBpZiBhIGRhdGUgc2hvdWxkIGJlIGluY2x1ZGVkIG9yIGV4Y2x1ZGVkIGluIHRoZSBkYXRlcGlja2VyLlxuICAgKiBJZiBzZXQgdG8gYG51bGxgLCBubyBmaWx0ZXJpbmcgd2lsbCBiZSBhcHBsaWVkLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZUZpbHRlciB8IG51bGx9XG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogLy8gRXhjbHVkZXMgbW9uZGF5cyBmcm9tIHRoZSBkYXRlcGlja2VyLlxuICAgKiBjb25zdCBmaWx0ZXJGbjogRGF0ZUZpbHRlciA9IChkYXRlKSA9PiBkYXRlLmdldERheSgpICE9PSAxO1xuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJGbjogRGF0ZUZpbHRlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBzZWxlY3RhYmxlIGRhdGUgZm9yIHRoZSBkYXRlcGlja2VyLlxuICAgKiBJZiBzZXQgdG8gbnVsbCwgdGhlcmUgaXMgbm8gbWluaW11bSBkYXRlIHJlc3RyaWN0aW9uLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZSB8IG51bGx9XG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHNlbGVjdGFibGUgZGF0ZSBmb3IgdGhlIGRhdGVwaWNrZXIuXG4gICAqIElmIHNldCB0byBudWxsLCB0aGVyZSBpcyBubyBtYXhpbXVtIGRhdGUgcmVzdHJpY3Rpb24uXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlIHwgbnVsbH1cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1heERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIHBvc2l0aW9uIG9mIHRoZSBkcm9wZG93biByZWxhdGl2ZSB0byB0aGUgaW5wdXQgZmllbGQuXG4gICAqXG4gICAqIEB0eXBlIHtQb3NpdGlvbn1cbiAgICogQGRlZmF1bHQgUG9zaXRpb24uQk9UVE9NXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZHJvcGRvd25Qb3NpdGlvbjogUG9zaXRpb24gPSAnYm90dG9tJztcblxuICAvKipcbiAgICogV2hlbiBzZXQgdG8gdHJ1ZSwgdGhlIHNlbGVjdCB3aWxsIGRpc3BsYXkgYSByZXNldCBidXR0b24uXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcHVibGljIGNsZWFyYWJsZSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHNlbGVjdGVkIGRhdGUgd2hlbiBpdCBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZW1pdHMge0RhdGV9XG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgZHJvcGRvd24gZGlyZWN0aXZlIHVzZWQgaW4gdGhlIGRhdGVwaWNrZXIgY29tcG9uZW50LlxuICAgKlxuICAgKiBAdHlwZSB7RHJvcGRvd25EaXJlY3RpdmV9XG4gICAqL1xuICBAVmlld0NoaWxkKERyb3Bkb3duRGlyZWN0aXZlKVxuICBwdWJsaWMgZHJvcGRvd24hOiBEcm9wZG93bkRpcmVjdGl2ZTtcblxuICAvKipcbiAgICogVGhlIGRyb3Bkb3duIHRyaWdnZXIgZWxlbWVudCB1c2VkIGluIHRoZSBkYXRlcGlja2VyIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGUge0VsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+fVxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25UcmlnZ2VyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGRyb3Bkb3duVHJpZ2dlckVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKipcbiAgICogVGhlIGRhdGUgZmllbGQgaW5wdXQgY29udHJvbCBkaXJlY3RpdmUgdXNlZCBpbiB0aGUgZGF0ZXBpY2tlciBjb21wb25lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgQENvbnRlbnRDaGlsZChEYXRlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlKVxuICBwdWJsaWMgZGF0ZUZpZWxkPzogRGF0ZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihudWxsKTtcbiAgICBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcyh0aGlzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVEYXRlRmllbGRDaGFuZ2VzKCk7XG4gICAgdGhpcy5oYW5kbGVEYXRlRmllbGRGb2N1cygpO1xuXG4gICAgZGVmZXJGbigoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMudmFsdWUpIHJldHVybjtcbiAgICAgIHRoaXMudXBkYXRlRGF0ZUZpZWxkKHN0YXJ0T2ZEYXkodGhpcy52YWx1ZSkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBkYXRlLlxuICAgKlxuICAgKiBAcGFyYW0ge0RhdGUgfCBudWxsfSB2YWx1ZSAtIFRoZSBkYXRlIHZhbHVlIHRvIGJlIHNlbGVjdGVkLlxuICAgKi9cbiAgcHVibGljIHNlbGVjdERhdGUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuXG4gICAgdGhpcy51cGRhdGVJbnRlcm5hbFZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG5cbiAgICB0aGlzLmRyb3Bkb3duLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVJbnRlcm5hbFZhbHVlKG51bGwpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUludGVybmFsVmFsdWUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVEYXRlRmllbGQodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZURhdGVGaWVsZENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlRmllbGQ/LnZhbHVlQ2hhbmdlJC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuZGF0ZUZpZWxkPy52YWx1ZUFzRGF0ZSA/PyBudWxsKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRGF0ZUZpZWxkRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlRmllbGQ/LmZvY3VzZWQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGlzRm9jdXNlZCkgPT4ge1xuICAgICAgaWYgKCFpc0ZvY3VzZWQpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFsdC5BcnJvd0Rvd24nLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb3BlbkRhdGVwaWNrZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmlzUmVhZG9ubHkgfHwgdGhpcy5pc0Rpc2FibGVkKSByZXR1cm47XG5cbiAgICB0aGlzLmRyb3Bkb3duLm9wZW4oZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEYXRlRmllbGQoZGF0ZTogRGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGF0ZUZpZWxkKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRlRm9ybWF0ID0gZ2V0RGF0ZXBpY2tlcklucHV0Rm9ybWF0KHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmRhdGVGaWVsZC5uYXRpdmVFbGVtZW50VmFsdWUgPSBkYXRlID8gZm9ybWF0KGRhdGUsIGRhdGVGb3JtYXQpIDogJyc7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImlucHV0W29keERhdGVwaWNrZXJDb250cm9sXVwiIC8+XG5cbjxvZHgtYWN0aW9uLWdyb3VwIGNsYXNzPVwib2R4LWRhdGVwaWNrZXJfX3RyaWdnZXItd3JhcHBlclwiPlxuICBAaWYgKGNsZWFyYWJsZSgpICYmIHZhbHVlKSB7XG4gICAgPGJ1dHRvbiBvZHhCdXR0b24gY2xhc3M9XCJvZHgtZGF0ZXBpY2tlcl9fY2xlYXJcIiAoY2xpY2spPVwicmVzZXQoKVwiIHNpemU9XCJzbWFsbFwiIGFyaWEtbGFiZWw9XCJSZXNldCB0aW1lXCI+XG4gICAgICA8b2R4LWljb24gbmFtZT1cImNsb3NlXCIgaWNvblNldD1cImNvcmVcIiAvPlxuICAgIDwvYnV0dG9uPlxuICB9XG4gIDxidXR0b25cbiAgICAjZHJvcGRvd25UcmlnZ2VyXG4gICAgb2R4QnV0dG9uXG4gICAgc2l6ZT1cInNtYWxsXCJcbiAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgIGNsYXNzPVwib2R4LWRhdGVwaWNrZXJfX3RyaWdnZXJcIlxuICAgIFtvZHhEcm9wZG93bl09XCJjYWxlbmRhck92ZXJsYXlcIlxuICAgIFtvZHhEcm9wZG93bk9wdGlvbnNdPVwieyBwb3NpdGlvbjogZHJvcGRvd25Qb3NpdGlvbiB9XCJcbiAgICBbb2R4RHJvcGRvd25UcmlnZ2VyRWxlbWVudF09XCJkcm9wZG93blRyaWdnZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIlxuICAgIFtvZHhEcm9wZG93bkhvc3RdPVwibnVsbFwiXG4gICAgW29keERyb3Bkb3duUmVmZXJlbmNlRWxlbWVudF09XCJlbGVtZW50Lm5hdGl2ZUVsZW1lbnRcIlxuICAgIChvZHhEcm9wZG93bkJlZm9yZUNsb3NlKT1cIm9uVG91Y2hlZCgpXCJcbiAgPlxuICAgIDxvZHgtaWNvbiBuYW1lPVwiY2FsZW5kYXJcIiAvPlxuICA8L2J1dHRvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW29keEJ1dHRvbl1cIiBuZ1Byb2plY3RBcz1cIltvZHhCdXR0b25dXCIgLz5cbjwvb2R4LWFjdGlvbi1ncm91cD5cblxuPG5nLXRlbXBsYXRlICNjYWxlbmRhck92ZXJsYXk+XG4gIDxvZHgtY2FsZW5kYXJcbiAgICBbc2VsZWN0ZWREYXRlXT1cInZhbHVlIHx8IHRvZGF5XCJcbiAgICBbZmlsdGVyRm5dPVwiZmlsdGVyRm5cIlxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgIGNka1RyYXBGb2N1c1xuICAgIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlXG4gICAgKHNlbGVjdGVkRGF0ZUNoYW5nZSk9XCJzZWxlY3REYXRlKCRldmVudClcIlxuICAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -120,10 +120,8 @@ let DaterangepickerComponent = class DaterangepickerComponent extends CustomForm
120
120
  deferFn(() => {
121
121
  if (!this.value || !this.value.start || !this.value.end)
122
122
  return;
123
- this.updateInternalValue({
124
- start: startOfDay(this.value.start),
125
- end: startOfDay(this.value.end),
126
- });
123
+ this.updateStartDateField(startOfDay(this.value.start));
124
+ this.updateEndDateField(startOfDay(this.value.end));
127
125
  });
128
126
  }
129
127
  /**
@@ -254,4 +252,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
254
252
  type: HostListener,
255
253
  args: ['keydown.alt.ArrowDown', ['$event']]
256
254
  }] } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2RhdGVyYW5nZXBpY2tlci9zcmMvbGliL2RhdGVyYW5nZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcmFuZ2VwaWNrZXIvc3JjL2xpYi9kYXRlcmFuZ2VwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUF5QixxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzFJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixD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OytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsbUJBRTdGLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1QscUJBQXFCLENBQUM7NEJBQ3BCLG1CQUFtQixFQUFFLEtBQUs7NEJBQzFCLGFBQWEsRUFBRSxxQkFBcUIsQ0FBQyxTQUFTO3lCQUMvQyxDQUFDO3FCQUNIO3dEQXNDTSxRQUFRO3NCQURkLEtBQUs7Z0JBVUMsT0FBTztzQkFEYixLQUFLO2dCQVVDLE9BQU87c0JBRGIsS0FBSztnQkFVQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBaUJDLGNBQWM7c0JBRHBCLE1BQU07Z0JBU0EsUUFBUTtzQkFEZCxTQUFTO3VCQUFDLGlCQUFpQjtnQkFTckIsc0JBQXNCO3NCQUQ1QixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVN6RCxVQUFVO3NCQURoQixlQUFlO3VCQUFDLG9DQUFvQztnQkFTOUMsZUFBZTtzQkFEckIsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFTekQsYUFBYTtzQkFEbkIsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBOEdwRCxtQkFBbUI7c0JBRDVCLFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5wdXQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcyB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDdXN0b21Gb3JtQ29udHJvbCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvY3VzdG9tLWZvcm0tY29udHJvbCc7XG5pbXBvcnQgeyBBY3Rpb25Hcm91cENvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2FjdGlvbi1ncm91cCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQ2FsZW5kYXJDb21wb25lbnQsIENhbGVuZGFyU2VsZWN0aW9uTW9kZSwgRGF0ZUZpbHRlciwgRGF0ZVJhbmdlLCBwcm92aWRlQ2FsZW5kYXJDb25maWcgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhcic7XG5pbXBvcnQgeyBEcm9wZG93bkRpcmVjdGl2ZSwgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVmZXJGbiwgaW5qZWN0RWxlbWVudCwgUG9zaXRpb24sIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGZvcm1hdCwgc3RhcnRPZkRheSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGluamVjdERhdGVyYW5nZXBpY2tlckNvbmZpZyB9IGZyb20gJy4vZGF0ZXJhbmdlcGlja2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgZ2V0RGF0ZXJhbmdlcGlja2VySW5wdXRGb3JtYXQgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3Igc2VsZWN0aW5nIGEgZGF0ZSByYW5nZSwgaW50ZWdyYXRlZCB3aXRoIGRyb3Bkb3ducyBhbmQgaW5wdXQgZmllbGRzIGZvciBzdGFydCBhbmQgZW5kIGRhdGVzLlxuICogSXQgc3VwcG9ydHMgY3VzdG9tIGNvbmZpZ3VyYXRpb25zIGZvciBtaW5pbXVtLCBtYXhpbXVtIGRhdGVzLCBhbmQgZGF0ZSBmaWx0ZXJzLiBUaGUgY29tcG9uZW50IGFsc28gaGFuZGxlc1xuICogdGhlIGRyb3Bkb3duJ3MgYmVoYXZpb3IgZm9yIGRhdGUgc2VsZWN0aW9uIGFuZCBhcHBsaWVzIGRhdGUgZm9ybWF0cyBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGNvbmZpZ3VyYXRpb24uXG4gKiBUaGUgY29tcG9uZW50IGV4dGVuZHMgdGhlIGBDdXN0b21Gb3JtQ29udHJvbGAgY2xhc3MgdG8gcHJvdmlkZSBmb3JtIGNvbnRyb2wgZnVuY3Rpb25hbGl0eS5cbiAqXG4gKiBAc2VlIHtDdXN0b21Gb3JtQ29udHJvbH1cbiAqL1xuQENTU0NvbXBvbmVudCgnZGF0ZXJhbmdlcGlja2VyJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1kYXRlcmFuZ2VwaWNrZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQTExeU1vZHVsZSwgQWN0aW9uR3JvdXBDb21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudCwgQ2FsZW5kYXJDb21wb25lbnQsIERyb3Bkb3duTW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVyYW5nZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlQ2FsZW5kYXJDb25maWcoe1xuICAgICAgZGlzcGxheUFkamFjZW50RGF5czogZmFsc2UsXG4gICAgICBzZWxlY3Rpb25Nb2RlOiBDYWxlbmRhclNlbGVjdGlvbk1vZGUuRGF0ZVJhbmdlLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBDdXN0b21Gb3JtQ29udHJvbDxEYXRlUmFuZ2UgfCBudWxsPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0RGF0ZXJhbmdlcGlja2VyQ29uZmlnKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBkcm9wZG93biBwYXJ0IG9mIHRoZSBkYXRlIHJhbmdlIHBpY2tlciBpcyBvcGVuLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd24uaXNPcGVuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdG9kYXkncyBkYXRlLCB1c2VkIGZvciBkZWZhdWx0IHNlbGVjdGlvbnMgYW5kIHZhbGlkYXRpb25zLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZX1cbiAgICovXG4gIHB1YmxpYyB0b2RheSA9IG5ldyBEYXRlKCk7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdGhhdCBkZWZpbmVzIGFkZGl0aW9uYWwgcnVsZXMgZm9yIGRpc2FibGVkIGRhdGVzIHdpdGhpbiB0aGUgcGlja2VyLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZUZpbHRlciB8IG51bGx9XG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHNcbiAgICogLy8gRGlzYWJsZXMgYWxsIFdlZG5lc2RheXMgaW4gdGhlIHBpY2tlci5cbiAgICogY29uc3QgZmlsdGVyRm46IERhdGVGaWx0ZXIgPSAoZGF0ZTogRGF0ZSkgPT4gZGF0ZS5nZXREYXkoKSAhPT0gMztcbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZmlsdGVyRm46IERhdGVGaWx0ZXIgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhlIGVhcmxpZXN0IGRhdGUgdGhhdCBjYW4gYmUgc2VsZWN0ZWQgaW4gdGhlIHBpY2tlci5cbiAgICpcbiAgICogQHR5cGUge0RhdGUgfCBudWxsfVxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWluRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbGF0ZXN0IGRhdGUgdGhhdCBjYW4gYmUgc2VsZWN0ZWQgaW4gdGhlIHBpY2tlci5cbiAgICpcbiAgICogQHR5cGUge0RhdGUgfCBudWxsfVxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbWF4RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgZHJvcGRvd24gcmVsYXRpdmUgdG8gdGhlIGlucHV0IGZpZWxkcy5cbiAgICpcbiAgICogQHR5cGUge1Bvc2l0aW9ufVxuICAgKiBAZGVmYXVsdCBQb3NpdGlvbi5CT1RUT01cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkcm9wZG93blBvc2l0aW9uOiBQb3NpdGlvbiA9ICdib3R0b20nO1xuXG4gIC8qKlxuICAgKiBXaGVuIHNldCB0byB0cnVlLCB0aGUgc2VsZWN0IHdpbGwgZGlzcGxheSBhIHJlc2V0IGJ1dHRvbi5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBwdWJsaWMgY2xlYXJhYmxlID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgc2VsZWN0ZWQgZGF0ZSByYW5nZSB3aGVuIGl0IGNoYW5nZXMuXG4gICAqXG4gICAqIEBlbWl0cyB7RGF0ZVJhbmdlfVxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVJhbmdlPigpO1xuXG4gIC8qKlxuICAgKiBEaXJlY3RpdmUgbWFuYWdpbmcgdGhlIGRyb3Bkb3duIGZ1bmN0aW9uYWxpdHkuXG4gICAqXG4gICAqIEB0eXBlIHtEcm9wZG93bkRpcmVjdGl2ZX1cbiAgICovXG4gIEBWaWV3Q2hpbGQoRHJvcGRvd25EaXJlY3RpdmUpXG4gIHB1YmxpYyBkcm9wZG93biE6IERyb3Bkb3duRGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgdHJpZ2dlcmluZyB0aGUgZHJvcGRvd24uXG4gICAqXG4gICAqIEB0eXBlIHtFbGVtZW50UmVmPEhUTUxFbGVtZW50Pn1cbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duVHJpZ2dlcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBkcm9wZG93blRyaWdnZXJFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgLyoqXG4gICAqIFF1ZXJ5IGxpc3Qgb2YgdGhlIGlucHV0IGNvbnRyb2xzIHdpdGhpbiB0aGUgZGF0ZSByYW5nZSBwaWNrZXIuXG4gICAqXG4gICAqIEB0eXBlIHtRdWVyeUxpc3Q8RGF0ZXJhbmdlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlPn1cbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oRGF0ZXJhbmdlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlKVxuICBwdWJsaWMgZGF0ZUZpZWxkcyE6IFF1ZXJ5TGlzdDxEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmU+O1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgbWlycm9yaW5nIHRoZSBzdGFydCBkYXRlIGlucHV0IGZpZWxkLlxuICAgKlxuICAgKiBAdHlwZSB7RWxlbWVudFJlZjxIVE1MRWxlbWVudD59XG4gICAqL1xuICBAVmlld0NoaWxkKCdzdGFydERhdGVNaXJyb3InLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgc3RhcnREYXRlTWlycm9yITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBtaXJyb3JpbmcgdGhlIGVuZCBkYXRlIGlucHV0IGZpZWxkLlxuICAgKlxuICAgKiBAdHlwZSB7RWxlbWVudFJlZjxIVE1MRWxlbWVudD59XG4gICAqL1xuICBAVmlld0NoaWxkKCdlbmREYXRlTWlycm9yJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGVuZERhdGVNaXJyb3IhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKipcbiAgICogVGhlIGlucHV0IGNvbnRyb2wgZm9yIHRoZSBzdGFydCBkYXRlLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZXJhbmdlcGlja2VySW5wdXRDb250cm9sRGlyZWN0aXZlIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgcHVibGljIGdldCBzdGFydERhdGVGaWVsZCgpOiBEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IFtzdGFydERhdGUsIF9lbmREYXRlXSA9IHRoaXMuZGF0ZUZpZWxkcztcbiAgICByZXR1cm4gc3RhcnREYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBjb250cm9sIGZvciB0aGUgZW5kIGRhdGUuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUgfCB1bmRlZmluZWR9XG4gICAqL1xuICBwdWJsaWMgZ2V0IGVuZERhdGVGaWVsZCgpOiBEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IFtfc3RhcnREYXRlLCBlbmREYXRlXSA9IHRoaXMuZGF0ZUZpZWxkcztcbiAgICByZXR1cm4gZW5kRGF0ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKG51bGwpO1xuICAgIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzKHRoaXMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVdpZHRoKHRoaXMuc3RhcnREYXRlRmllbGQsIHRoaXMuc3RhcnREYXRlTWlycm9yKTtcbiAgICB0aGlzLnVwZGF0ZVdpZHRoKHRoaXMuZW5kRGF0ZUZpZWxkLCB0aGlzLmVuZERhdGVNaXJyb3IpO1xuICAgIHRoaXMuaGFuZGxlRGF0ZUZpZWxkQ2hhbmdlcygpO1xuICAgIHRoaXMuaGFuZGxlRGF0ZUZpZWxkRm9jdXMoKTtcblxuICAgIGRlZmVyRm4oKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnZhbHVlIHx8ICF0aGlzLnZhbHVlLnN0YXJ0IHx8ICF0aGlzLnZhbHVlLmVuZCkgcmV0dXJuO1xuICAgICAgdGhpcy51cGRhdGVJbnRlcm5hbFZhbHVlKHtcbiAgICAgICAgc3RhcnQ6IHN0YXJ0T2ZEYXkodGhpcy52YWx1ZS5zdGFydCksXG4gICAgICAgIGVuZDogc3RhcnRPZkRheSh0aGlzLnZhbHVlLmVuZCksXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGEgZGF0ZSByYW5nZSwgdXBkYXRlcyB0aGUgZm9ybSB2YWx1ZSwgYW5kIGVtaXRzIHRoZSBzZWxlY3RlZCByYW5nZS5cbiAgICpcbiAgICogQHBhcmFtIHtEYXRlUmFuZ2UgfCBudWxsfSB2YWx1ZSAtIFRoZSBkYXRlIHJhbmdlIHRvIHNlbGVjdC5cbiAgICovXG4gIHB1YmxpYyBzZWxlY3REYXRlUmFuZ2UodmFsdWU6IERhdGVSYW5nZSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS5zdGFydCB8fCAhdmFsdWUuZW5kKSByZXR1cm47XG5cbiAgICB0aGlzLnVwZGF0ZUludGVybmFsVmFsdWUodmFsdWUpO1xuXG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLmRyb3Bkb3duLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVJbnRlcm5hbFZhbHVlKHsgc3RhcnQ6IG51bGwsIGVuZDogbnVsbCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0VtcHR5KHZhbHVlOiBEYXRlUmFuZ2UgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF2YWx1ZSB8fCAhdmFsdWUuc3RhcnQgfHwgIXZhbHVlLmVuZDtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVJbnRlcm5hbFZhbHVlKHZhbHVlOiBEYXRlUmFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZVN0YXJ0RGF0ZUZpZWxkKHZhbHVlLnN0YXJ0KTtcbiAgICB0aGlzLnVwZGF0ZUVuZERhdGVGaWVsZCh2YWx1ZS5lbmQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZURhdGVGaWVsZENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydERhdGVGaWVsZD8udmFsdWVDaGFuZ2UkLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKHsgc3RhcnQ6IHRoaXMuc3RhcnREYXRlRmllbGQ/LnZhbHVlQXNEYXRlID8/IG51bGwsIGVuZDogdGhpcy5lbmREYXRlRmllbGQ/LnZhbHVlQXNEYXRlID8/IG51bGwgfSk7XG4gICAgICB0aGlzLnVwZGF0ZVdpZHRoKHRoaXMuc3RhcnREYXRlRmllbGQsIHRoaXMuc3RhcnREYXRlTWlycm9yLCB2YWx1ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5lbmREYXRlRmllbGQ/LnZhbHVlQ2hhbmdlJC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZSh7IHN0YXJ0OiB0aGlzLnN0YXJ0RGF0ZUZpZWxkPy52YWx1ZUFzRGF0ZSA/PyBudWxsLCBlbmQ6IHRoaXMuZW5kRGF0ZUZpZWxkPy52YWx1ZUFzRGF0ZSA/PyBudWxsIH0pO1xuICAgICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLmVuZERhdGVGaWVsZCwgdGhpcy5lbmREYXRlTWlycm9yLCB2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlV2lkdGgodGFyZ2V0OiBEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUgfCB1bmRlZmluZWQsIHNvdXJjZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHZhbHVlID0gJycpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wZW5zYXRpb25QeCA9IDI7XG4gICAgc291cmNlLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQgPSB2YWx1ZSB8fCB0YXJnZXQ/LnBsYWNlaG9sZGVyIHx8IG51bGw7XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgZGVmZXJGbigoKSA9PiAodGFyZ2V0LmVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IGAke3NvdXJjZS5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgY29tcGVuc2F0aW9uUHh9cHhgKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZURhdGVGaWVsZEZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnREYXRlRmllbGQ/LmZvY3VzZWQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGlzRm9jdXNlZCkgPT4ge1xuICAgICAgaWYgKCFpc0ZvY3VzZWQpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5lbmREYXRlRmllbGQ/LmZvY3VzZWQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGlzRm9jdXNlZCkgPT4ge1xuICAgICAgaWYgKCFpc0ZvY3VzZWQpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFsdC5BcnJvd0Rvd24nLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb3BlbkRhdGVyYW5nZXBpY2tlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKHRoaXMuaXNSZWFkb25seSB8fCB0aGlzLmlzRGlzYWJsZWQpIHJldHVybjtcblxuICAgIHRoaXMuZHJvcGRvd24ub3BlbihldmVudCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN0YXJ0RGF0ZUZpZWxkKGRhdGU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0RGF0ZUZpZWxkKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRlRm9ybWF0ID0gZ2V0RGF0ZXJhbmdlcGlja2VySW5wdXRGb3JtYXQodGhpcy5jb25maWcpO1xuICAgIHRoaXMuc3RhcnREYXRlRmllbGQubmF0aXZlRWxlbWVudFZhbHVlID0gZGF0ZSA/IGZvcm1hdChkYXRlLCBkYXRlRm9ybWF0KSA6ICcnO1xuICAgIHRoaXMudXBkYXRlV2lkdGgodGhpcy5zdGFydERhdGVGaWVsZCwgdGhpcy5zdGFydERhdGVNaXJyb3IsIGRhdGUgPyBmb3JtYXQoZGF0ZSwgZGF0ZUZvcm1hdCkgOiAnJyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUVuZERhdGVGaWVsZChkYXRlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lbmREYXRlRmllbGQpIHJldHVybjtcblxuICAgIGNvbnN0IGRhdGVGb3JtYXQgPSBnZXREYXRlcmFuZ2VwaWNrZXJJbnB1dEZvcm1hdCh0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5lbmREYXRlRmllbGQubmF0aXZlRWxlbWVudFZhbHVlID0gZGF0ZSA/IGZvcm1hdChkYXRlLCBkYXRlRm9ybWF0KSA6ICcnO1xuICAgIHRoaXMudXBkYXRlV2lkdGgodGhpcy5lbmREYXRlRmllbGQsIHRoaXMuZW5kRGF0ZU1pcnJvciwgZGF0ZSA/IGZvcm1hdChkYXRlLCBkYXRlRm9ybWF0KSA6ICcnKTtcbiAgfVxufVxuIiwiPHNwYW4gI3N0YXJ0RGF0ZU1pcnJvciByb2xlPVwibm9uZVwiIGNsYXNzPVwib2R4LWRhdGVyYW5nZXBpY2tlcl9fbWlycm9yXCI+PC9zcGFuPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW5wdXRbb2R4RGF0ZXJhbmdlcGlja2VyU3RhcnREYXRlQ29udHJvbF1cIiAvPlxuPHNwYW4gcm9sZT1cIm5vbmVcIiBjbGFzcz1cIm9keC1kYXRlcmFuZ2VwaWNrZXJfX3NlcGFyYXRvclwiPuKAkzwvc3Bhbj5cbjxzcGFuICNlbmREYXRlTWlycm9yIHJvbGU9XCJub25lXCIgY2xhc3M9XCJvZHgtZGF0ZXJhbmdlcGlja2VyX19taXJyb3JcIj48L3NwYW4+XG48bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFtvZHhEYXRlcmFuZ2VwaWNrZXJFbmREYXRlQ29udHJvbF1cIiAvPlxuXG48b2R4LWFjdGlvbi1ncm91cCBjbGFzcz1cIm9keC1kYXRlcmFuZ2VwaWNrZXJfX3RyaWdnZXItd3JhcHBlclwiPlxuICBAaWYgKGNsZWFyYWJsZSgpICYmICFpc0VtcHR5KHZhbHVlKSkge1xuICAgIDxidXR0b24gY2xhc3M9XCJvZHgtZGF0ZXJhbmdlcGlja2VyX19jbGVhclwiIChjbGljayk9XCJyZXNldCgpXCIgb2R4QnV0dG9uIHNpemU9XCJzbWFsbFwiIGFyaWEtbGFiZWw9XCJSZXNldCB0aW1lXCI+XG4gICAgICA8b2R4LWljb24gbmFtZT1cImNsb3NlXCIgaWNvblNldD1cImNvcmVcIiAvPlxuICAgIDwvYnV0dG9uPlxuICB9XG4gIDxidXR0b25cbiAgICAjZHJvcGRvd25UcmlnZ2VyXG4gICAgb2R4QnV0dG9uXG4gICAgc2l6ZT1cInNtYWxsXCJcbiAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgIGNsYXNzPVwib2R4LWRhdGVyYW5nZXBpY2tlcl9fdHJpZ2dlclwiXG4gICAgW29keERyb3Bkb3duXT1cImNhbGVuZGFyT3ZlcmxheVwiXG4gICAgW29keERyb3Bkb3duT3B0aW9uc109XCJ7IHBvc2l0aW9uOiBkcm9wZG93blBvc2l0aW9uIH1cIlxuICAgIFtvZHhEcm9wZG93blRyaWdnZXJFbGVtZW50XT1cImRyb3Bkb3duVHJpZ2dlckVsZW1lbnQubmF0aXZlRWxlbWVudFwiXG4gICAgW29keERyb3Bkb3duSG9zdF09XCJudWxsXCJcbiAgICBbb2R4RHJvcGRvd25SZWZlcmVuY2VFbGVtZW50XT1cImVsZW1lbnQubmF0aXZlRWxlbWVudFwiXG4gICAgKG9keERyb3Bkb3duQmVmb3JlQ2xvc2UpPVwib25Ub3VjaGVkKClcIlxuICA+XG4gICAgPG9keC1pY29uIG5hbWU9XCJjYWxlbmRhclwiIC8+XG4gIDwvYnV0dG9uPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbb2R4QnV0dG9uXVwiIG5nUHJvamVjdEFzPVwiW29keEJ1dHRvbl1cIiAvPlxuPC9vZHgtYWN0aW9uLWdyb3VwPlxuXG48bmctdGVtcGxhdGUgI2NhbGVuZGFyT3ZlcmxheT5cbiAgPG9keC1jYWxlbmRhclxuICAgIFtzZWxlY3RlZERhdGVdPVwidG9kYXlcIlxuICAgIFtzZWxlY3RlZERhdGVSYW5nZV09XCJ2YWx1ZVwiXG4gICAgKHNlbGVjdGVkRGF0ZVJhbmdlQ2hhbmdlKT1cInNlbGVjdERhdGVSYW5nZSgkZXZlbnQpXCJcbiAgICBbZmlsdGVyRm5dPVwiZmlsdGVyRm5cIlxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgIGNka1RyYXBGb2N1c1xuICAgIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlXG4gIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2RhdGVyYW5nZXBpY2tlci9zcmMvbGliL2RhdGVyYW5nZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9kYXRlcmFuZ2VwaWNrZXIvc3JjL2xpYi9kYXRlcmFuZ2VwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUF5QixxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzFJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixD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K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxtQkFFN0YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVCxxQkFBcUIsQ0FBQzs0QkFDcEIsbUJBQW1CLEVBQUUsS0FBSzs0QkFDMUIsYUFBYSxFQUFFLHFCQUFxQixDQUFDLFNBQVM7eUJBQy9DLENBQUM7cUJBQ0g7d0RBc0NNLFFBQVE7c0JBRGQsS0FBSztnQkFVQyxPQUFPO3NCQURiLEtBQUs7Z0JBVUMsT0FBTztzQkFEYixLQUFLO2dCQVVDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFpQkMsY0FBYztzQkFEcEIsTUFBTTtnQkFTQSxRQUFRO3NCQURkLFNBQVM7dUJBQUMsaUJBQWlCO2dCQVNyQixzQkFBc0I7c0JBRDVCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBU3pELFVBQVU7c0JBRGhCLGVBQWU7dUJBQUMsb0NBQW9DO2dCQVM5QyxlQUFlO3NCQURyQixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVN6RCxhQUFhO3NCQURuQixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkE0R3BELG1CQUFtQjtzQkFENUIsWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IEN1c3RvbUZvcm1Db250cm9sIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9jdXN0b20tZm9ybS1jb250cm9sJztcbmltcG9ydCB7IEFjdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYWN0aW9uLWdyb3VwJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCwgQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlLCBEYXRlRmlsdGVyLCBEYXRlUmFuZ2UsIHByb3ZpZGVDYWxlbmRhckNvbmZpZyB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyJztcbmltcG9ydCB7IERyb3Bkb3duRGlyZWN0aXZlLCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBkZWZlckZuLCBpbmplY3RFbGVtZW50LCBQb3NpdGlvbiwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgZm9ybWF0LCBzdGFydE9mRGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgaW5qZWN0RGF0ZXJhbmdlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi9kYXRlcmFuZ2VwaWNrZXIuY29uZmlnJztcbmltcG9ydCB7IERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBnZXREYXRlcmFuZ2VwaWNrZXJJbnB1dEZvcm1hdCB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBzZWxlY3RpbmcgYSBkYXRlIHJhbmdlLCBpbnRlZ3JhdGVkIHdpdGggZHJvcGRvd25zIGFuZCBpbnB1dCBmaWVsZHMgZm9yIHN0YXJ0IGFuZCBlbmQgZGF0ZXMuXG4gKiBJdCBzdXBwb3J0cyBjdXN0b20gY29uZmlndXJhdGlvbnMgZm9yIG1pbmltdW0sIG1heGltdW0gZGF0ZXMsIGFuZCBkYXRlIGZpbHRlcnMuIFRoZSBjb21wb25lbnQgYWxzbyBoYW5kbGVzXG4gKiB0aGUgZHJvcGRvd24ncyBiZWhhdmlvciBmb3IgZGF0ZSBzZWxlY3Rpb24gYW5kIGFwcGxpZXMgZGF0ZSBmb3JtYXRzIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gY29uZmlndXJhdGlvbi5cbiAqIFRoZSBjb21wb25lbnQgZXh0ZW5kcyB0aGUgYEN1c3RvbUZvcm1Db250cm9sYCBjbGFzcyB0byBwcm92aWRlIGZvcm0gY29udHJvbCBmdW5jdGlvbmFsaXR5LlxuICpcbiAqIEBzZWUge0N1c3RvbUZvcm1Db250cm9sfVxuICovXG5AQ1NTQ29tcG9uZW50KCdkYXRlcmFuZ2VwaWNrZXInKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LWRhdGVyYW5nZXBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBMTF5TW9kdWxlLCBBY3Rpb25Hcm91cENvbXBvbmVudCwgQnV0dG9uQ29tcG9uZW50LCBDYWxlbmRhckNvbXBvbmVudCwgRHJvcGRvd25Nb2R1bGUsIEljb25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXJhbmdlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVDYWxlbmRhckNvbmZpZyh7XG4gICAgICBkaXNwbGF5QWRqYWNlbnREYXlzOiBmYWxzZSxcbiAgICAgIHNlbGVjdGlvbk1vZGU6IENhbGVuZGFyU2VsZWN0aW9uTW9kZS5EYXRlUmFuZ2UsXG4gICAgfSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCBleHRlbmRzIEN1c3RvbUZvcm1Db250cm9sPERhdGVSYW5nZSB8IG51bGw+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBpbmplY3REYXRlcmFuZ2VwaWNrZXJDb25maWcoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGRyb3Bkb3duIHBhcnQgb2YgdGhlIGRhdGUgcmFuZ2UgcGlja2VyIGlzIG9wZW4uXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgcHVibGljIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5kcm9wZG93bi5pc09wZW47XG4gIH1cblxuICAvKipcbiAgICogUmVwcmVzZW50cyB0b2RheSdzIGRhdGUsIHVzZWQgZm9yIGRlZmF1bHQgc2VsZWN0aW9ucyBhbmQgdmFsaWRhdGlvbnMuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlfVxuICAgKi9cbiAgcHVibGljIHRvZGF5ID0gbmV3IERhdGUoKTtcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0aGF0IGRlZmluZXMgYWRkaXRpb25hbCBydWxlcyBmb3IgZGlzYWJsZWQgZGF0ZXMgd2l0aGluIHRoZSBwaWNrZXIuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlRmlsdGVyIHwgbnVsbH1cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiAvLyBEaXNhYmxlcyBhbGwgV2VkbmVzZGF5cyBpbiB0aGUgcGlja2VyLlxuICAgKiBjb25zdCBmaWx0ZXJGbjogRGF0ZUZpbHRlciA9IChkYXRlOiBEYXRlKSA9PiBkYXRlLmdldERheSgpICE9PSAzO1xuICAgKiBgYGBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJGbjogRGF0ZUZpbHRlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgZWFybGllc3QgZGF0ZSB0aGF0IGNhbiBiZSBzZWxlY3RlZCBpbiB0aGUgcGlja2VyLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZSB8IG51bGx9XG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBsYXRlc3QgZGF0ZSB0aGF0IGNhbiBiZSBzZWxlY3RlZCBpbiB0aGUgcGlja2VyLlxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZSB8IG51bGx9XG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhEYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uIG9mIHRoZSBkcm9wZG93biByZWxhdGl2ZSB0byB0aGUgaW5wdXQgZmllbGRzLlxuICAgKlxuICAgKiBAdHlwZSB7UG9zaXRpb259XG4gICAqIEBkZWZhdWx0IFBvc2l0aW9uLkJPVFRPTVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRyb3Bkb3duUG9zaXRpb246IFBvc2l0aW9uID0gJ2JvdHRvbSc7XG5cbiAgLyoqXG4gICAqIFdoZW4gc2V0IHRvIHRydWUsIHRoZSBzZWxlY3Qgd2lsbCBkaXNwbGF5IGEgcmVzZXQgYnV0dG9uLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHB1YmxpYyBjbGVhcmFibGUgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBzZWxlY3RlZCBkYXRlIHJhbmdlIHdoZW4gaXQgY2hhbmdlcy5cbiAgICpcbiAgICogQGVtaXRzIHtEYXRlUmFuZ2V9XG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlUmFuZ2U+KCk7XG5cbiAgLyoqXG4gICAqIERpcmVjdGl2ZSBtYW5hZ2luZyB0aGUgZHJvcGRvd24gZnVuY3Rpb25hbGl0eS5cbiAgICpcbiAgICogQHR5cGUge0Ryb3Bkb3duRGlyZWN0aXZlfVxuICAgKi9cbiAgQFZpZXdDaGlsZChEcm9wZG93bkRpcmVjdGl2ZSlcbiAgcHVibGljIGRyb3Bkb3duITogRHJvcGRvd25EaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCB0cmlnZ2VyaW5nIHRoZSBkcm9wZG93bi5cbiAgICpcbiAgICogQHR5cGUge0VsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+fVxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25UcmlnZ2VyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGRyb3Bkb3duVHJpZ2dlckVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKipcbiAgICogUXVlcnkgbGlzdCBvZiB0aGUgaW5wdXQgY29udHJvbHMgd2l0aGluIHRoZSBkYXRlIHJhbmdlIHBpY2tlci5cbiAgICpcbiAgICogQHR5cGUge1F1ZXJ5TGlzdDxEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmU+fVxuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUpXG4gIHB1YmxpYyBkYXRlRmllbGRzITogUXVlcnlMaXN0PERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZT47XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBtaXJyb3JpbmcgdGhlIHN0YXJ0IGRhdGUgaW5wdXQgZmllbGQuXG4gICAqXG4gICAqIEB0eXBlIHtFbGVtZW50UmVmPEhUTUxFbGVtZW50Pn1cbiAgICovXG4gIEBWaWV3Q2hpbGQoJ3N0YXJ0RGF0ZU1pcnJvcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBzdGFydERhdGVNaXJyb3IhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG1pcnJvcmluZyB0aGUgZW5kIGRhdGUgaW5wdXQgZmllbGQuXG4gICAqXG4gICAqIEB0eXBlIHtFbGVtZW50UmVmPEhUTUxFbGVtZW50Pn1cbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2VuZERhdGVNaXJyb3InLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZW5kRGF0ZU1pcnJvciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgY29udHJvbCBmb3IgdGhlIHN0YXJ0IGRhdGUuXG4gICAqXG4gICAqIEB0eXBlIHtEYXRlcmFuZ2VwaWNrZXJJbnB1dENvbnRyb2xEaXJlY3RpdmUgfCB1bmRlZmluZWR9XG4gICAqL1xuICBwdWJsaWMgZ2V0IHN0YXJ0RGF0ZUZpZWxkKCk6IERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgW3N0YXJ0RGF0ZSwgX2VuZERhdGVdID0gdGhpcy5kYXRlRmllbGRzO1xuICAgIHJldHVybiBzdGFydERhdGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlucHV0IGNvbnRyb2wgZm9yIHRoZSBlbmQgZGF0ZS5cbiAgICpcbiAgICogQHR5cGUge0RhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZH1cbiAgICovXG4gIHB1YmxpYyBnZXQgZW5kRGF0ZUZpZWxkKCk6IERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgW19zdGFydERhdGUsIGVuZERhdGVdID0gdGhpcy5kYXRlRmllbGRzO1xuICAgIHJldHVybiBlbmREYXRlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIobnVsbCk7XG4gICAgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXModGhpcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlV2lkdGgodGhpcy5zdGFydERhdGVGaWVsZCwgdGhpcy5zdGFydERhdGVNaXJyb3IpO1xuICAgIHRoaXMudXBkYXRlV2lkdGgodGhpcy5lbmREYXRlRmllbGQsIHRoaXMuZW5kRGF0ZU1pcnJvcik7XG4gICAgdGhpcy5oYW5kbGVEYXRlRmllbGRDaGFuZ2VzKCk7XG4gICAgdGhpcy5oYW5kbGVEYXRlRmllbGRGb2N1cygpO1xuXG4gICAgZGVmZXJGbigoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMudmFsdWUgfHwgIXRoaXMudmFsdWUuc3RhcnQgfHwgIXRoaXMudmFsdWUuZW5kKSByZXR1cm47XG4gICAgICB0aGlzLnVwZGF0ZVN0YXJ0RGF0ZUZpZWxkKHN0YXJ0T2ZEYXkodGhpcy52YWx1ZS5zdGFydCkpO1xuICAgICAgdGhpcy51cGRhdGVFbmREYXRlRmllbGQoc3RhcnRPZkRheSh0aGlzLnZhbHVlLmVuZCkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBkYXRlIHJhbmdlLCB1cGRhdGVzIHRoZSBmb3JtIHZhbHVlLCBhbmQgZW1pdHMgdGhlIHNlbGVjdGVkIHJhbmdlLlxuICAgKlxuICAgKiBAcGFyYW0ge0RhdGVSYW5nZSB8IG51bGx9IHZhbHVlIC0gVGhlIGRhdGUgcmFuZ2UgdG8gc2VsZWN0LlxuICAgKi9cbiAgcHVibGljIHNlbGVjdERhdGVSYW5nZSh2YWx1ZTogRGF0ZVJhbmdlIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghdmFsdWUgfHwgIXZhbHVlLnN0YXJ0IHx8ICF2YWx1ZS5lbmQpIHJldHVybjtcblxuICAgIHRoaXMudXBkYXRlSW50ZXJuYWxWYWx1ZSh2YWx1ZSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIHRoaXMuZHJvcGRvd24uY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUludGVybmFsVmFsdWUoeyBzdGFydDogbnVsbCwgZW5kOiBudWxsIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzRW1wdHkodmFsdWU6IERhdGVSYW5nZSB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXZhbHVlIHx8ICF2YWx1ZS5zdGFydCB8fCAhdmFsdWUuZW5kO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUludGVybmFsVmFsdWUodmFsdWU6IERhdGVSYW5nZSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMudXBkYXRlU3RhcnREYXRlRmllbGQodmFsdWUuc3RhcnQpO1xuICAgIHRoaXMudXBkYXRlRW5kRGF0ZUZpZWxkKHZhbHVlLmVuZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRGF0ZUZpZWxkQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXJ0RGF0ZUZpZWxkPy52YWx1ZUNoYW5nZSQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoeyBzdGFydDogdGhpcy5zdGFydERhdGVGaWVsZD8udmFsdWVBc0RhdGUgPz8gbnVsbCwgZW5kOiB0aGlzLmVuZERhdGVGaWVsZD8udmFsdWVBc0RhdGUgPz8gbnVsbCB9KTtcbiAgICAgIHRoaXMudXBkYXRlV2lkdGgodGhpcy5zdGFydERhdGVGaWVsZCwgdGhpcy5zdGFydERhdGVNaXJyb3IsIHZhbHVlKTtcbiAgICB9KTtcbiAgICB0aGlzLmVuZERhdGVGaWVsZD8udmFsdWVDaGFuZ2UkLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKHsgc3RhcnQ6IHRoaXMuc3RhcnREYXRlRmllbGQ/LnZhbHVlQXNEYXRlID8/IG51bGwsIGVuZDogdGhpcy5lbmREYXRlRmllbGQ/LnZhbHVlQXNEYXRlID8/IG51bGwgfSk7XG4gICAgICB0aGlzLnVwZGF0ZVdpZHRoKHRoaXMuZW5kRGF0ZUZpZWxkLCB0aGlzLmVuZERhdGVNaXJyb3IsIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVXaWR0aCh0YXJnZXQ6IERhdGVyYW5nZXBpY2tlcklucHV0Q29udHJvbERpcmVjdGl2ZSB8IHVuZGVmaW5lZCwgc291cmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgdmFsdWUgPSAnJyk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBlbnNhdGlvblB4ID0gMjtcbiAgICBzb3VyY2UubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCA9IHZhbHVlIHx8IHRhcmdldD8ucGxhY2Vob2xkZXIgfHwgbnVsbDtcbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICBkZWZlckZuKCgpID0+ICh0YXJnZXQuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gYCR7c291cmNlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyBjb21wZW5zYXRpb25QeH1weGApKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRGF0ZUZpZWxkRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydERhdGVGaWVsZD8uZm9jdXNlZC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoaXNGb2N1c2VkKSA9PiB7XG4gICAgICBpZiAoIWlzRm9jdXNlZCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24uY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmVuZERhdGVGaWVsZD8uZm9jdXNlZC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoaXNGb2N1c2VkKSA9PiB7XG4gICAgICBpZiAoIWlzRm9jdXNlZCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24uY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYWx0LkFycm93RG93bicsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvcGVuRGF0ZXJhbmdlcGlja2VyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5pc1JlYWRvbmx5IHx8IHRoaXMuaXNEaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5kcm9wZG93bi5vcGVuKGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RhcnREYXRlRmllbGQoZGF0ZTogRGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc3RhcnREYXRlRmllbGQpIHJldHVybjtcblxuICAgIGNvbnN0IGRhdGVGb3JtYXQgPSBnZXREYXRlcmFuZ2VwaWNrZXJJbnB1dEZvcm1hdCh0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5zdGFydERhdGVGaWVsZC5uYXRpdmVFbGVtZW50VmFsdWUgPSBkYXRlID8gZm9ybWF0KGRhdGUsIGRhdGVGb3JtYXQpIDogJyc7XG4gICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLnN0YXJ0RGF0ZUZpZWxkLCB0aGlzLnN0YXJ0RGF0ZU1pcnJvciwgZGF0ZSA/IGZvcm1hdChkYXRlLCBkYXRlRm9ybWF0KSA6ICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRW5kRGF0ZUZpZWxkKGRhdGU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVuZERhdGVGaWVsZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGdldERhdGVyYW5nZXBpY2tlcklucHV0Rm9ybWF0KHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmVuZERhdGVGaWVsZC5uYXRpdmVFbGVtZW50VmFsdWUgPSBkYXRlID8gZm9ybWF0KGRhdGUsIGRhdGVGb3JtYXQpIDogJyc7XG4gICAgdGhpcy51cGRhdGVXaWR0aCh0aGlzLmVuZERhdGVGaWVsZCwgdGhpcy5lbmREYXRlTWlycm9yLCBkYXRlID8gZm9ybWF0KGRhdGUsIGRhdGVGb3JtYXQpIDogJycpO1xuICB9XG59XG4iLCI8c3BhbiAjc3RhcnREYXRlTWlycm9yIHJvbGU9XCJub25lXCIgY2xhc3M9XCJvZHgtZGF0ZXJhbmdlcGlja2VyX19taXJyb3JcIj48L3NwYW4+XG48bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFtvZHhEYXRlcmFuZ2VwaWNrZXJTdGFydERhdGVDb250cm9sXVwiIC8+XG48c3BhbiByb2xlPVwibm9uZVwiIGNsYXNzPVwib2R4LWRhdGVyYW5nZXBpY2tlcl9fc2VwYXJhdG9yXCI+4oCTPC9zcGFuPlxuPHNwYW4gI2VuZERhdGVNaXJyb3Igcm9sZT1cIm5vbmVcIiBjbGFzcz1cIm9keC1kYXRlcmFuZ2VwaWNrZXJfX21pcnJvclwiPjwvc3Bhbj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImlucHV0W29keERhdGVyYW5nZXBpY2tlckVuZERhdGVDb250cm9sXVwiIC8+XG5cbjxvZHgtYWN0aW9uLWdyb3VwIGNsYXNzPVwib2R4LWRhdGVyYW5nZXBpY2tlcl9fdHJpZ2dlci13cmFwcGVyXCI+XG4gIEBpZiAoY2xlYXJhYmxlKCkgJiYgIWlzRW1wdHkodmFsdWUpKSB7XG4gICAgPGJ1dHRvbiBjbGFzcz1cIm9keC1kYXRlcmFuZ2VwaWNrZXJfX2NsZWFyXCIgKGNsaWNrKT1cInJlc2V0KClcIiBvZHhCdXR0b24gc2l6ZT1cInNtYWxsXCIgYXJpYS1sYWJlbD1cIlJlc2V0IHRpbWVcIj5cbiAgICAgIDxvZHgtaWNvbiBuYW1lPVwiY2xvc2VcIiBpY29uU2V0PVwiY29yZVwiIC8+XG4gICAgPC9idXR0b24+XG4gIH1cbiAgPGJ1dHRvblxuICAgICNkcm9wZG93blRyaWdnZXJcbiAgICBvZHhCdXR0b25cbiAgICBzaXplPVwic21hbGxcIlxuICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgY2xhc3M9XCJvZHgtZGF0ZXJhbmdlcGlja2VyX190cmlnZ2VyXCJcbiAgICBbb2R4RHJvcGRvd25dPVwiY2FsZW5kYXJPdmVybGF5XCJcbiAgICBbb2R4RHJvcGRvd25PcHRpb25zXT1cInsgcG9zaXRpb246IGRyb3Bkb3duUG9zaXRpb24gfVwiXG4gICAgW29keERyb3Bkb3duVHJpZ2dlckVsZW1lbnRdPVwiZHJvcGRvd25UcmlnZ2VyRWxlbWVudC5uYXRpdmVFbGVtZW50XCJcbiAgICBbb2R4RHJvcGRvd25Ib3N0XT1cIm51bGxcIlxuICAgIFtvZHhEcm9wZG93blJlZmVyZW5jZUVsZW1lbnRdPVwiZWxlbWVudC5uYXRpdmVFbGVtZW50XCJcbiAgICAob2R4RHJvcGRvd25CZWZvcmVDbG9zZSk9XCJvblRvdWNoZWQoKVwiXG4gID5cbiAgICA8b2R4LWljb24gbmFtZT1cImNhbGVuZGFyXCIgLz5cbiAgPC9idXR0b24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltvZHhCdXR0b25dXCIgbmdQcm9qZWN0QXM9XCJbb2R4QnV0dG9uXVwiIC8+XG48L29keC1hY3Rpb24tZ3JvdXA+XG5cbjxuZy10ZW1wbGF0ZSAjY2FsZW5kYXJPdmVybGF5PlxuICA8b2R4LWNhbGVuZGFyXG4gICAgW3NlbGVjdGVkRGF0ZV09XCJ0b2RheVwiXG4gICAgW3NlbGVjdGVkRGF0ZVJhbmdlXT1cInZhbHVlXCJcbiAgICAoc2VsZWN0ZWREYXRlUmFuZ2VDaGFuZ2UpPVwic2VsZWN0RGF0ZVJhbmdlKCRldmVudClcIlxuICAgIFtmaWx0ZXJGbl09XCJmaWx0ZXJGblwiXG4gICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgY2RrVHJhcEZvY3VzXG4gICAgY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVcbiAgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,7 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { booleanAttribute, ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
3
3
  import { CoreModule, detectControllerChanges } from '@odx/angular';
4
- import { DynamicViewDirective } from '@odx/angular/cdk/dynamic-view';
5
4
  import { OptionControl } from '@odx/angular/cdk/option-control';
6
5
  import { CheckboxComponent } from '@odx/angular/components/checkbox';
7
6
  import { CSSComponent } from '@odx/angular/internal';
@@ -101,7 +100,7 @@ SelectOptionComponent = __decorate([
101
100
  export { SelectOptionComponent };
102
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectOptionComponent, decorators: [{
103
102
  type: Component,
104
- args: [{ standalone: true, selector: 'odx-select-option, odx-option', imports: [CoreModule, DynamicViewDirective, CheckboxComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
103
+ args: [{ standalone: true, selector: 'odx-select-option, odx-option', imports: [CoreModule, CheckboxComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
105
104
  '[attr.aria-disabled]': 'disabled || null',
106
105
  '[class.is-disabled]': 'disabled',
107
106
  }, template: "@if (selectControl.multiple && !notFoundMessage) {\n <odx-checkbox [checked]=\"isSelected\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"content\" />\n </odx-checkbox>\n} @else {\n <ng-container *ngTemplateOutlet=\"content\" />\n}\n\n<ng-template #content>\n <ng-content />\n</ng-template>\n" }]
@@ -112,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
112
111
  type: Input,
113
112
  args: [{ transform: booleanAttribute }]
114
113
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1vcHRpb24vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1vcHRpb24vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRXJEOzs7Ozs7OztHQVFHO0FBY0ksSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBbUMsU0FBUSxhQUFnQjtJQXFCdEU7Ozs7T0FJRztJQUNILElBQ1csUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBeENGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRVQsa0JBQWEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFMUQ7Ozs7V0FJRztRQUNJLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFMUI7Ozs7O1dBS0c7UUFFSSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQXdCN0IsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDL0IsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFMUIsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDOytHQXBGVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixtSUFrQlosZ0JBQWdCLHNDQVFoQixnQkFBZ0IseUpDekR0Qyw0VEFXQSwyQ0RXWSxVQUFVLHdTQUF3QixpQkFBaUI7O0FBU2xELHFCQUFxQjtJQWJqQyxZQUFZLENBQUMsZUFBZSxDQUFDOztHQWFqQixxQkFBcUIsQ0FxRmpDOzs0RkFyRlkscUJBQXFCO2tCQVpqQyxTQUFTO2lDQUNJLElBQUksWUFDTiwrQkFBK0IsV0FDaEMsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsaUJBRS9DLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osc0JBQXNCLEVBQUUsa0JBQWtCO3dCQUMxQyxxQkFBcUIsRUFBRSxVQUFVO3FCQUNsQzt3REFxQk0sZUFBZTtzQkFEckIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFTM0IsUUFBUTtzQkFEbEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IER5bmFtaWNWaWV3RGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2Nkay9keW5hbWljLXZpZXcnO1xuaW1wb3J0IHsgT3B0aW9uQ29udHJvbCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvb3B0aW9uLWNvbnRyb2wnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVmZXJGbiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBTRUxFQ1RfQ09OVFJPTCB9IGZyb20gJy4uLy4uL3NlbGVjdC50b2tlbnMnO1xuXG4vKipcbiAqIFNlbGVjdE9wdGlvbkNvbXBvbmVudCBpcyBhIGN1c3RvbWl6YWJsZSBvcHRpb24gZWxlbWVudCBmb3IgdXNlIHdpdGhpbiBhIFNlbGVjdENvbXBvbmVudC5cbiAqIEl0IHN1cHBvcnRzIGNvbXBsZXggZGF0YSBzdHJ1Y3R1cmVzLCBpbnRlZ3JhdGlvbiB3aXRoIGNoZWNrYm94IGNvbXBvbmVudHMgZm9yIG11bHRpLXNlbGVjdCxcbiAqIGFuZCBjYW4gYmUgZGlzYWJsZWQgYXMgbmVlZGVkLlxuICogSXQgZXh0ZW5kcyBPcHRpb25Db250cm9sIHRvIHByb3ZpZGUgYWRkaXRpb25hbCBiZWhhdmlvciBzcGVjaWZpYyB0byBzZWxlY3QgY29tcG9uZW50cy5cbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBzZWxlY3RlZCBpbiB0aGUgb3B0aW9uLlxuICogQHNlZSB7T3B0aW9uQ29udHJvbH1cbiAqL1xuQENTU0NvbXBvbmVudCgnc2VsZWN0LW9wdGlvbicpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtc2VsZWN0LW9wdGlvbiwgb2R4LW9wdGlvbicsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBEeW5hbWljVmlld0RpcmVjdGl2ZSwgQ2hlY2tib3hDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICdbY2xhc3MuaXMtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0T3B0aW9uQ29tcG9uZW50PFQgPSB1bmtub3duPiBleHRlbmRzIE9wdGlvbkNvbnRyb2w8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9pc0Rpc2FibGVkID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdENvbnRyb2wgPSBpbmplY3QoU0VMRUNUX0NPTlRST0wpO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgb3B0aW9uIGlzIGN1cnJlbnRseSBzZWxlY3RlZC5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBwdWJsaWMgaXNTZWxlY3RlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciBhIG5vdCBmb3VuZCBtZXNzYWdlIHNob3VsZCBiZSBkaXNwbGF5ZWQsIHVzZWQgdHlwaWNhbGx5IGZvciBzZWFyY2ggcmVzdWx0cy5cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIG5vdEZvdW5kTWVzc2FnZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZXR0ZXIgZm9yIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgc2VsZWN0IG9wdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIG5ldyB2YWx1ZSBmb3IgdGhlIGRpc2FibGVkIHN0YXRlLlxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIGZvciB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIHNlbGVjdCBvcHRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUaGUgY3VycmVudCBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgb3B0aW9uLlxuICAgKi9cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNEaXNhYmxlZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBkZXRlY3RDb250cm9sbGVyQ2hhbmdlcyh0aGlzLnNlbGVjdENvbnRyb2wpXG4gICAgICAucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRoaXMuc2VsZWN0Q29udHJvbC5pc09wdGlvblNlbGVjdGVkKHRoaXMpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkID0gdGhpcy5zZWxlY3RDb250cm9sLmlzT3B0aW9uU2VsZWN0ZWQodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhY3RpdmUgc3R5bGVzIGZvciB0aGUgb3B0aW9uIHdoZW4gaXQgYmVjb21lcyB0aGUgdGFyZ2V0IG9mIGtleWJvYXJkIG5hdmlnYXRpb24gb3IgbW91c2UgaG92ZXIuXG4gICAqL1xuICBwdWJsaWMgc2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICBkZWZlckZuKCgpID0+IHtcbiAgICAgIHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RDb250cm9sLmlzT3Blbikge1xuICAgICAgdGhpcy5zZWxlY3RDb250cm9sLnNjcm9sbE9wdGlvbkludG9WaWV3KHRoaXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2VsZWN0T3B0aW9uKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBzZWxlY3Rpb24gc3RhdGUgb2YgdGhlIG9wdGlvbiB3aGVuIGl0IGlzIHBhcnQgb2YgYSBtdWx0aS1zZWxlY3QgY29udHJvbC5cbiAgICovXG4gIHB1YmxpYyBzd2l0Y2hDaGVja2JveCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RDb250cm9sLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLmlzU2VsZWN0ZWQgPSAhdGhpcy5pc1NlbGVjdGVkO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdE9wdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2VsZWN0T3B0aW9uKHRoaXMpO1xuICB9XG59XG4iLCJAaWYgKHNlbGVjdENvbnRyb2wubXVsdGlwbGUgJiYgIW5vdEZvdW5kTWVzc2FnZSkge1xuICA8b2R4LWNoZWNrYm94IFtjaGVja2VkXT1cImlzU2VsZWN0ZWRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiIC8+XG4gIDwvb2R4LWNoZWNrYm94PlxufSBAZWxzZSB7XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCIgLz5cbn1cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8bmctY29udGVudCAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1vcHRpb24vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1vcHRpb24vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRXJEOzs7Ozs7OztHQVFHO0FBY0ksSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBbUMsU0FBUSxhQUFnQjtJQXFCdEU7Ozs7T0FJRztJQUNILElBQ1csUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBeENGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRVQsa0JBQWEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFMUQ7Ozs7V0FJRztRQUNJLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFMUI7Ozs7O1dBS0c7UUFFSSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQXdCN0IsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDL0IsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFMUIsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDOytHQXBGVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixtSUFrQlosZ0JBQWdCLHNDQVFoQixnQkFBZ0IseUpDeER0Qyw0VEFXQSwyQ0RVWSxVQUFVLHdTQUFFLGlCQUFpQjs7QUFTNUIscUJBQXFCO0lBYmpDLFlBQVksQ0FBQyxlQUFlLENBQUM7O0dBYWpCLHFCQUFxQixDQXFGakM7OzRGQXJGWSxxQkFBcUI7a0JBWmpDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLCtCQUErQixXQUNoQyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxpQkFFekIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixzQkFBc0IsRUFBRSxrQkFBa0I7d0JBQzFDLHFCQUFxQixFQUFFLFVBQVU7cUJBQ2xDO3dEQXFCTSxlQUFlO3NCQURyQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVMzQixRQUFRO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgZGV0ZWN0Q29udHJvbGxlckNoYW5nZXMgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgT3B0aW9uQ29udHJvbCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvb3B0aW9uLWNvbnRyb2wnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVmZXJGbiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBTRUxFQ1RfQ09OVFJPTCB9IGZyb20gJy4uLy4uL3NlbGVjdC50b2tlbnMnO1xuXG4vKipcbiAqIFNlbGVjdE9wdGlvbkNvbXBvbmVudCBpcyBhIGN1c3RvbWl6YWJsZSBvcHRpb24gZWxlbWVudCBmb3IgdXNlIHdpdGhpbiBhIFNlbGVjdENvbXBvbmVudC5cbiAqIEl0IHN1cHBvcnRzIGNvbXBsZXggZGF0YSBzdHJ1Y3R1cmVzLCBpbnRlZ3JhdGlvbiB3aXRoIGNoZWNrYm94IGNvbXBvbmVudHMgZm9yIG11bHRpLXNlbGVjdCxcbiAqIGFuZCBjYW4gYmUgZGlzYWJsZWQgYXMgbmVlZGVkLlxuICogSXQgZXh0ZW5kcyBPcHRpb25Db250cm9sIHRvIHByb3ZpZGUgYWRkaXRpb25hbCBiZWhhdmlvciBzcGVjaWZpYyB0byBzZWxlY3QgY29tcG9uZW50cy5cbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBzZWxlY3RlZCBpbiB0aGUgb3B0aW9uLlxuICogQHNlZSB7T3B0aW9uQ29udHJvbH1cbiAqL1xuQENTU0NvbXBvbmVudCgnc2VsZWN0LW9wdGlvbicpXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdvZHgtc2VsZWN0LW9wdGlvbiwgb2R4LW9wdGlvbicsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBDaGVja2JveENvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgbnVsbCcsXG4gICAgJ1tjbGFzcy5pcy1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RPcHRpb25Db21wb25lbnQ8VCA9IHVua25vd24+IGV4dGVuZHMgT3B0aW9uQ29udHJvbDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX2lzRGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0Q29udHJvbCA9IGluamVjdChTRUxFQ1RfQ09OVFJPTCk7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBvcHRpb24gaXMgY3VycmVudGx5IHNlbGVjdGVkLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHB1YmxpYyBpc1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIGEgbm90IGZvdW5kIG1lc3NhZ2Ugc2hvdWxkIGJlIGRpc3BsYXllZCwgdXNlZCB0eXBpY2FsbHkgZm9yIHNlYXJjaCByZXN1bHRzLlxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgbm90Rm91bmRNZXNzYWdlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldHRlciBmb3IgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBzZWxlY3Qgb3B0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgbmV3IHZhbHVlIGZvciB0aGUgZGlzYWJsZWQgc3RhdGUuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzRGlzYWJsZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgZm9yIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgc2VsZWN0IG9wdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMge2Jvb2xlYW59IFRoZSBjdXJyZW50IGRpc2FibGVkIHN0YXRlIG9mIHRoZSBvcHRpb24uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0Rpc2FibGVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGRldGVjdENvbnRyb2xsZXJDaGFuZ2VzKHRoaXMuc2VsZWN0Q29udHJvbClcbiAgICAgIC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gdGhpcy5zZWxlY3RDb250cm9sLmlzT3B0aW9uU2VsZWN0ZWQodGhpcyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdENvbnRyb2wuaXNPcHRpb25TZWxlY3RlZCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGFjdGl2ZSBzdHlsZXMgZm9yIHRoZSBvcHRpb24gd2hlbiBpdCBiZWNvbWVzIHRoZSB0YXJnZXQgb2Yga2V5Ym9hcmQgbmF2aWdhdGlvbiBvciBtb3VzZSBob3Zlci5cbiAgICovXG4gIHB1YmxpYyBzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIGRlZmVyRm4oKCkgPT4ge1xuICAgICAgdGhpcy5pc0FjdGl2ZSA9IHRydWU7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNlbGVjdENvbnRyb2wuaXNPcGVuKSB7XG4gICAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2Nyb2xsT3B0aW9uSW50b1ZpZXcodGhpcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0Q29udHJvbC5zZWxlY3RPcHRpb24odGhpcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIHNlbGVjdGlvbiBzdGF0ZSBvZiB0aGUgb3B0aW9uIHdoZW4gaXQgaXMgcGFydCBvZiBhIG11bHRpLXNlbGVjdCBjb250cm9sLlxuICAgKi9cbiAgcHVibGljIHN3aXRjaENoZWNrYm94KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdENvbnRyb2wubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9ICF0aGlzLmlzU2VsZWN0ZWQ7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0T3B0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0Q29udHJvbC5zZWxlY3RPcHRpb24odGhpcyk7XG4gIH1cbn1cbiIsIkBpZiAoc2VsZWN0Q29udHJvbC5tdWx0aXBsZSAmJiAhbm90Rm91bmRNZXNzYWdlKSB7XG4gIDxvZHgtY2hlY2tib3ggW2NoZWNrZWRdPVwiaXNTZWxlY3RlZFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCIgLz5cbiAgPC9vZHgtY2hlY2tib3g+XG59IEBlbHNlIHtcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIiAvPlxufVxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50IC8+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,2 +1,3 @@
1
+ export * from './select-all.directive';
1
2
  export * from './select-input-control.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9kaXJlY3RpdmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlbGVjdC1pbnB1dC1jb250cm9sLmRpcmVjdGl2ZSc7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9zZWxlY3Qvc3JjL2xpYi9kaXJlY3RpdmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWFsbC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtaW5wdXQtY29udHJvbC5kaXJlY3RpdmUnO1xuIl19