@lucca-front/ng 17.3.6 → 17.3.8

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 (80) hide show
  1. package/core-select/input/select-input.component.d.ts +6 -6
  2. package/core-select/option/group.pipe.d.ts +13 -0
  3. package/core-select/option/index.d.ts +1 -0
  4. package/core-select/option/option.component.d.ts +3 -1
  5. package/core-select/panel/index.d.ts +1 -1
  6. package/core-select/panel/panel.utils.d.ts +5 -3
  7. package/dialog/model/dialog-config.d.ts +4 -3
  8. package/esm2022/core-select/api/api.directive.mjs +4 -2
  9. package/esm2022/core-select/establishment/establishments.directive.mjs +7 -3
  10. package/esm2022/core-select/input/select-input.component.mjs +16 -14
  11. package/esm2022/core-select/job-qualification/job-qualifications.directive.mjs +2 -2
  12. package/esm2022/core-select/option/group.pipe.mjs +43 -0
  13. package/esm2022/core-select/option/index.mjs +2 -1
  14. package/esm2022/core-select/option/option.component.mjs +10 -6
  15. package/esm2022/core-select/panel/index.mjs +2 -2
  16. package/esm2022/core-select/panel/panel.utils.mjs +8 -24
  17. package/esm2022/dialog/dialog/dialog.component.mjs +2 -2
  18. package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +2 -2
  19. package/esm2022/dialog/dialog-header/dialog-header.component.mjs +3 -3
  20. package/esm2022/dialog/dialog.service.mjs +2 -2
  21. package/esm2022/dialog/model/dialog-config.mjs +1 -1
  22. package/esm2022/empty-state/empty-state-page/empty-state-page.component.mjs +3 -3
  23. package/esm2022/empty-state/empty-state-section/empty-state-section.component.mjs +3 -3
  24. package/esm2022/form-field/form-field.component.mjs +3 -3
  25. package/esm2022/forms/text-input/text-input.component.mjs +13 -4
  26. package/esm2022/icon/icon.component.mjs +3 -3
  27. package/esm2022/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.mjs +4 -1
  28. package/esm2022/multi-select/displayer/default-displayer.component.mjs +7 -10
  29. package/esm2022/multi-select/displayer/displayer-input.directive.mjs +14 -8
  30. package/esm2022/multi-select/input/select-input.component.mjs +4 -4
  31. package/esm2022/multi-select/panel/panel.component.mjs +9 -7
  32. package/esm2022/option/item/option-item.component.mjs +3 -3
  33. package/esm2022/option/item/tree-option-item.component.mjs +3 -3
  34. package/esm2022/simple-select/input/select-input.component.mjs +3 -3
  35. package/esm2022/simple-select/panel/panel.component.mjs +8 -7
  36. package/esm2022/user/display/user-display.pipe.mjs +2 -2
  37. package/esm2022/user/picture/index.mjs +1 -1
  38. package/esm2022/user/picture/user-picture.component.mjs +1 -1
  39. package/esm2022/user/tile/user-tile.component.mjs +4 -4
  40. package/fesm2022/lucca-front-ng-core-select-api.mjs +3 -1
  41. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +6 -2
  43. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +1 -1
  45. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-core-select.mjs +70 -41
  47. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-dialog.mjs +7 -7
  49. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-empty-state.mjs +4 -4
  51. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
  53. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-forms.mjs +12 -3
  55. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-icon.mjs +2 -2
  57. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-modal.mjs +3 -0
  59. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-multi-select.mjs +27 -23
  61. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-option.mjs +4 -4
  63. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-simple-select.mjs +9 -8
  65. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-user.mjs +3 -3
  67. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  68. package/forms/text-input/text-input.component.d.ts +5 -1
  69. package/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.d.ts +1 -0
  70. package/multi-select/displayer/default-displayer.component.d.ts +0 -1
  71. package/multi-select/displayer/displayer-input.directive.d.ts +1 -1
  72. package/multi-select/panel/panel.component.d.ts +2 -1
  73. package/package.json +37 -37
  74. package/simple-select/panel/panel.component.d.ts +2 -1
  75. package/src/components/_picker.scss +11 -1
  76. package/src/definitions/option/_option-item.scss +6 -0
  77. package/user/display/user-display.pipe.d.ts +6 -3
  78. package/user/picture/index.d.ts +1 -1
  79. package/user/picture/user-picture.component.d.ts +11 -4
  80. package/user/tile/user-tile.component.d.ts +14 -6
@@ -4,14 +4,15 @@ import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
4
4
  import { LuOptionGrouping } from '../option';
5
5
  import { LuSelectPanelRef } from '../panel';
6
6
  import { LuOptionContext } from '../select.model';
7
+ import { ControlValueAccessor } from '@angular/forms';
7
8
  import * as i0 from "@angular/core";
8
- export declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDestroy, OnInit {
9
+ export declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDestroy, OnInit, ControlValueAccessor {
9
10
  private inputElementRef;
10
11
  placeholder$: BehaviorSubject<string>;
12
+ disabled$: BehaviorSubject<boolean>;
11
13
  set placeholder(value: string);
12
14
  clearable: boolean;
13
15
  get searchable(): boolean;
14
- disabled: boolean;
15
16
  protected get isSelectedClass(): boolean;
16
17
  protected get isSearchFilledClass(): boolean;
17
18
  protected abstract readonly hasValue: boolean;
@@ -32,7 +33,7 @@ export declare abstract class ALuSelectInputComponent<TOption, TValue> implement
32
33
  get value(): TValue;
33
34
  protected set value(value: TValue);
34
35
  get inputPlaceholder(): string | null;
35
- clueChanged(clue: string): void;
36
+ clueChanged(clue: string, skipPanelOpen?: boolean): void;
36
37
  protected _value?: TValue;
37
38
  options$: ReplaySubject<TOption[]>;
38
39
  loading$: BehaviorSubject<boolean>;
@@ -62,9 +63,8 @@ export declare abstract class ALuSelectInputComponent<TOption, TValue> implement
62
63
  protected emptyClue(): void;
63
64
  closePanel(): void;
64
65
  writeValue(value: TValue): void;
65
- updateValue(value: TValue): void;
66
+ updateValue(value: TValue, skipPanelOpen?: boolean): void;
66
67
  static ɵfac: i0.ɵɵFactoryDeclaration<ALuSelectInputComponent<any, any>, never>;
67
- static ɵdir: i0.ɵɵDirectiveDeclaration<ALuSelectInputComponent<any, any>, never, never, { "placeholder": { "alias": "placeholder"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "overlayConfig": { "alias": "overlayConfig"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "options": { "alias": "options"; "required": false; }; "optionComparer": { "alias": "optionComparer"; "required": false; }; "optionTpl": { "alias": "optionTpl"; "required": false; }; "valueTpl": { "alias": "valueTpl"; "required": false; }; }, { "clueChange": "clueChange"; "nextPage": "nextPage"; "previousPage": "previousPage"; }, never, never, false, never>;
68
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ALuSelectInputComponent<any, any>, never, never, { "placeholder": { "alias": "placeholder"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "overlayConfig": { "alias": "overlayConfig"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "options": { "alias": "options"; "required": false; }; "optionComparer": { "alias": "optionComparer"; "required": false; }; "optionTpl": { "alias": "optionTpl"; "required": false; }; "valueTpl": { "alias": "valueTpl"; "required": false; }; }, { "clueChange": "clueChange"; "nextPage": "nextPage"; "previousPage": "previousPage"; }, never, never, false, never>;
68
69
  static ngAcceptInputType_clearable: unknown;
69
- static ngAcceptInputType_disabled: unknown;
70
70
  }
@@ -0,0 +1,13 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { LuOptionGroup } from '../select.model';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Generate groups with a O(n) complexity. Note that the options must be sorted by group.
6
+ */
7
+ export declare function generateGroups<T, TGroup>(options: T[], selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[];
8
+ export declare class LuOptionGroupPipe<T, TGroup> implements PipeTransform {
9
+ transform(options: T[], selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[];
10
+ transform(options: T, selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<LuOptionGroupPipe<any, any>, never>;
12
+ static ɵpipe: i0.ɵɵPipeDeclaration<LuOptionGroupPipe<any, any>, "luOptionGroup", true>;
13
+ }
@@ -1,6 +1,7 @@
1
1
  export * from './default-option.component';
2
2
  export * from './disabled.directive';
3
3
  export * from './group.directive';
4
+ export { LuOptionGroupPipe as ɵLuOptionGroupPipe, generateGroups as ɵgenerateGroups } from './group.pipe';
4
5
  export { LuOptionOutletDirective as ɵLuOptionOutletDirective } from './option-outlet.directive';
5
6
  export { LuOptionComponent as ɵLuOptionComponent } from './option.component';
6
7
  export * from './option.directive';
@@ -2,6 +2,7 @@ import { Highlightable } from '@angular/cdk/a11y';
2
2
  import { AfterViewInit, ElementRef, OnDestroy, TemplateRef, Type } from '@angular/core';
3
3
  import { BehaviorSubject } from 'rxjs';
4
4
  import { LuOptionContext } from '../select.model';
5
+ import { LuOptionGrouping } from './group.directive';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare const MAGIC_OPTION_SCROLL_DELAY = 15;
7
8
  export declare class LuOptionComponent<T> implements Highlightable, AfterViewInit, OnDestroy {
@@ -9,6 +10,7 @@ export declare class LuOptionComponent<T> implements Highlightable, AfterViewIni
9
10
  optionTpl: TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined;
10
11
  isSelected: boolean;
11
12
  option?: T;
13
+ grouping?: LuOptionGrouping<T, unknown>;
12
14
  optionIndex: number;
13
15
  scrollIntoViewOptions: ScrollIntoViewOptions;
14
16
  isHighlighted$: BehaviorSubject<boolean>;
@@ -29,5 +31,5 @@ export declare class LuOptionComponent<T> implements Highlightable, AfterViewIni
29
31
  setInactiveStyles(): void;
30
32
  selectOption($event: Event): void;
31
33
  static ɵfac: i0.ɵɵFactoryDeclaration<LuOptionComponent<any>, never>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<LuOptionComponent<any>, "lu-select-option", never, { "optionTpl": { "alias": "optionTpl"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; "option": { "alias": "option"; "required": false; }; "optionIndex": { "alias": "optionIndex"; "required": false; }; "scrollIntoViewOptions": { "alias": "scrollIntoViewOptions"; "required": false; }; }, {}, never, never, true, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuOptionComponent<any>, "lu-select-option", never, { "optionTpl": { "alias": "optionTpl"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; "option": { "alias": "option"; "required": false; }; "grouping": { "alias": "grouping"; "required": false; }; "optionIndex": { "alias": "optionIndex"; "required": false; }; "scrollIntoViewOptions": { "alias": "scrollIntoViewOptions"; "required": false; }; }, {}, never, never, true, never>;
33
35
  }
@@ -1,2 +1,2 @@
1
1
  export * from './panel.models';
2
- export { generateGroups as ɵgenerateGroups } from './panel.utils';
2
+ export { getGroupTemplateLocation as ɵgetGroupTemplateLocation } from './panel.utils';
@@ -1,5 +1,7 @@
1
- import { LuOptionGroup } from '../select.model';
1
+ import { Observable } from 'rxjs';
2
+ export type GroupTemplateLocation = 'group-header' | 'option' | 'none';
2
3
  /**
3
- * Generate groups with a O(n) complexity. Note that the options must be sorted by group.
4
+ * In order to avoid a blinking when we go from empty clue to a clue
5
+ * We need to delay the change of group displayer location by waiting for the options to be updated.
4
6
  */
5
- export declare function generateGroups<T, TGroup>(options: T[], selector: (option: T) => TGroup): LuOptionGroup<T, TGroup>[];
7
+ export declare function getGroupTemplateLocation(hasGrouping: boolean, clueChange$: Observable<string>, options$: Observable<unknown[]>): Observable<GroupTemplateLocation>;
@@ -13,9 +13,10 @@ export type ɵDialogResultFlag<R> = {
13
13
  export type LuDialogData<T> = {
14
14
  [K in keyof T]: T[K] extends ɵDialogDataFlag ? Omit<T[K], typeof ɵdialogData> : never;
15
15
  }[keyof T];
16
- export type LuDialogResult<C> = keyof C extends never ? void : {
17
- [K in keyof C]: C[K] extends ɵDialogResultFlag<infer R> ? R : void;
18
- }[keyof C];
16
+ type DialogRefProps<C> = {
17
+ [K in keyof C]: C[K] extends ɵDialogResultFlag<unknown> ? K : never;
18
+ }[keyof C] & keyof C;
19
+ export type LuDialogResult<C> = DialogRefProps<C> extends never ? void : C[DialogRefProps<C>] extends ɵDialogResultFlag<infer T> ? T : void;
19
20
  interface BaseLuDialogConfig<C> {
20
21
  /**
21
22
  * The component or template to put inside the dialog container
@@ -15,7 +15,9 @@ export class ALuCoreSelectApiDirective {
15
15
  }
16
16
  ngOnInit() {
17
17
  this.select.optionComparer = this.optionComparer;
18
- this.buildOptions().pipe(takeUntil(this.destroy$)).subscribe(this.select.options$);
18
+ this.buildOptions()
19
+ .pipe(takeUntil(this.destroy$))
20
+ .subscribe((options) => (this.select.options = options));
19
21
  }
20
22
  buildOptions() {
21
23
  // Prevent a double call to getOptions when the clue is changed while the panel is closed
@@ -43,4 +45,4 @@ export class ALuCoreSelectApiDirective {
43
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ALuCoreSelectApiDirective, decorators: [{
44
46
  type: Directive
45
47
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L2FwaS9hcGkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRXRNLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0FBRzNDLE1BQU0sT0FBZ0IseUJBQXlCO0lBRC9DO1FBRVcsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsYUFBUSxHQUFHLGVBQWUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBRyx1QkFBdUIsQ0FBQztRQUU5QyxXQUFNLEdBQUcsTUFBTSxDQUE0Qyx1QkFBdUIsQ0FBQyxDQUFDO1FBRWpGLFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDM0IsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUNaLENBQUM7UUFFUSxVQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxD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QWUsQ0FBQyxDQUN4RDtZQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBZSxDQUFDLENBQ3RCLENBQ0QsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQXpFb0IseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRDlDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFMdVNlbGVjdElucHV0Q29tcG9uZW50IH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUtc2VsZWN0JztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGNvbWJpbmVMYXRlc3QsIGNvbmNhdE1hcCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIHBhaXJ3aXNlLCBzY2FuLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YWtlV2hpbGUsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgTUFHSUNfUEFHRV9TSVpFID0gMjA7XG5leHBvcnQgY29uc3QgTUFHSUNfREVCT1VOQ0VfRFVSQVRJT04gPSAyNTA7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFMdUNvcmVTZWxlY3RBcGlEaXJlY3RpdmU8VE9wdGlvbiwgVFBhcmFtcyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcblx0cHJvdGVjdGVkIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblx0cHJvdGVjdGVkIHBhZ2VTaXplID0gTUFHSUNfUEFHRV9TSVpFO1xuXHRwcm90ZWN0ZWQgZGVib3VuY2VEdXJhdGlvbiA9IE1BR0lDX0RFQk9VTkNFX0RVUkFUSU9OO1xuXG5cdHB1YmxpYyBzZWxlY3QgPSBpbmplY3Q8QUx1U2VsZWN0SW5wdXRDb21wb25lbnQ8VE9wdGlvbiwgdW5rbm93bj4+KEFMdVNlbGVjdElucHV0Q29tcG9uZW50KTtcblxuXHRwcm90ZWN0ZWQgcGFnZSQgPSB0aGlzLnNlbGVjdC5uZXh0UGFnZS5waXBlKFxuXHRcdHNjYW4oKHBhZ2UpID0+IHBhZ2UgKyAxLCAwKSxcblx0XHRzdGFydFdpdGgoMCksXG5cdCk7XG5cblx0cHJvdGVjdGVkIGNsdWUkID0gdGhpcy5zZWxlY3QuY2x1ZUNoYW5nZS5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlRHVyYXRpb24pLCBzdGFydFdpdGgoJycpKTtcblxuXHQvKipcblx0ICogQ3JlYXRlIGFuIG9iamVjdCB0aGF0IHdpbGwgYmUgdXNlZCBhcyBwYXJhbXMgZm9yIHRoZSBhcGkgY2FsbFxuXHQgKi9cblx0cHJvdGVjdGVkIGFic3RyYWN0IHBhcmFtcyQ6IE9ic2VydmFibGU8VFBhcmFtcz47XG5cblx0LyoqXG5cdCAqIENvbXBhcmUgdHdvIG9wdGlvbnMgdG8ga25vdyBpZiB0aGV5IGFyZSB0aGUgc2FtZS4gRm9yIGV4YW1wbGUsIGNvbXBhcmUgYnkgaWQgb3IgYnkgSlNPTlxuXHQgKi9cblx0cHJvdGVjdGVkIGFic3RyYWN0IG9wdGlvbkNvbXBhcmVyOiAoYTogVE9wdGlvbiwgYjogVE9wdGlvbikgPT4gYm9vbGVhbjtcblxuXHQvKipcblx0ICogUmV0dXJuIHRoZSBvcHRpb25zIGZvciB0aGUgZ2l2ZW4gcGFyYW1zIGFuZCBwYWdlXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0T3B0aW9ucyhwYXJhbXM6IFRQYXJhbXMsIHBhZ2U6IG51bWJlcik6IE9ic2VydmFibGU8VE9wdGlvbltdPjtcblxuXHRwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5zZWxlY3Qub3B0aW9uQ29tcGFyZXIgPSB0aGlzLm9wdGlvbkNvbXBhcmVyO1xuXHRcdHRoaXMuYnVpbGRPcHRpb25zKCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh0aGlzLnNlbGVjdC5vcHRpb25zJCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYnVpbGRPcHRpb25zKCk6IE9ic2VydmFibGU8VE9wdGlvbltdPiB7XG5cdFx0Ly8gUHJldmVudCBhIGRvdWJsZSBjYWxsIHRvIGdldE9wdGlvbnMgd2hlbiB0aGUgY2x1ZSBpcyBjaGFuZ2VkIHdoaWxlIHRoZSBwYW5lbCBpcyBjbG9zZWRcblx0XHRjb25zdCBjbHVlSXNQZW5kaW5nRGVib3VuY2UkID0gbWVyZ2UodGhpcy5zZWxlY3QuY2x1ZUNoYW5nZS5waXBlKG1hcCgoKSA9PiB0cnVlKSksIHRoaXMuY2x1ZSQucGlwZShtYXAoKCkgPT4gZmFsc2UpKSkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblx0XHRjb25zdCBpc09wZW4kID0gY29tYmluZUxhdGVzdChbdGhpcy5zZWxlY3QuaXNQYW5lbE9wZW4kLCBjbHVlSXNQZW5kaW5nRGVib3VuY2UkXSkucGlwZShcblx0XHRcdGRlYm91bmNlVGltZSgwKSxcblx0XHRcdHN0YXJ0V2l0aChbZmFsc2UsIGZhbHNlXSksXG5cdFx0XHRwYWlyd2lzZSgpLFxuXHRcdFx0dGFwKChbW3dhc09wZW5dLCBbaXNPcGVuLCBjbHVlSXNQZW5kaW5nRGVib3VuY2VdXSkgPT4ge1xuXHRcdFx0XHQvLyBTdGFydCB0aGUgbG9hZGVyIGFzIHNvb24gYXMgdGhlIHBhbmVsIGlzIG9wZW5lZCB0byBhdm9pZCBhIHNob3J0IGRpc3BsYXkgb2YgdGhlIFwibm8gcmVzdWx0XCIgbWVzc2FnZVxuXHRcdFx0XHRpZiAoIXdhc09wZW4gJiYgaXNPcGVuICYmIGNsdWVJc1BlbmRpbmdEZWJvdW5jZSkge1xuXHRcdFx0XHRcdHRoaXMuc2VsZWN0LmxvYWRpbmcgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9KSxcblx0XHRcdG1hcCgoW1t3YXNPcGVuXSwgW2lzT3BlbiwgY2x1ZUlzUGVuZGluZ0RlYm91bmNlXV0pID0+IChpc09wZW4gJiYgIXdhc09wZW4gPyAhY2x1ZUlzUGVuZGluZ0RlYm91bmNlIDogaXNPcGVuKSksXG5cdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuXHRcdCk7XG5cblx0XHRyZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5wYXJhbXMkLCBpc09wZW4kXSkucGlwZShcblx0XHRcdHN3aXRjaE1hcCgoW3BhcmFtcywgaXNPcGVuZWRdKSA9PlxuXHRcdFx0XHRpc09wZW5lZFxuXHRcdFx0XHRcdD8gdGhpcy5wYWdlJC5waXBlKFxuXHRcdFx0XHRcdFx0XHRjb25jYXRNYXAoKHBhZ2UpID0+IHtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnNlbGVjdC5sb2FkaW5nID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5nZXRPcHRpb25zKHBhcmFtcywgcGFnZSkucGlwZShcblx0XHRcdFx0XHRcdFx0XHRcdGNhdGNoRXJyb3IoKCkgPT4gb2YoW10gYXMgVE9wdGlvbltdKSksXG5cdFx0XHRcdFx0XHRcdFx0XHR0YXAoKCkgPT4gKHRoaXMuc2VsZWN0LmxvYWRpbmcgPSBmYWxzZSkpLFxuXHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHR0YWtlV2hpbGUoKGl0ZW1zKSA9PiBpdGVtcy5sZW5ndGggPT09IHRoaXMucGFnZVNpemUsIHRydWUpLFxuXHRcdFx0XHRcdFx0XHRzY2FuKChhY2MsIGl0ZW1zKSA9PiBbLi4uYWNjLCAuLi5pdGVtc10sIFtdIGFzIFRPcHRpb25bXSksXG5cdFx0XHRcdFx0ICApXG5cdFx0XHRcdFx0OiBvZihbXSBhcyBUT3B0aW9uW10pLFxuXHRcdFx0KSxcblx0XHQpO1xuXHR9XG5cblx0cHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuZGVzdHJveSQubmV4dCgpO1xuXHRcdHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcblx0fVxufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L2FwaS9hcGkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRXRNLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0FBRzNDLE1BQU0sT0FBZ0IseUJBQXlCO0lBRC9DO1FBRVcsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsYUFBUSxHQUFHLGVBQWUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBRyx1QkFBdUIsQ0FBQztRQUU5QyxXQUFNLEdBQUcsTUFBTSxDQUE0Qyx1QkFBdUIsQ0FBQyxDQUFDO1FBRWpGLFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDM0IsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUNaLENBQUM7UUFFUSxVQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxD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Q0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBZSxDQUFDLENBQ3hEO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFlLENBQUMsQ0FDdEIsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7OEdBM0VvQix5QkFBeUI7a0dBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEOUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQUx1U2VsZWN0SW5wdXRDb21wb25lbnQgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZS1zZWxlY3QnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgY29tYmluZUxhdGVzdCwgY29uY2F0TWFwLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgcGFpcndpc2UsIHNjYW4sIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRha2VXaGlsZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBNQUdJQ19QQUdFX1NJWkUgPSAyMDtcbmV4cG9ydCBjb25zdCBNQUdJQ19ERUJPVU5DRV9EVVJBVElPTiA9IDI1MDtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQUx1Q29yZVNlbGVjdEFwaURpcmVjdGl2ZTxUT3B0aW9uLCBUUGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4+IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuXHRwcm90ZWN0ZWQgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXHRwcm90ZWN0ZWQgcGFnZVNpemUgPSBNQUdJQ19QQUdFX1NJWkU7XG5cdHByb3RlY3RlZCBkZWJvdW5jZUR1cmF0aW9uID0gTUFHSUNfREVCT1VOQ0VfRFVSQVRJT047XG5cblx0cHVibGljIHNlbGVjdCA9IGluamVjdDxBTHVTZWxlY3RJbnB1dENvbXBvbmVudDxUT3B0aW9uLCB1bmtub3duPj4oQUx1U2VsZWN0SW5wdXRDb21wb25lbnQpO1xuXG5cdHByb3RlY3RlZCBwYWdlJCA9IHRoaXMuc2VsZWN0Lm5leHRQYWdlLnBpcGUoXG5cdFx0c2NhbigocGFnZSkgPT4gcGFnZSArIDEsIDApLFxuXHRcdHN0YXJ0V2l0aCgwKSxcblx0KTtcblxuXHRwcm90ZWN0ZWQgY2x1ZSQgPSB0aGlzLnNlbGVjdC5jbHVlQ2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VEdXJhdGlvbiksIHN0YXJ0V2l0aCgnJykpO1xuXG5cdC8qKlxuXHQgKiBDcmVhdGUgYW4gb2JqZWN0IHRoYXQgd2lsbCBiZSB1c2VkIGFzIHBhcmFtcyBmb3IgdGhlIGFwaSBjYWxsXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYWJzdHJhY3QgcGFyYW1zJDogT2JzZXJ2YWJsZTxUUGFyYW1zPjtcblxuXHQvKipcblx0ICogQ29tcGFyZSB0d28gb3B0aW9ucyB0byBrbm93IGlmIHRoZXkgYXJlIHRoZSBzYW1lLiBGb3IgZXhhbXBsZSwgY29tcGFyZSBieSBpZCBvciBieSBKU09OXG5cdCAqL1xuXHRwcm90ZWN0ZWQgYWJzdHJhY3Qgb3B0aW9uQ29tcGFyZXI6IChhOiBUT3B0aW9uLCBiOiBUT3B0aW9uKSA9PiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBSZXR1cm4gdGhlIG9wdGlvbnMgZm9yIHRoZSBnaXZlbiBwYXJhbXMgYW5kIHBhZ2Vcblx0ICovXG5cdHByb3RlY3RlZCBhYnN0cmFjdCBnZXRPcHRpb25zKHBhcmFtczogVFBhcmFtcywgcGFnZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxUT3B0aW9uW10+O1xuXG5cdHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLnNlbGVjdC5vcHRpb25Db21wYXJlciA9IHRoaXMub3B0aW9uQ29tcGFyZXI7XG5cdFx0dGhpcy5idWlsZE9wdGlvbnMoKVxuXHRcdFx0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuXHRcdFx0LnN1YnNjcmliZSgob3B0aW9ucykgPT4gKHRoaXMuc2VsZWN0Lm9wdGlvbnMgPSBvcHRpb25zKSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYnVpbGRPcHRpb25zKCk6IE9ic2VydmFibGU8VE9wdGlvbltdPiB7XG5cdFx0Ly8gUHJldmVudCBhIGRvdWJsZSBjYWxsIHRvIGdldE9wdGlvbnMgd2hlbiB0aGUgY2x1ZSBpcyBjaGFuZ2VkIHdoaWxlIHRoZSBwYW5lbCBpcyBjbG9zZWRcblx0XHRjb25zdCBjbHVlSXNQZW5kaW5nRGVib3VuY2UkID0gbWVyZ2UodGhpcy5zZWxlY3QuY2x1ZUNoYW5nZS5waXBlKG1hcCgoKSA9PiB0cnVlKSksIHRoaXMuY2x1ZSQucGlwZShtYXAoKCkgPT4gZmFsc2UpKSkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblx0XHRjb25zdCBpc09wZW4kID0gY29tYmluZUxhdGVzdChbdGhpcy5zZWxlY3QuaXNQYW5lbE9wZW4kLCBjbHVlSXNQZW5kaW5nRGVib3VuY2UkXSkucGlwZShcblx0XHRcdGRlYm91bmNlVGltZSgwKSxcblx0XHRcdHN0YXJ0V2l0aChbZmFsc2UsIGZhbHNlXSksXG5cdFx0XHRwYWlyd2lzZSgpLFxuXHRcdFx0dGFwKChbW3dhc09wZW5dLCBbaXNPcGVuLCBjbHVlSXNQZW5kaW5nRGVib3VuY2VdXSkgPT4ge1xuXHRcdFx0XHQvLyBTdGFydCB0aGUgbG9hZGVyIGFzIHNvb24gYXMgdGhlIHBhbmVsIGlzIG9wZW5lZCB0byBhdm9pZCBhIHNob3J0IGRpc3BsYXkgb2YgdGhlIFwibm8gcmVzdWx0XCIgbWVzc2FnZVxuXHRcdFx0XHRpZiAoIXdhc09wZW4gJiYgaXNPcGVuICYmIGNsdWVJc1BlbmRpbmdEZWJvdW5jZSkge1xuXHRcdFx0XHRcdHRoaXMuc2VsZWN0LmxvYWRpbmcgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9KSxcblx0XHRcdG1hcCgoW1t3YXNPcGVuXSwgW2lzT3BlbiwgY2x1ZUlzUGVuZGluZ0RlYm91bmNlXV0pID0+IChpc09wZW4gJiYgIXdhc09wZW4gPyAhY2x1ZUlzUGVuZGluZ0RlYm91bmNlIDogaXNPcGVuKSksXG5cdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuXHRcdCk7XG5cblx0XHRyZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5wYXJhbXMkLCBpc09wZW4kXSkucGlwZShcblx0XHRcdHN3aXRjaE1hcCgoW3BhcmFtcywgaXNPcGVuZWRdKSA9PlxuXHRcdFx0XHRpc09wZW5lZFxuXHRcdFx0XHRcdD8gdGhpcy5wYWdlJC5waXBlKFxuXHRcdFx0XHRcdFx0XHRjb25jYXRNYXAoKHBhZ2UpID0+IHtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnNlbGVjdC5sb2FkaW5nID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5nZXRPcHRpb25zKHBhcmFtcywgcGFnZSkucGlwZShcblx0XHRcdFx0XHRcdFx0XHRcdGNhdGNoRXJyb3IoKCkgPT4gb2YoW10gYXMgVE9wdGlvbltdKSksXG5cdFx0XHRcdFx0XHRcdFx0XHR0YXAoKCkgPT4gKHRoaXMuc2VsZWN0LmxvYWRpbmcgPSBmYWxzZSkpLFxuXHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHR0YWtlV2hpbGUoKGl0ZW1zKSA9PiBpdGVtcy5sZW5ndGggPT09IHRoaXMucGFnZVNpemUsIHRydWUpLFxuXHRcdFx0XHRcdFx0XHRzY2FuKChhY2MsIGl0ZW1zKSA9PiBbLi4uYWNjLCAuLi5pdGVtc10sIFtdIGFzIFRPcHRpb25bXSksXG5cdFx0XHRcdFx0ICApXG5cdFx0XHRcdFx0OiBvZihbXSBhcyBUT3B0aW9uW10pLFxuXHRcdFx0KSxcblx0XHQpO1xuXHR9XG5cblx0cHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuZGVzdHJveSQubmV4dCgpO1xuXHRcdHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcblx0fVxufVxuIl19
@@ -23,8 +23,12 @@ export class LuCoreSelectEstablishmentsDirective extends ALuCoreSelectApiDirecti
23
23
  toObservable(this._appInstanceId),
24
24
  ]).pipe(map(([filters, clue, operationIds, appInstanceId]) => ({
25
25
  ...filters,
26
- ...(clue ? { search: sanitizeClueFilter(clue) } : {}),
27
- ...(operationIds ? { operationIds: operationIds.join(',') } : {}),
26
+ ...(clue
27
+ ? // When the clue is not empty, sort establishments by name
28
+ { search: sanitizeClueFilter(clue), sort: 'name' }
29
+ : // When the clue is empty, establishments are grouped by legal unit, so sort them by legal unit name and then by name
30
+ { sort: 'legalunit.name,name' }),
31
+ ...(operationIds ? { operations: operationIds.join(',') } : {}),
28
32
  ...(appInstanceId ? { appInstanceId } : {}),
29
33
  })));
30
34
  this.optionComparer = (a, b) => a.id === b.id;
@@ -93,4 +97,4 @@ function sanitizeClueFilter(clue) {
93
97
  .map((c) => encodeURIComponent(c))
94
98
  .join(',');
95
99
  }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0YWJsaXNobWVudHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvY29yZS1zZWxlY3QvZXN0YWJsaXNobWVudC9lc3RhYmxpc2htZW50cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBVWhGLE1BQU0sT0FBTyxtQ0FBcUcsU0FBUSx5QkFBNEI7SUFQdEo7O1FBUUMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDeEQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdkIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQXNCaEMsU0FBSSxHQUFHLE1BQU0sQ0FBUyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3BFLGFBQVEsR0FBRyxNQUFNLENBQW1ELElBQUksQ0FBQyxDQUFDO1FBQzFFLGtCQUFhLEdBQUcsTUFBTSxDQUFrQixJQUFJLENBQUMsQ0FBQztRQUM5QyxtQkFBYyxHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxDQUFDLENBQUM7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LEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOzhHQXZEVyxtQ0FBbUM7a0dBQW5DLG1DQUFtQzs7MkZBQW5DLG1DQUFtQztrQkFQL0MsU0FBUzttQkFBQztvQkFDVixnRkFBZ0Y7b0JBQ2hGLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGtFQUFrRTtvQkFDNUUsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxrQkFBa0I7aUJBQzVCOzhCQVFXLEdBQUc7c0JBRGIsS0FBSztnQkFNSyxPQUFPO3NCQURqQixLQUFLO2dCQU1LLFlBQVk7c0JBRHRCLEtBQUs7Z0JBTUssYUFBYTtzQkFEdkIsS0FBSzs7QUFxRFAsU0FBUyxrQkFBa0IsQ0FBQyxJQUFZO0lBQ3ZDLE9BQU8sSUFBSTtTQUNULEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixHQUFHLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBTHVDb3JlU2VsZWN0QXBpRGlyZWN0aXZlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUtc2VsZWN0L2FwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTHVFc3RhYmxpc2htZW50R3JvdXBpbmdDb21wb25lbnQgfSBmcm9tICcuL2VzdGFibGlzaG1lbnQtZ3JvdXBpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IEVzdGFibGlzaG1lbnRHcm91cGluZ1NlcnZpY2UgfSBmcm9tICcuL2VzdGFibGlzaG1lbnQtZ3JvdXBpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBMdUNvcmVTZWxlY3RFc3RhYmxpc2htZW50IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5ARGlyZWN0aXZlKHtcblx0Ly8gVGhlIGF0dHJpYnV0ZSBpcyBhbHJlYWR5IHByZWZpeGVkIHdpdGggXCJsdS1zaW1wbGUtc2VsZWN0XCIgLyBcImx1LW11bHRpLXNlbGVjdFwiXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG5cdHNlbGVjdG9yOiAnbHUtc2ltcGxlLXNlbGVjdFtlc3RhYmxpc2htZW50c10sbHUtbXVsdGktc2VsZWN0W2VzdGFibGlzaG1lbnRzXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGV4cG9ydEFzOiAnbHVFc3RhYmxpc2htZW50cycsXG59KVxuZXhwb3J0IGNsYXNzIEx1Q29yZVNlbGVjdEVzdGFibGlzaG1lbnRzRGlyZWN0aXZlPFQgZXh0ZW5kcyBMdUNvcmVTZWxlY3RFc3RhYmxpc2htZW50ID0gTHVDb3JlU2VsZWN0RXN0YWJsaXNobWVudD4gZXh0ZW5kcyBBTHVDb3JlU2VsZWN0QXBpRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgT25Jbml0IHtcblx0I2dyb3VwaW5nU2VydmljZSA9IGluamVjdChFc3RhYmxpc2htZW50R3JvdXBpbmdTZXJ2aWNlKTtcblx0I2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cblx0cHJvdGVjdGVkIGh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cblx0QElucHV0KClcblx0cHVibGljIHNldCB1cmwodXJsOiBzdHJpbmcgfCBudWxsKSB7XG5cdFx0dGhpcy5fdXJsLnNldCh1cmwpO1xuXHR9XG5cblx0QElucHV0KClcblx0cHVibGljIHNldCBmaWx0ZXJzKGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+IHwgbnVsbCkge1xuXHRcdHRoaXMuX2ZpbHRlcnMuc2V0KGZpbHRlcnMpO1xuXHR9XG5cblx0QElucHV0KClcblx0cHVibGljIHNldCBvcGVyYXRpb25JZHMoaWRzOiBudW1iZXJbXSB8IG51bGwpIHtcblx0XHR0aGlzLl9vcGVyYXRpb25JZHMuc2V0KGlkcyk7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGFwcEluc3RhbmNlSWQoaWQ6IG51bWJlciB8IG51bGwpIHtcblx0XHR0aGlzLl9hcHBJbnN0YW5jZUlkLnNldChpZCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3VybCA9IHNpZ25hbDxzdHJpbmc+KCcvb3JnYW5pemF0aW9uL3N0cnVjdHVyZS9hcGkvZXN0YWJsaXNobWVudHMnKTtcblx0cHJvdGVjdGVkIF9maWx0ZXJzID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+IHwgbnVsbD4obnVsbCk7XG5cdHByb3RlY3RlZCBfb3BlcmF0aW9uSWRzID0gc2lnbmFsPG51bWJlcltdIHwgbnVsbD4obnVsbCk7XG5cdHByb3RlY3RlZCBfYXBwSW5zdGFuY2VJZCA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuXHRwdWJsaWMgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG5cdFx0c3VwZXIubmdPbkluaXQoKTtcblx0XHR0aGlzLmluaXRHcm91cGluZygpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGluaXRHcm91cGluZygpIHtcblx0XHR0aGlzLiNncm91cGluZ1NlcnZpY2UudXNlR3JvdXBpbmckLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHR0aGlzLnNlbGVjdC5ncm91cGluZyA9IHtcblx0XHRcdFx0c2VsZWN0b3I6IChvcHRpb24pID0+IG9wdGlvbi5sZWdhbFVuaXRJZCxcblx0XHRcdFx0Y29udGVudDogTHVFc3RhYmxpc2htZW50R3JvdXBpbmdDb21wb25lbnQsXG5cdFx0XHR9O1xuXHRcdH0pO1xuXHR9XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIGdldE9wdGlvbnMocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiB8IG51bGwsIHBhZ2U6IG51bWJlcik6IE9ic2VydmFibGU8VFtdPiB7XG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudFxuXHRcdFx0LmdldDxUW10gfCB7IGl0ZW1zOiBUW10gfT4odGhpcy5fdXJsKCksIHtcblx0XHRcdFx0cGFyYW1zOiB7XG5cdFx0XHRcdFx0Li4ucGFyYW1zLFxuXHRcdFx0XHRcdHBhZ2U6IHBhZ2UgKyAxLFxuXHRcdFx0XHRcdGxpbWl0OiB0aGlzLnBhZ2VTaXplLFxuXHRcdFx0XHR9LFxuXHRcdFx0fSlcblx0XHRcdC5waXBlKG1hcCgocmVzKSA9PiAoQXJyYXkuaXNBcnJheShyZXMpID8gcmVzIDogcmVzPy5pdGVtcykgPz8gW10pKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvdmVycmlkZSBwYXJhbXMkOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+PiA9IGNvbWJpbmVMYXRlc3QoW1xuXHRcdHRvT2JzZXJ2YWJsZSh0aGlzLl9maWx0ZXJzKSxcblx0XHR0aGlzLmNsdWUkLFxuXHRcdHRvT2JzZXJ2YWJsZSh0aGlzLl9vcGVyYXRpb25JZHMpLFxuXHRcdHRvT2JzZXJ2YWJsZSh0aGlzLl9hcHBJbnN0YW5jZUlkKSxcblx0XSkucGlwZShcblx0XHRtYXAoKFtmaWx0ZXJzLCBjbHVlLCBvcGVyYXRpb25JZHMsIGFwcEluc3RhbmNlSWRdKSA9PiAoe1xuXHRcdFx0Li4uZmlsdGVycyxcblx0XHRcdC4uLihjbHVlID8geyBzZWFyY2g6IHNhbml0aXplQ2x1ZUZpbHRlcihjbHVlKSB9IDoge30pLFxuXHRcdFx0Li4uKG9wZXJhdGlvbklkcyA/IHsgb3BlcmF0aW9uSWRzOiBvcGVyYXRpb25JZHMuam9pbignLCcpIH0gOiB7fSksXG5cdFx0XHQuLi4oYXBwSW5zdGFuY2VJZCA/IHsgYXBwSW5zdGFuY2VJZCB9IDoge30pLFxuXHRcdH0pKSxcblx0KTtcblxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgb3B0aW9uQ29tcGFyZXIgPSAoYTogVCwgYjogVCkgPT4gYS5pZCA9PT0gYi5pZDtcbn1cblxuZnVuY3Rpb24gc2FuaXRpemVDbHVlRmlsdGVyKGNsdWU6IHN0cmluZykge1xuXHRyZXR1cm4gY2x1ZVxuXHRcdC5zcGxpdCgnICcpXG5cdFx0Lm1hcCgoYzogc3RyaW5nKSA9PiBlbmNvZGVVUklDb21wb25lbnQoYykpXG5cdFx0LmpvaW4oJywnKTtcbn1cbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0YWJsaXNobWVudHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvY29yZS1zZWxlY3QvZXN0YWJsaXNobWVudC9lc3RhYmxpc2htZW50cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBVWhGLE1BQU0sT0FBTyxtQ0FBcUcsU0FBUSx5QkFBNEI7SUFQdEo7O1FBUUMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDeEQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdkIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQXNCaEMsU0FBSSxHQUFHLE1BQU0sQ0FBUyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQ3BFLGFBQVEsR0FBRyxNQUFNLENBQW1ELElBQUksQ0FBQyxDQUFDO1FBQzFFLGtCQUFhLEdBQUcsTUFBTSxDQUFrQixJQUFJLENBQUMsQ0FBQztRQUM5QyxtQkFBYyxHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxDQUFDLENBQUM7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QUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQzs4R0F2RFcsbUNBQW1DO2tHQUFuQyxtQ0FBbUM7OzJGQUFuQyxtQ0FBbUM7a0JBUC9DLFNBQVM7bUJBQUM7b0JBQ1YsZ0ZBQWdGO29CQUNoRiw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxrRUFBa0U7b0JBQzVFLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0JBQWtCO2lCQUM1Qjs4QkFRVyxHQUFHO3NCQURiLEtBQUs7Z0JBTUssT0FBTztzQkFEakIsS0FBSztnQkFNSyxZQUFZO3NCQUR0QixLQUFLO2dCQU1LLGFBQWE7c0JBRHZCLEtBQUs7O0FBeURQLFNBQVMsa0JBQWtCLENBQUMsSUFBWTtJQUN2QyxPQUFPLElBQUk7U0FDVCxLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQUx1Q29yZVNlbGVjdEFwaURpcmVjdGl2ZSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlLXNlbGVjdC9hcGknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEx1RXN0YWJsaXNobWVudEdyb3VwaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9lc3RhYmxpc2htZW50LWdyb3VwaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFc3RhYmxpc2htZW50R3JvdXBpbmdTZXJ2aWNlIH0gZnJvbSAnLi9lc3RhYmxpc2htZW50LWdyb3VwaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTHVDb3JlU2VsZWN0RXN0YWJsaXNobWVudCB9IGZyb20gJy4vbW9kZWxzJztcblxuQERpcmVjdGl2ZSh7XG5cdC8vIFRoZSBhdHRyaWJ1dGUgaXMgYWxyZWFkeSBwcmVmaXhlZCB3aXRoIFwibHUtc2ltcGxlLXNlbGVjdFwiIC8gXCJsdS1tdWx0aS1zZWxlY3RcIlxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuXHRzZWxlY3RvcjogJ2x1LXNpbXBsZS1zZWxlY3RbZXN0YWJsaXNobWVudHNdLGx1LW11bHRpLXNlbGVjdFtlc3RhYmxpc2htZW50c10nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRleHBvcnRBczogJ2x1RXN0YWJsaXNobWVudHMnLFxufSlcbmV4cG9ydCBjbGFzcyBMdUNvcmVTZWxlY3RFc3RhYmxpc2htZW50c0RpcmVjdGl2ZTxUIGV4dGVuZHMgTHVDb3JlU2VsZWN0RXN0YWJsaXNobWVudCA9IEx1Q29yZVNlbGVjdEVzdGFibGlzaG1lbnQ+IGV4dGVuZHMgQUx1Q29yZVNlbGVjdEFwaURpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cdCNncm91cGluZ1NlcnZpY2UgPSBpbmplY3QoRXN0YWJsaXNobWVudEdyb3VwaW5nU2VydmljZSk7XG5cdCNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG5cdHByb3RlY3RlZCBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG5cdEBJbnB1dCgpXG5cdHB1YmxpYyBzZXQgdXJsKHVybDogc3RyaW5nIHwgbnVsbCkge1xuXHRcdHRoaXMuX3VybC5zZXQodXJsKTtcblx0fVxuXG5cdEBJbnB1dCgpXG5cdHB1YmxpYyBzZXQgZmlsdGVycyhmaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiB8IG51bGwpIHtcblx0XHR0aGlzLl9maWx0ZXJzLnNldChmaWx0ZXJzKTtcblx0fVxuXG5cdEBJbnB1dCgpXG5cdHB1YmxpYyBzZXQgb3BlcmF0aW9uSWRzKGlkczogbnVtYmVyW10gfCBudWxsKSB7XG5cdFx0dGhpcy5fb3BlcmF0aW9uSWRzLnNldChpZHMpO1xuXHR9XG5cblx0QElucHV0KClcblx0cHVibGljIHNldCBhcHBJbnN0YW5jZUlkKGlkOiBudW1iZXIgfCBudWxsKSB7XG5cdFx0dGhpcy5fYXBwSW5zdGFuY2VJZC5zZXQoaWQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIF91cmwgPSBzaWduYWw8c3RyaW5nPignL29yZ2FuaXphdGlvbi9zdHJ1Y3R1cmUvYXBpL2VzdGFibGlzaG1lbnRzJyk7XG5cdHByb3RlY3RlZCBfZmlsdGVycyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiB8IG51bGw+KG51bGwpO1xuXHRwcm90ZWN0ZWQgX29wZXJhdGlvbklkcyA9IHNpZ25hbDxudW1iZXJbXSB8IG51bGw+KG51bGwpO1xuXHRwcm90ZWN0ZWQgX2FwcEluc3RhbmNlSWQgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cblx0cHVibGljIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHN1cGVyLm5nT25Jbml0KCk7XG5cdFx0dGhpcy5pbml0R3JvdXBpbmcoKTtcblx0fVxuXG5cdHByb3RlY3RlZCBpbml0R3JvdXBpbmcoKSB7XG5cdFx0dGhpcy4jZ3JvdXBpbmdTZXJ2aWNlLnVzZUdyb3VwaW5nJC5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuXHRcdFx0dGhpcy5zZWxlY3QuZ3JvdXBpbmcgPSB7XG5cdFx0XHRcdHNlbGVjdG9yOiAob3B0aW9uKSA9PiBvcHRpb24ubGVnYWxVbml0SWQsXG5cdFx0XHRcdGNvbnRlbnQ6IEx1RXN0YWJsaXNobWVudEdyb3VwaW5nQ29tcG9uZW50LFxuXHRcdFx0fTtcblx0XHR9KTtcblx0fVxuXG5cdHByb3RlY3RlZCBvdmVycmlkZSBnZXRPcHRpb25zKHBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4gfCBudWxsLCBwYWdlOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRbXT4ge1xuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnRcblx0XHRcdC5nZXQ8VFtdIHwgeyBpdGVtczogVFtdIH0+KHRoaXMuX3VybCgpLCB7XG5cdFx0XHRcdHBhcmFtczoge1xuXHRcdFx0XHRcdC4uLnBhcmFtcyxcblx0XHRcdFx0XHRwYWdlOiBwYWdlICsgMSxcblx0XHRcdFx0XHRsaW1pdDogdGhpcy5wYWdlU2l6ZSxcblx0XHRcdFx0fSxcblx0XHRcdH0pXG5cdFx0XHQucGlwZShtYXAoKHJlcykgPT4gKEFycmF5LmlzQXJyYXkocmVzKSA/IHJlcyA6IHJlcz8uaXRlbXMpID8/IFtdKSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgcGFyYW1zJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPj4gPSBjb21iaW5lTGF0ZXN0KFtcblx0XHR0b09ic2VydmFibGUodGhpcy5fZmlsdGVycyksXG5cdFx0dGhpcy5jbHVlJCxcblx0XHR0b09ic2VydmFibGUodGhpcy5fb3BlcmF0aW9uSWRzKSxcblx0XHR0b09ic2VydmFibGUodGhpcy5fYXBwSW5zdGFuY2VJZCksXG5cdF0pLnBpcGUoXG5cdFx0bWFwKChbZmlsdGVycywgY2x1ZSwgb3BlcmF0aW9uSWRzLCBhcHBJbnN0YW5jZUlkXSkgPT4gKHtcblx0XHRcdC4uLmZpbHRlcnMsXG5cdFx0XHQuLi4oY2x1ZVxuXHRcdFx0XHQ/IC8vIFdoZW4gdGhlIGNsdWUgaXMgbm90IGVtcHR5LCBzb3J0IGVzdGFibGlzaG1lbnRzIGJ5IG5hbWVcblx0XHRcdFx0ICB7IHNlYXJjaDogc2FuaXRpemVDbHVlRmlsdGVyKGNsdWUpLCBzb3J0OiAnbmFtZScgfVxuXHRcdFx0XHQ6IC8vIFdoZW4gdGhlIGNsdWUgaXMgZW1wdHksIGVzdGFibGlzaG1lbnRzIGFyZSBncm91cGVkIGJ5IGxlZ2FsIHVuaXQsIHNvIHNvcnQgdGhlbSBieSBsZWdhbCB1bml0IG5hbWUgYW5kIHRoZW4gYnkgbmFtZVxuXHRcdFx0XHQgIHsgc29ydDogJ2xlZ2FsdW5pdC5uYW1lLG5hbWUnIH0pLFxuXHRcdFx0Li4uKG9wZXJhdGlvbklkcyA/IHsgb3BlcmF0aW9uczogb3BlcmF0aW9uSWRzLmpvaW4oJywnKSB9IDoge30pLFxuXHRcdFx0Li4uKGFwcEluc3RhbmNlSWQgPyB7IGFwcEluc3RhbmNlSWQgfSA6IHt9KSxcblx0XHR9KSksXG5cdCk7XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIG9wdGlvbkNvbXBhcmVyID0gKGE6IFQsIGI6IFQpID0+IGEuaWQgPT09IGIuaWQ7XG59XG5cbmZ1bmN0aW9uIHNhbml0aXplQ2x1ZUZpbHRlcihjbHVlOiBzdHJpbmcpIHtcblx0cmV0dXJuIGNsdWVcblx0XHQuc3BsaXQoJyAnKVxuXHRcdC5tYXAoKGM6IHN0cmluZykgPT4gZW5jb2RlVVJJQ29tcG9uZW50KGMpKVxuXHRcdC5qb2luKCcsJyk7XG59XG4iXX0=
@@ -8,8 +8,8 @@ import * as i0 from "@angular/core";
8
8
  export class ALuSelectInputComponent {
9
9
  constructor() {
10
10
  this.placeholder$ = new BehaviorSubject('');
11
+ this.disabled$ = new BehaviorSubject(false);
11
12
  this.clearable = false;
12
- this.disabled = false;
13
13
  this.isPanelOpen$ = new BehaviorSubject(false);
14
14
  this.activeDescendant$ = new BehaviorSubject('');
15
15
  this.overlayConfig = {
@@ -75,8 +75,9 @@ export class ALuSelectInputComponent {
75
75
  get inputPlaceholder() {
76
76
  return this.value ? null : this.placeholder$.value;
77
77
  }
78
- clueChanged(clue) {
79
- if (!this.isPanelOpen) {
78
+ clueChanged(clue, skipPanelOpen = false) {
79
+ this.clue = clue;
80
+ if (!skipPanelOpen && !this.isPanelOpen) {
80
81
  this.openPanel(clue);
81
82
  }
82
83
  else if (this.lastEmittedClue !== clue) {
@@ -108,9 +109,13 @@ export class ALuSelectInputComponent {
108
109
  this.panelRef?.handleKeyManagerEvent($event);
109
110
  }
110
111
  break;
111
- case 'Space':
112
+ case ' ':
112
113
  case 'ArrowDown':
113
114
  case 'ArrowUp':
115
+ // Initial space should just open the panel, not trigger a clue change
116
+ if (!this.clue && $event.key === ' ') {
117
+ $event.preventDefault();
118
+ }
114
119
  if (this.isPanelOpen) {
115
120
  this.panelRef?.handleKeyManagerEvent($event);
116
121
  }
@@ -130,7 +135,7 @@ export class ALuSelectInputComponent {
130
135
  this.onTouched = onTouched;
131
136
  }
132
137
  setDisabledState(isDisabled) {
133
- this.disabled = isDisabled;
138
+ this.disabled$.next(isDisabled);
134
139
  this.changeDetectorRef.markForCheck();
135
140
  }
136
141
  ngOnDestroy() {
@@ -145,11 +150,11 @@ export class ALuSelectInputComponent {
145
150
  }
146
151
  clearValue(event) {
147
152
  event.stopPropagation();
148
- this.updateValue(null);
153
+ this.updateValue(null, true);
149
154
  this.inputElementRef.nativeElement.focus();
150
155
  }
151
156
  openPanel(clue = '') {
152
- if (this.isPanelOpen || this.disabled) {
157
+ if (this.isPanelOpen || this.disabled$.value) {
153
158
  return;
154
159
  }
155
160
  this.isPanelOpen$.next(true);
@@ -197,15 +202,15 @@ export class ALuSelectInputComponent {
197
202
  writeValue(value) {
198
203
  this.value = value;
199
204
  }
200
- updateValue(value) {
205
+ updateValue(value, skipPanelOpen = false) {
201
206
  this.value = value;
202
207
  this.emptyClue();
203
- this.clueChanged('');
208
+ this.clueChanged('', skipPanelOpen);
204
209
  this.onChange?.(value);
205
210
  this.onTouched?.();
206
211
  }
207
212
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ALuSelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
208
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.2", type: ALuSelectInputComponent, inputs: { placeholder: "placeholder", clearable: ["clearable", "clearable", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], overlayConfig: "overlayConfig", loading: "loading", options: "options", optionComparer: "optionComparer", optionTpl: "optionTpl", valueTpl: "valueTpl" }, outputs: { clueChange: "clueChange", nextPage: "nextPage", previousPage: "previousPage" }, host: { listeners: { "click": "onClickOpenPanel($event)", "keydown": "onKeyDownNavigation($event)" }, properties: { "class.is-clearable": "this.clearable", "class.is-selected": "this.isSelectedClass", "class.is-searchFilled": "this.isSearchFilledClass" } }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0 }); }
213
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.2", type: ALuSelectInputComponent, inputs: { placeholder: "placeholder", clearable: ["clearable", "clearable", booleanAttribute], overlayConfig: "overlayConfig", loading: "loading", options: "options", optionComparer: "optionComparer", optionTpl: "optionTpl", valueTpl: "valueTpl" }, outputs: { clueChange: "clueChange", nextPage: "nextPage", previousPage: "previousPage" }, host: { listeners: { "click": "onClickOpenPanel($event)", "keydown": "onKeyDownNavigation($event)" }, properties: { "class.is-clearable": "this.clearable", "class.is-selected": "this.isSelectedClass", "class.is-searchFilled": "this.isSearchFilledClass" } }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0 }); }
209
214
  }
210
215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ALuSelectInputComponent, decorators: [{
211
216
  type: Directive
@@ -220,9 +225,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
220
225
  }, {
221
226
  type: HostBinding,
222
227
  args: ['class.is-clearable']
223
- }], disabled: [{
224
- type: Input,
225
- args: [{ transform: booleanAttribute }]
226
228
  }], isSelectedClass: [{
227
229
  type: HostBinding,
228
230
  args: ['class.is-selected']
@@ -254,4 +256,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
254
256
  type: HostListener,
255
257
  args: ['keydown', ['$event']]
256
258
  }] } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L2lucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQ04sZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQW9CLG9DQUFvQyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRW5GLE9BQU8sRUFBbUIsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUdqRixNQUFNLE9BQWdCLHVCQUF1QjtJQUQ3QztRQUtRLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFTOUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQU9sQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBa0JWLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUMsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFPbkQsa0JBQWEsR0FBbUI7WUFDL0IsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLGtDQUFrQztTQUNqRCxDQUFDO1FBbUJPLG1CQUFjLEdBQW9ELENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFP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LGNBQWM7Z0JBTXJCLFdBQVc7c0JBRGQsS0FBSztnQkFPTixTQUFTO3NCQUZSLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7O3NCQUNyQyxXQUFXO3VCQUFDLG9CQUFvQjtnQkFRakMsUUFBUTtzQkFEUCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl4QixlQUFlO3NCQUQ1QixXQUFXO3VCQUFDLG1CQUFtQjtnQkFNbEIsbUJBQW1CO3NCQURoQyxXQUFXO3VCQUFDLHVCQUF1QjtnQkFvQnBDLGFBQWE7c0JBRFosS0FBSztnQkFNTyxPQUFPO3NCQUFuQixLQUFLO2dCQU1PLE9BQU87c0JBQW5CLEtBQUs7Z0JBV0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBNENQLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVakMsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4ICovXG5pbXBvcnQgeyBPdmVybGF5Q29uZmlnLCBPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcblx0Ym9vbGVhbkF0dHJpYnV0ZSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0QmluZGluZyxcblx0SG9zdExpc3RlbmVyLFxuXHRpbmplY3QsXG5cdElucHV0LFxuXHRPbkRlc3Ryb3ksXG5cdE9uSW5pdCxcblx0T3V0cHV0LFxuXHRUZW1wbGF0ZVJlZixcblx0VHlwZSxcblx0Vmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTHVPcHRpb25Hcm91cGluZywgTHVTaW1wbGVTZWxlY3REZWZhdWx0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uJztcbmltcG9ydCB7IEx1U2VsZWN0UGFuZWxSZWYgfSBmcm9tICcuLi9wYW5lbCc7XG5pbXBvcnQgeyBMdU9wdGlvbkNvbnRleHQsIFNFTEVDVF9MQUJFTCwgU0VMRUNUX0xBQkVMX0lEIH0gZnJvbSAnLi4vc2VsZWN0Lm1vZGVsJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQUx1U2VsZWN0SW5wdXRDb21wb25lbnQ8VE9wdGlvbiwgVFZhbHVlPiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcblx0QFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50Jylcblx0cHJpdmF0ZSBpbnB1dEVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cblx0cHVibGljIHBsYWNlaG9sZGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuXG5cdEBJbnB1dCgpXG5cdHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5wbGFjZWhvbGRlciQubmV4dCh2YWx1ZSk7XG5cdH1cblxuXHRASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcblx0QEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1jbGVhcmFibGUnKVxuXHRjbGVhcmFibGUgPSBmYWxzZTtcblxuXHRnZXQgc2VhcmNoYWJsZSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5jbHVlQ2hhbmdlLm9ic2VydmVkO1xuXHR9XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG5cdGRpc2FibGVkID0gZmFsc2U7XG5cblx0QEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXG5cdHByb3RlY3RlZCBnZXQgaXNTZWxlY3RlZENsYXNzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmhhc1ZhbHVlO1xuXHR9XG5cblx0QEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWFyY2hGaWxsZWQnKVxuXHRwcm90ZWN0ZWQgZ2V0IGlzU2VhcmNoRmlsbGVkQ2xhc3MoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuY2x1ZT8ubGVuZ3RoID4gMDtcblx0fVxuXG5cdHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSBoYXNWYWx1ZTogYm9vbGVhbjtcblxuXHRwdWJsaWMgZ2V0IGlzUGFuZWxPcGVuKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmlzUGFuZWxPcGVuJC52YWx1ZTtcblx0fVxuXG5cdHB1YmxpYyBpc1BhbmVsT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuXHRwdWJsaWMgYWN0aXZlRGVzY2VuZGFudCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcblxuXHRnZXQgYXJpYUNvbnRyb2xzKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMub3ZlcmxheUNvbnRhaW5lclJlZi5pZDtcblx0fVxuXG5cdEBJbnB1dCgpXG5cdG92ZXJsYXlDb25maWc/OiBPdmVybGF5Q29uZmlnID0ge1xuXHRcdGhhc0JhY2tkcm9wOiB0cnVlLFxuXHRcdGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG5cdH07XG5cblx0QElucHV0KCkgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcblx0XHRpZiAodmFsdWUgIT09IHRoaXMubG9hZGluZykge1xuXHRcdFx0dGhpcy5sb2FkaW5nJC5uZXh0KHZhbHVlKTtcblx0XHR9XG5cdH1cblxuXHRASW5wdXQoKSBzZXQgb3B0aW9ucyhvcHRpb25zOiBUT3B0aW9uW10pIHtcblx0XHR0aGlzLm9wdGlvbnMkLm5leHQob3B0aW9ucyk7XG5cdFx0aWYgKHRoaXMucGFuZWxSZWYpIHtcblx0XHRcdC8vIFdlIGhhdmUgdG8gcHV0IGl0IGluIGEgc2V0VGltZW91dCBzbyBpdCdsbCBiZSB0cmlnZ2VyZWQgQUZURVIgdGhlIERPTSBpcyB1cGRhdGVkIGFuZCBub3QgcmlnaHQgbm93LFxuXHRcdFx0Ly8gd2hpY2ggaXMgYmVmb3JlIHRoZSBwYW5lbCBzaXplIGhhcyBiZWVuIG1vZGlmaWVkIGJ5IHRoZSBhcnJpdmFsIG9mIHRoZSBuZXcgb3B0aW9uc1xuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMucGFuZWxSZWYudXBkYXRlUG9zaXRpb24oKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdEBJbnB1dCgpIG9wdGlvbkNvbXBhcmVyOiAob3B0aW9uMTogVE9wdGlvbiwgb3B0aW9uMjogVE9wdGlvbikgPT4gYm9vbGVhbiA9IChvcHRpb24xLCBvcHRpb24yKSA9PiBKU09OLnN0cmluZ2lmeShvcHRpb24xKSA9PT0gSlNPTi5zdHJpbmdpZnkob3B0aW9uMik7XG5cdEBJbnB1dCgpIG9wdGlvblRwbD86IFRlbXBsYXRlUmVmPEx1T3B0aW9uQ29udGV4dDxUT3B0aW9uPj4gfCBUeXBlPHVua25vd24+ID0gTHVTaW1wbGVTZWxlY3REZWZhdWx0T3B0aW9uQ29tcG9uZW50O1xuXHRASW5wdXQoKSB2YWx1ZVRwbD86IFRlbXBsYXRlUmVmPEx1T3B0aW9uQ29udGV4dDxUT3B0aW9uPj4gfCBUeXBlPHVua25vd24+O1xuXHRncm91cGluZz86IEx1T3B0aW9uR3JvdXBpbmc8VE9wdGlvbiwgdW5rbm93bj47XG5cblx0QE91dHB1dCgpIGNsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblx0QE91dHB1dCgpIG5leHRQYWdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXHRAT3V0cHV0KCkgcHJldmlvdXNQYWdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdHB1YmxpYyBnZXQgdmFsdWUoKTogVFZhbHVlIHtcblx0XHRyZXR1cm4gdGhpcy5fdmFsdWU7XG5cdH1cblxuXHRwcm90ZWN0ZWQgc2V0IHZhbHVlKHZhbHVlOiBUVmFsdWUpIHtcblx0XHR0aGlzLl92YWx1ZSA9IHZhbHVlO1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0IGlucHV0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHwgbnVsbCB7XG5cdFx0cmV0dXJuIHRoaXMudmFsdWUgPyBudWxsIDogdGhpcy5wbGFjZWhvbGRlciQudmFsdWU7XG5cdH1cblxuXHRwdWJsaWMgY2x1ZUNoYW5nZWQoY2x1ZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmlzUGFuZWxPcGVuKSB7XG5cdFx0XHR0aGlzLm9wZW5QYW5lbChjbHVlKTtcblx0XHR9IGVsc2UgaWYgKHRoaXMubGFzdEVtaXR0ZWRDbHVlICE9PSBjbHVlKSB7XG5cdFx0XHR0aGlzLmNsdWVDaGFuZ2UuZW1pdChjbHVlKTtcblx0XHRcdHRoaXMubGFzdEVtaXR0ZWRDbHVlID0gY2x1ZTtcblx0XHR9XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3ZhbHVlPzogVFZhbHVlO1xuXG5cdG9wdGlvbnMkID0gbmV3IFJlcGxheVN1YmplY3Q8VE9wdGlvbltdPigxKTtcblx0bG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0Y2x1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cdC8vIFRoaXMgaXMgdGhlIGNsdWUgc3RvcmVkIGFmdGVyIHdlIHNlbGVjdGVkIGFuIG9wdGlvbiB0byBrbm93IGlmIHdlIHNob3VsZCBlbWl0IGFuIGVtcHR5IGNsdWUgb24gb3BlbiBvciBub3Rcblx0bGFzdEVtaXR0ZWRDbHVlOiBzdHJpbmcgPSAnJztcblxuXHRwcm90ZWN0ZWQgb25DaGFuZ2U/OiAodmFsdWU6IFRWYWx1ZSB8IG51bGwpID0+IHZvaWQ7XG5cdHByb3RlY3RlZCBvblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xuXG5cdHB1YmxpYyBnZXQgcGFuZWxSZWYoKTogTHVTZWxlY3RQYW5lbFJlZjxUT3B0aW9uLCBUVmFsdWU+IHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5fcGFuZWxSZWY7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3BhbmVsUmVmPzogTHVTZWxlY3RQYW5lbFJlZjxUT3B0aW9uLCBUVmFsdWU+O1xuXG5cdHByb3RlY3RlZCBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuXHRASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG5cdG9uQ2xpY2tPcGVuUGFuZWwoJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG5cdFx0aWYgKCF0aGlzLmlzUGFuZWxPcGVuKSB7XG5cdFx0XHR0aGlzLm9wZW5QYW5lbCgpO1xuXHRcdFx0JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdFx0JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0fVxuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG5cdG9uS2V5RG93bk5hdmlnYXRpb24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG5cdFx0c3dpdGNoICgkZXZlbnQua2V5KSB7XG5cdFx0XHRjYXNlICdFc2NhcGUnOlxuXHRcdFx0Y2FzZSAnVGFiJzpcblx0XHRcdFx0dGhpcy5wYW5lbFJlZj8uY2xvc2UoKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdFbnRlcic6XG5cdFx0XHRcdGlmICh0aGlzLmlzUGFuZWxPcGVuKSB7XG5cdFx0XHRcdFx0dGhpcy5wYW5lbFJlZi5zZWxlY3RDdXJyZW50bHlIaWdobGlnaHRlZFZhbHVlKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5wYW5lbFJlZj8uaGFuZGxlS2V5TWFuYWdlckV2ZW50KCRldmVudCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdTcGFjZSc6XG5cdFx0XHRjYXNlICdBcnJvd0Rvd24nOlxuXHRcdFx0Y2FzZSAnQXJyb3dVcCc6XG5cdFx0XHRcdGlmICh0aGlzLmlzUGFuZWxPcGVuKSB7XG5cdFx0XHRcdFx0dGhpcy5wYW5lbFJlZj8uaGFuZGxlS2V5TWFuYWdlckV2ZW50KCRldmVudCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5vcGVuUGFuZWwoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHRoaXMucGFuZWxSZWY/LmhhbmRsZUtleU1hbmFnZXJFdmVudCgkZXZlbnQpO1xuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdH1cblxuXHRwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXHRwcm90ZWN0ZWQgb3ZlcmxheUNvbnRhaW5lclJlZjogSFRNTEVsZW1lbnQgPSBpbmplY3QoT3ZlcmxheUNvbnRhaW5lcikuZ2V0Q29udGFpbmVyRWxlbWVudCgpO1xuXG5cdHByb3RlY3RlZCBsYWJlbEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0gaW5qZWN0KFNFTEVDVF9MQUJFTCk7XG5cdHByb3RlY3RlZCBsYWJlbElkOiBzdHJpbmcgPSBpbmplY3QoU0VMRUNUX0xBQkVMX0lEKTtcblxuXHRyZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IFRWYWx1ZSkgPT4gdm9pZCk6IHZvaWQge1xuXHRcdHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcblx0fVxuXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKCkgPT4gdm9pZCk6IHZvaWQge1xuXHRcdHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuXHR9XG5cblx0c2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG5cdFx0dGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuY2xvc2VQYW5lbCgpO1xuXHRcdHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG5cdFx0dGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5sYWJlbEVsZW1lbnQpIHtcblx0XHRcdHRoaXMubGFiZWxFbGVtZW50LmlkID0gdGhpcy5sYWJlbElkO1xuXHRcdH1cblx0fVxuXG5cdGNsZWFyVmFsdWUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0dGhpcy51cGRhdGVWYWx1ZShudWxsKTtcblx0XHR0aGlzLmlucHV0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdH1cblxuXHRvcGVuUGFuZWwoY2x1ZTogc3RyaW5nID0gJycpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5pc1BhbmVsT3BlbiB8fCB0aGlzLmRpc2FibGVkKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5pc1BhbmVsT3BlbiQubmV4dCh0cnVlKTtcblx0XHR0aGlzLmNsdWVDaGFuZ2VkKGNsdWUpO1xuXHRcdHRoaXMuX3BhbmVsUmVmID0gdGhpcy5idWlsZFBhbmVsUmVmKCk7XG5cdFx0dGhpcy5iaW5kSW5wdXRUb1BhbmVsUmVmRXZlbnRzKCk7XG5cdFx0c2V0VGltZW91dCgoKSA9PiB0aGlzLmZvY3VzSW5wdXQoKSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYWJzdHJhY3QgYnVpbGRQYW5lbFJlZigpOiB0aGlzWydwYW5lbFJlZiddO1xuXG5cdHByb3RlY3RlZCBiaW5kSW5wdXRUb1BhbmVsUmVmRXZlbnRzKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5wYW5lbFJlZikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMucGFuZWxSZWYudmFsdWVDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMudXBkYXRlVmFsdWUodmFsdWUpKTtcblx0XHR0aGlzLnBhbmVsUmVmLm5leHRQYWdlLnN1YnNjcmliZSgoKSA9PiB0aGlzLm5leHRQYWdlLmVtaXQoKSk7XG5cdFx0dGhpcy5wYW5lbFJlZi5wcmV2aW91c1BhZ2Uuc3Vic2NyaWJlKCgpID0+IHRoaXMucHJldmlvdXNQYWdlLmVtaXQoKSk7XG5cdFx0dGhpcy5wYW5lbFJlZi5hY3RpdmVPcHRpb25JZENoYW5nZWQuc3Vic2NyaWJlKChvcHRpb25JZCkgPT4ge1xuXHRcdFx0dGhpcy5hY3RpdmVEZXNjZW5kYW50JC5uZXh0KG9wdGlvbklkKTtcblx0XHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0fSk7XG5cdFx0dGhpcy5wYW5lbFJlZi5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2VQYW5lbCgpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBmb2N1c0lucHV0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmlucHV0RWxlbWVudFJlZikge1xuXHRcdFx0dGhpcy5pbnB1dEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBlbXB0eUNsdWUoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuY2x1ZSkge1xuXHRcdFx0dGhpcy5jbHVlID0gbnVsbDtcblx0XHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGNsb3NlUGFuZWwoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmlzUGFuZWxPcGVuKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuZW1wdHlDbHVlKCk7XG5cdFx0dGhpcy5hY3RpdmVEZXNjZW5kYW50JC5uZXh0KCcnKTtcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXHRcdHRoaXMub25Ub3VjaGVkPy4oKTtcblx0XHR0aGlzLmlzUGFuZWxPcGVuJC5uZXh0KGZhbHNlKTtcblx0XHR0aGlzLnBhbmVsUmVmLmNsb3NlKCk7XG5cdFx0dGhpcy5fcGFuZWxSZWYgPSB1bmRlZmluZWQ7XG5cdH1cblxuXHRwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogVFZhbHVlKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZSA9IHZhbHVlO1xuXHR9XG5cblx0cHVibGljIHVwZGF0ZVZhbHVlKHZhbHVlOiBUVmFsdWUpOiB2b2lkIHtcblx0XHR0aGlzLnZhbHVlID0gdmFsdWU7XG5cdFx0dGhpcy5lbXB0eUNsdWUoKTtcblx0XHR0aGlzLmNsdWVDaGFuZ2VkKCcnKTtcblx0XHR0aGlzLm9uQ2hhbmdlPy4odmFsdWUpO1xuXHRcdHRoaXMub25Ub3VjaGVkPy4oKTtcblx0fVxufVxuIl19
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L2lucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQ04sZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQW9CLG9DQUFvQyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRW5GLE9BQU8sRUFBbUIsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUlqRixNQUFNLE9BQWdCLHVCQUF1QjtJQUQ3QztRQUtRLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdkMsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBUzlDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFzQlgsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQU9uRCxrQkFBYSxHQUFtQjtZQUMvQixXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsa0NBQWtDO1NBQ2pELENBQUM7UUFtQk8sbUJBQWMsR0FBb0QsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJ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QUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztJQUNwQixDQUFDOzhHQXhRb0IsdUJBQXVCO2tHQUF2Qix1QkFBdUIsOEVBYXhCLGdCQUFnQjs7MkZBYmYsdUJBQXVCO2tCQUQ1QyxTQUFTOzhCQUdELGVBQWU7c0JBRHRCLFNBQVM7dUJBQUMsY0FBYztnQkFRckIsV0FBVztzQkFEZCxLQUFLO2dCQU9OLFNBQVM7c0JBRlIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQVFuQixlQUFlO3NCQUQ1QixXQUFXO3VCQUFDLG1CQUFtQjtnQkFNbEIsbUJBQW1CO3NCQURoQyxXQUFXO3VCQUFDLHVCQUF1QjtnQkFvQnBDLGFBQWE7c0JBRFosS0FBSztnQkFNTyxPQUFPO3NCQUFuQixLQUFLO2dCQU1PLE9BQU87c0JBQW5CLEtBQUs7Z0JBV0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBOENQLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVakMsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4ICovXG5pbXBvcnQgeyBPdmVybGF5Q29uZmlnLCBPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcblx0Ym9vbGVhbkF0dHJpYnV0ZSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0QmluZGluZyxcblx0SG9zdExpc3RlbmVyLFxuXHRpbmplY3QsXG5cdElucHV0LFxuXHRPbkRlc3Ryb3ksXG5cdE9uSW5pdCxcblx0T3V0cHV0LFxuXHRUZW1wbGF0ZVJlZixcblx0VHlwZSxcblx0Vmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTHVPcHRpb25Hcm91cGluZywgTHVTaW1wbGVTZWxlY3REZWZhdWx0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uJztcbmltcG9ydCB7IEx1U2VsZWN0UGFuZWxSZWYgfSBmcm9tICcuLi9wYW5lbCc7XG5pbXBvcnQgeyBMdU9wdGlvbkNvbnRleHQsIFNFTEVDVF9MQUJFTCwgU0VMRUNUX0xBQkVMX0lEIH0gZnJvbSAnLi4vc2VsZWN0Lm1vZGVsJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBTHVTZWxlY3RJbnB1dENvbXBvbmVudDxUT3B0aW9uLCBUVmFsdWU+IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0QFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50Jylcblx0cHJpdmF0ZSBpbnB1dEVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cblx0cHVibGljIHBsYWNlaG9sZGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuXG5cdHB1YmxpYyBkaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuXHRASW5wdXQoKVxuXHRzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuXHRcdHRoaXMucGxhY2Vob2xkZXIkLm5leHQodmFsdWUpO1xuXHR9XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG5cdEBIb3N0QmluZGluZygnY2xhc3MuaXMtY2xlYXJhYmxlJylcblx0Y2xlYXJhYmxlID0gZmFsc2U7XG5cblx0Z2V0IHNlYXJjaGFibGUoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuY2x1ZUNoYW5nZS5vYnNlcnZlZDtcblx0fVxuXG5cdEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuXHRwcm90ZWN0ZWQgZ2V0IGlzU2VsZWN0ZWRDbGFzcygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5oYXNWYWx1ZTtcblx0fVxuXG5cdEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VhcmNoRmlsbGVkJylcblx0cHJvdGVjdGVkIGdldCBpc1NlYXJjaEZpbGxlZENsYXNzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmNsdWU/Lmxlbmd0aCA+IDA7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgaGFzVmFsdWU6IGJvb2xlYW47XG5cblx0cHVibGljIGdldCBpc1BhbmVsT3BlbigpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5pc1BhbmVsT3BlbiQudmFsdWU7XG5cdH1cblxuXHRwdWJsaWMgaXNQYW5lbE9wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cblx0cHVibGljIGFjdGl2ZURlc2NlbmRhbnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XG5cblx0Z2V0IGFyaWFDb250cm9scygpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm92ZXJsYXlDb250YWluZXJSZWYuaWQ7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRvdmVybGF5Q29uZmlnPzogT3ZlcmxheUNvbmZpZyA9IHtcblx0XHRoYXNCYWNrZHJvcDogdHJ1ZSxcblx0XHRiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuXHR9O1xuXG5cdEBJbnB1dCgpIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG5cdFx0aWYgKHZhbHVlICE9PSB0aGlzLmxvYWRpbmcpIHtcblx0XHRcdHRoaXMubG9hZGluZyQubmV4dCh2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0QElucHV0KCkgc2V0IG9wdGlvbnMob3B0aW9uczogVE9wdGlvbltdKSB7XG5cdFx0dGhpcy5vcHRpb25zJC5uZXh0KG9wdGlvbnMpO1xuXHRcdGlmICh0aGlzLnBhbmVsUmVmKSB7XG5cdFx0XHQvLyBXZSBoYXZlIHRvIHB1dCBpdCBpbiBhIHNldFRpbWVvdXQgc28gaXQnbGwgYmUgdHJpZ2dlcmVkIEFGVEVSIHRoZSBET00gaXMgdXBkYXRlZCBhbmQgbm90IHJpZ2h0IG5vdyxcblx0XHRcdC8vIHdoaWNoIGlzIGJlZm9yZSB0aGUgcGFuZWwgc2l6ZSBoYXMgYmVlbiBtb2RpZmllZCBieSB0aGUgYXJyaXZhbCBvZiB0aGUgbmV3IG9wdGlvbnNcblx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLnBhbmVsUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRASW5wdXQoKSBvcHRpb25Db21wYXJlcjogKG9wdGlvbjE6IFRPcHRpb24sIG9wdGlvbjI6IFRPcHRpb24pID0+IGJvb2xlYW4gPSAob3B0aW9uMSwgb3B0aW9uMikgPT4gSlNPTi5zdHJpbmdpZnkob3B0aW9uMSkgPT09IEpTT04uc3RyaW5naWZ5KG9wdGlvbjIpO1xuXHRASW5wdXQoKSBvcHRpb25UcGw/OiBUZW1wbGF0ZVJlZjxMdU9wdGlvbkNvbnRleHQ8VE9wdGlvbj4+IHwgVHlwZTx1bmtub3duPiA9IEx1U2ltcGxlU2VsZWN0RGVmYXVsdE9wdGlvbkNvbXBvbmVudDtcblx0QElucHV0KCkgdmFsdWVUcGw/OiBUZW1wbGF0ZVJlZjxMdU9wdGlvbkNvbnRleHQ8VE9wdGlvbj4+IHwgVHlwZTx1bmtub3duPjtcblx0Z3JvdXBpbmc/OiBMdU9wdGlvbkdyb3VwaW5nPFRPcHRpb24sIHVua25vd24+O1xuXG5cdEBPdXRwdXQoKSBjbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cdEBPdXRwdXQoKSBuZXh0UGFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0QE91dHB1dCgpIHByZXZpb3VzUGFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuXHRwdWJsaWMgZ2V0IHZhbHVlKCk6IFRWYWx1ZSB7XG5cdFx0cmV0dXJuIHRoaXMuX3ZhbHVlO1xuXHR9XG5cblx0cHJvdGVjdGVkIHNldCB2YWx1ZSh2YWx1ZTogVFZhbHVlKSB7XG5cdFx0dGhpcy5fdmFsdWUgPSB2YWx1ZTtcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0cHVibGljIGdldCBpbnB1dFBsYWNlaG9sZGVyKCk6IHN0cmluZyB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLnZhbHVlID8gbnVsbCA6IHRoaXMucGxhY2Vob2xkZXIkLnZhbHVlO1xuXHR9XG5cblx0cHVibGljIGNsdWVDaGFuZ2VkKGNsdWU6IHN0cmluZywgc2tpcFBhbmVsT3BlbiA9IGZhbHNlKTogdm9pZCB7XG5cdFx0dGhpcy5jbHVlID0gY2x1ZTtcblxuXHRcdGlmICghc2tpcFBhbmVsT3BlbiAmJiAhdGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoY2x1ZSk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLmxhc3RFbWl0dGVkQ2x1ZSAhPT0gY2x1ZSkge1xuXHRcdFx0dGhpcy5jbHVlQ2hhbmdlLmVtaXQoY2x1ZSk7XG5cdFx0XHR0aGlzLmxhc3RFbWl0dGVkQ2x1ZSA9IGNsdWU7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIF92YWx1ZT86IFRWYWx1ZTtcblxuXHRvcHRpb25zJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFRPcHRpb25bXT4oMSk7XG5cdGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cdGNsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXHQvLyBUaGlzIGlzIHRoZSBjbHVlIHN0b3JlZCBhZnRlciB3ZSBzZWxlY3RlZCBhbiBvcHRpb24gdG8ga25vdyBpZiB3ZSBzaG91bGQgZW1pdCBhbiBlbXB0eSBjbHVlIG9uIG9wZW4gb3Igbm90XG5cdGxhc3RFbWl0dGVkQ2x1ZTogc3RyaW5nID0gJyc7XG5cblx0cHJvdGVjdGVkIG9uQ2hhbmdlPzogKHZhbHVlOiBUVmFsdWUgfCBudWxsKSA9PiB2b2lkO1xuXHRwcm90ZWN0ZWQgb25Ub3VjaGVkPzogKCkgPT4gdm9pZDtcblxuXHRwdWJsaWMgZ2V0IHBhbmVsUmVmKCk6IEx1U2VsZWN0UGFuZWxSZWY8VE9wdGlvbiwgVFZhbHVlPiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuX3BhbmVsUmVmO1xuXHR9XG5cblx0cHJvdGVjdGVkIF9wYW5lbFJlZj86IEx1U2VsZWN0UGFuZWxSZWY8VE9wdGlvbiwgVFZhbHVlPjtcblxuXHRwcm90ZWN0ZWQgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0QEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuXHRvbkNsaWNrT3BlblBhbmVsKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xuXHRcdGlmICghdGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoKTtcblx0XHRcdCRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHRcdCRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdH1cblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuXHRvbktleURvd25OYXZpZ2F0aW9uKCRldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuXHRcdHN3aXRjaCAoJGV2ZW50LmtleSkge1xuXHRcdFx0Y2FzZSAnRXNjYXBlJzpcblx0XHRcdGNhc2UgJ1RhYic6XG5cdFx0XHRcdHRoaXMucGFuZWxSZWY/LmNsb3NlKCk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnRW50ZXInOlxuXHRcdFx0XHRpZiAodGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0XHRcdHRoaXMucGFuZWxSZWYuc2VsZWN0Q3VycmVudGx5SGlnaGxpZ2h0ZWRWYWx1ZSgpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMucGFuZWxSZWY/LmhhbmRsZUtleU1hbmFnZXJFdmVudCgkZXZlbnQpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnICc6XG5cdFx0XHRjYXNlICdBcnJvd0Rvd24nOlxuXHRcdFx0Y2FzZSAnQXJyb3dVcCc6XG5cdFx0XHRcdC8vIEluaXRpYWwgc3BhY2Ugc2hvdWxkIGp1c3Qgb3BlbiB0aGUgcGFuZWwsIG5vdCB0cmlnZ2VyIGEgY2x1ZSBjaGFuZ2Vcblx0XHRcdFx0aWYgKCF0aGlzLmNsdWUgJiYgJGV2ZW50LmtleSA9PT0gJyAnKSB7XG5cdFx0XHRcdFx0JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdFx0XHR0aGlzLnBhbmVsUmVmPy5oYW5kbGVLZXlNYW5hZ2VyRXZlbnQoJGV2ZW50KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLm9wZW5QYW5lbCgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0dGhpcy5wYW5lbFJlZj8uaGFuZGxlS2V5TWFuYWdlckV2ZW50KCRldmVudCk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cdHByb3RlY3RlZCBvdmVybGF5Q29udGFpbmVyUmVmOiBIVE1MRWxlbWVudCA9IGluamVjdChPdmVybGF5Q29udGFpbmVyKS5nZXRDb250YWluZXJFbGVtZW50KCk7XG5cblx0cHJvdGVjdGVkIGxhYmVsRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSBpbmplY3QoU0VMRUNUX0xBQkVMKTtcblx0cHJvdGVjdGVkIGxhYmVsSWQ6IHN0cmluZyA9IGluamVjdChTRUxFQ1RfTEFCRUxfSUQpO1xuXG5cdHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0dGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0dGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG5cdH1cblxuXHRzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHR0aGlzLmRpc2FibGVkJC5uZXh0KGlzRGlzYWJsZWQpO1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHR0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuXHRcdHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuXHR9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMubGFiZWxFbGVtZW50KSB7XG5cdFx0XHR0aGlzLmxhYmVsRWxlbWVudC5pZCA9IHRoaXMubGFiZWxJZDtcblx0XHR9XG5cdH1cblxuXHRjbGVhclZhbHVlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdHRoaXMudXBkYXRlVmFsdWUobnVsbCwgdHJ1ZSk7XG5cdFx0dGhpcy5pbnB1dEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHR9XG5cblx0b3BlblBhbmVsKGNsdWU6IHN0cmluZyA9ICcnKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4gfHwgdGhpcy5kaXNhYmxlZCQudmFsdWUpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLmlzUGFuZWxPcGVuJC5uZXh0KHRydWUpO1xuXHRcdHRoaXMuY2x1ZUNoYW5nZWQoY2x1ZSk7XG5cdFx0dGhpcy5fcGFuZWxSZWYgPSB0aGlzLmJ1aWxkUGFuZWxSZWYoKTtcblx0XHR0aGlzLmJpbmRJbnB1dFRvUGFuZWxSZWZFdmVudHMoKTtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMuZm9jdXNJbnB1dCgpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBhYnN0cmFjdCBidWlsZFBhbmVsUmVmKCk6IHRoaXNbJ3BhbmVsUmVmJ107XG5cblx0cHJvdGVjdGVkIGJpbmRJbnB1dFRvUGFuZWxSZWZFdmVudHMoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLnBhbmVsUmVmKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5wYW5lbFJlZi52YWx1ZUNoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSkpO1xuXHRcdHRoaXMucGFuZWxSZWYubmV4dFBhZ2Uuc3Vic2NyaWJlKCgpID0+IHRoaXMubmV4dFBhZ2UuZW1pdCgpKTtcblx0XHR0aGlzLnBhbmVsUmVmLnByZXZpb3VzUGFnZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wcmV2aW91c1BhZ2UuZW1pdCgpKTtcblx0XHR0aGlzLnBhbmVsUmVmLmFjdGl2ZU9wdGlvbklkQ2hhbmdlZC5zdWJzY3JpYmUoKG9wdGlvbklkKSA9PiB7XG5cdFx0XHR0aGlzLmFjdGl2ZURlc2NlbmRhbnQkLm5leHQob3B0aW9uSWQpO1xuXHRcdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblx0XHR9KTtcblx0XHR0aGlzLnBhbmVsUmVmLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZVBhbmVsKCkpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGZvY3VzSW5wdXQoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuaW5wdXRFbGVtZW50UmVmKSB7XG5cdFx0XHR0aGlzLmlucHV0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGVtcHR5Q2x1ZSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5jbHVlKSB7XG5cdFx0XHR0aGlzLmNsdWUgPSBudWxsO1xuXHRcdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgY2xvc2VQYW5lbCgpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5lbXB0eUNsdWUoKTtcblx0XHR0aGlzLmFjdGl2ZURlc2NlbmRhbnQkLm5leHQoJycpO1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0dGhpcy5vblRvdWNoZWQ/LigpO1xuXHRcdHRoaXMuaXNQYW5lbE9wZW4kLm5leHQoZmFsc2UpO1xuXHRcdHRoaXMucGFuZWxSZWYuY2xvc2UoKTtcblx0XHR0aGlzLl9wYW5lbFJlZiA9IHVuZGVmaW5lZDtcblx0fVxuXG5cdHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBUVmFsdWUpOiB2b2lkIHtcblx0XHR0aGlzLnZhbHVlID0gdmFsdWU7XG5cdH1cblxuXHRwdWJsaWMgdXBkYXRlVmFsdWUodmFsdWU6IFRWYWx1ZSwgc2tpcFBhbmVsT3BlbiA9IGZhbHNlKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZSA9IHZhbHVlO1xuXHRcdHRoaXMuZW1wdHlDbHVlKCk7XG5cdFx0dGhpcy5jbHVlQ2hhbmdlZCgnJywgc2tpcFBhbmVsT3Blbik7XG5cdFx0dGhpcy5vbkNoYW5nZT8uKHZhbHVlKTtcblx0XHR0aGlzLm9uVG91Y2hlZD8uKCk7XG5cdH1cbn1cbiJdfQ==
@@ -19,7 +19,7 @@ export class LuCoreSelectJobQualificationsDirective extends ALuCoreSelectApiDire
19
19
  this._filters = signal(null);
20
20
  this.params$ = combineLatest([toObservable(this._filters), this.clue$]).pipe(map(([filters, clue]) => ({
21
21
  ...filters,
22
- ...(clue ? { search: sanitizeClueFilter(clue) } : {}),
22
+ ...(clue ? { search: sanitizeClueFilter(clue), sort: 'name' } : { sort: 'job.name,level.position' }),
23
23
  })));
24
24
  this.optionComparer = (a, b) => a.id === b.id;
25
25
  this.select.grouping = {
@@ -61,4 +61,4 @@ function sanitizeClueFilter(clue) {
61
61
  .map((c) => encodeURIComponent(c))
62
62
  .join(',');
63
63
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXF1YWxpZmljYXRpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L2pvYi1xdWFsaWZpY2F0aW9uL2pvYi1xdWFsaWZpY2F0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBYyxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQVU3RixNQUFNLE9BQU8sc0NBQThHLFNBQVEseUJBQTRCO0lBRzlKLElBQ1csR0FBRyxDQUFDLEdBQWtCO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUNXLE9BQU8sQ0FBQyxPQUF5RDtRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBS0Q7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQWhCQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBWWhDLFNBQUksR0FBRyxNQUFNLENBQVMsZ0RBQWdELENBQUMsQ0FBQztRQUN4RSxhQUFRLEdBQUcsTUFBTSxDQUFtRCxJQUFJLENBQUMsQ0FBQztRQXVCakUsWUFBTyxHQUEwRCxhQUFhLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDaEosR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekIsR0FBRyxPQUFPO1lBQ1YsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ3JELENBQUMsQ0FBQyxDQUNILENBQUM7UUFFaUIsbUJBQWMsR0FBRyxDQUFDLENBQUksRUFBRSxDQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQXpCakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUc7WUFDdEIsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkMsT0FBTyxFQUFFLG1DQUFtQztTQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVrQixVQUFVLENBQUMsTUFBd0QsRUFBRSxJQUFZO1FBQ25HLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDcEIsR0FBRyxDQUF1QixJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkMsTUFBTSxFQUFFO2dCQUNQLEdBQUcsTUFBTTtnQkFDVCxJQUFJLEVBQUUsSUFBSSxHQUFHLENBQUM7Z0JBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3BCO1NBQ0QsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOzhHQW5DVyxzQ0FBc0M7a0dBQXRDLHNDQUFzQzs7MkZBQXRDLHNDQUFzQztrQkFQbEQsU0FBUzttQkFBQztvQkFDVixnRkFBZ0Y7b0JBQ2hGLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLHdFQUF3RTtvQkFDbEYsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzdCO3dEQUtXLEdBQUc7c0JBRGIsS0FBSztnQkFNSyxPQUFPO3NCQURqQixLQUFLOztBQXVDUCxTQUFTLGtCQUFrQixDQUFDLElBQVk7SUFDdkMsT0FBTyxJQUFJO1NBQ1QsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLEdBQUcsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkluaXQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBTHVDb3JlU2VsZWN0QXBpRGlyZWN0aXZlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUtc2VsZWN0L2FwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEx1Sm9iUXVhbGlmaWNhdGlvbkdyb3VwaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9qb2ItcXVhbGlmaWNhdGlvbi1ncm91cGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHVDb3JlU2VsZWN0Sm9iUXVhbGlmaWNhdGlvbiB9IGZyb20gJy4vbW9kZWxzJztcblxuQERpcmVjdGl2ZSh7XG5cdC8vIFRoZSBhdHRyaWJ1dGUgaXMgYWxyZWFkeSBwcmVmaXhlZCB3aXRoIFwibHUtc2ltcGxlLXNlbGVjdFwiIC8gXCJsdS1tdWx0aS1zZWxlY3RcIlxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuXHRzZWxlY3RvcjogJ2x1LXNpbXBsZS1zZWxlY3Rbam9iUXVhbGlmaWNhdGlvbnNdLGx1LW11bHRpLXNlbGVjdFtqb2JRdWFsaWZpY2F0aW9uc10nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRleHBvcnRBczogJ2pvYlF1YWxpZmljYXRpb25zJyxcbn0pXG5leHBvcnQgY2xhc3MgTHVDb3JlU2VsZWN0Sm9iUXVhbGlmaWNhdGlvbnNEaXJlY3RpdmU8VCBleHRlbmRzIEx1Q29yZVNlbGVjdEpvYlF1YWxpZmljYXRpb24gPSBMdUNvcmVTZWxlY3RKb2JRdWFsaWZpY2F0aW9uPiBleHRlbmRzIEFMdUNvcmVTZWxlY3RBcGlEaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuXHRwcm90ZWN0ZWQgaHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IHVybCh1cmw6IHN0cmluZyB8IG51bGwpIHtcblx0XHR0aGlzLl91cmwuc2V0KHVybCk7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGZpbHRlcnMoZmlsdGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4gfCBudWxsKSB7XG5cdFx0dGhpcy5fZmlsdGVycy5zZXQoZmlsdGVycyk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3VybCA9IHNpZ25hbDxzdHJpbmc+KCcvb3JnYW5pemF0aW9uL3N0cnVjdHVyZS9hcGkvam9iLXF1YWxpZmljYXRpb25zJyk7XG5cdHByb3RlY3RlZCBfZmlsdGVycyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiB8IG51bGw+KG51bGwpO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXG5cdFx0dGhpcy5zZWxlY3QuZ3JvdXBpbmcgPSB7XG5cdFx0XHRzZWxlY3RvcjogKG9wdGlvbikgPT4gb3B0aW9uLmpvYi5pZCxcblx0XHRcdGNvbnRlbnQ6IEx1Sm9iUXVhbGlmaWNhdGlvbkdyb3VwaW5nQ29tcG9uZW50LFxuXHRcdH07XG5cdH1cblxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0T3B0aW9ucyhwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+IHwgbnVsbCwgcGFnZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxUW10+IHtcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50XG5cdFx0XHQuZ2V0PFRbXSB8IHsgaXRlbXM6IFRbXSB9Pih0aGlzLl91cmwoKSwge1xuXHRcdFx0XHRwYXJhbXM6IHtcblx0XHRcdFx0XHQuLi5wYXJhbXMsXG5cdFx0XHRcdFx0cGFnZTogcGFnZSArIDEsXG5cdFx0XHRcdFx0bGltaXQ6IHRoaXMucGFnZVNpemUsXG5cdFx0XHRcdH0sXG5cdFx0XHR9KVxuXHRcdFx0LnBpcGUobWFwKChyZXMpID0+IChBcnJheS5pc0FycmF5KHJlcykgPyByZXMgOiByZXM/Lml0ZW1zKSA/PyBbXSkpO1xuXHR9XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIHBhcmFtcyQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4+ID0gY29tYmluZUxhdGVzdChbdG9PYnNlcnZhYmxlKHRoaXMuX2ZpbHRlcnMpLCB0aGlzLmNsdWUkXSkucGlwZShcblx0XHRtYXAoKFtmaWx0ZXJzLCBjbHVlXSkgPT4gKHtcblx0XHRcdC4uLmZpbHRlcnMsXG5cdFx0XHQuLi4oY2x1ZSA/IHsgc2VhcmNoOiBzYW5pdGl6ZUNsdWVGaWx0ZXIoY2x1ZSkgfSA6IHt9KSxcblx0XHR9KSksXG5cdCk7XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIG9wdGlvbkNvbXBhcmVyID0gKGE6IFQsIGI6IFQpID0+IGEuaWQgPT09IGIuaWQ7XG59XG5cbmZ1bmN0aW9uIHNhbml0aXplQ2x1ZUZpbHRlcihjbHVlOiBzdHJpbmcpIHtcblx0cmV0dXJuIGNsdWVcblx0XHQuc3BsaXQoJyAnKVxuXHRcdC5tYXAoKGM6IHN0cmluZykgPT4gZW5jb2RlVVJJQ29tcG9uZW50KGMpKVxuXHRcdC5qb2luKCcsJyk7XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXF1YWxpZmljYXRpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L2pvYi1xdWFsaWZpY2F0aW9uL2pvYi1xdWFsaWZpY2F0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBYyxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQVU3RixNQUFNLE9BQU8sc0NBQThHLFNBQVEseUJBQTRCO0lBRzlKLElBQ1csR0FBRyxDQUFDLEdBQWtCO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUNXLE9BQU8sQ0FBQyxPQUF5RDtRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBS0Q7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQWhCQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBWWhDLFNBQUksR0FBRyxNQUFNLENBQVMsZ0RBQWdELENBQUMsQ0FBQztRQUN4RSxhQUFRLEdBQUcsTUFBTSxDQUFtRCxJQUFJLENBQUMsQ0FBQztRQXVCakUsWUFBTyxHQUEwRCxhQUFhLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDaEosR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekIsR0FBRyxPQUFPO1lBQ1YsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxDQUFDO1NBQ3BHLENBQUMsQ0FBQyxDQUNILENBQUM7UUFFaUIsbUJBQWMsR0FBRyxDQUFDLENBQUksRUFBRSxDQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQXpCakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUc7WUFDdEIsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkMsT0FBTyxFQUFFLG1DQUFtQztTQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVrQixVQUFVLENBQUMsTUFBd0QsRUFBRSxJQUFZO1FBQ25HLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDcEIsR0FBRyxDQUF1QixJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkMsTUFBTSxFQUFFO2dCQUNQLEdBQUcsTUFBTTtnQkFDVCxJQUFJLEVBQUUsSUFBSSxHQUFHLENBQUM7Z0JBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3BCO1NBQ0QsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOzhHQW5DVyxzQ0FBc0M7a0dBQXRDLHNDQUFzQzs7MkZBQXRDLHNDQUFzQztrQkFQbEQsU0FBUzttQkFBQztvQkFDVixnRkFBZ0Y7b0JBQ2hGLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLHdFQUF3RTtvQkFDbEYsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzdCO3dEQUtXLEdBQUc7c0JBRGIsS0FBSztnQkFNSyxPQUFPO3NCQURqQixLQUFLOztBQXVDUCxTQUFTLGtCQUFrQixDQUFDLElBQVk7SUFDdkMsT0FBTyxJQUFJO1NBQ1QsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLEdBQUcsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkluaXQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBTHVDb3JlU2VsZWN0QXBpRGlyZWN0aXZlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUtc2VsZWN0L2FwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEx1Sm9iUXVhbGlmaWNhdGlvbkdyb3VwaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9qb2ItcXVhbGlmaWNhdGlvbi1ncm91cGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHVDb3JlU2VsZWN0Sm9iUXVhbGlmaWNhdGlvbiB9IGZyb20gJy4vbW9kZWxzJztcblxuQERpcmVjdGl2ZSh7XG5cdC8vIFRoZSBhdHRyaWJ1dGUgaXMgYWxyZWFkeSBwcmVmaXhlZCB3aXRoIFwibHUtc2ltcGxlLXNlbGVjdFwiIC8gXCJsdS1tdWx0aS1zZWxlY3RcIlxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuXHRzZWxlY3RvcjogJ2x1LXNpbXBsZS1zZWxlY3Rbam9iUXVhbGlmaWNhdGlvbnNdLGx1LW11bHRpLXNlbGVjdFtqb2JRdWFsaWZpY2F0aW9uc10nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRleHBvcnRBczogJ2pvYlF1YWxpZmljYXRpb25zJyxcbn0pXG5leHBvcnQgY2xhc3MgTHVDb3JlU2VsZWN0Sm9iUXVhbGlmaWNhdGlvbnNEaXJlY3RpdmU8VCBleHRlbmRzIEx1Q29yZVNlbGVjdEpvYlF1YWxpZmljYXRpb24gPSBMdUNvcmVTZWxlY3RKb2JRdWFsaWZpY2F0aW9uPiBleHRlbmRzIEFMdUNvcmVTZWxlY3RBcGlEaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuXHRwcm90ZWN0ZWQgaHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IHVybCh1cmw6IHN0cmluZyB8IG51bGwpIHtcblx0XHR0aGlzLl91cmwuc2V0KHVybCk7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGZpbHRlcnMoZmlsdGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4gfCBudWxsKSB7XG5cdFx0dGhpcy5fZmlsdGVycy5zZXQoZmlsdGVycyk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3VybCA9IHNpZ25hbDxzdHJpbmc+KCcvb3JnYW5pemF0aW9uL3N0cnVjdHVyZS9hcGkvam9iLXF1YWxpZmljYXRpb25zJyk7XG5cdHByb3RlY3RlZCBfZmlsdGVycyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiB8IG51bGw+KG51bGwpO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXG5cdFx0dGhpcy5zZWxlY3QuZ3JvdXBpbmcgPSB7XG5cdFx0XHRzZWxlY3RvcjogKG9wdGlvbikgPT4gb3B0aW9uLmpvYi5pZCxcblx0XHRcdGNvbnRlbnQ6IEx1Sm9iUXVhbGlmaWNhdGlvbkdyb3VwaW5nQ29tcG9uZW50LFxuXHRcdH07XG5cdH1cblxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0T3B0aW9ucyhwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+IHwgbnVsbCwgcGFnZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxUW10+IHtcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50XG5cdFx0XHQuZ2V0PFRbXSB8IHsgaXRlbXM6IFRbXSB9Pih0aGlzLl91cmwoKSwge1xuXHRcdFx0XHRwYXJhbXM6IHtcblx0XHRcdFx0XHQuLi5wYXJhbXMsXG5cdFx0XHRcdFx0cGFnZTogcGFnZSArIDEsXG5cdFx0XHRcdFx0bGltaXQ6IHRoaXMucGFnZVNpemUsXG5cdFx0XHRcdH0sXG5cdFx0XHR9KVxuXHRcdFx0LnBpcGUobWFwKChyZXMpID0+IChBcnJheS5pc0FycmF5KHJlcykgPyByZXMgOiByZXM/Lml0ZW1zKSA/PyBbXSkpO1xuXHR9XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIHBhcmFtcyQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4+ID0gY29tYmluZUxhdGVzdChbdG9PYnNlcnZhYmxlKHRoaXMuX2ZpbHRlcnMpLCB0aGlzLmNsdWUkXSkucGlwZShcblx0XHRtYXAoKFtmaWx0ZXJzLCBjbHVlXSkgPT4gKHtcblx0XHRcdC4uLmZpbHRlcnMsXG5cdFx0XHQuLi4oY2x1ZSA/IHsgc2VhcmNoOiBzYW5pdGl6ZUNsdWVGaWx0ZXIoY2x1ZSksIHNvcnQ6ICduYW1lJyB9IDogeyBzb3J0OiAnam9iLm5hbWUsbGV2ZWwucG9zaXRpb24nIH0pLFxuXHRcdH0pKSxcblx0KTtcblxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgb3B0aW9uQ29tcGFyZXIgPSAoYTogVCwgYjogVCkgPT4gYS5pZCA9PT0gYi5pZDtcbn1cblxuZnVuY3Rpb24gc2FuaXRpemVDbHVlRmlsdGVyKGNsdWU6IHN0cmluZykge1xuXHRyZXR1cm4gY2x1ZVxuXHRcdC5zcGxpdCgnICcpXG5cdFx0Lm1hcCgoYzogc3RyaW5nKSA9PiBlbmNvZGVVUklDb21wb25lbnQoYykpXG5cdFx0LmpvaW4oJywnKTtcbn1cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Generate groups with a O(n) complexity. Note that the options must be sorted by group.
5
+ */
6
+ export function generateGroups(options, selector) {
7
+ if (!options?.length) {
8
+ return [];
9
+ }
10
+ const groups = [];
11
+ let group;
12
+ for (const option of options) {
13
+ const groupKey = selector(option);
14
+ if (!group || group.key !== groupKey) {
15
+ if (group) {
16
+ groups.push(group);
17
+ }
18
+ group = { key: groupKey, options: [option] };
19
+ }
20
+ else {
21
+ group.options.push(option);
22
+ }
23
+ }
24
+ if (group) {
25
+ groups.push(group);
26
+ }
27
+ return groups;
28
+ }
29
+ export class LuOptionGroupPipe {
30
+ transform(options, selector) {
31
+ return Array.isArray(options) ? generateGroups(options, selector) : generateGroups([options], selector)[0];
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuOptionGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
34
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: LuOptionGroupPipe, isStandalone: true, name: "luOptionGroup" }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuOptionGroupPipe, decorators: [{
37
+ type: Pipe,
38
+ args: [{
39
+ name: 'luOptionGroup',
40
+ standalone: true,
41
+ }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L29wdGlvbi9ncm91cC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUdwRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQVksT0FBWSxFQUFFLFFBQStCO0lBQ3RGLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFO1FBQ3JCLE9BQU8sRUFBRSxDQUFDO0tBQ1Y7SUFFRCxNQUFNLE1BQU0sR0FBb0MsRUFBRSxDQUFDO0lBQ25ELElBQUksS0FBK0IsQ0FBQztJQUVwQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtRQUM3QixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUNyQyxJQUFJLEtBQUssRUFBRTtnQkFDVixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ25CO1lBQ0QsS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1NBQzdDO2FBQU07WUFDTixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMzQjtLQUNEO0lBRUQsSUFBSSxLQUFLLEVBQUU7UUFDVixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ25CO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDZixDQUFDO0FBTUQsTUFBTSxPQUFPLGlCQUFpQjtJQUd0QixTQUFTLENBQUMsT0FBZ0IsRUFBRSxRQUErQjtRQUNqRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7OEdBTFcsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSjdCLElBQUk7bUJBQUM7b0JBQ0wsSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEx1T3B0aW9uR3JvdXAgfSBmcm9tICcuLi9zZWxlY3QubW9kZWwnO1xuXG4vKipcbiAqIEdlbmVyYXRlIGdyb3VwcyB3aXRoIGEgTyhuKSBjb21wbGV4aXR5LiBOb3RlIHRoYXQgdGhlIG9wdGlvbnMgbXVzdCBiZSBzb3J0ZWQgYnkgZ3JvdXAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUdyb3VwczxULCBUR3JvdXA+KG9wdGlvbnM6IFRbXSwgc2VsZWN0b3I6IChvcHRpb246IFQpID0+IFRHcm91cCk6IEx1T3B0aW9uR3JvdXA8VCwgVEdyb3VwPltdIHtcblx0aWYgKCFvcHRpb25zPy5sZW5ndGgpIHtcblx0XHRyZXR1cm4gW107XG5cdH1cblxuXHRjb25zdCBncm91cHM6IEFycmF5PEx1T3B0aW9uR3JvdXA8VCwgVEdyb3VwPj4gPSBbXTtcblx0bGV0IGdyb3VwOiBMdU9wdGlvbkdyb3VwPFQsIFRHcm91cD47XG5cblx0Zm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xuXHRcdGNvbnN0IGdyb3VwS2V5ID0gc2VsZWN0b3Iob3B0aW9uKTtcblx0XHRpZiAoIWdyb3VwIHx8IGdyb3VwLmtleSAhPT0gZ3JvdXBLZXkpIHtcblx0XHRcdGlmIChncm91cCkge1xuXHRcdFx0XHRncm91cHMucHVzaChncm91cCk7XG5cdFx0XHR9XG5cdFx0XHRncm91cCA9IHsga2V5OiBncm91cEtleSwgb3B0aW9uczogW29wdGlvbl0gfTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Z3JvdXAub3B0aW9ucy5wdXNoKG9wdGlvbik7XG5cdFx0fVxuXHR9XG5cblx0aWYgKGdyb3VwKSB7XG5cdFx0Z3JvdXBzLnB1c2goZ3JvdXApO1xuXHR9XG5cblx0cmV0dXJuIGdyb3Vwcztcbn1cblxuQFBpcGUoe1xuXHRuYW1lOiAnbHVPcHRpb25Hcm91cCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEx1T3B0aW9uR3JvdXBQaXBlPFQsIFRHcm91cD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblx0cHVibGljIHRyYW5zZm9ybShvcHRpb25zOiBUW10sIHNlbGVjdG9yOiAob3B0aW9uOiBUKSA9PiBUR3JvdXApOiBMdU9wdGlvbkdyb3VwPFQsIFRHcm91cD5bXTtcblx0cHVibGljIHRyYW5zZm9ybShvcHRpb25zOiBULCBzZWxlY3RvcjogKG9wdGlvbjogVCkgPT4gVEdyb3VwKTogTHVPcHRpb25Hcm91cDxULCBUR3JvdXA+O1xuXHRwdWJsaWMgdHJhbnNmb3JtKG9wdGlvbnM6IFRbXSB8IFQsIHNlbGVjdG9yOiAob3B0aW9uOiBUKSA9PiBUR3JvdXApOiBMdU9wdGlvbkdyb3VwPFQsIFRHcm91cD5bXSB8IEx1T3B0aW9uR3JvdXA8VCwgVEdyb3VwPiB7XG5cdFx0cmV0dXJuIEFycmF5LmlzQXJyYXkob3B0aW9ucykgPyBnZW5lcmF0ZUdyb3VwcyhvcHRpb25zLCBzZWxlY3RvcikgOiBnZW5lcmF0ZUdyb3Vwcyhbb3B0aW9uc10sIHNlbGVjdG9yKVswXTtcblx0fVxufVxuIl19
@@ -1,8 +1,9 @@
1
1
  export * from './default-option.component';
2
2
  export * from './disabled.directive';
3
3
  export * from './group.directive';
4
+ export { LuOptionGroupPipe as ɵLuOptionGroupPipe, generateGroups as ɵgenerateGroups } from './group.pipe';
4
5
  export { LuOptionOutletDirective as ɵLuOptionOutletDirective } from './option-outlet.directive';
5
6
  export { LuOptionComponent as ɵLuOptionComponent } from './option.component';
6
7
  export * from './option.directive';
7
8
  export * from './option.token';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9jb3JlLXNlbGVjdC9vcHRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsT0FBTyxFQUFFLHVCQUF1QixJQUFJLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGlCQUFpQixJQUFJLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0UsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LW9wdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXNhYmxlZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9ncm91cC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgTHVPcHRpb25PdXRsZXREaXJlY3RpdmUgYXMgybVMdU9wdGlvbk91dGxldERpcmVjdGl2ZSB9IGZyb20gJy4vb3B0aW9uLW91dGxldC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgTHVPcHRpb25Db21wb25lbnQgYXMgybVMdU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL29wdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24udG9rZW4nO1xuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9jb3JlLXNlbGVjdC9vcHRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsT0FBTyxFQUFFLGlCQUFpQixJQUFJLGtCQUFrQixFQUFFLGNBQWMsSUFBSSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUcsT0FBTyxFQUFFLHVCQUF1QixJQUFJLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGlCQUFpQixJQUFJLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0UsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LW9wdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXNhYmxlZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9ncm91cC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgTHVPcHRpb25Hcm91cFBpcGUgYXMgybVMdU9wdGlvbkdyb3VwUGlwZSwgZ2VuZXJhdGVHcm91cHMgYXMgybVnZW5lcmF0ZUdyb3VwcyB9IGZyb20gJy4vZ3JvdXAucGlwZSc7XG5leHBvcnQgeyBMdU9wdGlvbk91dGxldERpcmVjdGl2ZSBhcyDJtUx1T3B0aW9uT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnLi9vcHRpb24tb3V0bGV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBMdU9wdGlvbkNvbXBvbmVudCBhcyDJtUx1T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9vcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL29wdGlvbi50b2tlbic7XG4iXX0=