mis-crystal-design-system 18.0.8 → 18.0.9
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/button/button.directive.scss +69 -0
- package/drawer/drawer.scss +20 -0
- package/dropdown/dropdown.component.d.ts +10 -2
- package/esm2022/dropdown/dropdown.component.mjs +124 -76
- package/esm2022/phone-input/phone-input.component.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-dropdown.mjs +123 -75
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-phone-input.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/input/mis-input.component.scss +180 -0
- package/modal/modal.scss +9 -0
- package/package.json +12 -12
- package/styles/fonts/icomoon.eot +0 -0
- package/styles/fonts/icomoon.svg +315 -0
- package/styles/fonts/icomoon.ttf +0 -0
- package/styles/fonts/icomoon.woff +0 -0
- package/styles/mis-borders-backgrounds.scss +764 -0
- package/styles/mis-color-constants.scss +149 -0
- package/styles/mis-flex.scss +321 -0
- package/styles/mis-fonts.scss +124 -0
- package/styles/mis-icons.scss +1054 -0
- package/styles/mis-mixins.scss +46 -0
- package/styles/mis-old-icon-styles.scss +498 -0
- package/styles/mis-spacing-sizing.scss +2590 -0
- package/styles/mis-typography.scss +462 -0
|
@@ -12,21 +12,22 @@ import * as i6 from "@angular/cdk/a11y";
|
|
|
12
12
|
const _c0 = ["misCustomItem"];
|
|
13
13
|
const _c1 = ["select"];
|
|
14
14
|
const _c2 = ["popupContainer"];
|
|
15
|
-
const _c3 =
|
|
16
|
-
const _c4 = a0 => ({
|
|
17
|
-
const _c5 = a0 => ({
|
|
18
|
-
const _c6 =
|
|
19
|
-
const _c7 = (a0, a1, a2) => ({
|
|
20
|
-
const _c8 = a0 => ({
|
|
21
|
-
const _c9 =
|
|
15
|
+
const _c3 = ["itemsContainer"];
|
|
16
|
+
const _c4 = (a0, a1) => ({ height: a0, width: a1 });
|
|
17
|
+
const _c5 = a0 => ({ width: a0 });
|
|
18
|
+
const _c6 = a0 => ({ transform: a0 });
|
|
19
|
+
const _c7 = (a0, a1, a2) => ({ paddingLeft: a0, border: a1, paddingRight: a2 });
|
|
20
|
+
const _c8 = (a0, a1, a2) => ({ "item-disabled": a0, "item-selected": a1, "icon-only": a2 });
|
|
21
|
+
const _c9 = a0 => ({ $implicit: a0 });
|
|
22
|
+
const _c10 = (a0, a1, a2) => ({ width: a0, "display": a1, "flex-direction": a2 });
|
|
22
23
|
function DropdownComponent_img_3_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
-
i0.ɵɵelement(0, "img",
|
|
24
|
+
i0.ɵɵelement(0, "img", 12);
|
|
24
25
|
} if (rf & 2) {
|
|
25
26
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
26
27
|
i0.ɵɵproperty("width", 16)("height", 16)("src", ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.customIcon, i0.ɵɵsanitizeUrl);
|
|
27
28
|
} }
|
|
28
29
|
function DropdownComponent_p_5_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
-
i0.ɵɵelementStart(0, "p",
|
|
30
|
+
i0.ɵɵelementStart(0, "p", 13);
|
|
30
31
|
i0.ɵɵtext(1);
|
|
31
32
|
i0.ɵɵelementEnd();
|
|
32
33
|
} if (rf & 2) {
|
|
@@ -35,7 +36,7 @@ function DropdownComponent_p_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
35
36
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.multiLine ? ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.label == null ? null : ctx_r1.selectedItem.label.primaryText : (ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.label) || ctx_r1.label, " ");
|
|
36
37
|
} }
|
|
37
38
|
function DropdownComponent_ng_template_6_p_0_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
-
i0.ɵɵelementStart(0, "p",
|
|
39
|
+
i0.ɵɵelementStart(0, "p", 13);
|
|
39
40
|
i0.ɵɵtext(1);
|
|
40
41
|
i0.ɵɵelementEnd();
|
|
41
42
|
} if (rf & 2) {
|
|
@@ -44,13 +45,13 @@ function DropdownComponent_ng_template_6_p_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
44
45
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.label, " ");
|
|
45
46
|
} }
|
|
46
47
|
function DropdownComponent_ng_template_6_img_1_Template(rf, ctx) { if (rf & 1) {
|
|
47
|
-
i0.ɵɵelement(0, "img",
|
|
48
|
+
i0.ɵɵelement(0, "img", 16);
|
|
48
49
|
} if (rf & 2) {
|
|
49
50
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
50
51
|
i0.ɵɵproperty("src", ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.icon, i0.ɵɵsanitizeUrl);
|
|
51
52
|
} }
|
|
52
53
|
function DropdownComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
-
i0.ɵɵtemplate(0, DropdownComponent_ng_template_6_p_0_Template, 2, 1, "p",
|
|
54
|
+
i0.ɵɵtemplate(0, DropdownComponent_ng_template_6_p_0_Template, 2, 1, "p", 14)(1, DropdownComponent_ng_template_6_img_1_Template, 1, 1, "img", 15);
|
|
54
55
|
} if (rf & 2) {
|
|
55
56
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
56
57
|
i0.ɵɵproperty("ngIf", !(ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.icon));
|
|
@@ -59,60 +60,60 @@ function DropdownComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
|
59
60
|
} }
|
|
60
61
|
function DropdownComponent_ng_template_10_div_1__svg_svg_1_Template(rf, ctx) { if (rf & 1) {
|
|
61
62
|
i0.ɵɵnamespaceSVG();
|
|
62
|
-
i0.ɵɵelementStart(0, "svg",
|
|
63
|
-
i0.ɵɵelement(1, "path",
|
|
63
|
+
i0.ɵɵelementStart(0, "svg", 26);
|
|
64
|
+
i0.ɵɵelement(1, "path", 27);
|
|
64
65
|
i0.ɵɵelementEnd();
|
|
65
66
|
} }
|
|
66
67
|
function DropdownComponent_ng_template_10_div_1__svg_svg_3_Template(rf, ctx) { if (rf & 1) {
|
|
67
68
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
68
69
|
i0.ɵɵnamespaceSVG();
|
|
69
|
-
i0.ɵɵelementStart(0, "svg",
|
|
70
|
+
i0.ɵɵelementStart(0, "svg", 28);
|
|
70
71
|
i0.ɵɵlistener("click", function DropdownComponent_ng_template_10_div_1__svg_svg_3_Template_svg_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.searchInputCanceled($event)); });
|
|
71
|
-
i0.ɵɵelement(1, "path",
|
|
72
|
+
i0.ɵɵelement(1, "path", 29);
|
|
72
73
|
i0.ɵɵelementEnd();
|
|
73
74
|
} }
|
|
74
75
|
function DropdownComponent_ng_template_10_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
75
76
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
76
|
-
i0.ɵɵelementStart(0, "div",
|
|
77
|
-
i0.ɵɵtemplate(1, DropdownComponent_ng_template_10_div_1__svg_svg_1_Template, 2, 0, "svg",
|
|
78
|
-
i0.ɵɵelementStart(2, "input",
|
|
77
|
+
i0.ɵɵelementStart(0, "div", 22);
|
|
78
|
+
i0.ɵɵtemplate(1, DropdownComponent_ng_template_10_div_1__svg_svg_1_Template, 2, 0, "svg", 23);
|
|
79
|
+
i0.ɵɵelementStart(2, "input", 24);
|
|
79
80
|
i0.ɵɵlistener("ngModelChange", function DropdownComponent_ng_template_10_div_1_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.searchInputOnChange($event)); })("focus", function DropdownComponent_ng_template_10_div_1_Template_input_focus_2_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.searchInputFocused(true)); });
|
|
80
81
|
i0.ɵɵelementEnd();
|
|
81
|
-
i0.ɵɵtemplate(3, DropdownComponent_ng_template_10_div_1__svg_svg_3_Template, 2, 0, "svg",
|
|
82
|
+
i0.ɵɵtemplate(3, DropdownComponent_ng_template_10_div_1__svg_svg_3_Template, 2, 0, "svg", 25);
|
|
82
83
|
i0.ɵɵelementEnd();
|
|
83
84
|
} if (rf & 2) {
|
|
84
85
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
85
86
|
i0.ɵɵadvance();
|
|
86
87
|
i0.ɵɵproperty("ngIf", !ctx_r1.isSearchInputFocused);
|
|
87
88
|
i0.ɵɵadvance();
|
|
88
|
-
i0.ɵɵproperty("ngModel", ctx_r1.searchInput)("ngStyle", i0.ɵɵpureFunction3(7,
|
|
89
|
+
i0.ɵɵproperty("ngModel", ctx_r1.searchInput)("ngStyle", i0.ɵɵpureFunction3(7, _c7, ctx_r1.isSearchInputFocused ? "12px" : "45px", ctx_r1.isSearchInputFocused ? "1px solid #0937B2" : "1px solid #e0e0e0", ctx_r1.isSearchInputFocused ? "45px" : "10px"))("tabIndex", 0)("placeholder", ctx_r1.isSearchInputFocused ? "" : ctx_r1.searchLabel);
|
|
89
90
|
i0.ɵɵattribute("aria-label", ctx_r1.searchLabel);
|
|
90
91
|
i0.ɵɵadvance();
|
|
91
92
|
i0.ɵɵproperty("ngIf", ctx_r1.isSearchInputFocused);
|
|
92
93
|
} }
|
|
93
94
|
function DropdownComponent_ng_template_10_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
94
|
-
i0.ɵɵelementStart(0, "div",
|
|
95
|
-
i0.ɵɵelement(1, "mis-loader",
|
|
95
|
+
i0.ɵɵelementStart(0, "div", 30);
|
|
96
|
+
i0.ɵɵelement(1, "mis-loader", 31);
|
|
96
97
|
i0.ɵɵelementEnd();
|
|
97
98
|
} if (rf & 2) {
|
|
98
99
|
i0.ɵɵadvance();
|
|
99
100
|
i0.ɵɵproperty("mobileView", true);
|
|
100
101
|
} }
|
|
101
102
|
function DropdownComponent_ng_template_10_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
102
|
-
i0.ɵɵelement(0, "div",
|
|
103
|
+
i0.ɵɵelement(0, "div", 32);
|
|
103
104
|
} }
|
|
104
|
-
function
|
|
105
|
+
function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
105
106
|
i0.ɵɵelementContainerStart(0);
|
|
106
|
-
i0.ɵɵelementContainer(1,
|
|
107
|
+
i0.ɵɵelementContainer(1, 40);
|
|
107
108
|
i0.ɵɵelementContainerEnd();
|
|
108
109
|
} if (rf & 2) {
|
|
109
110
|
const item_r7 = i0.ɵɵnextContext().$implicit;
|
|
110
111
|
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
111
112
|
i0.ɵɵadvance();
|
|
112
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.customItem)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2,
|
|
113
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.customItem)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c9, item_r7));
|
|
113
114
|
} }
|
|
114
|
-
function
|
|
115
|
-
i0.ɵɵelementStart(0, "span",
|
|
115
|
+
function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_0_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
116
|
+
i0.ɵɵelementStart(0, "span", 45);
|
|
116
117
|
i0.ɵɵtext(1);
|
|
117
118
|
i0.ɵɵelementEnd();
|
|
118
119
|
} if (rf & 2) {
|
|
@@ -122,16 +123,16 @@ function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_1_di
|
|
|
122
123
|
i0.ɵɵadvance();
|
|
123
124
|
i0.ɵɵtextInterpolate1(" ", (item_r7 == null ? null : item_r7.label == null ? null : item_r7.label.secondaryText) ? item_r7 == null ? null : item_r7.label == null ? null : item_r7.label.secondaryText : ctx_r1.additionalInfoMessage, " ");
|
|
124
125
|
} }
|
|
125
|
-
function
|
|
126
|
-
i0.ɵɵelementStart(0, "div",
|
|
126
|
+
function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
127
|
+
i0.ɵɵelementStart(0, "div", 8)(1, "span", 43);
|
|
127
128
|
i0.ɵɵtext(2);
|
|
128
129
|
i0.ɵɵelementEnd();
|
|
129
|
-
i0.ɵɵtemplate(3,
|
|
130
|
+
i0.ɵɵtemplate(3, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_0_span_3_Template, 2, 2, "span", 44);
|
|
130
131
|
i0.ɵɵelementEnd();
|
|
131
132
|
} if (rf & 2) {
|
|
132
133
|
const item_r7 = i0.ɵɵnextContext(2).$implicit;
|
|
133
134
|
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
134
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(4,
|
|
135
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(4, _c10, item_r7.icon ? "90%" : "100%", ctx_r1.multiLine ? "flex" : "inherit", ctx_r1.multiLine ? "column" : "inherit"));
|
|
135
136
|
i0.ɵɵadvance();
|
|
136
137
|
i0.ɵɵproperty("ngStyle", ctx_r1.getIconStyles(item_r7.icon, ctx_r1.activeItem));
|
|
137
138
|
i0.ɵɵadvance();
|
|
@@ -139,17 +140,17 @@ function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_1_di
|
|
|
139
140
|
i0.ɵɵadvance();
|
|
140
141
|
i0.ɵɵproperty("ngIf", ctx_r1.multiLine);
|
|
141
142
|
} }
|
|
142
|
-
function
|
|
143
|
-
i0.ɵɵelementStart(0, "div",
|
|
144
|
-
i0.ɵɵelement(1, "img",
|
|
143
|
+
function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
144
|
+
i0.ɵɵelementStart(0, "div", 46);
|
|
145
|
+
i0.ɵɵelement(1, "img", 16);
|
|
145
146
|
i0.ɵɵelementEnd();
|
|
146
147
|
} if (rf & 2) {
|
|
147
148
|
const item_r7 = i0.ɵɵnextContext(2).$implicit;
|
|
148
149
|
i0.ɵɵadvance();
|
|
149
150
|
i0.ɵɵproperty("src", item_r7.icon, i0.ɵɵsanitizeUrl);
|
|
150
151
|
} }
|
|
151
|
-
function
|
|
152
|
-
i0.ɵɵtemplate(0,
|
|
152
|
+
function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
153
|
+
i0.ɵɵtemplate(0, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_0_Template, 4, 8, "div", 41)(1, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_div_1_Template, 2, 1, "div", 42);
|
|
153
154
|
} if (rf & 2) {
|
|
154
155
|
const item_r7 = i0.ɵɵnextContext().$implicit;
|
|
155
156
|
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
@@ -157,32 +158,32 @@ function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_1_di
|
|
|
157
158
|
i0.ɵɵadvance();
|
|
158
159
|
i0.ɵɵproperty("ngIf", item_r7.icon);
|
|
159
160
|
} }
|
|
160
|
-
function
|
|
161
|
+
function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
161
162
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
162
|
-
i0.ɵɵelementStart(0, "div",
|
|
163
|
-
i0.ɵɵlistener("click", function
|
|
164
|
-
i0.ɵɵtemplate(1,
|
|
163
|
+
i0.ɵɵelementStart(0, "div", 38);
|
|
164
|
+
i0.ɵɵlistener("click", function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_Template_div_click_0_listener() { const item_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(item_r7.disabled ? null : ctx_r1.selectItem(item_r7)); })("keyup.enter", function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_Template_div_keyup_enter_0_listener() { const item_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(item_r7.disabled ? null : ctx_r1.selectItem(item_r7)); });
|
|
165
|
+
i0.ɵɵtemplate(1, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_container_1_Template, 2, 4, "ng-container", 39)(2, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_ng_template_2_Template, 2, 2, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
|
|
165
166
|
i0.ɵɵelementEnd();
|
|
166
167
|
} if (rf & 2) {
|
|
167
168
|
const item_r7 = ctx.$implicit;
|
|
168
169
|
const standardItem_r8 = i0.ɵɵreference(3);
|
|
169
170
|
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
170
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(3,
|
|
171
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(3, _c8, item_r7.disabled, ctx_r1.higlightSelectedValue && item_r7.value === (ctx_r1.selectedItem == null ? null : ctx_r1.selectedItem.value), ctx_r1.showOnlyIcon));
|
|
171
172
|
i0.ɵɵadvance();
|
|
172
173
|
i0.ɵɵproperty("ngIf", ctx_r1.customItem)("ngIfElse", standardItem_r8);
|
|
173
174
|
} }
|
|
174
|
-
function
|
|
175
|
-
i0.ɵɵelementStart(0, "cdk-virtual-scroll-viewport",
|
|
176
|
-
i0.ɵɵtemplate(1,
|
|
175
|
+
function DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_Template(rf, ctx) { if (rf & 1) {
|
|
176
|
+
i0.ɵɵelementStart(0, "cdk-virtual-scroll-viewport", 36);
|
|
177
|
+
i0.ɵɵtemplate(1, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_div_1_Template, 4, 7, "div", 37);
|
|
177
178
|
i0.ɵɵelementEnd();
|
|
178
179
|
} if (rf & 2) {
|
|
179
180
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
180
181
|
i0.ɵɵproperty("itemSize", ctx_r1.itemSizeForCdk);
|
|
181
182
|
i0.ɵɵadvance();
|
|
182
|
-
i0.ɵɵproperty("cdkVirtualForOf", ctx_r1.
|
|
183
|
+
i0.ɵɵproperty("cdkVirtualForOf", ctx_r1.currentData);
|
|
183
184
|
} }
|
|
184
|
-
function
|
|
185
|
-
i0.ɵɵelementStart(0, "div",
|
|
185
|
+
function DropdownComponent_ng_template_10_div_4_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
186
|
+
i0.ɵɵelementStart(0, "div", 47);
|
|
186
187
|
i0.ɵɵtext(1);
|
|
187
188
|
i0.ɵɵelementEnd();
|
|
188
189
|
} if (rf & 2) {
|
|
@@ -191,25 +192,26 @@ function DropdownComponent_ng_template_10_div_4_div_2_Template(rf, ctx) { if (rf
|
|
|
191
192
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.searchInput === "" ? ctx_r1.noDataMessage : "No results", " ");
|
|
192
193
|
} }
|
|
193
194
|
function DropdownComponent_ng_template_10_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
194
|
-
i0.ɵɵelementStart(0, "div",
|
|
195
|
-
i0.ɵɵtemplate(
|
|
195
|
+
i0.ɵɵelementStart(0, "div", 33, 3);
|
|
196
|
+
i0.ɵɵtemplate(2, DropdownComponent_ng_template_10_div_4_cdk_virtual_scroll_viewport_2_Template, 2, 2, "cdk-virtual-scroll-viewport", 34)(3, DropdownComponent_ng_template_10_div_4_div_3_Template, 2, 1, "div", 35);
|
|
196
197
|
i0.ɵɵelementEnd();
|
|
197
198
|
} if (rf & 2) {
|
|
198
199
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
200
|
+
i0.ɵɵproperty("ngStyle", ctx_r1.itemsContainerStyle);
|
|
201
|
+
i0.ɵɵadvance(2);
|
|
202
|
+
i0.ɵɵproperty("ngIf", ctx_r1.currentData.length > 0);
|
|
199
203
|
i0.ɵɵadvance();
|
|
200
|
-
i0.ɵɵproperty("ngIf",
|
|
201
|
-
i0.ɵɵadvance();
|
|
202
|
-
i0.ɵɵproperty("ngIf", (ctx_r1.searchInput ? ctx_r1.searchData : ctx_r1.data).length === 0);
|
|
204
|
+
i0.ɵɵproperty("ngIf", ctx_r1.currentData.length === 0);
|
|
203
205
|
} }
|
|
204
206
|
function DropdownComponent_ng_template_10_Template(rf, ctx) { if (rf & 1) {
|
|
205
207
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
206
|
-
i0.ɵɵelementStart(0, "div",
|
|
208
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
207
209
|
i0.ɵɵlistener("keyup.esc", function DropdownComponent_ng_template_10_Template_div_keyup_esc_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeOnEsc($event)); });
|
|
208
|
-
i0.ɵɵtemplate(1, DropdownComponent_ng_template_10_div_1_Template, 4, 11, "div",
|
|
210
|
+
i0.ɵɵtemplate(1, DropdownComponent_ng_template_10_div_1_Template, 4, 11, "div", 18)(2, DropdownComponent_ng_template_10_div_2_Template, 2, 1, "div", 19)(3, DropdownComponent_ng_template_10_div_3_Template, 1, 0, "div", 20)(4, DropdownComponent_ng_template_10_div_4_Template, 4, 3, "div", 21);
|
|
209
211
|
i0.ɵɵelementEnd();
|
|
210
212
|
} if (rf & 2) {
|
|
211
213
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
212
|
-
i0.ɵɵproperty("cdkTrapFocusAutoCapture", true)("ngStyle", i0.ɵɵpureFunction2(6,
|
|
214
|
+
i0.ɵɵproperty("cdkTrapFocusAutoCapture", true)("ngStyle", i0.ɵɵpureFunction2(6, _c4, ctx_r1.dropdownListHeight, ctx_r1.dropdownListWidth));
|
|
213
215
|
i0.ɵɵadvance();
|
|
214
216
|
i0.ɵɵproperty("ngIf", ctx_r1.searchEnabled);
|
|
215
217
|
i0.ɵɵadvance();
|
|
@@ -220,16 +222,18 @@ function DropdownComponent_ng_template_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
220
222
|
i0.ɵɵproperty("ngIf", !ctx_r1.loading);
|
|
221
223
|
} }
|
|
222
224
|
export class DropdownComponent {
|
|
223
|
-
constructor(eRef, overlay, viewContainerRef) {
|
|
225
|
+
constructor(eRef, overlay, viewContainerRef, cdr) {
|
|
224
226
|
this.eRef = eRef;
|
|
225
227
|
this.overlay = overlay;
|
|
226
228
|
this.viewContainerRef = viewContainerRef;
|
|
229
|
+
this.cdr = cdr;
|
|
227
230
|
this.isOpen = false;
|
|
228
231
|
this.loading = false;
|
|
229
232
|
this.isSearchInputFocused = false;
|
|
230
233
|
this.searchInput = "";
|
|
231
234
|
this.searchData = [];
|
|
232
235
|
this.visibleItems = 10;
|
|
236
|
+
this.dynamicHeight = "auto";
|
|
233
237
|
this.data = [];
|
|
234
238
|
this.height = "";
|
|
235
239
|
this.ariaLabel = "";
|
|
@@ -251,6 +255,37 @@ export class DropdownComponent {
|
|
|
251
255
|
}
|
|
252
256
|
ngOnInit() {
|
|
253
257
|
}
|
|
258
|
+
measureAndUpdateHeight() {
|
|
259
|
+
if (!this.isOpen || !this.itemsContainer)
|
|
260
|
+
return;
|
|
261
|
+
const container = this.itemsContainer.nativeElement;
|
|
262
|
+
const items = container.querySelectorAll('.item');
|
|
263
|
+
if (items.length === 0) {
|
|
264
|
+
this.dynamicHeight = "50px";
|
|
265
|
+
this.cdr.detectChanges();
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
let totalMeasuredHeight = 0;
|
|
269
|
+
let maxItemHeight = 0;
|
|
270
|
+
Array.from(items).slice(0, Math.min(8, items.length)).forEach((item) => {
|
|
271
|
+
const rect = item.getBoundingClientRect();
|
|
272
|
+
totalMeasuredHeight += rect.height;
|
|
273
|
+
maxItemHeight = Math.max(maxItemHeight, rect.height);
|
|
274
|
+
});
|
|
275
|
+
const finalHeight = Math.max(50, Math.min(totalMeasuredHeight, 320));
|
|
276
|
+
this.dynamicHeight = `${finalHeight}px`;
|
|
277
|
+
this.cdr.detectChanges();
|
|
278
|
+
}
|
|
279
|
+
get currentData() {
|
|
280
|
+
return this.searchInput ? this.searchData : this.data;
|
|
281
|
+
}
|
|
282
|
+
get itemsContainerStyle() {
|
|
283
|
+
return {
|
|
284
|
+
'height': this.dynamicHeight,
|
|
285
|
+
'max-height': '320px',
|
|
286
|
+
'min-height': '50px'
|
|
287
|
+
};
|
|
288
|
+
}
|
|
254
289
|
getIconStyles(item, activeItem) {
|
|
255
290
|
return {
|
|
256
291
|
'color': item && activeItem ? '#0937B2' : '',
|
|
@@ -263,6 +298,7 @@ export class DropdownComponent {
|
|
|
263
298
|
this.config.dataStream().pipe().subscribe(res => {
|
|
264
299
|
this.data = res;
|
|
265
300
|
this.loading = false;
|
|
301
|
+
setTimeout(() => this.measureAndUpdateHeight(), 100);
|
|
266
302
|
});
|
|
267
303
|
}
|
|
268
304
|
const index = this.data.findIndex((dataItem) => dataItem.value === this.selectedItem.value);
|
|
@@ -284,6 +320,7 @@ export class DropdownComponent {
|
|
|
284
320
|
this.searchData = [];
|
|
285
321
|
this.searchInput = "";
|
|
286
322
|
}
|
|
323
|
+
requestAnimationFrame(() => this.measureAndUpdateHeight());
|
|
287
324
|
}
|
|
288
325
|
searchInputFocused(isFocused) {
|
|
289
326
|
this.isSearchInputFocused = isFocused;
|
|
@@ -292,13 +329,19 @@ export class DropdownComponent {
|
|
|
292
329
|
event.stopPropagation();
|
|
293
330
|
this.searchInput = "";
|
|
294
331
|
this.isSearchInputFocused = false;
|
|
332
|
+
requestAnimationFrame(() => this.measureAndUpdateHeight());
|
|
295
333
|
}
|
|
296
334
|
toggleDropdown() {
|
|
297
335
|
this.isOpen = !this.isOpen;
|
|
298
|
-
if (this.isOpen)
|
|
336
|
+
if (this.isOpen) {
|
|
299
337
|
this.openDropdown(this.popupContainer, this.selectElement.nativeElement);
|
|
300
|
-
|
|
338
|
+
setTimeout(() => {
|
|
339
|
+
this.measureAndUpdateHeight();
|
|
340
|
+
}, 100);
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
301
343
|
this.onCancel();
|
|
344
|
+
}
|
|
302
345
|
}
|
|
303
346
|
openDropdown(template, origin) {
|
|
304
347
|
const positionsBottom = [
|
|
@@ -349,7 +392,7 @@ export class DropdownComponent {
|
|
|
349
392
|
event.stopPropagation();
|
|
350
393
|
event.preventDefault();
|
|
351
394
|
}
|
|
352
|
-
static { this.ɵfac = function DropdownComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DropdownComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); }; }
|
|
395
|
+
static { this.ɵfac = function DropdownComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DropdownComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
|
|
353
396
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DropdownComponent, selectors: [["mis-dropdown"]], contentQueries: function DropdownComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
354
397
|
i0.ɵɵcontentQuery(dirIndex, _c0, 5);
|
|
355
398
|
} if (rf & 2) {
|
|
@@ -358,49 +401,51 @@ export class DropdownComponent {
|
|
|
358
401
|
} }, viewQuery: function DropdownComponent_Query(rf, ctx) { if (rf & 1) {
|
|
359
402
|
i0.ɵɵviewQuery(_c1, 5);
|
|
360
403
|
i0.ɵɵviewQuery(_c2, 5);
|
|
404
|
+
i0.ɵɵviewQuery(_c3, 5);
|
|
361
405
|
i0.ɵɵviewQuery(CdkVirtualScrollViewport, 5);
|
|
362
406
|
} if (rf & 2) {
|
|
363
407
|
let _t;
|
|
364
408
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.selectElement = _t.first);
|
|
365
409
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.popupContainer = _t.first);
|
|
410
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemsContainer = _t.first);
|
|
366
411
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.viewPort = _t.first);
|
|
367
412
|
} }, hostBindings: function DropdownComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
368
413
|
i0.ɵɵlistener("keyup.esc", function DropdownComponent_keyup_esc_HostBindingHandler($event) { return ctx.closeOnEsc($event); });
|
|
369
|
-
} }, inputs: { data: "data", height: "height", ariaLabel: "ariaLabel", width: "width", label: "label", itemSizeForCdk: "itemSizeForCdk", showOnlyIcon: "showOnlyIcon", higlightSelectedValue: "higlightSelectedValue", dropdownListHeight: "dropdownListHeight", dropdownListWidth: "dropdownListWidth", dropdownListPosition: "dropdownListPosition", config: "config", searchEnabled: "searchEnabled", selectedItem: "selectedItem", noDataMessage: "noDataMessage", multiLine: "multiLine", additionalInfoMessage: "additionalInfoMessage", scrollIntoView: "scrollIntoView", searchLabel: "searchLabel", customStyles: "customStyles", activeItem: "activeItem" }, outputs: { onChange: "onChange" }, decls: 12, vars: 16, consts: [["select", ""], ["showIcon", ""], ["popupContainer", ""], ["standardItem", ""], [1, "main-container", 3, "click", "keyup.enter", "ngStyle"], ["tabindex", "0", 1, "dropdown", 3, "keyup.enter", "click", "ngStyle", "ngClass"], ["class", "img-container", 3, "width", "height", "src", 4, "ngIf"], [1, "label", 3, "ngStyle"], ["class", "text", 4, "ngIf", "ngIfElse"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "handle", 3, "ngStyle"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z", "fill", "#181F33"], [1, "img-container", 3, "width", "height", "src"], [1, "text"], ["class", "text", 4, "ngIf"], ["class", "icon", "alt", "no img", 3, "src", 4, "ngIf"], ["alt", "no img", 1, "icon", 3, "src"], ["cdkTrapFocus", "", "tabindex", "0", "aria-label", "dropdown", 1, "popup-container", 3, "keyup.esc", "cdkTrapFocusAutoCapture", "ngStyle"], ["class", "search-container", 4, "ngIf"], ["class", "status-container", 4, "ngIf"], ["tabindex", "-1", "cdkFocusInitial", "", 4, "ngIf"], ["class", "items", 4, "ngIf"], [1, "search-container"], ["class", "search-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 4, "ngIf"], [1, "search-input", 3, "ngModelChange", "focus", "ngModel", "ngStyle", "tabIndex", "placeholder"], ["class", "cancel-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 3, "click", 4, "ngIf"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "search-icon"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z", "fill", "#6A737D"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "cancel-icon", 3, "click"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z", "fill", "#6A737D"], [1, "status-container"], [3, "mobileView"], ["tabindex", "-1", "cdkFocusInitial", ""], [1, "items"], ["class", "dropdown-viewport", 3, "itemSize", 4, "ngIf"], ["class", "noData", 4, "ngIf"], [1, "dropdown-viewport", 3, "itemSize"], ["class", "item", "tabindex", "0", "tabIndex", "0", 3, "ngClass", "click", "keyup.enter", 4, "cdkVirtualFor", "cdkVirtualForOf"], ["tabindex", "0", "tabIndex", "0", 1, "item", 3, "click", "keyup.enter", "ngClass"], [4, "ngIf", "ngIfElse"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "label", 3, "ngStyle", 4, "ngIf"], ["class", "icon-container", 4, "ngIf"], [1, "primaryText", 3, "ngStyle"], ["class", "secondaryText", 3, "ngStyle", 4, "ngIf"], [1, "secondaryText", 3, "ngStyle"], [1, "icon-container"], [1, "noData"]], template: function DropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
414
|
+
} }, inputs: { data: "data", height: "height", ariaLabel: "ariaLabel", width: "width", label: "label", itemSizeForCdk: "itemSizeForCdk", showOnlyIcon: "showOnlyIcon", higlightSelectedValue: "higlightSelectedValue", dropdownListHeight: "dropdownListHeight", dropdownListWidth: "dropdownListWidth", dropdownListPosition: "dropdownListPosition", config: "config", searchEnabled: "searchEnabled", selectedItem: "selectedItem", noDataMessage: "noDataMessage", multiLine: "multiLine", additionalInfoMessage: "additionalInfoMessage", scrollIntoView: "scrollIntoView", searchLabel: "searchLabel", customStyles: "customStyles", activeItem: "activeItem" }, outputs: { onChange: "onChange" }, decls: 12, vars: 16, consts: [["select", ""], ["showIcon", ""], ["popupContainer", ""], ["itemsContainer", ""], ["standardItem", ""], [1, "main-container", 3, "click", "keyup.enter", "ngStyle"], ["tabindex", "0", 1, "dropdown", 3, "keyup.enter", "click", "ngStyle", "ngClass"], ["class", "img-container", 3, "width", "height", "src", 4, "ngIf"], [1, "label", 3, "ngStyle"], ["class", "text", 4, "ngIf", "ngIfElse"], ["width", "20", "height", "20", "viewBox", "0 0 20 20", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "handle", 3, "ngStyle"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z", "fill", "#181F33"], [1, "img-container", 3, "width", "height", "src"], [1, "text"], ["class", "text", 4, "ngIf"], ["class", "icon", "alt", "no img", 3, "src", 4, "ngIf"], ["alt", "no img", 1, "icon", 3, "src"], ["cdkTrapFocus", "", "tabindex", "0", "aria-label", "dropdown", 1, "popup-container", 3, "keyup.esc", "cdkTrapFocusAutoCapture", "ngStyle"], ["class", "search-container", 4, "ngIf"], ["class", "status-container", 4, "ngIf"], ["tabindex", "-1", "cdkFocusInitial", "", 4, "ngIf"], ["class", "items", 3, "ngStyle", 4, "ngIf"], [1, "search-container"], ["class", "search-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 4, "ngIf"], [1, "search-input", 3, "ngModelChange", "focus", "ngModel", "ngStyle", "tabIndex", "placeholder"], ["class", "cancel-icon", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 3, "click", 4, "ngIf"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "search-icon"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z", "fill", "#6A737D"], ["width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg", 1, "cancel-icon", 3, "click"], ["fill-rule", "evenodd", "clip-rule", "evenodd", "d", "M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z", "fill", "#6A737D"], [1, "status-container"], [3, "mobileView"], ["tabindex", "-1", "cdkFocusInitial", ""], [1, "items", 3, "ngStyle"], ["class", "dropdown-viewport", 3, "itemSize", 4, "ngIf"], ["class", "noData", 4, "ngIf"], [1, "dropdown-viewport", 3, "itemSize"], ["class", "item", "tabindex", "0", "tabIndex", "0", 3, "ngClass", "click", "keyup.enter", 4, "cdkVirtualFor", "cdkVirtualForOf"], ["tabindex", "0", "tabIndex", "0", 1, "item", 3, "click", "keyup.enter", "ngClass"], [4, "ngIf", "ngIfElse"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "label", 3, "ngStyle", 4, "ngIf"], ["class", "icon-container", 4, "ngIf"], [1, "primaryText", 3, "ngStyle"], ["class", "secondaryText", 3, "ngStyle", 4, "ngIf"], [1, "secondaryText", 3, "ngStyle"], [1, "icon-container"], [1, "noData"]], template: function DropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
370
415
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
371
|
-
i0.ɵɵelementStart(0, "div",
|
|
416
|
+
i0.ɵɵelementStart(0, "div", 5);
|
|
372
417
|
i0.ɵɵlistener("click", function DropdownComponent_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setUpAsyncDataSearch()); })("keyup.enter", function DropdownComponent_Template_div_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.setUpAsyncDataSearch()); });
|
|
373
|
-
i0.ɵɵelementStart(1, "div",
|
|
418
|
+
i0.ɵɵelementStart(1, "div", 6, 0);
|
|
374
419
|
i0.ɵɵlistener("keyup.enter", function DropdownComponent_Template_div_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleDropdown()); })("click", function DropdownComponent_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleDropdown()); });
|
|
375
|
-
i0.ɵɵtemplate(3, DropdownComponent_img_3_Template, 1, 3, "img",
|
|
376
|
-
i0.ɵɵelementStart(4, "div",
|
|
377
|
-
i0.ɵɵtemplate(5, DropdownComponent_p_5_Template, 2, 1, "p",
|
|
420
|
+
i0.ɵɵtemplate(3, DropdownComponent_img_3_Template, 1, 3, "img", 7);
|
|
421
|
+
i0.ɵɵelementStart(4, "div", 8);
|
|
422
|
+
i0.ɵɵtemplate(5, DropdownComponent_p_5_Template, 2, 1, "p", 9)(6, DropdownComponent_ng_template_6_Template, 2, 2, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
|
378
423
|
i0.ɵɵelementEnd();
|
|
379
424
|
i0.ɵɵnamespaceSVG();
|
|
380
|
-
i0.ɵɵelementStart(8, "svg",
|
|
381
|
-
i0.ɵɵelement(9, "path",
|
|
425
|
+
i0.ɵɵelementStart(8, "svg", 10);
|
|
426
|
+
i0.ɵɵelement(9, "path", 11);
|
|
382
427
|
i0.ɵɵelementEnd()()();
|
|
383
428
|
i0.ɵɵtemplate(10, DropdownComponent_ng_template_10_Template, 5, 9, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
|
|
384
429
|
} if (rf & 2) {
|
|
385
430
|
const showIcon_r9 = i0.ɵɵreference(7);
|
|
386
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(9,
|
|
431
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(9, _c4, ctx.height.length > 0 ? ctx.height : "", ctx.width.length > 0 ? ctx.width : ""));
|
|
387
432
|
i0.ɵɵadvance();
|
|
388
433
|
i0.ɵɵproperty("ngStyle", ctx.customStyles)("ngClass", ctx.isOpen ? "dropdown-port" : "");
|
|
389
434
|
i0.ɵɵattribute("aria-label", ctx.ariaLabel);
|
|
390
435
|
i0.ɵɵadvance(2);
|
|
391
436
|
i0.ɵɵproperty("ngIf", ctx.selectedItem == null ? null : ctx.selectedItem.customIcon);
|
|
392
437
|
i0.ɵɵadvance();
|
|
393
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(12,
|
|
438
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(12, _c5, (ctx.selectedItem == null ? null : ctx.selectedItem.customIcon) ? "calc(100% - 48px)" : "calc(100% - 32px)"));
|
|
394
439
|
i0.ɵɵadvance();
|
|
395
440
|
i0.ɵɵproperty("ngIf", !ctx.showOnlyIcon)("ngIfElse", showIcon_r9);
|
|
396
441
|
i0.ɵɵadvance(3);
|
|
397
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(14,
|
|
398
|
-
} }, dependencies: [i2.NgClass, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.CdkFixedSizeVirtualScroll, i4.CdkVirtualForOf, i4.CdkVirtualScrollViewport, i5.LoaderComponent, i6.CdkTrapFocus], styles: [".main-container[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:32px;width:256px;font-family:Lato,sans-serif!important}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;gap:4px;align-items:center;width:100%;box-sizing:border-box;padding:0 12px}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:hover, .main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:focus-visible{background-color:#f5f7fc;outline:none}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{margin:0!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .handle[_ngcontent-%COMP%]{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.main-container[_ngcontent-%COMP%] .dropdown-port[_ngcontent-%COMP%]{background:#e6ebf7}.popup-container[_ngcontent-%COMP%]{width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:space-between}.popup-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:0;height:0}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%]{position:relative;box-sizing:border-box;padding:8px}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .cancel-icon[_ngcontent-%COMP%]{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]{
|
|
442
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(14, _c6, ctx.isOpen ? "rotate(180deg)" : "rotate(0deg)"));
|
|
443
|
+
} }, dependencies: [i2.NgClass, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.CdkFixedSizeVirtualScroll, i4.CdkVirtualForOf, i4.CdkVirtualScrollViewport, i5.LoaderComponent, i6.CdkTrapFocus], styles: [".main-container[_ngcontent-%COMP%]{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:32px;width:256px;font-family:Lato,sans-serif!important}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;gap:4px;align-items:center;width:100%;box-sizing:border-box;padding:0 12px}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:hover, .main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%]:focus-visible{background-color:#f5f7fc;outline:none}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{margin:0!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0}.main-container[_ngcontent-%COMP%] .dropdown[_ngcontent-%COMP%] .handle[_ngcontent-%COMP%]{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.main-container[_ngcontent-%COMP%] .dropdown-port[_ngcontent-%COMP%]{background:#e6ebf7}.popup-container[_ngcontent-%COMP%]{width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:space-between}.popup-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:0;height:0}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%]{position:relative;box-sizing:border-box;padding:8px}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.popup-container[_ngcontent-%COMP%] .search-container[_ngcontent-%COMP%] .cancel-icon[_ngcontent-%COMP%]{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]{padding:0 0 8px 8px;overflow-y:auto}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]::-webkit-scrollbar{width:5px;height:0}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .noData[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:44px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%]{height:100%}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;gap:10px;padding:4px 12px;border-radius:6px;min-height:40px;height:auto;letter-spacing:.2px;color:#181f33}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover, .popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:focus-visible{background-color:#f5f7fc;outline:none}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{width:100%;line-height:20px;font-size:14px;font-style:normal;font-weight:400}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .primaryText[_ngcontent-%COMP%]{color:#181f33;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] .secondaryText[_ngcontent-%COMP%]{color:#6a737d;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{width:10%;display:flex;justify-content:flex-end}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .dropdown-viewport[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:20px;height:20px}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%]{cursor:not-allowed!important}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%]:hover, .popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%]:focus-visible{background-color:transparent!important;outline:none!important}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-disabled[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{color:#929dab!important;-webkit-user-select:none!important;user-select:none!important}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item-selected[_ngcontent-%COMP%]{background-color:#e0e6f6;outline:none}.popup-container[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .icon-only[_ngcontent-%COMP%]{justify-content:center!important}[_ngcontent-%COMP%]::-webkit-scrollbar{height:8px;width:8px;background:#fff;border-radius:13px}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#c8cdd3;border-radius:13px;cursor:pointer}.status-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:128px}.status-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-align:center}"] }); }
|
|
399
444
|
}
|
|
400
445
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DropdownComponent, [{
|
|
401
446
|
type: Component,
|
|
402
|
-
args: [{ selector: "mis-dropdown", template: "<div (click)=\"setUpAsyncDataSearch()\"\n(keyup.enter)=\"setUpAsyncDataSearch()\"\n class=\"main-container\"\n [ngStyle]=\"{\n height: height.length > 0 ? height : '',\n width: width.length > 0 ? width : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"customStyles\"\n [attr.aria-label]=\"ariaLabel\"\n [ngClass]=\"isOpen ? 'dropdown-port': ''\"\n >\n <img class=\"img-container\" [width]=\"16\" [height]=\"16\" [src]=\"selectedItem?.customIcon\" *ngIf=\"selectedItem?.customIcon\">\n <div class=\"label\" [ngStyle]=\"{width: selectedItem?.customIcon ? 'calc(100% - 48px)' : 'calc(100% - 32px)'}\">\n <p class=\"text\" *ngIf=\"!showOnlyIcon; else showIcon\">\n {{ multiLine ? selectedItem?.label?.primaryText : selectedItem?.label || label }}\n </p>\n <ng-template #showIcon>\n <p class=\"text\" *ngIf=\"!selectedItem?.icon\">\n {{ label }}\n </p>\n <img class=\"icon\" *ngIf=\"!!selectedItem?.icon\" [src]=\"selectedItem?.icon\" alt=\"no img\" />\n </ng-template>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\" tabindex=\"0\"\n [ngStyle]=\"{\n height: dropdownListHeight,\n width: dropdownListWidth\n }\"\n (keyup.esc)=\"closeOnEsc($event)\"\n aria-label=\"dropdown\"\n >\n <div *ngIf=\"searchEnabled\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n [ngModel]=\"searchInput\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused ? '12px' : '45px',\n border: isSearchInputFocused ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused ? '45px' : '10px'\n }\"\n [tabIndex]=\"0\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused ? '' : searchLabel\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n [attr.aria-label]=\"searchLabel\"\n />\n <svg\n *ngIf=\"isSearchInputFocused\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div class=\"status-container\" *ngIf=\"loading\">\n <mis-loader [mobileView]=\"true\"></mis-loader>\n </div>\n <div tabindex=\"-1\" *ngIf=\"!searchEnabled\" cdkFocusInitial></div>\n <div class=\"items\" *ngIf=\"!loading \"> \n <cdk-virtual-scroll-viewport *ngIf=\"!((searchInput ? searchData : data).length === 0)\" [itemSize]=\"itemSizeForCdk\" class=\"dropdown-viewport\">\n <div\n class=\"item\"\n tabindex=\"0\"\n [ngClass]=\"{ 'item-disabled': item.disabled, 'item-selected': (higlightSelectedValue && item.value === selectedItem?.value), 'icon-only' : showOnlyIcon }\"\n (click)=\"item.disabled ? null : selectItem(item)\"\n (keyup.enter)=\"item.disabled ? null : selectItem(item)\"\n *cdkVirtualFor=\"let item of searchInput ? searchData : data;\"\n tabIndex=\"0\"\n >\n <ng-container *ngIf=\"customItem; else standardItem\">\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </ng-container>\n <ng-template #standardItem>\n <div class=\"label\" *ngIf=\"!showOnlyIcon\" [ngStyle]=\"{ width: item.icon ? '90%' : '100%', 'display': multiLine ? 'flex': 'inherit', 'flex-direction': multiLine ? 'column': 'inherit' }\">\n <span class=\"primaryText\" [ngStyle]=\"getIconStyles(item.icon, activeItem)\">{{ multiLine ? item?.label?.primaryText : item?.label }}</span>\n <span class=\"secondaryText\" *ngIf=\"multiLine\" [ngStyle]=\"getIconStyles(item.icon, activeItem)\"> {{ item?.label?.secondaryText ? item?.label?.secondaryText : additionalInfoMessage }} </span>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </ng-template>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"noData\" *ngIf=\"(searchInput ? searchData : data).length === 0\">\n {{ searchInput === \"\" ? noDataMessage : \"No results\" }}\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".main-container{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:32px;width:256px;font-family:Lato,sans-serif!important}.main-container .dropdown{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;gap:4px;align-items:center;width:100%;box-sizing:border-box;padding:0 12px}.main-container .dropdown:hover,.main-container .dropdown:focus-visible{background-color:#f5f7fc;outline:none}.main-container .dropdown .label{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container .dropdown .label .text{margin:0!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container .dropdown .label .count{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0}.main-container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.main-container .dropdown-port{background:#e6ebf7}.popup-container{width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:space-between}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{height:100%;min-height:200px;padding:8px 0 8px 8px;overflow-y:scroll}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.popup-container .items .dropdown-viewport{height:100%}.popup-container .items .dropdown-viewport .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;height:auto;letter-spacing:.2px;color:#181f33}.popup-container .items .dropdown-viewport .item:hover,.popup-container .items .dropdown-viewport .item:focus-visible{background-color:#f5f7fc;outline:none}.popup-container .items .dropdown-viewport .item .label{width:100%;line-height:20px;font-size:14px;font-style:normal;font-weight:400;text-overflow:ellipsis;overflow:hidden}.popup-container .items .dropdown-viewport .item .label .primaryText{color:#181f33;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px}.popup-container .items .dropdown-viewport .item .label .secondaryText{color:#6a737d;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px}.popup-container .items .dropdown-viewport .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .dropdown-viewport .item .icon-container .icon{width:20px;height:20px}.popup-container .items .item-disabled{cursor:not-allowed!important}.popup-container .items .item-disabled:hover,.popup-container .items .item-disabled:focus-visible{background-color:transparent!important;outline:none!important}.popup-container .items .item-disabled .label>span{color:#929dab!important;-webkit-user-select:none!important;user-select:none!important}.popup-container .items .item-selected{background-color:#e0e6f6;outline:none}.popup-container .items .icon-only{justify-content:center!important}::-webkit-scrollbar{height:8px;width:8px;background:#fff;border-radius:13px}::-webkit-scrollbar-thumb{background:#c8cdd3;border-radius:13px;cursor:pointer}.status-container{display:flex;justify-content:center;align-items:center;height:128px}.status-container p{text-align:center}\n"] }]
|
|
403
|
-
}], () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }], { data: [{
|
|
447
|
+
args: [{ selector: "mis-dropdown", template: "<div (click)=\"setUpAsyncDataSearch()\"\n(keyup.enter)=\"setUpAsyncDataSearch()\"\n class=\"main-container\"\n [ngStyle]=\"{\n height: height.length > 0 ? height : '',\n width: width.length > 0 ? width : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"customStyles\"\n [attr.aria-label]=\"ariaLabel\"\n [ngClass]=\"isOpen ? 'dropdown-port': ''\"\n >\n <img class=\"img-container\" [width]=\"16\" [height]=\"16\" [src]=\"selectedItem?.customIcon\" *ngIf=\"selectedItem?.customIcon\">\n <div class=\"label\" [ngStyle]=\"{width: selectedItem?.customIcon ? 'calc(100% - 48px)' : 'calc(100% - 32px)'}\">\n <p class=\"text\" *ngIf=\"!showOnlyIcon; else showIcon\">\n {{ multiLine ? selectedItem?.label?.primaryText : selectedItem?.label || label }}\n </p>\n <ng-template #showIcon>\n <p class=\"text\" *ngIf=\"!selectedItem?.icon\">\n {{ label }}\n </p>\n <img class=\"icon\" *ngIf=\"!!selectedItem?.icon\" [src]=\"selectedItem?.icon\" alt=\"no img\" />\n </ng-template>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n<ng-template #popupContainer>\n <div\n class=\"popup-container\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\" tabindex=\"0\"\n [ngStyle]=\"{\n height: dropdownListHeight,\n width: dropdownListWidth\n }\"\n (keyup.esc)=\"closeOnEsc($event)\"\n aria-label=\"dropdown\"\n >\n <div *ngIf=\"searchEnabled\" class=\"search-container\">\n <svg\n *ngIf=\"!isSearchInputFocused\"\n class=\"search-icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.21508 11.1456C4.21508 7.3179 7.33722 4.21165 11.1926 4.21165C15.048 4.21165 18.1702 7.3179 18.1702 11.1456C18.1702 12.6931 17.6599 14.1226 16.7972 15.2767L15.3685 16.7013C14.2044 17.5668 12.759 18.0796 11.1926 18.0796C7.33722 18.0796 4.21508 14.9734 4.21508 11.1456ZM15.9421 17.7835C14.6021 18.7329 12.9627 19.2913 11.1926 19.2913C6.66977 19.2913 3 15.6461 3 11.1456C3 6.64512 6.66977 3 11.1926 3C15.7155 3 19.3852 6.64512 19.3852 11.1456C19.3852 12.9371 18.8037 14.5931 17.8184 15.9375L19.8361 17.4048C20.6705 17.912 21.7554 18.6543 20.2454 20.215C18.7353 21.7756 18.0099 20.6663 17.4991 19.8364L15.9421 17.7835Z\"\n fill=\"#6A737D\"\n />\n </svg>\n <input\n [ngModel]=\"searchInput\"\n [ngStyle]=\"{\n paddingLeft: isSearchInputFocused ? '12px' : '45px',\n border: isSearchInputFocused ? '1px solid #0937B2' : '1px solid #e0e0e0',\n paddingRight: isSearchInputFocused ? '45px' : '10px'\n }\"\n [tabIndex]=\"0\"\n (ngModelChange)=\"searchInputOnChange($event)\"\n [placeholder]=\"isSearchInputFocused ? '' : searchLabel\"\n (focus)=\"searchInputFocused(true)\"\n class=\"search-input\"\n [attr.aria-label]=\"searchLabel\"\n />\n <svg\n *ngIf=\"isSearchInputFocused\"\n class=\"cancel-icon\"\n (click)=\"searchInputCanceled($event)\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.87446 7.32144C8.44588 6.89285 7.751 6.89285 7.32242 7.32144C6.89383 7.75002 6.89383 8.4449 7.32242 8.87349L10.4488 11.9999L7.32357 15.1252C6.89498 15.5538 6.89498 16.2486 7.32357 16.6772C7.75215 17.1058 8.44703 17.1058 8.87561 16.6772L12.0009 13.552L15.1261 16.6772C15.5547 17.1058 16.2496 17.1058 16.6781 16.6772C17.1067 16.2486 17.1067 15.5537 16.6781 15.1251L13.5529 11.9999L16.6793 8.87354C17.1079 8.44496 17.1079 7.75008 16.6793 7.3215C16.2507 6.89291 15.5558 6.89291 15.1273 7.3215L12.0009 10.4479L8.87446 7.32144Z\"\n fill=\"#6A737D\"\n />\n </svg>\n </div>\n <div class=\"status-container\" *ngIf=\"loading\">\n <mis-loader [mobileView]=\"true\"></mis-loader>\n </div>\n <div tabindex=\"-1\" *ngIf=\"!searchEnabled\" cdkFocusInitial></div>\n <div class=\"items\" #itemsContainer [ngStyle]=\"itemsContainerStyle\" *ngIf=\"!loading \"> \n <cdk-virtual-scroll-viewport *ngIf=\"currentData.length > 0\" [itemSize]=\"itemSizeForCdk\" class=\"dropdown-viewport\">\n <div\n class=\"item\"\n tabindex=\"0\"\n [ngClass]=\"{ 'item-disabled': item.disabled, 'item-selected': (higlightSelectedValue && item.value === selectedItem?.value), 'icon-only' : showOnlyIcon }\"\n (click)=\"item.disabled ? null : selectItem(item)\"\n (keyup.enter)=\"item.disabled ? null : selectItem(item)\"\n *cdkVirtualFor=\"let item of currentData;\"\n tabIndex=\"0\"\n >\n <ng-container *ngIf=\"customItem; else standardItem\">\n <ng-container\n [ngTemplateOutlet]=\"customItem\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </ng-container>\n <ng-template #standardItem>\n <div class=\"label\" *ngIf=\"!showOnlyIcon\" [ngStyle]=\"{ width: item.icon ? '90%' : '100%', 'display': multiLine ? 'flex': 'inherit', 'flex-direction': multiLine ? 'column': 'inherit' }\">\n <span class=\"primaryText\" [ngStyle]=\"getIconStyles(item.icon, activeItem)\">{{ multiLine ? item?.label?.primaryText : item?.label }}</span>\n <span class=\"secondaryText\" *ngIf=\"multiLine\" [ngStyle]=\"getIconStyles(item.icon, activeItem)\"> {{ item?.label?.secondaryText ? item?.label?.secondaryText : additionalInfoMessage }} </span>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </ng-template>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"noData\" *ngIf=\"currentData.length === 0\">\n {{ searchInput === \"\" ? noDataMessage : \"No results\" }}\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".main-container{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:32px;width:256px;font-family:Lato,sans-serif!important}.main-container .dropdown{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:inherit;border:1px solid #e0e0e0;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;gap:4px;align-items:center;width:100%;box-sizing:border-box;padding:0 12px}.main-container .dropdown:hover,.main-container .dropdown:focus-visible{background-color:#f5f7fc;outline:none}.main-container .dropdown .label{box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container .dropdown .label .text{margin:0!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.main-container .dropdown .label .count{background-color:#e0e0e0;border-radius:50%;padding:2px 7px;margin:0}.main-container .dropdown .handle{width:24px;height:24px;transition:.3s;position:absolute;right:12px;border-radius:50%;overflow:hidden}.main-container .dropdown-port{background:#e6ebf7}.popup-container{width:100%;max-height:340px;padding-bottom:0;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff;box-shadow:0 12px 24px #0000001f;display:flex;flex-direction:column;overflow:hidden;justify-content:space-between}.popup-container::-webkit-scrollbar{width:0;height:0}.popup-container .search-container{position:relative;box-sizing:border-box;padding:8px}.popup-container .search-container .search-icon{position:absolute;width:24px;height:24px;top:50%;transform:translateY(-50%);left:18px;z-index:1}.popup-container .search-container .search-input{height:40px;width:100%;padding:12px;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:8px;outline:none;caret-color:#0937b2;font-style:normal;font-weight:400;font-size:12px;line-height:18px;display:flex;align-items:center;letter-spacing:.2px;color:#181f33}.popup-container .search-container .cancel-icon{position:absolute;cursor:pointer;width:24px;height:24px;top:50%;transform:translateY(-50%);right:18px;z-index:1}.popup-container .items{padding:0 0 8px 8px;overflow-y:auto}.popup-container .items::-webkit-scrollbar{width:5px;height:0}.popup-container .items::-webkit-scrollbar-thumb{background:#9aa7b4;border-radius:10px}.popup-container .items .noData{display:flex;justify-content:center;align-items:center;height:44px;font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.popup-container .items .dropdown-viewport{height:100%}.popup-container .items .dropdown-viewport .item{cursor:pointer;display:flex;justify-content:flex-start;align-items:center;gap:10px;padding:4px 12px;border-radius:6px;min-height:40px;height:auto;letter-spacing:.2px;color:#181f33}.popup-container .items .dropdown-viewport .item:hover,.popup-container .items .dropdown-viewport .item:focus-visible{background-color:#f5f7fc;outline:none}.popup-container .items .dropdown-viewport .item .label{width:100%;line-height:20px;font-size:14px;font-style:normal;font-weight:400}.popup-container .items .dropdown-viewport .item .label .primaryText{color:#181f33;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container .items .dropdown-viewport .item .label .secondaryText{color:#6a737d;font-family:Lato;font-size:14px;line-height:20px;letter-spacing:.2px;white-space:normal;word-wrap:break-word}.popup-container .items .dropdown-viewport .item .icon-container{width:10%;display:flex;justify-content:flex-end}.popup-container .items .dropdown-viewport .item .icon-container .icon{width:20px;height:20px}.popup-container .items .item-disabled{cursor:not-allowed!important}.popup-container .items .item-disabled:hover,.popup-container .items .item-disabled:focus-visible{background-color:transparent!important;outline:none!important}.popup-container .items .item-disabled .label>span{color:#929dab!important;-webkit-user-select:none!important;user-select:none!important}.popup-container .items .item-selected{background-color:#e0e6f6;outline:none}.popup-container .items .icon-only{justify-content:center!important}::-webkit-scrollbar{height:8px;width:8px;background:#fff;border-radius:13px}::-webkit-scrollbar-thumb{background:#c8cdd3;border-radius:13px;cursor:pointer}.status-container{display:flex;justify-content:center;align-items:center;height:128px}.status-container p{text-align:center}\n"] }]
|
|
448
|
+
}], () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }], { data: [{
|
|
404
449
|
type: Input
|
|
405
450
|
}], height: [{
|
|
406
451
|
type: Input
|
|
@@ -450,6 +495,9 @@ export class DropdownComponent {
|
|
|
450
495
|
}], popupContainer: [{
|
|
451
496
|
type: ViewChild,
|
|
452
497
|
args: ["popupContainer", { static: false }]
|
|
498
|
+
}], itemsContainer: [{
|
|
499
|
+
type: ViewChild,
|
|
500
|
+
args: ["itemsContainer", { static: false }]
|
|
453
501
|
}], viewPort: [{
|
|
454
502
|
type: ViewChild,
|
|
455
503
|
args: [CdkVirtualScrollViewport]
|
|
@@ -461,4 +509,4 @@ export class DropdownComponent {
|
|
|
461
509
|
args: ["keyup.esc", ['$event']]
|
|
462
510
|
}] }); })();
|
|
463
511
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DropdownComponent, { className: "DropdownComponent" }); })();
|
|
464
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNqSyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2U5RCwwQkFBd0g7OztJQUFsRSxBQUFkLEFBQWIsMEJBQVksY0FBYyw4RkFBaUM7OztJQUVwRiw2QkFBcUQ7SUFDbkQsWUFDRjtJQUFBLGlCQUFJOzs7SUFERixjQUNGO0lBREUsNFBBQ0Y7OztJQUVFLDZCQUE0QztJQUMxQyxZQUNGO0lBQUEsaUJBQUk7OztJQURGLGNBQ0Y7SUFERSw2Q0FDRjs7O0lBQ0EsMEJBQXlGOzs7SUFBMUMscUdBQTBCOzs7SUFBekUsQUFIQSw2RUFBNEMsb0VBRzZDOzs7SUFIeEUsdUZBQXlCO0lBR3ZCLGNBQTBCO0lBQTFCLHdGQUEwQjs7OztJQWdDL0MsK0JBUUM7SUFDQywyQkFLRTtJQUNKLGlCQUFNOzs7OztJQWVOLCtCQVNDO0lBTkMsMk1BQVMsa0NBQTJCLEtBQUM7SUFPckMsMkJBS0U7SUFDSixpQkFBTTs7OztJQS9DUiwrQkFBb0Q7SUFDbEQsNkZBUUM7SUFRRCxpQ0FhRTtJQUhBLEFBRkEsa05BQWlCLGtDQUEyQixLQUFDLCtLQUVwQywwQkFBbUIsSUFBSSxDQUFDLEtBQUM7SUFWcEMsaUJBYUU7SUFDRiw2RkFTQztJQVFILGlCQUFNOzs7SUE5Q0QsY0FBMkI7SUFBM0IsbURBQTJCO0lBZ0I1QixjQUF1QjtJQVF2QixBQUZBLEFBTEEsQUFEQSw0Q0FBdUIsOE1BS3JCLGVBQ1ksc0VBRXlDOztJQU10RCxjQUEwQjtJQUExQixrREFBMEI7OztJQWlCL0IsK0JBQThDO0lBQzVDLGlDQUE2QztJQUMvQyxpQkFBTTs7SUFEUSxjQUFtQjtJQUFuQixpQ0FBbUI7OztJQUVqQywwQkFBZ0U7OztJQVk1RCw2QkFBb0Q7SUFDbEQsNEJBR2dCOzs7OztJQUZaLGNBQStCO0lBQy9CLEFBREEsb0RBQStCLGdFQUNnQjs7O0lBTWpELGdDQUErRjtJQUFDLFlBQXVGO0lBQUEsaUJBQU87Ozs7SUFBaEosK0VBQWdEO0lBQUUsY0FBdUY7SUFBdkYsMk9BQXVGOzs7SUFEdkwsQUFERiw4QkFBd0wsZUFDM0c7SUFBQSxZQUF3RDtJQUFBLGlCQUFPO0lBQzFJLGtKQUErRjtJQUNqRyxpQkFBTTs7OztJQUhtQyxtS0FBOEk7SUFDM0osY0FBZ0Q7SUFBaEQsK0VBQWdEO0lBQUMsY0FBd0Q7SUFBeEQsbUtBQXdEO0lBQ3RHLGNBQWU7SUFBZix1Q0FBZTs7O0lBRTlDLCtCQUE4QztJQUM1QywwQkFBbUQ7SUFDckQsaUJBQU07OztJQURjLGNBQWlCO0lBQWpCLG9EQUFpQjs7O0lBRHJDLEFBSkEsMElBQXdMLDZIQUkxSTs7OztJQUoxQiwyQ0FBbUI7SUFJVixjQUFlO0lBQWYsbUNBQWU7Ozs7SUFwQjlDLCtCQVFDO0lBSEQsQUFEQSwyUUFBeUIsSUFBSSxHQUFHLDBCQUFnQixLQUFDLDBRQUNsQixJQUFJLEdBQUcsMEJBQWdCLEtBQUM7SUFVdkQsQUFOQSw4SUFBb0QsK0pBTXpCO0lBUzdCLGlCQUFNOzs7OztJQXJCSiwrTUFBMEo7SUFNM0ksY0FBa0I7SUFBQSxBQUFsQix3Q0FBa0IsNkJBQWlCOzs7SUFWcEQsdURBQTZJO0lBQzNJLHNIQVFDO0lBaUJMLGlCQUE4Qjs7O0lBMUIyRCxnREFBMkI7SUFPdkYsY0FBbUM7SUFBbkMsc0ZBQW1DOzs7SUFvQjlELCtCQUEyRTtJQUN6RSxZQUNGO0lBQUEsaUJBQU07OztJQURKLGNBQ0Y7SUFERSxnR0FDRjs7O0lBOUJGLCtCQUFxQztJQTRCbkMsQUEzQkEsd0lBQTZJLDJFQTJCbEU7SUFHN0UsaUJBQU07OztJQTlCMEIsY0FBdUQ7SUFBdkQsNkZBQXVEO0lBMkJoRSxjQUFvRDtJQUFwRCwwRkFBb0Q7Ozs7SUExRjdFLCtCQVFDO0lBRkMsaU1BQWEseUJBQWtCLEtBQUM7SUF3RGhDLEFBREEsQUFIQSxBQWpEQSxtRkFBb0QscUVBaUROLHFFQUdZLHFFQUNyQjtJQWdDdkMsaUJBQU07OztJQTVGSixBQURxQyw4Q0FBZ0MsNEZBSW5FO0lBSUksY0FBbUI7SUFBbkIsMkNBQW1CO0lBaURNLGNBQWE7SUFBYixxQ0FBYTtJQUd4QixjQUFvQjtJQUFwQiw0Q0FBb0I7SUFDcEIsY0FBYztJQUFkLHNDQUFjOztBRHBHdEMsTUFBTSxPQUFPLGlCQUFpQjtJQWtDNUIsWUFBb0IsSUFBZ0IsRUFBVSxPQUFnQixFQUFVLGdCQUFrQztRQUF0RixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFqQzFHLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUN0QyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUNoQyxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNULFNBQUksR0FBb0IsRUFBRSxDQUFDO1FBQzNCLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFDcEIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFVBQUssR0FBVyxRQUFRLENBQUM7UUFFekIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUNoQyxzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFDL0IseUJBQW9CLEdBQXFCLE1BQU0sQ0FBQztRQUVoRCxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5QixpQkFBWSxHQUFpQixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3RELGtCQUFhLEdBQVcsU0FBUyxDQUFDO1FBQ2xDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsZ0JBQVcsR0FBVSxnQkFBZ0IsQ0FBQztRQUV0QyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU1rRCxDQUFDO0lBQzlHLFFBQVE7SUFDUixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVMsRUFBRSxVQUFtQjtRQUMxQyxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM1QyxhQUFhLEVBQUUsSUFBSSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQy9DLENBQUM7SUFDSixDQUFDO0lBRUgsb0JBQW9CO1FBRWxCLElBQUcsSUFBSSxDQUFDLE1BQU0sRUFDZCxDQUFDO1lBQ0csSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFBLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFBO2dCQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1lBQ3hCLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUYsSUFBSSxJQUFJLENBQUMsY0FBYztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBYztRQUNqQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBYztRQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsUUFBUTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztRQUM1QixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxTQUFrQjtRQUNuQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxLQUFLO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDOztZQUNyRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNPLFlBQVksQ0FBQyxRQUE4QixFQUFFLE1BQW1CO1FBQ3RFLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLElBQUksc0JBQXNCLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakgsSUFBSSxzQkFBc0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM5RyxDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUc7WUFDbkIsSUFBSSxzQkFBc0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2xILElBQUksc0JBQXNCLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMvRyxDQUFDO1FBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNsQyxRQUFRLEVBQUU7YUFDVixtQkFBbUIsQ0FBQyxNQUFNLENBQUM7YUFDM0IsYUFBYSxDQUFDO1lBQ2IsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1lBQ3hGLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztTQUNuRixDQUFDO2FBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLElBQUksYUFBYSxDQUFDO1lBQ2hDLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGFBQWEsRUFBRSxrQ0FBa0M7WUFDakQsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFO1lBQzFELGdCQUFnQjtZQUNoQixLQUFLLEVBQUUsTUFBTSxDQUFDLFdBQVc7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxJQUFJLElBQUksQ0FBQyxpQkFBaUI7WUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQzFGLElBQUksSUFBSSxDQUFDLGtCQUFrQjtZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFVBQVUsQ0FBQyxJQUFJO1FBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFHRCxVQUFVLENBQUMsS0FBb0I7UUFDN0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekIsQ0FBQztrSEF4SVUsaUJBQWlCO29FQUFqQixpQkFBaUI7Ozs7Ozs7OzJCQStCakIsd0JBQXdCOzs7Ozs7O1lBL0J4QixvR0FBQSxzQkFBa0IsSUFBRDs7O1lDWDlCLDhCQU9DO1lBTkQsQUFESyxpSUFBUywwQkFBc0IsS0FBQyxnSUFDdEIsMEJBQXNCLEtBQUM7WUFPcEMsaUNBU0M7WUFKQyxBQURBLDZJQUFlLG9CQUFnQixLQUFDLG9IQUN2QixvQkFBZ0IsS0FBQztZQUsxQixrRUFBd0g7WUFDeEgsOEJBQTZHO1lBSTNHLEFBSEEsOERBQXFELHNHQUc5QjtZQU16QixpQkFBTTs7WUFDTiw4QkFRQztZQUNDLDJCQUtFO1lBR1IsQUFERSxBQURFLGlCQUFNLEVBQ0YsRUFDRjtZQUNOLHFIQUE2Qjs7O1lBN0MzQixvSUFHRTtZQVFBLGNBQXdCO1lBRXhCLEFBRkEsMENBQXdCLDhDQUVnQjs7WUFFZ0QsZUFBOEI7WUFBOUIsb0ZBQThCO1lBQ25HLGNBQXlGO1lBQXpGLGtLQUF5RjtZQUN6RixjQUFxQjtZQUFBLEFBQXJCLHdDQUFxQix5QkFBYTtZQVluRCxlQUFxRTtZQUFyRSxxR0FBcUU7OztpRkRyQjlELGlCQUFpQjtjQU43QixTQUFTOzJCQUNFLGNBQWM7Z0dBWWYsSUFBSTtrQkFBWixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxZQUFZO2tCQUFwQixLQUFLO1lBQ0cscUJBQXFCO2tCQUE3QixLQUFLO1lBQ0csa0JBQWtCO2tCQUExQixLQUFLO1lBQ0csaUJBQWlCO2tCQUF6QixLQUFLO1lBQ0csb0JBQW9CO2tCQUE1QixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLHFCQUFxQjtrQkFBN0IsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDSSxRQUFRO2tCQUFqQixNQUFNO1lBQ2lDLGFBQWE7a0JBQXBELFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNVLGNBQWM7a0JBQTdELFNBQVM7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ1QsUUFBUTtrQkFBNUMsU0FBUzttQkFBQyx3QkFBd0I7WUFDZSxVQUFVO2tCQUEzRCxZQUFZO21CQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFvR2hELFVBQVU7a0JBRFQsWUFBWTttQkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7O2tGQW5JMUIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtZHJvcGRvd25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGRvd24uY29tcG9uZW50LnNjc3NcIl0sXG4gIFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzT3BlbiA9IGZhbHNlO1xuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU2VhcmNoSW5wdXRGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHNlYXJjaElucHV0OiBzdHJpbmcgPSBcIlwiO1xuICBzZWFyY2hEYXRhOiBEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICB2aXNpYmxlSXRlbXMgPSAxMDtcbiAgQElucHV0KCkgZGF0YTogRHJvcGRvd25JdGVtW10gID0gW107XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9IFwiU2VsZWN0XCI7XG4gIEBJbnB1dCgpIGl0ZW1TaXplRm9yQ2RrOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNob3dPbmx5SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWdsaWdodFNlbGVjdGVkVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0SGVpZ2h0OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RXaWR0aDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgZHJvcGRvd25MaXN0UG9zaXRpb246IFwiTGVmdFwiIHwgXCJSaWdodFwiID0gXCJMZWZ0XCI7XG4gIEBJbnB1dCgpIGNvbmZpZ1xuICBASW5wdXQoKSBzZWFyY2hFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBEcm9wZG93bkl0ZW0gPSB7IHZhbHVlOiBcIlwiLCBsYWJlbDogXCJcIiB9O1xuICBASW5wdXQoKSBub0RhdGFNZXNzYWdlOiBzdHJpbmcgPSBcIk5vIERhdGFcIjtcbiAgQElucHV0KCkgbXVsdGlMaW5lOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFkZGl0aW9uYWxJbmZvTWVzc2FnZSA6IHN0cmluZztcbiAgQElucHV0KCkgc2Nyb2xsSW50b1ZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2VhcmNoTGFiZWw6c3RyaW5nID0gXCJTZWFyY2ggS2V5d29yZFwiO1xuICBASW5wdXQoKSBjdXN0b21TdHlsZXM6ICB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBASW5wdXQoKSBhY3RpdmVJdGVtOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoXCJzZWxlY3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoXCJwb3B1cENvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgcG9wdXBDb250YWluZXI6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCkgdmlld1BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcbiAgQENvbnRlbnRDaGlsZChcIm1pc0N1c3RvbUl0ZW1cIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGN1c3RvbUl0ZW06IFRlbXBsYXRlUmVmPEVsZW1lbnQ+O1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZVJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgZ2V0SWNvblN0eWxlcyhpdGVtOiBhbnksIGFjdGl2ZUl0ZW06IGJvb2xlYW4pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NvbG9yJzogaXRlbSAmJiBhY3RpdmVJdGVtID8gJyMwOTM3QjInIDogJycsXG4gICAgICAnZm9udC13ZWlnaHQnOiBpdGVtICYmIGFjdGl2ZUl0ZW0gPyAnNzAwJyA6ICcnXG4gICAgfTtcbiAgfVxuXG5zZXRVcEFzeW5jRGF0YVNlYXJjaCgpXG57XG4gIGlmKHRoaXMuY29uZmlnKVxuICB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jb25maWcuZGF0YVN0cmVhbSgpLnBpcGUoKS5zdWJzY3JpYmUocmVzPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICB9KVxuICB9XG4gIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLmZpbmRJbmRleCgoZGF0YUl0ZW0pID0+IGRhdGFJdGVtLnZhbHVlID09PSB0aGlzLnNlbGVjdGVkSXRlbS52YWx1ZSk7XG4gIGlmICh0aGlzLnNjcm9sbEludG9WaWV3KVxuICAgIHRoaXMudmlld1BvcnQuc2Nyb2xsVG9JbmRleChpbmRleCwgJ3Ntb290aCcpO1xufVxuICBmaWx0ZXJCeVZhbHVlKGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkudHJpbSgpKSk7XG4gIH1cblxuICBmaWx0ZXJCeVByaW1hcnlUZXh0KGFycmF5LCBzdHJpbmc6IHN0cmluZykge1xuICAgIHJldHVybiBhcnJheS5maWx0ZXIobyA9PiBvLmxhYmVsLnByaW1hcnlUZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc3RyaW5nLnRvTG93ZXJDYXNlKCkudHJpbSgpKSk7XG4gIH1cbiAgc2VhcmNoSW5wdXRPbkNoYW5nZShuZXdWYWx1ZSkge1xuICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBuZXdWYWx1ZTtcbiAgICBpZiAobmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IHRoaXMubXVsdGlMaW5lID8gdGhpcy5maWx0ZXJCeVByaW1hcnlUZXh0KHRoaXMuZGF0YSwgbmV3VmFsdWUpIDogdGhpcy5maWx0ZXJCeVZhbHVlKHRoaXMuZGF0YSwgbmV3VmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlYXJjaERhdGEgPSBbXTtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBcIlwiO1xuICAgIH1cbiAgfVxuICBzZWFyY2hJbnB1dEZvY3VzZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgfVxuICBzZWFyY2hJbnB1dENhbmNlbGVkKGV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICB9XG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICAgIGlmICh0aGlzLmlzT3BlbikgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5wb3B1cENvbnRhaW5lciwgdGhpcy5zZWxlY3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIGVsc2UgdGhpcy5vbkNhbmNlbCgpO1xuICB9XG4gIHByaXZhdGUgb3BlbkRyb3Bkb3duKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50Piwgb3JpZ2luOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uc0JvdHRvbSA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcImJvdHRvbVwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNCksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwiZW5kXCIsIG9yaWdpblk6IFwiYm90dG9tXCIgfSwgeyBvdmVybGF5WDogXCJlbmRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNClcbiAgICBdO1xuICAgIGNvbnN0IHBvc2l0aW9uc1RvcCA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwiYm90dG9tXCIgfSwgMCwgLTQpLFxuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcImVuZFwiLCBvcmlnaW5ZOiBcInRvcFwiIH0sIHsgb3ZlcmxheVg6IFwiZW5kXCIsIG92ZXJsYXlZOiBcImJvdHRvbVwiIH0sIDAsIC00KVxuICAgIF07XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgLi4uKHRoaXMuZHJvcGRvd25MaXN0UG9zaXRpb24gPT09IFwiUmlnaHRcIiA/IHBvc2l0aW9uc0JvdHRvbS5yZXZlcnNlKCkgOiBwb3NpdGlvbnNCb3R0b20pLFxuICAgICAgICAuLi4odGhpcy5kcm9wZG93bkxpc3RQb3NpdGlvbiA9PT0gXCJSaWdodFwiID8gcG9zaXRpb25zVG9wLnJldmVyc2UoKSA6IHBvc2l0aW9uc1RvcClcbiAgICAgIF0pXG4gICAgICAud2l0aFB1c2godHJ1ZSk7XG4gICAgY29uc3QgY29uZmlncyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogXCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICB3aWR0aDogb3JpZ2luLmNsaWVudFdpZHRoXG4gICAgfSk7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWdzKTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RXaWR0aCkgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyB3aWR0aDogdGhpcy5kcm9wZG93bkxpc3RXaWR0aCB9KTtcbiAgICBpZiAodGhpcy5kcm9wZG93bkxpc3RIZWlnaHQpIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgaGVpZ2h0OiB0aGlzLmRyb3Bkb3duTGlzdEhlaWdodCB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICB9KTtcbiAgfVxuICBzZWxlY3RJdGVtKGl0ZW0pIHtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoaXRlbSk7ICBcbiAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKCk7XG4gIH1cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5pc1NlYXJjaElucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gXCJcIjtcbiAgfVxuICBcbiAgQEhvc3RMaXN0ZW5lcihcImtleXVwLmVzY1wiLCBbJyRldmVudCddKVxuICBjbG9zZU9uRXNjKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25JdGVtIHtcbiAgbGFiZWw6IGFueSA7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgY3VzdG9tSWNvbj86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25JdGVtTGFiZWwge1xuICBwcmltYXJ5VGV4dCA/OiBzdHJpbmc7XG4gIHNlY29uZGFyeVRleHQgPzogc3RyaW5nO1xufVxuIiwiPGRpdiAoY2xpY2spPVwic2V0VXBBc3luY0RhdGFTZWFyY2goKVwiXG4oa2V5dXAuZW50ZXIpPVwic2V0VXBBc3luY0RhdGFTZWFyY2goKVwiXG4gIGNsYXNzPVwibWFpbi1jb250YWluZXJcIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgaGVpZ2h0OiBoZWlnaHQubGVuZ3RoID4gMCA/IGhlaWdodCA6ICcnLFxuICAgIHdpZHRoOiB3aWR0aC5sZW5ndGggPiAwID8gd2lkdGggOiAnJ1xuICB9XCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICNzZWxlY3RcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiXG4gICAgW25nU3R5bGVdPVwiY3VzdG9tU3R5bGVzXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW25nQ2xhc3NdPVwiaXNPcGVuID8gJ2Ryb3Bkb3duLXBvcnQnOiAnJ1wiXG4gID5cbiAgICA8aW1nIGNsYXNzPVwiaW1nLWNvbnRhaW5lclwiIFt3aWR0aF09XCIxNlwiIFtoZWlnaHRdPVwiMTZcIiBbc3JjXT1cInNlbGVjdGVkSXRlbT8uY3VzdG9tSWNvblwiICpuZ0lmPVwic2VsZWN0ZWRJdGVtPy5jdXN0b21JY29uXCI+XG4gICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW25nU3R5bGVdPVwie3dpZHRoOiBzZWxlY3RlZEl0ZW0/LmN1c3RvbUljb24gPyAnY2FsYygxMDAlIC0gNDhweCknIDogJ2NhbGMoMTAwJSAtIDMycHgpJ31cIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dFwiICpuZ0lmPVwiIXNob3dPbmx5SWNvbjsgZWxzZSBzaG93SWNvblwiPlxuICAgICAgICB7eyBtdWx0aUxpbmUgPyBzZWxlY3RlZEl0ZW0/LmxhYmVsPy5wcmltYXJ5VGV4dCA6IHNlbGVjdGVkSXRlbT8ubGFiZWwgfHwgbGFiZWwgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0ljb24+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dFwiICpuZ0lmPVwiIXNlbGVjdGVkSXRlbT8uaWNvblwiPlxuICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGltZyBjbGFzcz1cImljb25cIiAqbmdJZj1cIiEhc2VsZWN0ZWRJdGVtPy5pY29uXCIgW3NyY109XCJzZWxlY3RlZEl0ZW0/Lmljb25cIiBhbHQ9XCJubyBpbWdcIiAvPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8c3ZnXG4gICAgICBjbGFzcz1cImhhbmRsZVwiXG4gICAgICBbbmdTdHlsZV09XCJ7IHRyYW5zZm9ybTogaXNPcGVuID8gJ3JvdGF0ZSgxODBkZWcpJyA6ICdyb3RhdGUoMGRlZyknIH1cIlxuICAgICAgd2lkdGg9XCIyMFwiXG4gICAgICBoZWlnaHQ9XCIyMFwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgZD1cIk0xMy44MjUgNy4xNTg0NUwxMCAxMC45NzUxTDYuMTc1IDcuMTU4NDVMNSA4LjMzMzQ1TDEwIDEzLjMzMzRMMTUgOC4zMzM0NUwxMy44MjUgNy4xNTg0NVpcIlxuICAgICAgICBmaWxsPVwiIzE4MUYzM1wiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNwb3B1cENvbnRhaW5lcj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicG9wdXAtY29udGFpbmVyXCIgY2RrVHJhcEZvY3VzIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCIgdGFiaW5kZXg9XCIwXCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICBoZWlnaHQ6IGRyb3Bkb3duTGlzdEhlaWdodCxcbiAgICAgIHdpZHRoOiBkcm9wZG93bkxpc3RXaWR0aFxuICAgIH1cIlxuICAgIChrZXl1cC5lc2MpPVwiY2xvc2VPbkVzYygkZXZlbnQpXCJcbiAgICBhcmlhLWxhYmVsPVwiZHJvcGRvd25cIlxuICA+XG4gICAgPGRpdiAqbmdJZj1cInNlYXJjaEVuYWJsZWRcIiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCIhaXNTZWFyY2hJbnB1dEZvY3VzZWRcIlxuICAgICAgICBjbGFzcz1cInNlYXJjaC1pY29uXCJcbiAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZD1cIk00LjIxNTA4IDExLjE0NTZDNC4yMTUwOCA3LjMxNzkgNy4zMzcyMiA0LjIxMTY1IDExLjE5MjYgNC4yMTE2NUMxNS4wNDggNC4yMTE2NSAxOC4xNzAyIDcuMzE3OSAxOC4xNzAyIDExLjE0NTZDMTguMTcwMiAxMi42OTMxIDE3LjY1OTkgMTQuMTIyNiAxNi43OTcyIDE1LjI3NjdMMTUuMzY4NSAxNi43MDEzQzE0LjIwNDQgMTcuNTY2OCAxMi43NTkgMTguMDc5NiAxMS4xOTI2IDE4LjA3OTZDNy4zMzcyMiAxOC4wNzk2IDQuMjE1MDggMTQuOTczNCA0LjIxNTA4IDExLjE0NTZaTTE1Ljk0MjEgMTcuNzgzNUMxNC42MDIxIDE4LjczMjkgMTIuOTYyNyAxOS4yOTEzIDExLjE5MjYgMTkuMjkxM0M2LjY2OTc3IDE5LjI5MTMgMyAxNS42NDYxIDMgMTEuMTQ1NkMzIDYuNjQ1MTIgNi42Njk3NyAzIDExLjE5MjYgM0MxNS43MTU1IDMgMTkuMzg1MiA2LjY0NTEyIDE5LjM4NTIgMTEuMTQ1NkMxOS4zODUyIDEyLjkzNzEgMTguODAzNyAxNC41OTMxIDE3LjgxODQgMTUuOTM3NUwxOS44MzYxIDE3LjQwNDhDMjAuNjcwNSAxNy45MTIgMjEuNzU1NCAxOC42NTQzIDIwLjI0NTQgMjAuMjE1QzE4LjczNTMgMjEuNzc1NiAxOC4wMDk5IDIwLjY2NjMgMTcuNDk5MSAxOS44MzY0TDE1Ljk0MjEgMTcuNzgzNVpcIlxuICAgICAgICAgIGZpbGw9XCIjNkE3MzdEXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPGlucHV0XG4gICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaElucHV0XCJcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgIHBhZGRpbmdMZWZ0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICcxMnB4JyA6ICc0NXB4JyxcbiAgICAgICAgICBib3JkZXI6IGlzU2VhcmNoSW5wdXRGb2N1c2VkID8gJzFweCBzb2xpZCAjMDkzN0IyJyA6ICcxcHggc29saWQgI2UwZTBlMCcsXG4gICAgICAgICAgcGFkZGluZ1JpZ2h0OiBpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICc0NXB4JyA6ICcxMHB4J1xuICAgICAgICB9XCJcbiAgICAgICAgW3RhYkluZGV4XT1cIjBcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hJbnB1dE9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaXNTZWFyY2hJbnB1dEZvY3VzZWQgPyAnJyA6IHNlYXJjaExhYmVsXCJcbiAgICAgICAgKGZvY3VzKT1cInNlYXJjaElucHV0Rm9jdXNlZCh0cnVlKVwiXG4gICAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzZWFyY2hMYWJlbFwiXG4gICAgICAvPlxuICAgICAgPHN2Z1xuICAgICAgICAqbmdJZj1cImlzU2VhcmNoSW5wdXRGb2N1c2VkXCJcbiAgICAgICAgY2xhc3M9XCJjYW5jZWwtaWNvblwiXG4gICAgICAgIChjbGljayk9XCJzZWFyY2hJbnB1dENhbmNlbGVkKCRldmVudClcIlxuICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgaGVpZ2h0PVwiMjRcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBkPVwiTTguODc0NDYgNy4zMjE0NEM4LjQ0NTg4IDYuODkyODUgNy43NTEgNi44OTI4NSA3LjMyMjQyIDcuMzIxNDRDNi44OTM4MyA3Ljc1MDAyIDYuODkzODMgOC40NDQ5IDcuMzIyNDIgOC44NzM0OUwxMC40NDg4IDExLjk5OTlMNy4zMjM1NyAxNS4xMjUyQzYuODk0OTggMTUuNTUzOCA2Ljg5NDk4IDE2LjI0ODYgNy4zMjM1NyAxNi42NzcyQzcuNzUyMTUgMTcuMTA1OCA4LjQ0NzAzIDE3LjEwNTggOC44NzU2MSAxNi42NzcyTDEyLjAwMDkgMTMuNTUyTDE1LjEyNjEgMTYuNjc3MkMxNS41NTQ3IDE3LjEwNTggMTYuMjQ5NiAxNy4xMDU4IDE2LjY3ODEgMTYuNjc3MkMxNy4xMDY3IDE2LjI0ODYgMTcuMTA2NyAxNS41NTM3IDE2LjY3ODEgMTUuMTI1MUwxMy41NTI5IDExLjk5OTlMMTYuNjc5MyA4Ljg3MzU0QzE3LjEwNzkgOC40NDQ5NiAxNy4xMDc5IDcuNzUwMDggMTYuNjc5MyA3LjMyMTVDMTYuMjUwNyA2Ljg5MjkxIDE1LjU1NTggNi44OTI5MSAxNS4xMjczIDcuMzIxNUwxMi4wMDA5IDEwLjQ0NzlMOC44NzQ0NiA3LjMyMTQ0WlwiXG4gICAgICAgICAgZmlsbD1cIiM2QTczN0RcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN0YXR1cy1jb250YWluZXJcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgIDxtaXMtbG9hZGVyIFttb2JpbGVWaWV3XT1cInRydWVcIj48L21pcy1sb2FkZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiB0YWJpbmRleD1cIi0xXCIgKm5nSWY9XCIhc2VhcmNoRW5hYmxlZFwiIGNka0ZvY3VzSW5pdGlhbD48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIiAqbmdJZj1cIiFsb2FkaW5nIFwiPiAgICBcbiAgICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgKm5nSWY9XCIhKChzZWFyY2hJbnB1dCA/IHNlYXJjaERhdGEgOiBkYXRhKS5sZW5ndGggPT09IDApXCIgW2l0ZW1TaXplXT1cIml0ZW1TaXplRm9yQ2RrXCIgY2xhc3M9XCJkcm9wZG93bi12aWV3cG9ydFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaXRlbVwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2l0ZW0tZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkLCAnaXRlbS1zZWxlY3RlZCc6IChoaWdsaWdodFNlbGVjdGVkVmFsdWUgJiYgaXRlbS52YWx1ZSA9PT0gc2VsZWN0ZWRJdGVtPy52YWx1ZSksICdpY29uLW9ubHknIDogc2hvd09ubHlJY29uIH1cIlxuICAgICAgICAoY2xpY2spPVwiaXRlbS5kaXNhYmxlZCA/IG51bGwgOiBzZWxlY3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cIml0ZW0uZGlzYWJsZWQgPyBudWxsIDogc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2Ygc2VhcmNoSW5wdXQgPyBzZWFyY2hEYXRhIDogZGF0YTtcIlxuICAgICAgICB0YWJJbmRleD1cIjBcIlxuICAgICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21JdGVtOyBlbHNlIHN0YW5kYXJkSXRlbVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tSXRlbVwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3N0YW5kYXJkSXRlbT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIiAqbmdJZj1cIiFzaG93T25seUljb25cIiBbbmdTdHlsZV09XCJ7IHdpZHRoOiBpdGVtLmljb24gPyAnOTAlJyA6ICcxMDAlJywgJ2Rpc3BsYXknOiBtdWx0aUxpbmUgPyAnZmxleCc6ICdpbmhlcml0JywgJ2ZsZXgtZGlyZWN0aW9uJzogbXVsdGlMaW5lID8gJ2NvbHVtbic6ICdpbmhlcml0JyB9XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW1hcnlUZXh0XCIgW25nU3R5bGVdPVwiZ2V0SWNvblN0eWxlcyhpdGVtLmljb24sIGFjdGl2ZUl0ZW0pXCI+e3sgbXVsdGlMaW5lID8gaXRlbT8ubGFiZWw/LnByaW1hcnlUZXh0IDogaXRlbT8ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlY29uZGFyeVRleHRcIiAqbmdJZj1cIm11bHRpTGluZVwiIFtuZ1N0eWxlXT1cImdldEljb25TdHlsZXMoaXRlbS5pY29uLCBhY3RpdmVJdGVtKVwiPiB7eyBpdGVtPy5sYWJlbD8uc2Vjb25kYXJ5VGV4dCA/IGl0ZW0/LmxhYmVsPy5zZWNvbmRhcnlUZXh0IDogYWRkaXRpb25hbEluZm9NZXNzYWdlICB9fSA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtLmljb25cIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpY29uXCIgW3NyY109XCJpdGVtLmljb25cIiBhbHQ9XCJubyBpbWdcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwibm9EYXRhXCIgKm5nSWY9XCIoc2VhcmNoSW5wdXQgPyBzZWFyY2hEYXRhIDogZGF0YSkubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIHt7IHNlYXJjaElucHV0ID09PSBcIlwiID8gbm9EYXRhTWVzc2FnZSA6IFwiTm8gcmVzdWx0c1wiIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
512
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsU0FBUyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNwTCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNlOUQsMEJBQXdIOzs7SUFBbEUsQUFBZCxBQUFiLDBCQUFZLGNBQWMsOEZBQWlDOzs7SUFFcEYsNkJBQXFEO0lBQ25ELFlBQ0Y7SUFBQSxpQkFBSTs7O0lBREYsY0FDRjtJQURFLDRQQUNGOzs7SUFFRSw2QkFBNEM7SUFDMUMsWUFDRjtJQUFBLGlCQUFJOzs7SUFERixjQUNGO0lBREUsNkNBQ0Y7OztJQUNBLDBCQUF5Rjs7O0lBQTFDLHFHQUEwQjs7O0lBQXpFLEFBSEEsNkVBQTRDLG9FQUc2Qzs7O0lBSHhFLHVGQUF5QjtJQUd2QixjQUEwQjtJQUExQix3RkFBMEI7Ozs7SUFnQy9DLCtCQVFDO0lBQ0MsMkJBS0U7SUFDSixpQkFBTTs7Ozs7SUFlTiwrQkFTQztJQU5DLDJNQUFTLGtDQUEyQixLQUFDO0lBT3JDLDJCQUtFO0lBQ0osaUJBQU07Ozs7SUEvQ1IsK0JBQW9EO0lBQ2xELDZGQVFDO0lBUUQsaUNBYUU7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a0JBQTdELFNBQVM7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ1QsUUFBUTtrQkFBNUMsU0FBUzttQkFBQyx3QkFBd0I7WUFDZSxVQUFVO2tCQUEzRCxZQUFZO21CQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUE2SmhELFVBQVU7a0JBRFQsWUFBWTttQkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7O2tGQTlMMUIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLWRyb3Bkb3duXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzXCJdLFxuICBcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpc09wZW4gPSBmYWxzZTtcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1NlYXJjaElucHV0Rm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWFyY2hJbnB1dDogc3RyaW5nID0gXCJcIjtcbiAgc2VhcmNoRGF0YTogRHJvcGRvd25JdGVtW10gPSBbXTtcbiAgdmlzaWJsZUl0ZW1zID0gMTA7XG4gIGR5bmFtaWNIZWlnaHQ6IHN0cmluZyA9IFwiYXV0b1wiO1xuICBASW5wdXQoKSBkYXRhOiBEcm9wZG93bkl0ZW1bXSAgPSBbXTtcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gXCJTZWxlY3RcIjtcbiAgQElucHV0KCkgaXRlbVNpemVGb3JDZGs6IG51bWJlcjtcbiAgQElucHV0KCkgc2hvd09ubHlJY29uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZ2xpZ2h0U2VsZWN0ZWRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RIZWlnaHQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duTGlzdFdpZHRoOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBkcm9wZG93bkxpc3RQb3NpdGlvbjogXCJMZWZ0XCIgfCBcIlJpZ2h0XCIgPSBcIkxlZnRcIjtcbiAgQElucHV0KCkgY29uZmlnXG4gIEBJbnB1dCgpIHNlYXJjaEVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzZWxlY3RlZEl0ZW06IERyb3Bkb3duSXRlbSA9IHsgdmFsdWU6IFwiXCIsIGxhYmVsOiBcIlwiIH07XG4gIEBJbnB1dCgpIG5vRGF0YU1lc3NhZ2U6IHN0cmluZyA9IFwiTm8gRGF0YVwiO1xuICBASW5wdXQoKSBtdWx0aUxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYWRkaXRpb25hbEluZm9NZXNzYWdlIDogc3RyaW5nO1xuICBASW5wdXQoKSBzY3JvbGxJbnRvVmlldzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWFyY2hMYWJlbDpzdHJpbmcgPSBcIlNlYXJjaCBLZXl3b3JkXCI7XG4gIEBJbnB1dCgpIGN1c3RvbVN0eWxlczogIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIEBJbnB1dCgpIGFjdGl2ZUl0ZW06IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZChcInNlbGVjdFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgc2VsZWN0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZChcInBvcHVwQ29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBwb3B1cENvbnRhaW5lcjogVGVtcGxhdGVSZWY8RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoXCJpdGVtc0NvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgaXRlbXNDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KSB2aWV3UG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuICBAQ29udGVudENoaWxkKFwibWlzQ3VzdG9tSXRlbVwiLCB7IHN0YXRpYzogZmFsc2UgfSkgY3VzdG9tSXRlbTogVGVtcGxhdGVSZWY8RWxlbWVudD47XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZVJlZjogRWxlbWVudFJlZiwgXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cbiAgXG4gIG5nT25Jbml0KCkge1xuICB9XG5cblxuICBtZWFzdXJlQW5kVXBkYXRlSGVpZ2h0KCkge1xuICAgIGlmICghdGhpcy5pc09wZW4gfHwgIXRoaXMuaXRlbXNDb250YWluZXIpIHJldHVybjtcblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuaXRlbXNDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBpdGVtcyA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuaXRlbScpO1xuICAgIFxuICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZHluYW1pY0hlaWdodCA9IFwiNTBweFwiO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIFxuICAgIGxldCB0b3RhbE1lYXN1cmVkSGVpZ2h0ID0gMDtcbiAgICBsZXQgbWF4SXRlbUhlaWdodCA9IDA7XG4gICAgXG4gICAgQXJyYXkuZnJvbShpdGVtcykuc2xpY2UoMCwgTWF0aC5taW4oOCwgaXRlbXMubGVuZ3RoKSkuZm9yRWFjaCgoaXRlbTogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHJlY3QgPSBpdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdG90YWxNZWFzdXJlZEhlaWdodCArPSByZWN0LmhlaWdodDtcbiAgICAgIG1heEl0ZW1IZWlnaHQgPSBNYXRoLm1heChtYXhJdGVtSGVpZ2h0LCByZWN0LmhlaWdodCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBmaW5hbEhlaWdodCA9IE1hdGgubWF4KDUwLCBNYXRoLm1pbih0b3RhbE1lYXN1cmVkSGVpZ2h0LCAzMjApKTtcbiAgICBcbiAgICB0aGlzLmR5bmFtaWNIZWlnaHQgPSBgJHtmaW5hbEhlaWdodH1weGA7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnREYXRhKCk6IERyb3Bkb3duSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hJbnB1dCA/IHRoaXMuc2VhcmNoRGF0YSA6IHRoaXMuZGF0YTtcbiAgfVxuXG4gIGdldCBpdGVtc0NvbnRhaW5lclN0eWxlKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB7XG4gICAgICAnaGVpZ2h0JzogdGhpcy5keW5hbWljSGVpZ2h0LFxuICAgICAgJ21heC1oZWlnaHQnOiAnMzIwcHgnLFxuICAgICAgJ21pbi1oZWlnaHQnOiAnNTBweCdcbiAgICB9O1xuICB9XG5cbiAgZ2V0SWNvblN0eWxlcyhpdGVtOiBhbnksIGFjdGl2ZUl0ZW06IGJvb2xlYW4pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NvbG9yJzogaXRlbSAmJiBhY3RpdmVJdGVtID8gJyMwOTM3QjInIDogJycsXG4gICAgICAnZm9udC13ZWlnaHQnOiBpdGVtICYmIGFjdGl2ZUl0ZW0gPyAnNzAwJyA6ICcnXG4gICAgfTtcbiAgfVxuXG5zZXRVcEFzeW5jRGF0YVNlYXJjaCgpXG57XG4gIGlmKHRoaXMuY29uZmlnKVxuICB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jb25maWcuZGF0YVN0cmVhbSgpLnBpcGUoKS5zdWJzY3JpYmUocmVzPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm1lYXN1cmVBbmRVcGRhdGVIZWlnaHQoKSwgMTAwKTtcbiAgICAgIH0pXG4gIH1cbiAgY29uc3QgaW5kZXggPSB0aGlzLmRhdGEuZmluZEluZGV4KChkYXRhSXRlbSkgPT4gZGF0YUl0ZW0udmFsdWUgPT09IHRoaXMuc2VsZWN0ZWRJdGVtLnZhbHVlKTtcbiAgaWYgKHRoaXMuc2Nyb2xsSW50b1ZpZXcpXG4gICAgdGhpcy52aWV3UG9ydC5zY3JvbGxUb0luZGV4KGluZGV4LCAnc21vb3RoJyk7XG59XG4gIGZpbHRlckJ5VmFsdWUoYXJyYXksIHN0cmluZzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGFycmF5LmZpbHRlcihvID0+IG8ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzdHJpbmcudG9Mb3dlckNhc2UoKS50cmltKCkpKTtcbiAgfVxuXG4gIGZpbHRlckJ5UHJpbWFyeVRleHQoYXJyYXksIHN0cmluZzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGFycmF5LmZpbHRlcihvID0+IG8ubGFiZWwucHJpbWFyeVRleHQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzdHJpbmcudG9Mb3dlckNhc2UoKS50cmltKCkpKTtcbiAgfVxuICBzZWFyY2hJbnB1dE9uQ2hhbmdlKG5ld1ZhbHVlKSB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IG5ld1ZhbHVlO1xuICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5zZWFyY2hEYXRhID0gdGhpcy5tdWx0aUxpbmUgPyB0aGlzLmZpbHRlckJ5UHJpbWFyeVRleHQodGhpcy5kYXRhLCBuZXdWYWx1ZSkgOiB0aGlzLmZpbHRlckJ5VmFsdWUodGhpcy5kYXRhLCBuZXdWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VhcmNoRGF0YSA9IFtdO1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gICAgfVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLm1lYXN1cmVBbmRVcGRhdGVIZWlnaHQoKSk7XG4gIH1cbiAgc2VhcmNoSW5wdXRGb2N1c2VkKGlzRm9jdXNlZDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBpc0ZvY3VzZWQ7XG4gIH1cbiAgc2VhcmNoSW5wdXRDYW5jZWxlZChldmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2VhcmNoSW5wdXQgPSBcIlwiO1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBmYWxzZTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5tZWFzdXJlQW5kVXBkYXRlSGVpZ2h0KCkpO1xuICB9XG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuO1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5vcGVuRHJvcGRvd24odGhpcy5wb3B1cENvbnRhaW5lciwgdGhpcy5zZWxlY3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMubWVhc3VyZUFuZFVwZGF0ZUhlaWdodCgpO1xuICAgICAgfSwgMTAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkNhbmNlbCgpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIG9wZW5Ecm9wZG93bih0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudD4sIG9yaWdpbjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbnNCb3R0b20gPSBbXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJib3R0b21cIiB9LCB7IG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcInRvcFwiIH0sIDAsIDQpLFxuICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoeyBvcmlnaW5YOiBcImVuZFwiLCBvcmlnaW5ZOiBcImJvdHRvbVwiIH0sIHsgb3ZlcmxheVg6IFwiZW5kXCIsIG92ZXJsYXlZOiBcInRvcFwiIH0sIDAsIDQpXG4gICAgXTtcbiAgICBjb25zdCBwb3NpdGlvbnNUb3AgPSBbXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJ0b3BcIiB9LCB7IG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcImJvdHRvbVwiIH0sIDAsIC00KSxcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJlbmRcIiwgb3JpZ2luWTogXCJ0b3BcIiB9LCB7IG92ZXJsYXlYOiBcImVuZFwiLCBvdmVybGF5WTogXCJib3R0b21cIiB9LCAwLCAtNClcbiAgICBdO1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhvcmlnaW4pXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIC4uLih0aGlzLmRyb3Bkb3duTGlzdFBvc2l0aW9uID09PSBcIlJpZ2h0XCIgPyBwb3NpdGlvbnNCb3R0b20ucmV2ZXJzZSgpIDogcG9zaXRpb25zQm90dG9tKSxcbiAgICAgICAgLi4uKHRoaXMuZHJvcGRvd25MaXN0UG9zaXRpb24gPT09IFwiUmlnaHRcIiA/IHBvc2l0aW9uc1RvcC5yZXZlcnNlKCkgOiBwb3NpdGlvbnNUb3ApXG4gICAgICBdKVxuICAgICAgLndpdGhQdXNoKHRydWUpO1xuICAgIGNvbnN0IGNvbmZpZ3MgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIixcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgd2lkdGg6IG9yaWdpbi5jbGllbnRXaWR0aFxuICAgIH0pO1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlncyk7XG4gICAgaWYgKHRoaXMuZHJvcGRvd25MaXN0V2lkdGgpIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgd2lkdGg6IHRoaXMuZHJvcGRvd25MaXN0V2lkdGggfSk7XG4gICAgaWYgKHRoaXMuZHJvcGRvd25MaXN0SGVpZ2h0KSB0aGlzLm92ZXJsYXlSZWYudXBkYXRlU2l6ZSh7IGhlaWdodDogdGhpcy5kcm9wZG93bkxpc3RIZWlnaHQgfSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZikpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICB0aGlzLm9uQ2FuY2VsKCk7XG4gICAgfSk7XG4gIH1cbiAgc2VsZWN0SXRlbShpdGVtKSB7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KGl0ZW0pOyAgXG4gICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICB9XG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMuaXNTZWFyY2hJbnB1dEZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IFwiXCI7XG4gIH1cbiAgXG4gIEBIb3N0TGlzdGVuZXIoXCJrZXl1cC5lc2NcIiwgWyckZXZlbnQnXSlcbiAgY2xvc2VPbkVzYyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duSXRlbSB7XG4gIGxhYmVsOiBhbnkgO1xuICB2YWx1ZTogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGN1c3RvbUljb24/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uSXRlbUxhYmVsIHtcbiAgcHJpbWFyeVRleHQgPzogc3RyaW5nO1xuICBzZWNvbmRhcnlUZXh0ID86IHN0cmluZztcbn1cbiIsIjxkaXYgKGNsaWNrKT1cInNldFVwQXN5bmNEYXRhU2VhcmNoKClcIlxuKGtleXVwLmVudGVyKT1cInNldFVwQXN5bmNEYXRhU2VhcmNoKClcIlxuICBjbGFzcz1cIm1haW4tY29udGFpbmVyXCJcbiAgW25nU3R5bGVdPVwie1xuICAgIGhlaWdodDogaGVpZ2h0Lmxlbmd0aCA+IDAgPyBoZWlnaHQgOiAnJyxcbiAgICB3aWR0aDogd2lkdGgubGVuZ3RoID4gMCA/IHdpZHRoIDogJydcbiAgfVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImRyb3Bkb3duXCJcbiAgICAjc2VsZWN0XG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwidG9nZ2xlRHJvcGRvd24oKVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIlxuICAgIFtuZ1N0eWxlXT1cImN1c3RvbVN0eWxlc1wiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgIFtuZ0NsYXNzXT1cImlzT3BlbiA/ICdkcm9wZG93bi1wb3J0JzogJydcIlxuICA+XG4gICAgPGltZyBjbGFzcz1cImltZy1jb250YWluZXJcIiBbd2lkdGhdPVwiMTZcIiBbaGVpZ2h0XT1cIjE2XCIgW3NyY109XCJzZWxlY3RlZEl0ZW0/LmN1c3RvbUljb25cIiAqbmdJZj1cInNlbGVjdGVkSXRlbT8uY3VzdG9tSWNvblwiPlxuICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtuZ1N0eWxlXT1cInt3aWR0aDogc2VsZWN0ZWRJdGVtPy5jdXN0b21JY29uID8gJ2NhbGMoMTAwJSAtIDQ4cHgpJyA6ICdjYWxjKDEwMCUgLSAzMnB4KSd9XCI+XG4gICAgICA8cCBjbGFzcz1cInRleHRcIiAqbmdJZj1cIiFzaG93T25seUljb247IGVsc2Ugc2hvd0ljb25cIj5cbiAgICAgICAge3sgbXVsdGlMaW5lID8gc2VsZWN0ZWRJdGVtPy5sYWJlbD8ucHJpbWFyeVRleHQgOiBzZWxlY3RlZEl0ZW0/LmxhYmVsIHx8IGxhYmVsIH19XG4gICAgICA8L3A+XG4gICAgICA8bmctdGVtcGxhdGUgI3Nob3dJY29uPlxuICAgICAgICA8cCBjbGFzcz1cInRleHRcIiAqbmdJZj1cIiFzZWxlY3RlZEl0ZW0/Lmljb25cIj5cbiAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJpY29uXCIgKm5nSWY9XCIhIXNlbGVjdGVkSXRlbT8uaWNvblwiIFtzcmNdPVwic2VsZWN0ZWRJdGVtPy5pY29uXCIgYWx0PVwibm8gaW1nXCIgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPHN2Z1xuICAgICAgY2xhc3M9XCJoYW5kbGVcIlxuICAgICAgW25nU3R5bGVdPVwieyB0cmFuc2Zvcm06IGlzT3BlbiA/ICdyb3RhdGUoMTgwZGVnKScgOiAncm90YXRlKDBkZWcpJyB9XCJcbiAgICAgIHdpZHRoPVwiMjBcIlxuICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgIGQ9XCJNMTMuODI1IDcuMTU4NDVMMTAgMTAuOTc1MUw2LjE3NSA3LjE1ODQ1TDUgOC4zMzM0NUwxMCAxMy4zMzM0TDE1IDguMzMzNDVMMTMuODI1IDcuMTU4NDVaXCJcbiAgICAgICAgZmlsbD1cIiMxODFGMzNcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wdXBDb250YWluZXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiIGNka1RyYXBGb2N1cyBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiIHRhYmluZGV4PVwiMFwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgaGVpZ2h0OiBkcm9wZG93bkxpc3RIZWlnaHQsXG4gICAgICB3aWR0aDogZHJvcGRvd25MaXN0V2lkdGhcbiAgICB9XCJcbiAgICAoa2V5dXAuZXNjKT1cImNsb3NlT25Fc2MoJGV2ZW50KVwiXG4gICAgYXJpYS1sYWJlbD1cImRyb3Bkb3duXCJcbiAgPlxuICAgIDxkaXYgKm5nSWY9XCJzZWFyY2hFbmFibGVkXCIgY2xhc3M9XCJzZWFyY2gtY29udGFpbmVyXCI+XG4gICAgICA8c3ZnXG4gICAgICAgICpuZ0lmPVwiIWlzU2VhcmNoSW5wdXRGb2N1c2VkXCJcbiAgICAgICAgY2xhc3M9XCJzZWFyY2gtaWNvblwiXG4gICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICBoZWlnaHQ9XCIyNFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGQ9XCJNNC4yMTUwOCAxMS4xNDU2QzQuMjE1MDggNy4zMTc5IDcuMzM3MjIgNC4yMTE2NSAxMS4xOTI2IDQuMjExNjVDMTUuMDQ4IDQuMjExNjUgMTguMTcwMiA3LjMxNzkgMTguMTcwMiAxMS4xNDU2QzE4LjE3MDIgMTIuNjkzMSAxNy42NTk5IDE0LjEyMjYgMTYuNzk3MiAxNS4yNzY3TDE1LjM2ODUgMTYuNzAxM0MxNC4yMDQ0IDE3LjU2NjggMTIuNzU5IDE4LjA3OTYgMTEuMTkyNiAxOC4wNzk2QzcuMzM3MjIgMTguMDc5NiA0LjIxNTA4IDE0Ljk3MzQgNC4yMTUwOCAxMS4xNDU2Wk0xNS45NDIxIDE3Ljc4MzVDMTQuNjAyMSAxOC43MzI5IDEyLjk2MjcgMTkuMjkxMyAxMS4xOTI2IDE5LjI5MTNDNi42Njk3NyAxOS4yOTEzIDMgMTUuNjQ2MSAzIDExLjE0NTZDMyA2LjY0NTEyIDYuNjY5NzcgMyAxMS4xOTI2IDNDMTUuNzE1NSAzIDE5LjM4NTIgNi42NDUxMiAxOS4zODUyIDExLjE0NTZDMTkuMzg1MiAxMi45MzcxIDE4LjgwMzcgMTQuNTkzMSAxNy44MTg0IDE1LjkzNzVMMTkuODM2MSAxNy40MDQ4QzIwLjY3MDUgMTcuOTEyIDIxLjc1NTQgMTguNjU0MyAyMC4yNDU0IDIwLjIxNUMxOC43MzUzIDIxLjc3NTYgMTguMDA5OSAyMC42NjYzIDE3LjQ5OTEgMTkuODM2NEwxNS45NDIxIDE3Ljc4MzVaXCJcbiAgICAgICAgICBmaWxsPVwiIzZBNzM3RFwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxpbnB1dFxuICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hJbnB1dFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICBwYWRkaW5nTGVmdDogaXNTZWFyY2hJbnB1dEZvY3VzZWQgPyAnMTJweCcgOiAnNDVweCcsXG4gICAgICAgICAgYm9yZGVyOiBpc1NlYXJjaElucHV0Rm9jdXNlZCA/ICcxcHggc29saWQgIzA5MzdCMicgOiAnMXB4IHNvbGlkICNlMGUwZTAnLFxuICAgICAgICAgIHBhZGRpbmdSaWdodDogaXNTZWFyY2hJbnB1dEZvY3VzZWQgPyAnNDVweCcgOiAnMTBweCdcbiAgICAgICAgfVwiXG4gICAgICAgIFt0YWJJbmRleF09XCIwXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoSW5wdXRPbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImlzU2VhcmNoSW5wdXRGb2N1c2VkID8gJycgOiBzZWFyY2hMYWJlbFwiXG4gICAgICAgIChmb2N1cyk9XCJzZWFyY2hJbnB1dEZvY3VzZWQodHJ1ZSlcIlxuICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic2VhcmNoTGFiZWxcIlxuICAgICAgLz5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCJpc1NlYXJjaElucHV0Rm9jdXNlZFwiXG4gICAgICAgIGNsYXNzPVwiY2FuY2VsLWljb25cIlxuICAgICAgICAoY2xpY2spPVwic2VhcmNoSW5wdXRDYW5jZWxlZCgkZXZlbnQpXCJcbiAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZD1cIk04Ljg3NDQ2IDcuMzIxNDRDOC40NDU4OCA2Ljg5Mjg1IDcuNzUxIDYuODkyODUgNy4zMjI0MiA3LjMyMTQ0QzYuODkzODMgNy43NTAwMiA2Ljg5MzgzIDguNDQ0OSA3LjMyMjQyIDguODczNDlMMTAuNDQ4OCAxMS45OTk5TDcuMzIzNTcgMTUuMTI1MkM2Ljg5NDk4IDE1LjU1MzggNi44OTQ5OCAxNi4yNDg2IDcuMzIzNTcgMTYuNjc3MkM3Ljc1MjE1IDE3LjEwNTggOC40NDcwMyAxNy4xMDU4IDguODc1NjEgMTYuNjc3MkwxMi4wMDA5IDEzLjU1MkwxNS4xMjYxIDE2LjY3NzJDMTUuNTU0NyAxNy4xMDU4IDE2LjI0OTYgMTcuMTA1OCAxNi42NzgxIDE2LjY3NzJDMTcuMTA2NyAxNi4yNDg2IDE3LjEwNjcgMTUuNTUzNyAxNi42NzgxIDE1LjEyNTFMMTMuNTUyOSAxMS45OTk5TDE2LjY3OTMgOC44NzM1NEMxNy4xMDc5IDguNDQ0OTYgMTcuMTA3OSA3Ljc1MDA4IDE2LjY3OTMgNy4zMjE1QzE2LjI1MDcgNi44OTI5MSAxNS41NTU4IDYuODkyOTEgMTUuMTI3MyA3LjMyMTVMMTIuMDAwOSAxMC40NDc5TDguODc0NDYgNy4zMjE0NFpcIlxuICAgICAgICAgIGZpbGw9XCIjNkE3MzdEXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtY29udGFpbmVyXCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgICA8bWlzLWxvYWRlciBbbW9iaWxlVmlld109XCJ0cnVlXCI+PC9taXMtbG9hZGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgdGFiaW5kZXg9XCItMVwiICpuZ0lmPVwiIXNlYXJjaEVuYWJsZWRcIiBjZGtGb2N1c0luaXRpYWw+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW1zXCIgI2l0ZW1zQ29udGFpbmVyIFtuZ1N0eWxlXT1cIml0ZW1zQ29udGFpbmVyU3R5bGVcIiAqbmdJZj1cIiFsb2FkaW5nIFwiPiAgICBcbiAgICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgKm5nSWY9XCJjdXJyZW50RGF0YS5sZW5ndGggPiAwXCIgW2l0ZW1TaXplXT1cIml0ZW1TaXplRm9yQ2RrXCIgY2xhc3M9XCJkcm9wZG93bi12aWV3cG9ydFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaXRlbVwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2l0ZW0tZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkLCAnaXRlbS1zZWxlY3RlZCc6IChoaWdsaWdodFNlbGVjdGVkVmFsdWUgJiYgaXRlbS52YWx1ZSA9PT0gc2VsZWN0ZWRJdGVtPy52YWx1ZSksICdpY29uLW9ubHknIDogc2hvd09ubHlJY29uIH1cIlxuICAgICAgICAoY2xpY2spPVwiaXRlbS5kaXNhYmxlZCA/IG51bGwgOiBzZWxlY3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cIml0ZW0uZGlzYWJsZWQgPyBudWxsIDogc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2YgY3VycmVudERhdGE7XCJcbiAgICAgICAgdGFiSW5kZXg9XCIwXCJcbiAgICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tSXRlbTsgZWxzZSBzdGFuZGFyZEl0ZW1cIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbUl0ZW1cIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNzdGFuZGFyZEl0ZW0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgKm5nSWY9XCIhc2hvd09ubHlJY29uXCIgW25nU3R5bGVdPVwieyB3aWR0aDogaXRlbS5pY29uID8gJzkwJScgOiAnMTAwJScsICdkaXNwbGF5JzogbXVsdGlMaW5lID8gJ2ZsZXgnOiAnaW5oZXJpdCcsICdmbGV4LWRpcmVjdGlvbic6IG11bHRpTGluZSA/ICdjb2x1bW4nOiAnaW5oZXJpdCcgfVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmltYXJ5VGV4dFwiIFtuZ1N0eWxlXT1cImdldEljb25TdHlsZXMoaXRlbS5pY29uLCBhY3RpdmVJdGVtKVwiPnt7IG11bHRpTGluZSA/IGl0ZW0/LmxhYmVsPy5wcmltYXJ5VGV4dCA6IGl0ZW0/LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWNvbmRhcnlUZXh0XCIgKm5nSWY9XCJtdWx0aUxpbmVcIiBbbmdTdHlsZV09XCJnZXRJY29uU3R5bGVzKGl0ZW0uaWNvbiwgYWN0aXZlSXRlbSlcIj4ge3sgaXRlbT8ubGFiZWw/LnNlY29uZGFyeVRleHQgPyBpdGVtPy5sYWJlbD8uc2Vjb25kYXJ5VGV4dCA6IGFkZGl0aW9uYWxJbmZvTWVzc2FnZSAgfX0gPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWNvbnRhaW5lclwiICpuZ0lmPVwiaXRlbS5pY29uXCI+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwiaWNvblwiIFtzcmNdPVwiaXRlbS5pY29uXCIgYWx0PVwibm8gaW1nXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vRGF0YVwiICpuZ0lmPVwiY3VycmVudERhdGEubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIHt7IHNlYXJjaElucHV0ID09PSBcIlwiID8gbm9EYXRhTWVzc2FnZSA6IFwiTm8gcmVzdWx0c1wiIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|