@taiga-ui/kit 4.47.0-canary.152d8de → 4.47.0-canary.fb0273b
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.
- package/components/combo-box/combo-box.directive.d.ts +3 -2
- package/components/input-chip/input-chip.directive.d.ts +6 -2
- package/components/input-date/input-date.component.d.ts +2 -1
- package/components/input-date/input-date.directive.d.ts +1 -0
- package/components/input-date-multi/input-date-multi.directive.d.ts +2 -2
- package/components/input-date-time/input-date-time.component.d.ts +2 -1
- package/components/input-month/input-month.component.d.ts +2 -1
- package/components/input-number/step/input-number-step.component.d.ts +5 -2
- package/components/input-time/input-time.component.d.ts +2 -1
- package/components/range/range.component.d.ts +5 -4
- package/esm2022/components/combo-box/combo-box.directive.mjs +10 -10
- package/esm2022/components/input-chip/input-chip.directive.mjs +29 -17
- package/esm2022/components/input-date/input-date.component.mjs +5 -5
- package/esm2022/components/input-date/input-date.directive.mjs +10 -3
- package/esm2022/components/input-date-multi/input-date-multi.directive.mjs +3 -3
- package/esm2022/components/input-date-time/input-date-time.component.mjs +5 -4
- package/esm2022/components/input-month/input-month.component.mjs +5 -5
- package/esm2022/components/input-month/input-month.directive.mjs +3 -4
- package/esm2022/components/input-number/step/input-number-step.component.mjs +21 -20
- package/esm2022/components/input-time/input-time.component.mjs +6 -6
- package/esm2022/components/input-time/input-time.directive.mjs +3 -4
- package/esm2022/components/range/range-change.directive.mjs +22 -20
- package/esm2022/components/range/range.component.mjs +22 -23
- package/esm2022/directives/fluid-typography/fluid-typography.options.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-combo-box.mjs +9 -9
- package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs +28 -17
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date.mjs +11 -5
- package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-month.mjs +4 -6
- package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-number.mjs +20 -19
- package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-time.mjs +5 -6
- package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-range.mjs +42 -41
- package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +1 -1
- package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
- package/package.json +7 -7
|
@@ -9,13 +9,14 @@ export declare class TuiComboBox<T> extends TuiControl<T | string | null> implem
|
|
|
9
9
|
private readonly open;
|
|
10
10
|
private readonly dropdownEnabled;
|
|
11
11
|
private readonly dropdown;
|
|
12
|
-
private readonly
|
|
12
|
+
private readonly handlers;
|
|
13
13
|
private readonly matcher;
|
|
14
14
|
private readonly strict;
|
|
15
15
|
private readonly datalist;
|
|
16
16
|
private readonly options;
|
|
17
|
-
protected readonly
|
|
17
|
+
protected readonly nonStrictControlEffect: import("@angular/core").EffectRef;
|
|
18
18
|
protected readonly matchingEffect: import("@angular/core").EffectRef;
|
|
19
|
+
protected readonly newValueEffect: import("@angular/core").EffectRef;
|
|
19
20
|
protected readonly blurEffect: import("@angular/core").EffectRef;
|
|
20
21
|
set strictSetter(x: boolean);
|
|
21
22
|
set matcherSetter(x: TuiStringMatcher<T> | null);
|
|
@@ -5,7 +5,7 @@ import type { TuiItemsHandlers } from '@taiga-ui/core/directives/items-handlers'
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@taiga-ui/cdk/directives/native-validator";
|
|
7
7
|
import * as i2 from "@taiga-ui/core/components/textfield";
|
|
8
|
-
export declare class
|
|
8
|
+
export declare class TuiInputChipBaseDirective<T> extends TuiControl<T[]> implements TuiTextfieldAccessor<T[]> {
|
|
9
9
|
private readonly options;
|
|
10
10
|
private readonly mobile;
|
|
11
11
|
private readonly dropdown;
|
|
@@ -23,6 +23,10 @@ export declare class TuiInputChipDirective<T> extends TuiControl<T[]> implements
|
|
|
23
23
|
protected onPaste(event: ClipboardEvent | DragEvent): void;
|
|
24
24
|
protected onBackspace(key: string): void;
|
|
25
25
|
protected scrollTo(): void;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputChipBaseDirective<any>, never>;
|
|
27
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputChipBaseDirective<any>, never, never, { "separator": { "alias": "separator"; "required": false; }; "unique": { "alias": "unique"; "required": false; }; }, {}, never, never, true, never>;
|
|
28
|
+
}
|
|
29
|
+
export declare class TuiInputChipDirective<T> extends TuiInputChipBaseDirective<T> {
|
|
26
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputChipDirective<any>, never>;
|
|
27
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputChipDirective<any>, "input[tuiInputChip]", never, {
|
|
31
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputChipDirective<any>, "input[tuiInputChip]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiNativeValidator; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiTextfieldBase; inputs: { "invalid": "invalid"; "focused": "focused"; "readOnly": "readOnly"; "state": "state"; }; outputs: {}; }]>;
|
|
28
32
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { TuiInputDateDirective } from './input-date.directive';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@taiga-ui/core/components/textfield";
|
|
3
4
|
export declare class TuiInputDateComponent {
|
|
4
5
|
protected readonly host: TuiInputDateDirective;
|
|
5
6
|
list: string | null;
|
|
6
7
|
protected onInput(value: string): void;
|
|
7
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputDateComponent, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputDateComponent, "input[tuiInputDate][type=\"date\"]", never, { "list": { "alias": "list"; "required": false; }; }, {}, never, never, true,
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputDateComponent, "input[tuiInputDate][type=\"date\"]", never, { "list": { "alias": "list"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithNativePicker; inputs: {}; outputs: {}; }]>;
|
|
9
10
|
}
|
|
@@ -34,6 +34,7 @@ export declare abstract class TuiInputDateBase<T extends TuiDay | TuiDayRange |
|
|
|
34
34
|
protected abstract onValueChange(value: string): void;
|
|
35
35
|
set minSetter(min: Exclude<T, TuiDayRange> | TuiDay | null);
|
|
36
36
|
set maxSetter(max: Exclude<T, TuiDayRange> | TuiDay | null);
|
|
37
|
+
writeValue(value: T | null): void;
|
|
37
38
|
setDate(value: TuiDay | TuiDayRange): void;
|
|
38
39
|
protected processCalendar(calendar: TuiCalendar | TuiCalendarRange): void;
|
|
39
40
|
protected onClick(): void;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { TuiDay } from '@taiga-ui/cdk/date-time';
|
|
2
2
|
import { TuiCalendar } from '@taiga-ui/core/components/calendar';
|
|
3
|
-
import {
|
|
3
|
+
import { TuiInputChipBaseDirective } from '@taiga-ui/kit/components/input-chip';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@taiga-ui/cdk/directives/native-validator";
|
|
6
6
|
import * as i2 from "@taiga-ui/core/directives/dropdown";
|
|
7
7
|
import * as i3 from "@maskito/angular";
|
|
8
8
|
import * as i4 from "@taiga-ui/core/components/textfield";
|
|
9
|
-
export declare class TuiInputDateMultiDirective extends
|
|
9
|
+
export declare class TuiInputDateMultiDirective extends TuiInputChipBaseDirective<TuiDay> {
|
|
10
10
|
private readonly dateOptions;
|
|
11
11
|
protected readonly icon: import("@angular/core").Signal<string>;
|
|
12
12
|
protected readonly stringify: void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TuiNativeTimePicker } from '@taiga-ui/kit/components/input-time';
|
|
2
2
|
import { TuiInputDateTimeDirective } from './input-date-time.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@taiga-ui/core/components/textfield";
|
|
4
5
|
export declare class TuiInputDateTimeComponent extends TuiNativeTimePicker {
|
|
5
6
|
protected readonly host: TuiInputDateTimeDirective;
|
|
6
7
|
protected readonly step: import("@angular/core").Signal<number>;
|
|
@@ -9,5 +10,5 @@ export declare class TuiInputDateTimeComponent extends TuiNativeTimePicker {
|
|
|
9
10
|
protected max: import("@angular/core").Signal<string>;
|
|
10
11
|
protected onInput(value: string): void;
|
|
11
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputDateTimeComponent, never>;
|
|
12
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputDateTimeComponent, "input[tuiInputDateTime][type=\"datetime-local\"]", never, {}, {}, never, never, true,
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputDateTimeComponent, "input[tuiInputDateTime][type=\"datetime-local\"]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiWithNativePicker; inputs: {}; outputs: {}; }]>;
|
|
13
14
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TuiMonth } from '@taiga-ui/cdk/date-time';
|
|
2
2
|
import { TuiInputMonthDirective } from './input-month.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@taiga-ui/core/components/textfield";
|
|
4
5
|
export declare class TuiInputMonthComponent {
|
|
5
6
|
protected readonly host: TuiInputMonthDirective;
|
|
6
7
|
protected readonly min: import("@angular/core").WritableSignal<TuiMonth | null>;
|
|
@@ -10,5 +11,5 @@ export declare class TuiInputMonthComponent {
|
|
|
10
11
|
set maxSetter(x: TuiMonth | null);
|
|
11
12
|
protected onInput(value: string): void;
|
|
12
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputMonthComponent, never>;
|
|
13
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputMonthComponent, "input[tuiInputMonth][type=\"month\"]", never, { "minSetter": { "alias": "min"; "required": false; }; "maxSetter": { "alias": "max"; "required": false; }; }, {}, never, never, true,
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputMonthComponent, "input[tuiInputMonth][type=\"month\"]", never, { "minSetter": { "alias": "min"; "required": false; }; "maxSetter": { "alias": "max"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithNativePicker; inputs: {}; outputs: {}; }]>;
|
|
14
15
|
}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
1
2
|
import { TuiInputNumberDirective } from '../input-number.directive';
|
|
2
3
|
import type { TuiInputNumberOptions } from '../input-number.options';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class TuiInputNumberStep {
|
|
5
|
-
private readonly destroyRef;
|
|
6
|
-
private readonly zone;
|
|
7
6
|
protected readonly el: HTMLInputElement;
|
|
8
7
|
protected readonly appearance: import("@angular/core").WritableSignal<string>;
|
|
9
8
|
protected readonly options: TuiInputNumberOptions;
|
|
10
9
|
protected readonly input: TuiInputNumberDirective;
|
|
11
10
|
protected readonly step: import("@angular/core").WritableSignal<number>;
|
|
12
11
|
protected readonly value: import("@angular/core").Signal<number>;
|
|
12
|
+
protected readonly step$: Subject<number>;
|
|
13
|
+
protected readonly doc: Document;
|
|
14
|
+
protected readonly stop$: import("rxjs").Observable<Event>;
|
|
15
|
+
protected readonly stepping: import("rxjs").Subscription;
|
|
13
16
|
set stepSetter(x: number);
|
|
14
17
|
protected onStep(step: number): void;
|
|
15
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputNumberStep, never>;
|
|
@@ -4,6 +4,7 @@ import { TuiTime } from '@taiga-ui/cdk/date-time';
|
|
|
4
4
|
import { TuiTextfieldDirective } from '@taiga-ui/core/components/textfield';
|
|
5
5
|
import { TuiInputTimeDirective } from './input-time.directive';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@taiga-ui/core/components/textfield";
|
|
7
8
|
export declare abstract class TuiNativeTimePicker {
|
|
8
9
|
protected readonly list: string | null;
|
|
9
10
|
protected getStep(timeMode: MaskitoTimeMode): number;
|
|
@@ -19,5 +20,5 @@ export declare class TuiInputTimeComponent extends TuiNativeTimePicker {
|
|
|
19
20
|
protected readonly step: import("@angular/core").Signal<number>;
|
|
20
21
|
protected setValue(value: string): void;
|
|
21
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputTimeComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputTimeComponent, "input[tuiInputTime][type=\"time\"]", never, {}, {}, never, never, true,
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputTimeComponent, "input[tuiInputTime][type=\"time\"]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiWithNativePicker; inputs: {}; outputs: {}; }]>;
|
|
23
24
|
}
|
|
@@ -9,7 +9,7 @@ export declare class TuiRange extends TuiControl<[number, number]> implements On
|
|
|
9
9
|
private readonly changes;
|
|
10
10
|
private readonly el;
|
|
11
11
|
protected readonly options: import("@taiga-ui/kit/components/slider").TuiSliderOptions;
|
|
12
|
-
protected lastActiveThumb: '
|
|
12
|
+
protected lastActiveThumb: 'end' | 'start';
|
|
13
13
|
min: number;
|
|
14
14
|
max: number;
|
|
15
15
|
step: number;
|
|
@@ -20,14 +20,15 @@ export declare class TuiRange extends TuiControl<[number, number]> implements On
|
|
|
20
20
|
margin: number;
|
|
21
21
|
limit: number;
|
|
22
22
|
readonly slidersRefs: QueryList<ElementRef<HTMLInputElement>>;
|
|
23
|
-
readonly
|
|
24
|
-
readonly
|
|
23
|
+
readonly start: import("@angular/core").Signal<number>;
|
|
24
|
+
readonly end: import("@angular/core").Signal<number>;
|
|
25
25
|
ngOnChanges(): void;
|
|
26
|
-
processValue(value: number,
|
|
26
|
+
processValue(value: number, end: boolean): void;
|
|
27
27
|
toValue(fraction: number): number;
|
|
28
28
|
protected get fractionStep(): number;
|
|
29
29
|
protected get computedKeySteps(): TuiKeySteps;
|
|
30
30
|
protected get segmentWidthRatio(): number;
|
|
31
|
+
protected get rtl(): boolean;
|
|
31
32
|
protected changeByStep(coefficient: number, target: HTMLElement): void;
|
|
32
33
|
protected toPercent(value: number): number;
|
|
33
34
|
private computePureKeySteps;
|
|
@@ -16,14 +16,14 @@ class TuiComboBox extends TuiControl {
|
|
|
16
16
|
this.open = tuiDropdownOpen();
|
|
17
17
|
this.dropdownEnabled = tuiDropdownEnabled(this.interactive);
|
|
18
18
|
this.dropdown = inject(TuiDropdownDirective);
|
|
19
|
-
this.
|
|
19
|
+
this.handlers = inject(TUI_ITEMS_HANDLERS);
|
|
20
20
|
this.matcher = signal(TUI_STRICT_MATCHER);
|
|
21
21
|
this.strict = signal(true);
|
|
22
22
|
this.datalist = tuiInjectAuxiliary((x) => x !== this && 'options' in x && isSignal(x.options));
|
|
23
23
|
this.options = computed(() => this.datalist()
|
|
24
24
|
?.options?.() // TODO(v5): remove optional call `?.()`
|
|
25
|
-
.filter((x) => !this.
|
|
26
|
-
this.
|
|
25
|
+
.filter((x) => !this.handlers.disabledItemHandler()(x)) ?? []);
|
|
26
|
+
this.nonStrictControlEffect = effect(() => {
|
|
27
27
|
if (!this.options().length &&
|
|
28
28
|
!this.strict() &&
|
|
29
29
|
this.stringify(this.value()) !== this.textfield.value()) {
|
|
@@ -37,10 +37,9 @@ class TuiComboBox extends TuiControl {
|
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
39
|
const textfieldValue = this.textfield.value();
|
|
40
|
-
const selectedOption = options.find((x) => matcher(x, textfieldValue, this.
|
|
40
|
+
const selectedOption = options.find((x) => matcher(x, textfieldValue, this.handlers.stringify()));
|
|
41
41
|
const value = untracked(() => this.value());
|
|
42
42
|
const unchanged = this.stringify(value) === textfieldValue;
|
|
43
|
-
const stringified = this.stringify(selectedOption);
|
|
44
43
|
const fallback = this.strict() || !textfieldValue ? null : textfieldValue;
|
|
45
44
|
this.onChange(selectedOption ??
|
|
46
45
|
/**
|
|
@@ -50,9 +49,10 @@ class TuiComboBox extends TuiControl {
|
|
|
50
49
|
* Users can still able to patch form value with `null` on new items if they wish the such behavior.
|
|
51
50
|
*/
|
|
52
51
|
(unchanged ? value : fallback));
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
}, TUI_ALLOW_SIGNAL_WRITES);
|
|
53
|
+
this.newValueEffect = effect(() => {
|
|
54
|
+
const stringified = this.stringify(this.value());
|
|
55
|
+
this.textfield.value.update((x) => stringified || x);
|
|
56
56
|
}, TUI_ALLOW_SIGNAL_WRITES);
|
|
57
57
|
this.blurEffect = effect(() => {
|
|
58
58
|
const incomplete = untracked(() => this.strict() && this.value() === null);
|
|
@@ -97,7 +97,7 @@ class TuiComboBox extends TuiControl {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
stringify(value) {
|
|
100
|
-
return value != null ? this.
|
|
100
|
+
return value != null ? this.handlers.stringify()(value) : '';
|
|
101
101
|
}
|
|
102
102
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiComboBox, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
103
103
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiComboBox, isStandalone: true, selector: "input[tuiComboBox]", inputs: { strictSetter: ["strict", "strictSetter"], matcherSetter: ["matcher", "matcherSetter"] }, host: { listeners: { "click": "toggleDropdown()", "input": "toggleDropdown(true)", "keydown.enter": "keydownEnter($event)" }, properties: { "disabled": "disabled()" } }, providers: [
|
|
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
132
132
|
type: Input,
|
|
133
133
|
args: ['matcher']
|
|
134
134
|
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8tYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2NvbWJvLWJveC9jb21iby1ib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFHcEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxFQUNILHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixnQkFBZ0IsR0FDbkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixlQUFlLEdBQ2xCLE1BQU0sb0NBQW9DLENBQUM7QUFFNUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFaEUsTUFnQmEsV0FDVCxTQUFRLFVBQTZCO0lBakJ6Qzs7UUFvQnFCLFNBQUksR0FBNkIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDL0QsY0FBUyxHQUE2QixNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwRSxTQUFJLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENB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QUNuQyxZQUFZLGFBQWE7cUJBQzVCO29CQUNELGNBQWMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0YsWUFBWSxFQUFFLFlBQVk7d0JBQzFCLFNBQVMsRUFBRSxrQkFBa0I7d0JBQzdCLFNBQVMsRUFBRSxzQkFBc0I7d0JBQ2pDLGlCQUFpQixFQUFFLHNCQUFzQjtxQkFDNUM7aUJBQ0o7OEJBK0VjLFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsUUFBUTtnQkFPSixhQUFhO3NCQUR2QixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGNvbXB1dGVkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIGlzU2lnbmFsLFxuICAgIHNpZ25hbCxcbiAgICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9BTExPV19TSUdOQUxfV1JJVEVTLCBUVUlfU1RSSUNUX01BVENIRVJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtUdWlTdHJpbmdNYXRjaGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB0eXBlIHtUdWlEYXRhTGlzdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge3R1aUFzT3B0aW9uQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHR5cGUge1R1aVRleHRmaWVsZEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IsXG4gICAgdHVpSW5qZWN0QXV4aWxpYXJ5LFxuICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGREaXJlY3RpdmUsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICB0dWlEcm9wZG93bkVuYWJsZWQsXG4gICAgdHVpRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB0eXBlIHtUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VHVpU2VsZWN0T3B0aW9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUNvbWJvQm94XScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzT3B0aW9uQ29udGVudChUdWlTZWxlY3RPcHRpb24pLFxuICAgICAgICB0dWlBc1RleHRmaWVsZEFjY2Vzc29yKFR1aUNvbWJvQm94KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUNvbWJvQm94KSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aFRleHRmaWVsZF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhjbGljayknOiAndG9nZ2xlRHJvcGRvd24oKScsXG4gICAgICAgICcoaW5wdXQpJzogJ3RvZ2dsZURyb3Bkb3duKHRydWUpJyxcbiAgICAgICAgJyhrZXlkb3duLmVudGVyKSc6ICdrZXlkb3duRW50ZXIoJGV2ZW50KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ29tYm9Cb3g8VD5cbiAgICBleHRlbmRzIFR1aUNvbnRyb2w8VCB8IHN0cmluZyB8IG51bGw+XG4gICAgaW1wbGVtZW50cyBUdWlUZXh0ZmllbGRBY2Nlc3NvcjxUPlxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogVHVpVGV4dGZpZWxkQ29tcG9uZW50PFQ+ID0gaW5qZWN0KFR1aVRleHRmaWVsZENvbXBvbmVudCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ6IFR1aVRleHRmaWVsZERpcmVjdGl2ZTxUPiA9IGluamVjdChUdWlUZXh0ZmllbGREaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbiA9IHR1aURyb3Bkb3duT3BlbigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25FbmFibGVkID0gdHVpRHJvcGRvd25FbmFibGVkKHRoaXMuaW50ZXJhY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd24gPSBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXRlbXNIYW5kbGVyczogVHVpSXRlbXNIYW5kbGVyczxUIHwgc3RyaW5nPiA9XG4gICAgICAgIGluamVjdChUVUlfSVRFTVNfSEFORExFUlMpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXRjaGVyID0gc2lnbmFsPFR1aVN0cmluZ01hdGNoZXI8VD4gfCBudWxsPihUVUlfU1RSSUNUX01BVENIRVIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RyaWN0ID0gc2lnbmFsKHRydWUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YWxpc3QgPSB0dWlJbmplY3RBdXhpbGlhcnk8VHVpRGF0YUxpc3RBY2Nlc3NvcjxUPj4oXG4gICAgICAgICh4KSA9PiB4ICE9PSB0aGlzICYmICdvcHRpb25zJyBpbiB4ICYmIGlzU2lnbmFsKHgub3B0aW9ucyksXG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICAgdGhpcy5kYXRhbGlzdCgpXG4gICAgICAgICAgICAgICAgPy5vcHRpb25zPy4oKSAvLyBUT0RPKHY1KTogcmVtb3ZlIG9wdGlvbmFsIGNhbGwgYD8uKClgXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoeCkgPT4gIXRoaXMuaXRlbXNIYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkoeCkpID8/IFtdLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm9uU3RyaWN0VmFsdWVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5vcHRpb25zKCkubGVuZ3RoICYmXG4gICAgICAgICAgICAhdGhpcy5zdHJpY3QoKSAmJlxuICAgICAgICAgICAgdGhpcy5zdHJpbmdpZnkodGhpcy52YWx1ZSgpKSAhPT0gdGhpcy50ZXh0ZmllbGQudmFsdWUoKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy50ZXh0ZmllbGQudmFsdWUoKSB8fCBudWxsKTtcbiAgICAgICAgfVxuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBtYXRjaGluZ0VmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgbWF0Y2hlciA9IHRoaXMubWF0Y2hlcigpO1xuXG4gICAgICAgIGlmICghb3B0aW9ucy5sZW5ndGggfHwgIW1hdGNoZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRleHRmaWVsZFZhbHVlID0gdGhpcy50ZXh0ZmllbGQudmFsdWUoKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSBvcHRpb25zLmZpbmQoKHgpID0+XG4gICAgICAgICAgICBtYXRjaGVyKHgsIHRleHRmaWVsZFZhbHVlLCB0aGlzLml0ZW1zSGFuZGxlcnMuc3RyaW5naWZ5KCkpLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLnZhbHVlKCkpO1xuICAgICAgICBjb25zdCB1bmNoYW5nZWQgPSB0aGlzLnN0cmluZ2lmeSh2YWx1ZSkgPT09IHRleHRmaWVsZFZhbHVlO1xuICAgICAgICBjb25zdCBzdHJpbmdpZmllZCA9IHRoaXMuc3RyaW5naWZ5KHNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgY29uc3QgZmFsbGJhY2sgPSB0aGlzLnN0cmljdCgpIHx8ICF0ZXh0ZmllbGRWYWx1ZSA/IG51bGwgOiB0ZXh0ZmllbGRWYWx1ZTtcblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb24gPz9cbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBEb24ndCBjbGVhciBhbHJlYWR5IG5vdC1udWxsIGZvcm0gY29udHJvbCB2YWx1ZSBvbiBuZXcgYHRoaXMub3B0aW9ucygpYCBhcnJheS5cbiAgICAgICAgICAgICAgICAgKiBPdGhlcndpc2UsIGBDb21ib0JveGAgYmVjb21lcyBpbmNvbXBhdGlibGUgd2l0aCB2aXJ0dWFsIHNjcm9sbFxuICAgICAgICAgICAgICAgICAqICh3aGljaCBkaXNwbGF5cyBsYXJnZSBsaXN0cyBvZiBlbGVtZW50cyBieSBvbmx5IHJlbmRlcmluZyB0aGUgaXRlbXMgdGhhdCBmaXQgb24tc2NyZWVuKS5cbiAgICAgICAgICAgICAgICAgKiBVc2VycyBjYW4gc3RpbGwgYWJsZSB0byBwYXRjaCBmb3JtIHZhbHVlIHdpdGggYG51bGxgIG9uIG5ldyBpdGVtcyBpZiB0aGV5IHdpc2ggdGhlIHN1Y2ggYmVoYXZpb3IuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgKHVuY2hhbmdlZCA/IHZhbHVlIDogZmFsbGJhY2spLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChzdHJpbmdpZmllZCAmJiBzdHJpbmdpZmllZCAhPT0gdGV4dGZpZWxkVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldChzdHJpbmdpZmllZCk7XG4gICAgICAgIH1cbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYmx1ckVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGluY29tcGxldGUgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5zdHJpY3QoKSAmJiB0aGlzLnZhbHVlKCkgPT09IG51bGwpO1xuXG4gICAgICAgIGlmICghdGhpcy5ob3N0LmZvY3VzZWQoKSAmJiBpbmNvbXBsZXRlKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoJycpO1xuICAgICAgICB9XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ3N0cmljdCcpXG4gICAgcHVibGljIHNldCBzdHJpY3RTZXR0ZXIoeDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnN0cmljdC5zZXQoeCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ21hdGNoZXInKVxuICAgIHB1YmxpYyBzZXQgbWF0Y2hlclNldHRlcih4OiBUdWlTdHJpbmdNYXRjaGVyPFQ+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1hdGNoZXIuc2V0KHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0ZmllbGQuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcblxuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFQgfCBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlRHJvcGRvd24ob3BlbiA9ICF0aGlzLm9wZW4oKSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kcm9wZG93bkVuYWJsZWQoKSAmJiB0aGlzLmRyb3Bkb3duLl9jb250ZW50KCkpIHtcbiAgICAgICAgICAgIHRoaXMub3Blbi5zZXQob3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQga2V5ZG93bkVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5vcGVuKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMSAmJiBvcHRpb25zWzBdKSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlKG9wdGlvbnNbMF0pO1xuICAgICAgICAgICAgdGhpcy50b2dnbGVEcm9wZG93bihmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0cmluZ2lmeSh2YWx1ZT86IFQgfCBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgPyB0aGlzLml0ZW1zSGFuZGxlcnMuc3RyaW5naWZ5KCkodmFsdWUpIDogJyc7XG4gICAgfVxufVxuIl19
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8tYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2NvbWJvLWJveC9jb21iby1ib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFHcEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxFQUNILHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixnQkFBZ0IsR0FDbkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixlQUFlLEdBQ2xCLE1BQU0sb0NBQW9DLENBQUM7QUFFNUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFaEUsTUFnQmEsV0FDVCxTQUFRLFVBQTZCO0lBakJ6Qzs7UUFvQnFCLFNBQUksR0FBNkIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDL0QsY0FBUyxHQUE2QixNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwRSxTQUFJLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENB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QkFBb0I7b0JBQzlCLFNBQVMsRUFBRTt3QkFDUCxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7d0JBQ25DLHNCQUFzQixhQUFhO3dCQUNuQyxZQUFZLGFBQWE7cUJBQzVCO29CQUNELGNBQWMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0YsWUFBWSxFQUFFLFlBQVk7d0JBQzFCLFNBQVMsRUFBRSxrQkFBa0I7d0JBQzdCLFNBQVMsRUFBRSxzQkFBc0I7d0JBQ2pDLGlCQUFpQixFQUFFLHNCQUFzQjtxQkFDNUM7aUJBQ0o7OEJBK0VjLFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsUUFBUTtnQkFPSixhQUFhO3NCQUR2QixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGNvbXB1dGVkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIGlzU2lnbmFsLFxuICAgIHNpZ25hbCxcbiAgICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9BTExPV19TSUdOQUxfV1JJVEVTLCBUVUlfU1RSSUNUX01BVENIRVJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtUdWlTdHJpbmdNYXRjaGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB0eXBlIHtUdWlEYXRhTGlzdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge3R1aUFzT3B0aW9uQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHR5cGUge1R1aVRleHRmaWVsZEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IsXG4gICAgdHVpSW5qZWN0QXV4aWxpYXJ5LFxuICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGREaXJlY3RpdmUsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICB0dWlEcm9wZG93bkVuYWJsZWQsXG4gICAgdHVpRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB0eXBlIHtUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VHVpU2VsZWN0T3B0aW9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUNvbWJvQm94XScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzT3B0aW9uQ29udGVudChUdWlTZWxlY3RPcHRpb24pLFxuICAgICAgICB0dWlBc1RleHRmaWVsZEFjY2Vzc29yKFR1aUNvbWJvQm94KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUNvbWJvQm94KSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aFRleHRmaWVsZF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhjbGljayknOiAndG9nZ2xlRHJvcGRvd24oKScsXG4gICAgICAgICcoaW5wdXQpJzogJ3RvZ2dsZURyb3Bkb3duKHRydWUpJyxcbiAgICAgICAgJyhrZXlkb3duLmVudGVyKSc6ICdrZXlkb3duRW50ZXIoJGV2ZW50KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ29tYm9Cb3g8VD5cbiAgICBleHRlbmRzIFR1aUNvbnRyb2w8VCB8IHN0cmluZyB8IG51bGw+XG4gICAgaW1wbGVtZW50cyBUdWlUZXh0ZmllbGRBY2Nlc3NvcjxUPlxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogVHVpVGV4dGZpZWxkQ29tcG9uZW50PFQ+ID0gaW5qZWN0KFR1aVRleHRmaWVsZENvbXBvbmVudCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ6IFR1aVRleHRmaWVsZERpcmVjdGl2ZTxUPiA9IGluamVjdChUdWlUZXh0ZmllbGREaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbiA9IHR1aURyb3Bkb3duT3BlbigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25FbmFibGVkID0gdHVpRHJvcGRvd25FbmFibGVkKHRoaXMuaW50ZXJhY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd24gPSBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlcnM6IFR1aUl0ZW1zSGFuZGxlcnM8VCB8IHN0cmluZz4gPSBpbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0Y2hlciA9IHNpZ25hbDxUdWlTdHJpbmdNYXRjaGVyPFQ+IHwgbnVsbD4oVFVJX1NUUklDVF9NQVRDSEVSKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmljdCA9IHNpZ25hbCh0cnVlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGFsaXN0ID0gdHVpSW5qZWN0QXV4aWxpYXJ5PFR1aURhdGFMaXN0QWNjZXNzb3I8VD4+KFxuICAgICAgICAoeCkgPT4geCAhPT0gdGhpcyAmJiAnb3B0aW9ucycgaW4geCAmJiBpc1NpZ25hbCh4Lm9wdGlvbnMpLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBjb21wdXRlZChcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICAgIHRoaXMuZGF0YWxpc3QoKVxuICAgICAgICAgICAgICAgID8ub3B0aW9ucz8uKCkgLy8gVE9ETyh2NSk6IHJlbW92ZSBvcHRpb25hbCBjYWxsIGA/LigpYFxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHgpID0+ICF0aGlzLmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKSh4KSkgPz8gW10sXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBub25TdHJpY3RDb250cm9sRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMub3B0aW9ucygpLmxlbmd0aCAmJlxuICAgICAgICAgICAgIXRoaXMuc3RyaWN0KCkgJiZcbiAgICAgICAgICAgIHRoaXMuc3RyaW5naWZ5KHRoaXMudmFsdWUoKSkgIT09IHRoaXMudGV4dGZpZWxkLnZhbHVlKClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudGV4dGZpZWxkLnZhbHVlKCkgfHwgbnVsbCk7XG4gICAgICAgIH1cbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWF0Y2hpbmdFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zKCk7XG4gICAgICAgIGNvbnN0IG1hdGNoZXIgPSB0aGlzLm1hdGNoZXIoKTtcblxuICAgICAgICBpZiAoIW9wdGlvbnMubGVuZ3RoIHx8ICFtYXRjaGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0ZXh0ZmllbGRWYWx1ZSA9IHRoaXMudGV4dGZpZWxkLnZhbHVlKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gb3B0aW9ucy5maW5kKCh4KSA9PlxuICAgICAgICAgICAgbWF0Y2hlcih4LCB0ZXh0ZmllbGRWYWx1ZSwgdGhpcy5oYW5kbGVycy5zdHJpbmdpZnkoKSksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdW50cmFja2VkKCgpID0+IHRoaXMudmFsdWUoKSk7XG4gICAgICAgIGNvbnN0IHVuY2hhbmdlZCA9IHRoaXMuc3RyaW5naWZ5KHZhbHVlKSA9PT0gdGV4dGZpZWxkVmFsdWU7XG4gICAgICAgIGNvbnN0IGZhbGxiYWNrID0gdGhpcy5zdHJpY3QoKSB8fCAhdGV4dGZpZWxkVmFsdWUgPyBudWxsIDogdGV4dGZpZWxkVmFsdWU7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZShcbiAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uID8/XG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogRG9uJ3QgY2xlYXIgYWxyZWFkeSBub3QtbnVsbCBmb3JtIGNvbnRyb2wgdmFsdWUgb24gbmV3IGB0aGlzLm9wdGlvbnMoKWAgYXJyYXkuXG4gICAgICAgICAgICAgICAgICogT3RoZXJ3aXNlLCBgQ29tYm9Cb3hgIGJlY29tZXMgaW5jb21wYXRpYmxlIHdpdGggdmlydHVhbCBzY3JvbGxcbiAgICAgICAgICAgICAgICAgKiAod2hpY2ggZGlzcGxheXMgbGFyZ2UgbGlzdHMgb2YgZWxlbWVudHMgYnkgb25seSByZW5kZXJpbmcgdGhlIGl0ZW1zIHRoYXQgZml0IG9uLXNjcmVlbikuXG4gICAgICAgICAgICAgICAgICogVXNlcnMgY2FuIHN0aWxsIGFibGUgdG8gcGF0Y2ggZm9ybSB2YWx1ZSB3aXRoIGBudWxsYCBvbiBuZXcgaXRlbXMgaWYgdGhleSB3aXNoIHRoZSBzdWNoIGJlaGF2aW9yLlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICh1bmNoYW5nZWQgPyB2YWx1ZSA6IGZhbGxiYWNrKSxcbiAgICAgICAgKTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV3VmFsdWVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBzdHJpbmdpZmllZCA9IHRoaXMuc3RyaW5naWZ5KHRoaXMudmFsdWUoKSk7XG5cbiAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUudXBkYXRlKCh4KSA9PiBzdHJpbmdpZmllZCB8fCB4KTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYmx1ckVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGluY29tcGxldGUgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5zdHJpY3QoKSAmJiB0aGlzLnZhbHVlKCkgPT09IG51bGwpO1xuXG4gICAgICAgIGlmICghdGhpcy5ob3N0LmZvY3VzZWQoKSAmJiBpbmNvbXBsZXRlKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoJycpO1xuICAgICAgICB9XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ3N0cmljdCcpXG4gICAgcHVibGljIHNldCBzdHJpY3RTZXR0ZXIoeDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnN0cmljdC5zZXQoeCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ21hdGNoZXInKVxuICAgIHB1YmxpYyBzZXQgbWF0Y2hlclNldHRlcih4OiBUdWlTdHJpbmdNYXRjaGVyPFQ+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1hdGNoZXIuc2V0KHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0ZmllbGQuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcblxuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFQgfCBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlRHJvcGRvd24ob3BlbiA9ICF0aGlzLm9wZW4oKSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kcm9wZG93bkVuYWJsZWQoKSAmJiB0aGlzLmRyb3Bkb3duLl9jb250ZW50KCkpIHtcbiAgICAgICAgICAgIHRoaXMub3Blbi5zZXQob3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQga2V5ZG93bkVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5vcGVuKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMSAmJiBvcHRpb25zWzBdKSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlKG9wdGlvbnNbMF0pO1xuICAgICAgICAgICAgdGhpcy50b2dnbGVEcm9wZG93bihmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0cmluZ2lmeSh2YWx1ZT86IFQgfCBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgPyB0aGlzLmhhbmRsZXJzLnN0cmluZ2lmeSgpKHZhbHVlKSA6ICcnO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -14,7 +14,8 @@ import { TUI_INPUT_CHIP_OPTIONS } from './input-chip.options';
|
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
import * as i1 from "@taiga-ui/cdk/directives/native-validator";
|
|
16
16
|
import * as i2 from "@taiga-ui/core/components/textfield";
|
|
17
|
-
|
|
17
|
+
// TODO(v5): remove base component after angular update
|
|
18
|
+
class TuiInputChipBaseDirective extends TuiControl {
|
|
18
19
|
constructor() {
|
|
19
20
|
super(...arguments);
|
|
20
21
|
this.options = inject(TUI_INPUT_CHIP_OPTIONS);
|
|
@@ -83,8 +84,32 @@ class TuiInputChipDirective extends TuiControl {
|
|
|
83
84
|
});
|
|
84
85
|
});
|
|
85
86
|
}
|
|
87
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputChipBaseDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
88
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputChipBaseDirective, isStandalone: true, inputs: { separator: "separator", unique: "unique" }, host: { attributes: { "enterkeyhint": "enter" }, listeners: { "keydown.enter.prevent": "onEnter()", "keydown.zoneless": "onBackspace($event.key)", "input": "onInput()", "paste.prevent": "onPaste($event)", "drop.prevent": "onPaste($event)" }, properties: { "disabled": "disabled()" } }, usesInheritance: true, ngImport: i0 }); }
|
|
89
|
+
}
|
|
90
|
+
export { TuiInputChipBaseDirective };
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputChipBaseDirective, decorators: [{
|
|
92
|
+
type: Directive,
|
|
93
|
+
args: [{
|
|
94
|
+
standalone: true,
|
|
95
|
+
host: {
|
|
96
|
+
enterkeyhint: 'enter',
|
|
97
|
+
'[disabled]': 'disabled()',
|
|
98
|
+
'(keydown.enter.prevent)': 'onEnter()',
|
|
99
|
+
'(keydown.zoneless)': 'onBackspace($event.key)',
|
|
100
|
+
'(input)': 'onInput()',
|
|
101
|
+
'(paste.prevent)': 'onPaste($event)',
|
|
102
|
+
'(drop.prevent)': 'onPaste($event)',
|
|
103
|
+
},
|
|
104
|
+
}]
|
|
105
|
+
}], propDecorators: { separator: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], unique: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}] } });
|
|
110
|
+
class TuiInputChipDirective extends TuiInputChipBaseDirective {
|
|
86
111
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputChipDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
87
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputChipDirective, isStandalone: true, selector: "input[tuiInputChip]",
|
|
112
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputChipDirective, isStandalone: true, selector: "input[tuiInputChip]", providers: [
|
|
88
113
|
tuiAsControl(TuiInputChipDirective),
|
|
89
114
|
tuiFallbackValueProvider([]),
|
|
90
115
|
tuiAsTextfieldAccessor(TuiInputChipDirective),
|
|
@@ -108,19 +133,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
108
133
|
inputs: ['invalid', 'focused', 'readOnly', 'state'],
|
|
109
134
|
},
|
|
110
135
|
],
|
|
111
|
-
host: {
|
|
112
|
-
enterkeyhint: 'enter',
|
|
113
|
-
'[disabled]': 'disabled()',
|
|
114
|
-
'(keydown.enter.prevent)': 'onEnter()',
|
|
115
|
-
'(keydown.zoneless)': 'onBackspace($event.key)',
|
|
116
|
-
'(input)': 'onInput()',
|
|
117
|
-
'(paste.prevent)': 'onPaste($event)',
|
|
118
|
-
'(drop.prevent)': 'onPaste($event)',
|
|
119
|
-
},
|
|
120
136
|
}]
|
|
121
|
-
}]
|
|
122
|
-
type: Input
|
|
123
|
-
}], unique: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}] } });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsYUFBYSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFdEUsT0FBTyxFQUNILHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsMEJBQTBCLEdBQzdCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNILG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsZUFBZSxHQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFNUIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFFNUQsTUF5QmEscUJBQ1QsU0FBUSxVQUFlO0lBMUIzQjs7UUE2QnFCLFlBQU8sR0FB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QUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO2FBQy9CLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FwR1EscUJBQXFCO21HQUFyQixxQkFBcUIsc1pBdEJuQjtZQUNQLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztZQUNuQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7WUFDNUIsc0JBQXNCLENBQUMscUJBQXFCLENBQUM7U0FDaEQ7O1NBa0JRLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQXpCakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFO3dCQUNQLFlBQVksdUJBQXVCO3dCQUNuQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7d0JBQzVCLHNCQUFzQix1QkFBdUI7cUJBQ2hEO29CQUNELGNBQWMsRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCOzRCQUNJLFNBQVMsRUFBRSxnQkFBZ0I7NEJBQzNCLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQzt5QkFDdEQ7cUJBQ0o7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLFlBQVksRUFBRSxPQUFPO3dCQUNyQixZQUFZLEVBQUUsWUFBWTt3QkFDMUIseUJBQXlCLEVBQUUsV0FBVzt3QkFDdEMsb0JBQW9CLEVBQUUseUJBQXlCO3dCQUMvQyxTQUFTLEVBQUUsV0FBVzt3QkFDdEIsaUJBQWlCLEVBQUUsaUJBQWlCO3dCQUNwQyxnQkFBZ0IsRUFBRSxpQkFBaUI7cUJBQ3RDO2lCQUNKOzhCQThCVSxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUnO1xuaW1wb3J0IHtUdWlOYXRpdmVWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9uYXRpdmUtdmFsaWRhdG9yJztcbmltcG9ydCB7VFVJX0lTX01PQklMRSwgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUdldENsaXBib2FyZERhdGFUZXh0LCB0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aURpcmVjdGl2ZUJpbmRpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpVGV4dGZpZWxkQWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgdHVpQXNUZXh0ZmllbGRBY2Nlc3NvcixcbiAgICBUdWlUZXh0ZmllbGRCYXNlLFxuICAgIFR1aVRleHRmaWVsZE11bHRpQ29tcG9uZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHR5cGUge1R1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUVUlfSVRFTVNfSEFORExFUlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9DSElQX09QVElPTlN9IGZyb20gJy4vaW5wdXQtY2hpcC5vcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0Q2hpcF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRDaGlwRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyKFtdKSxcbiAgICAgICAgdHVpQXNUZXh0ZmllbGRBY2Nlc3NvcihUdWlJbnB1dENoaXBEaXJlY3RpdmUpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpTmF0aXZlVmFsaWRhdG9yLFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aVRleHRmaWVsZEJhc2UsXG4gICAgICAgICAgICBpbnB1dHM6IFsnaW52YWxpZCcsICdmb2N1c2VkJywgJ3JlYWRPbmx5JywgJ3N0YXRlJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGVudGVya2V5aGludDogJ2VudGVyJyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICcoa2V5ZG93bi5lbnRlci5wcmV2ZW50KSc6ICdvbkVudGVyKCknLFxuICAgICAgICAnKGtleWRvd24uem9uZWxlc3MpJzogJ29uQmFja3NwYWNlKCRldmVudC5rZXkpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnb25JbnB1dCgpJyxcbiAgICAgICAgJyhwYXN0ZS5wcmV2ZW50KSc6ICdvblBhc3RlKCRldmVudCknLFxuICAgICAgICAnKGRyb3AucHJldmVudCknOiAnb25QYXN0ZSgkZXZlbnQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENoaXBEaXJlY3RpdmU8VD5cbiAgICBleHRlbmRzIFR1aUNvbnRyb2w8VFtdPlxuICAgIGltcGxlbWVudHMgVHVpVGV4dGZpZWxkQWNjZXNzb3I8VFtdPlxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfQ0hJUF9PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkTXVsdGlDb21wb25lbnQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+ID0gaW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVuYWJsZWQgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlEcm9wZG93bk9wZW4sXG4gICAgICAgICd0dWlEcm9wZG93bkVuYWJsZWQnLFxuICAgICAgICB0aGlzLmludGVyYWN0aXZlLFxuICAgICAgICB7fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1YiA9IGluamVjdChUdWlBY3RpdmVab25lKVxuICAgICAgICAudHVpQWN0aXZlWm9uZUNoYW5nZS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChhY3RpdmUpID0+ICFhY3RpdmUgJiYgIXRoaXMuZWwubWF0Y2hlcygnc2VsZWN0JykpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCgnJyk7XG4gICAgICAgIH0pO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VwYXJhdG9yID0gdGhpcy5vcHRpb25zLnNlcGFyYXRvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHVuaXF1ZSA9IHRoaXMub3B0aW9ucy51bmlxdWU7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG5cbiAgICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoJycpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgdGhpcy51bmlxdWUgPyBBcnJheS5mcm9tKG5ldyBTZXQodmFsdWUucmV2ZXJzZSgpKSkucmV2ZXJzZSgpIDogdmFsdWUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy50ZXh0ZmllbGQudmFsdWUoKS50cmltKCk7XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBhbnlbXSA9IHRoaXMuc2VwYXJhdG9yID8gdmFsdWUuc3BsaXQodGhpcy5zZXBhcmF0b3IpIDogW3ZhbHVlXTtcbiAgICAgICAgY29uc3QgdmFsaWQgPSBpdGVtcy5maWx0ZXIoXG4gICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSAmJiAhdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkoaXRlbSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSB8fCAhdmFsaWQubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFZhbHVlKFsuLi50aGlzLnZhbHVlKCksIC4uLnZhbGlkXSk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG8oKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25JbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldCghIXRoaXMuZHJvcGRvd24uY29udGVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VwYXJhdG9yICYmIHRoaXMudGV4dGZpZWxkLnZhbHVlKCkubWF0Y2godGhpcy5zZXBhcmF0b3IpKSB7XG4gICAgICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG8oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCB8IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICAnZGF0YVRyYW5zZmVyJyBpbiBldmVudFxuICAgICAgICAgICAgICAgID8gZXZlbnQuZGF0YVRyYW5zZmVyPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgfHwgJydcbiAgICAgICAgICAgICAgICA6IHR1aUdldENsaXBib2FyZERhdGFUZXh0KGV2ZW50KTtcblxuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodmFsdWUpO1xuICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25CYWNrc3BhY2Uoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gKGtleWRvd24uYmFja3NwYWNlKSBkb2Vzbid0IGVtaXQgZXZlbnQgb24gZW1wdHkgaW5wdXQgaW4gaW9zIHNhZmFyaVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBrZXkgPT09ICdCYWNrc3BhY2UnICYmXG4gICAgICAgICAgICAhdGhpcy50ZXh0ZmllbGQudmFsdWUoKSAmJlxuICAgICAgICAgICAgdGhpcy5pbnRlcmFjdGl2ZSgpICYmXG4gICAgICAgICAgICAodGhpcy5tb2JpbGUgfHwgIXRoaXMudGV4dGZpZWxkLml0ZW0pXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKCkuc2xpY2UoMCwgLTEpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzY3JvbGxUbygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2lnbiA9IHRoaXMudGV4dGZpZWxkLmVsLm1hdGNoZXMoJ1tkaXI9XCJydGxcIl0gOnNjb3BlJykgPyAtMSA6IDE7XG5cbiAgICAgICAgLy8gQWxsb3cgY2hhbmdlIGRldGVjdGlvbiB0byBydW4gYW5kIGFkZCBuZXcgdGFnIHRvIERPTVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLmVsLnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBzaWduICogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICAgICAgdG9wOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
137
|
+
}] });
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsYUFBYSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFdEUsT0FBTyxFQUNILHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsMEJBQTBCLEdBQzdCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNILG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsZUFBZSxHQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFNUIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFFNUQsdURBQXVEO0FBQ3ZELE1BWWEseUJBQ1QsU0FBUSxVQUFlO0lBYjNCOztRQWdC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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge1R1aU5hdGl2ZVZhbGlkYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL25hdGl2ZS12YWxpZGF0b3InO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFLCB0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0Q2xpcGJvYXJkRGF0YVRleHQsIHR1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB0eXBlIHtUdWlUZXh0ZmllbGRBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICB0dWlBc1RleHRmaWVsZEFjY2Vzc29yLFxuICAgIFR1aVRleHRmaWVsZEJhc2UsXG4gICAgVHVpVGV4dGZpZWxkTXVsdGlDb21wb25lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgVHVpRHJvcGRvd25PcGVuLFxuICAgIHR1aURyb3Bkb3duT3Blbixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQgdHlwZSB7VHVpSXRlbXNIYW5kbGVyc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge1RVSV9JVEVNU19IQU5ETEVSU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0NISVBfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1jaGlwLm9wdGlvbnMnO1xuXG4vLyBUT0RPKHY1KTogcmVtb3ZlIGJhc2UgY29tcG9uZW50IGFmdGVyIGFuZ3VsYXIgdXBkYXRlXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgZW50ZXJrZXloaW50OiAnZW50ZXInLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhrZXlkb3duLmVudGVyLnByZXZlbnQpJzogJ29uRW50ZXIoKScsXG4gICAgICAgICcoa2V5ZG93bi56b25lbGVzcyknOiAnb25CYWNrc3BhY2UoJGV2ZW50LmtleSknLFxuICAgICAgICAnKGlucHV0KSc6ICdvbklucHV0KCknLFxuICAgICAgICAnKHBhc3RlLnByZXZlbnQpJzogJ29uUGFzdGUoJGV2ZW50KScsXG4gICAgICAgICcoZHJvcC5wcmV2ZW50KSc6ICdvblBhc3RlKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2hpcEJhc2VEaXJlY3RpdmU8VD5cbiAgICBleHRlbmRzIFR1aUNvbnRyb2w8VFtdPlxuICAgIGltcGxlbWVudHMgVHVpVGV4dGZpZWxkQWNjZXNzb3I8VFtdPlxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfQ0hJUF9PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkTXVsdGlDb21wb25lbnQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+ID0gaW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVuYWJsZWQgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlEcm9wZG93bk9wZW4sXG4gICAgICAgICd0dWlEcm9wZG93bkVuYWJsZWQnLFxuICAgICAgICB0aGlzLmludGVyYWN0aXZlLFxuICAgICAgICB7fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1YiA9IGluamVjdChUdWlBY3RpdmVab25lKVxuICAgICAgICAudHVpQWN0aXZlWm9uZUNoYW5nZS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChhY3RpdmUpID0+ICFhY3RpdmUgJiYgIXRoaXMuZWwubWF0Y2hlcygnc2VsZWN0JykpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCgnJyk7XG4gICAgICAgIH0pO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VwYXJhdG9yID0gdGhpcy5vcHRpb25zLnNlcGFyYXRvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHVuaXF1ZSA9IHRoaXMub3B0aW9ucy51bmlxdWU7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG5cbiAgICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoJycpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgdGhpcy51bmlxdWUgPyBBcnJheS5mcm9tKG5ldyBTZXQodmFsdWUucmV2ZXJzZSgpKSkucmV2ZXJzZSgpIDogdmFsdWUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy50ZXh0ZmllbGQudmFsdWUoKS50cmltKCk7XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBhbnlbXSA9IHRoaXMuc2VwYXJhdG9yID8gdmFsdWUuc3BsaXQodGhpcy5zZXBhcmF0b3IpIDogW3ZhbHVlXTtcbiAgICAgICAgY29uc3QgdmFsaWQgPSBpdGVtcy5maWx0ZXIoXG4gICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSAmJiAhdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkoaXRlbSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSB8fCAhdmFsaWQubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFZhbHVlKFsuLi50aGlzLnZhbHVlKCksIC4uLnZhbGlkXSk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG8oKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25JbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldCghIXRoaXMuZHJvcGRvd24uY29udGVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VwYXJhdG9yICYmIHRoaXMudGV4dGZpZWxkLnZhbHVlKCkubWF0Y2godGhpcy5zZXBhcmF0b3IpKSB7XG4gICAgICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG8oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCB8IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICAnZGF0YVRyYW5zZmVyJyBpbiBldmVudFxuICAgICAgICAgICAgICAgID8gZXZlbnQuZGF0YVRyYW5zZmVyPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgfHwgJydcbiAgICAgICAgICAgICAgICA6IHR1aUdldENsaXBib2FyZERhdGFUZXh0KGV2ZW50KTtcblxuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodmFsdWUpO1xuICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25CYWNrc3BhY2Uoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gKGtleWRvd24uYmFja3NwYWNlKSBkb2Vzbid0IGVtaXQgZXZlbnQgb24gZW1wdHkgaW5wdXQgaW4gaW9zIHNhZmFyaVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBrZXkgPT09ICdCYWNrc3BhY2UnICYmXG4gICAgICAgICAgICAhdGhpcy50ZXh0ZmllbGQudmFsdWUoKSAmJlxuICAgICAgICAgICAgdGhpcy5pbnRlcmFjdGl2ZSgpICYmXG4gICAgICAgICAgICAodGhpcy5tb2JpbGUgfHwgIXRoaXMudGV4dGZpZWxkLml0ZW0pXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKCkuc2xpY2UoMCwgLTEpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzY3JvbGxUbygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2lnbiA9IHRoaXMudGV4dGZpZWxkLmVsLm1hdGNoZXMoJ1tkaXI9XCJydGxcIl0gOnNjb3BlJykgPyAtMSA6IDE7XG5cbiAgICAgICAgLy8gQWxsb3cgY2hhbmdlIGRldGVjdGlvbiB0byBydW4gYW5kIGFkZCBuZXcgdGFnIHRvIERPTVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLmVsLnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBzaWduICogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICAgICAgdG9wOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dENoaXBdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0Q2hpcERpcmVjdGl2ZSksXG4gICAgICAgIHR1aUZhbGxiYWNrVmFsdWVQcm92aWRlcihbXSksXG4gICAgICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IoVHVpSW5wdXRDaGlwRGlyZWN0aXZlKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aU5hdGl2ZVZhbGlkYXRvcixcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlUZXh0ZmllbGRCYXNlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2ludmFsaWQnLCAnZm9jdXNlZCcsICdyZWFkT25seScsICdzdGF0ZSddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2hpcERpcmVjdGl2ZTxUPiBleHRlbmRzIFR1aUlucHV0Q2hpcEJhc2VEaXJlY3RpdmU8VD4ge31cbiJdfQ==
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { NgIf } from '@angular/common';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation, } from '@angular/core';
|
|
3
3
|
import { TuiDay } from '@taiga-ui/cdk/date-time';
|
|
4
|
-
import { TuiTextfieldContent } from '@taiga-ui/core/components/textfield';
|
|
4
|
+
import { TuiTextfieldContent, TuiWithNativePicker, } from '@taiga-ui/core/components/textfield';
|
|
5
5
|
import { TuiInputDateDirective } from './input-date.directive';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@taiga-ui/core/components/textfield";
|
|
7
8
|
class TuiInputDateComponent {
|
|
8
9
|
constructor() {
|
|
9
10
|
this.host = inject(TuiInputDateDirective);
|
|
@@ -17,17 +18,16 @@ class TuiInputDateComponent {
|
|
|
17
18
|
this.host.onChange(new TuiDay(year, month - 1, day));
|
|
18
19
|
}
|
|
19
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateComponent, isStandalone: true, selector: "input[tuiInputDate][type=\"date\"]", inputs: { list: "list" }, host: { attributes: { "ngSkipHydration": "true" }, properties: { "
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateComponent, isStandalone: true, selector: "input[tuiInputDate][type=\"date\"]", inputs: { list: "list" }, host: { attributes: { "ngSkipHydration": "true" }, properties: { "attr.list": "null" } }, hostDirectives: [{ directive: i1.TuiWithNativePicker }], ngImport: i0, template: "<ng-container *ngIf=\"host.native\">\n <input\n *tuiTextfieldContent\n type=\"date\"\n [attr.list]=\"list\"\n [max]=\"host.max().toJSON()\"\n [min]=\"host.min().toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputDate]~.t-content input[type=date]{position:absolute;top:0;left:auto;right:0;bottom:0;inline-size:2.5rem;padding:0;opacity:0}tui-textfield input[tuiInputDate]~.t-content input[type=date]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
21
22
|
}
|
|
22
23
|
export { TuiInputDateComponent };
|
|
23
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateComponent, decorators: [{
|
|
24
25
|
type: Component,
|
|
25
|
-
args: [{ standalone: true, selector: 'input[tuiInputDate][type="date"]', imports: [NgIf, TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
26
|
+
args: [{ standalone: true, selector: 'input[tuiInputDate][type="date"]', imports: [NgIf, TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiWithNativePicker], host: {
|
|
26
27
|
ngSkipHydration: 'true',
|
|
27
|
-
'[type]': '"text"',
|
|
28
28
|
'[attr.list]': 'null',
|
|
29
29
|
}, template: "<ng-container *ngIf=\"host.native\">\n <input\n *tuiTextfieldContent\n type=\"date\"\n [attr.list]=\"list\"\n [max]=\"host.max().toJSON()\"\n [min]=\"host.min().toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputDate]~.t-content input[type=date]{position:absolute;top:0;left:auto;right:0;bottom:0;inline-size:2.5rem;padding:0;opacity:0}tui-textfield input[tuiInputDate]~.t-content input[type=date]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"] }]
|
|
30
30
|
}], propDecorators: { list: [{
|
|
31
31
|
type: Input
|
|
32
32
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS9pbnB1dC1kYXRlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUN0QixNQUFNLHFDQUFxQyxDQUFDO0FBRTdDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7QUFFN0QsTUFjYSxxQkFBcUI7SUFkbEM7UUFldUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBR2pELFNBQUksR0FBa0IsSUFBSSxDQUFDO0tBV3JDO0lBVGEsT0FBTyxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkM7UUFFRCxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBZFEscUJBQXFCO21HQUFyQixxQkFBcUIsMlFDOUJsQyxzYUFhQSxxWERNYyxJQUFJLDZGQUFFLG1CQUFtQjs7U0FXMUIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBZGpDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGtDQUFrQyxXQUNuQyxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxpQkFHckIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUMvQjt3QkFDRixlQUFlLEVBQUUsTUFBTTt3QkFDdkIsYUFBYSxFQUFFLE1BQU07cUJBQ3hCOzhCQU1NLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aURheX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtcbiAgICBUdWlUZXh0ZmllbGRDb250ZW50LFxuICAgIFR1aVdpdGhOYXRpdmVQaWNrZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcblxuaW1wb3J0IHtUdWlJbnB1dERhdGVEaXJlY3RpdmV9IGZyb20gJy4vaW5wdXQtZGF0ZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXREYXRlXVt0eXBlPVwiZGF0ZVwiXScsXG4gICAgaW1wb3J0czogW05nSWYsIFR1aVRleHRmaWVsZENvbnRlbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1kYXRlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWRhdGUuc3R5bGUubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoTmF0aXZlUGlja2VyXSxcbiAgICBob3N0OiB7XG4gICAgICAgIG5nU2tpcEh5ZHJhdGlvbjogJ3RydWUnLFxuICAgICAgICAnW2F0dHIubGlzdF0nOiAnbnVsbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlQ29tcG9uZW50IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9zdCA9IGluamVjdChUdWlJbnB1dERhdGVEaXJlY3RpdmUpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGlzdDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgb25JbnB1dCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhvc3Qub25DaGFuZ2UobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbeWVhciA9IDAsIG1vbnRoID0gMCwgZGF5ID0gMF0gPSB2YWx1ZS5zcGxpdCgnLScpLm1hcChOdW1iZXIpO1xuXG4gICAgICAgIHRoaXMuaG9zdC5vbkNoYW5nZShuZXcgVHVpRGF5KHllYXIsIG1vbnRoIC0gMSwgZGF5KSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImhvc3QubmF0aXZlXCI+XG4gICAgPGlucHV0XG4gICAgICAgICp0dWlUZXh0ZmllbGRDb250ZW50XG4gICAgICAgIHR5cGU9XCJkYXRlXCJcbiAgICAgICAgW2F0dHIubGlzdF09XCJsaXN0XCJcbiAgICAgICAgW21heF09XCJob3N0Lm1heCgpLnRvSlNPTigpXCJcbiAgICAgICAgW21pbl09XCJob3N0Lm1pbigpLnRvSlNPTigpXCJcbiAgICAgICAgW3ZhbHVlXT1cImhvc3QudmFsdWUoKT8udG9KU09OKClcIlxuICAgICAgICAoY2xpY2suc3RvcC56b25lbGVzcyk9XCIoMClcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dCgkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXG4gICAgICAgIChwb2ludGVyZG93bi5zdG9wLnpvbmVsZXNzKT1cIigwKVwiXG4gICAgLz5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -9,7 +9,7 @@ import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
|
|
|
9
9
|
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
10
10
|
import { TuiCalendar } from '@taiga-ui/core/components/calendar';
|
|
11
11
|
import { tuiAsOptionContent } from '@taiga-ui/core/components/data-list';
|
|
12
|
-
import { tuiInjectAuxiliary, TuiTextfieldDirective, tuiTextfieldIconBinding, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
|
|
12
|
+
import { tuiInjectAuxiliary, TuiTextfieldDirective, tuiTextfieldIconBinding, TuiWithNativePicker, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
|
|
13
13
|
import { TuiDropdownAuto, tuiDropdownEnabled, tuiDropdownOpen, } from '@taiga-ui/core/directives/dropdown';
|
|
14
14
|
import { TUI_ITEMS_HANDLERS, TuiItemsHandlersDirective, TuiItemsHandlersValidator, } from '@taiga-ui/core/directives/items-handlers';
|
|
15
15
|
import { TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT } from '@taiga-ui/core/tokens';
|
|
@@ -58,7 +58,7 @@ class TuiInputDateBase extends TuiControl {
|
|
|
58
58
|
const subscription = this.calendar()?.valueChange.subscribe((value) => this.setDate(value));
|
|
59
59
|
onCleanup(() => subscription?.unsubscribe());
|
|
60
60
|
});
|
|
61
|
-
this.native =
|
|
61
|
+
this.native = !!inject(TuiWithNativePicker, { optional: true }) && this.mobile;
|
|
62
62
|
this.min = signal(this.options.min);
|
|
63
63
|
this.max = signal(this.options.max);
|
|
64
64
|
}
|
|
@@ -68,6 +68,13 @@ class TuiInputDateBase extends TuiControl {
|
|
|
68
68
|
set maxSetter(max) {
|
|
69
69
|
this.max.set(max instanceof TuiDay ? max : this.options.max);
|
|
70
70
|
}
|
|
71
|
+
writeValue(value) {
|
|
72
|
+
const reset = this.control.pristine && this.control.untouched && !value;
|
|
73
|
+
if (value !== this.value() || reset) {
|
|
74
|
+
super.writeValue(value);
|
|
75
|
+
this.textfield.value.set(this.stringify(this.value()));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
71
78
|
setDate(value) {
|
|
72
79
|
this.onChange(value);
|
|
73
80
|
this.open.set(false);
|
|
@@ -156,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
156
163
|
],
|
|
157
164
|
}]
|
|
158
165
|
}] });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDSCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGVBQWUsR0FDbEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1QyxPQUFPLEVB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QUFDO1NBQ3REOztTQVFRLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQWZqQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixTQUFTLEVBQUU7d0JBQ1Asa0JBQWtCLENBQUMsZUFBZSxDQUFDO3dCQUNuQyxZQUFZLHVCQUF1Qjt3QkFDbkMsdUJBQXVCLENBQUMsMEJBQTBCLENBQUM7cUJBQ3REO29CQUNELGNBQWMsRUFBRTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YseUJBQXlCO3dCQUN6QixnQkFBZ0I7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgSW5wdXQsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge01hc2tpdG9EaXJlY3RpdmV9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHR5cGUge01hc2tpdG9EYXRlTW9kZX0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7bWFza2l0b0RhdGVPcHRpb25zR2VuZXJhdG9yfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2wsIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1R1aURhdGVNb2RlLCBUdWlEYXlSYW5nZSwgVHVpVGltZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtEQVRFX0ZJTExFUl9MRU5HVEgsIFR1aURheX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpQm9vbGVhbkhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1R1aUNhbGVuZGFyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyJztcbmltcG9ydCB7dHVpQXNPcHRpb25Db250ZW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1xuICAgIHR1aUluamVjdEF1eGlsaWFyeSxcbiAgICBUdWlUZXh0ZmllbGREaXJlY3RpdmUsXG4gICAgdHVpVGV4dGZpZWxkSWNvbkJpbmRpbmcsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkF1dG8sXG4gICAgdHVpRHJvcGRvd25FbmFibGVkLFxuICAgIHR1aURyb3Bkb3duT3Blbixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQgdHlwZSB7VHVpSXRlbXNIYW5kbGVyc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge1xuICAgIFRVSV9JVEVNU19IQU5ETEVSUyxcbiAgICBUdWlJdGVtc0hhbmRsZXJzRGlyZWN0aXZlLFxuICAgIFR1aUl0ZW1zSGFuZGxlcnNWYWxpZGF0b3IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUVUlfREFURV9GT1JNQVQsIFRVSV9ERUZBVUxUX0RBVEVfRk9STUFUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlDYWxlbmRhclJhbmdlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UnO1xuaW1wb3J0IHtUdWlTZWxlY3RPcHRpb259IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWxlY3QnO1xuaW1wb3J0IHt0dWlNYXNraXRvfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcblxuaW1wb3J0IHt0dWlXaXRoRGF0ZUZpbGxlcn0gZnJvbSAnLi9kYXRlLWZpbGxlcic7XG5pbXBvcnQgdHlwZSB7VHVpSW5wdXREYXRlT3B0aW9uc05ld30gZnJvbSAnLi9pbnB1dC1kYXRlLm9wdGlvbnMnO1xuaW1wb3J0IHtUVUlfSU5QVVRfREFURV9PUFRJT05TX05FV30gZnJvbSAnLi9pbnB1dC1kYXRlLm9wdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgVFVJX0RBVEVfQURBUFRFUjogUmVjb3JkPFR1aURhdGVNb2RlLCBNYXNraXRvRGF0ZU1vZGU+ID0ge1xuICAgIERNWTogJ2RkL21tL3l5eXknLFxuICAgIE1EWTogJ21tL2RkL3l5eXknLFxuICAgIFlNRDogJ3l5eXkvbW0vZGQnLFxufTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5pbnB1dG1vZGVdJzogJ21vYmlsZSAmJiBvcGVuKCkgPyBcIm5vbmVcIiA6IFwibnVtZXJpY1wiJyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICcoaW5wdXQpJzogJ29uVmFsdWVDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSknLFxuICAgICAgICAnKGNsaWNrLmNhcHR1cmUuc3RvcCknOiAnb25DbGljaygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUdWlJbnB1dERhdGVCYXNlPFxuICAgIFQgZXh0ZW5kcyBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFtUdWlEYXksIFR1aVRpbWUgfCBudWxsXSxcbj4gZXh0ZW5kcyBUdWlDb250cm9sPFQgfCBudWxsPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjYWxlbmRhciA9IHR1aUluamVjdEF1eGlsaWFyeTxUdWlDYWxlbmRhciB8IFR1aUNhbGVuZGFyUmFuZ2U+KFxuICAgICAgICAoeCkgPT4geCBpbnN0YW5jZW9mIFR1aUNhbGVuZGFyIHx8IHggaW5zdGFuY2VvZiBUdWlDYWxlbmRhclJhbmdlLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRmaWVsZCA9IGluamVjdChUdWlUZXh0ZmllbGREaXJlY3RpdmUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmaWxsZXIgPSB0dWlXaXRoRGF0ZUZpbGxlcigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBtb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW4gPSB0dWlEcm9wZG93bk9wZW4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbiA9IHR1aVRleHRmaWVsZEljb25CaW5kaW5nKFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFuZGxlcnMgPSBpbmplY3Q8VHVpSXRlbXNIYW5kbGVyczxUPj4oVHVpSXRlbXNIYW5kbGVyc0RpcmVjdGl2ZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd25FbmFibGVkID0gdHVpRHJvcGRvd25FbmFibGVkKFxuICAgICAgICBjb21wdXRlZCgoKSA9PiAhdGhpcy5uYXRpdmUgJiYgdGhpcy5pbnRlcmFjdGl2ZSgpKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnM6IE9taXQ8VHVpSW5wdXREYXRlT3B0aW9uc05ldywgJ3ZhbHVlVHJhbnNmb3JtZXInPiA9IGluamVjdChcbiAgICAgICAgVFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVcsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBmb3JtYXQgPSB0b1NpZ25hbChpbmplY3QoVFVJX0RBVEVfRk9STUFUKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IFRVSV9ERUZBVUxUX0RBVEVfRk9STUFULFxuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZhbHVlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgICAgdGhpcy5zdHJpbmdpZnkodGhpcy52YWx1ZSgpKSB8fFxuICAgICAgICAgICAgKHRoaXMuZmlsbGVyKCkubGVuZ3RoID09PSB0aGlzLmVsLnZhbHVlLmxlbmd0aCA/ICcnIDogdGhpcy5lbC52YWx1ZSk7XG5cbiAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHZhbHVlKTtcbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJJbiA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNhbGVuZGFyKCkpIHtcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc0NhbGVuZGFyKHRoaXMuY2FsZW5kYXIoKSEpO1xuICAgICAgICB9XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyT3V0ID0gZWZmZWN0KChvbkNsZWFudXApID0+IHtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5jYWxlbmRhcigpPy52YWx1ZUNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy5zZXREYXRlKHZhbHVlKSxcbiAgICAgICAgKTtcblxuICAgICAgICBvbkNsZWFudXAoKCkgPT4gc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpKTtcbiAgICB9KTtcblxuICAgIHB1YmxpYyByZWFkb25seSBuYXRpdmUgPSB0aGlzLmVsLnR5cGUuaW5jbHVkZXMoJ2RhdGUnKSAmJiB0aGlzLm1vYmlsZTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWluID0gc2lnbmFsKHRoaXMub3B0aW9ucy5taW4pO1xuICAgIHB1YmxpYyByZWFkb25seSBtYXggPSBzaWduYWwodGhpcy5vcHRpb25zLm1heCk7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICAgIEBJbnB1dCgnbWluJylcbiAgICBwdWJsaWMgc2V0IG1pblNldHRlcihtaW46IEV4Y2x1ZGU8VCwgVHVpRGF5UmFuZ2U+IHwgVHVpRGF5IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1pbi5zZXQobWluIGluc3RhbmNlb2YgVHVpRGF5ID8gbWluIDogdGhpcy5vcHRpb25zLm1pbik7XG4gICAgfVxuXG4gICAgQElucHV0KCdtYXgnKVxuICAgIHB1YmxpYyBzZXQgbWF4U2V0dGVyKG1heDogRXhjbHVkZTxULCBUdWlEYXlSYW5nZT4gfCBUdWlEYXkgfCBudWxsKSB7XG4gICAgICAgIHRoaXMubWF4LnNldChtYXggaW5zdGFuY2VvZiBUdWlEYXkgPyBtYXggOiB0aGlzLm9wdGlvbnMubWF4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGF0ZSh2YWx1ZTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSBhcyBUKTtcbiAgICAgICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmVsLmNsb3Nlc3QoJ3R1aS1kcm9wZG93bicpKSB7XG4gICAgICAgICAgICB0aGlzLmVsLmJsdXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBwcm9jZXNzQ2FsZW5kYXIoY2FsZW5kYXI6IFR1aUNhbGVuZGFyIHwgVHVpQ2FsZW5kYXJSYW5nZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUoKTtcblxuICAgICAgICBjYWxlbmRhci52YWx1ZSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWVbMF0gOiB2YWx1ZTtcbiAgICAgICAgY2FsZW5kYXIuZGlzYWJsZWRJdGVtSGFuZGxlciA9XG4gICAgICAgICAgICB0aGlzLmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKSBhcyBUdWlCb29sZWFuSGFuZGxlcjxcbiAgICAgICAgICAgICAgICBUdWlEYXkgfCBUdWlEYXlSYW5nZVxuICAgICAgICAgICAgPjtcbiAgICAgICAgY2FsZW5kYXIubWluID0gdGhpcy5taW4oKTtcbiAgICAgICAgY2FsZW5kYXIubWF4ID0gdGhpcy5tYXgoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vYmlsZSAmJiB0aGlzLmRyb3Bkb3duRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4udXBkYXRlKChvcGVuKSA9PiAhb3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc3RyaW5naWZ5KHZhbHVlOiBUIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZT8udG9TdHJpbmcodGhpcy5mb3JtYXQoKS5tb2RlLCB0aGlzLmZvcm1hdCgpLnNlcGFyYXRvcikgPz8gJyc7XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXREYXRlXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzT3B0aW9uQ29udGVudChUdWlTZWxlY3RPcHRpb24pLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXREYXRlRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb20oVFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVcpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpV2l0aFRleHRmaWVsZCxcbiAgICAgICAgVHVpRHJvcGRvd25BdXRvLFxuICAgICAgICBUdWlJdGVtc0hhbmRsZXJzVmFsaWRhdG9yLFxuICAgICAgICBNYXNraXRvRGlyZWN0aXZlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZURpcmVjdGl2ZSBleHRlbmRzIFR1aUlucHV0RGF0ZUJhc2U8VHVpRGF5PiB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlkZW50aXR5ID0gaW5qZWN0PFR1aUl0ZW1zSGFuZGxlcnM8VHVpRGF5Pj4oXG4gICAgICAgIFRVSV9JVEVNU19IQU5ETEVSUyxcbiAgICApLmlkZW50aXR5TWF0Y2hlci5zZXQoKGEsIGIpID0+IGEuZGF5U2FtZShiKSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IHR1aU1hc2tpdG8oXG4gICAgICAgIGNvbXB1dGVkKCgpID0+XG4gICAgICAgICAgICBtYXNraXRvRGF0ZU9wdGlvbnNHZW5lcmF0b3Ioe1xuICAgICAgICAgICAgICAgIHNlcGFyYXRvcjogdGhpcy5mb3JtYXQoKS5zZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgbW9kZTogVFVJX0RBVEVfQURBUFRFUlt0aGlzLmZvcm1hdCgpLm1vZGVdLFxuICAgICAgICAgICAgICAgIG1pbjogdGhpcy5taW4oKS50b0xvY2FsTmF0aXZlRGF0ZSgpLFxuICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXgoKS50b0xvY2FsTmF0aXZlRGF0ZSgpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250cm9sPy5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoXG4gICAgICAgICAgICB2YWx1ZS5sZW5ndGggPT09IERBVEVfRklMTEVSX0xFTkdUSFxuICAgICAgICAgICAgICAgID8gVHVpRGF5Lm5vcm1hbGl6ZVBhcnNlKHZhbHVlLCB0aGlzLmZvcm1hdCgpLm1vZGUpXG4gICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixnQkFBZ0IsR0FDbkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixlQUFlLEdBQ2xCLE1BQU0sb0NBQW9DLENBQUM7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QU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUNULEtBQUssQ0FBQyxNQUFNLEtBQUssa0JBQWtCO1lBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2xELENBQUMsQ0FBQyxJQUFJLENBQ2IsQ0FBQztJQUNOLENBQUM7K0dBdkJRLHFCQUFxQjttR0FBckIscUJBQXFCLGtFQVpuQjtZQUNQLGtCQUFrQixDQUFDLGVBQWUsQ0FBQztZQUNuQyxZQUFZLENBQUMscUJBQXFCLENBQUM7WUFDbkMsdUJBQXVCLENBQUMsMEJBQTBCLENBQUM7U0FDdEQ7O1NBUVEscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBZmpDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRTt3QkFDUCxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7d0JBQ25DLFlBQVksdUJBQXVCO3dCQUNuQyx1QkFBdUIsQ0FBQywwQkFBMEIsQ0FBQztxQkFDdEQ7b0JBQ0QsY0FBYyxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZix5QkFBeUI7d0JBQ3pCLGdCQUFnQjtxQkFDbkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b0RhdGVNb2RlfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHttYXNraXRvRGF0ZU9wdGlvbnNHZW5lcmF0b3J9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9BTExPV19TSUdOQUxfV1JJVEVTfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7VHVpRGF0ZU1vZGUsIFR1aURheVJhbmdlLCBUdWlUaW1lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge0RBVEVfRklMTEVSX0xFTkdUSCwgVHVpRGF5fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlCb29sZWFuSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7VHVpQ2FsZW5kYXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvY2FsZW5kYXInO1xuaW1wb3J0IHt0dWlBc09wdGlvbkNvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7XG4gICAgdHVpSW5qZWN0QXV4aWxpYXJ5LFxuICAgIFR1aVRleHRmaWVsZERpcmVjdGl2ZSxcbiAgICB0dWlUZXh0ZmllbGRJY29uQmluZGluZyxcbiAgICBUdWlXaXRoTmF0aXZlUGlja2VyLFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25BdXRvLFxuICAgIHR1aURyb3Bkb3duRW5hYmxlZCxcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHR5cGUge1R1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtcbiAgICBUVUlfSVRFTVNfSEFORExFUlMsXG4gICAgVHVpSXRlbXNIYW5kbGVyc0RpcmVjdGl2ZSxcbiAgICBUdWlJdGVtc0hhbmRsZXJzVmFsaWRhdG9yLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0RBVEVfRk9STUFULCBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpQ2FsZW5kYXJSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLXJhbmdlJztcbmltcG9ydCB7VHVpU2VsZWN0T3B0aW9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0JztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmltcG9ydCB7dHVpV2l0aERhdGVGaWxsZXJ9IGZyb20gJy4vZGF0ZS1maWxsZXInO1xuaW1wb3J0IHR5cGUge1R1aUlucHV0RGF0ZU9wdGlvbnNOZXd9IGZyb20gJy4vaW5wdXQtZGF0ZS5vcHRpb25zJztcbmltcG9ydCB7VFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVd9IGZyb20gJy4vaW5wdXQtZGF0ZS5vcHRpb25zJztcblxuZXhwb3J0IGNvbnN0IFRVSV9EQVRFX0FEQVBURVI6IFJlY29yZDxUdWlEYXRlTW9kZSwgTWFza2l0b0RhdGVNb2RlPiA9IHtcbiAgICBETVk6ICdkZC9tbS95eXl5JyxcbiAgICBNRFk6ICdtbS9kZC95eXl5JyxcbiAgICBZTUQ6ICd5eXl5L21tL2RkJyxcbn07XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuaW5wdXRtb2RlXSc6ICdtb2JpbGUgJiYgb3BlbigpID8gXCJub25lXCIgOiBcIm51bWVyaWNcIicsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGlucHV0KSc6ICdvblZhbHVlQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpJyxcbiAgICAgICAgJyhjbGljay5jYXB0dXJlLnN0b3ApJzogJ29uQ2xpY2soKScsXG4gICAgfSxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHVpSW5wdXREYXRlQmFzZTxcbiAgICBUIGV4dGVuZHMgVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBbVHVpRGF5LCBUdWlUaW1lIHwgbnVsbF0sXG4+IGV4dGVuZHMgVHVpQ29udHJvbDxUIHwgbnVsbD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FsZW5kYXIgPSB0dWlJbmplY3RBdXhpbGlhcnk8VHVpQ2FsZW5kYXIgfCBUdWlDYWxlbmRhclJhbmdlPihcbiAgICAgICAgKHgpID0+IHggaW5zdGFuY2VvZiBUdWlDYWxlbmRhciB8fCB4IGluc3RhbmNlb2YgVHVpQ2FsZW5kYXJSYW5nZSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsbGVyID0gdHVpV2l0aERhdGVGaWxsZXIoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb24gPSB0dWlUZXh0ZmllbGRJY29uQmluZGluZyhUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZXJzID0gaW5qZWN0PFR1aUl0ZW1zSGFuZGxlcnM8VD4+KFR1aUl0ZW1zSGFuZGxlcnNEaXJlY3RpdmUpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duRW5hYmxlZCA9IHR1aURyb3Bkb3duRW5hYmxlZChcbiAgICAgICAgY29tcHV0ZWQoKCkgPT4gIXRoaXMubmF0aXZlICYmIHRoaXMuaW50ZXJhY3RpdmUoKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zOiBPbWl0PFR1aUlucHV0RGF0ZU9wdGlvbnNOZXcsICd2YWx1ZVRyYW5zZm9ybWVyJz4gPSBpbmplY3QoXG4gICAgICAgIFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybWF0ID0gdG9TaWduYWwoaW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVCxcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgICAgIHRoaXMuc3RyaW5naWZ5KHRoaXMudmFsdWUoKSkgfHxcbiAgICAgICAgICAgICh0aGlzLmZpbGxlcigpLmxlbmd0aCA9PT0gdGhpcy5lbC52YWx1ZS5sZW5ndGggPyAnJyA6IHRoaXMuZWwudmFsdWUpO1xuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh2YWx1ZSk7XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFySW4gPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jYWxlbmRhcigpKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NDYWxlbmRhcih0aGlzLmNhbGVuZGFyKCkhKTtcbiAgICAgICAgfVxuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhck91dCA9IGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuY2FsZW5kYXIoKT8udmFsdWVDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMuc2V0RGF0ZSh2YWx1ZSksXG4gICAgICAgICk7XG5cbiAgICAgICAgb25DbGVhbnVwKCgpID0+IHN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKSk7XG4gICAgfSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbmF0aXZlID1cbiAgICAgICAgISFpbmplY3QoVHVpV2l0aE5hdGl2ZVBpY2tlciwge29wdGlvbmFsOiB0cnVlfSkgJiYgdGhpcy5tb2JpbGU7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbWluID0gc2lnbmFsKHRoaXMub3B0aW9ucy5taW4pO1xuICAgIHB1YmxpYyByZWFkb25seSBtYXggPSBzaWduYWwodGhpcy5vcHRpb25zLm1heCk7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICAgIEBJbnB1dCgnbWluJylcbiAgICBwdWJsaWMgc2V0IG1pblNldHRlcihtaW46IEV4Y2x1ZGU8VCwgVHVpRGF5UmFuZ2U+IHwgVHVpRGF5IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1pbi5zZXQobWluIGluc3RhbmNlb2YgVHVpRGF5ID8gbWluIDogdGhpcy5vcHRpb25zLm1pbik7XG4gICAgfVxuXG4gICAgQElucHV0KCdtYXgnKVxuICAgIHB1YmxpYyBzZXQgbWF4U2V0dGVyKG1heDogRXhjbHVkZTxULCBUdWlEYXlSYW5nZT4gfCBUdWlEYXkgfCBudWxsKSB7XG4gICAgICAgIHRoaXMubWF4LnNldChtYXggaW5zdGFuY2VvZiBUdWlEYXkgPyBtYXggOiB0aGlzLm9wdGlvbnMubWF4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVzZXQgPSB0aGlzLmNvbnRyb2wucHJpc3RpbmUgJiYgdGhpcy5jb250cm9sLnVudG91Y2hlZCAmJiAhdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKCkgfHwgcmVzZXQpIHtcbiAgICAgICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHRoaXMuc3RyaW5naWZ5KHRoaXMudmFsdWUoKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldERhdGUodmFsdWU6IFR1aURheSB8IFR1aURheVJhbmdlKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUgYXMgVCk7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoZmFsc2UpO1xuXG4gICAgICAgIGlmICghdGhpcy5lbC5jbG9zZXN0KCd0dWktZHJvcGRvd24nKSkge1xuICAgICAgICAgICAgdGhpcy5lbC5ibHVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcHJvY2Vzc0NhbGVuZGFyKGNhbGVuZGFyOiBUdWlDYWxlbmRhciB8IFR1aUNhbGVuZGFyUmFuZ2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XG5cbiAgICAgICAgY2FsZW5kYXIudmFsdWUgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogdmFsdWU7XG4gICAgICAgIGNhbGVuZGFyLmRpc2FibGVkSXRlbUhhbmRsZXIgPVxuICAgICAgICAgICAgdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkgYXMgVHVpQm9vbGVhbkhhbmRsZXI8XG4gICAgICAgICAgICAgICAgVHVpRGF5IHwgVHVpRGF5UmFuZ2VcbiAgICAgICAgICAgID47XG4gICAgICAgIGNhbGVuZGFyLm1pbiA9IHRoaXMubWluKCk7XG4gICAgICAgIGNhbGVuZGFyLm1heCA9IHRoaXMubWF4KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5tb2JpbGUgJiYgdGhpcy5kcm9wZG93bkVuYWJsZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuLnVwZGF0ZSgob3BlbikgPT4gIW9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHN0cmluZ2lmeSh2YWx1ZTogVCB8IG51bGwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWU/LnRvU3RyaW5nKHRoaXMuZm9ybWF0KCkubW9kZSwgdGhpcy5mb3JtYXQoKS5zZXBhcmF0b3IpID8/ICcnO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0RGF0ZV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc09wdGlvbkNvbnRlbnQoVHVpU2VsZWN0T3B0aW9uKSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0RGF0ZURpcmVjdGl2ZSksXG4gICAgICAgIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tKFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aVdpdGhUZXh0ZmllbGQsXG4gICAgICAgIFR1aURyb3Bkb3duQXV0byxcbiAgICAgICAgVHVpSXRlbXNIYW5kbGVyc1ZhbGlkYXRvcixcbiAgICAgICAgTWFza2l0b0RpcmVjdGl2ZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dERhdGVEaXJlY3RpdmUgZXh0ZW5kcyBUdWlJbnB1dERhdGVCYXNlPFR1aURheT4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpZGVudGl0eSA9IGluamVjdDxUdWlJdGVtc0hhbmRsZXJzPFR1aURheT4+KFxuICAgICAgICBUVUlfSVRFTVNfSEFORExFUlMsXG4gICAgKS5pZGVudGl0eU1hdGNoZXIuc2V0KChhLCBiKSA9PiBhLmRheVNhbWUoYikpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2sgPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZCgoKSA9PlxuICAgICAgICAgICAgbWFza2l0b0RhdGVPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3I6IHRoaXMuZm9ybWF0KCkuc2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIG1vZGU6IFRVSV9EQVRFX0FEQVBURVJbdGhpcy5mb3JtYXQoKS5tb2RlXSxcbiAgICAgICAgICAgICAgICBtaW46IHRoaXMubWluKCkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgICAgICBtYXg6IHRoaXMubWF4KCkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udHJvbD8uY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09PSBEQVRFX0ZJTExFUl9MRU5HVEhcbiAgICAgICAgICAgICAgICA/IFR1aURheS5ub3JtYWxpemVQYXJzZSh2YWx1ZSwgdGhpcy5mb3JtYXQoKS5tb2RlKVxuICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|