@reusa/ngx-reusa-app-lib 0.0.1319 → 0.0.1321
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/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +179 -149
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +178 -148
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +1 -0
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -20,8 +20,8 @@ import * as i13 from "../dropdown/dropdown.component";
|
|
|
20
20
|
import * as i14 from "@ngx-translate/core";
|
|
21
21
|
const _c0 = ["requalifyFormDirective"];
|
|
22
22
|
function RequalifyLiftPreviousIssuesComponent_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
-
i0.ɵɵelementStart(0, "div",
|
|
24
|
-
i0.ɵɵelement(1, "ion-spinner",
|
|
23
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
24
|
+
i0.ɵɵelement(1, "ion-spinner", 18);
|
|
25
25
|
i0.ɵɵelementEnd();
|
|
26
26
|
} }
|
|
27
27
|
function RequalifyLiftPreviousIssuesComponent_div_14_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -34,18 +34,18 @@ function RequalifyLiftPreviousIssuesComponent_div_14_div_2_ng_template_3_th_1_Te
|
|
|
34
34
|
i0.ɵɵtext(2);
|
|
35
35
|
i0.ɵɵelementEnd()();
|
|
36
36
|
} if (rf & 2) {
|
|
37
|
-
const
|
|
37
|
+
const col_r22 = ctx.$implicit;
|
|
38
38
|
i0.ɵɵadvance(2);
|
|
39
|
-
i0.ɵɵtextInterpolate(
|
|
39
|
+
i0.ɵɵtextInterpolate(col_r22.header);
|
|
40
40
|
} }
|
|
41
41
|
function RequalifyLiftPreviousIssuesComponent_div_14_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
42
42
|
i0.ɵɵelementStart(0, "tr");
|
|
43
|
-
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_14_div_2_ng_template_3_th_1_Template, 3, 1, "th",
|
|
43
|
+
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_14_div_2_ng_template_3_th_1_Template, 3, 1, "th", 23);
|
|
44
44
|
i0.ɵɵelementEnd();
|
|
45
45
|
} if (rf & 2) {
|
|
46
|
-
const
|
|
46
|
+
const columns_r20 = ctx.$implicit;
|
|
47
47
|
i0.ɵɵadvance(1);
|
|
48
|
-
i0.ɵɵproperty("ngForOf",
|
|
48
|
+
i0.ɵɵproperty("ngForOf", columns_r20);
|
|
49
49
|
} }
|
|
50
50
|
function RequalifyLiftPreviousIssuesComponent_div_14_div_2_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
51
51
|
i0.ɵɵelementStart(0, "tr")(1, "td");
|
|
@@ -72,28 +72,28 @@ function RequalifyLiftPreviousIssuesComponent_div_14_div_2_ng_template_4_Templat
|
|
|
72
72
|
i0.ɵɵpipe(17, "currency");
|
|
73
73
|
i0.ɵɵelementEnd()();
|
|
74
74
|
} if (rf & 2) {
|
|
75
|
-
const
|
|
75
|
+
const employer_r23 = ctx.$implicit;
|
|
76
76
|
i0.ɵɵadvance(2);
|
|
77
|
-
i0.ɵɵtextInterpolate(
|
|
77
|
+
i0.ɵɵtextInterpolate(employer_r23.employerData.displayName);
|
|
78
78
|
i0.ɵɵadvance(2);
|
|
79
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 6,
|
|
79
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 6, employer_r23.employerProvidedWages.wagesListQtrWise[0] == null ? null : employer_r23.employerProvidedWages.wagesListQtrWise[0].wageAmount));
|
|
80
80
|
i0.ɵɵadvance(3);
|
|
81
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(8, 8,
|
|
81
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(8, 8, employer_r23.employerProvidedWages.wagesListQtrWise[1] == null ? null : employer_r23.employerProvidedWages.wagesListQtrWise[1].wageAmount));
|
|
82
82
|
i0.ɵɵadvance(3);
|
|
83
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 10,
|
|
83
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 10, employer_r23.employerProvidedWages.wagesListQtrWise[2] == null ? null : employer_r23.employerProvidedWages.wagesListQtrWise[2].wageAmount));
|
|
84
84
|
i0.ɵɵadvance(3);
|
|
85
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 12,
|
|
85
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 12, employer_r23.employerProvidedWages.wagesListQtrWise[3] == null ? null : employer_r23.employerProvidedWages.wagesListQtrWise[3].wageAmount));
|
|
86
86
|
i0.ɵɵadvance(3);
|
|
87
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(17, 14,
|
|
87
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(17, 14, employer_r23.employerProvidedWages.wagesListQtrWise[4] == null ? null : employer_r23.employerProvidedWages.wagesListQtrWise[4].wageAmount));
|
|
88
88
|
} }
|
|
89
89
|
function RequalifyLiftPreviousIssuesComponent_div_14_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
-
i0.ɵɵelementStart(0, "div")(1, "p-table",
|
|
91
|
-
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_14_div_2_ng_template_3_Template, 2, 1, "ng-template",
|
|
90
|
+
i0.ɵɵelementStart(0, "div")(1, "p-table", 19, 20);
|
|
91
|
+
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_14_div_2_ng_template_3_Template, 2, 1, "ng-template", 21)(4, RequalifyLiftPreviousIssuesComponent_div_14_div_2_ng_template_4_Template, 18, 16, "ng-template", 22);
|
|
92
92
|
i0.ɵɵelementEnd()();
|
|
93
93
|
} if (rf & 2) {
|
|
94
|
-
const
|
|
94
|
+
const ctx_r16 = i0.ɵɵnextContext(2);
|
|
95
95
|
i0.ɵɵadvance(1);
|
|
96
|
-
i0.ɵɵproperty("value",
|
|
96
|
+
i0.ɵɵproperty("value", ctx_r16.bpEmployerWagesListFiltered)("columns", ctx_r16.cols)("rowHover", true);
|
|
97
97
|
} }
|
|
98
98
|
function RequalifyLiftPreviousIssuesComponent_div_14_Template(rf, ctx) { if (rf & 1) {
|
|
99
99
|
i0.ɵɵelementStart(0, "div");
|
|
@@ -107,8 +107,8 @@ function RequalifyLiftPreviousIssuesComponent_div_14_Template(rf, ctx) { if (rf
|
|
|
107
107
|
i0.ɵɵproperty("ngIf", ctx_r2.bpEmployerWagesListFiltered && ctx_r2.empProvidedWages);
|
|
108
108
|
} }
|
|
109
109
|
function RequalifyLiftPreviousIssuesComponent_div_20_Template(rf, ctx) { if (rf & 1) {
|
|
110
|
-
i0.ɵɵelementStart(0, "div",
|
|
111
|
-
i0.ɵɵelement(1, "ion-spinner",
|
|
110
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
111
|
+
i0.ɵɵelement(1, "ion-spinner", 18);
|
|
112
112
|
i0.ɵɵelementEnd();
|
|
113
113
|
} }
|
|
114
114
|
function RequalifyLiftPreviousIssuesComponent_div_21_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -121,18 +121,18 @@ function RequalifyLiftPreviousIssuesComponent_div_21_div_2_ng_template_3_th_1_Te
|
|
|
121
121
|
i0.ɵɵtext(2);
|
|
122
122
|
i0.ɵɵelementEnd()();
|
|
123
123
|
} if (rf & 2) {
|
|
124
|
-
const
|
|
124
|
+
const col_r32 = ctx.$implicit;
|
|
125
125
|
i0.ɵɵadvance(2);
|
|
126
|
-
i0.ɵɵtextInterpolate(
|
|
126
|
+
i0.ɵɵtextInterpolate(col_r32.header);
|
|
127
127
|
} }
|
|
128
128
|
function RequalifyLiftPreviousIssuesComponent_div_21_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
129
129
|
i0.ɵɵelementStart(0, "tr");
|
|
130
|
-
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_21_div_2_ng_template_3_th_1_Template, 3, 1, "th",
|
|
130
|
+
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_21_div_2_ng_template_3_th_1_Template, 3, 1, "th", 23);
|
|
131
131
|
i0.ɵɵelementEnd();
|
|
132
132
|
} if (rf & 2) {
|
|
133
|
-
const
|
|
133
|
+
const columns_r30 = ctx.$implicit;
|
|
134
134
|
i0.ɵɵadvance(1);
|
|
135
|
-
i0.ɵɵproperty("ngForOf",
|
|
135
|
+
i0.ɵɵproperty("ngForOf", columns_r30);
|
|
136
136
|
} }
|
|
137
137
|
function RequalifyLiftPreviousIssuesComponent_div_21_div_2_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
138
138
|
i0.ɵɵelementStart(0, "tr")(1, "td");
|
|
@@ -151,26 +151,26 @@ function RequalifyLiftPreviousIssuesComponent_div_21_div_2_ng_template_4_Templat
|
|
|
151
151
|
i0.ɵɵtext(10);
|
|
152
152
|
i0.ɵɵelementEnd()();
|
|
153
153
|
} if (rf & 2) {
|
|
154
|
-
const
|
|
154
|
+
const employer_r33 = ctx.$implicit;
|
|
155
155
|
i0.ɵɵadvance(2);
|
|
156
|
-
i0.ɵɵtextInterpolate(
|
|
156
|
+
i0.ɵɵtextInterpolate(employer_r33.employerName);
|
|
157
157
|
i0.ɵɵadvance(2);
|
|
158
|
-
i0.ɵɵtextInterpolate(
|
|
158
|
+
i0.ɵɵtextInterpolate(employer_r33.proofRecievedDate);
|
|
159
159
|
i0.ɵɵadvance(2);
|
|
160
|
-
i0.ɵɵtextInterpolate(
|
|
160
|
+
i0.ɵɵtextInterpolate(employer_r33.earningsBeginDate);
|
|
161
161
|
i0.ɵɵadvance(2);
|
|
162
|
-
i0.ɵɵtextInterpolate(
|
|
162
|
+
i0.ɵɵtextInterpolate(employer_r33.earningsEndDate);
|
|
163
163
|
i0.ɵɵadvance(2);
|
|
164
|
-
i0.ɵɵtextInterpolate(
|
|
164
|
+
i0.ɵɵtextInterpolate(employer_r33.amountOfEarnings);
|
|
165
165
|
} }
|
|
166
166
|
function RequalifyLiftPreviousIssuesComponent_div_21_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
167
|
-
i0.ɵɵelementStart(0, "div")(1, "p-table",
|
|
168
|
-
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_21_div_2_ng_template_3_Template, 2, 1, "ng-template",
|
|
167
|
+
i0.ɵɵelementStart(0, "div")(1, "p-table", 19, 20);
|
|
168
|
+
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_21_div_2_ng_template_3_Template, 2, 1, "ng-template", 21)(4, RequalifyLiftPreviousIssuesComponent_div_21_div_2_ng_template_4_Template, 11, 5, "ng-template", 22);
|
|
169
169
|
i0.ɵɵelementEnd()();
|
|
170
170
|
} if (rf & 2) {
|
|
171
|
-
const
|
|
171
|
+
const ctx_r26 = i0.ɵɵnextContext(2);
|
|
172
172
|
i0.ɵɵadvance(1);
|
|
173
|
-
i0.ɵɵproperty("value",
|
|
173
|
+
i0.ɵɵproperty("value", ctx_r26.ui512AResponseList)("columns", ctx_r26.col512AResponseLst)("rowHover", true);
|
|
174
174
|
} }
|
|
175
175
|
function RequalifyLiftPreviousIssuesComponent_div_21_Template(rf, ctx) { if (rf & 1) {
|
|
176
176
|
i0.ɵɵelementStart(0, "div");
|
|
@@ -184,8 +184,8 @@ function RequalifyLiftPreviousIssuesComponent_div_21_Template(rf, ctx) { if (rf
|
|
|
184
184
|
i0.ɵɵproperty("ngIf", ctx_r4.ui512AResponseList);
|
|
185
185
|
} }
|
|
186
186
|
function RequalifyLiftPreviousIssuesComponent_div_27_Template(rf, ctx) { if (rf & 1) {
|
|
187
|
-
i0.ɵɵelementStart(0, "div",
|
|
188
|
-
i0.ɵɵelement(1, "ion-spinner",
|
|
187
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
188
|
+
i0.ɵɵelement(1, "ion-spinner", 18);
|
|
189
189
|
i0.ɵɵelementEnd();
|
|
190
190
|
} }
|
|
191
191
|
function RequalifyLiftPreviousIssuesComponent_div_28_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -198,27 +198,27 @@ function RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_3_th_1_Te
|
|
|
198
198
|
i0.ɵɵtext(2);
|
|
199
199
|
i0.ɵɵelementEnd()();
|
|
200
200
|
} if (rf & 2) {
|
|
201
|
-
const
|
|
201
|
+
const col_r42 = ctx.$implicit;
|
|
202
202
|
i0.ɵɵadvance(2);
|
|
203
|
-
i0.ɵɵtextInterpolate(
|
|
203
|
+
i0.ɵɵtextInterpolate(col_r42.header);
|
|
204
204
|
} }
|
|
205
205
|
function RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
206
206
|
i0.ɵɵelementStart(0, "tr");
|
|
207
|
-
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_3_th_1_Template, 3, 1, "th",
|
|
207
|
+
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_3_th_1_Template, 3, 1, "th", 23);
|
|
208
208
|
i0.ɵɵelementEnd();
|
|
209
209
|
} if (rf & 2) {
|
|
210
|
-
const
|
|
210
|
+
const columns_r40 = ctx.$implicit;
|
|
211
211
|
i0.ɵɵadvance(1);
|
|
212
|
-
i0.ɵɵproperty("ngForOf",
|
|
212
|
+
i0.ɵɵproperty("ngForOf", columns_r40);
|
|
213
213
|
} }
|
|
214
214
|
function RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_td_9_Template(rf, ctx) { if (rf & 1) {
|
|
215
215
|
i0.ɵɵelementStart(0, "td");
|
|
216
216
|
i0.ɵɵtext(1);
|
|
217
217
|
i0.ɵɵelementEnd();
|
|
218
218
|
} if (rf & 2) {
|
|
219
|
-
const
|
|
219
|
+
const employer_r43 = i0.ɵɵnextContext().$implicit;
|
|
220
220
|
i0.ɵɵadvance(1);
|
|
221
|
-
i0.ɵɵtextInterpolate(
|
|
221
|
+
i0.ɵɵtextInterpolate(employer_r43.value.actionTaken);
|
|
222
222
|
} }
|
|
223
223
|
function RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_td_10_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
224
224
|
i0.ɵɵelementStart(0, "div", 28);
|
|
@@ -227,26 +227,29 @@ function RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_td_10_d
|
|
|
227
227
|
} }
|
|
228
228
|
const _c1 = () => ({ required: "required" });
|
|
229
229
|
function RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_td_10_Template(rf, ctx) { if (rf & 1) {
|
|
230
|
-
i0.ɵɵ
|
|
231
|
-
i0.ɵɵ
|
|
232
|
-
i0.ɵɵ
|
|
230
|
+
const _r51 = i0.ɵɵgetCurrentView();
|
|
231
|
+
i0.ɵɵelementStart(0, "td", 25)(1, "div", 0, 1)(3, "app-dropdown", 26);
|
|
232
|
+
i0.ɵɵlistener("onChange", function RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_td_10_Template_app_dropdown_onChange_3_listener($event) { i0.ɵɵrestoreView(_r51); const ctx_r50 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r50.changeActionForIssueDropdown($event)); });
|
|
233
|
+
i0.ɵɵelementEnd();
|
|
234
|
+
i0.ɵɵelement(4, "br")(5, "app-error", 16);
|
|
235
|
+
i0.ɵɵtemplate(6, RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_td_10_div_6_Template, 2, 0, "div", 7);
|
|
233
236
|
i0.ɵɵelement(7, "input", 27);
|
|
234
237
|
i0.ɵɵelementEnd()();
|
|
235
238
|
} if (rf & 2) {
|
|
236
|
-
const
|
|
237
|
-
const
|
|
238
|
-
const
|
|
239
|
+
const _r48 = i0.ɵɵreference(2);
|
|
240
|
+
const employer_r43 = i0.ɵɵnextContext().$implicit;
|
|
241
|
+
const ctx_r46 = i0.ɵɵnextContext(3);
|
|
239
242
|
i0.ɵɵadvance(1);
|
|
240
|
-
i0.ɵɵproperty("formGroup",
|
|
243
|
+
i0.ɵɵproperty("formGroup", employer_r43);
|
|
241
244
|
i0.ɵɵadvance(2);
|
|
242
|
-
i0.ɵɵproperty("options",
|
|
245
|
+
i0.ɵɵproperty("options", ctx_r46.actionOptions)("autoDisplayFirst", false);
|
|
243
246
|
i0.ɵɵadvance(2);
|
|
244
247
|
i0.ɵɵclassMap("app-grid");
|
|
245
|
-
i0.ɵɵproperty("field",
|
|
248
|
+
i0.ɵɵproperty("field", employer_r43.controls["actionTakenPotentialIssue"])("form", _r48)("errDef", i0.ɵɵpureFunction0(10, _c1));
|
|
246
249
|
i0.ɵɵadvance(1);
|
|
247
|
-
i0.ɵɵproperty("ngIf",
|
|
250
|
+
i0.ɵɵproperty("ngIf", employer_r43.controls["actionTakenPotentialIssue"].invalid);
|
|
248
251
|
i0.ɵɵadvance(1);
|
|
249
|
-
i0.ɵɵpropertyInterpolate("value",
|
|
252
|
+
i0.ɵɵpropertyInterpolate("value", employer_r43.value.claimAppEmployerId);
|
|
250
253
|
} }
|
|
251
254
|
function RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
252
255
|
i0.ɵɵelementStart(0, "tr")(1, "td");
|
|
@@ -261,31 +264,31 @@ function RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_Templat
|
|
|
261
264
|
i0.ɵɵelementStart(7, "td");
|
|
262
265
|
i0.ɵɵtext(8);
|
|
263
266
|
i0.ɵɵelementEnd();
|
|
264
|
-
i0.ɵɵtemplate(9, RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_td_9_Template, 2, 1, "td", 5)(10, RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_td_10_Template, 8, 11, "td",
|
|
267
|
+
i0.ɵɵtemplate(9, RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_td_9_Template, 2, 1, "td", 5)(10, RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_td_10_Template, 8, 11, "td", 24);
|
|
265
268
|
i0.ɵɵelementEnd();
|
|
266
269
|
} if (rf & 2) {
|
|
267
|
-
const
|
|
270
|
+
const employer_r43 = ctx.$implicit;
|
|
268
271
|
i0.ɵɵadvance(2);
|
|
269
|
-
i0.ɵɵtextInterpolate(
|
|
272
|
+
i0.ɵɵtextInterpolate(employer_r43.value.employerName);
|
|
270
273
|
i0.ɵɵadvance(2);
|
|
271
|
-
i0.ɵɵtextInterpolate(
|
|
274
|
+
i0.ɵɵtextInterpolate(employer_r43.value.startDate);
|
|
272
275
|
i0.ɵɵadvance(2);
|
|
273
|
-
i0.ɵɵtextInterpolate(
|
|
276
|
+
i0.ɵɵtextInterpolate(employer_r43.value.reason);
|
|
274
277
|
i0.ɵɵadvance(2);
|
|
275
|
-
i0.ɵɵtextInterpolate(
|
|
278
|
+
i0.ɵɵtextInterpolate(employer_r43.value.requalificationWage);
|
|
276
279
|
i0.ɵɵadvance(1);
|
|
277
|
-
i0.ɵɵproperty("ngIf",
|
|
280
|
+
i0.ɵɵproperty("ngIf", employer_r43.value.actionTaken != null);
|
|
278
281
|
i0.ɵɵadvance(1);
|
|
279
|
-
i0.ɵɵproperty("ngIf",
|
|
282
|
+
i0.ɵɵproperty("ngIf", employer_r43.value.actionTaken === null);
|
|
280
283
|
} }
|
|
281
284
|
function RequalifyLiftPreviousIssuesComponent_div_28_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
282
|
-
i0.ɵɵelementStart(0, "div")(1, "p-table",
|
|
283
|
-
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_3_Template, 2, 1, "ng-template",
|
|
285
|
+
i0.ɵɵelementStart(0, "div")(1, "p-table", 19, 20);
|
|
286
|
+
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_3_Template, 2, 1, "ng-template", 21)(4, RequalifyLiftPreviousIssuesComponent_div_28_div_2_ng_template_4_Template, 11, 6, "ng-template", 22);
|
|
284
287
|
i0.ɵɵelementEnd()();
|
|
285
288
|
} if (rf & 2) {
|
|
286
|
-
const
|
|
289
|
+
const ctx_r36 = i0.ɵɵnextContext(2);
|
|
287
290
|
i0.ɵɵadvance(1);
|
|
288
|
-
i0.ɵɵproperty("value",
|
|
291
|
+
i0.ɵɵproperty("value", ctx_r36.beanActionList.controls)("columns", ctx_r36.colBeanLst)("rowHover", true);
|
|
289
292
|
} }
|
|
290
293
|
function RequalifyLiftPreviousIssuesComponent_div_28_Template(rf, ctx) { if (rf & 1) {
|
|
291
294
|
i0.ɵɵelementStart(0, "div");
|
|
@@ -299,8 +302,8 @@ function RequalifyLiftPreviousIssuesComponent_div_28_Template(rf, ctx) { if (rf
|
|
|
299
302
|
i0.ɵɵproperty("ngIf", ctx_r6.beanList && ctx_r6.beanList.length > 0);
|
|
300
303
|
} }
|
|
301
304
|
function RequalifyLiftPreviousIssuesComponent_div_34_Template(rf, ctx) { if (rf & 1) {
|
|
302
|
-
i0.ɵɵelementStart(0, "div",
|
|
303
|
-
i0.ɵɵelement(1, "ion-spinner",
|
|
305
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
306
|
+
i0.ɵɵelement(1, "ion-spinner", 18);
|
|
304
307
|
i0.ɵɵelementEnd();
|
|
305
308
|
} }
|
|
306
309
|
function RequalifyLiftPreviousIssuesComponent_div_35_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -313,18 +316,18 @@ function RequalifyLiftPreviousIssuesComponent_div_35_div_2_ng_template_3_th_1_Te
|
|
|
313
316
|
i0.ɵɵtext(2);
|
|
314
317
|
i0.ɵɵelementEnd()();
|
|
315
318
|
} if (rf & 2) {
|
|
316
|
-
const
|
|
319
|
+
const col_r60 = ctx.$implicit;
|
|
317
320
|
i0.ɵɵadvance(2);
|
|
318
|
-
i0.ɵɵtextInterpolate(
|
|
321
|
+
i0.ɵɵtextInterpolate(col_r60.header);
|
|
319
322
|
} }
|
|
320
323
|
function RequalifyLiftPreviousIssuesComponent_div_35_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
321
324
|
i0.ɵɵelementStart(0, "tr");
|
|
322
|
-
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_35_div_2_ng_template_3_th_1_Template, 3, 1, "th",
|
|
325
|
+
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_35_div_2_ng_template_3_th_1_Template, 3, 1, "th", 23);
|
|
323
326
|
i0.ɵɵelementEnd();
|
|
324
327
|
} if (rf & 2) {
|
|
325
|
-
const
|
|
328
|
+
const columns_r58 = ctx.$implicit;
|
|
326
329
|
i0.ɵɵadvance(1);
|
|
327
|
-
i0.ɵɵproperty("ngForOf",
|
|
330
|
+
i0.ɵɵproperty("ngForOf", columns_r58);
|
|
328
331
|
} }
|
|
329
332
|
function RequalifyLiftPreviousIssuesComponent_div_35_div_2_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
330
333
|
i0.ɵɵelementStart(0, "tr")(1, "td");
|
|
@@ -343,26 +346,26 @@ function RequalifyLiftPreviousIssuesComponent_div_35_div_2_ng_template_4_Templat
|
|
|
343
346
|
i0.ɵɵtext(10);
|
|
344
347
|
i0.ɵɵelementEnd()();
|
|
345
348
|
} if (rf & 2) {
|
|
346
|
-
const
|
|
349
|
+
const employer_r61 = ctx.$implicit;
|
|
347
350
|
i0.ɵɵadvance(2);
|
|
348
|
-
i0.ɵɵtextInterpolate(
|
|
351
|
+
i0.ɵɵtextInterpolate(employer_r61.employerName);
|
|
349
352
|
i0.ɵɵadvance(2);
|
|
350
|
-
i0.ɵɵtextInterpolate(
|
|
353
|
+
i0.ɵɵtextInterpolate(employer_r61.startDate);
|
|
351
354
|
i0.ɵɵadvance(2);
|
|
352
|
-
i0.ɵɵtextInterpolate(
|
|
355
|
+
i0.ɵɵtextInterpolate(employer_r61.reason);
|
|
353
356
|
i0.ɵɵadvance(2);
|
|
354
|
-
i0.ɵɵtextInterpolate(
|
|
357
|
+
i0.ɵɵtextInterpolate(employer_r61.requalificationWage);
|
|
355
358
|
i0.ɵɵadvance(2);
|
|
356
|
-
i0.ɵɵtextInterpolate(
|
|
359
|
+
i0.ɵɵtextInterpolate(employer_r61.actionTaken);
|
|
357
360
|
} }
|
|
358
361
|
function RequalifyLiftPreviousIssuesComponent_div_35_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
359
|
-
i0.ɵɵelementStart(0, "div")(1, "p-table",
|
|
360
|
-
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_35_div_2_ng_template_3_Template, 2, 1, "ng-template",
|
|
362
|
+
i0.ɵɵelementStart(0, "div")(1, "p-table", 19, 20);
|
|
363
|
+
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_35_div_2_ng_template_3_Template, 2, 1, "ng-template", 21)(4, RequalifyLiftPreviousIssuesComponent_div_35_div_2_ng_template_4_Template, 11, 5, "ng-template", 22);
|
|
361
364
|
i0.ɵɵelementEnd()();
|
|
362
365
|
} if (rf & 2) {
|
|
363
|
-
const
|
|
366
|
+
const ctx_r54 = i0.ɵɵnextContext(2);
|
|
364
367
|
i0.ɵɵadvance(1);
|
|
365
|
-
i0.ɵɵproperty("value",
|
|
368
|
+
i0.ɵɵproperty("value", ctx_r54.sepIssueLiftedList)("columns", ctx_r54.colPreviousIssueLst)("rowHover", true);
|
|
366
369
|
} }
|
|
367
370
|
function RequalifyLiftPreviousIssuesComponent_div_35_Template(rf, ctx) { if (rf & 1) {
|
|
368
371
|
i0.ɵɵelementStart(0, "div");
|
|
@@ -376,8 +379,8 @@ function RequalifyLiftPreviousIssuesComponent_div_35_Template(rf, ctx) { if (rf
|
|
|
376
379
|
i0.ɵɵproperty("ngIf", ctx_r8.sepIssueLiftedList && ctx_r8.sepIssueLiftedList.length > 0);
|
|
377
380
|
} }
|
|
378
381
|
function RequalifyLiftPreviousIssuesComponent_div_41_Template(rf, ctx) { if (rf & 1) {
|
|
379
|
-
i0.ɵɵelementStart(0, "div",
|
|
380
|
-
i0.ɵɵelement(1, "ion-spinner",
|
|
382
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
383
|
+
i0.ɵɵelement(1, "ion-spinner", 18);
|
|
381
384
|
i0.ɵɵelementEnd();
|
|
382
385
|
} }
|
|
383
386
|
function RequalifyLiftPreviousIssuesComponent_div_42_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -390,18 +393,18 @@ function RequalifyLiftPreviousIssuesComponent_div_42_div_2_ng_template_3_th_1_Te
|
|
|
390
393
|
i0.ɵɵtext(2);
|
|
391
394
|
i0.ɵɵelementEnd()();
|
|
392
395
|
} if (rf & 2) {
|
|
393
|
-
const
|
|
396
|
+
const col_r70 = ctx.$implicit;
|
|
394
397
|
i0.ɵɵadvance(2);
|
|
395
|
-
i0.ɵɵtextInterpolate(
|
|
398
|
+
i0.ɵɵtextInterpolate(col_r70.header);
|
|
396
399
|
} }
|
|
397
400
|
function RequalifyLiftPreviousIssuesComponent_div_42_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
398
401
|
i0.ɵɵelementStart(0, "tr", 29);
|
|
399
|
-
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_42_div_2_ng_template_3_th_1_Template, 3, 1, "th",
|
|
402
|
+
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_42_div_2_ng_template_3_th_1_Template, 3, 1, "th", 23);
|
|
400
403
|
i0.ɵɵelementEnd();
|
|
401
404
|
} if (rf & 2) {
|
|
402
|
-
const
|
|
405
|
+
const columns_r68 = ctx.$implicit;
|
|
403
406
|
i0.ɵɵadvance(1);
|
|
404
|
-
i0.ɵɵproperty("ngForOf",
|
|
407
|
+
i0.ɵɵproperty("ngForOf", columns_r68);
|
|
405
408
|
} }
|
|
406
409
|
function RequalifyLiftPreviousIssuesComponent_div_42_div_2_ng_template_4_div_15_Template(rf, ctx) { if (rf & 1) {
|
|
407
410
|
i0.ɵɵelementStart(0, "div", 28);
|
|
@@ -421,43 +424,43 @@ function RequalifyLiftPreviousIssuesComponent_div_42_div_2_ng_template_4_Templat
|
|
|
421
424
|
i0.ɵɵelementStart(7, "td", 31);
|
|
422
425
|
i0.ɵɵtext(8);
|
|
423
426
|
i0.ɵɵelementEnd();
|
|
424
|
-
i0.ɵɵelementStart(9, "td",
|
|
425
|
-
i0.ɵɵelement(12, "app-dropdown", 32)(13, "br")(14, "app-error",
|
|
426
|
-
i0.ɵɵtemplate(15, RequalifyLiftPreviousIssuesComponent_div_42_div_2_ng_template_4_div_15_Template, 2, 0, "div",
|
|
427
|
+
i0.ɵɵelementStart(9, "td", 25)(10, "div", 0, 1);
|
|
428
|
+
i0.ɵɵelement(12, "app-dropdown", 32)(13, "br")(14, "app-error", 16);
|
|
429
|
+
i0.ɵɵtemplate(15, RequalifyLiftPreviousIssuesComponent_div_42_div_2_ng_template_4_div_15_Template, 2, 0, "div", 7);
|
|
427
430
|
i0.ɵɵelement(16, "input", 33);
|
|
428
431
|
i0.ɵɵelementEnd()()();
|
|
429
432
|
} if (rf & 2) {
|
|
430
|
-
const
|
|
431
|
-
const
|
|
432
|
-
const
|
|
433
|
+
const employer_r71 = ctx.$implicit;
|
|
434
|
+
const _r73 = i0.ɵɵreference(11);
|
|
435
|
+
const ctx_r67 = i0.ɵɵnextContext(3);
|
|
433
436
|
i0.ɵɵadvance(2);
|
|
434
|
-
i0.ɵɵtextInterpolate(
|
|
437
|
+
i0.ɵɵtextInterpolate(employer_r71.value.employerName);
|
|
435
438
|
i0.ɵɵadvance(2);
|
|
436
|
-
i0.ɵɵtextInterpolate(
|
|
439
|
+
i0.ɵɵtextInterpolate(employer_r71.value.startDate);
|
|
437
440
|
i0.ɵɵadvance(2);
|
|
438
|
-
i0.ɵɵtextInterpolate(
|
|
441
|
+
i0.ɵɵtextInterpolate(employer_r71.value.reason);
|
|
439
442
|
i0.ɵɵadvance(2);
|
|
440
|
-
i0.ɵɵtextInterpolate(
|
|
443
|
+
i0.ɵɵtextInterpolate(employer_r71.value.requalificationWage);
|
|
441
444
|
i0.ɵɵadvance(2);
|
|
442
|
-
i0.ɵɵproperty("formGroup",
|
|
445
|
+
i0.ɵɵproperty("formGroup", employer_r71);
|
|
443
446
|
i0.ɵɵadvance(2);
|
|
444
|
-
i0.ɵɵproperty("options",
|
|
447
|
+
i0.ɵɵproperty("options", ctx_r67.actionOptions)("autoDisplayFirst", false);
|
|
445
448
|
i0.ɵɵadvance(2);
|
|
446
449
|
i0.ɵɵclassMap("app-grid");
|
|
447
|
-
i0.ɵɵproperty("field",
|
|
450
|
+
i0.ɵɵproperty("field", employer_r71.controls["actionPreviousIssue"])("form", _r73)("errDef", i0.ɵɵpureFunction0(14, _c1));
|
|
448
451
|
i0.ɵɵadvance(1);
|
|
449
|
-
i0.ɵɵproperty("ngIf",
|
|
452
|
+
i0.ɵɵproperty("ngIf", employer_r71.controls["actionPreviousIssue"].invalid);
|
|
450
453
|
i0.ɵɵadvance(1);
|
|
451
|
-
i0.ɵɵpropertyInterpolate("value",
|
|
454
|
+
i0.ɵɵpropertyInterpolate("value", employer_r71.value.issueId);
|
|
452
455
|
} }
|
|
453
456
|
function RequalifyLiftPreviousIssuesComponent_div_42_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
454
|
-
i0.ɵɵelementStart(0, "div")(1, "p-table",
|
|
455
|
-
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_42_div_2_ng_template_3_Template, 2, 1, "ng-template",
|
|
457
|
+
i0.ɵɵelementStart(0, "div")(1, "p-table", 19, 20);
|
|
458
|
+
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_42_div_2_ng_template_3_Template, 2, 1, "ng-template", 21)(4, RequalifyLiftPreviousIssuesComponent_div_42_div_2_ng_template_4_Template, 17, 15, "ng-template", 22);
|
|
456
459
|
i0.ɵɵelementEnd()();
|
|
457
460
|
} if (rf & 2) {
|
|
458
|
-
const
|
|
461
|
+
const ctx_r64 = i0.ɵɵnextContext(2);
|
|
459
462
|
i0.ɵɵadvance(1);
|
|
460
|
-
i0.ɵɵproperty("value",
|
|
463
|
+
i0.ɵɵproperty("value", ctx_r64.preIssuesActionList.controls)("columns", ctx_r64.colPreviousIssueLst)("rowHover", true);
|
|
461
464
|
} }
|
|
462
465
|
function RequalifyLiftPreviousIssuesComponent_div_42_Template(rf, ctx) { if (rf & 1) {
|
|
463
466
|
i0.ɵɵelementStart(0, "div");
|
|
@@ -471,8 +474,8 @@ function RequalifyLiftPreviousIssuesComponent_div_42_Template(rf, ctx) { if (rf
|
|
|
471
474
|
i0.ɵɵproperty("ngIf", ctx_r10.preIssueList && ctx_r10.preIssueList.length > 0);
|
|
472
475
|
} }
|
|
473
476
|
function RequalifyLiftPreviousIssuesComponent_div_48_Template(rf, ctx) { if (rf & 1) {
|
|
474
|
-
i0.ɵɵelementStart(0, "div",
|
|
475
|
-
i0.ɵɵelement(1, "ion-spinner",
|
|
477
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
478
|
+
i0.ɵɵelement(1, "ion-spinner", 18);
|
|
476
479
|
i0.ɵɵelementEnd();
|
|
477
480
|
} }
|
|
478
481
|
function RequalifyLiftPreviousIssuesComponent_div_49_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -485,18 +488,18 @@ function RequalifyLiftPreviousIssuesComponent_div_49_div_2_ng_template_3_th_1_Te
|
|
|
485
488
|
i0.ɵɵtext(2);
|
|
486
489
|
i0.ɵɵelementEnd()();
|
|
487
490
|
} if (rf & 2) {
|
|
488
|
-
const
|
|
491
|
+
const col_r82 = ctx.$implicit;
|
|
489
492
|
i0.ɵɵadvance(2);
|
|
490
|
-
i0.ɵɵtextInterpolate(
|
|
493
|
+
i0.ɵɵtextInterpolate(col_r82.header);
|
|
491
494
|
} }
|
|
492
495
|
function RequalifyLiftPreviousIssuesComponent_div_49_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
493
496
|
i0.ɵɵelementStart(0, "tr");
|
|
494
|
-
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_49_div_2_ng_template_3_th_1_Template, 3, 1, "th",
|
|
497
|
+
i0.ɵɵtemplate(1, RequalifyLiftPreviousIssuesComponent_div_49_div_2_ng_template_3_th_1_Template, 3, 1, "th", 23);
|
|
495
498
|
i0.ɵɵelementEnd();
|
|
496
499
|
} if (rf & 2) {
|
|
497
|
-
const
|
|
500
|
+
const columns_r80 = ctx.$implicit;
|
|
498
501
|
i0.ɵɵadvance(1);
|
|
499
|
-
i0.ɵɵproperty("ngForOf",
|
|
502
|
+
i0.ɵɵproperty("ngForOf", columns_r80);
|
|
500
503
|
} }
|
|
501
504
|
function RequalifyLiftPreviousIssuesComponent_div_49_div_2_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
502
505
|
i0.ɵɵelementStart(0, "tr")(1, "td");
|
|
@@ -512,24 +515,24 @@ function RequalifyLiftPreviousIssuesComponent_div_49_div_2_ng_template_4_Templat
|
|
|
512
515
|
i0.ɵɵtext(8);
|
|
513
516
|
i0.ɵɵelementEnd()();
|
|
514
517
|
} if (rf & 2) {
|
|
515
|
-
const
|
|
518
|
+
const employer_r83 = ctx.$implicit;
|
|
516
519
|
i0.ɵɵadvance(2);
|
|
517
|
-
i0.ɵɵtextInterpolate(
|
|
520
|
+
i0.ɵɵtextInterpolate(employer_r83.employerName);
|
|
518
521
|
i0.ɵɵadvance(2);
|
|
519
|
-
i0.ɵɵtextInterpolate(
|
|
522
|
+
i0.ɵɵtextInterpolate(employer_r83.startDate);
|
|
520
523
|
i0.ɵɵadvance(2);
|
|
521
|
-
i0.ɵɵtextInterpolate(
|
|
524
|
+
i0.ɵɵtextInterpolate(employer_r83.reason);
|
|
522
525
|
i0.ɵɵadvance(2);
|
|
523
|
-
i0.ɵɵtextInterpolate(
|
|
526
|
+
i0.ɵɵtextInterpolate(employer_r83.actionTaken);
|
|
524
527
|
} }
|
|
525
528
|
function RequalifyLiftPreviousIssuesComponent_div_49_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
526
|
-
i0.ɵɵelementStart(0, "div")(1, "p-table", 34,
|
|
527
|
-
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_49_div_2_ng_template_3_Template, 2, 1, "ng-template",
|
|
529
|
+
i0.ɵɵelementStart(0, "div")(1, "p-table", 34, 20);
|
|
530
|
+
i0.ɵɵtemplate(3, RequalifyLiftPreviousIssuesComponent_div_49_div_2_ng_template_3_Template, 2, 1, "ng-template", 21)(4, RequalifyLiftPreviousIssuesComponent_div_49_div_2_ng_template_4_Template, 9, 4, "ng-template", 22);
|
|
528
531
|
i0.ɵɵelementEnd()();
|
|
529
532
|
} if (rf & 2) {
|
|
530
|
-
const
|
|
533
|
+
const ctx_r76 = i0.ɵɵnextContext(2);
|
|
531
534
|
i0.ɵɵadvance(1);
|
|
532
|
-
i0.ɵɵproperty("value",
|
|
535
|
+
i0.ɵɵproperty("value", ctx_r76.allowedSepIssueList)("columns", ctx_r76.colAllowIssueLst);
|
|
533
536
|
} }
|
|
534
537
|
function RequalifyLiftPreviousIssuesComponent_div_49_Template(rf, ctx) { if (rf & 1) {
|
|
535
538
|
i0.ɵɵelementStart(0, "div");
|
|
@@ -542,6 +545,11 @@ function RequalifyLiftPreviousIssuesComponent_div_49_Template(rf, ctx) { if (rf
|
|
|
542
545
|
i0.ɵɵadvance(1);
|
|
543
546
|
i0.ɵɵproperty("ngIf", ctx_r12.allowedSepIssueList && ctx_r12.allowedSepIssueList.length > 0);
|
|
544
547
|
} }
|
|
548
|
+
function RequalifyLiftPreviousIssuesComponent_div_57_Template(rf, ctx) { if (rf & 1) {
|
|
549
|
+
i0.ɵɵelementStart(0, "div", 28);
|
|
550
|
+
i0.ɵɵtext(1, " required ");
|
|
551
|
+
i0.ɵɵelementEnd();
|
|
552
|
+
} }
|
|
545
553
|
const _c2 = () => ({ width: "60vw" });
|
|
546
554
|
const _c3 = () => ({ "960px": "80vw", "640px": "100vw" });
|
|
547
555
|
const _c4 = () => ({ required: "required." });
|
|
@@ -741,6 +749,25 @@ export class RequalifyLiftPreviousIssuesComponent {
|
|
|
741
749
|
this.showData = false;
|
|
742
750
|
this.requalifyReqHidden.setValue(null);
|
|
743
751
|
}
|
|
752
|
+
changeActionForIssueDropdown(event) {
|
|
753
|
+
if (event.value.value === 'PRFR') {
|
|
754
|
+
this.additionalInfo.addValidators([Validators.required]);
|
|
755
|
+
}
|
|
756
|
+
else {
|
|
757
|
+
let exist = false;
|
|
758
|
+
for (let element of this.beanActionList.controls) {
|
|
759
|
+
if (element.value.actionTakenPotentialIssue === 'PRFR') {
|
|
760
|
+
exist = true;
|
|
761
|
+
break;
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
if (!exist) {
|
|
765
|
+
this.additionalInfo.clearValidators();
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
this.payForm.updateValueAndValidity();
|
|
769
|
+
this.additionalInfo.updateValueAndValidity();
|
|
770
|
+
}
|
|
744
771
|
get preIssuesActionList() {
|
|
745
772
|
return this.payForm.controls['preIssuesActionList'];
|
|
746
773
|
}
|
|
@@ -771,7 +798,7 @@ export class RequalifyLiftPreviousIssuesComponent {
|
|
|
771
798
|
provide: NG_VALUE_ACCESSOR,
|
|
772
799
|
useExisting: RequalifyLiftPreviousIssuesComponent,
|
|
773
800
|
multi: true
|
|
774
|
-
}])], decls:
|
|
801
|
+
}])], decls: 73, vars: 39, consts: [[3, "formGroup"], ["requalifyFormDirective", "ngForm"], ["modal", "true", "appendTo", "body", 3, "showHeader", "breakpoints", "visible"], [2, "margin-left", "-5px"], ["class", "ion-text-center", 4, "ngIf"], [4, "ngIf"], ["id", "additionalInfo", "autoResize", "true", "formControlName", "additionalInfo", "maxLength", "256", "rows", "3", "cols", "35"], ["style", "color:#e60e0e; margin-left: 0px; font-size: 15px", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "type", "reset", "fill", "outline", 3, "click"], ["shape", "round", "type", "submit", "fill", "solid", 3, "click"], [1, "form-label"], [1, "grid", "p-nogutter"], [1, "col-12"], ["type", "text", "id", "requalifyReqHidden", "pInputText", "", "formControlName", "requalifyReqHidden", "hidden", ""], ["shape", "round", "color", "success", "fill", "outline", "type", "submit", 3, "click"], [3, "field", "form", "errDef"], [1, "ion-text-center"], ["name", "dots"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "value", "columns", "rowHover"], ["dt", ""], ["pTemplate", "header"], ["pTemplate", "body"], [4, "ngFor", "ngForOf"], ["style", "width:30%", 4, "ngIf"], [2, "width", "30%"], ["formControlName", "actionTakenPotentialIssue", "optionLabel", "text", "appendTo", "body", "required", "", 3, "options", "autoDisplayFirst", "onChange"], ["type", "hidden", "formControlName", "claimAppEmployerId", 3, "value"], [2, "color", "#e60e0e", "margin-left", "0px", "font-size", "15px"], [2, "padding", "50px"], [2, "width", "20%"], [2, "width", "10%"], ["formControlName", "actionPreviousIssue", "optionLabel", "text", "appendTo", "body", "required", "", 3, "options", "autoDisplayFirst"], ["type", "hidden", "formControlName", "issueId", 3, "value"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "value", "columns"]], template: function RequalifyLiftPreviousIssuesComponent_Template(rf, ctx) { if (rf & 1) {
|
|
775
802
|
i0.ɵɵelementStart(0, "form", 0, 1)(2, "p-dialog", 2)(3, "div", 3)(4, "ion-row")(5, "ion-col")(6, "h1");
|
|
776
803
|
i0.ɵɵtext(7);
|
|
777
804
|
i0.ɵɵelementEnd()()();
|
|
@@ -810,33 +837,34 @@ export class RequalifyLiftPreviousIssuesComponent {
|
|
|
810
837
|
i0.ɵɵelementEnd();
|
|
811
838
|
i0.ɵɵelementStart(54, "div", 0, 1);
|
|
812
839
|
i0.ɵɵelement(56, "textarea", 6);
|
|
840
|
+
i0.ɵɵtemplate(57, RequalifyLiftPreviousIssuesComponent_div_57_Template, 2, 0, "div", 7);
|
|
813
841
|
i0.ɵɵelementEnd()()();
|
|
814
|
-
i0.ɵɵelementStart(
|
|
815
|
-
i0.ɵɵlistener("click", function
|
|
816
|
-
i0.ɵɵtext(
|
|
842
|
+
i0.ɵɵelementStart(58, "ion-row")(59, "ion-col", 8)(60, "ion-button", 9);
|
|
843
|
+
i0.ɵɵlistener("click", function RequalifyLiftPreviousIssuesComponent_Template_ion_button_click_60_listener() { return ctx.onModelCancel(); });
|
|
844
|
+
i0.ɵɵtext(61);
|
|
817
845
|
i0.ɵɵelementEnd();
|
|
818
|
-
i0.ɵɵelementStart(
|
|
819
|
-
i0.ɵɵlistener("click", function
|
|
820
|
-
i0.ɵɵtext(
|
|
846
|
+
i0.ɵɵelementStart(62, "ion-button", 10);
|
|
847
|
+
i0.ɵɵlistener("click", function RequalifyLiftPreviousIssuesComponent_Template_ion_button_click_62_listener() { return ctx.saveData(); });
|
|
848
|
+
i0.ɵɵtext(63);
|
|
821
849
|
i0.ɵɵelementEnd()()()()();
|
|
822
|
-
i0.ɵɵelementStart(
|
|
823
|
-
i0.ɵɵtext(
|
|
824
|
-
i0.ɵɵpipe(
|
|
850
|
+
i0.ɵɵelementStart(64, "p", 11);
|
|
851
|
+
i0.ɵɵtext(65);
|
|
852
|
+
i0.ɵɵpipe(66, "translate");
|
|
825
853
|
i0.ɵɵelementEnd();
|
|
826
|
-
i0.ɵɵelementStart(
|
|
827
|
-
i0.ɵɵelement(
|
|
828
|
-
i0.ɵɵelementStart(
|
|
829
|
-
i0.ɵɵlistener("click", function
|
|
830
|
-
i0.ɵɵtext(
|
|
854
|
+
i0.ɵɵelementStart(67, "div", 12)(68, "div", 13);
|
|
855
|
+
i0.ɵɵelement(69, "input", 14);
|
|
856
|
+
i0.ɵɵelementStart(70, "ion-button", 15);
|
|
857
|
+
i0.ɵɵlistener("click", function RequalifyLiftPreviousIssuesComponent_Template_ion_button_click_70_listener() { return ctx.openDialog(); });
|
|
858
|
+
i0.ɵɵtext(71, " Review ");
|
|
831
859
|
i0.ɵɵelementEnd();
|
|
832
|
-
i0.ɵɵelement(
|
|
860
|
+
i0.ɵɵelement(72, "app-error", 16);
|
|
833
861
|
i0.ɵɵelementEnd()()();
|
|
834
862
|
} if (rf & 2) {
|
|
835
863
|
const _r0 = i0.ɵɵreference(1);
|
|
836
864
|
i0.ɵɵproperty("formGroup", ctx.form);
|
|
837
865
|
i0.ɵɵadvance(2);
|
|
838
|
-
i0.ɵɵstyleMap(i0.ɵɵpureFunction0(
|
|
839
|
-
i0.ɵɵproperty("showHeader", false)("breakpoints", i0.ɵɵpureFunction0(
|
|
866
|
+
i0.ɵɵstyleMap(i0.ɵɵpureFunction0(36, _c2));
|
|
867
|
+
i0.ɵɵproperty("showHeader", false)("breakpoints", i0.ɵɵpureFunction0(37, _c3))("visible", ctx.showData);
|
|
840
868
|
i0.ɵɵadvance(5);
|
|
841
869
|
i0.ɵɵtextInterpolate(ctx.requalifyLiftIssuesData.pageTitle);
|
|
842
870
|
i0.ɵɵadvance(5);
|
|
@@ -879,14 +907,16 @@ export class RequalifyLiftPreviousIssuesComponent {
|
|
|
879
907
|
i0.ɵɵtextInterpolate(ctx.requalifyLiftIssuesData.remarks);
|
|
880
908
|
i0.ɵɵadvance(1);
|
|
881
909
|
i0.ɵɵproperty("formGroup", ctx.payForm);
|
|
882
|
-
i0.ɵɵadvance(
|
|
910
|
+
i0.ɵɵadvance(3);
|
|
911
|
+
i0.ɵɵproperty("ngIf", ctx.additionalInfo.invalid);
|
|
912
|
+
i0.ɵɵadvance(4);
|
|
883
913
|
i0.ɵɵtextInterpolate1(" ", ctx.requalifyLiftIssuesData.cancelButton, " ");
|
|
884
914
|
i0.ɵɵadvance(2);
|
|
885
915
|
i0.ɵɵtextInterpolate1(" ", ctx.requalifyLiftIssuesData.saveButton, " ");
|
|
886
916
|
i0.ɵɵadvance(2);
|
|
887
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(
|
|
917
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(66, 34, ctx.requalifyLiftIssuesData.questionHeading), "");
|
|
888
918
|
i0.ɵɵadvance(7);
|
|
889
|
-
i0.ɵɵproperty("field", ctx.requalifyReqHidden)("form", _r0)("errDef", i0.ɵɵpureFunction0(
|
|
919
|
+
i0.ɵɵproperty("field", ctx.requalifyReqHidden)("form", _r0)("errDef", i0.ɵɵpureFunction0(38, _c4));
|
|
890
920
|
} }, dependencies: [i6.IonButton, i6.IonCol, i6.IonRow, i6.IonSpinner, i7.NgForOf, i7.NgIf, i8.PrimeTemplate, i4.ɵNgNoValidate, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.RequiredValidator, i4.FormGroupDirective, i4.FormControlName, i9.Dialog, i10.Table, i11.InputText, i12.ErrorComponent, i13.Dropdown, i7.CurrencyPipe, i14.TranslatePipe] }); }
|
|
891
921
|
}
|
|
892
922
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RequalifyLiftPreviousIssuesComponent, [{
|
|
@@ -895,7 +925,7 @@ export class RequalifyLiftPreviousIssuesComponent {
|
|
|
895
925
|
provide: NG_VALUE_ACCESSOR,
|
|
896
926
|
useExisting: RequalifyLiftPreviousIssuesComponent,
|
|
897
927
|
multi: true
|
|
898
|
-
}], changeDetection: ChangeDetectionStrategy.Default, template: "<form [formGroup]=\"form\" #requalifyFormDirective = \"ngForm\">\r\n <p-dialog modal=\"true\" [showHeader]=\"false\" appendTo=\"body\" [breakpoints]=\"{'960px': '80vw', '640px': '100vw'}\" [style]=\"{width: '60vw'}\" [visible]=\"showData\">\r\n <div style=\"margin-left: -5px;\">\r\n <ion-row>\r\n <ion-col>\r\n <h1>{{requalifyLiftIssuesData.pageTitle}}</h1>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div> \r\n <h2>{{requalifyLiftIssuesData.baseWageInfo}}</h2>\r\n </div>\r\n <div *ngIf=\"!showWagesList\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf=\"showWagesList\"> \r\n <div *ngIf = \"bpEmployerWagesListFiltered.length === 0 || !empProvidedWages \"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"bpEmployerWagesListFiltered && empProvidedWages\"> \r\n <p-table #dt [value]=\"bpEmployerWagesListFiltered\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"cols\" [rowHover]=\"true\">\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td>{{employer.employerData.displayName}}</td>\r\n <td>{{employer.employerProvidedWages.wagesListQtrWise[0]?.wageAmount | currency}}</td>\r\n <td>{{employer.employerProvidedWages.wagesListQtrWise[1]?.wageAmount | currency}}</td>\r\n <td>{{employer.employerProvidedWages.wagesListQtrWise[2]?.wageAmount | currency}}</td>\r\n <td>{{employer.employerProvidedWages.wagesListQtrWise[3]?.wageAmount | currency}}</td>\r\n <td>{{employer.employerProvidedWages.wagesListQtrWise[4]?.wageAmount | currency}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div><h2>{{requalifyLiftIssuesData.earningsProof}}</h2></div>\r\n <div *ngIf=\"!show512AResponse\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf = \"show512AResponse\"> \r\n <div *ngIf = \"!ui512AResponseList\"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"ui512AResponseList\"> \r\n <p-table #dt [value]=\"ui512AResponseList\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"col512AResponseLst\" [rowHover]=\"true\" >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td>{{employer.employerName}}</td>\r\n <td>{{employer.proofRecievedDate}}</td>\r\n <td>{{employer.earningsBeginDate}}</td>\r\n <td>{{employer.earningsEndDate}}</td>\r\n <td>{{employer.amountOfEarnings}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table> \r\n </div> \r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div><h2>{{requalifyLiftIssuesData.potentialIssues}}</h2></div>\r\n <div *ngIf=\"!showBeanList\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf = \"showBeanList\">\r\n <div *ngIf = \"beanList.length === 0\"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"beanList && beanList.length > 0\"> \r\n <p-table #dt [value]=\"beanActionList.controls\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"colBeanLst\" [rowHover]=\"true\" >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <!-- <ng-container *ngFor=\"let employer of beanActionList.controls; let i = index\" [formGroupName]=\"i\"> -->\r\n <tr>\r\n <td>{{employer.value.employerName}}</td>\r\n <td>{{employer.value.startDate}}</td>\r\n <td>{{employer.value.reason}}</td>\r\n <td>{{employer.value.requalificationWage}}</td>\r\n <td *ngIf= \"employer.value.actionTaken != null\">{{employer.value.actionTaken}}</td>\r\n <td style=\"width:30%\" *ngIf= \"employer.value.actionTaken === null\">\r\n <div [formGroup]=\"employer\" #requalifyFormDirective=\"ngForm\">\r\n <app-dropdown [options]=\"actionOptions\" formControlName=\"actionTakenPotentialIssue\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" required></app-dropdown><br>\r\n <app-error [class]=\"'app-grid'\" [field]='employer.controls[\"actionTakenPotentialIssue\"]' [form]=\"requalifyFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n <div *ngIf=\"employer.controls['actionTakenPotentialIssue'].invalid\" style=\"color:#e60e0e; margin-left: 0px; font-size: 15px\">\r\n required\r\n </div> \r\n <input type=\"hidden\" formControlName=\"claimAppEmployerId\" value = \"{{employer.value.claimAppEmployerId}}\"/>\r\n </div> \r\n </td>\r\n </tr> \r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div><h2>{{requalifyLiftIssuesData.separationIssues}}</h2>\r\n </div>\r\n <div *ngIf=\"!showSepIssueList\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf = \"showSepIssueList\">\r\n <div *ngIf = \"sepIssueLiftedList.length === 0\"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"sepIssueLiftedList && sepIssueLiftedList.length > 0\"> \r\n <p-table #dt [value]=\"sepIssueLiftedList\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"colPreviousIssueLst\" [rowHover]=\"true\" >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td>{{employer.employerName}}</td>\r\n <td>{{employer.startDate}}</td>\r\n <td>{{employer.reason}}</td>\r\n <td>{{employer.requalificationWage}}</td>\r\n <td>{{employer.actionTaken}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div><h2>{{requalifyLiftIssuesData.previousDecisions}}</h2>\r\n </div>\r\n <div *ngIf=\"!showPreIssueList\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf = \"showPreIssueList\">\r\n <div *ngIf = \"preIssueList.length === 0\"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"preIssueList && preIssueList.length > 0\"> \r\n <p-table #dt [value]=\"preIssuesActionList.controls\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"colPreviousIssueLst\" [rowHover]=\"true\">\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr style=\"padding: 50px;\"> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td style=\"width:20%\">{{employer.value.employerName}}</td>\r\n <td style=\"width:20%\">{{employer.value.startDate}}</td>\r\n <td style=\"width:20%\">{{employer.value.reason}}</td>\r\n <td style=\"width:10%\">{{employer.value.requalificationWage}}</td>\r\n \r\n <td style=\"width:30%\"> \r\n <div [formGroup]=\"employer\" #requalifyFormDirective=\"ngForm\"> \r\n <app-dropdown [options]=\"actionOptions\" formControlName=\"actionPreviousIssue\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" required></app-dropdown><br>\r\n <app-error [class]=\"'app-grid'\" [field]='employer.controls[\"actionPreviousIssue\"]' [form]=\"requalifyFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n <div *ngIf=\"employer.controls['actionPreviousIssue'].invalid\" style=\"color:#e60e0e; margin-left: 0px; font-size: 15px\">\r\n required\r\n </div> \r\n <input type=\"hidden\" formControlName=\"issueId\" value = \"{{employer.value.issueId}}\"/>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div><h2>{{requalifyLiftIssuesData.otherIssues}}</h2>\r\n </div>\r\n <div *ngIf=\"!showAllowSepList\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf = \"showAllowSepList\">\r\n <div *ngIf = \"allowedSepIssueList.length === 0\"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"allowedSepIssueList && allowedSepIssueList.length > 0\"> \r\n <p-table #dt [value]=\"allowedSepIssueList\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"colAllowIssueLst\" >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr> \r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td>{{employer.employerName}}</td>\r\n <td>{{employer.startDate}}</td>\r\n <td>{{employer.reason}}</td>\r\n <td>{{employer.actionTaken}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n \r\n <p>{{requalifyLiftIssuesData.remarks}}</p>\r\n <div [formGroup]=\"payForm\" #requalifyFormDirective=\"ngForm\">\r\n <textarea id=\"additionalInfo\" autoResize=\"true\" formControlName=\"additionalInfo\"\r\n maxLength=\"256\" rows=\"3\" cols=\"35\"></textarea>\r\n <!-- <app-error [field]=\"additionalInfo\" [form]=\"payForm\" [errDef]=\"{required: 'required'}\"></app-error> -->\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\"> \r\n <ion-button shape=\"round\" (click)=\"onModelCancel()\" type=\"reset\" fill=\"outline\">\r\n {{requalifyLiftIssuesData.cancelButton}}\r\n </ion-button>\r\n <ion-button shape=\"round\" type=\"submit\" (click)=\"saveData()\" fill=\"solid\">\r\n {{requalifyLiftIssuesData.saveButton}}\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </p-dialog>\r\n\r\n <p class=\"form-label\"> {{requalifyLiftIssuesData.questionHeading | translate}}</p>\r\n <div class=\"grid p-nogutter\">\r\n <div class=\"col-12\">\r\n <input type=\"text\" id=\"requalifyReqHidden\" pInputText formControlName=\"requalifyReqHidden\" hidden />\r\n <ion-button shape=\"round\" color=\"success\" fill=\"outline\" type=\"submit\"\r\n (click)=\"openDialog();\">\r\n Review\r\n </ion-button>\r\n <app-error [field]='requalifyReqHidden' [form]=\"requalifyFormDirective\" [errDef]=\"{\r\n required: 'required.'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n </form>" }]
|
|
928
|
+
}], changeDetection: ChangeDetectionStrategy.Default, template: "<form [formGroup]=\"form\" #requalifyFormDirective = \"ngForm\">\r\n <p-dialog modal=\"true\" [showHeader]=\"false\" appendTo=\"body\" [breakpoints]=\"{'960px': '80vw', '640px': '100vw'}\" [style]=\"{width: '60vw'}\" [visible]=\"showData\">\r\n <div style=\"margin-left: -5px;\">\r\n <ion-row>\r\n <ion-col>\r\n <h1>{{requalifyLiftIssuesData.pageTitle}}</h1>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div> \r\n <h2>{{requalifyLiftIssuesData.baseWageInfo}}</h2>\r\n </div>\r\n <div *ngIf=\"!showWagesList\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf=\"showWagesList\"> \r\n <div *ngIf = \"bpEmployerWagesListFiltered.length === 0 || !empProvidedWages \"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"bpEmployerWagesListFiltered && empProvidedWages\"> \r\n <p-table #dt [value]=\"bpEmployerWagesListFiltered\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"cols\" [rowHover]=\"true\">\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td>{{employer.employerData.displayName}}</td>\r\n <td>{{employer.employerProvidedWages.wagesListQtrWise[0]?.wageAmount | currency}}</td>\r\n <td>{{employer.employerProvidedWages.wagesListQtrWise[1]?.wageAmount | currency}}</td>\r\n <td>{{employer.employerProvidedWages.wagesListQtrWise[2]?.wageAmount | currency}}</td>\r\n <td>{{employer.employerProvidedWages.wagesListQtrWise[3]?.wageAmount | currency}}</td>\r\n <td>{{employer.employerProvidedWages.wagesListQtrWise[4]?.wageAmount | currency}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div><h2>{{requalifyLiftIssuesData.earningsProof}}</h2></div>\r\n <div *ngIf=\"!show512AResponse\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf = \"show512AResponse\"> \r\n <div *ngIf = \"!ui512AResponseList\"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"ui512AResponseList\"> \r\n <p-table #dt [value]=\"ui512AResponseList\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"col512AResponseLst\" [rowHover]=\"true\" >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td>{{employer.employerName}}</td>\r\n <td>{{employer.proofRecievedDate}}</td>\r\n <td>{{employer.earningsBeginDate}}</td>\r\n <td>{{employer.earningsEndDate}}</td>\r\n <td>{{employer.amountOfEarnings}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table> \r\n </div> \r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div><h2>{{requalifyLiftIssuesData.potentialIssues}}</h2></div>\r\n <div *ngIf=\"!showBeanList\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf = \"showBeanList\">\r\n <div *ngIf = \"beanList.length === 0\"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"beanList && beanList.length > 0\"> \r\n <p-table #dt [value]=\"beanActionList.controls\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"colBeanLst\" [rowHover]=\"true\" >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <!-- <ng-container *ngFor=\"let employer of beanActionList.controls; let i = index\" [formGroupName]=\"i\"> -->\r\n <tr>\r\n <td>{{employer.value.employerName}}</td>\r\n <td>{{employer.value.startDate}}</td>\r\n <td>{{employer.value.reason}}</td>\r\n <td>{{employer.value.requalificationWage}}</td>\r\n <td *ngIf= \"employer.value.actionTaken != null\">{{employer.value.actionTaken}}</td>\r\n <td style=\"width:30%\" *ngIf= \"employer.value.actionTaken === null\">\r\n <div [formGroup]=\"employer\" #requalifyFormDirective=\"ngForm\">\r\n <app-dropdown [options]=\"actionOptions\" formControlName=\"actionTakenPotentialIssue\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" (onChange)=\"changeActionForIssueDropdown($event)\" required></app-dropdown><br>\r\n <app-error [class]=\"'app-grid'\" [field]='employer.controls[\"actionTakenPotentialIssue\"]' [form]=\"requalifyFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n <div *ngIf=\"employer.controls['actionTakenPotentialIssue'].invalid\" style=\"color:#e60e0e; margin-left: 0px; font-size: 15px\">\r\n required\r\n </div> \r\n <input type=\"hidden\" formControlName=\"claimAppEmployerId\" value = \"{{employer.value.claimAppEmployerId}}\"/>\r\n </div> \r\n </td>\r\n </tr> \r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div><h2>{{requalifyLiftIssuesData.separationIssues}}</h2>\r\n </div>\r\n <div *ngIf=\"!showSepIssueList\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf = \"showSepIssueList\">\r\n <div *ngIf = \"sepIssueLiftedList.length === 0\"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"sepIssueLiftedList && sepIssueLiftedList.length > 0\"> \r\n <p-table #dt [value]=\"sepIssueLiftedList\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"colPreviousIssueLst\" [rowHover]=\"true\" >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td>{{employer.employerName}}</td>\r\n <td>{{employer.startDate}}</td>\r\n <td>{{employer.reason}}</td>\r\n <td>{{employer.requalificationWage}}</td>\r\n <td>{{employer.actionTaken}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div><h2>{{requalifyLiftIssuesData.previousDecisions}}</h2>\r\n </div>\r\n <div *ngIf=\"!showPreIssueList\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf = \"showPreIssueList\">\r\n <div *ngIf = \"preIssueList.length === 0\"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"preIssueList && preIssueList.length > 0\"> \r\n <p-table #dt [value]=\"preIssuesActionList.controls\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"colPreviousIssueLst\" [rowHover]=\"true\">\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr style=\"padding: 50px;\"> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td style=\"width:20%\">{{employer.value.employerName}}</td>\r\n <td style=\"width:20%\">{{employer.value.startDate}}</td>\r\n <td style=\"width:20%\">{{employer.value.reason}}</td>\r\n <td style=\"width:10%\">{{employer.value.requalificationWage}}</td>\r\n \r\n <td style=\"width:30%\"> \r\n <div [formGroup]=\"employer\" #requalifyFormDirective=\"ngForm\"> \r\n <app-dropdown [options]=\"actionOptions\" formControlName=\"actionPreviousIssue\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" required></app-dropdown><br>\r\n <app-error [class]=\"'app-grid'\" [field]='employer.controls[\"actionPreviousIssue\"]' [form]=\"requalifyFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n <div *ngIf=\"employer.controls['actionPreviousIssue'].invalid\" style=\"color:#e60e0e; margin-left: 0px; font-size: 15px\">\r\n required\r\n </div> \r\n <input type=\"hidden\" formControlName=\"issueId\" value = \"{{employer.value.issueId}}\"/>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n <div><h2>{{requalifyLiftIssuesData.otherIssues}}</h2>\r\n </div>\r\n <div *ngIf=\"!showAllowSepList\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div *ngIf = \"showAllowSepList\">\r\n <div *ngIf = \"allowedSepIssueList.length === 0\"> \r\n <p>No Records found.</p>\r\n </div>\r\n <div *ngIf = \"allowedSepIssueList && allowedSepIssueList.length > 0\"> \r\n <p-table #dt [value]=\"allowedSepIssueList\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\" \r\n [columns]=\"colAllowIssueLst\" >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr> \r\n <th *ngFor=\"let col of columns\">\r\n <b>{{col.header}}</b>\r\n </th> \r\n </tr> \r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td>{{employer.employerName}}</td>\r\n <td>{{employer.startDate}}</td>\r\n <td>{{employer.reason}}</td>\r\n <td>{{employer.actionTaken}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col>\r\n \r\n <p>{{requalifyLiftIssuesData.remarks}}</p>\r\n <div [formGroup]=\"payForm\" #requalifyFormDirective=\"ngForm\">\r\n <textarea id=\"additionalInfo\" autoResize=\"true\" formControlName=\"additionalInfo\"\r\n maxLength=\"256\" rows=\"3\" cols=\"35\"></textarea>\r\n <div *ngIf=\"additionalInfo.invalid\" style=\"color:#e60e0e; margin-left: 0px; font-size: 15px\">\r\n required\r\n </div> \r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\"> \r\n <ion-button shape=\"round\" (click)=\"onModelCancel()\" type=\"reset\" fill=\"outline\">\r\n {{requalifyLiftIssuesData.cancelButton}}\r\n </ion-button>\r\n <ion-button shape=\"round\" type=\"submit\" (click)=\"saveData()\" fill=\"solid\">\r\n {{requalifyLiftIssuesData.saveButton}}\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </p-dialog>\r\n\r\n <p class=\"form-label\"> {{requalifyLiftIssuesData.questionHeading | translate}}</p>\r\n <div class=\"grid p-nogutter\">\r\n <div class=\"col-12\">\r\n <input type=\"text\" id=\"requalifyReqHidden\" pInputText formControlName=\"requalifyReqHidden\" hidden />\r\n <ion-button shape=\"round\" color=\"success\" fill=\"outline\" type=\"submit\"\r\n (click)=\"openDialog();\">\r\n Review\r\n </ion-button>\r\n <app-error [field]='requalifyReqHidden' [form]=\"requalifyFormDirective\" [errDef]=\"{\r\n required: 'required.'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n </form>" }]
|
|
899
929
|
}], () => [{ type: i1.ClaimService }, { type: i2.LoginService }, { type: i3.ActivatedRoute }, { type: i4.FormBuilder }, { type: i5.LoggerService }], { question: [{
|
|
900
930
|
type: Input
|
|
901
931
|
}], componentData: [{
|
|
@@ -911,4 +941,4 @@ export class RequalifyLiftPreviousIssuesComponent {
|
|
|
911
941
|
args: ['requalifyFormDirective', { static: false }]
|
|
912
942
|
}] }); })();
|
|
913
943
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RequalifyLiftPreviousIssuesComponent, { className: "RequalifyLiftPreviousIssuesComponent", filePath: "lib\\components\\requalify-lift-previous-issues\\requalify-lift-previous-issues.component.ts", lineNumber: 30 }); })();
|
|
914
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9yZXF1YWxpZnktbGlmdC1wcmV2aW91cy1pc3N1ZXMvcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9yZXF1YWxpZnktbGlmdC1wcmV2aW91cy1pc3N1ZXMvcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUE0QyxpQkFBaUIsRUFBb0Isa0JBQWtCLEVBQUUsVUFBVSxFQUErQixNQUFNLGdCQUFnQixDQUFDO0FBRzVLLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ0t6RCwrQkFBb0Q7SUFDbEQsa0NBQXVDO0lBQ3pDLGlCQUFNOzs7SUFFSiwyQkFBOEUsUUFBQTtJQUN6RSxpQ0FBaUI7SUFBQSxpQkFBSSxFQUFBOzs7SUFPaEIsMEJBQWdDLFFBQUE7SUFDekIsWUFBYztJQUFBLGlCQUFJLEVBQUE7OztJQUFsQixlQUFjO0lBQWQsb0NBQWM7OztJQUZ6QiwwQkFBSTtJQUNBLCtHQUVLO0lBQ1QsaUJBQUs7OztJQUhtQixlQUFVO0lBQVYscUNBQVU7OztJQU1sQywwQkFBSSxTQUFBO0lBQ0UsWUFBcUM7SUFBQSxpQkFBSztJQUM5QywwQkFBSTtJQUFBLFlBQTZFOztJQUFBLGlCQUFLO0lBQ3RGLDBCQUFJO0lBQUEsWUFBNkU7O0lBQUEsaUJBQUs7SUFDdEYsMEJBQUk7SUFBQSxhQUE2RTs7SUFBQSxpQkFBSztJQUN0RiwyQkFBSTtJQUFBLGFBQTZFOztJQUFBLGlCQUFLO0lBQ3RGLDJCQUFJO0lBQUEsYUFBNkU7O0lBQUEsaUJBQUssRUFBQTs7O0lBTGxGLGVBQXFDO0lBQXJDLDJEQUFxQztJQUNyQyxlQUE2RTtJQUE3RSxxTEFBNkU7SUFDN0UsZUFBNkU7SUFBN0UscUxBQTZFO0lBQzdFLGVBQTZFO0lBQTdFLHVMQUE2RTtJQUM3RSxlQUE2RTtJQUE3RSx1TEFBNkU7SUFDN0UsZUFBNkU7SUFBN0UsdUxBQTZFOzs7SUFqQnpGLDJCQUErRCxzQkFBQTtJQUczRCxtSEFNYyx3R0FBQTtJQVdoQixpQkFBVSxFQUFBOzs7SUFuQkcsZUFBcUM7SUFBckMsMkRBQXFDLHlCQUFBLGtCQUFBOzs7SUFMdEQsMkJBQTJCO0lBQ3pCLDRGQUVNLCtFQUFBO0lBdUJSLGlCQUFNOzs7SUF6QkUsZUFBcUU7SUFBckUsa0dBQXFFO0lBR3JFLGVBQXVEO0lBQXZELG9GQUF1RDs7O0lBNkJyRSwrQkFBdUQ7SUFDckQsa0NBQXVDO0lBQ3pDLGlCQUFNOzs7SUFFSiwyQkFBbUMsUUFBQTtJQUM5QixpQ0FBaUI7SUFBQSxpQkFBSSxFQUFBOzs7SUFPaEIsMEJBQWdDLFFBQUE7SUFDekIsWUFBYztJQUFBLGlCQUFJLEVBQUE7OztJQUFsQixlQUFjO0lBQWQsb0NBQWM7OztJQUZ6QiwwQkFBSTtJQUNBLCtHQUVLO0lBQ1QsaUJBQUs7OztJQUhtQixlQUFVO0lBQVYscUNBQVU7OztJQU1sQywwQkFBSSxTQUFBO0lBQ0UsWUFBeUI7SUFBQSxpQkFBSztJQUNsQywwQkFBSTtJQUFBLFlBQThCO0lBQUEsaUJBQUs7SUFDdkMsMEJBQUk7SUFBQSxZQUE4QjtJQUFBLGlCQUFLO0lBQ3ZDLDBCQUFJO0lBQUEsWUFBNEI7SUFBQSxpQkFBSztJQUNyQywwQkFBSTtJQUFBLGFBQTZCO0lBQUEsaUJBQUssRUFBQTs7O0lBSmxDLGVBQXlCO0lBQXpCLCtDQUF5QjtJQUN6QixlQUE4QjtJQUE5QixvREFBOEI7SUFDOUIsZUFBOEI7SUFBOUIsb0RBQThCO0lBQzlCLGVBQTRCO0lBQTVCLGtEQUE0QjtJQUM1QixlQUE2QjtJQUE3QixtREFBNkI7OztJQWhCekMsMkJBQWtDLHNCQUFBO0lBRzlCLG1IQU1jLHVHQUFBO0lBVWhCLGlCQUFVLEVBQUE7OztJQWxCRyxlQUE0QjtJQUE1QixrREFBNEIsdUNBQUEsa0JBQUE7OztJQUw3QywyQkFBZ0M7SUFDOUIsNEZBRU0sK0VBQUE7SUFzQlIsaUJBQU07OztJQXhCRSxlQUEyQjtJQUEzQixpREFBMkI7SUFHM0IsZUFBMEI7SUFBMUIsZ0RBQTBCOzs7SUE0QmxDLCtCQUFtRDtJQUNqRCxrQ0FBdUM7SUFDekMsaUJBQU07OztJQUVKLDJCQUFxQyxRQUFBO0lBQ2hDLGlDQUFpQjtJQUFBLGlCQUFJLEVBQUE7OztJQU9oQiwwQkFBZ0MsUUFBQTtJQUN6QixZQUFjO0lBQUEsaUJBQUksRUFBQTs7O0lBQWxCLGVBQWM7SUFBZCxvQ0FBYzs7O0lBRnpCLDBCQUFJO0lBQ0EsK0dBRUs7SUFDVCxpQkFBSzs7O0lBSG1CLGVBQVU7SUFBVixxQ0FBVTs7O0lBWWhDLDBCQUFnRDtJQUFBLFlBQThCO0lBQUEsaUJBQUs7OztJQUFuQyxlQUE4QjtJQUE5QixvREFBOEI7OztJQVF0RSwrQkFBNkg7SUFDM0gsMEJBQ0w7SUFBQSxpQkFBTTs7OztJQVRYLDhCQUFtRSxnQkFBQTtJQUU3RCxtQ0FDcUQsU0FBQSxvQkFBQTtJQUluRCx1SEFFRztJQUNYLDRCQUEyRztJQUN6RyxpQkFBTSxFQUFBOzs7OztJQVZELGVBQXNCO0lBQXRCLHdDQUFzQjtJQUNULGVBQXlCO0lBQXpCLCtDQUF5QiwyQkFBQTtJQUUxQixlQUFvQjtJQUFwQix5QkFBb0I7SUFBQywwRUFBd0QsY0FBQSx1Q0FBQTtJQUdsRixlQUE0RDtJQUE1RCxpRkFBNEQ7SUFHaEIsZUFBK0M7SUFBL0Msd0VBQStDOzs7SUFoQjNHLDBCQUFJLFNBQUE7SUFDRSxZQUErQjtJQUFBLGlCQUFLO0lBQ3hDLDBCQUFJO0lBQUEsWUFBNEI7SUFBQSxpQkFBSztJQUNyQywwQkFBSTtJQUFBLFlBQXlCO0lBQUEsaUJBQUs7SUFDbEMsMEJBQUk7SUFBQSxZQUFzQztJQUFBLGlCQUFLO0lBQy9DLDhHQUFtRixxR0FBQTtJQWNyRixpQkFBSzs7O0lBbEJDLGVBQStCO0lBQS9CLHFEQUErQjtJQUMvQixlQUE0QjtJQUE1QixrREFBNEI7SUFDNUIsZUFBeUI7SUFBekIsK0NBQXlCO0lBQ3pCLGVBQXNDO0lBQXRDLDREQUFzQztJQUNyQyxlQUF5QztJQUF6Qyw2REFBeUM7SUFDdkIsZUFBMEM7SUFBMUMsOERBQTBDOzs7SUFsQnpFLDJCQUErQyxzQkFBQTtJQUczQyxtSEFNYyx1R0FBQTtJQXdCaEIsaUJBQVUsRUFBQTs7O0lBaENHLGVBQWlDO0lBQWpDLHVEQUFpQywrQkFBQSxrQkFBQTs7O0lBTGxELDJCQUE0QjtJQUMxQiw0RkFFTSwrRUFBQTtJQW9DUixpQkFBTTs7O0lBdENFLGVBQTZCO0lBQTdCLG1EQUE2QjtJQUc3QixlQUF1QztJQUF2QyxvRUFBdUM7OztJQTJDL0MsK0JBQXVEO0lBQ3JELGtDQUF1QztJQUN6QyxpQkFBTTs7O0lBRUosMkJBQStDLFFBQUE7SUFDMUMsaUNBQWlCO0lBQUEsaUJBQUksRUFBQTs7O0lBT2hCLDBCQUFnQyxRQUFBO0lBQ3pCLFlBQWM7SUFBQSxpQkFBSSxFQUFBOzs7SUFBbEIsZUFBYztJQUFkLG9DQUFjOzs7SUFGekIsMEJBQUk7SUFDQSwrR0FFSztJQUNULGlCQUFLOzs7SUFIbUIsZUFBVTtJQUFWLHFDQUFVOzs7SUFNbEMsMEJBQUksU0FBQTtJQUNFLFlBQXlCO0lBQUEsaUJBQUs7SUFDbEMsMEJBQUk7SUFBQSxZQUFzQjtJQUFBLGlCQUFLO0lBQy9CLDBCQUFJO0lBQUEsWUFBbUI7SUFBQSxpQkFBSztJQUM1QiwwQkFBSTtJQUFBLFlBQWdDO0lBQUEsaUJBQUs7SUFDekMsMEJBQUk7SUFBQSxhQUF3QjtJQUFBLGlCQUFLLEVBQUE7OztJQUo3QixlQUF5QjtJQUF6QiwrQ0FBeUI7SUFDekIsZUFBc0I7SUFBdEIsNENBQXNCO0lBQ3RCLGVBQW1CO0lBQW5CLHlDQUFtQjtJQUNuQixlQUFnQztJQUFoQyxzREFBZ0M7SUFDaEMsZUFBd0I7SUFBeEIsOENBQXdCOzs7SUFoQnBDLDJCQUFtRSxzQkFBQTtJQUcvRCxtSEFNYyx1R0FBQTtJQVVoQixpQkFBVSxFQUFBOzs7SUFsQkcsZUFBNEI7SUFBNUIsa0RBQTRCLHdDQUFBLGtCQUFBOzs7SUFMN0MsMkJBQWdDO0lBQzlCLDRGQUVNLCtFQUFBO0lBc0JSLGlCQUFNOzs7SUF4QkUsZUFBdUM7SUFBdkMsNkRBQXVDO0lBR3ZDLGVBQTJEO0lBQTNELHdGQUEyRDs7O0lBNkJuRSwrQkFBdUQ7SUFDckQsa0NBQXVDO0lBQ3pDLGlCQUFNOzs7SUFFSiwyQkFBeUMsUUFBQTtJQUNwQyxpQ0FBaUI7SUFBQSxpQkFBSSxFQUFBOzs7SUFPaEIsMEJBQWdDLFFBQUE7SUFDekIsWUFBYztJQUFBLGlCQUFJLEVBQUE7OztJQUFsQixlQUFjO0lBQWQsb0NBQWM7OztJQUZ6Qiw4QkFBMkI7SUFDdkIsK0dBRUs7SUFDVCxpQkFBSzs7O0lBSG1CLGVBQVU7SUFBVixxQ0FBVTs7O0lBbUJ4QiwrQkFBdUg7SUFDckgsMEJBQ0w7SUFBQSxpQkFBTTs7O0lBZmIsMEJBQUksYUFBQTtJQUNvQixZQUErQjtJQUFBLGlCQUFLO0lBQzFELDhCQUFzQjtJQUFBLFlBQTRCO0lBQUEsaUJBQUs7SUFDdkQsOEJBQXNCO0lBQUEsWUFBeUI7SUFBQSxpQkFBSztJQUNwRCw4QkFBc0I7SUFBQSxZQUFzQztJQUFBLGlCQUFLO0lBRWpFLDhCQUFzQixpQkFBQTtJQUVoQixvQ0FDcUQsVUFBQSxxQkFBQTtJQUluRCxtSEFFRztJQUNILDZCQUFxRjtJQUN6RixpQkFBTSxFQUFBLEVBQUE7Ozs7O0lBaEJZLGVBQStCO0lBQS9CLHFEQUErQjtJQUMvQixlQUE0QjtJQUE1QixrREFBNEI7SUFDNUIsZUFBeUI7SUFBekIsK0NBQXlCO0lBQ3pCLGVBQXNDO0lBQXRDLDREQUFzQztJQUduRCxlQUFzQjtJQUF0Qix3Q0FBc0I7SUFDWCxlQUF5QjtJQUF6QiwrQ0FBeUIsMkJBQUE7SUFFMUIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsb0VBQWtELGNBQUEsdUNBQUE7SUFHNUUsZUFBc0Q7SUFBdEQsMkVBQXNEO0lBR2IsZUFBb0M7SUFBcEMsNkRBQW9DOzs7SUEzQm5HLDJCQUF1RCxzQkFBQTtJQUduRCxtSEFNYyx3R0FBQTtJQXVCaEIsaUJBQVUsRUFBQTs7O0lBL0JHLGVBQXNDO0lBQXRDLDREQUFzQyx3Q0FBQSxrQkFBQTs7O0lBTHZELDJCQUFnQztJQUM5Qiw0RkFFTSwrRUFBQTtJQW1DUixpQkFBTTs7O0lBckNFLGVBQWlDO0lBQWpDLHdEQUFpQztJQUdqQyxlQUErQztJQUEvQyw4RUFBK0M7OztJQTBDdkQsK0JBQXVEO0lBQ3JELGtDQUF1QztJQUN6QyxpQkFBTTs7O0lBRUosMkJBQWdELFFBQUE7SUFDM0MsaUNBQWlCO0lBQUEsaUJBQUksRUFBQTs7O0lBT2hCLDBCQUFnQyxRQUFBO0lBQ3pCLFlBQWM7SUFBQSxpQkFBSSxFQUFBOzs7SUFBbEIsZUFBYztJQUFkLG9DQUFjOzs7SUFGekIsMEJBQUk7SUFDQSwrR0FFSztJQUNULGlCQUFLOzs7SUFIbUIsZUFBVTtJQUFWLHFDQUFVOzs7SUFNbEMsMEJBQUksU0FBQTtJQUNFLFlBQXlCO0lBQUEsaUJBQUs7SUFDbEMsMEJBQUk7SUFBQSxZQUFzQjtJQUFBLGlCQUFLO0lBQy9CLDBCQUFJO0lBQUEsWUFBbUI7SUFBQSxpQkFBSztJQUM1QiwwQkFBSTtJQUFBLFlBQXdCO0lBQUEsaUJBQUssRUFBQTs7O0lBSDdCLGVBQXlCO0lBQXpCLCtDQUF5QjtJQUN6QixlQUFzQjtJQUF0Qiw0Q0FBc0I7SUFDdEIsZUFBbUI7SUFBbkIseUNBQW1CO0lBQ25CLGVBQXdCO0lBQXhCLDhDQUF3Qjs7O0lBZnBDLDJCQUFxRSxzQkFBQTtJQUdqRSxtSEFNYyxzR0FBQTtJQVNoQixpQkFBVSxFQUFBOzs7SUFqQkcsZUFBNkI7SUFBN0IsbURBQTZCLHFDQUFBOzs7SUFMOUMsMkJBQWdDO0lBQzlCLDRGQUVNLCtFQUFBO0lBcUJSLGlCQUFNOzs7SUF2QkUsZUFBd0M7SUFBeEMsK0RBQXdDO0lBR3hDLGVBQTZEO0lBQTdELDRGQUE2RDs7Ozs7QUR0TW5GLE1BQU0sT0FBTyxvQ0FBb0M7SUF1Qy9DLFlBQW1CLEVBQWdCLEVBQVMsRUFBZ0IsRUFBUyxjQUE4QixFQUMxRixFQUFlLEVBQVMsTUFBb0I7UUFEbEMsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUFTLE9BQUUsR0FBRixFQUFFLENBQWM7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDMUYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWM7UUF0QzlDLHdCQUFtQixHQUFvQyxFQUFFLENBQUM7UUFDMUQsZ0NBQTJCLEdBQW9DLEVBQUUsQ0FBQztRQUNsRSx3QkFBbUIsR0FBdUMsRUFBRSxDQUFDO1FBQzdELGlCQUFZLEdBQXVDLEVBQUUsQ0FBQztRQUN0RCx1QkFBa0IsR0FBdUMsRUFBRSxDQUFDO1FBQzVELHVCQUFrQixHQUEyQixFQUFFLENBQUM7UUFDaEQsYUFBUSxHQUF1QyxFQUFFLENBQUM7UUFLL0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzNDLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFjNUMsa0JBQWEsR0FBYSxLQUFLLENBQUM7UUFDaEMscUJBQWdCLEdBQWEsS0FBSyxDQUFDO1FBQ25DLHFCQUFnQixHQUFhLEtBQUssQ0FBQztRQUNuQyxxQkFBZ0IsR0FBYSxLQUFLLENBQUM7UUFDbkMscUJBQWdCLEdBQWEsS0FBSyxDQUFDO1FBQ25DLGlCQUFZLEdBQWEsS0FBSyxDQUFDO1FBQy9CLHFCQUFnQixHQUFhLElBQUksQ0FBQztRQUdsQyxhQUFRLEdBQVcsS0FBSyxDQUFDO1FBS3pCLFlBQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUM3QixtQkFBbUIsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEMsY0FBYyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO1NBQzNCLENBQUMsQ0FBQztRQXdNSyxhQUFRLEdBQWEsQ0FBQyxLQUFhLEVBQUUsRUFBRTtRQUMvQyxDQUFDLENBQUM7UUFFTSxZQUFPLEdBQWEsR0FBRyxFQUFFO1FBQ2pDLENBQUMsQ0FBQztJQWxOdUQsQ0FBQztJQVExRCxRQUFRO1FBQ04sSUFBSSxpQkFBeUIsQ0FBQztRQUM5QixJQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEtBQUssSUFBSSxFQUFDO1lBQy9CLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUE7U0FDekQ7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUMsb0JBQW9CLENBQUM7UUFDeEMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztZQUN0QixFQUFDLE1BQU0sRUFBRyxlQUFlLEVBQUM7WUFDMUIsRUFBQyxNQUFNLEVBQUcsa0JBQWtCLEVBQUM7WUFDN0IsRUFBQyxNQUFNLEVBQUcsbUJBQW1CLEVBQUM7WUFDOUIsRUFBQyxNQUFNLEVBQUcsVUFBVSxFQUFDO1NBQ3RCLENBQUM7UUFFRixJQUFJLENBQUMsbUJBQW1CLEdBQUc7WUFDekIsRUFBQyxNQUFNLEVBQUcsZUFBZSxFQUFDO1lBQzFCLEVBQUMsTUFBTSxFQUFHLGtCQUFrQixFQUFDO1lBQzdCLEVBQUMsTUFBTSxFQUFHLG1CQUFtQixFQUFDO1lBQzlCLEVBQUMsTUFBTSxFQUFHLHdCQUF3QixFQUFDO1lBQ25DLEVBQUMsTUFBTSxFQUFHLFFBQVEsRUFBQztTQUNwQixDQUFDO1FBRUYsSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQ3hCLEVBQUMsTUFBTSxFQUFHLGVBQWUsRUFBQztZQUMxQixFQUFDLE1BQU0sRUFBRyxxQkFBcUIsRUFBQztZQUNoQyxFQUFDLE1BQU0sRUFBRyxvQkFBb0IsRUFBQztZQUMvQixFQUFDLE1BQU0sRUFBRyxrQkFBa0IsRUFBQztZQUM3QixFQUFDLE1BQU0sRUFBRyxZQUFZLEVBQUM7U0FDeEIsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsRUFBQyxNQUFNLEVBQUcsZUFBZSxFQUFDO1lBQzFCLEVBQUMsTUFBTSxFQUFHLG9CQUFvQixFQUFDO1lBQy9CLEVBQUMsTUFBTSxFQUFHLHVCQUF1QixFQUFDO1lBQ2xDLEVBQUMsTUFBTSxFQUFHLG1CQUFtQixFQUFDO1lBQzlCLEVBQUMsTUFBTSxFQUFHLFFBQVEsRUFBQztTQUNwQixDQUFBO1FBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztRQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpDLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFNBQVMsQ0FDcEMsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLGtDQUFrQyxHQUE0QixHQUFHLENBQUM7WUFDdEUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtDQUFrQyxDQUFDLGtCQUFrQixDQUFDO1lBQ2hGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsSUFBSSxrQkFBa0IsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ2hGLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQ3ZELEdBQUcsQ0FBQyxFQUFFO1lBQ0osSUFBSSxJQUFJLEdBQThCLEdBQUcsQ0FBQztZQUMxQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUMxQyxJQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBQztnQkFDMUIsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ3JHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2dCQUM1RixJQUFJLFdBQVcsR0FBZ0MsRUFBRSxDQUFDO2dCQUNsRCxJQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsRUFBRSxxQkFBcUIsS0FBSyxJQUFJLEVBQUM7b0JBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7aUJBQzlCO3FCQUFNO29CQUNMLFdBQVcsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLENBQUMsZ0JBQWdCLENBQUM7aUJBQzNGO2dCQUVELElBQUcsV0FBVyxJQUFJLElBQUksSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztvQkFDN0MsSUFBSSxDQUFDLElBQUksR0FBRzt3QkFDVixFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUU7d0JBQzNCLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsRUFBRTt3QkFDL0MsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFO3dCQUMvQyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLEVBQUU7d0JBQy9DLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsRUFBRTt3QkFDL0MsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFO3FCQUNoRCxDQUFDO2lCQUNIO2dCQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1FBQ0gsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsZ0NBQWdDO1FBQzlCLElBQUksQ0FBQyxFQUFFLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxTQUFTLENBQ2pELElBQUksQ0FBQyxFQUFFO1lBQ0wsSUFBSSx3QkFBd0IsR0FBMkIsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1lBQ3BGLHdCQUF3QixHQUFHLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsd0JBQXdCLENBQUMsbUJBQW1CLENBQUM7WUFDeEUsSUFBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUM7Z0JBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCw2QkFBNkI7UUFDM0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLFNBQVMsQ0FDOUMsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLGtDQUFrQyxHQUE0QixHQUFHLENBQUM7WUFDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFlBQVksR0FBRyxrQ0FBa0MsQ0FBQyxZQUFZLENBQUM7WUFDcEUsSUFBRyxJQUFJLENBQUMsWUFBWSxFQUFDO2dCQUNuQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2dCQUM3QixLQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUM7b0JBQ2hDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO3dCQUM3QixZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO3dCQUNqQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO3dCQUMzQixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO3dCQUNyQixtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQzt3QkFDL0MsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzt3QkFDN0Isa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUM7d0JBQzdDLG1CQUFtQixFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7d0JBQzlDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7cUJBQ3hCLENBQUMsQ0FBQTtvQkFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN6QztnQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUMxRTtZQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQ0FBa0MsQ0FBQyxrQkFBa0IsQ0FBQztZQUNoRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsa0NBQWtDLENBQUMsUUFBUSxDQUFDO1lBQzVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLEtBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBQztnQkFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxpQ0FBaUM7Z0JBQy9CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO29CQUM3QixZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO29CQUNqQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUMzQixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUNyQixtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztvQkFDL0MsV0FBVyxFQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztvQkFDaEMseUJBQXlCLEVBQUUsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxVQUFVLENBQUMsUUFBUSxDQUFDO29CQUMzRSxrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztpQkFDOUMsQ0FBQyxDQUFBO2dCQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJO2dCQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNoRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBQztZQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBcUIsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQXFCLENBQUM7SUFDckUsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUF1QixDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDNUMsQ0FBQztJQVNELFVBQVUsQ0FBQyxLQUFVO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO0lBQ3BCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO0lBQ25CLENBQUM7cUdBclFVLG9DQUFvQztvRUFBcEMsb0NBQW9DOzs7OztxTkFScEMsQ0FBQztvQkFDVixPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsb0NBQW9DO29CQUNqRCxLQUFLLEVBQUUsSUFBSTtpQkFDWixDQUFDO1lDekJKLGtDQUE0RCxrQkFBQSxhQUFBLGNBQUEsY0FBQSxTQUFBO1lBSzFDLFlBQXFDO1lBQUEsaUJBQUssRUFBQSxFQUFBO1lBSWxELCtCQUFTLGNBQUEsV0FBQSxVQUFBO1lBR08sYUFBd0M7WUFBQSxpQkFBSyxFQUFBO1lBRW5ELHVGQUVNLDBFQUFBO1lBNEJaLGlCQUFVLEVBQUE7WUFHZCxnQ0FBUyxlQUFBLFdBQUEsVUFBQTtZQUVJLGFBQXlDO1lBQUEsaUJBQUssRUFBQTtZQUN2RCx1RkFFTSwwRUFBQTtZQTJCUixpQkFBVSxFQUFBO1lBR1osZ0NBQVMsZUFBQSxXQUFBLFVBQUE7WUFFSSxhQUEyQztZQUFBLGlCQUFLLEVBQUE7WUFDekQsdUZBRU0sMEVBQUE7WUF5Q1IsaUJBQVUsRUFBQTtZQUdaLGdDQUFTLGVBQUEsV0FBQSxVQUFBO1lBRUksYUFBNEM7WUFBQSxpQkFBSyxFQUFBO1lBRTFELHVGQUVNLDBFQUFBO1lBMkJSLGlCQUFVLEVBQUE7WUFHWixnQ0FBUyxlQUFBLFdBQUEsVUFBQTtZQUVJLGFBQTZDO1lBQUEsaUJBQUssRUFBQTtZQUUzRCx1RkFFTSwwRUFBQTtZQXdDUixpQkFBVSxFQUFBO1lBR1osZ0NBQVMsZUFBQSxXQUFBLFVBQUE7WUFFSSxhQUF1QztZQUFBLGlCQUFLLEVBQUE7WUFFckQsdUZBRU0sMEVBQUE7WUEwQlIsaUJBQVUsRUFBQTtZQUdaLGdDQUFTLGVBQUEsU0FBQTtZQUdGLGFBQW1DO1lBQUEsaUJBQUk7WUFDMUMsa0NBQTREO1lBQ3hELCtCQUNnRDtZQUVwRCxpQkFBTSxFQUFBLEVBQUE7WUFJVixnQ0FBUyxrQkFBQSxxQkFBQTtZQUVxQixzSEFBUyxtQkFBZSxJQUFDO1lBQ2pELGFBQ0Y7WUFBQSxpQkFBYTtZQUNiLHNDQUEwRTtZQUFsQyxzSEFBUyxjQUFVLElBQUM7WUFDMUQsYUFDRjtZQUFBLGlCQUFhLEVBQUEsRUFBQSxFQUFBLEVBQUE7WUFNdkIsOEJBQXNCO1lBQUMsYUFBdUQ7O1lBQUEsaUJBQUk7WUFDbEYsZ0NBQTZCLGVBQUE7WUFFekIsNkJBQW9HO1lBQ3BHLHVDQUN3QjtZQUF4QixzSEFBUyxnQkFBWSxJQUFFO1lBQ3ZCLHlCQUNBO1lBQUEsaUJBQWE7WUFDYixpQ0FFZTtZQUNqQixpQkFBTSxFQUFBLEVBQUE7OztZQS9STixvQ0FBa0I7WUFDNEYsZUFBeUI7WUFBekIsMENBQXlCO1lBQWxILGtDQUFvQiw0Q0FBQSx5QkFBQTtZQUk3QixlQUFxQztZQUFyQywyREFBcUM7WUFPN0IsZUFBd0M7WUFBeEMsOERBQXdDO1lBRXhDLGVBQW9CO1lBQXBCLHlDQUFvQjtZQUdwQixlQUFtQjtZQUFuQix3Q0FBbUI7WUFnQ3RCLGVBQXlDO1lBQXpDLCtEQUF5QztZQUM1QyxlQUF1QjtZQUF2Qiw0Q0FBdUI7WUFHdkIsZUFBd0I7WUFBeEIsMkNBQXdCO1lBK0JyQixlQUEyQztZQUEzQyxpRUFBMkM7WUFDOUMsZUFBbUI7WUFBbkIsd0NBQW1CO1lBR25CLGVBQW9CO1lBQXBCLHVDQUFvQjtZQTZDakIsZUFBNEM7WUFBNUMsa0VBQTRDO1lBRS9DLGVBQXVCO1lBQXZCLDRDQUF1QjtZQUd2QixlQUF3QjtZQUF4QiwyQ0FBd0I7WUErQnJCLGVBQTZDO1lBQTdDLG1FQUE2QztZQUVoRCxlQUF1QjtZQUF2Qiw0Q0FBdUI7WUFHdkIsZUFBd0I7WUFBeEIsMkNBQXdCO1lBNENyQixlQUF1QztZQUF2Qyw2REFBdUM7WUFFMUMsZUFBdUI7WUFBdkIsNENBQXVCO1lBR3ZCLGVBQXdCO1lBQXhCLDJDQUF3QjtZQStCM0IsZUFBbUM7WUFBbkMseURBQW1DO1lBQ2pDLGVBQXFCO1lBQXJCLHVDQUFxQjtZQVd4QixlQUNGO1lBREUseUVBQ0Y7WUFFRSxlQUNGO1lBREUsdUVBQ0Y7WUFNYSxlQUF1RDtZQUF2RCxtR0FBdUQ7WUFRL0QsZUFBNEI7WUFBNUIsOENBQTRCLGFBQUEsdUNBQUE7OztpRkQvUGxDLG9DQUFvQztjQVpoRCxTQUFTOzJCQUNFLG9DQUFvQyxhQUduQyxDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsc0NBQXNDO3dCQUNqRCxLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDLG1CQUNlLHVCQUF1QixDQUFDLE9BQU87MkpBYXZDLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0ksWUFBWTtrQkFBckIsTUFBTTtZQUNHLG1CQUFtQjtrQkFBNUIsTUFBTTtZQUtBLHNCQUFzQjtrQkFENUIsU0FBUzttQkFBQyx3QkFBd0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O2tGQWxCM0Msb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLEZvcm1CdWlsZGVyLCBOZ0Zvcm0sIE5HX1ZBTFVFX0FDQ0VTU09SLCBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMsIFVudHlwZWRGb3JtQXJyYXksIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCc7XHJcbmltcG9ydCB7IENsYWltQXBwRW1wUmVxdWVzdE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBSZXF1ZXN0TW9kZWwnO1xyXG5pbXBvcnQgeyBDbGFpbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbXMvY2xhaW1zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDaW5SZXF1YWxpZmljYXRpb25Dcml0ZXJpYU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0NpblJlcXVhbGlmaWNhdGlvbkNyaXRlcmlhTW9kZWwnO1xyXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwnO1xyXG5pbXBvcnQgeyBSZXF1YWxpZnlMaWZ0UGFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1JlcXVhbGlmeUxpZnRQYWdlTW9kZWwnO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCc7XHJcbmltcG9ydCB7IEVsZW1lbnRzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9FbGVtZW50c01vZGVsJztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUmVxdWFsaWZ5TGlmdElzc3Vlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUmVxdWFsaWZ5TGlmdElzc3Vlc01vZGVsJztcclxuaW1wb3J0IHsgVUk1MTJBUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1VJNTEyQVJlc3BvbnNlTW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZXF1YWxpZnktbGlmdC1wcmV2aW91cy1pc3N1ZXMuY29tcG9uZW50LmNzcyddLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IFJlcXVhbGlmeUxpZnRQcmV2aW91c0lzc3Vlc0NvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0XHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgUmVxdWFsaWZ5TGlmdFByZXZpb3VzSXNzdWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgXHJcbiAgcHVibGljIGJwRW1wbG95ZXJXYWdlc0xpc3Q/OiBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgYnBFbXBsb3llcldhZ2VzTGlzdEZpbHRlcmVkPzogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGFsbG93ZWRTZXBJc3N1ZUxpc3Q/OiBDaW5SZXF1YWxpZmljYXRpb25Dcml0ZXJpYU1vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgcHJlSXNzdWVMaXN0PzogQ2luUmVxdWFsaWZpY2F0aW9uQ3JpdGVyaWFNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHNlcElzc3VlTGlmdGVkTGlzdD86IENpblJlcXVhbGlmaWNhdGlvbkNyaXRlcmlhTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyB1aTUxMkFSZXNwb25zZUxpc3Q/OiBVSTUxMkFSZXNwb25zZU1vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgYmVhbkxpc3Q/OiBDaW5SZXF1YWxpZmljYXRpb25Dcml0ZXJpYU1vZGVsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgcXVlc3Rpb246IEVsZW1lbnRzTW9kZWw7XHJcbiAgQElucHV0KCkgY29tcG9uZW50RGF0YTpzdHJpbmc7XHJcbiAgQElucHV0KCkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBAT3V0cHV0KCkgbW9kZWxEaXNwbGF5ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSBvbkNvbXBsZXRlUmVxdWFsaWZ5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgcmVxdWFsaWZ5TGlmdElzc3Vlc0RhdGE6UmVxdWFsaWZ5TGlmdElzc3Vlc01vZGVsO1xyXG5cclxuICBAVmlld0NoaWxkKCdyZXF1YWxpZnlGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHJlcXVhbGlmeUZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcclxuXHJcbiAgc3NuOiBzdHJpbmc7XHJcbiAgY29sczogYW55W107XHJcbiAgY29sQWxsb3dJc3N1ZUxzdDogYW55W107XHJcbiAgY29sUHJldmlvdXNJc3N1ZUxzdDogYW55W107XHJcbiAgY29sNTEyQVJlc3BvbnNlTHN0OiBhbnlbXTtcclxuICBjb2xCZWFuTHN0OiBhbnlbXVxyXG5cclxuICBwdWJsaWMgc2hvd1dhZ2VzTGlzdCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0FsbG93U2VwTGlzdCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1ByZUlzc3VlTGlzdCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1NlcElzc3VlTGlzdCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvdzUxMkFSZXNwb25zZSA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0JlYW5MaXN0IDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBlbXBQcm92aWRlZFdhZ2VzIDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBhY3Rpb25PcHRpb25zIDogYW55W107XHJcbiAgcHVibGljIHNob3dEYXRhOmJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY3M6IENsYWltU2VydmljZSwgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsIHB1YmxpYyBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwdWJsaWMgZmI6IEZvcm1CdWlsZGVyLCBwdWJsaWMgbG9nZ2VyOkxvZ2dlclNlcnZpY2UpIHsgfVxyXG5cclxuICBwdWJsaWMgcGF5Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgcHJlSXNzdWVzQWN0aW9uTGlzdDogdGhpcy5mYi5hcnJheShbXSksXHJcbiAgICBiZWFuQWN0aW9uTGlzdDogdGhpcy5mYi5hcnJheShbXSksXHJcbiAgICBhZGRpdGlvbmFsSW5mbzogWycnLCBudWxsXVxyXG4gIH0pO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGxldCBzc25MYXN0Rm91ckZyb21EYjogc3RyaW5nO1xyXG4gICAgaWYodGhpcy5scy5pc0NsYWltYW50KCkgPT09IHRydWUpe1xyXG4gICAgICBzc25MYXN0Rm91ckZyb21EYiA9IHRoaXMubHMuZ2V0VXNlcigpLnNzbi5zdWJzdHJpbmcoNSw5KVxyXG4gICAgfVxyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3F1ZXN0aW9uIGFzIGlucHV0IHZhbHVlIGlzIDogJywgdGhpcy5xdWVzdGlvbik7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgncmVxdWFsaWZ5UmVxSGlkZGVuJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLFtWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSxWYWxpZGF0b3JzLnJlcXVpcmVkXSkpO1xyXG4gICAgdGhpcy5xdWVzdGlvbi5uYW1lPVwicmVxdWFsaWZ5UmVxSGlkZGVuXCI7XHJcbiAgICB0aGlzLmxvYWRCYXNlUGVyaW9kV2FnZXNGb3JTU04oKTtcclxuICAgIHRoaXMubG9hZFJlcXVhbGlmeUxpZnRJc3N1ZXNGb3JTU04oKTtcclxuICAgIHRoaXMubG9hZEFsbG93U2VwUHJldmlvdXNJc3N1ZXNGb3JTU04oKTtcclxuICAgIHRoaXMubG9hZE1hc3RlckRhdGEoKTtcclxuICAgIHRoaXMubG9hZFVJNTEyQVJlc3BvbnNlcygpO1xyXG5cclxuICAgIHRoaXMuY29sQWxsb3dJc3N1ZUxzdCA9IFtcclxuICAgICAge2hlYWRlciA6ICdFbXBsb3llciBOYW1lJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnSXNzdWUgU3RhcnQgRGF0ZSd9LFxyXG4gICAgICB7aGVhZGVyIDogJ0lzc3VlIERlc2NyaXB0aW9uJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnRGVjaXNpb24nfVxyXG4gICAgXTtcclxuXHJcbiAgICB0aGlzLmNvbFByZXZpb3VzSXNzdWVMc3QgPSBbXHJcbiAgICAgIHtoZWFkZXIgOiAnRW1wbG95ZXIgTmFtZSd9LFxyXG4gICAgICB7aGVhZGVyIDogJ0lzc3VlIFN0YXJ0IERhdGUnfSxcclxuICAgICAge2hlYWRlciA6ICdJc3N1ZSBEZXNjcmlwdGlvbid9LFxyXG4gICAgICB7aGVhZGVyIDogJ1JlcXVhbGlmeWluZyBBbW91bnQoJCknfSxcclxuICAgICAge2hlYWRlciA6ICdBY3Rpb24nfVxyXG4gICAgXTtcclxuXHJcbiAgICB0aGlzLmNvbDUxMkFSZXNwb25zZUxzdCA9IFtcclxuICAgICAge2hlYWRlciA6ICdFbXBsb3llciBOYW1lJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnUHJvb2YgcmVjZWl2ZWQgRGF0ZSd9LFxyXG4gICAgICB7aGVhZGVyIDogJ0Vhcm5pbmcgQmVnaW4gRGF0ZSd9LFxyXG4gICAgICB7aGVhZGVyIDogJ0Vhcm5pbmcgRW5kIERhdGUnfSxcclxuICAgICAge2hlYWRlciA6ICdBbW91bnQgKCQpJ31cclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5jb2xCZWFuTHN0ID0gW1xyXG4gICAgICB7aGVhZGVyIDogJ0VtcGxveWVyIE5hbWUnfSxcclxuICAgICAge2hlYWRlciA6ICdEYXRlIG9mIFNlcGFyYXRpb24nfSxcclxuICAgICAge2hlYWRlciA6ICdSZWFzb24gZm9yIFNlcGFyYXRpb24nfSxcclxuICAgICAge2hlYWRlciA6ICdSZXF1aXJlZCBXYWdlICgkKSd9LFxyXG4gICAgICB7aGVhZGVyIDogJ0FjdGlvbid9XHJcbiAgICBdXHJcbiAgICBjb25zdCBvYmogPSBKU09OLnBhcnNlKHRoaXMuY29tcG9uZW50RGF0YSk7XHJcbiAgICB0aGlzLnJlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhID0gb2JqO1xyXG4gICAgdGhpcy5yZXF1YWxpZnlSZXFIaWRkZW4uc2V0VmFsdWUobnVsbCk7XHJcblxyXG4gIH1cclxuXHJcbiAgbG9hZFVJNTEyQVJlc3BvbnNlcygpIHtcclxuICAgIHRoaXMuY3MuZ2V0VUk1MTJBUmVzcG9uc2VzKCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIGxldCByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbEZyb21TZXJ2aWNlIDogUmVxdWFsaWZ5TGlmdFBhZ2VNb2RlbD0gIHJlcztcclxuICAgICAgICB0aGlzLnVpNTEyQVJlc3BvbnNlTGlzdCA9IHJlcXVhbGlmeUxpZnRJc3N1ZU1vZGVsRnJvbVNlcnZpY2UudWk1MTJBUmVzcG9uc2VMaXN0O1xyXG4gICAgICAgIHRoaXMuc2hvdzUxMkFSZXNwb25zZSA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBcclxuICBsb2FkTWFzdGVyRGF0YSgpIHtcclxuICAgIHRoaXMuY3MuZ2V0UmVxdWFsaWZ5Q3JpdGVyaWFFbnVtKCk7XHJcbiAgICB0aGlzLmNzLmdldEFjdGlvbnNMaXN0KCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMuYWN0aW9uT3B0aW9ucyA9IHJlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbG9hZEJhc2VQZXJpb2RXYWdlc0ZvclNTTigpIHtcclxuICAgIGxldCBjbG1FbXBSZXF1ZXN0TW9kZWw6IENsYWltQXBwRW1wUmVxdWVzdE1vZGVsID0gbmV3IENsYWltQXBwRW1wUmVxdWVzdE1vZGVsKCk7XHJcbiAgICB0aGlzLmNzLmxvYWRCYXNlUGVyaW9kV2FnZXMoY2xtRW1wUmVxdWVzdE1vZGVsKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgbGV0IHRlbXAgOiBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwgPSByZXM7XHJcbiAgICAgICAgdGhpcy5icEVtcGxveWVyV2FnZXNMaXN0ID0gdGVtcC5icEVtcExpc3Q7XHJcbiAgICAgICAgaWYodGhpcy5icEVtcGxveWVyV2FnZXNMaXN0KXtcclxuICAgICAgICAgIHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdEZpbHRlcmVkID0gdGhpcy5icEVtcGxveWVyV2FnZXNMaXN0LmZpbHRlcihjID0+IGMub3NhQnBFbXBsb3llckZsYWcgPT09ICcwJyk7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnYnAgbGlzdCBicEVtcGxveWVyV2FnZXNMaXN0RmlsdGVyZWQgJywgdGhpcy5icEVtcGxveWVyV2FnZXNMaXN0RmlsdGVyZWQpO1xyXG4gICAgICAgICAgbGV0IHF0clllYXJMaXN0IDogUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsW10gPSBbXTtcclxuICAgICAgICAgIGlmKHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdEZpbHRlcmVkWzBdPy5lbXBsb3llclByb3ZpZGVkV2FnZXMgPT09IG51bGwpe1xyXG4gICAgICAgICAgIHRoaXMuZW1wUHJvdmlkZWRXYWdlcyA9IGZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcXRyWWVhckxpc3QgPSB0aGlzLmJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZFswXT8uZW1wbG95ZXJQcm92aWRlZFdhZ2VzLndhZ2VzTGlzdFF0cldpc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGlmKHF0clllYXJMaXN0ICE9IG51bGwgJiYgcXRyWWVhckxpc3QubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb2xzID0gW1xyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXI6ICdFbXBsb3llciBOYW1lJyB9LFxyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXI6IHF0clllYXJMaXN0WzBdLnF0clllYXJEaXNwbGF5U3RyaW5nIH0sXHJcbiAgICAgICAgICAgICAgICB7IGhlYWRlcjogcXRyWWVhckxpc3RbMV0ucXRyWWVhckRpc3BsYXlTdHJpbmcgfSxcclxuICAgICAgICAgICAgICAgIHsgaGVhZGVyOiBxdHJZZWFyTGlzdFsyXS5xdHJZZWFyRGlzcGxheVN0cmluZyB9LFxyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXI6IHF0clllYXJMaXN0WzNdLnF0clllYXJEaXNwbGF5U3RyaW5nIH0sXHJcbiAgICAgICAgICAgICAgICB7IGhlYWRlcjogcXRyWWVhckxpc3RbNF0ucXRyWWVhckRpc3BsYXlTdHJpbmcgfVxyXG4gICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2hvd1dhZ2VzTGlzdCA9IHRydWU7ICAgXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG4gXHJcbiAgbG9hZEFsbG93U2VwUHJldmlvdXNJc3N1ZXNGb3JTU04oKSB7XHJcbiAgICB0aGlzLmNzLmdldEFsbG93U2VwUHJldmlvdXNJc3N1ZXNGb3JTU04oKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlczEgPT4ge1xyXG4gICAgICAgIGxldCByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbDE6IFJlcXVhbGlmeUxpZnRQYWdlTW9kZWwgPSBuZXcgUmVxdWFsaWZ5TGlmdFBhZ2VNb2RlbCgpO1xyXG4gICAgICAgIHJlcXVhbGlmeUxpZnRJc3N1ZU1vZGVsMSA9IHJlczE7ICAgICAgIFxyXG4gICAgICAgIHRoaXMuYWxsb3dlZFNlcElzc3VlTGlzdCA9IHJlcXVhbGlmeUxpZnRJc3N1ZU1vZGVsMS5hbGxvd2VkU2VwSXNzdWVMaXN0O1xyXG4gICAgICAgIGlmKHRoaXMuYWxsb3dlZFNlcElzc3VlTGlzdCl7XHJcbiAgICAgICAgICB0aGlzLnNob3dBbGxvd1NlcExpc3QgPSB0cnVlO1xyXG4gICAgICAgIH0gXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuIFxyXG4gIGxvYWRSZXF1YWxpZnlMaWZ0SXNzdWVzRm9yU1NOKCkge1xyXG4gICAgdGhpcy5jcy5nZXRSZXF1YWxpZnlMaWZ0SXNzdWVzRm9yU1NOKCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIGxldCByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbEZyb21TZXJ2aWNlIDogUmVxdWFsaWZ5TGlmdFBhZ2VNb2RlbD0gIHJlcztcclxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnbG9hZFJlcXVhbGlmeUxpZnRJc3N1ZXNGb3JTU04gPT09PScsIHJlcyk7XHJcbiAgICAgICAgdGhpcy5wcmVJc3N1ZUxpc3QgPSByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbEZyb21TZXJ2aWNlLnByZUlzc3VlTGlzdDtcclxuICAgICAgICBpZih0aGlzLnByZUlzc3VlTGlzdCl7XHJcbiAgICAgICAgICB0aGlzLnNob3dQcmVJc3N1ZUxpc3QgPSB0cnVlO1xyXG4gICAgICAgICAgZm9yKGxldCBkYXRhIG9mIHRoaXMucHJlSXNzdWVMaXN0KXtcclxuICAgICAgICAgICAgY29uc3QgdGVtcEluZm8gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICAgICBlbXBsb3llck5hbWU6IFtkYXRhLmVtcGxveWVyTmFtZV0sIFxyXG4gICAgICAgICAgICAgIHN0YXJ0RGF0ZTogW2RhdGEuc3RhcnREYXRlXSxcclxuICAgICAgICAgICAgICByZWFzb246IFtkYXRhLnJlYXNvbl0sXHJcbiAgICAgICAgICAgICAgcmVxdWFsaWZpY2F0aW9uV2FnZTogW2RhdGEucmVxdWFsaWZpY2F0aW9uV2FnZV0sXHJcbiAgICAgICAgICAgICAgZW1wbG95ZXJJZDogW2RhdGEuZW1wbG95ZXJJZF0sXHJcbiAgICAgICAgICAgICAgY2xhaW1BcHBFbXBsb3llcklkOiBbZGF0YS5jbGFpbUFwcEVtcGxveWVySWRdLFxyXG4gICAgICAgICAgICAgIGFjdGlvblByZXZpb3VzSXNzdWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgICAgICAgaXNzdWVJZDogW2RhdGEuaXNzdWVJZF1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgdGhpcy5wcmVJc3N1ZXNBY3Rpb25MaXN0LnB1c2godGVtcEluZm8pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3ByZSBJc3N1ZSBBY3Rpb24gTGlzdCA9PSAnLCB0aGlzLnByZUlzc3Vlc0FjdGlvbkxpc3QpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgdGhpcy5zZXBJc3N1ZUxpZnRlZExpc3QgPSByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbEZyb21TZXJ2aWNlLnByZUxpZnRlZElzc3VlTGlzdDtcclxuICAgICAgICB0aGlzLnNob3dTZXBJc3N1ZUxpc3QgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYmVhbkxpc3QgPSByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbEZyb21TZXJ2aWNlLmJlYW5MaXN0O1xyXG4gICAgICAgIHRoaXMuc2hvd0JlYW5MaXN0ID0gdHJ1ZTtcclxuICAgICAgICBmb3IobGV0IGRhdGEgb2YgdGhpcy5iZWFuTGlzdCl7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZGF0YSA9PSAnLCBkYXRhKTtcclxuICAgICAgICAgIC8vIGlmKGRhdGEuYWN0aW9uVGFrZW4gPT09IG51bGwpe1xyXG4gICAgICAgICAgICBjb25zdCB0ZW1wSW5mbyA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICAgICAgICAgIGVtcGxveWVyTmFtZTogW2RhdGEuZW1wbG95ZXJOYW1lXSwgXHJcbiAgICAgICAgICAgICAgc3RhcnREYXRlOiBbZGF0YS5zdGFydERhdGVdLFxyXG4gICAgICAgICAgICAgIHJlYXNvbjogW2RhdGEucmVhc29uXSxcclxuICAgICAgICAgICAgICByZXF1YWxpZmljYXRpb25XYWdlOiBbZGF0YS5yZXF1YWxpZmljYXRpb25XYWdlXSxcclxuICAgICAgICAgICAgICBhY3Rpb25UYWtlbiA6IFtkYXRhLmFjdGlvblRha2VuXSxcclxuICAgICAgICAgICAgICBhY3Rpb25UYWtlblBvdGVudGlhbElzc3VlOiBbJycsZGF0YS5hY3Rpb25UYWtlbiA/IG51bGw6VmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgICAgICAgY2xhaW1BcHBFbXBsb3llcklkOiBbZGF0YS5jbGFpbUFwcEVtcGxveWVySWRdXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIHRoaXMuYmVhbkFjdGlvbkxpc3QucHVzaCh0ZW1wSW5mbyk7XHJcbiAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnYmVhbiBhY3Rpb24gbGlzdCBpcyAnLCB0aGlzLmJlYW5BY3Rpb25MaXN0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRpYWxvZygpe1xyXG4gICAgdGhpcy5zaG93RGF0YSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzYXZlRGF0YSgpe1xyXG4gICAgaWYoIXRoaXMucGF5Rm9ybS52YWxpZCl7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKHRoaXMucGF5Rm9ybSk7XHJcbiAgICAgIHRoaXMucmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZS5vblN1Ym1pdChudWxsKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ1NhdmUgRGF0YSBmb3IgVmFsaWQgRm9ybScsdGhpcy5wYXlGb3JtKTtcclxuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdwcmVJc3N1ZXNBY3Rpb25MaXN0cycsIHRoaXMucHJlSXNzdWVzQWN0aW9uTGlzdCk7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgnYmVhbkFjdGlvbkxpc3QnLCB0aGlzLmJlYW5BY3Rpb25MaXN0KVxyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ2FkZGl0aW9uYWxJbmZvJywgdGhpcy5hZGRpdGlvbmFsSW5mbyk7XHJcbiAgICB0aGlzLnNob3dEYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLnJlcXVhbGlmeVJlcUhpZGRlbi5zZXRWYWx1ZSh0cnVlKTtcclxuICAgIHRoaXMubW9kZWxEaXNwbGF5LmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLm9uQ29tcGxldGVSZXF1YWxpZnkuZW1pdCh0aGlzLnBheUZvcm0pO1xyXG4gIH1cclxuXHJcbiAgb25Nb2RlbENhbmNlbCgpIHtcclxuICAgIHRoaXMuc2hvd0RhdGEgPSBmYWxzZTtcclxuICAgIHRoaXMucmVxdWFsaWZ5UmVxSGlkZGVuLnNldFZhbHVlKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHByZUlzc3Vlc0FjdGlvbkxpc3QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXlGb3JtLmNvbnRyb2xzWydwcmVJc3N1ZXNBY3Rpb25MaXN0J10gYXMgVW50eXBlZEZvcm1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldCBiZWFuQWN0aW9uTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBheUZvcm0uY29udHJvbHNbJ2JlYW5BY3Rpb25MaXN0J10gYXMgVW50eXBlZEZvcm1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRpdGlvbmFsSW5mbygpe1xyXG4gICAgcmV0dXJuIHRoaXMucGF5Rm9ybS5jb250cm9sc1snYWRkaXRpb25hbEluZm8nXSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVxdWFsaWZ5UmVxSGlkZGVuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ3JlcXVhbGlmeVJlcUhpZGRlbicpXHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWU6IFN0cmluZykgPT4ge1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgb25Ub3VjaDogRnVuY3Rpb24gPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmblxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm5cclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgI3JlcXVhbGlmeUZvcm1EaXJlY3RpdmUgPSBcIm5nRm9ybVwiPlxyXG4gICAgPHAtZGlhbG9nIG1vZGFsPVwidHJ1ZVwiIFtzaG93SGVhZGVyXT1cImZhbHNlXCIgYXBwZW5kVG89XCJib2R5XCIgW2JyZWFrcG9pbnRzXT1cInsnOTYwcHgnOiAnODB2dycsICc2NDBweCc6ICcxMDB2dyd9XCIgW3N0eWxlXT1cInt3aWR0aDogJzYwdncnfVwiIFt2aXNpYmxlXT1cInNob3dEYXRhXCI+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tbGVmdDogLTVweDtcIj5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aDE+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5wYWdlVGl0bGV9fTwvaDE+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgPGRpdj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8aDI+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5iYXNlV2FnZUluZm99fTwvaDI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzaG93V2FnZXNMaXN0XCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dXYWdlc0xpc3RcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJicEVtcGxveWVyV2FnZXNMaXN0RmlsdGVyZWQubGVuZ3RoID09PSAwIHx8ICFlbXBQcm92aWRlZFdhZ2VzIFwiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+Tm8gUmVjb3JkcyBmb3VuZC48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZCAmJiBlbXBQcm92aWRlZFdhZ2VzXCI+ICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJicEVtcGxveWVyV2FnZXNMaXN0RmlsdGVyZWRcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2xzXCIgW3Jvd0hvdmVyXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3tjb2wuaGVhZGVyfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZW1wbG95ZXIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuZW1wbG95ZXJEYXRhLmRpc3BsYXlOYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZVswXT8ud2FnZUFtb3VudCB8IGN1cnJlbmN5fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZVsxXT8ud2FnZUFtb3VudCB8IGN1cnJlbmN5fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZVsyXT8ud2FnZUFtb3VudCB8IGN1cnJlbmN5fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZVszXT8ud2FnZUFtb3VudCB8IGN1cnJlbmN5fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZVs0XT8ud2FnZUFtb3VudCB8IGN1cnJlbmN5fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgIDxkaXY+PGgyPnt7cmVxdWFsaWZ5TGlmdElzc3Vlc0RhdGEuZWFybmluZ3NQcm9vZn19PC9oMj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3c1MTJBUmVzcG9uc2VcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJzaG93NTEyQVJlc3BvbnNlXCI+ICBcclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcIiF1aTUxMkFSZXNwb25zZUxpc3RcIj4gXHJcbiAgICAgICAgICAgICAgICAgIDxwPk5vIFJlY29yZHMgZm91bmQuPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJ1aTUxMkFSZXNwb25zZUxpc3RcIj4gXHJcbiAgICAgICAgICAgICAgICAgIDxwLXRhYmxlICNkdCBbdmFsdWVdPVwidWk1MTJBUmVzcG9uc2VMaXN0XCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZSBpb24tcGFkZGluZy10b3BcIiBcclxuICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sNTEyQVJlc3BvbnNlTHN0XCIgW3Jvd0hvdmVyXT1cInRydWVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7Y29sLmhlYWRlcn19PC9iPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIucHJvb2ZSZWNpZXZlZERhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVhcm5pbmdzQmVnaW5EYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lYXJuaW5nc0VuZERhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmFtb3VudE9mRWFybmluZ3N9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC10YWJsZT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IFxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgIDxkaXY+PGgyPnt7cmVxdWFsaWZ5TGlmdElzc3Vlc0RhdGEucG90ZW50aWFsSXNzdWVzfX08L2gyPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd0JlYW5MaXN0XCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwic2hvd0JlYW5MaXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJiZWFuTGlzdC5sZW5ndGggPT09IDBcIj4gXHJcbiAgICAgICAgICAgICAgICAgIDxwPk5vIFJlY29yZHMgZm91bmQuPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJiZWFuTGlzdCAmJiBiZWFuTGlzdC5sZW5ndGggPiAwXCI+ICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDxwLXRhYmxlICNkdCBbdmFsdWVdPVwiYmVhbkFjdGlvbkxpc3QuY29udHJvbHNcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2xCZWFuTHN0XCIgW3Jvd0hvdmVyXT1cInRydWVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7Y29sLmhlYWRlcn19PC9iPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVtcGxveWVyIG9mIGJlYW5BY3Rpb25MaXN0LmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCIgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiPiAgIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci52YWx1ZS5lbXBsb3llck5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLnZhbHVlLnN0YXJ0RGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIudmFsdWUucmVhc29ufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci52YWx1ZS5yZXF1YWxpZmljYXRpb25XYWdlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9IFwiZW1wbG95ZXIudmFsdWUuYWN0aW9uVGFrZW4gIT0gbnVsbFwiPnt7ZW1wbG95ZXIudmFsdWUuYWN0aW9uVGFrZW59fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOjMwJVwiICpuZ0lmPSBcImVtcGxveWVyLnZhbHVlLmFjdGlvblRha2VuID09PSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImVtcGxveWVyXCIgI3JlcXVhbGlmeUZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJhY3Rpb25PcHRpb25zXCIgZm9ybUNvbnRyb2xOYW1lPVwiYWN0aW9uVGFrZW5Qb3RlbnRpYWxJc3N1ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiByZXF1aXJlZD48L2FwcC1kcm9wZG93bj48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyLmNvbnRyb2xzW1wiYWN0aW9uVGFrZW5Qb3RlbnRpYWxJc3N1ZVwiXScgW2Zvcm1dPVwicmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llci5jb250cm9sc1snYWN0aW9uVGFrZW5Qb3RlbnRpYWxJc3N1ZSddLmludmFsaWRcIiBzdHlsZT1cImNvbG9yOiNlNjBlMGU7IG1hcmdpbi1sZWZ0OiAwcHg7IGZvbnQtc2l6ZTogMTVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIGZvcm1Db250cm9sTmFtZT1cImNsYWltQXBwRW1wbG95ZXJJZFwiIHZhbHVlID0gXCJ7e2VtcGxveWVyLnZhbHVlLmNsYWltQXBwRW1wbG95ZXJJZH19XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICA8ZGl2PjxoMj57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnNlcGFyYXRpb25Jc3N1ZXN9fTwvaDI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzaG93U2VwSXNzdWVMaXN0XCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwic2hvd1NlcElzc3VlTGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwic2VwSXNzdWVMaWZ0ZWRMaXN0Lmxlbmd0aCA9PT0gMFwiPiBcclxuICAgICAgICAgICAgICAgICAgPHA+Tm8gUmVjb3JkcyBmb3VuZC48L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNlcElzc3VlTGlmdGVkTGlzdCAmJiBzZXBJc3N1ZUxpZnRlZExpc3QubGVuZ3RoID4gMFwiPiAgICBcclxuICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJzZXBJc3N1ZUxpZnRlZExpc3RcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2xQcmV2aW91c0lzc3VlTHN0XCIgW3Jvd0hvdmVyXT1cInRydWVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7Y29sLmhlYWRlcn19PC9iPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuc3RhcnREYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5yZWFzb259fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLnJlcXVhbGlmaWNhdGlvbldhZ2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmFjdGlvblRha2VufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICA8ZGl2PjxoMj57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnByZXZpb3VzRGVjaXNpb25zfX08L2gyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd1ByZUlzc3VlTGlzdFwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNob3dQcmVJc3N1ZUxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInByZUlzc3VlTGlzdC5sZW5ndGggPT09IDBcIj4gXHJcbiAgICAgICAgICAgICAgICAgIDxwPk5vIFJlY29yZHMgZm91bmQuPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJwcmVJc3N1ZUxpc3QgJiYgcHJlSXNzdWVMaXN0Lmxlbmd0aCA+IDBcIj4gICAgICBcclxuICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJwcmVJc3N1ZXNBY3Rpb25MaXN0LmNvbnRyb2xzXCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZSBpb24tcGFkZGluZy10b3BcIiBcclxuICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sUHJldmlvdXNJc3N1ZUxzdFwiIFtyb3dIb3Zlcl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPVwicGFkZGluZzogNTBweDtcIj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57e2NvbC5oZWFkZXJ9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiBcclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1lbXBsb3llciBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDoyMCVcIj57e2VtcGxveWVyLnZhbHVlLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6MjAlXCI+e3tlbXBsb3llci52YWx1ZS5zdGFydERhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOjIwJVwiPnt7ZW1wbG95ZXIudmFsdWUucmVhc29ufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDoxMCVcIj57e2VtcGxveWVyLnZhbHVlLnJlcXVhbGlmaWNhdGlvbldhZ2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6MzAlXCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImVtcGxveWVyXCIgI3JlcXVhbGlmeUZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIj4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJhY3Rpb25PcHRpb25zXCIgZm9ybUNvbnRyb2xOYW1lPVwiYWN0aW9uUHJldmlvdXNJc3N1ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiByZXF1aXJlZD48L2FwcC1kcm9wZG93bj48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyLmNvbnRyb2xzW1wiYWN0aW9uUHJldmlvdXNJc3N1ZVwiXScgW2Zvcm1dPVwicmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llci5jb250cm9sc1snYWN0aW9uUHJldmlvdXNJc3N1ZSddLmludmFsaWRcIiBzdHlsZT1cImNvbG9yOiNlNjBlMGU7IG1hcmdpbi1sZWZ0OiAwcHg7IGZvbnQtc2l6ZTogMTVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgZm9ybUNvbnRyb2xOYW1lPVwiaXNzdWVJZFwiIHZhbHVlID0gXCJ7e2VtcGxveWVyLnZhbHVlLmlzc3VlSWR9fVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICA8ZGl2PjxoMj57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLm90aGVySXNzdWVzfX08L2gyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd0FsbG93U2VwTGlzdFwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNob3dBbGxvd1NlcExpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImFsbG93ZWRTZXBJc3N1ZUxpc3QubGVuZ3RoID09PSAwXCI+IFxyXG4gICAgICAgICAgICAgICAgICA8cD5ObyBSZWNvcmRzIGZvdW5kLjwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwiYWxsb3dlZFNlcElzc3VlTGlzdCAmJiBhbGxvd2VkU2VwSXNzdWVMaXN0Lmxlbmd0aCA+IDBcIj4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICA8cC10YWJsZSAjZHQgW3ZhbHVlXT1cImFsbG93ZWRTZXBJc3N1ZUxpc3RcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2xBbGxvd0lzc3VlTHN0XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0cj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57e2NvbC5oZWFkZXJ9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiBcclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuc3RhcnREYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5yZWFzb259fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmFjdGlvblRha2VufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8cD57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnJlbWFya3N9fTwvcD5cclxuICAgICAgICAgICAgICA8ZGl2IFtmb3JtR3JvdXBdPVwicGF5Rm9ybVwiICNyZXF1YWxpZnlGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD1cImFkZGl0aW9uYWxJbmZvXCIgYXV0b1Jlc2l6ZT1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJhZGRpdGlvbmFsSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4TGVuZ3RoPVwiMjU2XCIgcm93cz1cIjNcIiBjb2xzPVwiMzVcIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgICA8IS0tIDxhcHAtZXJyb3IgW2ZpZWxkXT1cImFkZGl0aW9uYWxJbmZvXCIgW2Zvcm1dPVwicGF5Rm9ybVwiIFtlcnJEZWZdPVwie3JlcXVpcmVkOiAncmVxdWlyZWQnfVwiPjwvYXBwLWVycm9yPiAtLT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+ICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cIm9uTW9kZWxDYW5jZWwoKVwiIHR5cGU9XCJyZXNldFwiIGZpbGw9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICB7e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLmNhbmNlbEJ1dHRvbn19XHJcbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInNhdmVEYXRhKClcIiBmaWxsPVwic29saWRcIj5cclxuICAgICAgICAgICAgICAgIHt7cmVxdWFsaWZ5TGlmdElzc3Vlc0RhdGEuc2F2ZUJ1dHRvbn19XHJcbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9wLWRpYWxvZz5cclxuXHJcbiAgICA8cCBjbGFzcz1cImZvcm0tbGFiZWxcIj4ge3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5xdWVzdGlvbkhlYWRpbmcgfCB0cmFuc2xhdGV9fTwvcD5cclxuICAgIDxkaXYgY2xhc3M9XCJncmlkIHAtbm9ndXR0ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPVwicmVxdWFsaWZ5UmVxSGlkZGVuXCIgcElucHV0VGV4dCBmb3JtQ29udHJvbE5hbWU9XCJyZXF1YWxpZnlSZXFIaWRkZW5cIiBoaWRkZW4gLz5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgY29sb3I9XCJzdWNjZXNzXCIgZmlsbD1cIm91dGxpbmVcIiB0eXBlPVwic3VibWl0XCJcclxuICAgICAgICAoY2xpY2spPVwib3BlbkRpYWxvZygpO1wiPlxyXG4gICAgICAgIFJldmlld1xyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J3JlcXVhbGlmeVJlcUhpZGRlbicgW2Zvcm1dPVwicmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwie1xyXG4gICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZC4nXHJcbiAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT4iXX0=
|
|
944
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9yZXF1YWxpZnktbGlmdC1wcmV2aW91cy1pc3N1ZXMvcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9yZXF1YWxpZnktbGlmdC1wcmV2aW91cy1pc3N1ZXMvcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUE0QyxpQkFBaUIsRUFBb0Isa0JBQWtCLEVBQUUsVUFBVSxFQUErQixNQUFNLGdCQUFnQixDQUFDO0FBRzVLLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ0t6RCwrQkFBb0Q7SUFDbEQsa0NBQXVDO0lBQ3pDLGlCQUFNOzs7SUFFSiwyQkFBOEUsUUFBQTtJQUN6RSxpQ0FBaUI7SUFBQSxpQkFBSSxFQUFBOzs7SUFPaEIsMEJBQWdDLFFBQUE7SUFDekIsWUFBYztJQUFBLGlCQUFJLEVBQUE7OztJQUFsQixlQUFjO0lBQWQsb0NBQWM7OztJQUZ6QiwwQkFBSTtJQUNBLCtHQUVLO0lBQ1QsaUJBQUs7OztJQUht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bUI7WUFBbkIsd0NBQW1CO1lBR25CLGVBQW9CO1lBQXBCLHVDQUFvQjtZQTZDakIsZUFBNEM7WUFBNUMsa0VBQTRDO1lBRS9DLGVBQXVCO1lBQXZCLDRDQUF1QjtZQUd2QixlQUF3QjtZQUF4QiwyQ0FBd0I7WUErQnJCLGVBQTZDO1lBQTdDLG1FQUE2QztZQUVoRCxlQUF1QjtZQUF2Qiw0Q0FBdUI7WUFHdkIsZUFBd0I7WUFBeEIsMkNBQXdCO1lBNENyQixlQUF1QztZQUF2Qyw2REFBdUM7WUFFMUMsZUFBdUI7WUFBdkIsNENBQXVCO1lBR3ZCLGVBQXdCO1lBQXhCLDJDQUF3QjtZQStCM0IsZUFBbUM7WUFBbkMseURBQW1DO1lBQ2pDLGVBQXFCO1lBQXJCLHVDQUFxQjtZQUdoQixlQUE0QjtZQUE1QixpREFBNEI7WUFVcEMsZUFDRjtZQURFLHlFQUNGO1lBRUUsZUFDRjtZQURFLHVFQUNGO1lBTWEsZUFBdUQ7WUFBdkQsbUdBQXVEO1lBUS9ELGVBQTRCO1lBQTVCLDhDQUE0QixhQUFBLHVDQUFBOzs7aUZEalFsQyxvQ0FBb0M7Y0FaaEQsU0FBUzsyQkFDRSxvQ0FBb0MsYUFHbkMsQ0FBQzt3QkFDVixPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLHNDQUFzQzt3QkFDakQsS0FBSyxFQUFFLElBQUk7cUJBQ1osQ0FBQyxtQkFDZSx1QkFBdUIsQ0FBQyxPQUFPOzJKQWF2QyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNJLFlBQVk7a0JBQXJCLE1BQU07WUFDRyxtQkFBbUI7a0JBQTVCLE1BQU07WUFLQSxzQkFBc0I7a0JBRDVCLFNBQVM7bUJBQUMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztrRkFsQjNDLG9DQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvcixGb3JtQnVpbGRlciwgTmdGb3JtLCBOR19WQUxVRV9BQ0NFU1NPUiwgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwnO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wUmVxdWVzdE1vZGVsJztcclxuaW1wb3J0IHsgQ2xhaW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1zL2NsYWltcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2luUmVxdWFsaWZpY2F0aW9uQ3JpdGVyaWFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9DaW5SZXF1YWxpZmljYXRpb25Dcml0ZXJpYU1vZGVsJztcclxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsJztcclxuaW1wb3J0IHsgUmVxdWFsaWZ5TGlmdFBhZ2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9SZXF1YWxpZnlMaWZ0UGFnZU1vZGVsJztcclxuaW1wb3J0IHsgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwnO1xyXG5pbXBvcnQgeyBFbGVtZW50c01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRWxlbWVudHNNb2RlbCc7XHJcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJlcXVhbGlmeUxpZnRJc3N1ZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1JlcXVhbGlmeUxpZnRJc3N1ZXNNb2RlbCc7XHJcbmltcG9ydCB7IFVJNTEyQVJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9VSTUxMkFSZXNwb25zZU1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlcXVhbGlmeS1saWZ0LXByZXZpb3VzLWlzc3VlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcXVhbGlmeS1saWZ0LXByZXZpb3VzLWlzc3Vlcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBSZXF1YWxpZnlMaWZ0UHJldmlvdXNJc3N1ZXNDb21wb25lbnQsXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG4gIH1dLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcXVhbGlmeUxpZnRQcmV2aW91c0lzc3Vlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIFxyXG4gIHB1YmxpYyBicEVtcGxveWVyV2FnZXNMaXN0PzogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZD86IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBhbGxvd2VkU2VwSXNzdWVMaXN0PzogQ2luUmVxdWFsaWZpY2F0aW9uQ3JpdGVyaWFNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHByZUlzc3VlTGlzdD86IENpblJlcXVhbGlmaWNhdGlvbkNyaXRlcmlhTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzZXBJc3N1ZUxpZnRlZExpc3Q/OiBDaW5SZXF1YWxpZmljYXRpb25Dcml0ZXJpYU1vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgdWk1MTJBUmVzcG9uc2VMaXN0PzogVUk1MTJBUmVzcG9uc2VNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGJlYW5MaXN0PzogQ2luUmVxdWFsaWZpY2F0aW9uQ3JpdGVyaWFNb2RlbFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBFbGVtZW50c01vZGVsO1xyXG4gIEBJbnB1dCgpIGNvbXBvbmVudERhdGE6c3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgQE91dHB1dCgpIG1vZGVsRGlzcGxheSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgb25Db21wbGV0ZVJlcXVhbGlmeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIHJlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhOlJlcXVhbGlmeUxpZnRJc3N1ZXNNb2RlbDtcclxuXHJcbiAgQFZpZXdDaGlsZCgncmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyByZXF1YWxpZnlGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIHNzbjogc3RyaW5nO1xyXG4gIGNvbHM6IGFueVtdO1xyXG4gIGNvbEFsbG93SXNzdWVMc3Q6IGFueVtdO1xyXG4gIGNvbFByZXZpb3VzSXNzdWVMc3Q6IGFueVtdO1xyXG4gIGNvbDUxMkFSZXNwb25zZUxzdDogYW55W107XHJcbiAgY29sQmVhbkxzdDogYW55W11cclxuXHJcbiAgcHVibGljIHNob3dXYWdlc0xpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dBbGxvd1NlcExpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQcmVJc3N1ZUxpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTZXBJc3N1ZUxpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3c1MTJBUmVzcG9uc2UgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dCZWFuTGlzdCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZW1wUHJvdmlkZWRXYWdlcyA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgYWN0aW9uT3B0aW9ucyA6IGFueVtdO1xyXG4gIHB1YmxpYyBzaG93RGF0YTpib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IocHVibGljIGNzOiBDbGFpbVNlcnZpY2UsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLCBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHVibGljIGZiOiBGb3JtQnVpbGRlciwgcHVibGljIGxvZ2dlcjpMb2dnZXJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIHBheUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgIHByZUlzc3Vlc0FjdGlvbkxpc3Q6IHRoaXMuZmIuYXJyYXkoW10pLFxyXG4gICAgYmVhbkFjdGlvbkxpc3Q6IHRoaXMuZmIuYXJyYXkoW10pLFxyXG4gICAgYWRkaXRpb25hbEluZm86IFsnJywgbnVsbF1cclxuICB9KTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBsZXQgc3NuTGFzdEZvdXJGcm9tRGI6IHN0cmluZztcclxuICAgIGlmKHRoaXMubHMuaXNDbGFpbWFudCgpID09PSB0cnVlKXtcclxuICAgICAgc3NuTGFzdEZvdXJGcm9tRGIgPSB0aGlzLmxzLmdldFVzZXIoKS5zc24uc3Vic3RyaW5nKDUsOSlcclxuICAgIH1cclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdxdWVzdGlvbiBhcyBpbnB1dCB2YWx1ZSBpcyA6ICcsIHRoaXMucXVlc3Rpb24pO1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ3JlcXVhbGlmeVJlcUhpZGRlbicsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCxbVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUsVmFsaWRhdG9ycy5yZXF1aXJlZF0pKTtcclxuICAgIHRoaXMucXVlc3Rpb24ubmFtZT1cInJlcXVhbGlmeVJlcUhpZGRlblwiO1xyXG4gICAgdGhpcy5sb2FkQmFzZVBlcmlvZFdhZ2VzRm9yU1NOKCk7XHJcbiAgICB0aGlzLmxvYWRSZXF1YWxpZnlMaWZ0SXNzdWVzRm9yU1NOKCk7XHJcbiAgICB0aGlzLmxvYWRBbGxvd1NlcFByZXZpb3VzSXNzdWVzRm9yU1NOKCk7XHJcbiAgICB0aGlzLmxvYWRNYXN0ZXJEYXRhKCk7XHJcbiAgICB0aGlzLmxvYWRVSTUxMkFSZXNwb25zZXMoKTtcclxuXHJcbiAgICB0aGlzLmNvbEFsbG93SXNzdWVMc3QgPSBbXHJcbiAgICAgIHtoZWFkZXIgOiAnRW1wbG95ZXIgTmFtZSd9LFxyXG4gICAgICB7aGVhZGVyIDogJ0lzc3VlIFN0YXJ0IERhdGUnfSxcclxuICAgICAge2hlYWRlciA6ICdJc3N1ZSBEZXNjcmlwdGlvbid9LFxyXG4gICAgICB7aGVhZGVyIDogJ0RlY2lzaW9uJ31cclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5jb2xQcmV2aW91c0lzc3VlTHN0ID0gW1xyXG4gICAgICB7aGVhZGVyIDogJ0VtcGxveWVyIE5hbWUnfSxcclxuICAgICAge2hlYWRlciA6ICdJc3N1ZSBTdGFydCBEYXRlJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnSXNzdWUgRGVzY3JpcHRpb24nfSxcclxuICAgICAge2hlYWRlciA6ICdSZXF1YWxpZnlpbmcgQW1vdW50KCQpJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnQWN0aW9uJ31cclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5jb2w1MTJBUmVzcG9uc2VMc3QgPSBbXHJcbiAgICAgIHtoZWFkZXIgOiAnRW1wbG95ZXIgTmFtZSd9LFxyXG4gICAgICB7aGVhZGVyIDogJ1Byb29mIHJlY2VpdmVkIERhdGUnfSxcclxuICAgICAge2hlYWRlciA6ICdFYXJuaW5nIEJlZ2luIERhdGUnfSxcclxuICAgICAge2hlYWRlciA6ICdFYXJuaW5nIEVuZCBEYXRlJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnQW1vdW50ICgkKSd9XHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMuY29sQmVhbkxzdCA9IFtcclxuICAgICAge2hlYWRlciA6ICdFbXBsb3llciBOYW1lJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnRGF0ZSBvZiBTZXBhcmF0aW9uJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnUmVhc29uIGZvciBTZXBhcmF0aW9uJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnUmVxdWlyZWQgV2FnZSAoJCknfSxcclxuICAgICAge2hlYWRlciA6ICdBY3Rpb24nfVxyXG4gICAgXVxyXG4gICAgY29uc3Qgb2JqID0gSlNPTi5wYXJzZSh0aGlzLmNvbXBvbmVudERhdGEpO1xyXG4gICAgdGhpcy5yZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YSA9IG9iajtcclxuICAgIHRoaXMucmVxdWFsaWZ5UmVxSGlkZGVuLnNldFZhbHVlKG51bGwpO1xyXG5cclxuICB9XHJcblxyXG4gIGxvYWRVSTUxMkFSZXNwb25zZXMoKSB7XHJcbiAgICB0aGlzLmNzLmdldFVJNTEyQVJlc3BvbnNlcygpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICBsZXQgcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZSA6IFJlcXVhbGlmeUxpZnRQYWdlTW9kZWw9ICByZXM7XHJcbiAgICAgICAgdGhpcy51aTUxMkFSZXNwb25zZUxpc3QgPSByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbEZyb21TZXJ2aWNlLnVpNTEyQVJlc3BvbnNlTGlzdDtcclxuICAgICAgICB0aGlzLnNob3c1MTJBUmVzcG9uc2UgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgXHJcbiAgbG9hZE1hc3RlckRhdGEoKSB7XHJcbiAgICB0aGlzLmNzLmdldFJlcXVhbGlmeUNyaXRlcmlhRW51bSgpO1xyXG4gICAgdGhpcy5jcy5nZXRBY3Rpb25zTGlzdCgpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLmFjdGlvbk9wdGlvbnMgPSByZXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvYWRCYXNlUGVyaW9kV2FnZXNGb3JTU04oKSB7XHJcbiAgICBsZXQgY2xtRW1wUmVxdWVzdE1vZGVsOiBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCgpO1xyXG4gICAgdGhpcy5jcy5sb2FkQmFzZVBlcmlvZFdhZ2VzKGNsbUVtcFJlcXVlc3RNb2RlbCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIGxldCB0ZW1wIDogQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsID0gcmVzO1xyXG4gICAgICAgIHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdCA9IHRlbXAuYnBFbXBMaXN0O1xyXG4gICAgICAgIGlmKHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdCl7XHJcbiAgICAgICAgICB0aGlzLmJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZCA9IHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdC5maWx0ZXIoYyA9PiBjLm9zYUJwRW1wbG95ZXJGbGFnID09PSAnMCcpO1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2JwIGxpc3QgYnBFbXBsb3llcldhZ2VzTGlzdEZpbHRlcmVkICcsIHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdEZpbHRlcmVkKTtcclxuICAgICAgICAgIGxldCBxdHJZZWFyTGlzdCA6IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdID0gW107XHJcbiAgICAgICAgICBpZih0aGlzLmJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZFswXT8uZW1wbG95ZXJQcm92aWRlZFdhZ2VzID09PSBudWxsKXtcclxuICAgICAgICAgICB0aGlzLmVtcFByb3ZpZGVkV2FnZXMgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHF0clllYXJMaXN0ID0gdGhpcy5icEVtcGxveWVyV2FnZXNMaXN0RmlsdGVyZWRbMF0/LmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBpZihxdHJZZWFyTGlzdCAhPSBudWxsICYmIHF0clllYXJMaXN0Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICAgIHRoaXMuY29scyA9IFtcclxuICAgICAgICAgICAgICAgIHsgaGVhZGVyOiAnRW1wbG95ZXIgTmFtZScgfSxcclxuICAgICAgICAgICAgICAgIHsgaGVhZGVyOiBxdHJZZWFyTGlzdFswXS5xdHJZZWFyRGlzcGxheVN0cmluZyB9LFxyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXI6IHF0clllYXJMaXN0WzFdLnF0clllYXJEaXNwbGF5U3RyaW5nIH0sXHJcbiAgICAgICAgICAgICAgICB7IGhlYWRlcjogcXRyWWVhckxpc3RbMl0ucXRyWWVhckRpc3BsYXlTdHJpbmcgfSxcclxuICAgICAgICAgICAgICAgIHsgaGVhZGVyOiBxdHJZZWFyTGlzdFszXS5xdHJZZWFyRGlzcGxheVN0cmluZyB9LFxyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXI6IHF0clllYXJMaXN0WzRdLnF0clllYXJEaXNwbGF5U3RyaW5nIH1cclxuICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNob3dXYWdlc0xpc3QgPSB0cnVlOyAgIFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuIFxyXG4gIGxvYWRBbGxvd1NlcFByZXZpb3VzSXNzdWVzRm9yU1NOKCkge1xyXG4gICAgdGhpcy5jcy5nZXRBbGxvd1NlcFByZXZpb3VzSXNzdWVzRm9yU1NOKCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMxID0+IHtcclxuICAgICAgICBsZXQgcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWwxOiBSZXF1YWxpZnlMaWZ0UGFnZU1vZGVsID0gbmV3IFJlcXVhbGlmeUxpZnRQYWdlTW9kZWwoKTtcclxuICAgICAgICByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbDEgPSByZXMxOyAgICAgICBcclxuICAgICAgICB0aGlzLmFsbG93ZWRTZXBJc3N1ZUxpc3QgPSByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbDEuYWxsb3dlZFNlcElzc3VlTGlzdDtcclxuICAgICAgICBpZih0aGlzLmFsbG93ZWRTZXBJc3N1ZUxpc3Qpe1xyXG4gICAgICAgICAgdGhpcy5zaG93QWxsb3dTZXBMaXN0ID0gdHJ1ZTtcclxuICAgICAgICB9IFxyXG4gICAgICB9KTtcclxuICB9XHJcbiBcclxuICBsb2FkUmVxdWFsaWZ5TGlmdElzc3Vlc0ZvclNTTigpIHtcclxuICAgIHRoaXMuY3MuZ2V0UmVxdWFsaWZ5TGlmdElzc3Vlc0ZvclNTTigpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICBsZXQgcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZSA6IFJlcXVhbGlmeUxpZnRQYWdlTW9kZWw9ICByZXM7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2xvYWRSZXF1YWxpZnlMaWZ0SXNzdWVzRm9yU1NOID09PT0nLCByZXMpO1xyXG4gICAgICAgIHRoaXMucHJlSXNzdWVMaXN0ID0gcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZS5wcmVJc3N1ZUxpc3Q7XHJcbiAgICAgICAgaWYodGhpcy5wcmVJc3N1ZUxpc3Qpe1xyXG4gICAgICAgICAgdGhpcy5zaG93UHJlSXNzdWVMaXN0ID0gdHJ1ZTtcclxuICAgICAgICAgIGZvcihsZXQgZGF0YSBvZiB0aGlzLnByZUlzc3VlTGlzdCl7XHJcbiAgICAgICAgICAgIGNvbnN0IHRlbXBJbmZvID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgICAgICAgICAgZW1wbG95ZXJOYW1lOiBbZGF0YS5lbXBsb3llck5hbWVdLCBcclxuICAgICAgICAgICAgICBzdGFydERhdGU6IFtkYXRhLnN0YXJ0RGF0ZV0sXHJcbiAgICAgICAgICAgICAgcmVhc29uOiBbZGF0YS5yZWFzb25dLFxyXG4gICAgICAgICAgICAgIHJlcXVhbGlmaWNhdGlvbldhZ2U6IFtkYXRhLnJlcXVhbGlmaWNhdGlvbldhZ2VdLFxyXG4gICAgICAgICAgICAgIGVtcGxveWVySWQ6IFtkYXRhLmVtcGxveWVySWRdLFxyXG4gICAgICAgICAgICAgIGNsYWltQXBwRW1wbG95ZXJJZDogW2RhdGEuY2xhaW1BcHBFbXBsb3llcklkXSxcclxuICAgICAgICAgICAgICBhY3Rpb25QcmV2aW91c0lzc3VlOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICAgIGlzc3VlSWQ6IFtkYXRhLmlzc3VlSWRdXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIHRoaXMucHJlSXNzdWVzQWN0aW9uTGlzdC5wdXNoKHRlbXBJbmZvKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdwcmUgSXNzdWUgQWN0aW9uIExpc3QgPT0gJywgdGhpcy5wcmVJc3N1ZXNBY3Rpb25MaXN0KTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIHRoaXMuc2VwSXNzdWVMaWZ0ZWRMaXN0ID0gcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZS5wcmVMaWZ0ZWRJc3N1ZUxpc3Q7XHJcbiAgICAgICAgdGhpcy5zaG93U2VwSXNzdWVMaXN0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmJlYW5MaXN0ID0gcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZS5iZWFuTGlzdDtcclxuICAgICAgICB0aGlzLnNob3dCZWFuTGlzdCA9IHRydWU7XHJcbiAgICAgICAgZm9yKGxldCBkYXRhIG9mIHRoaXMuYmVhbkxpc3Qpe1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2RhdGEgPT0gJywgZGF0YSk7XHJcbiAgICAgICAgICAvLyBpZihkYXRhLmFjdGlvblRha2VuID09PSBudWxsKXtcclxuICAgICAgICAgICAgY29uc3QgdGVtcEluZm8gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICAgICBlbXBsb3llck5hbWU6IFtkYXRhLmVtcGxveWVyTmFtZV0sIFxyXG4gICAgICAgICAgICAgIHN0YXJ0RGF0ZTogW2RhdGEuc3RhcnREYXRlXSxcclxuICAgICAgICAgICAgICByZWFzb246IFtkYXRhLnJlYXNvbl0sXHJcbiAgICAgICAgICAgICAgcmVxdWFsaWZpY2F0aW9uV2FnZTogW2RhdGEucmVxdWFsaWZpY2F0aW9uV2FnZV0sXHJcbiAgICAgICAgICAgICAgYWN0aW9uVGFrZW4gOiBbZGF0YS5hY3Rpb25UYWtlbl0sXHJcbiAgICAgICAgICAgICAgYWN0aW9uVGFrZW5Qb3RlbnRpYWxJc3N1ZTogWycnLGRhdGEuYWN0aW9uVGFrZW4gPyBudWxsOlZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICAgIGNsYWltQXBwRW1wbG95ZXJJZDogW2RhdGEuY2xhaW1BcHBFbXBsb3llcklkXVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB0aGlzLmJlYW5BY3Rpb25MaXN0LnB1c2godGVtcEluZm8pO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2JlYW4gYWN0aW9uIGxpc3QgaXMgJywgdGhpcy5iZWFuQWN0aW9uTGlzdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5EaWFsb2coKXtcclxuICAgIHRoaXMuc2hvd0RhdGEgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2F2ZURhdGEoKXtcclxuICAgIGlmKCF0aGlzLnBheUZvcm0udmFsaWQpe1xyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1Zyh0aGlzLnBheUZvcm0pO1xyXG4gICAgICB0aGlzLnJlcXVhbGlmeUZvcm1EaXJlY3RpdmUub25TdWJtaXQobnVsbCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTYXZlIERhdGEgZm9yIFZhbGlkIEZvcm0nLHRoaXMucGF5Rm9ybSk7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgncHJlSXNzdWVzQWN0aW9uTGlzdHMnLCB0aGlzLnByZUlzc3Vlc0FjdGlvbkxpc3QpO1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ2JlYW5BY3Rpb25MaXN0JywgdGhpcy5iZWFuQWN0aW9uTGlzdClcclxuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdhZGRpdGlvbmFsSW5mbycsIHRoaXMuYWRkaXRpb25hbEluZm8pO1xyXG4gICAgdGhpcy5zaG93RGF0YSA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZXF1YWxpZnlSZXFIaWRkZW4uc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICB0aGlzLm1vZGVsRGlzcGxheS5lbWl0KHRydWUpO1xyXG4gICAgdGhpcy5vbkNvbXBsZXRlUmVxdWFsaWZ5LmVtaXQodGhpcy5wYXlGb3JtKTtcclxuICB9XHJcblxyXG4gIG9uTW9kZWxDYW5jZWwoKSB7XHJcbiAgICB0aGlzLnNob3dEYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLnJlcXVhbGlmeVJlcUhpZGRlbi5zZXRWYWx1ZShudWxsKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZUFjdGlvbkZvcklzc3VlRHJvcGRvd24oZXZlbnQpe1xyXG4gICAgaWYoZXZlbnQudmFsdWUudmFsdWUgPT09ICdQUkZSJyl7XHJcbiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mby5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgbGV0IGV4aXN0ID0gZmFsc2U7XHJcbiAgICAgIGZvcihsZXQgZWxlbWVudCBvZiB0aGlzLmJlYW5BY3Rpb25MaXN0LmNvbnRyb2xzKXtcclxuICAgICAgICBpZihlbGVtZW50LnZhbHVlLmFjdGlvblRha2VuUG90ZW50aWFsSXNzdWUgPT09ICdQUkZSJyl7XHJcbiAgICAgICAgICBleGlzdCA9IHRydWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYoIWV4aXN0KXtcclxuICAgICAgICB0aGlzLmFkZGl0aW9uYWxJbmZvLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICAgICB0aGlzLnBheUZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgIHRoaXMuYWRkaXRpb25hbEluZm8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgIFxyXG4gIH1cclxuICBnZXQgcHJlSXNzdWVzQWN0aW9uTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBheUZvcm0uY29udHJvbHNbJ3ByZUlzc3Vlc0FjdGlvbkxpc3QnXSBhcyBVbnR5cGVkRm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGJlYW5BY3Rpb25MaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGF5Rm9ybS5jb250cm9sc1snYmVhbkFjdGlvbkxpc3QnXSBhcyBVbnR5cGVkRm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFkZGl0aW9uYWxJbmZvKCl7XHJcbiAgICByZXR1cm4gdGhpcy5wYXlGb3JtLmNvbnRyb2xzWydhZGRpdGlvbmFsSW5mbyddIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIGdldCByZXF1YWxpZnlSZXFIaWRkZW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgncmVxdWFsaWZ5UmVxSGlkZGVuJylcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlOiBGdW5jdGlvbiA9ICh2YWx1ZTogU3RyaW5nKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHtcclxuICB9O1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuXHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmblxyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAjcmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZSA9IFwibmdGb3JtXCI+XHJcbiAgICA8cC1kaWFsb2cgbW9kYWw9XCJ0cnVlXCIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIiBhcHBlbmRUbz1cImJvZHlcIiBbYnJlYWtwb2ludHNdPVwieyc5NjBweCc6ICc4MHZ3JywgJzY0MHB4JzogJzEwMHZ3J31cIiBbc3R5bGVdPVwie3dpZHRoOiAnNjB2dyd9XCIgW3Zpc2libGVdPVwic2hvd0RhdGFcIj5cclxuICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtNXB4O1wiPlxyXG4gICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgIDxoMT57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnBhZ2VUaXRsZX19PC9oMT5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PiBcclxuICAgICAgICAgICAgICAgICAgICAgIDxoMj57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLmJhc2VXYWdlSW5mb319PC9oMj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dXYWdlc0xpc3RcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1dhZ2VzTGlzdFwiPiBcclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZC5sZW5ndGggPT09IDAgfHwgIWVtcFByb3ZpZGVkV2FnZXMgXCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5ObyBSZWNvcmRzIGZvdW5kLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwiYnBFbXBsb3llcldhZ2VzTGlzdEZpbHRlcmVkICYmIGVtcFByb3ZpZGVkV2FnZXNcIj4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cC10YWJsZSAjZHQgW3ZhbHVlXT1cImJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZFwiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGUgaW9uLXBhZGRpbmctdG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHNcIiBbcm93SG92ZXJdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57e2NvbC5oZWFkZXJ9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1lbXBsb3llciBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llckRhdGEuZGlzcGxheU5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlWzBdPy53YWdlQW1vdW50IHwgY3VycmVuY3l9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlWzFdPy53YWdlQW1vdW50IHwgY3VycmVuY3l9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlWzJdPy53YWdlQW1vdW50IHwgY3VycmVuY3l9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlWzNdPy53YWdlQW1vdW50IHwgY3VycmVuY3l9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlWzRdPy53YWdlQW1vdW50IHwgY3VycmVuY3l9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcC10YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGRpdj48aDI+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5lYXJuaW5nc1Byb29mfX08L2gyPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvdzUxMkFSZXNwb25zZVwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNob3c1MTJBUmVzcG9uc2VcIj4gIFxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwiIXVpNTEyQVJlc3BvbnNlTGlzdFwiPiBcclxuICAgICAgICAgICAgICAgICAgPHA+Tm8gUmVjb3JkcyBmb3VuZC48L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInVpNTEyQVJlc3BvbnNlTGlzdFwiPiBcclxuICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJ1aTUxMkFSZXNwb25zZUxpc3RcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2w1MTJBUmVzcG9uc2VMc3RcIiBbcm93SG92ZXJdPVwidHJ1ZVwiID5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3tjb2wuaGVhZGVyfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZW1wbG95ZXIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuZW1wbG95ZXJOYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5wcm9vZlJlY2lldmVkRGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuZWFybmluZ3NCZWdpbkRhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVhcm5pbmdzRW5kRGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuYW1vdW50T2ZFYXJuaW5nc319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgPC9wLXRhYmxlPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGRpdj48aDI+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5wb3RlbnRpYWxJc3N1ZXN9fTwvaDI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzaG93QmVhbkxpc3RcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJzaG93QmVhbkxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImJlYW5MaXN0Lmxlbmd0aCA9PT0gMFwiPiBcclxuICAgICAgICAgICAgICAgICAgPHA+Tm8gUmVjb3JkcyBmb3VuZC48L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImJlYW5MaXN0ICYmIGJlYW5MaXN0Lmxlbmd0aCA+IDBcIj4gICAgICBcclxuICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJiZWFuQWN0aW9uTGlzdC5jb250cm9sc1wiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGUgaW9uLXBhZGRpbmctdG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbEJlYW5Mc3RcIiBbcm93SG92ZXJdPVwidHJ1ZVwiID5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3tjb2wuaGVhZGVyfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZW1wbG95ZXIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZW1wbG95ZXIgb2YgYmVhbkFjdGlvbkxpc3QuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIiBbZm9ybUdyb3VwTmFtZV09XCJpXCI+ICAgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLnZhbHVlLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIudmFsdWUuc3RhcnREYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci52YWx1ZS5yZWFzb259fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLnZhbHVlLnJlcXVhbGlmaWNhdGlvbldhZ2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj0gXCJlbXBsb3llci52YWx1ZS5hY3Rpb25UYWtlbiAhPSBudWxsXCI+e3tlbXBsb3llci52YWx1ZS5hY3Rpb25UYWtlbn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6MzAlXCIgKm5nSWY9IFwiZW1wbG95ZXIudmFsdWUuYWN0aW9uVGFrZW4gPT09IG51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZW1wbG95ZXJcIiAjcmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cImFjdGlvbk9wdGlvbnNcIiBmb3JtQ29udHJvbE5hbWU9XCJhY3Rpb25UYWtlblBvdGVudGlhbElzc3VlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIChvbkNoYW5nZSk9XCJjaGFuZ2VBY3Rpb25Gb3JJc3N1ZURyb3Bkb3duKCRldmVudClcIiByZXF1aXJlZD48L2FwcC1kcm9wZG93bj48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyLmNvbnRyb2xzW1wiYWN0aW9uVGFrZW5Qb3RlbnRpYWxJc3N1ZVwiXScgW2Zvcm1dPVwicmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llci5jb250cm9sc1snYWN0aW9uVGFrZW5Qb3RlbnRpYWxJc3N1ZSddLmludmFsaWRcIiBzdHlsZT1cImNvbG9yOiNlNjBlMGU7IG1hcmdpbi1sZWZ0OiAwcHg7IGZvbnQtc2l6ZTogMTVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIGZvcm1Db250cm9sTmFtZT1cImNsYWltQXBwRW1wbG95ZXJJZFwiIHZhbHVlID0gXCJ7e2VtcGxveWVyLnZhbHVlLmNsYWltQXBwRW1wbG95ZXJJZH19XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICA8ZGl2PjxoMj57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnNlcGFyYXRpb25Jc3N1ZXN9fTwvaDI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzaG93U2VwSXNzdWVMaXN0XCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwic2hvd1NlcElzc3VlTGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwic2VwSXNzdWVMaWZ0ZWRMaXN0Lmxlbmd0aCA9PT0gMFwiPiBcclxuICAgICAgICAgICAgICAgICAgPHA+Tm8gUmVjb3JkcyBmb3VuZC48L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNlcElzc3VlTGlmdGVkTGlzdCAmJiBzZXBJc3N1ZUxpZnRlZExpc3QubGVuZ3RoID4gMFwiPiAgICBcclxuICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJzZXBJc3N1ZUxpZnRlZExpc3RcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2xQcmV2aW91c0lzc3VlTHN0XCIgW3Jvd0hvdmVyXT1cInRydWVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7Y29sLmhlYWRlcn19PC9iPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuc3RhcnREYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5yZWFzb259fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLnJlcXVhbGlmaWNhdGlvbldhZ2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmFjdGlvblRha2VufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICA8ZGl2PjxoMj57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnByZXZpb3VzRGVjaXNpb25zfX08L2gyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd1ByZUlzc3VlTGlzdFwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNob3dQcmVJc3N1ZUxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInByZUlzc3VlTGlzdC5sZW5ndGggPT09IDBcIj4gXHJcbiAgICAgICAgICAgICAgICAgIDxwPk5vIFJlY29yZHMgZm91bmQuPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJwcmVJc3N1ZUxpc3QgJiYgcHJlSXNzdWVMaXN0Lmxlbmd0aCA+IDBcIj4gICAgICBcclxuICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJwcmVJc3N1ZXNBY3Rpb25MaXN0LmNvbnRyb2xzXCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZSBpb24tcGFkZGluZy10b3BcIiBcclxuICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sUHJldmlvdXNJc3N1ZUxzdFwiIFtyb3dIb3Zlcl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPVwicGFkZGluZzogNTBweDtcIj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57e2NvbC5oZWFkZXJ9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiBcclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1lbXBsb3llciBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDoyMCVcIj57e2VtcGxveWVyLnZhbHVlLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6MjAlXCI+e3tlbXBsb3llci52YWx1ZS5zdGFydERhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOjIwJVwiPnt7ZW1wbG95ZXIudmFsdWUucmVhc29ufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDoxMCVcIj57e2VtcGxveWVyLnZhbHVlLnJlcXVhbGlmaWNhdGlvbldhZ2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6MzAlXCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImVtcGxveWVyXCIgI3JlcXVhbGlmeUZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIj4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJhY3Rpb25PcHRpb25zXCIgZm9ybUNvbnRyb2xOYW1lPVwiYWN0aW9uUHJldmlvdXNJc3N1ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiByZXF1aXJlZD48L2FwcC1kcm9wZG93bj48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyLmNvbnRyb2xzW1wiYWN0aW9uUHJldmlvdXNJc3N1ZVwiXScgW2Zvcm1dPVwicmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llci5jb250cm9sc1snYWN0aW9uUHJldmlvdXNJc3N1ZSddLmludmFsaWRcIiBzdHlsZT1cImNvbG9yOiNlNjBlMGU7IG1hcmdpbi1sZWZ0OiAwcHg7IGZvbnQtc2l6ZTogMTVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgZm9ybUNvbnRyb2xOYW1lPVwiaXNzdWVJZFwiIHZhbHVlID0gXCJ7e2VtcGxveWVyLnZhbHVlLmlzc3VlSWR9fVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICA8ZGl2PjxoMj57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLm90aGVySXNzdWVzfX08L2gyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd0FsbG93U2VwTGlzdFwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNob3dBbGxvd1NlcExpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImFsbG93ZWRTZXBJc3N1ZUxpc3QubGVuZ3RoID09PSAwXCI+IFxyXG4gICAgICAgICAgICAgICAgICA8cD5ObyBSZWNvcmRzIGZvdW5kLjwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwiYWxsb3dlZFNlcElzc3VlTGlzdCAmJiBhbGxvd2VkU2VwSXNzdWVMaXN0Lmxlbmd0aCA+IDBcIj4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICA8cC10YWJsZSAjZHQgW3ZhbHVlXT1cImFsbG93ZWRTZXBJc3N1ZUxpc3RcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2xBbGxvd0lzc3VlTHN0XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0cj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57e2NvbC5oZWFkZXJ9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiBcclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuc3RhcnREYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5yZWFzb259fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmFjdGlvblRha2VufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8cD57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnJlbWFya3N9fTwvcD5cclxuICAgICAgICAgICAgICA8ZGl2IFtmb3JtR3JvdXBdPVwicGF5Rm9ybVwiICNyZXF1YWxpZnlGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD1cImFkZGl0aW9uYWxJbmZvXCIgYXV0b1Jlc2l6ZT1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJhZGRpdGlvbmFsSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4TGVuZ3RoPVwiMjU2XCIgcm93cz1cIjNcIiBjb2xzPVwiMzVcIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYWRkaXRpb25hbEluZm8uaW52YWxpZFwiIHN0eWxlPVwiY29sb3I6I2U2MGUwZTsgbWFyZ2luLWxlZnQ6IDBweDsgZm9udC1zaXplOiAxNXB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwib25Nb2RlbENhbmNlbCgpXCIgdHlwZT1cInJlc2V0XCIgZmlsbD1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgICAgIHt7cmVxdWFsaWZ5TGlmdElzc3Vlc0RhdGEuY2FuY2VsQnV0dG9ufX1cclxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwic2F2ZURhdGEoKVwiIGZpbGw9XCJzb2xpZFwiPlxyXG4gICAgICAgICAgICAgICAge3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5zYXZlQnV0dG9ufX1cclxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3AtZGlhbG9nPlxyXG5cclxuICAgIDxwIGNsYXNzPVwiZm9ybS1sYWJlbFwiPiB7e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnF1ZXN0aW9uSGVhZGluZyB8IHRyYW5zbGF0ZX19PC9wPlxyXG4gICAgPGRpdiBjbGFzcz1cImdyaWQgcC1ub2d1dHRlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9XCJyZXF1YWxpZnlSZXFIaWRkZW5cIiBwSW5wdXRUZXh0IGZvcm1Db250cm9sTmFtZT1cInJlcXVhbGlmeVJlcUhpZGRlblwiIGhpZGRlbiAvPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgIChjbGljayk9XCJvcGVuRGlhbG9nKCk7XCI+XHJcbiAgICAgICAgUmV2aWV3XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0ncmVxdWFsaWZ5UmVxSGlkZGVuJyBbZm9ybV09XCJyZXF1YWxpZnlGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7XHJcbiAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkLidcclxuICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9mb3JtPiJdfQ==
|