kwikid-agent-dashboard 0.0.12 → 0.0.13
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/bundles/kwikid-agent-dashboard.umd.js +1003 -812
- package/bundles/kwikid-agent-dashboard.umd.js.map +1 -1
- package/esm2015/lib/components/customer-details/customer-details.component.js +98 -0
- package/esm2015/lib/components/customer-tile/customer-tile.component.js +42 -10
- package/esm2015/lib/kwikid-agent-dashboard.component.js +39 -453
- package/esm2015/lib/kwikid-agent-dashboard.module.js +6 -3
- package/esm2015/lib/services/user.service.js +454 -0
- package/fesm2015/kwikid-agent-dashboard.js +876 -715
- package/fesm2015/kwikid-agent-dashboard.js.map +1 -1
- package/lib/components/customer-details/customer-details.component.d.ts +50 -0
- package/lib/components/customer-tile/customer-tile.component.d.ts +9 -2
- package/lib/kwikid-agent-dashboard.component.d.ts +5 -183
- package/lib/kwikid-agent-dashboard.module.d.ts +12 -11
- package/lib/services/user.service.d.ts +192 -0
- package/package.json +1 -1
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import { Component, EventEmitter, Inject, Input, Output, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, HostListener, Inject, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import { MapInfoWindow } from '@angular/google-maps';
|
|
3
3
|
import { TuiDialogService } from '@taiga-ui/core';
|
|
4
4
|
import { of } from 'rxjs';
|
|
5
5
|
import { catchError, map } from 'rxjs/operators';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "./services/map.service";
|
|
8
|
-
import * as i2 from "
|
|
9
|
-
import * as i3 from "
|
|
10
|
-
import * as i4 from "
|
|
11
|
-
import * as i5 from "
|
|
12
|
-
import * as i6 from "
|
|
13
|
-
import * as i7 from "
|
|
14
|
-
import * as i8 from "
|
|
15
|
-
import * as i9 from "@
|
|
8
|
+
import * as i2 from "./services/user.service";
|
|
9
|
+
import * as i3 from "@angular/common/http";
|
|
10
|
+
import * as i4 from "kwikui";
|
|
11
|
+
import * as i5 from "@angular/google-maps";
|
|
12
|
+
import * as i6 from "./components/customer-details/customer-details.component";
|
|
13
|
+
import * as i7 from "./components/customer-list/customer-list.component";
|
|
14
|
+
import * as i8 from "kwikid-forms";
|
|
15
|
+
import * as i9 from "@angular/common";
|
|
16
|
+
import * as i10 from "@taiga-ui/cdk";
|
|
17
|
+
import * as i11 from "@taiga-ui/core";
|
|
16
18
|
export class KwikIDAgentDashboardComponent {
|
|
17
|
-
constructor(mapService, httpClient, hostElement, dialogService) {
|
|
19
|
+
constructor(mapService, userService, httpClient, hostElement, dialogService) {
|
|
18
20
|
this.mapService = mapService;
|
|
21
|
+
this.userService = userService;
|
|
19
22
|
this.httpClient = httpClient;
|
|
20
23
|
this.hostElement = hostElement;
|
|
21
24
|
this.dialogService = dialogService;
|
|
@@ -26,441 +29,9 @@ export class KwikIDAgentDashboardComponent {
|
|
|
26
29
|
this.removeTask = new EventEmitter();
|
|
27
30
|
this.filterTaskList = new EventEmitter();
|
|
28
31
|
this.loading = true;
|
|
29
|
-
this.showMapview = true;
|
|
30
|
-
this.isMobileView = false;
|
|
31
|
-
this.listOpen = true;
|
|
32
32
|
this.options = {
|
|
33
33
|
stops: ['calc(5rem + 74vw)', 'calc(9rem + 74vw)']
|
|
34
34
|
};
|
|
35
|
-
this.addTaskFormConfig = {
|
|
36
|
-
key: 'ADD_TASK',
|
|
37
|
-
title: 'Add Task',
|
|
38
|
-
fields: [
|
|
39
|
-
{
|
|
40
|
-
key: 'name',
|
|
41
|
-
label: 'Customer Name',
|
|
42
|
-
disabled: false,
|
|
43
|
-
messages: [],
|
|
44
|
-
default: {
|
|
45
|
-
value: {
|
|
46
|
-
is_found: false,
|
|
47
|
-
value: '',
|
|
48
|
-
sources: [
|
|
49
|
-
{
|
|
50
|
-
key: 'OBJECT',
|
|
51
|
-
props: {
|
|
52
|
-
object: {
|
|
53
|
-
key: 'ALL_FORMS_DATA',
|
|
54
|
-
path: '$.ADD_TASK.name'
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
value: '',
|
|
58
|
-
validation: {
|
|
59
|
-
is_valid: false,
|
|
60
|
-
triggers: ['ON_INIT'],
|
|
61
|
-
rules: [
|
|
62
|
-
{
|
|
63
|
-
id: '1',
|
|
64
|
-
key: 'VALUE_CHECK',
|
|
65
|
-
props: {
|
|
66
|
-
value: {
|
|
67
|
-
source: {
|
|
68
|
-
key: 'OBJECT',
|
|
69
|
-
props: {
|
|
70
|
-
object: {
|
|
71
|
-
key: 'ALL_FORMS_DATA',
|
|
72
|
-
path: '$.ADD_TASK.name'
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
pattern: {
|
|
78
|
-
key: 'IS_NOT_EMPTY'
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
],
|
|
83
|
-
actions: [
|
|
84
|
-
{
|
|
85
|
-
id: '1',
|
|
86
|
-
key: 'SET_FIELD_DEFAULT_VALUE',
|
|
87
|
-
condition: '1',
|
|
88
|
-
props: {
|
|
89
|
-
fieldKey: 'name',
|
|
90
|
-
value: {
|
|
91
|
-
source: {
|
|
92
|
-
key: 'OBJECT',
|
|
93
|
-
props: {
|
|
94
|
-
object: {
|
|
95
|
-
key: 'ALL_FORMS_DATA',
|
|
96
|
-
path: '$.ADD_TASK.name'
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
]
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
]
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
validators: {
|
|
110
|
-
required: true
|
|
111
|
-
},
|
|
112
|
-
properties: {
|
|
113
|
-
placeholder: 'Please enter the Customer Name',
|
|
114
|
-
readOnly: false,
|
|
115
|
-
case: 'default'
|
|
116
|
-
},
|
|
117
|
-
type: 'text'
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
key: 'phone',
|
|
121
|
-
label: 'Phone Number',
|
|
122
|
-
disabled: false,
|
|
123
|
-
messages: [],
|
|
124
|
-
default: {
|
|
125
|
-
value: {
|
|
126
|
-
is_found: false,
|
|
127
|
-
value: '',
|
|
128
|
-
sources: [
|
|
129
|
-
{
|
|
130
|
-
key: 'OBJECT',
|
|
131
|
-
props: {
|
|
132
|
-
object: {
|
|
133
|
-
key: 'ALL_FORMS_DATA',
|
|
134
|
-
path: '$.ADD_TASK.phone'
|
|
135
|
-
}
|
|
136
|
-
},
|
|
137
|
-
value: '',
|
|
138
|
-
validation: {
|
|
139
|
-
is_valid: false,
|
|
140
|
-
triggers: ['ON_INIT'],
|
|
141
|
-
rules: [
|
|
142
|
-
{
|
|
143
|
-
id: '1',
|
|
144
|
-
key: 'VALUE_CHECK',
|
|
145
|
-
props: {
|
|
146
|
-
value: {
|
|
147
|
-
source: {
|
|
148
|
-
key: 'OBJECT',
|
|
149
|
-
props: {
|
|
150
|
-
object: {
|
|
151
|
-
key: 'ALL_FORMS_DATA',
|
|
152
|
-
path: '$.ADD_TASK.phone'
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
pattern: {
|
|
158
|
-
key: 'IS_NOT_EMPTY'
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
],
|
|
163
|
-
actions: [
|
|
164
|
-
{
|
|
165
|
-
id: '1',
|
|
166
|
-
key: 'SET_FIELD_DEFAULT_VALUE',
|
|
167
|
-
condition: '1',
|
|
168
|
-
props: {
|
|
169
|
-
fieldKey: 'phone',
|
|
170
|
-
value: {
|
|
171
|
-
source: {
|
|
172
|
-
key: 'OBJECT',
|
|
173
|
-
props: {
|
|
174
|
-
object: {
|
|
175
|
-
key: 'ALL_FORMS_DATA',
|
|
176
|
-
path: '$.ADD_TASK.phone'
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
]
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
]
|
|
187
|
-
}
|
|
188
|
-
},
|
|
189
|
-
validators: {
|
|
190
|
-
required: true
|
|
191
|
-
},
|
|
192
|
-
properties: {
|
|
193
|
-
countryCode: '+91',
|
|
194
|
-
removeCountryCodeFromValue: true,
|
|
195
|
-
phoneMaskAfterCountryCode: '##########',
|
|
196
|
-
placeholder: 'Please enter your Mobile Number',
|
|
197
|
-
readOnly: false
|
|
198
|
-
},
|
|
199
|
-
type: 'phone'
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
key: 'address',
|
|
203
|
-
label: 'Address',
|
|
204
|
-
disabled: false,
|
|
205
|
-
messages: [],
|
|
206
|
-
default: {
|
|
207
|
-
value: {
|
|
208
|
-
is_found: false,
|
|
209
|
-
value: '',
|
|
210
|
-
sources: [
|
|
211
|
-
{
|
|
212
|
-
key: 'OBJECT',
|
|
213
|
-
props: {
|
|
214
|
-
object: {
|
|
215
|
-
key: 'ALL_FORMS_DATA',
|
|
216
|
-
path: '$.ADD_TASK.address'
|
|
217
|
-
}
|
|
218
|
-
},
|
|
219
|
-
value: '',
|
|
220
|
-
validation: {
|
|
221
|
-
is_valid: false,
|
|
222
|
-
triggers: ['ON_INIT'],
|
|
223
|
-
rules: [
|
|
224
|
-
{
|
|
225
|
-
id: '1',
|
|
226
|
-
key: 'VALUE_CHECK',
|
|
227
|
-
props: {
|
|
228
|
-
value: {
|
|
229
|
-
source: {
|
|
230
|
-
key: 'OBJECT',
|
|
231
|
-
props: {
|
|
232
|
-
object: {
|
|
233
|
-
key: 'ALL_FORMS_DATA',
|
|
234
|
-
path: '$.ADD_TASK.address'
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
},
|
|
239
|
-
pattern: {
|
|
240
|
-
key: 'IS_NOT_EMPTY'
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
],
|
|
245
|
-
actions: [
|
|
246
|
-
{
|
|
247
|
-
id: '1',
|
|
248
|
-
key: 'SET_FIELD_DEFAULT_VALUE',
|
|
249
|
-
condition: '1',
|
|
250
|
-
props: {
|
|
251
|
-
fieldKey: 'address',
|
|
252
|
-
value: {
|
|
253
|
-
source: {
|
|
254
|
-
key: 'OBJECT',
|
|
255
|
-
props: {
|
|
256
|
-
object: {
|
|
257
|
-
key: 'ALL_FORMS_DATA',
|
|
258
|
-
path: '$.ADD_TASK.address'
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
]
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
]
|
|
269
|
-
}
|
|
270
|
-
},
|
|
271
|
-
validators: {
|
|
272
|
-
required: true
|
|
273
|
-
},
|
|
274
|
-
properties: {
|
|
275
|
-
placeholder: 'Please enter the Address',
|
|
276
|
-
readOnly: false,
|
|
277
|
-
case: 'default'
|
|
278
|
-
},
|
|
279
|
-
type: 'text'
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
key: 'city',
|
|
283
|
-
label: 'City',
|
|
284
|
-
disabled: false,
|
|
285
|
-
messages: [],
|
|
286
|
-
default: {
|
|
287
|
-
value: {
|
|
288
|
-
is_found: false,
|
|
289
|
-
value: '',
|
|
290
|
-
sources: [
|
|
291
|
-
{
|
|
292
|
-
key: 'OBJECT',
|
|
293
|
-
props: {
|
|
294
|
-
object: {
|
|
295
|
-
key: 'ALL_FORMS_DATA',
|
|
296
|
-
path: '$.ADD_TASK.city'
|
|
297
|
-
}
|
|
298
|
-
},
|
|
299
|
-
value: '',
|
|
300
|
-
validation: {
|
|
301
|
-
is_valid: false,
|
|
302
|
-
triggers: ['ON_INIT'],
|
|
303
|
-
rules: [
|
|
304
|
-
{
|
|
305
|
-
id: '1',
|
|
306
|
-
key: 'VALUE_CHECK',
|
|
307
|
-
props: {
|
|
308
|
-
value: {
|
|
309
|
-
source: {
|
|
310
|
-
key: 'OBJECT',
|
|
311
|
-
props: {
|
|
312
|
-
object: {
|
|
313
|
-
key: 'ALL_FORMS_DATA',
|
|
314
|
-
path: '$.ADD_TASK.city'
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
},
|
|
319
|
-
pattern: {
|
|
320
|
-
key: 'IS_NOT_EMPTY'
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
],
|
|
325
|
-
actions: [
|
|
326
|
-
{
|
|
327
|
-
id: '1',
|
|
328
|
-
key: 'SET_FIELD_DEFAULT_VALUE',
|
|
329
|
-
condition: '1',
|
|
330
|
-
props: {
|
|
331
|
-
fieldKey: 'city',
|
|
332
|
-
value: {
|
|
333
|
-
source: {
|
|
334
|
-
key: 'OBJECT',
|
|
335
|
-
props: {
|
|
336
|
-
object: {
|
|
337
|
-
key: 'ALL_FORMS_DATA',
|
|
338
|
-
path: '$.ADD_TASK.city'
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
]
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
]
|
|
349
|
-
}
|
|
350
|
-
},
|
|
351
|
-
validators: {
|
|
352
|
-
required: true
|
|
353
|
-
},
|
|
354
|
-
properties: {
|
|
355
|
-
placeholder: 'Please enter the City',
|
|
356
|
-
readOnly: false,
|
|
357
|
-
case: 'default'
|
|
358
|
-
},
|
|
359
|
-
type: 'text'
|
|
360
|
-
},
|
|
361
|
-
{
|
|
362
|
-
key: 'location',
|
|
363
|
-
label: 'Location URL',
|
|
364
|
-
disabled: false,
|
|
365
|
-
messages: [],
|
|
366
|
-
default: {
|
|
367
|
-
value: {
|
|
368
|
-
is_found: false,
|
|
369
|
-
value: '',
|
|
370
|
-
sources: [
|
|
371
|
-
{
|
|
372
|
-
key: 'OBJECT',
|
|
373
|
-
props: {
|
|
374
|
-
object: {
|
|
375
|
-
key: 'ALL_FORMS_DATA',
|
|
376
|
-
path: '$.ADD_TASK.location'
|
|
377
|
-
}
|
|
378
|
-
},
|
|
379
|
-
value: '',
|
|
380
|
-
validation: {
|
|
381
|
-
is_valid: false,
|
|
382
|
-
triggers: ['ON_INIT'],
|
|
383
|
-
rules: [
|
|
384
|
-
{
|
|
385
|
-
id: '1',
|
|
386
|
-
key: 'VALUE_CHECK',
|
|
387
|
-
props: {
|
|
388
|
-
value: {
|
|
389
|
-
source: {
|
|
390
|
-
key: 'OBJECT',
|
|
391
|
-
props: {
|
|
392
|
-
object: {
|
|
393
|
-
key: 'ALL_FORMS_DATA',
|
|
394
|
-
path: '$.ADD_TASK.location'
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
},
|
|
399
|
-
pattern: {
|
|
400
|
-
key: 'IS_NOT_EMPTY'
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
],
|
|
405
|
-
actions: [
|
|
406
|
-
{
|
|
407
|
-
id: '1',
|
|
408
|
-
key: 'SET_FIELD_DEFAULT_VALUE',
|
|
409
|
-
condition: '1',
|
|
410
|
-
props: {
|
|
411
|
-
fieldKey: 'location',
|
|
412
|
-
value: {
|
|
413
|
-
source: {
|
|
414
|
-
key: 'OBJECT',
|
|
415
|
-
props: {
|
|
416
|
-
object: {
|
|
417
|
-
key: 'ALL_FORMS_DATA',
|
|
418
|
-
path: '$.ADD_TASK.location'
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
]
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
|
-
]
|
|
429
|
-
}
|
|
430
|
-
},
|
|
431
|
-
validators: {
|
|
432
|
-
required: true
|
|
433
|
-
},
|
|
434
|
-
properties: {
|
|
435
|
-
placeholder: 'Please enter the Location URL',
|
|
436
|
-
readOnly: false,
|
|
437
|
-
case: 'default'
|
|
438
|
-
},
|
|
439
|
-
type: 'text'
|
|
440
|
-
}
|
|
441
|
-
],
|
|
442
|
-
properties: {
|
|
443
|
-
header: {
|
|
444
|
-
title: {
|
|
445
|
-
hidden: true,
|
|
446
|
-
label: 'Add Task'
|
|
447
|
-
},
|
|
448
|
-
steps: {
|
|
449
|
-
hidden: true
|
|
450
|
-
}
|
|
451
|
-
},
|
|
452
|
-
footer: {
|
|
453
|
-
viewFormsButton: {
|
|
454
|
-
hidden: true,
|
|
455
|
-
label: 'View Forms'
|
|
456
|
-
},
|
|
457
|
-
saveButton: {
|
|
458
|
-
hidden: false,
|
|
459
|
-
label: 'Submit'
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
};
|
|
464
35
|
this.open = false;
|
|
465
36
|
this.allFormsData = {};
|
|
466
37
|
this.String = String;
|
|
@@ -468,12 +39,27 @@ export class KwikIDAgentDashboardComponent {
|
|
|
468
39
|
.jsonp('https://maps.googleapis.com/maps/api/js?key=AIzaSyA63JY0ja6ZGIR796vJqZARc0c2j8Vgpik&v=3.exp&libraries=geometry,drawing,places', 'callback')
|
|
469
40
|
.pipe(map(() => true), catchError(() => of(false)));
|
|
470
41
|
}
|
|
42
|
+
windowResizeWatcher() {
|
|
43
|
+
if (this.hostElement.nativeElement.offsetWidth < 600) {
|
|
44
|
+
this.isMobileView = true;
|
|
45
|
+
this.userService.isMobileView = true;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.isMobileView = false;
|
|
49
|
+
this.userService.isMobileView = false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
471
52
|
ngOnInit() {
|
|
472
53
|
var _a, _b, _c, _d, _e, _f;
|
|
473
|
-
this.
|
|
474
|
-
this.
|
|
475
|
-
(
|
|
54
|
+
this.userService.agentConfig = this.agentConfig;
|
|
55
|
+
this.userService.showMapview =
|
|
56
|
+
(_c = (_b = (_a = this.agentConfig) === null || _a === void 0 ? void 0 : _a.dashboardConfig) === null || _b === void 0 ? void 0 : _b.showMaps) !== null && _c !== void 0 ? _c : false;
|
|
57
|
+
this.userService.addTaskFormConfig =
|
|
58
|
+
(_f = (_e = (_d = this.agentConfig) === null || _d === void 0 ? void 0 : _d.dashboardConfig) === null || _e === void 0 ? void 0 : _e.addTaskFormConfig) !== null && _f !== void 0 ? _f : this.userService.addTaskFormConfig;
|
|
476
59
|
this.loading = false;
|
|
60
|
+
setTimeout(() => {
|
|
61
|
+
this.windowResizeWatcher();
|
|
62
|
+
}, 1000);
|
|
477
63
|
}
|
|
478
64
|
goToNextStep(e) {
|
|
479
65
|
this.nextStep.emit(e);
|
|
@@ -490,9 +76,6 @@ export class KwikIDAgentDashboardComponent {
|
|
|
490
76
|
refresh() {
|
|
491
77
|
window.location.reload();
|
|
492
78
|
}
|
|
493
|
-
toggleMapview() {
|
|
494
|
-
this.showMapview = !this.showMapview;
|
|
495
|
-
}
|
|
496
79
|
onClick() {
|
|
497
80
|
this.open = !this.open;
|
|
498
81
|
}
|
|
@@ -517,8 +100,8 @@ export class KwikIDAgentDashboardComponent {
|
|
|
517
100
|
}
|
|
518
101
|
handleOnClickViewForms(e) { }
|
|
519
102
|
}
|
|
520
|
-
/** @nocollapse */ KwikIDAgentDashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponent, deps: [{ token: i1.MapService }, { token: i2.HttpClient }, { token: i0.ElementRef }, { token: TuiDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
521
|
-
/** @nocollapse */ KwikIDAgentDashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDAgentDashboardComponent, selector: "kwikid-agent-dashboard", inputs: { agentConfig: "agentConfig", taskList: "taskList" }, outputs: { nextStep: "nextStep", addTask: "addTask", removeTask: "removeTask", filterTaskList: "filterTaskList" }, viewQueries: [{ propertyName: "infoWindow", first: true, predicate: MapInfoWindow, descendants: true }], ngImport: i0, template: "<div class=\"kwikid-agent-dashboard\" *ngIf=\"!loading\">\n <div class=\"wrapper\">\n <div class=\"dashboard-header\">\n <div class=\"dashboard-header-client-name\">\n <kwikui-button-icon\n [icon]=\"'tuiIconLink'\"\n appearance=\"mono\"\n size=\"m\"\n ></kwikui-button-icon>\n\n {{ agentConfig.clientName }}\n </div>\n <span (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <kwikui-button-icon\n [icon]=\"'tuiIconSettingsLarge'\"\n (onClick)=\"onClick()\"\n appearance=\"mono\"\n size=\"m\"\n [tuiDropdown]=\"dropdownContent\"\n [tuiDropdownManual]=\"open\"\n (tuiObscured)=\"onObscured($event)\"\n ></kwikui-button-icon>\n <ng-template #dropdownContent>\n <div class=\"menu-dropdown\">\n <div class=\"menu-dropdown-header\">\n <div class=\"menu-dropdown-header-agent-name\">\n {{ agentConfig.agentName }}\n </div>\n <div class=\"menu-dropdown-header-agent-id\">\n Agent ID: {{ agentConfig.agentId }}\n </div>\n </div>\n <hr />\n <div\n class=\"menu-dropdown-body\"\n tuiGroup\n [collapsed]=\"true\"\n [rounded]=\"false\"\n [orientation]=\"'vertical'\"\n [size]=\"'m'\"\n >\n <kwikui-button\n *ngIf=\"this.agentConfig.dashboardConfig.showMaps\"\n id=\"\"\n label=\"{{ showMapview ? 'Hide Maps' : 'Show Maps' }}\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n icon=\"{{ showMapview ? 'tuiIconEyeOff' : 'tuiIconEye' }}\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"padding: 0rem !important\"\n (onClick)=\"toggleMapview()\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"this.agentConfig?.dashboardConfig?.allowAddTask\"\n id=\"\"\n label=\"Add Task\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n [icon]=\"'tuiIconAddRowLarge'\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"showDialog(template)\"\n ></kwikui-button>\n <kwikui-button\n id=\"\"\n label=\"Refresh\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n [icon]=\"'tuiIconRefreshCw'\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"refresh()\"\n ></kwikui-button>\n </div>\n <hr />\n <div class=\"menu-dropdown-footer\">\n <kwikui-button\n id=\"\"\n label=\"Logout\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n [icon]=\"'tuiIconLogOut'\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"goToNextStep({ stepType: 'LOGOUT' })\"\n ></kwikui-button>\n </div>\n </div>\n </ng-template>\n </span>\n </div>\n\n <div class=\"dashboard-body\">\n <div\n *ngIf=\"apiLoaded | async\"\n [class]=\"showMapview ? 'map' : 'map-hidden'\"\n >\n <google-map height=\"100%\" width=\"100%\" [options]=\"this.mapService.map\">\n <map-marker\n #marker=\"mapMarker\"\n *ngFor=\"\n let markerPosition of this.mapService.markers;\n let index = index\n \"\n [position]=\"markerPosition\"\n [label]=\"{ text: String(index), color: '#FFF' }\"\n (mapClick)=\"openInfoWindow(marker)\"\n ></map-marker>\n <map-directions-renderer\n *ngIf=\"\n this.mapService.directionsResults$ | async as directionsResults\n \"\n [directions]=\"directionsResults\"\n [options]=\"this.mapService.directionsRenderOption\"\n ></map-directions-renderer>\n <map-info-window>Info Window content</map-info-window>\n </google-map>\n </div>\n <div class=\"customer-list\">\n <customer-list\n [customers]=\"taskList\"\n [agentConfig]=\"agentConfig\"\n (nextStep)=\"goToNextStep($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (filterTaskList)=\"handleOnFilterTaskList($event)\"\n ></customer-list>\n </div>\n </div>\n </div>\n</div>\n<div class=\"kwikid-agent-dashboard-loader\" *ngIf=\"loading\">\n <span class=\"loader\"></span>\n</div>\n\n<ng-template #template let-observer>\n <div class=\"add-task-header\">\n <h2>Add Task</h2>\n <kwikui-button-icon\n icon=\"tuiIconX\"\n id=\"\"\n label=\"Close\"\n styles=\"\"\n type=\"button\"\n appearance=\"mono\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"observer.complete()\"\n ></kwikui-button-icon>\n </div>\n <kwikid-form-view\n [formConfig]=\"addTaskFormConfig\"\n [allFormsData]=\"allFormsData\"\n [isMobileView]=\"true\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\n ></kwikid-form-view>\n</ng-template>\n", styles: [".kwikid-agent-dashboard{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%;position:relative}.kwikid-agent-dashboard .wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:space-between;align-items:stretch}.kwikid-agent-dashboard .wrapper .dashboard-header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:.2rem;max-height:max-content;border:1px solid #fafafa;box-shadow:0 2px 10px -6px #000}.kwikid-agent-dashboard .wrapper .dashboard-header .dashboard-header-client-name{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600}.kwikid-agent-dashboard .wrapper .dashboard-body{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:stretch;flex:1;overflow:auto}.kwikid-agent-dashboard .wrapper .dashboard-body .map{width:100%;height:100%;position:relative;overflow:hidden}.kwikid-agent-dashboard .wrapper .dashboard-body .map-hidden{visibility:collapse}.kwikid-agent-dashboard .wrapper .dashboard-body .customer-list{width:100%;height:100%;background-color:#fafafa;overflow:hidden}@media screen and (min-width: 600px){.kwikid-agent-dashboard{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-agent-dashboard .wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:space-between;align-items:stretch}.kwikid-agent-dashboard .wrapper .dashboard-header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:.2rem;max-height:max-content;border:1px solid #fafafa;box-shadow:0 2px 10px -6px #000}.kwikid-agent-dashboard .wrapper .dashboard-header .dashboard-header-client-name{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600}.kwikid-agent-dashboard .wrapper .dashboard-body{display:flex;flex-direction:row-reverse;align-content:center;justify-content:center;align-items:stretch;padding:1.5rem;grid-gap:1.5rem;gap:1.5rem;overflow:auto;background-color:#fafafa}.kwikid-agent-dashboard .wrapper .dashboard-body .map{width:100%;height:100%;position:relative;overflow:hidden;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px;border-radius:.5rem}.kwikid-agent-dashboard .wrapper .dashboard-body .map-hidden{visibility:collapse}.kwikid-agent-dashboard .wrapper .dashboard-body .customer-list{min-width:300px;max-width:400px;width:100%;height:100%;overflow:hidden;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px;border-radius:.5rem}}.menu{position:absolute;transition:\"0.15s linear 0s\"}.kwikid-agent-dashboard-loader{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;z-index:100}.kwikid-agent-dashboard-loader .loader{width:48px;height:48px;border-radius:50%;display:inline-block;position:relative;border:3px solid;border-color:#fff #fff transparent;box-sizing:border-box;animation:rotation 1s linear infinite}.kwikid-agent-dashboard-loader .loader:after{content:\"\";box-sizing:border-box;position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;border:3px solid;border-color:transparent var(--tui-primary) var(--tui-primary);width:24px;height:24px;border-radius:50%;animation:rotationBack .5s linear infinite;transform-origin:center center}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotationBack{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.kwikid-agent-dashboard-loader .t-loader{display:none!important}.add-task-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:.5rem 0 1rem 1rem}:host{width:100%;height:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}.menu-dropdown{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;grid-gap:.5rem;gap:.5rem;padding:1rem 1.5rem}.menu-dropdown .menu-dropdown-header{display:flex;flex-direction:column;align-content:flex-start;justify-content:space-between;align-items:flex-start;grid-gap:1rem;gap:1rem}.menu-dropdown .menu-dropdown-header .menu-dropdown-header-agent-name{font-size:1.2rem;font-weight:600}.menu-dropdown .menu-dropdown-header .menu-dropdown-header-agent-id{font-size:.8rem;font-weight:600}.menu-dropdown .menu-dropdown-buttons ::ng-deep .t-wrapper{padding:0!important}\n"], components: [{ type: i3.KwikUIButtonIconComponent, selector: "kwikui-button-icon", inputs: ["disabled", "id", "showLoader", "styles", "class", "type", "appearance", "icon", "shape", "size"], outputs: ["onClick"] }, { type: i3.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i4.GoogleMap, selector: "google-map", inputs: ["height", "width", "center", "zoom", "options", "mapTypeId"], outputs: ["authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { type: i5.CustomerListComponent, selector: "customer-list", inputs: ["customers", "agentConfig"], outputs: ["nextStep", "removeTask", "filterTaskList"] }, { type: i6.KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["formConfig", "formData", "isMobileView", "allFormsData"], outputs: ["onClickViewForms", "onClickSaveForm", "onClickApiCall"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i9.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i9.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i9.TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])" }, { type: i9.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i9.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.MapMarker, selector: "map-marker", inputs: ["title", "position", "label", "clickable", "options", "icon", "visible"], outputs: ["animationChanged", "mapClick", "clickableChanged", "cursorChanged", "mapDblclick", "mapDrag", "mapDragend", "draggableChanged", "mapDragstart", "flatChanged", "iconChanged", "mapMousedown", "mapMouseout", "mapMouseover", "mapMouseup", "positionChanged", "mapRightclick", "shapeChanged", "titleChanged", "visibleChanged", "zindexChanged"], exportAs: ["mapMarker"] }, { type: i4.MapDirectionsRenderer, selector: "map-directions-renderer", inputs: ["directions", "options"], outputs: ["directionsChanged"], exportAs: ["mapDirectionsRenderer"] }, { type: i4.MapInfoWindow, selector: "map-info-window", inputs: ["options", "position"], outputs: ["closeclick", "contentChanged", "domready", "positionChanged", "zindexChanged"], exportAs: ["mapInfoWindow"] }], pipes: { "async": i7.AsyncPipe } });
|
|
103
|
+
/** @nocollapse */ KwikIDAgentDashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponent, deps: [{ token: i1.MapService }, { token: i2.UserService }, { token: i3.HttpClient }, { token: i0.ElementRef }, { token: TuiDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
+
/** @nocollapse */ KwikIDAgentDashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDAgentDashboardComponent, selector: "kwikid-agent-dashboard", inputs: { agentConfig: "agentConfig", taskList: "taskList" }, outputs: { nextStep: "nextStep", addTask: "addTask", removeTask: "removeTask", filterTaskList: "filterTaskList" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "infoWindow", first: true, predicate: MapInfoWindow, descendants: true }], ngImport: i0, template: "<div class=\"kwikid-agent-dashboard\" *ngIf=\"!loading\">\n <div class=\"wrapper\">\n <div class=\"dashboard-header\">\n <img\n *ngIf=\"userService.agentConfig.clientLogo && userService.agentConfig?.dashboardConfig?.showClientLogo\"\n [src]=\"userService.agentConfig.clientLogo\"\n class=\"dashboard-header-client-logo\"\n />\n <div\n *ngIf=\"!userService.agentConfig.clientLogo || !userService.agentConfig?.dashboardConfig?.showClientLogo\"\n class=\"dashboard-header-client-name\"\n >\n <kwikui-button-icon\n [icon]=\"'tuiIconLink'\"\n appearance=\"mono\"\n size=\"m\"\n ></kwikui-button-icon>\n\n {{ userService.agentConfig.clientName }}\n </div>\n <div>\n <kwikui-button-icon\n *ngIf=\"userService.agentConfig?.dashboardConfig?.allowAddTask\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n [icon]=\"'tuiIconAddRowLarge'\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"showDialog(template)\"\n ></kwikui-button-icon>\n <span (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <kwikui-button-icon\n [icon]=\"'tuiIconSettingsLarge'\"\n (onClick)=\"onClick()\"\n appearance=\"mono\"\n size=\"m\"\n [tuiDropdown]=\"dropdownContent\"\n [tuiDropdownManual]=\"open\"\n (tuiObscured)=\"onObscured($event)\"\n ></kwikui-button-icon>\n <ng-template #dropdownContent>\n <div class=\"menu-dropdown\">\n <div class=\"menu-dropdown-header\">\n <div class=\"menu-dropdown-header-agent-name\">\n {{ userService.agentConfig.agentName }}\n </div>\n <div class=\"menu-dropdown-header-agent-id\">\n Agent ID: {{ userService.agentConfig.agentId }}\n </div>\n </div>\n <hr />\n <div\n class=\"menu-dropdown-body\"\n tuiGroup\n [collapsed]=\"true\"\n [rounded]=\"false\"\n [orientation]=\"'vertical'\"\n [size]=\"'m'\"\n >\n <kwikui-button\n *ngIf=\"this.agentConfig.dashboardConfig.showMaps\"\n id=\"\"\n label=\"{{\n userService.showMapview ? 'Hide Maps' : 'Show Maps'\n }}\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n icon=\"{{\n userService.showMapview ? 'tuiIconEyeOff' : 'tuiIconEye'\n }}\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"padding: 0rem !important\"\n (onClick)=\"userService.toggleMapview()\"\n ></kwikui-button>\n <kwikui-button\n id=\"\"\n label=\"Refresh\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n [icon]=\"'tuiIconRefreshCw'\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"refresh()\"\n ></kwikui-button>\n </div>\n <div class=\"menu-dropdown-footer\">\n <kwikui-button\n id=\"\"\n label=\"Logout\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n [icon]=\"'tuiIconLogOut'\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"goToNextStep({ stepType: 'LOGOUT' })\"\n ></kwikui-button>\n </div>\n </div>\n </ng-template>\n </span>\n </div>\n </div>\n\n <div class=\"dashboard-body\">\n <div\n *ngIf=\"apiLoaded | async\"\n [class]=\"userService.showMapview ? 'map' : 'map-hidden'\"\n >\n <google-map height=\"100%\" width=\"100%\" [options]=\"this.mapService.map\">\n <map-marker\n #marker=\"mapMarker\"\n *ngFor=\"\n let markerPosition of this.mapService.markers;\n let index = index\n \"\n [position]=\"markerPosition\"\n [label]=\"{ text: String(index), color: '#FFF' }\"\n (mapClick)=\"openInfoWindow(marker)\"\n ></map-marker>\n <map-directions-renderer\n *ngIf=\"\n this.mapService.directionsResults$ | async as directionsResults\n \"\n [directions]=\"directionsResults\"\n [options]=\"this.mapService.directionsRenderOption\"\n ></map-directions-renderer>\n <map-info-window>Info Window content</map-info-window>\n </google-map>\n </div>\n <div\n class=\"task-details\"\n *ngIf=\"\n !userService.isMobileView && userService.showTaskDetails != undefined\n \"\n >\n <customer-details\n [customer]=\"taskList[userService.showTaskDetails]\"\n [agentConfig]=\"agentConfig\"\n (nextStep)=\"goToNextStep($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n ></customer-details>\n </div>\n <div class=\"customer-list\">\n <customer-list\n [customers]=\"taskList\"\n [agentConfig]=\"agentConfig\"\n (nextStep)=\"goToNextStep($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (filterTaskList)=\"handleOnFilterTaskList($event)\"\n ></customer-list>\n </div>\n </div>\n </div>\n</div>\n<div class=\"kwikid-agent-dashboard-loader\" *ngIf=\"loading\">\n <span class=\"loader\"></span>\n</div>\n\n<ng-template #template let-observer>\n <div class=\"add-task-header\">\n <h2>Add Task</h2>\n <kwikui-button-icon\n icon=\"tuiIconX\"\n id=\"\"\n label=\"Close\"\n styles=\"\"\n type=\"button\"\n appearance=\"mono\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"observer.complete()\"\n ></kwikui-button-icon>\n </div>\n <kwikid-form-view\n [formConfig]=\"userService.addTaskFormConfig\"\n [allFormsData]=\"allFormsData\"\n [isMobileView]=\"true\"\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\n ></kwikid-form-view>\n</ng-template>\n", styles: [".kwikid-agent-dashboard{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%;position:relative}.kwikid-agent-dashboard .wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:space-between;align-items:stretch}.kwikid-agent-dashboard .wrapper .dashboard-header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:.2rem;max-height:max-content;border:1px solid #fafafa;box-shadow:0 2px 10px -6px #000}.kwikid-agent-dashboard .wrapper .dashboard-header .dashboard-header-client-logo{max-height:50px;padding-left:1rem}.kwikid-agent-dashboard .wrapper .dashboard-header .dashboard-header-client-name{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600}.kwikid-agent-dashboard .wrapper .dashboard-body{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:stretch;flex:1;overflow:auto}.kwikid-agent-dashboard .wrapper .dashboard-body .map{width:100%;height:100%;position:relative;overflow:hidden}.kwikid-agent-dashboard .wrapper .dashboard-body .map-hidden{visibility:collapse}.kwikid-agent-dashboard .wrapper .dashboard-body .customer-list{width:100%;height:100%;background-color:#fafafa;overflow:hidden}@media screen and (min-width: 600px){.kwikid-agent-dashboard{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-agent-dashboard .wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:space-between;align-items:stretch}.kwikid-agent-dashboard .wrapper .dashboard-header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:.2rem;max-height:max-content;border:1px solid #fafafa;box-shadow:0 2px 10px -6px #000}.kwikid-agent-dashboard .wrapper .dashboard-header .dashboard-header-client-name{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600}.kwikid-agent-dashboard .wrapper .dashboard-body{display:flex;flex-direction:row-reverse;align-content:center;justify-content:flex-end;align-items:stretch;padding:1.5rem;grid-gap:1.5rem;gap:1.5rem;overflow:auto;background-color:#fafafa}.kwikid-agent-dashboard .wrapper .dashboard-body .map{width:100%;height:100%;position:relative;overflow:hidden;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px;border-radius:.5rem}.kwikid-agent-dashboard .wrapper .dashboard-body .map-hidden{visibility:collapse}.kwikid-agent-dashboard .wrapper .dashboard-body .task-details{width:100%;height:100%;position:relative;overflow:hidden;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px;border-radius:.5rem}.kwikid-agent-dashboard .wrapper .dashboard-body .customer-list{min-width:300px;max-width:400px;width:100%;height:100%;overflow:hidden;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px;border-radius:.5rem}}.menu{position:absolute;transition:\"0.15s linear 0s\"}.kwikid-agent-dashboard-loader{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;z-index:100}.kwikid-agent-dashboard-loader .loader{width:48px;height:48px;border-radius:50%;display:inline-block;position:relative;border:3px solid;border-color:#fff #fff transparent;box-sizing:border-box;animation:rotation 1s linear infinite}.kwikid-agent-dashboard-loader .loader:after{content:\"\";box-sizing:border-box;position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;border:3px solid;border-color:transparent var(--tui-primary) var(--tui-primary);width:24px;height:24px;border-radius:50%;animation:rotationBack .5s linear infinite;transform-origin:center center}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotationBack{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.kwikid-agent-dashboard-loader .t-loader{display:none!important}.add-task-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:.5rem 0 1rem 1rem}:host{width:100%;height:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}.menu-dropdown{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;grid-gap:.5rem;gap:.5rem;padding:1rem 1.5rem}.menu-dropdown .menu-dropdown-header{display:flex;flex-direction:column;align-content:flex-start;justify-content:space-between;align-items:flex-start;grid-gap:1rem;gap:1rem}.menu-dropdown .menu-dropdown-header .menu-dropdown-header-agent-name{font-size:1.2rem;font-weight:600}.menu-dropdown .menu-dropdown-header .menu-dropdown-header-agent-id{font-size:.8rem;font-weight:600}.menu-dropdown .menu-dropdown-buttons ::ng-deep .t-wrapper{padding:0!important}\n"], components: [{ type: i4.KwikUIButtonIconComponent, selector: "kwikui-button-icon", inputs: ["disabled", "id", "showLoader", "styles", "class", "type", "appearance", "icon", "shape", "size"], outputs: ["onClick"] }, { type: i4.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }, { type: i5.GoogleMap, selector: "google-map", inputs: ["height", "width", "center", "zoom", "options", "mapTypeId"], outputs: ["authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { type: i6.CustomerDetailsComponent, selector: "customer-details", inputs: ["customer", "agentConfig"], outputs: ["nextStep", "removeTask"] }, { type: i7.CustomerListComponent, selector: "customer-list", inputs: ["customers", "agentConfig"], outputs: ["nextStep", "removeTask", "filterTaskList"] }, { type: i8.KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["formConfig", "formData", "isMobileView", "allFormsData", "userConfig", "popupFormCallback"], outputs: ["onClickGoBack", "onClickViewForms", "onClickSaveForm", "onClickApiCall", "onActionShowPopupForm"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i11.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i11.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i11.TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])" }, { type: i11.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i11.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MapMarker, selector: "map-marker", inputs: ["title", "position", "label", "clickable", "options", "icon", "visible"], outputs: ["animationChanged", "mapClick", "clickableChanged", "cursorChanged", "mapDblclick", "mapDrag", "mapDragend", "draggableChanged", "mapDragstart", "flatChanged", "iconChanged", "mapMousedown", "mapMouseout", "mapMouseover", "mapMouseup", "positionChanged", "mapRightclick", "shapeChanged", "titleChanged", "visibleChanged", "zindexChanged"], exportAs: ["mapMarker"] }, { type: i5.MapDirectionsRenderer, selector: "map-directions-renderer", inputs: ["directions", "options"], outputs: ["directionsChanged"], exportAs: ["mapDirectionsRenderer"] }, { type: i5.MapInfoWindow, selector: "map-info-window", inputs: ["options", "position"], outputs: ["closeclick", "contentChanged", "domready", "positionChanged", "zindexChanged"], exportAs: ["mapInfoWindow"] }], pipes: { "async": i9.AsyncPipe } });
|
|
522
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponent, decorators: [{
|
|
523
106
|
type: Component,
|
|
524
107
|
args: [{
|
|
@@ -526,10 +109,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
526
109
|
templateUrl: './kwikid-agent-dashboard.component.html',
|
|
527
110
|
styleUrls: ['./kwikid-agent-dashboard.component.scss']
|
|
528
111
|
}]
|
|
529
|
-
}], ctorParameters: function () { return [{ type: i1.MapService }, { type: i2.HttpClient }, { type: i0.ElementRef }, { type:
|
|
112
|
+
}], ctorParameters: function () { return [{ type: i1.MapService }, { type: i2.UserService }, { type: i3.HttpClient }, { type: i0.ElementRef }, { type: i11.TuiDialogService, decorators: [{
|
|
530
113
|
type: Inject,
|
|
531
114
|
args: [TuiDialogService]
|
|
532
|
-
}] }]; }, propDecorators: {
|
|
115
|
+
}] }]; }, propDecorators: { windowResizeWatcher: [{
|
|
116
|
+
type: HostListener,
|
|
117
|
+
args: ['window:resize', ['$event']]
|
|
118
|
+
}], agentConfig: [{
|
|
533
119
|
type: Input
|
|
534
120
|
}], taskList: [{
|
|
535
121
|
type: Input
|
|
@@ -545,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
545
131
|
type: ViewChild,
|
|
546
132
|
args: [MapInfoWindow, { static: false }]
|
|
547
133
|
}] } });
|
|
548
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIva3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIva3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFFWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBYSxNQUFNLHNCQUFzQixDQUFDO0FBRWhFLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBUWpELE1BQU0sT0FBTyw2QkFBNkI7SUFpZHhDLFlBQ1MsVUFBc0IsRUFDdEIsVUFBc0IsRUFDckIsV0FBdUIsRUFDWSxhQUErQjtRQUhuRSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDWSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFuZDVFLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBR3RCLGFBQVEsR0FBZSxFQUFFLENBQUM7UUFHMUIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHOUIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHN0IsZUFBVSxHQUFHLElB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QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsQ0FBQyxJQUFHLENBQUM7OzhJQXJpQmpCLDZCQUE2QixnR0FxZDlCLGdCQUFnQjtrSUFyZGYsNkJBQTZCLDJSQStjN0IsYUFBYSxnREN4ZTFCLDJ5TEEwS0E7NEZEakphLDZCQUE2QjtrQkFMekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUseUNBQXlDO29CQUN0RCxTQUFTLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQztpQkFDdkQ7OzBCQXNkSSxNQUFNOzJCQUFDLGdCQUFnQjs0Q0FuZDFCLFdBQVc7c0JBRFYsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxNQUFNO2dCQUlQLE9BQU87c0JBRE4sTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBSVAsY0FBYztzQkFEYixNQUFNO2dCQStic0MsVUFBVTtzQkFBdEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBJbmZvV2luZG93LCBNYXBNYXJrZXIgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XG5pbXBvcnQgeyBUdWlTaGVldE9wdGlvbnMgfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlJztcbmltcG9ydCB7IFR1aURpYWxvZ0NvbnRleHQsIFR1aURpYWxvZ1NlcnZpY2UgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBQb2x5bW9ycGhldXNDb250ZW50IH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXBTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9tYXAuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2t3aWtpZC1hZ2VudC1kYXNoYm9hcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4va3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2t3aWtpZC1hZ2VudC1kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBLd2lrSURBZ2VudERhc2hib2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGFnZW50Q29uZmlnOiBhbnkgPSB7fTtcblxuICBASW5wdXQoKVxuICB0YXNrTGlzdDogQXJyYXk8YW55PiA9IFtdO1xuXG4gIEBPdXRwdXQoKVxuICBuZXh0U3RlcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgYWRkVGFzayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcmVtb3ZlVGFzayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgZmlsdGVyVGFza0xpc3QgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XG5cbiAgYXBpTG9hZGVkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHNob3dNYXB2aWV3ID0gdHJ1ZTtcblxuICBpc01vYmlsZVZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBsaXN0T3BlbiA9IHRydWU7XG5cbiAgcmVhZG9ubHkgb3B0aW9uczogUGFydGlhbDxUdWlTaGVldE9wdGlvbnM+ID0ge1xuICAgIHN0b3BzOiBbJ2NhbGMoNXJlbSArIDc0dncpJywgJ2NhbGMoOXJlbSArIDc0dncpJ11cbiAgfTtcblxuICBhZGRUYXNrRm9ybUNvbmZpZyA9IHtcbiAgICBrZXk6ICdBRERfVEFTSycsXG4gICAgdGl0bGU6ICdBZGQgVGFzaycsXG4gICAgZmllbGRzOiBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ25hbWUnLFxuICAgICAgICBsYWJlbDogJ0N1c3RvbWVyIE5hbWUnLFxuICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgIG1lc3NhZ2VzOiBbXSxcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBpc19mb3VuZDogZmFsc2UsXG4gICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICBzb3VyY2VzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6ICdPQkpFQ1QnLFxuICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICBvYmplY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiAnQUxMX0ZPUk1TX0RBVEEnLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnJC5BRERfVEFTSy5uYW1lJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IHtcbiAgICAgICAgICAgICAgICAgIGlzX3ZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIHRyaWdnZXJzOiBbJ09OX0lOSVQnXSxcbiAgICAgICAgICAgICAgICAgIHJ1bGVzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgICAgICAgICAgICAgIGtleTogJ1ZBTFVFX0NIRUNLJyxcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAnT0JKRUNUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ0FMTF9GT1JNU19EQVRBJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJyQuQUREX1RBU0submFtZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ0lTX05PVF9FTVBUWSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgICAgICAgICAgICAgIGtleTogJ1NFVF9GSUVMRF9ERUZBVUxUX1ZBTFVFJyxcbiAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb246ICcxJyxcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRLZXk6ICduYW1lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ09CSkVDVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdBTExfRk9STVNfREFUQScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6ICckLkFERF9UQVNLLm5hbWUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0b3JzOiB7XG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIHBsYWNlaG9sZGVyOiAnUGxlYXNlIGVudGVyIHRoZSBDdXN0b21lciBOYW1lJyxcbiAgICAgICAgICByZWFkT25seTogZmFsc2UsXG4gICAgICAgICAgY2FzZTogJ2RlZmF1bHQnXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6ICd0ZXh0J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAncGhvbmUnLFxuICAgICAgICBsYWJlbDogJ1Bob25lIE51bWJlcicsXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgbWVzc2FnZXM6IFtdLFxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIGlzX2ZvdW5kOiBmYWxzZSxcbiAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIHNvdXJjZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogJ09CSkVDVCcsXG4gICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgIG9iamVjdDoge1xuICAgICAgICAgICAgICAgICAgICBrZXk6ICdBTExfRk9STVNfREFUQScsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6ICckLkFERF9UQVNLLnBob25lJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IHtcbiAgICAgICAgICAgICAgICAgIGlzX3ZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIHRyaWdnZXJzOiBbJ09OX0lOSVQnXSxcbiAgICAgICAgICAgICAgICAgIHJ1bGVzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgICAgICAgICAgICAgIGtleTogJ1ZBTFVFX0NIRUNLJyxcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAnT0JKRUNUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ0FMTF9GT1JNU19EQVRBJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJyQuQUREX1RBU0sucGhvbmUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdJU19OT1RfRU1QVFknXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdTRVRfRklFTERfREVGQVVMVF9WQUxVRScsXG4gICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uOiAnMScsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkS2V5OiAncGhvbmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAnT0JKRUNUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ0FMTF9GT1JNU19EQVRBJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJyQuQUREX1RBU0sucGhvbmUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0b3JzOiB7XG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGNvdW50cnlDb2RlOiAnKzkxJyxcbiAgICAgICAgICByZW1vdmVDb3VudHJ5Q29kZUZyb21WYWx1ZTogdHJ1ZSxcbiAgICAgICAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlOiAnIyMjIyMjIyMjIycsXG4gICAgICAgICAgcGxhY2Vob2xkZXI6ICdQbGVhc2UgZW50ZXIgeW91ciBNb2JpbGUgTnVtYmVyJyxcbiAgICAgICAgICByZWFkT25seTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogJ3Bob25lJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnYWRkcmVzcycsXG4gICAgICAgIGxhYmVsOiAnQWRkcmVzcycsXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgbWVzc2FnZXM6IFtdLFxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIGlzX2ZvdW5kOiBmYWxzZSxcbiAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIHNvdXJjZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogJ09CSkVDVCcsXG4gICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgIG9iamVjdDoge1xuICAgICAgICAgICAgICAgICAgICBrZXk6ICdBTExfRk9STVNfREFUQScsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6ICckLkFERF9UQVNLLmFkZHJlc3MnXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgaXNfdmFsaWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgdHJpZ2dlcnM6IFsnT05fSU5JVCddLFxuICAgICAgICAgICAgICAgICAgcnVsZXM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICAgICAgICAgICAga2V5OiAnVkFMVUVfQ0hFQ0snLFxuICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdPQkpFQ1QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAnQUxMX0ZPUk1TX0RBVEEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnJC5BRERfVEFTSy5hZGRyZXNzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm46IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAnSVNfTk9UX0VNUFRZJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICAgICAgICAgICAga2V5OiAnU0VUX0ZJRUxEX0RFRkFVTFRfVkFMVUUnLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogJzEnLFxuICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZEtleTogJ2FkZHJlc3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAnT0JKRUNUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ0FMTF9GT1JNU19EQVRBJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogJyQuQUREX1RBU0suYWRkcmVzcydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXI6ICdQbGVhc2UgZW50ZXIgdGhlIEFkZHJlc3MnLFxuICAgICAgICAgIHJlYWRPbmx5OiBmYWxzZSxcbiAgICAgICAgICBjYXNlOiAnZGVmYXVsdCdcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogJ3RleHQnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdjaXR5JyxcbiAgICAgICAgbGFiZWw6ICdDaXR5JyxcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICBtZXNzYWdlczogW10sXG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgaXNfZm91bmQ6IGZhbHNlLFxuICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgc291cmNlczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAga2V5OiAnT0JKRUNUJyxcbiAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgb2JqZWN0OiB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogJ0FMTF9GT1JNU19EQVRBJyxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogJyQuQUREX1RBU0suY2l0eSdcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICBpc192YWxpZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICB0cmlnZ2VyczogWydPTl9JTklUJ10sXG4gICAgICAgICAgICAgICAgICBydWxlczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdWQUxVRV9DSEVDSycsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ09CSkVDVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdBTExfRk9STVNfREFUQScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6ICckLkFERF9UQVNLLmNpdHknXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdJU19OT1RfRU1QVFknXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdTRVRfRklFTERfREVGQVVMVF9WQUxVRScsXG4gICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uOiAnMScsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkS2V5OiAnY2l0eScsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdPQkpFQ1QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAnQUxMX0ZPUk1TX0RBVEEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiAnJC5BRERfVEFTSy5jaXR5J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdG9yczoge1xuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBwbGFjZWhvbGRlcjogJ1BsZWFzZSBlbnRlciB0aGUgQ2l0eScsXG4gICAgICAgICAgcmVhZE9ubHk6IGZhbHNlLFxuICAgICAgICAgIGNhc2U6ICdkZWZhdWx0J1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiAndGV4dCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2xvY2F0aW9uJyxcbiAgICAgICAgbGFiZWw6ICdMb2NhdGlvbiBVUkwnLFxuICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgIG1lc3NhZ2VzOiBbXSxcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBpc19mb3VuZDogZmFsc2UsXG4gICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICBzb3VyY2VzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6ICdPQkpFQ1QnLFxuICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICBvYmplY3Q6IHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiAnQUxMX0ZPUk1TX0RBVEEnLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnJC5BRERfVEFTSy5sb2NhdGlvbidcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICBpc192YWxpZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICB0cmlnZ2VyczogWydPTl9JTklUJ10sXG4gICAgICAgICAgICAgICAgICBydWxlczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdWQUxVRV9DSEVDSycsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ09CSkVDVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdBTExfRk9STVNfREFUQScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6ICckLkFERF9UQVNLLmxvY2F0aW9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm46IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAnSVNfTk9UX0VNUFRZJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICAgICAgICAgICAga2V5OiAnU0VUX0ZJRUxEX0RFRkFVTFRfVkFMVUUnLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogJzEnLFxuICAgICAgICAgICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZEtleTogJ2xvY2F0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ09CSkVDVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdBTExfRk9STVNfREFUQScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6ICckLkFERF9UQVNLLmxvY2F0aW9uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdG9yczoge1xuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBwbGFjZWhvbGRlcjogJ1BsZWFzZSBlbnRlciB0aGUgTG9jYXRpb24gVVJMJyxcbiAgICAgICAgICByZWFkT25seTogZmFsc2UsXG4gICAgICAgICAgY2FzZTogJ2RlZmF1bHQnXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6ICd0ZXh0J1xuICAgICAgfVxuICAgIF0sXG4gICAgcHJvcGVydGllczoge1xuICAgICAgaGVhZGVyOiB7XG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgICAgIGxhYmVsOiAnQWRkIFRhc2snXG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXBzOiB7XG4gICAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmb290ZXI6IHtcbiAgICAgICAgdmlld0Zvcm1zQnV0dG9uOiB7XG4gICAgICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgICAgIGxhYmVsOiAnVmlldyBGb3JtcydcbiAgICAgICAgfSxcbiAgICAgICAgc2F2ZUJ1dHRvbjoge1xuICAgICAgICAgIGhpZGRlbjogZmFsc2UsXG4gICAgICAgICAgbGFiZWw6ICdTdWJtaXQnXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgQFZpZXdDaGlsZChNYXBJbmZvV2luZG93LCB7IHN0YXRpYzogZmFsc2UgfSkgaW5mb1dpbmRvdzogTWFwSW5mb1dpbmRvdztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbWFwU2VydmljZTogTWFwU2VydmljZSxcbiAgICBwdWJsaWMgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoVHVpRGlhbG9nU2VydmljZSkgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBUdWlEaWFsb2dTZXJ2aWNlXG4gICkge1xuICAgICAgdGhpcy5hcGlMb2FkZWQgPSBodHRwQ2xpZW50XG4gICAgICAuanNvbnAoXG4gICAgICAgICdodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvanM/a2V5PUFJemFTeUE2M0pZMGphNlpHSVI3OTZ2SnFaQVJjMGMyajhWZ3BpayZ2PTMuZXhwJmxpYnJhcmllcz1nZW9tZXRyeSxkcmF3aW5nLHBsYWNlcycsXG4gICAgICAgICdjYWxsYmFjaydcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoZmFsc2UpKVxuICAgICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hvd01hcHZpZXcgPSB0aGlzLmFnZW50Q29uZmlnPy5kYXNoYm9hcmRDb25maWc/LnNob3dNYXBzID8/IGZhbHNlO1xuICAgIHRoaXMuYWRkVGFza0Zvcm1Db25maWcgPVxuICAgICAgdGhpcy5hZ2VudENvbmZpZz8uZGFzaGJvYXJkQ29uZmlnPy5hZGRUYXNrRm9ybUNvbmZpZyA/P1xuICAgICAgdGhpcy5hZGRUYXNrRm9ybUNvbmZpZztcblxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgZ29Ub05leHRTdGVwKGUpIHtcbiAgICB0aGlzLm5leHRTdGVwLmVtaXQoZSk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrQWRkVGFzayh0YXNrKSB7XG4gICAgdGhpcy5hZGRUYXNrLmVtaXQodGFzayk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzayh0YXNrKSB7XG4gICAgdGhpcy5yZW1vdmVUYXNrLmVtaXQodGFzayk7XG4gIH1cblxuICBoYW5kbGVPbkZpbHRlclRhc2tMaXN0KGZpbHRlcikge1xuICAgIHRoaXMuZmlsdGVyVGFza0xpc3QuZW1pdChmaWx0ZXIpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gIH1cblxuICB0b2dnbGVNYXB2aWV3KCkge1xuICAgIHRoaXMuc2hvd01hcHZpZXcgPSAhdGhpcy5zaG93TWFwdmlldztcbiAgfVxuXG4gIG9wZW4gPSBmYWxzZTtcblxuICBvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gIH1cblxuICBhbGxGb3Jtc0RhdGEgPSB7fTtcblxuICBTdHJpbmcgPSBTdHJpbmc7XG5cbiAgb25PYnNjdXJlZChvYnNjdXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChvYnNjdXJlZCkge1xuICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9IGFjdGl2ZSAmJiB0aGlzLm9wZW47XG4gIH1cblxuICBzaG93RGlhbG9nKGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpRGlhbG9nQ29udGV4dD4pOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcbiAgICAgIC5vcGVuKGNvbnRlbnQsIHsgY2xvc2VhYmxlOiBmYWxzZSwgZGlzbWlzc2libGU6IGZhbHNlIH0pXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvcGVuSW5mb1dpbmRvdyhtYXJrZXI6IE1hcE1hcmtlcikge1xuICAgIHRoaXMuaW5mb1dpbmRvdy5vcGVuKG1hcmtlcik7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrU2F2ZUZvcm0oZSkge1xuICAgIHRoaXMuaGFuZGxlT25DbGlja0FkZFRhc2soZS5kYXRhKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tWaWV3Rm9ybXMoZSkge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJrd2lraWQtYWdlbnQtZGFzaGJvYXJkXCIgKm5nSWY9XCIhbG9hZGluZ1wiPlxuICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtaGVhZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWhlYWRlci1jbGllbnQtbmFtZVwiPlxuICAgICAgICA8a3dpa3VpLWJ1dHRvbi1pY29uXG4gICAgICAgICAgW2ljb25dPVwiJ3R1aUljb25MaW5rJ1wiXG4gICAgICAgICAgYXBwZWFyYW5jZT1cIm1vbm9cIlxuICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgPjwva3dpa3VpLWJ1dHRvbi1pY29uPlxuXG4gICAgICAgIHt7IGFnZW50Q29uZmlnLmNsaWVudE5hbWUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIj5cbiAgICAgICAgPGt3aWt1aS1idXR0b24taWNvblxuICAgICAgICAgIFtpY29uXT1cIid0dWlJY29uU2V0dGluZ3NMYXJnZSdcIlxuICAgICAgICAgIChvbkNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAgICAgYXBwZWFyYW5jZT1cIm1vbm9cIlxuICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICBbdHVpRHJvcGRvd25dPVwiZHJvcGRvd25Db250ZW50XCJcbiAgICAgICAgICBbdHVpRHJvcGRvd25NYW51YWxdPVwib3BlblwiXG4gICAgICAgICAgKHR1aU9ic2N1cmVkKT1cIm9uT2JzY3VyZWQoJGV2ZW50KVwiXG4gICAgICAgID48L2t3aWt1aS1idXR0b24taWNvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bkNvbnRlbnQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtZHJvcGRvd25cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWhlYWRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1kcm9wZG93bi1oZWFkZXItYWdlbnQtbmFtZVwiPlxuICAgICAgICAgICAgICAgIHt7IGFnZW50Q29uZmlnLmFnZW50TmFtZSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtZHJvcGRvd24taGVhZGVyLWFnZW50LWlkXCI+XG4gICAgICAgICAgICAgICAgQWdlbnQgSUQ6IHt7IGFnZW50Q29uZmlnLmFnZW50SWQgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxociAvPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtZHJvcGRvd24tYm9keVwiXG4gICAgICAgICAgICAgIHR1aUdyb3VwXG4gICAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtyb3VuZGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW29yaWVudGF0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgICAgICAgICBbc2l6ZV09XCInbSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8a3dpa3VpLWJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwidGhpcy5hZ2VudENvbmZpZy5kYXNoYm9hcmRDb25maWcuc2hvd01hcHNcIlxuICAgICAgICAgICAgICAgIGlkPVwiXCJcbiAgICAgICAgICAgICAgICBsYWJlbD1cInt7IHNob3dNYXB2aWV3ID8gJ0hpZGUgTWFwcycgOiAnU2hvdyBNYXBzJyB9fVwiXG4gICAgICAgICAgICAgICAgc3R5bGVzPVwiXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtZHJvcGRvd24tYnV0dG9uc1wiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm1vbm9cIlxuICAgICAgICAgICAgICAgIGljb249XCJ7eyBzaG93TWFwdmlldyA/ICd0dWlJY29uRXllT2ZmJyA6ICd0dWlJY29uRXllJyB9fVwiXG4gICAgICAgICAgICAgICAgaWNvblJpZ2h0PVwiXCJcbiAgICAgICAgICAgICAgICBbc2hhcGVdPVwibnVsbFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgIHN0eWxlcz1cInBhZGRpbmc6IDByZW0gIWltcG9ydGFudFwiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidG9nZ2xlTWFwdmlldygpXCJcbiAgICAgICAgICAgICAgPjwva3dpa3VpLWJ1dHRvbj5cbiAgICAgICAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInRoaXMuYWdlbnRDb25maWc/LmRhc2hib2FyZENvbmZpZz8uYWxsb3dBZGRUYXNrXCJcbiAgICAgICAgICAgICAgICBpZD1cIlwiXG4gICAgICAgICAgICAgICAgbGFiZWw9XCJBZGQgVGFza1wiXG4gICAgICAgICAgICAgICAgc3R5bGVzPVwiXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtZHJvcGRvd24tYnV0dG9uc1wiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm1vbm9cIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cIid0dWlJY29uQWRkUm93TGFyZ2UnXCJcbiAgICAgICAgICAgICAgICBpY29uUmlnaHQ9XCJcIlxuICAgICAgICAgICAgICAgIFtzaGFwZV09XCJudWxsXCJcbiAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwic2hvd0RpYWxvZyh0ZW1wbGF0ZSlcIlxuICAgICAgICAgICAgICA+PC9rd2lrdWktYnV0dG9uPlxuICAgICAgICAgICAgICA8a3dpa3VpLWJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwiXCJcbiAgICAgICAgICAgICAgICBsYWJlbD1cIlJlZnJlc2hcIlxuICAgICAgICAgICAgICAgIHN0eWxlcz1cIlwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWJ1dHRvbnNcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJtb25vXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCIndHVpSWNvblJlZnJlc2hDdydcIlxuICAgICAgICAgICAgICAgIGljb25SaWdodD1cIlwiXG4gICAgICAgICAgICAgICAgW3NoYXBlXT1cIm51bGxcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAob25DbGljayk9XCJyZWZyZXNoKClcIlxuICAgICAgICAgICAgICA+PC9rd2lrdWktYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aHIgLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWZvb3RlclwiPlxuICAgICAgICAgICAgICA8a3dpa3VpLWJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwiXCJcbiAgICAgICAgICAgICAgICBsYWJlbD1cIkxvZ291dFwiXG4gICAgICAgICAgICAgICAgc3R5bGVzPVwiXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtZHJvcGRvd24tYnV0dG9uc1wiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm1vbm9cIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cIid0dWlJY29uTG9nT3V0J1wiXG4gICAgICAgICAgICAgICAgaWNvblJpZ2h0PVwiXCJcbiAgICAgICAgICAgICAgICBbc2hhcGVdPVwibnVsbFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImdvVG9OZXh0U3RlcCh7IHN0ZXBUeXBlOiAnTE9HT1VUJyB9KVwiXG4gICAgICAgICAgICAgID48L2t3aWt1aS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtYm9keVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImFwaUxvYWRlZCB8IGFzeW5jXCJcbiAgICAgICAgW2NsYXNzXT1cInNob3dNYXB2aWV3ID8gJ21hcCcgOiAnbWFwLWhpZGRlbidcIlxuICAgICAgPlxuICAgICAgICA8Z29vZ2xlLW1hcCBoZWlnaHQ9XCIxMDAlXCIgd2lkdGg9XCIxMDAlXCIgW29wdGlvbnNdPVwidGhpcy5tYXBTZXJ2aWNlLm1hcFwiPlxuICAgICAgICAgIDxtYXAtbWFya2VyXG4gICAgICAgICAgICAjbWFya2VyPVwibWFwTWFya2VyXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICBsZXQgbWFya2VyUG9zaXRpb24gb2YgdGhpcy5tYXBTZXJ2aWNlLm1hcmtlcnM7XG4gICAgICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3Bvc2l0aW9uXT1cIm1hcmtlclBvc2l0aW9uXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJ7IHRleHQ6IFN0cmluZyhpbmRleCksIGNvbG9yOiAnI0ZGRicgfVwiXG4gICAgICAgICAgICAobWFwQ2xpY2spPVwib3BlbkluZm9XaW5kb3cobWFya2VyKVwiXG4gICAgICAgICAgPjwvbWFwLW1hcmtlcj5cbiAgICAgICAgICA8bWFwLWRpcmVjdGlvbnMtcmVuZGVyZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgIHRoaXMubWFwU2VydmljZS5kaXJlY3Rpb25zUmVzdWx0cyQgfCBhc3luYyBhcyBkaXJlY3Rpb25zUmVzdWx0c1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtkaXJlY3Rpb25zXT1cImRpcmVjdGlvbnNSZXN1bHRzXCJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cInRoaXMubWFwU2VydmljZS5kaXJlY3Rpb25zUmVuZGVyT3B0aW9uXCJcbiAgICAgICAgICA+PC9tYXAtZGlyZWN0aW9ucy1yZW5kZXJlcj5cbiAgICAgICAgICA8bWFwLWluZm8td2luZG93PkluZm8gV2luZG93IGNvbnRlbnQ8L21hcC1pbmZvLXdpbmRvdz5cbiAgICAgICAgPC9nb29nbGUtbWFwPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItbGlzdFwiPlxuICAgICAgICA8Y3VzdG9tZXItbGlzdFxuICAgICAgICAgIFtjdXN0b21lcnNdPVwidGFza0xpc3RcIlxuICAgICAgICAgIFthZ2VudENvbmZpZ109XCJhZ2VudENvbmZpZ1wiXG4gICAgICAgICAgKG5leHRTdGVwKT1cImdvVG9OZXh0U3RlcCgkZXZlbnQpXCJcbiAgICAgICAgICAocmVtb3ZlVGFzayk9XCJoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzaygkZXZlbnQpXCJcbiAgICAgICAgICAoZmlsdGVyVGFza0xpc3QpPVwiaGFuZGxlT25GaWx0ZXJUYXNrTGlzdCgkZXZlbnQpXCJcbiAgICAgICAgPjwvY3VzdG9tZXItbGlzdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImt3aWtpZC1hZ2VudC1kYXNoYm9hcmQtbG9hZGVyXCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gIDxzcGFuIGNsYXNzPVwibG9hZGVyXCI+PC9zcGFuPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LW9ic2VydmVyPlxuICA8ZGl2IGNsYXNzPVwiYWRkLXRhc2staGVhZGVyXCI+XG4gICAgPGgyPkFkZCBUYXNrPC9oMj5cbiAgICA8a3dpa3VpLWJ1dHRvbi1pY29uXG4gICAgICBpY29uPVwidHVpSWNvblhcIlxuICAgICAgaWQ9XCJcIlxuICAgICAgbGFiZWw9XCJDbG9zZVwiXG4gICAgICBzdHlsZXM9XCJcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgICBbc2hhcGVdPVwibnVsbFwiXG4gICAgICBzaXplPVwibVwiXG4gICAgICAob25DbGljayk9XCJvYnNlcnZlci5jb21wbGV0ZSgpXCJcbiAgICA+PC9rd2lrdWktYnV0dG9uLWljb24+XG4gIDwvZGl2PlxuICA8a3dpa2lkLWZvcm0tdmlld1xuICAgIFtmb3JtQ29uZmlnXT1cImFkZFRhc2tGb3JtQ29uZmlnXCJcbiAgICBbYWxsRm9ybXNEYXRhXT1cImFsbEZvcm1zRGF0YVwiXG4gICAgW2lzTW9iaWxlVmlld109XCJ0cnVlXCJcbiAgICAob25DbGlja1ZpZXdGb3Jtcyk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tWaWV3Rm9ybXMoJGV2ZW50KVwiXG4gICAgKG9uQ2xpY2tTYXZlRm9ybSk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tTYXZlRm9ybSgkZXZlbnQpXCJcbiAgPjwva3dpa2lkLWZvcm0tdmlldz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIva3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIva3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRSxPQUFPLEVBQW9CLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBU2pELE1BQU0sT0FBTyw2QkFBNkI7SUEwQ3hDLFlBQ1MsVUFBc0IsRUFDdEIsV0FBd0IsRUFDeEIsVUFBc0IsRUFDckIsV0FBdUIsRUFDWSxhQUErQjtRQUpuRSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDWSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFoQzVFLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBR3RCLGFBQVEsR0FBZSxFQUFFLENBQUM7UUFHMUIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFH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QGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcEluZm9XaW5kb3csIE1hcE1hcmtlciB9IGZyb20gJ0Bhbmd1bGFyL2dvb2dsZS1tYXBzJztcbmltcG9ydCB7IFR1aVNoZWV0T3B0aW9ucyB9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUnO1xuaW1wb3J0IHsgVHVpRGlhbG9nQ29udGV4dCwgVHVpRGlhbG9nU2VydmljZSB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFBvbHltb3JwaGV1c0NvbnRlbnQgfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1hcFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL21hcC5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrd2lraWQtYWdlbnQtZGFzaGJvYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2t3aWtpZC1hZ2VudC1kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9rd2lraWQtYWdlbnQtZGFzaGJvYXJkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgS3dpa0lEQWdlbnREYXNoYm9hcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgd2luZG93UmVzaXplV2F0Y2hlcigpIHtcbiAgICBpZiAodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDwgNjAwKSB7XG4gICAgICB0aGlzLmlzTW9iaWxlVmlldyA9IHRydWU7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmlzTW9iaWxlVmlldyA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gZmFsc2U7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmlzTW9iaWxlVmlldyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGlzTW9iaWxlVmlldztcblxuICBASW5wdXQoKVxuICBhZ2VudENvbmZpZzogYW55ID0ge307XG5cbiAgQElucHV0KClcbiAgdGFza0xpc3Q6IEFycmF5PGFueT4gPSBbXTtcblxuICBAT3V0cHV0KClcbiAgbmV4dFN0ZXAgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIGFkZFRhc2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlbW92ZVRhc2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlclRhc2tMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGFwaUxvYWRlZDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICByZWFkb25seSBvcHRpb25zOiBQYXJ0aWFsPFR1aVNoZWV0T3B0aW9ucz4gPSB7XG4gICAgc3RvcHM6IFsnY2FsYyg1cmVtICsgNzR2dyknLCAnY2FsYyg5cmVtICsgNzR2dyknXVxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoTWFwSW5mb1dpbmRvdywgeyBzdGF0aWM6IGZhbHNlIH0pIGluZm9XaW5kb3c6IE1hcEluZm9XaW5kb3c7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1hcFNlcnZpY2U6IE1hcFNlcnZpY2UsXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoVHVpRGlhbG9nU2VydmljZSkgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBUdWlEaWFsb2dTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYXBpTG9hZGVkID0gaHR0cENsaWVudFxuICAgICAgLmpzb25wKFxuICAgICAgICAnaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2pzP2tleT1BSXphU3lBNjNKWTBqYTZaR0lSNzk2dkpxWkFSYzBjMmo4VmdwaWsmdj0zLmV4cCZsaWJyYXJpZXM9Z2VvbWV0cnksZHJhd2luZyxwbGFjZXMnLFxuICAgICAgICAnY2FsbGJhY2snXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKGZhbHNlKSlcbiAgICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLmFnZW50Q29uZmlnID0gdGhpcy5hZ2VudENvbmZpZztcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnNob3dNYXB2aWV3ID1cbiAgICAgIHRoaXMuYWdlbnRDb25maWc/LmRhc2hib2FyZENvbmZpZz8uc2hvd01hcHMgPz8gZmFsc2U7XG4gICAgdGhpcy51c2VyU2VydmljZS5hZGRUYXNrRm9ybUNvbmZpZyA9XG4gICAgICB0aGlzLmFnZW50Q29uZmlnPy5kYXNoYm9hcmRDb25maWc/LmFkZFRhc2tGb3JtQ29uZmlnID8/XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmFkZFRhc2tGb3JtQ29uZmlnO1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy53aW5kb3dSZXNpemVXYXRjaGVyKCk7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICBnb1RvTmV4dFN0ZXAoZSkge1xuICAgIHRoaXMubmV4dFN0ZXAuZW1pdChlKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tBZGRUYXNrKHRhc2spIHtcbiAgICB0aGlzLmFkZFRhc2suZW1pdCh0YXNrKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tSZW1vdmVUYXNrKHRhc2spIHtcbiAgICB0aGlzLnJlbW92ZVRhc2suZW1pdCh0YXNrKTtcbiAgfVxuXG4gIGhhbmRsZU9uRmlsdGVyVGFza0xpc3QoZmlsdGVyKSB7XG4gICAgdGhpcy5maWx0ZXJUYXNrTGlzdC5lbWl0KGZpbHRlcik7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgfVxuXG4gIG9wZW4gPSBmYWxzZTtcblxuICBvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gIH1cblxuICBhbGxGb3Jtc0RhdGEgPSB7fTtcblxuICBTdHJpbmcgPSBTdHJpbmc7XG5cbiAgb25PYnNjdXJlZChvYnNjdXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChvYnNjdXJlZCkge1xuICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMub3BlbiA9IGFjdGl2ZSAmJiB0aGlzLm9wZW47XG4gIH1cblxuICBzaG93RGlhbG9nKGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpRGlhbG9nQ29udGV4dD4pOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcbiAgICAgIC5vcGVuKGNvbnRlbnQsIHsgY2xvc2VhYmxlOiBmYWxzZSwgZGlzbWlzc2libGU6IGZhbHNlIH0pXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvcGVuSW5mb1dpbmRvdyhtYXJrZXI6IE1hcE1hcmtlcikge1xuICAgIHRoaXMuaW5mb1dpbmRvdy5vcGVuKG1hcmtlcik7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrU2F2ZUZvcm0oZSkge1xuICAgIHRoaXMuaGFuZGxlT25DbGlja0FkZFRhc2soZS5kYXRhKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tWaWV3Rm9ybXMoZSkge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJrd2lraWQtYWdlbnQtZGFzaGJvYXJkXCIgKm5nSWY9XCIhbG9hZGluZ1wiPlxuICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtaGVhZGVyXCI+XG4gICAgICA8aW1nXG4gICAgICAgICpuZ0lmPVwidXNlclNlcnZpY2UuYWdlbnRDb25maWcuY2xpZW50TG9nbyAmJiB1c2VyU2VydmljZS5hZ2VudENvbmZpZz8uZGFzaGJvYXJkQ29uZmlnPy5zaG93Q2xpZW50TG9nb1wiXG4gICAgICAgIFtzcmNdPVwidXNlclNlcnZpY2UuYWdlbnRDb25maWcuY2xpZW50TG9nb1wiXG4gICAgICAgIGNsYXNzPVwiZGFzaGJvYXJkLWhlYWRlci1jbGllbnQtbG9nb1wiXG4gICAgICAvPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIiF1c2VyU2VydmljZS5hZ2VudENvbmZpZy5jbGllbnRMb2dvIHx8ICF1c2VyU2VydmljZS5hZ2VudENvbmZpZz8uZGFzaGJvYXJkQ29uZmlnPy5zaG93Q2xpZW50TG9nb1wiXG4gICAgICAgIGNsYXNzPVwiZGFzaGJvYXJkLWhlYWRlci1jbGllbnQtbmFtZVwiXG4gICAgICA+XG4gICAgICAgIDxrd2lrdWktYnV0dG9uLWljb25cbiAgICAgICAgICBbaWNvbl09XCIndHVpSWNvbkxpbmsnXCJcbiAgICAgICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICA+PC9rd2lrdWktYnV0dG9uLWljb24+XG5cbiAgICAgICAge3sgdXNlclNlcnZpY2UuYWdlbnRDb25maWcuY2xpZW50TmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8a3dpa3VpLWJ1dHRvbi1pY29uXG4gICAgICAgICAgKm5nSWY9XCJ1c2VyU2VydmljZS5hZ2VudENvbmZpZz8uZGFzaGJvYXJkQ29uZmlnPy5hbGxvd0FkZFRhc2tcIlxuICAgICAgICAgIGNsYXNzPVwibWVudS1kcm9wZG93bi1idXR0b25zXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgICAgICAgW2ljb25dPVwiJ3R1aUljb25BZGRSb3dMYXJnZSdcIlxuICAgICAgICAgIGljb25SaWdodD1cIlwiXG4gICAgICAgICAgW3NoYXBlXT1cIm51bGxcIlxuICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAob25DbGljayk9XCJzaG93RGlhbG9nKHRlbXBsYXRlKVwiXG4gICAgICAgID48L2t3aWt1aS1idXR0b24taWNvbj5cbiAgICAgICAgPHNwYW4gKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIj5cbiAgICAgICAgICA8a3dpa3VpLWJ1dHRvbi1pY29uXG4gICAgICAgICAgICBbaWNvbl09XCIndHVpSWNvblNldHRpbmdzTGFyZ2UnXCJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICBbdHVpRHJvcGRvd25dPVwiZHJvcGRvd25Db250ZW50XCJcbiAgICAgICAgICAgIFt0dWlEcm9wZG93bk1hbnVhbF09XCJvcGVuXCJcbiAgICAgICAgICAgICh0dWlPYnNjdXJlZCk9XCJvbk9ic2N1cmVkKCRldmVudClcIlxuICAgICAgICAgID48L2t3aWt1aS1idXR0b24taWNvbj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Ryb3Bkb3duQ29udGVudD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRyb3Bkb3duXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWhlYWRlci1hZ2VudC1uYW1lXCI+XG4gICAgICAgICAgICAgICAgICB7eyB1c2VyU2VydmljZS5hZ2VudENvbmZpZy5hZ2VudE5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1kcm9wZG93bi1oZWFkZXItYWdlbnQtaWRcIj5cbiAgICAgICAgICAgICAgICAgIEFnZW50IElEOiB7eyB1c2VyU2VydmljZS5hZ2VudENvbmZpZy5hZ2VudElkIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aHIgLz5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1kcm9wZG93bi1ib2R5XCJcbiAgICAgICAgICAgICAgICB0dWlHcm91cFxuICAgICAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3JvdW5kZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtvcmllbnRhdGlvbl09XCIndmVydGljYWwnXCJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCInbSdcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwidGhpcy5hZ2VudENvbmZpZy5kYXNoYm9hcmRDb25maWcuc2hvd01hcHNcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJcIlxuICAgICAgICAgICAgICAgICAgbGFiZWw9XCJ7e1xuICAgICAgICAgICAgICAgICAgICB1c2VyU2VydmljZS5zaG93TWFwdmlldyA/ICdIaWRlIE1hcHMnIDogJ1Nob3cgTWFwcydcbiAgICAgICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgICAgICAgIHN0eWxlcz1cIlwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtZHJvcGRvd24tYnV0dG9uc1wiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJtb25vXCJcbiAgICAgICAgICAgICAgICAgIGljb249XCJ7e1xuICAgICAgICAgICAgICAgICAgICB1c2VyU2VydmljZS5zaG93TWFwdmlldyA/ICd0dWlJY29uRXllT2ZmJyA6ICd0dWlJY29uRXllJ1xuICAgICAgICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgICAgICAgaWNvblJpZ2h0PVwiXCJcbiAgICAgICAgICAgICAgICAgIFtzaGFwZV09XCJudWxsXCJcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgIHN0eWxlcz1cInBhZGRpbmc6IDByZW0gIWltcG9ydGFudFwiXG4gICAgICAgICAgICAgICAgICAob25DbGljayk9XCJ1c2VyU2VydmljZS50b2dnbGVNYXB2aWV3KClcIlxuICAgICAgICAgICAgICAgID48L2t3aWt1aS1idXR0b24+XG4gICAgICAgICAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAgICAgICAgIGlkPVwiXCJcbiAgICAgICAgICAgICAgICAgIGxhYmVsPVwiUmVmcmVzaFwiXG4gICAgICAgICAgICAgICAgICBzdHlsZXM9XCJcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWJ1dHRvbnNcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCIndHVpSWNvblJlZnJlc2hDdydcIlxuICAgICAgICAgICAgICAgICAgaWNvblJpZ2h0PVwiXCJcbiAgICAgICAgICAgICAgICAgIFtzaGFwZV09XCJudWxsXCJcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cInJlZnJlc2goKVwiXG4gICAgICAgICAgICAgICAgPjwva3dpa3VpLWJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWZvb3RlclwiPlxuICAgICAgICAgICAgICAgIDxrd2lrdWktYnV0dG9uXG4gICAgICAgICAgICAgICAgICBpZD1cIlwiXG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIkxvZ291dFwiXG4gICAgICAgICAgICAgICAgICBzdHlsZXM9XCJcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWJ1dHRvbnNcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgICAgICAgICAgICAgICBbaWNvbl09XCIndHVpSWNvbkxvZ091dCdcIlxuICAgICAgICAgICAgICAgICAgaWNvblJpZ2h0PVwiXCJcbiAgICAgICAgICAgICAgICAgIFtzaGFwZV09XCJudWxsXCJcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImdvVG9OZXh0U3RlcCh7IHN0ZXBUeXBlOiAnTE9HT1VUJyB9KVwiXG4gICAgICAgICAgICAgICAgPjwva3dpa3VpLWJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtYm9keVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImFwaUxvYWRlZCB8IGFzeW5jXCJcbiAgICAgICAgW2NsYXNzXT1cInVzZXJTZXJ2aWNlLnNob3dNYXB2aWV3ID8gJ21hcCcgOiAnbWFwLWhpZGRlbidcIlxuICAgICAgPlxuICAgICAgICA8Z29vZ2xlLW1hcCBoZWlnaHQ9XCIxMDAlXCIgd2lkdGg9XCIxMDAlXCIgW29wdGlvbnNdPVwidGhpcy5tYXBTZXJ2aWNlLm1hcFwiPlxuICAgICAgICAgIDxtYXAtbWFya2VyXG4gICAgICAgICAgICAjbWFya2VyPVwibWFwTWFya2VyXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICBsZXQgbWFya2VyUG9zaXRpb24gb2YgdGhpcy5tYXBTZXJ2aWNlLm1hcmtlcnM7XG4gICAgICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3Bvc2l0aW9uXT1cIm1hcmtlclBvc2l0aW9uXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJ7IHRleHQ6IFN0cmluZyhpbmRleCksIGNvbG9yOiAnI0ZGRicgfVwiXG4gICAgICAgICAgICAobWFwQ2xpY2spPVwib3BlbkluZm9XaW5kb3cobWFya2VyKVwiXG4gICAgICAgICAgPjwvbWFwLW1hcmtlcj5cbiAgICAgICAgICA8bWFwLWRpcmVjdGlvbnMtcmVuZGVyZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgIHRoaXMubWFwU2VydmljZS5kaXJlY3Rpb25zUmVzdWx0cyQgfCBhc3luYyBhcyBkaXJlY3Rpb25zUmVzdWx0c1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtkaXJlY3Rpb25zXT1cImRpcmVjdGlvbnNSZXN1bHRzXCJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cInRoaXMubWFwU2VydmljZS5kaXJlY3Rpb25zUmVuZGVyT3B0aW9uXCJcbiAgICAgICAgICA+PC9tYXAtZGlyZWN0aW9ucy1yZW5kZXJlcj5cbiAgICAgICAgICA8bWFwLWluZm8td2luZG93PkluZm8gV2luZG93IGNvbnRlbnQ8L21hcC1pbmZvLXdpbmRvdz5cbiAgICAgICAgPC9nb29nbGUtbWFwPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGFzay1kZXRhaWxzXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAhdXNlclNlcnZpY2UuaXNNb2JpbGVWaWV3ICYmIHVzZXJTZXJ2aWNlLnNob3dUYXNrRGV0YWlscyAhPSB1bmRlZmluZWRcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGN1c3RvbWVyLWRldGFpbHNcbiAgICAgICAgICBbY3VzdG9tZXJdPVwidGFza0xpc3RbdXNlclNlcnZpY2Uuc2hvd1Rhc2tEZXRhaWxzXVwiXG4gICAgICAgICAgW2FnZW50Q29uZmlnXT1cImFnZW50Q29uZmlnXCJcbiAgICAgICAgICAobmV4dFN0ZXApPVwiZ29Ub05leHRTdGVwKCRldmVudClcIlxuICAgICAgICAgIChyZW1vdmVUYXNrKT1cImhhbmRsZU9uQ2xpY2tSZW1vdmVUYXNrKCRldmVudClcIlxuICAgICAgICA+PC9jdXN0b21lci1kZXRhaWxzPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItbGlzdFwiPlxuICAgICAgICA8Y3VzdG9tZXItbGlzdFxuICAgICAgICAgIFtjdXN0b21lcnNdPVwidGFza0xpc3RcIlxuICAgICAgICAgIFthZ2VudENvbmZpZ109XCJhZ2VudENvbmZpZ1wiXG4gICAgICAgICAgKG5leHRTdGVwKT1cImdvVG9OZXh0U3RlcCgkZXZlbnQpXCJcbiAgICAgICAgICAocmVtb3ZlVGFzayk9XCJoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzaygkZXZlbnQpXCJcbiAgICAgICAgICAoZmlsdGVyVGFza0xpc3QpPVwiaGFuZGxlT25GaWx0ZXJUYXNrTGlzdCgkZXZlbnQpXCJcbiAgICAgICAgPjwvY3VzdG9tZXItbGlzdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImt3aWtpZC1hZ2VudC1kYXNoYm9hcmQtbG9hZGVyXCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gIDxzcGFuIGNsYXNzPVwibG9hZGVyXCI+PC9zcGFuPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LW9ic2VydmVyPlxuICA8ZGl2IGNsYXNzPVwiYWRkLXRhc2staGVhZGVyXCI+XG4gICAgPGgyPkFkZCBUYXNrPC9oMj5cbiAgICA8a3dpa3VpLWJ1dHRvbi1pY29uXG4gICAgICBpY29uPVwidHVpSWNvblhcIlxuICAgICAgaWQ9XCJcIlxuICAgICAgbGFiZWw9XCJDbG9zZVwiXG4gICAgICBzdHlsZXM9XCJcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgICBbc2hhcGVdPVwibnVsbFwiXG4gICAgICBzaXplPVwibVwiXG4gICAgICAob25DbGljayk9XCJvYnNlcnZlci5jb21wbGV0ZSgpXCJcbiAgICA+PC9rd2lrdWktYnV0dG9uLWljb24+XG4gIDwvZGl2PlxuICA8a3dpa2lkLWZvcm0tdmlld1xuICAgIFtmb3JtQ29uZmlnXT1cInVzZXJTZXJ2aWNlLmFkZFRhc2tGb3JtQ29uZmlnXCJcbiAgICBbYWxsRm9ybXNEYXRhXT1cImFsbEZvcm1zRGF0YVwiXG4gICAgW2lzTW9iaWxlVmlld109XCJ0cnVlXCJcbiAgICAob25DbGlja1ZpZXdGb3Jtcyk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tWaWV3Rm9ybXMoJGV2ZW50KVwiXG4gICAgKG9uQ2xpY2tTYXZlRm9ybSk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tTYXZlRm9ybSgkZXZlbnQpXCJcbiAgPjwva3dpa2lkLWZvcm0tdmlldz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|