@taiga-ui/core 4.9.0 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/root/root.component.d.ts +1 -0
- package/components/scrollbar/scroll-controls.component.d.ts +1 -0
- package/components/scrollbar/scrollbar.component.d.ts +3 -0
- package/components/scrollbar/scrollbar.options.d.ts +2 -4
- package/components/textfield/select.directive.d.ts +0 -1
- package/components/textfield/textfield.component.d.ts +1 -1
- package/components/textfield/textfield.directive.d.ts +2 -0
- package/directives/dropdown/dropdown-context.directive.d.ts +0 -5
- package/directives/dropdown/dropdown-fixed.directive.d.ts +6 -0
- package/directives/dropdown/index.d.ts +1 -0
- package/directives/hint/hint.component.d.ts +1 -2
- package/directives/hint/hint.directive.d.ts +1 -1
- package/directives/surface/surface.directive.d.ts +2 -1
- package/esm2022/animations/animations.mjs +88 -88
- package/esm2022/components/data-list/data-list.component.mjs +5 -5
- package/esm2022/components/dialog/dialog.component.mjs +3 -3
- package/esm2022/components/error/error.component.mjs +3 -3
- package/esm2022/components/expand/expand.component.mjs +2 -3
- package/esm2022/components/icon/icon.component.mjs +2 -2
- package/esm2022/components/root/root.component.mjs +10 -6
- package/esm2022/components/scrollbar/scroll-controls.component.mjs +5 -3
- package/esm2022/components/scrollbar/scrollbar.component.mjs +10 -7
- package/esm2022/components/scrollbar/scrollbar.options.mjs +3 -6
- package/esm2022/components/textfield/select.directive.mjs +3 -5
- package/esm2022/components/textfield/textfield.component.mjs +5 -10
- package/esm2022/components/textfield/textfield.directive.mjs +7 -3
- package/esm2022/directives/dropdown/dropdown-context.directive.mjs +4 -30
- package/esm2022/directives/dropdown/dropdown-fixed.directive.mjs +21 -0
- package/esm2022/directives/dropdown/index.mjs +2 -1
- package/esm2022/directives/hint/hint-unstyled.component.mjs +2 -2
- package/esm2022/directives/hint/hint.component.mjs +9 -11
- package/esm2022/directives/hint/hint.directive.mjs +5 -4
- package/esm2022/directives/surface/surface.directive.mjs +12 -4
- package/esm2022/pipes/fallback-src/fallback-src.pipe.mjs +2 -2
- package/esm2022/tokens/common-icons.mjs +4 -1
- package/esm2022/tokens/icon-resolver.mjs +3 -6
- package/fesm2022/taiga-ui-core-animations.mjs +87 -87
- package/fesm2022/taiga-ui-core-animations.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-data-list.mjs +4 -4
- package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-dialog.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-error.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-expand.mjs +1 -2
- package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-icon.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs +9 -5
- package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs +19 -17
- package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-textfield.mjs +12 -15
- package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs +21 -31
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-hint.mjs +12 -13
- package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-surface.mjs +11 -3
- package/fesm2022/taiga-ui-core-directives-surface.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs +1 -1
- package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-tokens.mjs +5 -5
- package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
- package/package.json +19 -19
- package/styles/components/icon.less +1 -0
- package/styles/mixins/mixins.less +8 -0
- package/styles/mixins/mixins.scss +7 -0
- package/styles/theme/palette.less +6 -0
- package/tokens/common-icons.d.ts +2 -0
|
@@ -4,6 +4,7 @@ export declare class TuiRoot {
|
|
|
4
4
|
protected readonly reducedMotion: boolean;
|
|
5
5
|
protected readonly duration: number;
|
|
6
6
|
protected readonly isMobileRes: import("@angular/core").Signal<boolean>;
|
|
7
|
+
protected readonly nativeScrollbar: boolean;
|
|
7
8
|
protected readonly scrollbars: import("@angular/core").Signal<boolean>;
|
|
8
9
|
constructor();
|
|
9
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiRoot, never>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
export declare class TuiScrollControls {
|
|
3
3
|
private readonly scrollRef;
|
|
4
|
+
protected readonly nativeScrollbar: boolean;
|
|
4
5
|
protected readonly options: import("@angular/animations").AnimationOptions;
|
|
5
6
|
protected readonly refresh$: import("rxjs").Observable<[boolean, boolean] | boolean[]>;
|
|
6
7
|
private get scrollbars();
|
|
@@ -14,6 +14,9 @@ export declare class TuiScrollbar {
|
|
|
14
14
|
protected readonly options: import("./scrollbar.options").TuiScrollbarOptions;
|
|
15
15
|
protected readonly isIOS: boolean;
|
|
16
16
|
protected readonly browserScrollRef: ElementRef<HTMLElement>;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated: use tuiScrollbarOptionsProvider({ mode: 'hidden' })
|
|
19
|
+
*/
|
|
17
20
|
hidden: boolean;
|
|
18
21
|
protected get delegated(): boolean;
|
|
19
22
|
protected get scrollRef(): HTMLElement;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import type { Provider } from '@angular/core';
|
|
2
1
|
export interface TuiScrollbarOptions {
|
|
3
|
-
mode: 'always' | 'hover';
|
|
2
|
+
mode: 'always' | 'hidden' | 'hover' | 'native';
|
|
4
3
|
}
|
|
5
4
|
export declare const TUI_DEFAULT_SCROLLBAR_OPTIONS: TuiScrollbarOptions;
|
|
6
|
-
export declare const TUI_SCROLLBAR_OPTIONS: import("@angular/core").InjectionToken<TuiScrollbarOptions
|
|
7
|
-
export declare function tuiScrollbarOptionsProvider(options: Partial<TuiScrollbarOptions>): Provider;
|
|
5
|
+
export declare const TUI_SCROLLBAR_OPTIONS: import("@angular/core").InjectionToken<TuiScrollbarOptions>, tuiScrollbarOptionsProvider: (item: Partial<TuiScrollbarOptions>) => import("@angular/core").FactoryProvider;
|
|
@@ -4,7 +4,6 @@ import * as i1 from "@taiga-ui/cdk/directives/native-validator";
|
|
|
4
4
|
import * as i2 from "@taiga-ui/core/directives/appearance";
|
|
5
5
|
export declare class TuiSelect<T> extends TuiTextfieldBase<T> {
|
|
6
6
|
private readonly nav;
|
|
7
|
-
private readonly control;
|
|
8
7
|
placeholder: string;
|
|
9
8
|
setValue(value: T): void;
|
|
10
9
|
focus(): void;
|
|
@@ -34,5 +34,5 @@ export declare class TuiTextfieldComponent<T> implements TuiDataListHost<T> {
|
|
|
34
34
|
protected get hasLabel(): boolean;
|
|
35
35
|
protected onResize({ contentRect }: ResizeObserverEntry): void;
|
|
36
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldComponent<any>, never>;
|
|
37
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextfieldComponent<any>, "tui-textfield", never, { "stringify": { "alias": "stringify"; "required": false; }; "content": { "alias": "content"; "required": false; }; "fillerSetter": { "alias": "filler"; "required": false; }; }, {}, ["directive", "label", "control", "input"], ["input", "select", "label", "*", "tui-icon"], true, [{ directive: typeof i1.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiWithDropdownOpen; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithTextfieldDropdown; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithIcons; inputs: {}; outputs: {}; }]>;
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextfieldComponent<any>, "tui-textfield", never, { "stringify": { "alias": "stringify"; "required": false; }; "content": { "alias": "content"; "required": false; }; "fillerSetter": { "alias": "filler"; "required": false; }; }, {}, ["directive", "label", "control", "input"], ["input", "select", "label", "*", "tui-icon"], true, [{ directive: typeof i1.TuiDropdownFixed; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiWithDropdownOpen; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithTextfieldDropdown; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithIcons; inputs: {}; outputs: {}; }]>;
|
|
38
38
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { OnChanges } from '@angular/core';
|
|
2
|
+
import { NgControl } from '@angular/forms';
|
|
2
3
|
import type { TuiInteractiveState } from '@taiga-ui/core/types';
|
|
3
4
|
import { TuiTextfieldComponent } from './textfield.component';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
@@ -6,6 +7,7 @@ import * as i1 from "@taiga-ui/cdk/directives/native-validator";
|
|
|
6
7
|
import * as i2 from "@taiga-ui/core/directives/appearance";
|
|
7
8
|
export declare class TuiTextfieldBase<T> implements OnChanges {
|
|
8
9
|
private readonly focused;
|
|
10
|
+
protected readonly control: NgControl | null;
|
|
9
11
|
protected readonly a: import("@angular/core").WritableSignal<string>;
|
|
10
12
|
protected readonly s: import("@angular/core").WritableSignal<TuiInteractiveState | null>;
|
|
11
13
|
protected readonly m: import("@angular/core").WritableSignal<string | readonly string[] | null>;
|
|
@@ -2,20 +2,15 @@ import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
|
|
|
2
2
|
import { TuiRectAccessor } from '@taiga-ui/core/classes';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class TuiDropdownContext extends TuiRectAccessor {
|
|
5
|
-
private readonly isIOS;
|
|
6
5
|
private readonly isTouch;
|
|
7
6
|
private readonly driver;
|
|
8
7
|
private currentRect;
|
|
9
|
-
private longTapTimeout;
|
|
10
8
|
protected readonly userSelect: import("@angular/core").Signal<"none" | null>;
|
|
11
9
|
protected readonly activeZone: TuiActiveZone;
|
|
12
10
|
readonly type = "dropdown";
|
|
13
11
|
getClientRect(): DOMRect;
|
|
14
12
|
protected closeDropdown(_event?: Event): void;
|
|
15
13
|
protected onContextMenu(x: number, y: number): void;
|
|
16
|
-
protected onTouchStart(x: number, y: number): void;
|
|
17
|
-
protected onTouchMove(x: number, y: number): void;
|
|
18
|
-
protected onTouchEnd(): void;
|
|
19
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownContext, never>;
|
|
20
15
|
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownContext, "[tuiDropdownContext]", never, {}, {}, never, never, true, never>;
|
|
21
16
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class TuiDropdownFixed {
|
|
3
|
+
constructor();
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownFixed, never>;
|
|
5
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownFixed, never, never, {}, {}, never, never, true, never>;
|
|
6
|
+
}
|
|
@@ -6,6 +6,7 @@ export * from './dropdown.driver';
|
|
|
6
6
|
export * from './dropdown.providers';
|
|
7
7
|
export * from './dropdown.service';
|
|
8
8
|
export * from './dropdown-context.directive';
|
|
9
|
+
export * from './dropdown-fixed.directive';
|
|
9
10
|
export * from './dropdown-hover.directive';
|
|
10
11
|
export * from './dropdown-hover.options';
|
|
11
12
|
export * from './dropdown-manual.directive';
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { TuiHoveredService } from '@taiga-ui/cdk/directives/hovered';
|
|
2
2
|
import { TuiRectAccessor } from '@taiga-ui/core/classes';
|
|
3
3
|
import { TuiPositionService } from '@taiga-ui/core/services';
|
|
4
|
-
import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
|
|
5
4
|
import { TuiHintDirective } from './hint.directive';
|
|
6
5
|
import { TuiHintPointer } from './hint-pointer.directive';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
@@ -15,9 +14,9 @@ export declare class TuiHintComponent<C = any> {
|
|
|
15
14
|
protected readonly pointer: TuiHintPointer | null;
|
|
16
15
|
protected readonly accessor: TuiRectAccessor;
|
|
17
16
|
protected readonly hint: TuiHintDirective<C>;
|
|
17
|
+
protected readonly content: import("@angular/core").WritableSignal<import("@taiga-ui/polymorpheus").PolymorpheusContent<C>>;
|
|
18
18
|
protected readonly appearance: string | null | undefined;
|
|
19
19
|
constructor();
|
|
20
|
-
protected get content(): PolymorpheusContent<C>;
|
|
21
20
|
protected onClick(target: HTMLElement): void;
|
|
22
21
|
private apply;
|
|
23
22
|
private update;
|
|
@@ -12,7 +12,7 @@ export declare class TuiHintDirective<C> implements OnDestroy, TuiPortalItem<C>,
|
|
|
12
12
|
private readonly service;
|
|
13
13
|
context?: C;
|
|
14
14
|
appearance: string;
|
|
15
|
-
content: PolymorpheusContent<C
|
|
15
|
+
content: import("@angular/core").WritableSignal<PolymorpheusContent<C>>;
|
|
16
16
|
component: PolymorpheusComponent<any>;
|
|
17
17
|
readonly el: HTMLElement;
|
|
18
18
|
readonly activeZone?: TuiActiveZone | null | undefined;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@taiga-ui/core/directives/appearance";
|
|
2
3
|
export declare class TuiSurface {
|
|
3
4
|
protected readonly nothing: undefined;
|
|
4
5
|
tuiSurface: string;
|
|
5
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSurface, never>;
|
|
6
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSurface, "[tuiSurface]", never, { "tuiSurface": { "alias": "tuiSurface"; "required": false; }; }, {}, never, never, true,
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSurface, "[tuiSurface]", never, { "tuiSurface": { "alias": "tuiSurface"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiAppearance; inputs: { "tuiAppearance": "tuiSurface"; }; outputs: {}; }]>;
|
|
7
8
|
}
|
|
@@ -81,141 +81,141 @@ export const tuiFadeInList = trigger('tuiFadeInList', [
|
|
|
81
81
|
]);
|
|
82
82
|
export const tuiFadeInTop = trigger('tuiFadeInTop', [
|
|
83
83
|
transition(':enter', [
|
|
84
|
-
style({ transform: 'translateY(-
|
|
85
|
-
animate(TRANSITION, style({ transform: 'translateY(
|
|
86
|
-
],
|
|
84
|
+
style({ transform: 'translateY(-{{start}}px)', opacity: 0 }),
|
|
85
|
+
animate(TRANSITION, style({ transform: 'translateY({{end}})', opacity: 1 })),
|
|
86
|
+
], { params: { end: 0, start: 10, duration: 300 } }),
|
|
87
87
|
transition(':leave', [
|
|
88
|
-
style({ transform: 'translateY(
|
|
89
|
-
animate(TRANSITION, style({ transform: 'translateY(-
|
|
90
|
-
],
|
|
88
|
+
style({ transform: 'translateY({{end}})', opacity: 1 }),
|
|
89
|
+
animate(TRANSITION, style({ transform: 'translateY(-{{start}}px)', opacity: 0 })),
|
|
90
|
+
], { params: { end: 0, start: 10, duration: 300 } }),
|
|
91
91
|
]);
|
|
92
92
|
export const tuiFadeInBottom = trigger('tuiFadeInBottom', [
|
|
93
93
|
transition(':enter', [
|
|
94
|
-
style({ transform: 'translateY(
|
|
95
|
-
animate(TRANSITION, style({ transform: 'translateY(
|
|
96
|
-
],
|
|
94
|
+
style({ transform: 'translateY({{start}}px)', opacity: 0 }),
|
|
95
|
+
animate(TRANSITION, style({ transform: 'translateY({{end}})', opacity: 1 })),
|
|
96
|
+
], { params: { end: 0, start: 10, duration: 300 } }),
|
|
97
97
|
transition(':leave', [
|
|
98
|
-
style({ transform: 'translateY(
|
|
99
|
-
animate(TRANSITION, style({ transform: 'translateY(
|
|
100
|
-
],
|
|
98
|
+
style({ transform: 'translateY({{end}})', opacity: 1 }),
|
|
99
|
+
animate(TRANSITION, style({ transform: 'translateY({{start}}px)', opacity: 0 })),
|
|
100
|
+
], { params: { end: 0, start: 10, duration: 300 } }),
|
|
101
101
|
]);
|
|
102
102
|
export const tuiDropdownAnimation = trigger('tuiDropdownAnimation', [
|
|
103
103
|
transition(':enter', [
|
|
104
|
-
style({ transform: 'translateY(-
|
|
105
|
-
animate(TRANSITION, style({ transform: 'translateY(
|
|
106
|
-
],
|
|
104
|
+
style({ transform: 'translateY(-{{start}}px)', opacity: 0 }),
|
|
105
|
+
animate(TRANSITION, style({ transform: 'translateY({{end}})', opacity: 1 })),
|
|
106
|
+
], { params: { end: 0, start: 10, duration: 300 } }),
|
|
107
107
|
transition(':leave', [
|
|
108
|
-
style({ transform: 'translateY(
|
|
109
|
-
animate(TRANSITION, style({ transform: 'translateY(-
|
|
110
|
-
],
|
|
108
|
+
style({ transform: 'translateY({{end}})', opacity: 1 }),
|
|
109
|
+
animate(TRANSITION, style({ transform: 'translateY(-{{start}}px)', opacity: 0 })),
|
|
110
|
+
], { params: { end: 0, start: 10, duration: 300 } }),
|
|
111
111
|
]);
|
|
112
112
|
export const tuiScaleIn = trigger('tuiScaleIn', [
|
|
113
113
|
transition(':enter', [
|
|
114
|
-
style({ transform: 'scale(
|
|
115
|
-
animate(TRANSITION, style({ transform: 'scale(
|
|
116
|
-
],
|
|
114
|
+
style({ transform: 'scale({{start}})' }),
|
|
115
|
+
animate(TRANSITION, style({ transform: 'scale({{end}})' })),
|
|
116
|
+
], { params: { end: 1, start: 0, duration: 300 } }),
|
|
117
117
|
transition(':leave', [
|
|
118
|
-
style({ transform: 'scale(
|
|
119
|
-
animate(TRANSITION, style({ transform: 'scale(
|
|
120
|
-
],
|
|
118
|
+
style({ transform: 'scale({{end}})' }),
|
|
119
|
+
animate(TRANSITION, style({ transform: 'scale({{start}})' })),
|
|
120
|
+
], { params: { end: 1, start: 0, duration: 300 } }),
|
|
121
121
|
]);
|
|
122
122
|
export const tuiPop = trigger('tuiPop', [
|
|
123
123
|
transition(':enter', [
|
|
124
|
-
style({ transform: 'scale(
|
|
125
|
-
animate(TRANSITION, style({ transform: 'scale(
|
|
126
|
-
animate(TRANSITION, style({ transform: 'scale(
|
|
127
|
-
],
|
|
124
|
+
style({ transform: 'scale({{start}})' }),
|
|
125
|
+
animate(TRANSITION, style({ transform: 'scale({{middle}})' })),
|
|
126
|
+
animate(TRANSITION, style({ transform: 'scale({{end}})' })),
|
|
127
|
+
], { params: { end: 1, middle: 1.1, start: 0, duration: 300 } }),
|
|
128
128
|
transition(':leave', [
|
|
129
|
-
style({ transform: 'scale(
|
|
130
|
-
animate(TRANSITION, style({ transform: 'scale(
|
|
131
|
-
animate(TRANSITION, style({ transform: 'scale(
|
|
132
|
-
],
|
|
129
|
+
style({ transform: 'scale({{end}})' }),
|
|
130
|
+
animate(TRANSITION, style({ transform: 'scale({{middle}})' })),
|
|
131
|
+
animate(TRANSITION, style({ transform: 'scale({{start}})' })),
|
|
132
|
+
], { params: { end: 1, middle: 1.1, start: 0, duration: 300 } }),
|
|
133
133
|
]);
|
|
134
134
|
export const tuiScaleInList = trigger('tuiScaleInList', [
|
|
135
135
|
transition('* => *', [
|
|
136
136
|
query(':enter', [
|
|
137
|
-
style({ transform: 'scale(
|
|
137
|
+
style({ transform: 'scale({{start}})' }),
|
|
138
138
|
stagger(STAGGER, [
|
|
139
|
-
animate(TRANSITION, style({ transform: 'scale(
|
|
139
|
+
animate(TRANSITION, style({ transform: 'scale({{end}})' })),
|
|
140
140
|
]),
|
|
141
141
|
], { optional: true }),
|
|
142
142
|
query(':leave', [
|
|
143
|
-
style({ transform: 'scale(
|
|
143
|
+
style({ transform: 'scale({{end}})' }),
|
|
144
144
|
stagger(STAGGER, [
|
|
145
|
-
animate(TRANSITION, style({ transform: 'scale(
|
|
145
|
+
animate(TRANSITION, style({ transform: 'scale({{start}})' })),
|
|
146
146
|
]),
|
|
147
147
|
], { optional: true }),
|
|
148
|
-
],
|
|
148
|
+
], { params: { end: 1, start: 0, duration: 300 } }),
|
|
149
149
|
]);
|
|
150
150
|
export const tuiSlideIn = trigger('tuiSlideIn', [
|
|
151
151
|
transition('* => left', [
|
|
152
|
-
style({ transform: 'translateX(-
|
|
153
|
-
animate(TRANSITION, style({ transform: 'translateX(
|
|
154
|
-
],
|
|
152
|
+
style({ transform: 'translateX(-{{start}})' }),
|
|
153
|
+
animate(TRANSITION, style({ transform: 'translateX({{end}})' })),
|
|
154
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
155
155
|
transition('left => *', [
|
|
156
|
-
style({ transform: 'translateX(
|
|
157
|
-
animate(TRANSITION, style({ transform: 'translateX(-
|
|
158
|
-
],
|
|
156
|
+
style({ transform: 'translateX({{end}})' }),
|
|
157
|
+
animate(TRANSITION, style({ transform: 'translateX(-{{start}})' })),
|
|
158
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
159
159
|
transition('* => right', [
|
|
160
|
-
style({ transform: 'translateX(
|
|
161
|
-
animate(TRANSITION, style({ transform: 'translateX(
|
|
162
|
-
],
|
|
160
|
+
style({ transform: 'translateX({{start}})' }),
|
|
161
|
+
animate(TRANSITION, style({ transform: 'translateX({{end}})' })),
|
|
162
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
163
163
|
transition('right => *', [
|
|
164
|
-
style({ transform: 'translateX(
|
|
165
|
-
animate(TRANSITION, style({ transform: 'translateX(
|
|
166
|
-
],
|
|
164
|
+
style({ transform: 'translateX({{end}})' }),
|
|
165
|
+
animate(TRANSITION, style({ transform: 'translateX({{start}})' })),
|
|
166
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
167
167
|
]);
|
|
168
168
|
export const tuiSlideInLeft = trigger('tuiSlideInLeft', [
|
|
169
169
|
transition(':enter', [
|
|
170
|
-
style({ transform: 'translateX(-
|
|
171
|
-
animate(TRANSITION, style({ transform: 'translateX(
|
|
172
|
-
],
|
|
170
|
+
style({ transform: 'translateX(-{{start}})' }),
|
|
171
|
+
animate(TRANSITION, style({ transform: 'translateX({{end}})' })),
|
|
172
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
173
173
|
transition(':leave', [
|
|
174
|
-
style({ transform: 'translateX(
|
|
175
|
-
animate(TRANSITION, style({ transform: 'translateX(-
|
|
176
|
-
],
|
|
174
|
+
style({ transform: 'translateX({{end}})' }),
|
|
175
|
+
animate(TRANSITION, style({ transform: 'translateX(-{{start}})' })),
|
|
176
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
177
177
|
]);
|
|
178
178
|
export const tuiSlideInLeftList = trigger('tuiSlideInLeftList', [
|
|
179
179
|
transition('* => *', [
|
|
180
180
|
query(':enter', [
|
|
181
|
-
style({ transform: 'translateX(-
|
|
181
|
+
style({ transform: 'translateX(-{{start}})' }),
|
|
182
182
|
stagger(STAGGER, [
|
|
183
|
-
animate(TRANSITION, style({ transform: 'translateX(
|
|
183
|
+
animate(TRANSITION, style({ transform: 'translateX({{end}})' })),
|
|
184
184
|
]),
|
|
185
185
|
], { optional: true }),
|
|
186
186
|
query(':leave', [
|
|
187
|
-
style({ transform: 'translateX(
|
|
187
|
+
style({ transform: 'translateX({{end}})' }),
|
|
188
188
|
stagger(STAGGER, [
|
|
189
|
-
animate(TRANSITION, style({ transform: 'translateX(-
|
|
189
|
+
animate(TRANSITION, style({ transform: 'translateX(-{{start}})' })),
|
|
190
190
|
]),
|
|
191
191
|
], { optional: true }),
|
|
192
|
-
],
|
|
192
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
193
193
|
]);
|
|
194
194
|
export const tuiSlideInRight = trigger('tuiSlideInRight', [
|
|
195
195
|
transition(':enter', [
|
|
196
|
-
style({ transform: 'translateX(
|
|
197
|
-
animate(TRANSITION, style({ transform: 'translateX(
|
|
198
|
-
],
|
|
196
|
+
style({ transform: 'translateX({{start}})' }),
|
|
197
|
+
animate(TRANSITION, style({ transform: 'translateX({{end}})' })),
|
|
198
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
199
199
|
transition(':leave', [
|
|
200
|
-
style({ transform: 'translateX(
|
|
201
|
-
animate(TRANSITION, style({ transform: 'translateX(
|
|
202
|
-
],
|
|
200
|
+
style({ transform: 'translateX({{end}})' }),
|
|
201
|
+
animate(TRANSITION, style({ transform: 'translateX({{start}})' })),
|
|
202
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
203
203
|
]);
|
|
204
204
|
export const tuiSlideInRightList = trigger('tuiSlideInRightList', [
|
|
205
205
|
transition('* => *', [
|
|
206
206
|
query(':enter', [
|
|
207
|
-
style({ transform: 'translateX(
|
|
207
|
+
style({ transform: 'translateX({{start}})' }),
|
|
208
208
|
stagger(STAGGER, [
|
|
209
|
-
animate(TRANSITION, style({ transform: 'translateX(
|
|
209
|
+
animate(TRANSITION, style({ transform: 'translateX({{end}})' })),
|
|
210
210
|
]),
|
|
211
211
|
], { optional: true }),
|
|
212
212
|
query(':leave', [
|
|
213
|
-
style({ transform: 'translateX(
|
|
213
|
+
style({ transform: 'translateX({{end}})' }),
|
|
214
214
|
stagger(STAGGER, [
|
|
215
|
-
animate(TRANSITION, style({ transform: 'translateX(
|
|
215
|
+
animate(TRANSITION, style({ transform: 'translateX({{start}})' })),
|
|
216
216
|
]),
|
|
217
217
|
], { optional: true }),
|
|
218
|
-
],
|
|
218
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
219
219
|
]);
|
|
220
220
|
export const tuiSlideInTop = trigger('tuiSlideInTop', [
|
|
221
221
|
transition(':enter', [
|
|
@@ -230,43 +230,43 @@ export const tuiSlideInTop = trigger('tuiSlideInTop', [
|
|
|
230
230
|
export const tuiSlideInTopList = trigger('tuiSlideInTopList', [
|
|
231
231
|
transition('* => *', [
|
|
232
232
|
query(':enter', [
|
|
233
|
-
style({ transform: 'translateY(
|
|
233
|
+
style({ transform: 'translateY({{start}})' }),
|
|
234
234
|
stagger(STAGGER, [
|
|
235
|
-
animate(TRANSITION, style({ transform: 'translateY(
|
|
235
|
+
animate(TRANSITION, style({ transform: 'translateY({{end}})' })),
|
|
236
236
|
]),
|
|
237
237
|
], { optional: true }),
|
|
238
238
|
query(':leave', [
|
|
239
|
-
style({ transform: 'translateY(
|
|
239
|
+
style({ transform: 'translateY({{end}})' }),
|
|
240
240
|
stagger(STAGGER, [
|
|
241
|
-
animate(TRANSITION, style({ transform: 'translateY(
|
|
241
|
+
animate(TRANSITION, style({ transform: 'translateY({{start}})' })),
|
|
242
242
|
]),
|
|
243
243
|
], { optional: true }),
|
|
244
|
-
],
|
|
244
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
245
245
|
]);
|
|
246
246
|
export const tuiSlideInBottom = trigger('tuiSlideInBottom', [
|
|
247
247
|
transition(':enter', [
|
|
248
|
-
style({ transform: 'translateY(-
|
|
249
|
-
animate(TRANSITION, style({ transform: 'translateY(
|
|
250
|
-
],
|
|
248
|
+
style({ transform: 'translateY(-{{start}})' }),
|
|
249
|
+
animate(TRANSITION, style({ transform: 'translateY({{end}})' })),
|
|
250
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
251
251
|
transition(':leave', [
|
|
252
|
-
style({ transform: 'translateY(
|
|
253
|
-
animate(TRANSITION, style({ transform: 'translateY(-
|
|
254
|
-
],
|
|
252
|
+
style({ transform: 'translateY({{end}})' }),
|
|
253
|
+
animate(TRANSITION, style({ transform: 'translateY(-{{start}})' })),
|
|
254
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
255
255
|
]);
|
|
256
256
|
export const tuiSlideInBottomList = trigger('tuiSlideInBottomList', [
|
|
257
257
|
transition('* => *', [
|
|
258
258
|
query(':enter', [
|
|
259
|
-
style({ transform: 'translateY(-
|
|
259
|
+
style({ transform: 'translateY(-{{start}})' }),
|
|
260
260
|
stagger(STAGGER, [
|
|
261
|
-
animate(TRANSITION, style({ transform: 'translateY(
|
|
261
|
+
animate(TRANSITION, style({ transform: 'translateY({{end}})' })),
|
|
262
262
|
]),
|
|
263
263
|
], { optional: true }),
|
|
264
264
|
query(':leave', [
|
|
265
|
-
style({ transform: 'translateY(
|
|
265
|
+
style({ transform: 'translateY({{end}})' }),
|
|
266
266
|
stagger(STAGGER, [
|
|
267
|
-
animate(TRANSITION, style({ transform: 'translateY(-
|
|
267
|
+
animate(TRANSITION, style({ transform: 'translateY(-{{start}})' })),
|
|
268
268
|
]),
|
|
269
269
|
], { optional: true }),
|
|
270
|
-
],
|
|
270
|
+
], { params: { end: 0, start: '100%', duration: 300 } }),
|
|
271
271
|
]);
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvYW5pbWF0aW9ucy9hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxPQUFPLEVBQ1AsWUFBWSxFQUNaLEtBQUssRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1YsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixNQUFNLFVBQVUsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRCxNQUFNLFFBQVEsR0FBRyxFQUFDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUFDO0FBQzNDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztBQU9wQjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRTtJQUM1RCxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2xGLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRTtJQUN0QyxVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ2pCLEtBQUssQ0FBQyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUN6QixLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztLQUMxRCxDQUFD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QUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBQyxDQUFDLENBQUM7S0FDL0QsRUFDRCxRQUFRLENBQ1g7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLEVBQUU7SUFDaEUsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FDRCxRQUFRLEVBQ1I7WUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQztZQUN2QyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7YUFDM0QsQ0FBQztTQUNMLEVBQ0QsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25CO1FBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLG1CQUFtQixFQUFDLENBQUMsQ0FBQzthQUMvRCxDQUFDO1NBQ0wsRUFDRCxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkI7S0FDSixFQUNELFFBQVEsQ0FDWDtDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYW5pbWF0ZSxcbiAgICBhbmltYXRlQ2hpbGQsXG4gICAgcXVlcnksXG4gICAgc3RhZ2dlcixcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5jb25zdCBUUkFOU0lUSU9OID0gJ3t7ZHVyYXRpb259fW1zIGVhc2UtaW4tb3V0JztcbmNvbnN0IERVUkFUSU9OID0ge3BhcmFtczoge2R1cmF0aW9uOiAzMDB9fTtcbmNvbnN0IFNUQUdHRVIgPSAzMDA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpRHVyYXRpb25PcHRpb25zIHtcbiAgICBwYXJhbXM6IHtkdXJhdGlvbjogbnVtYmVyfTtcbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFkZCB0byBlbmFibGUgY2hpbGQgOmxlYXZlIGFuaW1hdGlvbiAoZml4ZXMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTU3NTMpXG4gKi9cbmV4cG9ydCBjb25zdCB0dWlQYXJlbnRBbmltYXRpb24gPSB0cmlnZ2VyKCd0dWlQYXJlbnRBbmltYXRpb24nLCBbXG4gICAgdHJhbnNpdGlvbignOmxlYXZlJywgW3F1ZXJ5KCc6c2NvcGUgPiAqJywgW2FuaW1hdGVDaGlsZCgpXSwge29wdGlvbmFsOiB0cnVlfSldKSxcbl0pO1xuXG4vKipcbiAqIEFkZCBvbiBwYXJlbnQgdG8gc3RvcCBpbml0aWFsIDplbnRlciBhbmltYXRpb24gZm9yIGNoaWxkcmVuXG4gKi9cbmV4cG9ydCBjb25zdCB0dWlQYXJlbnRTdG9wID0gdHJpZ2dlcigndHVpUGFyZW50U3RvcCcsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSldKTtcblxuZXhwb3J0IGNvbnN0IHR1aUhvc3QgPSB0cmlnZ2VyKCd0dWlIb3N0JywgW1xuICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoe292ZXJmbG93OiAnY2xpcCd9KSxcbiAgICAgICAgcXVlcnkoJzpzY29wZSA+IConLCBbYW5pbWF0ZUNoaWxkKCldLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICBdKSxcbiAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbcXVlcnkoJzpzY29wZSA+IConLCBbYW5pbWF0ZUNoaWxkKCldLCB7b3B0aW9uYWw6IHRydWV9KV0pLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlIZWlnaHRDb2xsYXBzZSA9IHRyaWdnZXIoJ3R1aUhlaWdodENvbGxhcHNlJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbc3R5bGUoe2hlaWdodDogMH0pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6ICcqJ30pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtzdHlsZSh7aGVpZ2h0OiAnKid9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7aGVpZ2h0OiAwfSkpXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpSGVpZ2h0Q29sbGFwc2VMaXN0ID0gdHJpZ2dlcigndHVpSGVpZ2h0Q29sbGFwc2VMaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtoZWlnaHQ6IDB9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7aGVpZ2h0OiAnKid9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtoZWlnaHQ6ICcqJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6IDB9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVdpZHRoQ29sbGFwc2UgPSB0cmlnZ2VyKCd0dWlXaWR0aENvbGxhcHNlJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbc3R5bGUoe3dpZHRoOiAwfSksIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3dpZHRoOiAnKid9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbc3R5bGUoe3dpZHRoOiAnKid9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7d2lkdGg6IDB9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlXaWR0aENvbGxhcHNlTGlzdCA9IHRyaWdnZXIoJ3R1aVdpZHRoQ29sbGFwc2VMaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt3aWR0aDogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt3aWR0aDogJyonfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7d2lkdGg6ICcqJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt3aWR0aDogMH0pKV0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpRmFkZUluID0gdHJpZ2dlcigndHVpRmFkZUluJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbc3R5bGUoe29wYWNpdHk6IDB9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7b3BhY2l0eTogMX0pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtzdHlsZSh7b3BhY2l0eTogMX0pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtvcGFjaXR5OiAwfSkpXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpRmFkZUluTGlzdCA9IHRyaWdnZXIoJ3R1aUZhZGVJbkxpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7b3BhY2l0eTogMX0pKV0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6bGVhdmUnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe29wYWNpdHk6IDF9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7b3BhY2l0eTogMH0pKV0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpRmFkZUluVG9wID0gdHJpZ2dlcigndHVpRmFkZUluVG9wJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTBweCknLCBvcGFjaXR5OiAwfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJywgb3BhY2l0eTogMX0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLCBvcGFjaXR5OiAxfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMHB4KScsIG9wYWNpdHk6IDB9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aUZhZGVJbkJvdHRvbSA9IHRyaWdnZXIoJ3R1aUZhZGVJbkJvdHRvbScsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTBweCknLCBvcGFjaXR5OiAwfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJywgb3BhY2l0eTogMX0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLCBvcGFjaXR5OiAxfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwcHgpJywgb3BhY2l0eTogMH0pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpRHJvcGRvd25BbmltYXRpb24gPSB0cmlnZ2VyKCd0dWlEcm9wZG93bkFuaW1hdGlvbicsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwcHgpJywgb3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsIG9wYWNpdHk6IDF9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJywgb3BhY2l0eTogMX0pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTBweCknLCBvcGFjaXR5OiAwfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTY2FsZUluID0gdHJpZ2dlcigndHVpU2NhbGVJbicsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3NjYWxlKDApJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoMSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoMSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgwKSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVBvcCA9IHRyaWdnZXIoJ3R1aVBvcCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3NjYWxlKDApJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoMS4xKSd9KSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgxKSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgxKSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3NjYWxlKDEuMSknfSkpLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoMCknfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTY2FsZUluTGlzdCA9IHRyaWdnZXIoJ3R1aVNjYWxlSW5MaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgwKSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgxKSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgxKSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSgwKSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW4gPSB0cmlnZ2VyKCd0dWlTbGlkZUluJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IGxlZnQnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnbGVmdCA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gcmlnaHQnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICdyaWdodCA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkxlZnQgPSB0cmlnZ2VyKCd0dWlTbGlkZUluTGVmdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluTGVmdExpc3QgPSB0cmlnZ2VyKCd0dWlTbGlkZUluTGVmdExpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5SaWdodCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5SaWdodCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJblJpZ2h0TGlzdCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5SaWdodExpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluVG9wID0gdHJpZ2dlcigndHVpU2xpZGVJblRvcCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAse3tzdGFydH19LDApJywgcG9pbnRlckV2ZW50czogJ25vbmUnfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLHt7ZW5kfX0sMCknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAse3tlbmR9fSwwKSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAse3tzdGFydH19LDApJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5Ub3BMaXN0ID0gdHJpZ2dlcigndHVpU2xpZGVJblRvcExpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTAwJSknfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTAwJSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluQm90dG9tID0gdHJpZ2dlcigndHVpU2xpZGVJbkJvdHRvbScsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluQm90dG9tTGlzdCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5Cb3R0b21MaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMDAlKSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6bGVhdmUnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG4iXX0=
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvYW5pbWF0aW9ucy9hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxPQUFPLEVBQ1AsWUFBWSxFQUNaLEtBQUssRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1YsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixNQUFNLFVBQVUsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRCxNQUFNLFFBQVEsR0FBRyxFQUFDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUFDO0FBQzNDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztBQU9wQjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRTtJQUM1RCxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ2xGLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRTtJQUN0QyxVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ2pCLEtBQUssQ0FBQyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUN6QixLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztLQUMxRCxDQUFDO0lBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQztDQUNsRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsbUJBQW1CLEVBQUU7SUFDMUQsVUFBVSxDQUNOLFFBQVEsRUFDUixDQUFDLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUMvRCxRQUFRLENBQ1g7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSLENBQUMsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQy9ELFFBQVEsQ0FDWDtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRTtJQUNsRSxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQztZQUNsQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEUsRUFDRDtZQUNJLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQ0o7UUFDRCxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBQyxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5RCxFQUNEO1lBQ0ksUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FDSjtLQUNKLEVBQ0QsUUFBUSxDQUNYO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixFQUFFO0lBQ3hELFVBQVUsQ0FDTixRQUFRLEVBQ1IsQ0FBQyxLQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFDN0QsUUFBUSxDQUNYO0lBQ0QsVUFBVSxDQUNOLFFBQVEsRUFDUixDQUFDLEtBQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUM3RCxRQUFRLENBQ1g7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLEVBQUU7SUFDaEUsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FDRCxRQUFRLEVBQ1I7WUFDSSxLQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUM7WUFDakIsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9ELEVBQ0Q7WUFDSSxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUNKO1FBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQztZQUNuQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0QsRUFDRDtZQUNJLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQ0o7S0FDSixFQUNELFFBQVEsQ0FDWDtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFO0lBQzFDLFVBQVUsQ0FDTixRQUFRLEVBQ1IsQ0FBQyxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFDL0QsUUFBUSxDQUNYO0lBQ0QsVUFBVSxDQUNOLFFBQVEsRUFDUixDQUFDLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUMvRCxRQUFRLENBQ1g7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGVBQWUsRUFBRTtJQUNsRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQztZQUNuQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0QsRUFDRDtZQUNJLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQ0o7UUFDRCxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDO1lBQ25CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvRCxFQUNEO1lBQ0ksUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FDSjtLQUNKLEVBQ0QsUUFBUSxDQUNYO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUU7SUFDaEQsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFDMUQsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7S0FDN0UsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDL0M7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUNyRCxPQUFPLENBQ0gsVUFBVSxFQUNWLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FDN0Q7S0FDSixFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUMvQztDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLEVBQUU7SUFDdEQsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFDekQsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7S0FDN0UsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDL0M7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUNyRCxPQUFPLENBQ0gsVUFBVSxFQUNWLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FDNUQ7S0FDSixFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUMvQztDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtJQUNoRSxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLDBCQUEwQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUMxRCxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztLQUM3RSxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUMvQztJQUNELFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQ3JELE9BQU8sQ0FDSCxVQUFVLEVBQ1YsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLDBCQUEwQixFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUM3RDtLQUNKLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQy9DO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUU7SUFDNUMsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQztLQUM1RCxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUM5QztJQUNELFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQztRQUNwQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUM7S0FDOUQsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDOUM7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRTtJQUNwQyxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGtCQUFrQixFQUFDLENBQUM7UUFDdEMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDO1FBQzVELE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQztLQUM1RCxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQzNEO0lBQ0QsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLG1CQUFtQixFQUFDLENBQUMsQ0FBQztRQUM1RCxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUM7S0FDOUQsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUMzRDtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7SUFDcEQsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FDRCxRQUFRLEVBQ1I7WUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQztZQUN0QyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQzthQUM1RCxDQUFDO1NBQ0wsRUFDRCxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkI7UUFDRCxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDLENBQUM7WUFDcEMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDYixPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUM7YUFDOUQsQ0FBQztTQUNMLEVBQ0QsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25CO0tBQ0osRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDOUM7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRTtJQUM1QyxVQUFVLENBQ04sV0FBVyxFQUNYO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQyxDQUFDO0tBQ2pFLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0lBQ0QsVUFBVSxDQUNOLFdBQVcsRUFDWDtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLENBQUMsQ0FBQztLQUNwRSxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUNuRDtJQUNELFVBQVUsQ0FDTixZQUFZLEVBQ1o7UUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDLENBQUM7S0FDakUsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDbkQ7SUFDRCxVQUFVLENBQ04sWUFBWSxFQUNaO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUMsQ0FBQyxDQUFDO0tBQ25FLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtJQUNwRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQyxDQUFDO0tBQ2pFLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0lBQ0QsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLENBQUMsQ0FBQztLQUNwRSxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUNuRDtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRTtJQUM1RCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx3QkFBd0IsRUFBQyxDQUFDO1lBQzVDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQyxDQUFDO2FBQ2pFLENBQUM7U0FDTCxFQUNELEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUNuQjtRQUNELEtBQUssQ0FDRCxRQUFRLEVBQ1I7WUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQztZQUN6QyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLENBQUMsQ0FBQzthQUNwRSxDQUFDO1NBQ0wsRUFDRCxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkI7S0FDSixFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUNuRDtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsaUJBQWlCLEVBQUU7SUFDdEQsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx1QkFBdUIsRUFBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLENBQUMsQ0FBQztLQUNqRSxFQUNELEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsRUFBQyxDQUNuRDtJQUNELFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx1QkFBdUIsRUFBQyxDQUFDLENBQUM7S0FDbkUsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDbkQ7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUU7SUFDOUQsVUFBVSxDQUNOLFFBQVEsRUFDUjtRQUNJLEtBQUssQ0FDRCxRQUFRLEVBQ1I7WUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUMsQ0FBQztZQUMzQyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLENBQUMsQ0FBQzthQUNqRSxDQUFDO1NBQ0wsRUFDRCxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkI7UUFDRCxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLENBQUM7WUFDekMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDYixPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSx1QkFBdUIsRUFBQyxDQUFDLENBQUM7YUFDbkUsQ0FBQztTQUNMLEVBQ0QsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25CO0tBQ0osRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDbkQ7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGVBQWUsRUFBRTtJQUNsRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLDRCQUE0QixFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUN2RSxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSwwQkFBMEIsRUFBQyxDQUFDLENBQUM7S0FDdEUsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDbkQ7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLDBCQUEwQixFQUFDLENBQUM7UUFDOUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsNEJBQTRCLEVBQUMsQ0FBQyxDQUFDO0tBQ3hFLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixFQUFFO0lBQzFELFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFDLENBQUM7WUFDM0MsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDYixPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDLENBQUM7YUFDakUsQ0FBQztTQUNMLEVBQ0QsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25CO1FBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUMsQ0FBQyxDQUFDO2FBQ25FLENBQUM7U0FDTCxFQUNELEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUNuQjtLQUNKLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixFQUFFO0lBQ3hELFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUMsQ0FBQztRQUM1QyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDLENBQUM7S0FDakUsRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDbkQ7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUMsQ0FBQyxDQUFDO0tBQ3BFLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixFQUFFO0lBQ2hFLFVBQVUsQ0FDTixRQUFRLEVBQ1I7UUFDSSxLQUFLLENBQ0QsUUFBUSxFQUNSO1lBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLENBQUM7WUFDNUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDYixPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDLENBQUM7YUFDakUsQ0FBQztTQUNMLEVBQ0QsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25CO1FBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUjtZQUNJLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUMsQ0FBQyxDQUFDO2FBQ3BFLENBQUM7U0FDTCxFQUNELEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUNuQjtLQUNKLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQ25EO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBhbmltYXRlLFxuICAgIGFuaW1hdGVDaGlsZCxcbiAgICBxdWVyeSxcbiAgICBzdGFnZ2VyLFxuICAgIHN0eWxlLFxuICAgIHRyYW5zaXRpb24sXG4gICAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmNvbnN0IFRSQU5TSVRJT04gPSAne3tkdXJhdGlvbn19bXMgZWFzZS1pbi1vdXQnO1xuY29uc3QgRFVSQVRJT04gPSB7cGFyYW1zOiB7ZHVyYXRpb246IDMwMH19O1xuY29uc3QgU1RBR0dFUiA9IDMwMDtcblxuZXhwb3J0IGludGVyZmFjZSBUdWlEdXJhdGlvbk9wdGlvbnMge1xuICAgIHBhcmFtczoge2R1cmF0aW9uOiBudW1iZXJ9O1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQWRkIHRvIGVuYWJsZSBjaGlsZCA6bGVhdmUgYW5pbWF0aW9uIChmaXhlcyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xNTc1MylcbiAqL1xuZXhwb3J0IGNvbnN0IHR1aVBhcmVudEFuaW1hdGlvbiA9IHRyaWdnZXIoJ3R1aVBhcmVudEFuaW1hdGlvbicsIFtcbiAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbcXVlcnkoJzpzY29wZSA+IConLCBbYW5pbWF0ZUNoaWxkKCldLCB7b3B0aW9uYWw6IHRydWV9KV0pLFxuXSk7XG5cbi8qKlxuICogQWRkIG9uIHBhcmVudCB0byBzdG9wIGluaXRpYWwgOmVudGVyIGFuaW1hdGlvbiBmb3IgY2hpbGRyZW5cbiAqL1xuZXhwb3J0IGNvbnN0IHR1aVBhcmVudFN0b3AgPSB0cmlnZ2VyKCd0dWlQYXJlbnRTdG9wJywgW3RyYW5zaXRpb24oJzplbnRlcicsIFtdKV0pO1xuXG5leHBvcnQgY29uc3QgdHVpSG9zdCA9IHRyaWdnZXIoJ3R1aUhvc3QnLCBbXG4gICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7b3ZlcmZsb3c6ICdjbGlwJ30pLFxuICAgICAgICBxdWVyeSgnOnNjb3BlID4gKicsIFthbmltYXRlQ2hpbGQoKV0sIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgIF0pLFxuICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtxdWVyeSgnOnNjb3BlID4gKicsIFthbmltYXRlQ2hpbGQoKV0sIHtvcHRpb25hbDogdHJ1ZX0pXSksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aUhlaWdodENvbGxhcHNlID0gdHJpZ2dlcigndHVpSGVpZ2h0Q29sbGFwc2UnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtzdHlsZSh7aGVpZ2h0OiAwfSksIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe2hlaWdodDogJyonfSkpXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW3N0eWxlKHtoZWlnaHQ6ICcqJ30pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6IDB9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlIZWlnaHRDb2xsYXBzZUxpc3QgPSB0cmlnZ2VyKCd0dWlIZWlnaHRDb2xsYXBzZUxpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe2hlaWdodDogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtoZWlnaHQ6ICcqJ30pKV0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6bGVhdmUnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe2hlaWdodDogJyonfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe2hlaWdodDogMH0pKV0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpV2lkdGhDb2xsYXBzZSA9IHRyaWdnZXIoJ3R1aVdpZHRoQ29sbGFwc2UnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtzdHlsZSh7d2lkdGg6IDB9KSwgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7d2lkdGg6ICcqJ30pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtzdHlsZSh7d2lkdGg6ICcqJ30pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt3aWR0aDogMH0pKV0sXG4gICAgICAgIERVUkFUSU9OLFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVdpZHRoQ29sbGFwc2VMaXN0ID0gdHJpZ2dlcigndHVpV2lkdGhDb2xsYXBzZUxpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3dpZHRoOiAwfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3dpZHRoOiAnKid9KSldKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt3aWR0aDogJyonfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW2FuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3dpZHRoOiAwfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlGYWRlSW4gPSB0cmlnZ2VyKCd0dWlGYWRlSW4nLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtzdHlsZSh7b3BhY2l0eTogMH0pLCBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtvcGFjaXR5OiAxfSkpXSxcbiAgICAgICAgRFVSQVRJT04sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW3N0eWxlKHtvcGFjaXR5OiAxfSksIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe29wYWNpdHk6IDB9KSldLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlGYWRlSW5MaXN0ID0gdHJpZ2dlcigndHVpRmFkZUluTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtvcGFjaXR5OiAxfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMX0pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFthbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHtvcGFjaXR5OiAwfSkpXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICBEVVJBVElPTixcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlGYWRlSW5Ub3AgPSB0cmlnZ2VyKCd0dWlGYWRlSW5Ub3AnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC17e3N0YXJ0fX1weCknLCBvcGFjaXR5OiAwfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7ZW5kfX0pJywgb3BhY2l0eTogMX0pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6IDEwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknLCBvcGFjaXR5OiAxfSksXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAgIFRSQU5TSVRJT04sXG4gICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLXt7c3RhcnR9fXB4KScsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAxMCwgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aUZhZGVJbkJvdHRvbSA9IHRyaWdnZXIoJ3R1aUZhZGVJbkJvdHRvbScsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tzdGFydH19cHgpJywgb3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KScsIG9wYWNpdHk6IDF9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAxMCwgZHVyYXRpb246IDMwMH19LFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7ZW5kfX0pJywgb3BhY2l0eTogMX0pLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgICBUUkFOU0lUSU9OLFxuICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7c3RhcnR9fXB4KScsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAxMCwgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aURyb3Bkb3duQW5pbWF0aW9uID0gdHJpZ2dlcigndHVpRHJvcGRvd25BbmltYXRpb24nLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC17e3N0YXJ0fX1weCknLCBvcGFjaXR5OiAwfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7ZW5kfX0pJywgb3BhY2l0eTogMX0pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6IDEwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknLCBvcGFjaXR5OiAxfSksXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAgIFRSQU5TSVRJT04sXG4gICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLXt7c3RhcnR9fXB4KScsIG9wYWNpdHk6IDB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAxMCwgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNjYWxlSW4gPSB0cmlnZ2VyKCd0dWlTY2FsZUluJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3NjYWxlKHt7ZW5kfX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMSwgc3RhcnQ6IDAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tlbmR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMSwgc3RhcnQ6IDAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlQb3AgPSB0cmlnZ2VyKCd0dWlQb3AnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3ttaWRkbGV9fSknfSkpLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tlbmR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAxLCBtaWRkbGU6IDEuMSwgc3RhcnQ6IDAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tlbmR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e21pZGRsZX19KSd9KSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMSwgbWlkZGxlOiAxLjEsIHN0YXJ0OiAwLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2NhbGVJbkxpc3QgPSB0cmlnZ2VyKCd0dWlTY2FsZUluTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAnc2NhbGUoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e2VuZH19KSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICdzY2FsZSh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMSwgc3RhcnQ6IDAsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuXSk7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluID0gdHJpZ2dlcigndHVpU2xpZGVJbicsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiBsZWZ0JyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLXt7c3RhcnR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJ2xlZnQgPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgte3tzdGFydH19KSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IHJpZ2h0JyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAncmlnaHQgPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5MZWZ0ID0gdHJpZ2dlcigndHVpU2xpZGVJbkxlZnQnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC17e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e2VuZH19KSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLXt7c3RhcnR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkxlZnRMaXN0ID0gdHJpZ2dlcigndHVpU2xpZGVJbkxlZnRMaXN0JywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICcqID0+IConLFxuICAgICAgICBbXG4gICAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC17e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC17e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5SaWdodCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5SaWdodCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmxlYXZlJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSksXG4gICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7c3RhcnR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJblJpZ2h0TGlzdCA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5SaWdodExpc3QnLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJyogPT4gKicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6ZW50ZXInLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7ZW5kfX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6bGVhdmUnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3tlbmR9fSknfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7e3N0YXJ0fX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgICAge3BhcmFtczoge2VuZDogMCwgc3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG5dKTtcblxuZXhwb3J0IGNvbnN0IHR1aVNsaWRlSW5Ub3AgPSB0cmlnZ2VyKCd0dWlTbGlkZUluVG9wJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6ZW50ZXInLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e3N0YXJ0fX0sMCknLCBwb2ludGVyRXZlbnRzOiAnbm9uZSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAse3tlbmR9fSwwKSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e2VuZH19LDApJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e3N0YXJ0fX0sMCknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJblRvcExpc3QgPSB0cmlnZ2VyKCd0dWlTbGlkZUluVG9wTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKFNUQUdHRVIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7c3RhcnR9fSknfSkpLFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkJvdHRvbSA9IHRyaWdnZXIoJ3R1aVNsaWRlSW5Cb3R0b20nLCBbXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzplbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC17e3N0YXJ0fX0pJ30pLFxuICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KSd9KSksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSh7e2VuZH19KSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoVFJBTlNJVElPTiwgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLXt7c3RhcnR9fSknfSkpLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW5kOiAwLCBzdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuXG5leHBvcnQgY29uc3QgdHVpU2xpZGVJbkJvdHRvbUxpc3QgPSB0cmlnZ2VyKCd0dWlTbGlkZUluQm90dG9tTGlzdCcsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnKiA9PiAqJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgcXVlcnkoXG4gICAgICAgICAgICAgICAgJzplbnRlcicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgte3tzdGFydH19KSd9KSxcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcihTVEFHR0VSLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKFRSQU5TSVRJT04sIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKHt7ZW5kfX0pJ30pKSxcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgICAgICc6bGVhdmUnLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoe3tlbmR9fSknfSksXG4gICAgICAgICAgICAgICAgICAgIHN0YWdnZXIoU1RBR0dFUiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZShUUkFOU0lUSU9OLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgte3tzdGFydH19KSd9KSksXG4gICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtlbmQ6IDAsIHN0YXJ0OiAnMTAwJScsIGR1cmF0aW9uOiAzMDB9fSxcbiAgICApLFxuXSk7XG4iXX0=
|